@hoox-sh/pynets 0.1.0 → 0.2.0
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/CHANGELOG.md +20 -0
- package/README.md +5 -3
- package/dist/browser.js +90 -34
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4441 -411
- package/package.json +1 -1
- package/src/cli/rich.ts +4 -3
- package/src/cli.ts +29 -7
- package/src/index.ts +21 -0
- package/src/runtime/compile/collections.ts +339 -0
- package/src/runtime/compile/draw.ts +181 -0
- package/src/runtime/compile/emit.ts +1164 -0
- package/src/runtime/compile/emit_call.ts +1406 -0
- package/src/runtime/compile/emit_udf.ts +326 -0
- package/src/runtime/compile/engine.ts +265 -0
- package/src/runtime/compile/helpers.ts +140 -0
- package/src/runtime/compile/index.ts +33 -0
- package/src/runtime/compile/runtime.ts +297 -0
- package/src/runtime/compile/strategy.ts +169 -0
- package/src/runtime/compile/types.ts +125 -0
- package/src/runtime/compile/udt_runtime.ts +50 -0
- package/src/runtime/interpret.ts +192 -10
package/dist/browser.js
CHANGED
|
@@ -1,44 +1,100 @@
|
|
|
1
|
-
var LL={763:()=>{}},Z3={};function J1(T){var L=Z3[T];if(L!==void 0)return L.exports;var I=Z3[T]={exports:{}};return LL[T](I,I.exports,J1),I.exports}J1.d=(T,L)=>{for(var I in L)J1.o(L,I)&&!J1.o(T,I)&&Object.defineProperty(T,I,{enumerable:!0,get:L[I]})},J1.o=(T,L)=>Object.prototype.hasOwnProperty.call(T,L);var c={};J1.d(c,{MG:()=>a,fr:()=>c6,sR:()=>K4,Zo:()=>I1,iH:()=>w3,rt:()=>v0,jB:()=>X4,M8:()=>J4,$t:()=>e1,aq:()=>W4,pG:()=>P1,eP:()=>o6,KU:()=>W1,zW:()=>v6,IX:()=>x,mY:()=>H0,a7:()=>D1,JG:()=>t,ay:()=>n,X2:()=>t1,WU:()=>l6,Uw:()=>Z4,gw:()=>a1,iX:()=>i6,re:()=>U4,Pg:()=>r6,tD:()=>S4,R$:()=>Q0,Dj:()=>r0,m7:()=>_1,NZ:()=>j1,xo:()=>y0,ou:()=>M,qC:()=>l0,mD:()=>o0,Ay:()=>DL});class M{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(T){this._text=T}}function E1(T,L){if(!Array.isArray(T)||!Array.isArray(L))return!1;if(T===L)return!0;if(T.length!==L.length)return!1;for(let I=0;I<T.length;I++)if(!(T[I]===L[I]||T[I].equals&&T[I].equals(L[I])))return!1;return!0}M.INVALID_TYPE=0,M.EPSILON=-2,M.MIN_USER_TOKEN_TYPE=1,M.EOF=-1,M.DEFAULT_CHANNEL=0,M.HIDDEN_CHANNEL=1;var IL=Math.round(Math.random()*Math.pow(2,32));function X3(T){if(!T)return 0;let L=typeof T,I=L==="string"?T:!(L!=="object"||!T.toString)&&T.toString();if(!I)return 0;let _,R,$=3&I.length,G=I.length-$,Q=IL,U=3432918353,O=461845907,J=0;for(;J<G;)R=255&I.charCodeAt(J)|(255&I.charCodeAt(++J))<<8|(255&I.charCodeAt(++J))<<16|(255&I.charCodeAt(++J))<<24,++J,R=(65535&R)*U+(((R>>>16)*U&65535)<<16)&4294967295,R=R<<15|R>>>17,R=(65535&R)*O+(((R>>>16)*O&65535)<<16)&4294967295,Q^=R,Q=Q<<13|Q>>>19,_=5*(65535&Q)+((5*(Q>>>16)&65535)<<16)&4294967295,Q=27492+(65535&_)+((58964+(_>>>16)&65535)<<16);switch(R=0,$){case 3:R^=(255&I.charCodeAt(J+2))<<16;case 2:R^=(255&I.charCodeAt(J+1))<<8;case 1:R^=255&I.charCodeAt(J),R=(65535&R)*U+(((R>>>16)*U&65535)<<16)&4294967295,R=R<<15|R>>>17,R=(65535&R)*O+(((R>>>16)*O&65535)<<16)&4294967295,Q^=R}return Q^=I.length,Q^=Q>>>16,Q=2246822507*(65535&Q)+((2246822507*(Q>>>16)&65535)<<16)&4294967295,Q^=Q>>>13,Q=3266489909*(65535&Q)+((3266489909*(Q>>>16)&65535)<<16)&4294967295,Q^=Q>>>16,Q>>>0}class k0{constructor(){this.count=0,this.hash=0}update(){for(let T=0;T<arguments.length;T++){let L=arguments[T];if(L!=null)if(Array.isArray(L))this.update.apply(this,L);else{let I=0;switch(typeof L){case"undefined":case"function":continue;case"number":case"boolean":I=L;break;case"string":I=X3(L);break;default:L.updateHashCode?L.updateHashCode(this):console.log("No updateHashCode for "+L.toString());continue}I*=3432918353,I=I<<15|I>>>17,I*=461845907,this.count=this.count+1;let _=this.hash^I;_=_<<13|_>>>19,_=5*_+3864292196,this.hash=_}}}finish(){let T=this.hash^4*this.count;return T^=T>>>16,T*=2246822507,T^=T>>>13,T*=3266489909,T^=T>>>16,T}static hashStuff(){let T=new k0;return T.update.apply(T,arguments),T.finish()}}function B3(T){return T?typeof T=="string"?X3(T):T.hashCode():-1}function z3(T,L){return T&&T.equals?T.equals(L):T===L}function _L(T){return T===null?"null":T}function o0(T){return Array.isArray(T)?"["+T.map(_L).join(", ")+"]":"null"}class z0{constructor(T,L){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=T||B3,this.equalsFunction=L||z3}get(T){if(T==null)return T;let L=this._getBucket(T);if(!L)return null;for(let I of L)if(this.equalsFunction(I,T))return I;return null}add(T){return this.getOrAdd(T)===T}getOrAdd(T){this._expand();let L=this._getSlot(T),I=this.buckets[L];if(!I)return I=[T],this.buckets[L]=I,this.itemCount++,T;for(let _ of I)if(this.equalsFunction(_,T))return _;return I.push(T),this.itemCount++,T}has(T){return this.get(T)!=null}values(){return this.buckets.filter((T)=>T!=null).flat(1)}toString(){return o0(this.values())}get length(){return this.itemCount}_getSlot(T){return this.hashFunction(T)&this.buckets.length-1}_getBucket(T){return this.buckets[this._getSlot(T)]}_expand(){if(this.itemCount<=this.threshold)return;let T=this.buckets,L=2*this.buckets.length;this.buckets=Array(L),this.threshold=Math.floor(0.75*L);for(let I of T)if(I)for(let _ of I){let R=this._getSlot(_),$=this.buckets[R];$||($=[],this.buckets[R]=$),$.push(_)}}}class o{hashCode(){let T=new k0;return this.updateHashCode(T),T.finish()}evaluate(T,L){}evalPrecedence(T,L){return this}static andContext(T,L){if(T===null||T===o.NONE)return L;if(L===null||L===o.NONE)return T;let I=new o1(T,L);return I.opnds.length===1?I.opnds[0]:I}static orContext(T,L){if(T===null)return L;if(L===null)return T;if(T===o.NONE||L===o.NONE)return o.NONE;let I=new v1(T,L);return I.opnds.length===1?I.opnds[0]:I}}class o1 extends o{constructor(T,L){super();let I=new z0;T instanceof o1?T.opnds.map(function(R){I.add(R)}):I.add(T),L instanceof o1?L.opnds.map(function(R){I.add(R)}):I.add(L);let _=H3(I);if(_.length>0){let R=null;_.map(function($){(R===null||$.precedence<R.precedence)&&(R=$)}),I.add(R)}this.opnds=Array.from(I.values())}equals(T){return this===T||T instanceof o1&&E1(this.opnds,T.opnds)}updateHashCode(T){T.update(this.opnds,"AND")}evaluate(T,L){for(let I=0;I<this.opnds.length;I++)if(!this.opnds[I].evaluate(T,L))return!1;return!0}evalPrecedence(T,L){let I=!1,_=[];for(let $=0;$<this.opnds.length;$++){let G=this.opnds[$],Q=G.evalPrecedence(T,L);if(I|=Q!==G,Q===null)return null;Q!==o.NONE&&_.push(Q)}if(!I)return this;if(_.length===0)return o.NONE;let R=null;return _.map(function($){R=R===null?$:o.andContext(R,$)}),R}toString(){let T=this.opnds.map((L)=>L.toString());return(T.length>3?T.slice(3):T).join("&&")}}class v1 extends o{constructor(T,L){super();let I=new z0;T instanceof v1?T.opnds.map(function(R){I.add(R)}):I.add(T),L instanceof v1?L.opnds.map(function(R){I.add(R)}):I.add(L);let _=H3(I);if(_.length>0){let R=_.sort(function(G,Q){return G.compareTo(Q)}),$=R[R.length-1];I.add($)}this.opnds=Array.from(I.values())}equals(T){return this===T||T instanceof v1&&E1(this.opnds,T.opnds)}updateHashCode(T){T.update(this.opnds,"OR")}evaluate(T,L){for(let I=0;I<this.opnds.length;I++)if(this.opnds[I].evaluate(T,L))return!0;return!1}evalPrecedence(T,L){let I=!1,_=[];for(let R=0;R<this.opnds.length;R++){let $=this.opnds[R],G=$.evalPrecedence(T,L);if(I|=G!==$,G===o.NONE)return o.NONE;G!==null&&_.push(G)}if(!I)return this;if(_.length===0)return null;return _.map(function(R){return R}),null}toString(){let T=this.opnds.map((L)=>L.toString());return(T.length>3?T.slice(3):T).join("||")}}function H3(T){let L=[];return T.values().map(function(I){I instanceof o.PrecedencePredicate&&L.push(I)}),L}function W3(T,L){if(T===null){let I={state:null,alt:null,context:null,semanticContext:null};return L&&(I.reachesIntoOuterContext=0),I}{let I={};return I.state=T.state||null,I.alt=T.alt===void 0?null:T.alt,I.context=T.context||null,I.semanticContext=T.semanticContext||null,L&&(I.reachesIntoOuterContext=T.reachesIntoOuterContext||0,I.precedenceFilterSuppressed=T.precedenceFilterSuppressed||!1),I}}class T0{constructor(T,L){this.checkContext(T,L),T=W3(T),L=W3(L,!0),this.state=T.state!==null?T.state:L.state,this.alt=T.alt!==null?T.alt:L.alt,this.context=T.context!==null?T.context:L.context,this.semanticContext=T.semanticContext!==null?T.semanticContext:L.semanticContext!==null?L.semanticContext:o.NONE,this.reachesIntoOuterContext=L.reachesIntoOuterContext,this.precedenceFilterSuppressed=L.precedenceFilterSuppressed}checkContext(T,L){T.context!==null&&T.context!==void 0||L!==null&&L.context!==null&&L.context!==void 0||(this.context=null)}hashCode(){let T=new k0;return this.updateHashCode(T),T.finish()}updateHashCode(T){T.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(T){return this===T||T instanceof T0&&this.state.stateNumber===T.state.stateNumber&&this.alt===T.alt&&(this.context===null?T.context===null:this.context.equals(T.context))&&this.semanticContext.equals(T.semanticContext)&&this.precedenceFilterSuppressed===T.precedenceFilterSuppressed}hashCodeForConfigSet(){let T=new k0;return T.update(this.state.stateNumber,this.alt,this.semanticContext),T.finish()}equalsForConfigSet(T){return this===T||T instanceof T0&&this.state.stateNumber===T.state.stateNumber&&this.alt===T.alt&&this.semanticContext.equals(T.semanticContext)}toString(){return"("+this.state+","+this.alt+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==o.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}}class x{constructor(T,L){this.start=T,this.stop=L}clone(){return new x(this.start,this.stop)}contains(T){return T>=this.start&&T<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+".."+(this.stop-1).toString()}get length(){return this.stop-this.start}}x.INVALID_INTERVAL=new x(-1,-2);class H0{constructor(){this.intervals=null,this.readOnly=!1}first(T){return this.intervals===null||this.intervals.length===0?M.INVALID_TYPE:this.intervals[0].start}addOne(T){this.addInterval(new x(T,T+1))}addRange(T,L){this.addInterval(new x(T,L+1))}addInterval(T){if(this.intervals===null)this.intervals=[],this.intervals.push(T.clone());else{for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];if(T.stop<I.start)return void this.intervals.splice(L,0,T);if(T.stop===I.start)return void(this.intervals[L]=new x(T.start,I.stop));if(T.start<=I.stop)return this.intervals[L]=new x(Math.min(I.start,T.start),Math.max(I.stop,T.stop)),void this.reduce(L)}this.intervals.push(T.clone())}}addSet(T){return T.intervals!==null&&T.intervals.forEach((L)=>this.addInterval(L),this),this}reduce(T){if(T<this.intervals.length-1){let L=this.intervals[T],I=this.intervals[T+1];L.stop>=I.stop?(this.intervals.splice(T+1,1),this.reduce(T)):L.stop>=I.start&&(this.intervals[T]=new x(L.start,I.stop),this.intervals.splice(T+1,1))}}complement(T,L){let I=new H0;return I.addInterval(new x(T,L+1)),this.intervals!==null&&this.intervals.forEach((_)=>I.removeRange(_)),I}contains(T){if(this.intervals===null)return!1;for(let L=0;L<this.intervals.length;L++)if(this.intervals[L].contains(T))return!0;return!1}removeRange(T){if(T.start===T.stop-1)this.removeOne(T.start);else if(this.intervals!==null){let L=0;for(let I=0;I<this.intervals.length;I++){let _=this.intervals[L];if(T.stop<=_.start)return;if(T.start>_.start&&T.stop<_.stop){this.intervals[L]=new x(_.start,T.start);let R=new x(T.stop,_.stop);return void this.intervals.splice(L,0,R)}T.start<=_.start&&T.stop>=_.stop?(this.intervals.splice(L,1),L-=1):T.start<_.stop?this.intervals[L]=new x(_.start,T.start):T.stop<_.stop&&(this.intervals[L]=new x(T.stop,_.stop)),L+=1}}}removeOne(T){if(this.intervals!==null)for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];if(T<I.start)return;if(T===I.start&&T===I.stop-1)return void this.intervals.splice(L,1);if(T===I.start)return void(this.intervals[L]=new x(I.start+1,I.stop));if(T===I.stop-1)return void(this.intervals[L]=new x(I.start,I.stop-1));if(T<I.stop-1){let _=new x(I.start,T);return I.start=T+1,void this.intervals.splice(L,0,_)}}}toString(T,L,I){return T=T||null,L=L||null,I=I||!1,this.intervals===null?"{}":T!==null||L!==null?this.toTokenString(T,L):I?this.toCharString():this.toIndexString()}toCharString(){let T=[];for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];I.stop===I.start+1?I.start===M.EOF?T.push("<EOF>"):T.push("'"+String.fromCharCode(I.start)+"'"):T.push("'"+String.fromCharCode(I.start)+"'..'"+String.fromCharCode(I.stop-1)+"'")}return T.length>1?"{"+T.join(", ")+"}":T[0]}toIndexString(){let T=[];for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];I.stop===I.start+1?I.start===M.EOF?T.push("<EOF>"):T.push(I.start.toString()):T.push(I.start.toString()+".."+(I.stop-1).toString())}return T.length>1?"{"+T.join(", ")+"}":T[0]}toTokenString(T,L){let I=[];for(let _=0;_<this.intervals.length;_++){let R=this.intervals[_];for(let $=R.start;$<R.stop;$++)I.push(this.elementName(T,L,$))}return I.length>1?"{"+I.join(", ")+"}":I[0]}elementName(T,L,I){return I===M.EOF?"<EOF>":I===M.EPSILON?"<EPSILON>":T[I]||L[I]}get length(){return this.intervals.map((T)=>T.length).reduce((T,L)=>T+L)}}class N{constructor(){this.atn=null,this.stateNumber=N.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(T){return T instanceof N&&this.stateNumber===T.stateNumber}isNonGreedyExitState(){return!1}addTransition(T,L){L===void 0&&(L=-1),this.transitions.length===0?this.epsilonOnlyTransitions=T.isEpsilon:this.epsilonOnlyTransitions!==T.isEpsilon&&(this.epsilonOnlyTransitions=!1),L===-1?this.transitions.push(T):this.transitions.splice(L,1,T)}}N.INVALID_TYPE=0,N.BASIC=1,N.RULE_START=2,N.BLOCK_START=3,N.PLUS_BLOCK_START=4,N.STAR_BLOCK_START=5,N.TOKEN_START=6,N.RULE_STOP=7,N.BLOCK_END=8,N.STAR_LOOP_BACK=9,N.STAR_LOOP_ENTRY=10,N.PLUS_LOOP_BACK=11,N.LOOP_END=12,N.serializationNames=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"],N.INVALID_STATE_NUMBER=-1;class Z0 extends N{constructor(){return super(),this.stateType=N.RULE_STOP,this}}class P{constructor(T){if(T==null)throw"target cannot be null.";this.target=T,this.isEpsilon=!1,this.label=null}}P.EPSILON=1,P.RANGE=2,P.RULE=3,P.PREDICATE=4,P.ATOM=5,P.ACTION=6,P.SET=7,P.NOT_SET=8,P.WILDCARD=9,P.PRECEDENCE=10,P.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],P.serializationTypes={EpsilonTransition:P.EPSILON,RangeTransition:P.RANGE,RuleTransition:P.RULE,PredicateTransition:P.PREDICATE,AtomTransition:P.ATOM,ActionTransition:P.ACTION,SetTransition:P.SET,NotSetTransition:P.NOT_SET,WildcardTransition:P.WILDCARD,PrecedencePredicateTransition:P.PRECEDENCE};class r1 extends P{constructor(T,L,I,_){super(T),this.ruleIndex=L,this.precedence=I,this.followState=_,this.serializationType=P.RULE,this.isEpsilon=!0}matches(T,L,I){return!1}}class u6 extends P{constructor(T,L){super(T),this.serializationType=P.SET,L!=null?this.label=L:(this.label=new H0,this.label.addOne(M.INVALID_TYPE))}matches(T,L,I){return this.label.contains(T)}toString(){return this.label.toString()}}class g6 extends u6{constructor(T,L){super(T,L),this.serializationType=P.NOT_SET}matches(T,L,I){return T>=L&&T<=I&&!super.matches(T,L,I)}toString(){return"~"+super.toString()}}class n2 extends P{constructor(T){super(T),this.serializationType=P.WILDCARD}matches(T,L,I){return T>=L&&T<=I}toString(){return"."}}class f6 extends P{constructor(T){super(T)}}class V3{}class F3 extends V3{}class t2 extends F3{}class j1 extends t2{get ruleContext(){throw Error("missing interface implementation")}}class y0 extends t2{}class n1 extends y0{}var d0={toStringTree:function(T,L,I){L=L||null,(I=I||null)!==null&&(L=I.ruleNames);let _=d0.getNodeText(T,L);_=function(G){return G=G.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}(_);let R=T.getChildCount();if(R===0)return _;let $="("+_+" ";R>0&&(_=d0.toStringTree(T.getChild(0),L),$=$.concat(_));for(let G=1;G<R;G++)_=d0.toStringTree(T.getChild(G),L),$=$.concat(" "+_);return $=$.concat(")"),$},getNodeText:function(T,L,I){if(L=L||null,(I=I||null)!==null&&(L=I.ruleNames),L!==null){if(T instanceof j1){let R=T.ruleContext.getAltNumber();return R!=0?L[T.ruleIndex]+":"+R:L[T.ruleIndex]}if(T instanceof n1)return T.toString();if(T instanceof y0&&T.symbol!==null)return T.symbol.text}let _=T.getPayload();return _ instanceof M?_.text:T.getPayload().toString()},getChildren:function(T){let L=[];for(let I=0;I<T.getChildCount();I++)L.push(T.getChild(I));return L},getAncestors:function(T){let L=[];for(T=T.getParent();T!==null;)L=[T].concat(L),T=T.getParent();return L},findAllTokenNodes:function(T,L){return d0.findAllNodes(T,L,!0)},findAllRuleNodes:function(T,L){return d0.findAllNodes(T,L,!1)},findAllNodes:function(T,L,I){let _=[];return d0._findAllNodes(T,L,I,_),_},_findAllNodes:function(T,L,I,_){I&&T instanceof y0?T.symbol.type===L&&_.push(T):!I&&T instanceof j1&&T.ruleIndex===L&&_.push(T);for(let R=0;R<T.getChildCount();R++)d0._findAllNodes(T.getChild(R),L,I,_)},descendants:function(T){let L=[T];for(let I=0;I<T.getChildCount();I++)L=L.concat(d0.descendants(T.getChild(I)));return L}},q3=d0;class _1 extends j1{constructor(T,L){super(),this.parentCtx=T||null,this.invokingState=L||-1}depth(){let T=0,L=this;for(;L!==null;)L=L.parentCtx,T+=1;return T}isEmpty(){return this.invokingState===-1}getSourceInterval(){return x.INVALID_INTERVAL}get ruleContext(){return this}getPayload(){return this}getText(){return this.getChildCount()===0?"":this.children.map(function(T){return T.getText()}).join("")}getAltNumber(){return 0}setAltNumber(T){}getChild(T){return null}getChildCount(){return 0}accept(T){return T.visitChildren(this)}toStringTree(T,L){return q3.toStringTree(this,T,L)}toString(T,L){T=T||null,L=L||null;let I=this,_="[";for(;I!==null&&I!==L;){if(T===null)I.isEmpty()||(_+=I.invokingState);else{let R=I.ruleIndex;_+=R>=0&&R<T.length?T[R]:""+R}I.parentCtx===null||T===null&&I.parentCtx.isEmpty()||(_+=" "),I=I.parentCtx}return _+="]",_}}class A{constructor(T){this.cachedHashCode=T}isEmpty(){return this===A.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===A.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(T){T.update(this.cachedHashCode)}}A.EMPTY=null,A.EMPTY_RETURN_STATE=2147483647,A.globalNodeCount=1,A.id=A.globalNodeCount,A.trace_atn_sim=!1;class f0 extends A{constructor(T,L){let I=new k0;return I.update(T,L),super(I.finish()),this.parents=T,this.returnStates=L,this}isEmpty(){return this.returnStates[0]===A.EMPTY_RETURN_STATE}getParent(T){return this.parents[T]}getReturnState(T){return this.returnStates[T]}equals(T){return this===T||T instanceof f0&&this.hashCode()===T.hashCode()&&E1(this.returnStates,T.returnStates)&&E1(this.parents,T.parents)}toString(){if(this.isEmpty())return"[]";{let T="[";for(let L=0;L<this.returnStates.length;L++)L>0&&(T+=", "),this.returnStates[L]!==A.EMPTY_RETURN_STATE?(T+=this.returnStates[L],this.parents[L]!==null?T=T+" "+this.parents[L]:T+="null"):T+="$";return T+"]"}}get length(){return this.returnStates.length}}class D0 extends A{constructor(T,L){let I=0,_=new k0;T!==null?_.update(T,L):_.update(1),I=_.finish(),super(I),this.parentCtx=T,this.returnState=L}getParent(T){return this.parentCtx}getReturnState(T){return this.returnState}equals(T){return this===T||T instanceof D0&&this.hashCode()===T.hashCode()&&this.returnState===T.returnState&&(this.parentCtx==null?T.parentCtx==null:this.parentCtx.equals(T.parentCtx))}toString(){let T=this.parentCtx===null?"":this.parentCtx.toString();return T.length===0?this.returnState===A.EMPTY_RETURN_STATE?"$":""+this.returnState:this.returnState+" "+T}get length(){return 1}static create(T,L){return L===A.EMPTY_RETURN_STATE&&T===null?A.EMPTY:new D0(T,L)}}class P6 extends D0{constructor(){super(null,A.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(T){return null}getReturnState(T){return this.returnState}equals(T){return this===T}toString(){return"$"}}A.EMPTY=new P6;class C1{constructor(T,L){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=T||B3,this.equalsFunction=L||z3}set(T,L){this._expand();let I=this._getSlot(T),_=this.buckets[I];if(!_)return _=[[T,L]],this.buckets[I]=_,this.itemCount++,L;let R=_.find(($)=>this.equalsFunction($[0],T),this);if(R){let $=R[1];return R[1]=L,$}return _.push([T,L]),this.itemCount++,L}containsKey(T){let L=this._getBucket(T);return!!L&&!!L.find((I)=>this.equalsFunction(I[0],T),this)}get(T){let L=this._getBucket(T);if(!L)return null;let I=L.find((_)=>this.equalsFunction(_[0],T),this);return I?I[1]:null}entries(){return this.buckets.filter((T)=>T!=null).flat(1)}getKeys(){return this.entries().map((T)=>T[0])}getValues(){return this.entries().map((T)=>T[1])}toString(){return"["+this.entries().map((T)=>"{"+T[0]+":"+T[1]+"}").join(", ")+"]"}get length(){return this.itemCount}_getSlot(T){return this.hashFunction(T)&this.buckets.length-1}_getBucket(T){return this.buckets[this._getSlot(T)]}_expand(){if(this.itemCount<=this.threshold)return;let T=this.buckets,L=2*this.buckets.length;this.buckets=Array(L),this.threshold=Math.floor(0.75*L);for(let I of T)if(I)for(let _ of I){let R=this._getSlot(_[0]),$=this.buckets[R];$||($=[],this.buckets[R]=$),$.push(_)}}}function e2(T,L){if(L==null&&(L=_1.EMPTY),L.parentCtx===null||L===_1.EMPTY)return A.EMPTY;let I=e2(T,L.parentCtx),_=T.states[L.invokingState].transitions[0];return D0.create(I,_.followState.stateNumber)}function k3(T,L,I){if(T.isEmpty())return T;let _=I.get(T)||null;if(_!==null)return _;if(_=L.get(T),_!==null)return I.set(T,_),_;let R=!1,$=[];for(let Q=0;Q<$.length;Q++){let U=k3(T.getParent(Q),L,I);if(R||U!==T.getParent(Q)){if(!R){$=[];for(let O=0;O<T.length;O++)$[O]=T.getParent(O);R=!0}$[Q]=U}}if(!R)return L.add(T),I.set(T,T),T;let G=null;return G=$.length===0?A.EMPTY:$.length===1?D0.create($[0],T.getReturnState(0)):new f0($,T.returnStates),L.add(G),I.set(G,G),I.set(T,G),G}function m2(T,L,I,_){if(T===L)return T;if(T instanceof D0&&L instanceof D0)return function(R,$,G,Q){if(Q!==null){let O=Q.get(R,$);if(O!==null)return O;if(O=Q.get($,R),O!==null)return O}let U=function(O,J,D){if(D){if(O===A.EMPTY)return A.EMPTY;if(J===A.EMPTY)return A.EMPTY}else{if(O===A.EMPTY&&J===A.EMPTY)return A.EMPTY;if(O===A.EMPTY){let B=[J.returnState,A.EMPTY_RETURN_STATE],H=[J.parentCtx,null];return new f0(H,B)}if(J===A.EMPTY){let B=[O.returnState,A.EMPTY_RETURN_STATE],H=[O.parentCtx,null];return new f0(H,B)}}return null}(R,$,G);if(U!==null)return Q!==null&&Q.set(R,$,U),U;if(R.returnState===$.returnState){let O=m2(R.parentCtx,$.parentCtx,G,Q);if(O===R.parentCtx)return R;if(O===$.parentCtx)return $;let J=D0.create(O,R.returnState);return Q!==null&&Q.set(R,$,J),J}{let O=null;if((R===$||R.parentCtx!==null&&R.parentCtx===$.parentCtx)&&(O=R.parentCtx),O!==null){let H=[R.returnState,$.returnState];R.returnState>$.returnState&&(H[0]=$.returnState,H[1]=R.returnState);let z=new f0([O,O],H);return Q!==null&&Q.set(R,$,z),z}let J=[R.returnState,$.returnState],D=[R.parentCtx,$.parentCtx];R.returnState>$.returnState&&(J[0]=$.returnState,J[1]=R.returnState,D=[$.parentCtx,R.parentCtx]);let B=new f0(D,J);return Q!==null&&Q.set(R,$,B),B}}(T,L,I,_);if(I){if(T instanceof P6)return T;if(L instanceof P6)return L}return T instanceof D0&&(T=new f0([T.getParent()],[T.returnState])),L instanceof D0&&(L=new f0([L.getParent()],[L.returnState])),function(R,$,G,Q){if(Q!==null){let z=Q.get(R,$);if(z!==null)return A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> previous"),z;if(z=Q.get($,R),z!==null)return A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> previous"),z}let U=0,O=0,J=0,D=Array(R.returnStates.length+$.returnStates.length).fill(0),B=Array(R.returnStates.length+$.returnStates.length).fill(null);for(;U<R.returnStates.length&&O<$.returnStates.length;){let z=R.parents[U],X=$.parents[O];if(R.returnStates[U]===$.returnStates[O]){let k=R.returnStates[U];k===A.EMPTY_RETURN_STATE&&z===null&&X===null||z!==null&&X!==null&&z===X?(B[J]=z,D[J]=k):(B[J]=m2(z,X,G,Q),D[J]=k),U+=1,O+=1}else R.returnStates[U]<$.returnStates[O]?(B[J]=z,D[J]=R.returnStates[U],U+=1):(B[J]=X,D[J]=$.returnStates[O],O+=1);J+=1}if(U<R.returnStates.length)for(let z=U;z<R.returnStates.length;z++)B[J]=R.parents[z],D[J]=R.returnStates[z],J+=1;else for(let z=O;z<$.returnStates.length;z++)B[J]=$.parents[z],D[J]=$.returnStates[z],J+=1;if(J<B.length){if(J===1){let z=D0.create(B[0],D[0]);return Q!==null&&Q.set(R,$,z),z}B=B.slice(0,J),D=D.slice(0,J)}let H=new f0(B,D);return H.equals(R)?(Q!==null&&Q.set(R,$,R),A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> a"),R):H.equals($)?(Q!==null&&Q.set(R,$,$),A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> b"),$):(function(z){let X=new C1;for(let k=0;k<z.length;k++){let C=z[k];X.containsKey(C)||X.set(C,C)}for(let k=0;k<z.length;k++)z[k]=X.get(z[k])}(B),Q!==null&&Q.set(R,$,H),A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> "+H),H)}(T,L,I,_)}class K0{constructor(){this.data=new Uint32Array(1)}set(T){K0._checkIndex(T),this._resize(T),this.data[T>>>5]|=1<<T%32}get(T){K0._checkIndex(T);let L=T>>>5;return!(L>=this.data.length||!(this.data[L]&1<<T%32))}clear(T){K0._checkIndex(T);let L=T>>>5;L<this.data.length&&(this.data[L]&=~(1<<T))}or(T){let L=Math.min(this.data.length,T.data.length);for(let I=0;I<L;++I)this.data[I]|=T.data[I];if(this.data.length<T.data.length){this._resize((T.data.length<<5)-1);let I=T.data.length;for(let _=L;_<I;++_)this.data[_]=T.data[_]}}values(){let T=Array(this.length),L=0,I=this.data.length;for(let _=0;_<I;++_){let R=this.data[_];for(;R!==0;){let $=R&-R;T[L++]=(_<<5)+K0._bitCount($-1),R^=$}}return T}minValue(){for(let T=0;T<this.data.length;++T){let L=this.data[T];if(L!==0){let I=0;for(;!(1&L);)I++,L>>=1;return I+32*T}}return 0}hashCode(){return k0.hashStuff(this.values())}equals(T){return T instanceof K0&&E1(this.data,T.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.data.map((T)=>K0._bitCount(T)).reduce((T,L)=>T+L,0)}_resize(T){let L=T+32>>>5;if(L<=this.data.length)return;let I=new Uint32Array(L);I.set(this.data),I.fill(0,this.data.length),this.data=I}static _checkIndex(T){if(T<0)throw RangeError("index cannot be negative")}static _bitCount(T){return T=(T=(858993459&(T-=T>>1&1431655765))+(T>>2&858993459))+(T>>4)&252645135,T+=T>>8,0+(T+=T>>16)&63}}class D1{constructor(T){this.atn=T}getDecisionLookahead(T){if(T===null)return null;let L=T.transitions.length,I=[];for(let _=0;_<L;_++){I[_]=new H0;let R=new z0,$=!1;this._LOOK(T.transition(_).target,null,A.EMPTY,I[_],R,new K0,$,!1),(I[_].length===0||I[_].contains(D1.HIT_PRED))&&(I[_]=null)}return I}LOOK(T,L,I){let _=new H0,R=(I=I||null)!==null?e2(T.atn,I):null;return this._LOOK(T,L,R,_,new z0,new K0,!0,!0),_}_LOOK(T,L,I,_,R,$,G,Q){let U=new T0({state:T,alt:0,context:I},null);if(!R.has(U)){if(R.add(U),T===L){if(I===null)return void _.addOne(M.EPSILON);if(I.isEmpty()&&Q)return void _.addOne(M.EOF)}if(T instanceof Z0){if(I===null)return void _.addOne(M.EPSILON);if(I.isEmpty()&&Q)return void _.addOne(M.EOF);if(I!==A.EMPTY){let O=$.get(T.ruleIndex);try{$.clear(T.ruleIndex);for(let J=0;J<I.length;J++){let D=this.atn.states[I.getReturnState(J)];this._LOOK(D,L,I.getParent(J),_,R,$,G,Q)}}finally{O&&$.set(T.ruleIndex)}return}}for(let O=0;O<T.transitions.length;O++){let J=T.transitions[O];if(J.constructor===r1){if($.get(J.target.ruleIndex))continue;let D=D0.create(I,J.followState.stateNumber);try{$.set(J.target.ruleIndex),this._LOOK(J.target,L,D,_,R,$,G,Q)}finally{$.clear(J.target.ruleIndex)}}else if(J instanceof f6)G?this._LOOK(J.target,L,I,_,R,$,G,Q):_.addOne(D1.HIT_PRED);else if(J.isEpsilon)this._LOOK(J.target,L,I,_,R,$,G,Q);else if(J.constructor===n2)_.addRange(M.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);else{let D=J.label;D!==null&&(J instanceof g6&&(D=D.complement(M.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),_.addSet(D))}}}}}D1.HIT_PRED=M.INVALID_TYPE;class a{constructor(T,L){this.grammarType=T,this.maxTokenType=L,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(T,L){return new D1(this).LOOK(T,null,L)}nextTokensNoContext(T){return T.nextTokenWithinRule!==null||(T.nextTokenWithinRule=this.nextTokensInContext(T,null),T.nextTokenWithinRule.readOnly=!0),T.nextTokenWithinRule}nextTokens(T,L){return L===void 0?this.nextTokensNoContext(T):this.nextTokensInContext(T,L)}addState(T){T!==null&&(T.atn=this,T.stateNumber=this.states.length),this.states.push(T)}removeState(T){this.states[T.stateNumber]=null}defineDecisionState(T){return this.decisionToState.push(T),T.decision=this.decisionToState.length-1,T.decision}getDecisionState(T){return this.decisionToState.length===0?null:this.decisionToState[T]}getExpectedTokens(T,L){if(T<0||T>=this.states.length)throw"Invalid state number.";let I=this.states[T],_=this.nextTokens(I);if(!_.contains(M.EPSILON))return _;let R=new H0;for(R.addSet(_),R.removeOne(M.EPSILON);L!==null&&L.invokingState>=0&&_.contains(M.EPSILON);){let $=this.states[L.invokingState].transitions[0];_=this.nextTokens($.followState),R.addSet(_),R.removeOne(M.EPSILON),L=L.parentCtx}return _.contains(M.EPSILON)&&R.addOne(M.EOF),R}}a.INVALID_ALT_NUMBER=0;class d2 extends N{constructor(){super(),this.stateType=N.BASIC}}class K1 extends N{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}}class Z1 extends K1{constructor(){return super(),this.endState=null,this}}class M6 extends N{constructor(){return super(),this.stateType=N.BLOCK_END,this.startState=null,this}}class S1 extends N{constructor(){return super(),this.stateType=N.LOOP_END,this.loopBackState=null,this}}class l2 extends N{constructor(){return super(),this.stateType=N.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}}class M3 extends K1{constructor(){return super(),this.stateType=N.TOKEN_START,this}}class o2 extends K1{constructor(){return super(),this.stateType=N.PLUS_LOOP_BACK,this}}class E6 extends N{constructor(){return super(),this.stateType=N.STAR_LOOP_BACK,this}}class L1 extends K1{constructor(){return super(),this.stateType=N.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}}class j6 extends Z1{constructor(){return super(),this.stateType=N.PLUS_BLOCK_START,this.loopBackState=null,this}}class C6 extends Z1{constructor(){return super(),this.stateType=N.STAR_BLOCK_START,this}}class v2 extends Z1{constructor(){return super(),this.stateType=N.BLOCK_START,this}}class N6 extends P{constructor(T,L){super(T),this.label_=L,this.label=this.makeLabel(),this.serializationType=P.ATOM}makeLabel(){let T=new H0;return T.addOne(this.label_),T}matches(T,L,I){return this.label_===T}toString(){return this.label_}}class E3 extends P{constructor(T,L,I){super(T),this.serializationType=P.RANGE,this.start=L,this.stop=I,this.label=this.makeLabel()}makeLabel(){let T=new H0;return T.addRange(this.start,this.stop),T}matches(T,L,I){return T>=this.start&&T<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}class T4 extends P{constructor(T,L,I,_){super(T),this.serializationType=P.ACTION,this.ruleIndex=L,this.actionIndex=I===void 0?-1:I,this.isCtxDependent=_!==void 0&&_,this.isEpsilon=!0}matches(T,L,I){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}}class q1 extends P{constructor(T,L){super(T),this.serializationType=P.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=L}matches(T,L,I){return!1}toString(){return"epsilon"}}class p6 extends o{constructor(T,L,I){super(),this.ruleIndex=T===void 0?-1:T,this.predIndex=L===void 0?-1:L,this.isCtxDependent=I!==void 0&&I}evaluate(T,L){let I=this.isCtxDependent?L:null;return T.sempred(I,this.ruleIndex,this.predIndex)}updateHashCode(T){T.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(T){return this===T||T instanceof p6&&this.ruleIndex===T.ruleIndex&&this.predIndex===T.predIndex&&this.isCtxDependent===T.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}o.NONE=new p6;class L4 extends f6{constructor(T,L,I,_){super(T),this.serializationType=P.PREDICATE,this.ruleIndex=L,this.predIndex=I,this.isCtxDependent=_,this.isEpsilon=!0}matches(T,L,I){return!1}getPredicate(){return new p6(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}}class x6 extends o{constructor(T){super(),this.precedence=T===void 0?0:T}evaluate(T,L){return T.precpred(L,this.precedence)}evalPrecedence(T,L){return T.precpred(L,this.precedence)?o.NONE:null}compareTo(T){return this.precedence-T.precedence}updateHashCode(T){T.update(this.precedence)}equals(T){return this===T||T instanceof x6&&this.precedence===T.precedence}toString(){return"{"+this.precedence+">=prec}?"}}o.PrecedencePredicate=x6;class j3 extends f6{constructor(T,L){super(T),this.serializationType=P.PRECEDENCE,this.precedence=L,this.isEpsilon=!0}matches(T,L,I){return!1}getPredicate(){return new x6(this.precedence)}toString(){return this.precedence+" >= _p"}}class M1{constructor(T){T===void 0&&(T=null),this.readOnly=!1,this.verifyATN=T===null||T.verifyATN,this.generateRuleBypassTransitions=T!==null&&T.generateRuleBypassTransitions}}M1.defaultOptions=new M1,M1.defaultOptions.readOnly=!0;class p0{constructor(T){this.actionType=T,this.isPositionDependent=!1}hashCode(){let T=new k0;return this.updateHashCode(T),T.finish()}updateHashCode(T){T.update(this.actionType)}equals(T){return this===T}}class y6 extends p0{constructor(){super(6)}execute(T){T.skip()}toString(){return"skip"}}y6.INSTANCE=new y6;class I4 extends p0{constructor(T){super(0),this.channel=T}execute(T){T._channel=this.channel}updateHashCode(T){T.update(this.actionType,this.channel)}equals(T){return this===T||T instanceof I4&&this.channel===T.channel}toString(){return"channel("+this.channel+")"}}class _4 extends p0{constructor(T,L){super(1),this.ruleIndex=T,this.actionIndex=L,this.isPositionDependent=!0}execute(T){T.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(T){T.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(T){return this===T||T instanceof _4&&this.ruleIndex===T.ruleIndex&&this.actionIndex===T.actionIndex}}class b6 extends p0{constructor(){super(3)}execute(T){T.more()}toString(){return"more"}}b6.INSTANCE=new b6;class R4 extends p0{constructor(T){super(7),this.type=T}execute(T){T.type=this.type}updateHashCode(T){T.update(this.actionType,this.type)}equals(T){return this===T||T instanceof R4&&this.type===T.type}toString(){return"type("+this.type+")"}}class $4 extends p0{constructor(T){super(5),this.mode=T}execute(T){T.pushMode(this.mode)}updateHashCode(T){T.update(this.actionType,this.mode)}equals(T){return this===T||T instanceof $4&&this.mode===T.mode}toString(){return"pushMode("+this.mode+")"}}class h6 extends p0{constructor(){super(4)}execute(T){T.popMode()}toString(){return"popMode"}}h6.INSTANCE=new h6;class G4 extends p0{constructor(T){super(2),this.mode=T}execute(T){T.setMode(this.mode)}updateHashCode(T){T.update(this.actionType,this.mode)}equals(T){return this===T||T instanceof G4&&this.mode===T.mode}toString(){return"mode("+this.mode+")"}}function k6(T,L){let I=[];return I[T-1]=L,I.map(function(_){return L})}class c6{constructor(T){T==null&&(T=M1.defaultOptions),this.deserializationOptions=T,this.stateFactories=null,this.actionFactories=null}deserialize(T){let L=this.reset(T);this.checkVersion(L),L&&this.skipUUID();let I=this.readATN();this.readStates(I,L),this.readRules(I,L),this.readModes(I);let _=[];return this.readSets(I,_,this.readInt.bind(this)),L&&this.readSets(I,_,this.readInt32.bind(this)),this.readEdges(I,_),this.readDecisions(I),this.readLexerActions(I,L),this.markPrecedenceDecisions(I),this.verifyATN(I),this.deserializationOptions.generateRuleBypassTransitions&&I.grammarType===1&&(this.generateRuleBypassTransitions(I),this.verifyATN(I)),I}reset(T){if((T.charCodeAt?T.charCodeAt(0):T[0])===3){let L=function(_){let R=_.charCodeAt(0);return R>1?R-2:R+65534},I=T.split("").map(L);return I[0]=T.charCodeAt(0),this.data=I,this.pos=0,!0}return this.data=T,this.pos=0,!1}skipUUID(){let T=0;for(;T++<8;)this.readInt()}checkVersion(T){let L=this.readInt();if(!T&&L!==4)throw"Could not deserialize ATN with version "+L+" (expected 4)."}readATN(){let T=this.readInt(),L=this.readInt();return new a(T,L)}readStates(T,L){let I,_,R,$=[],G=[],Q=this.readInt();for(let J=0;J<Q;J++){let D=this.readInt();if(D===N.INVALID_TYPE){T.addState(null);continue}let B=this.readInt();L&&B===65535&&(B=-1);let H=this.stateFactory(D,B);if(D===N.LOOP_END){let z=this.readInt();$.push([H,z])}else if(H instanceof Z1){let z=this.readInt();G.push([H,z])}T.addState(H)}for(I=0;I<$.length;I++)_=$[I],_[0].loopBackState=T.states[_[1]];for(I=0;I<G.length;I++)_=G[I],_[0].endState=T.states[_[1]];let U=this.readInt();for(I=0;I<U;I++)R=this.readInt(),T.states[R].nonGreedy=!0;let O=this.readInt();for(I=0;I<O;I++)R=this.readInt(),T.states[R].isPrecedenceRule=!0}readRules(T,L){let I,_=this.readInt();for(T.grammarType===0&&(T.ruleToTokenType=k6(_,0)),T.ruleToStartState=k6(_,0),I=0;I<_;I++){let R=this.readInt();if(T.ruleToStartState[I]=T.states[R],T.grammarType===0){let $=this.readInt();L&&$===65535&&($=M.EOF),T.ruleToTokenType[I]=$}}for(T.ruleToStopState=k6(_,0),I=0;I<T.states.length;I++){let R=T.states[I];R instanceof Z0&&(T.ruleToStopState[R.ruleIndex]=R,T.ruleToStartState[R.ruleIndex].stopState=R)}}readModes(T){let L=this.readInt();for(let I=0;I<L;I++){let _=this.readInt();T.modeToStartState.push(T.states[_])}}readSets(T,L,I){let _=this.readInt();for(let R=0;R<_;R++){let $=new H0;L.push($);let G=this.readInt();this.readInt()!==0&&$.addOne(-1);for(let Q=0;Q<G;Q++){let U=I(),O=I();$.addRange(U,O)}}}readEdges(T,L){let I,_,R,$,G,Q=this.readInt();for(I=0;I<Q;I++){let U=this.readInt(),O=this.readInt(),J=this.readInt(),D=this.readInt(),B=this.readInt(),H=this.readInt();$=this.edgeFactory(T,J,U,O,D,B,H,L),T.states[U].addTransition($)}for(I=0;I<T.states.length;I++)for(R=T.states[I],_=0;_<R.transitions.length;_++){let U=R.transitions[_];if(!(U instanceof r1))continue;let O=-1;T.ruleToStartState[U.target.ruleIndex].isPrecedenceRule&&U.precedence===0&&(O=U.target.ruleIndex),$=new q1(U.followState,O),T.ruleToStopState[U.target.ruleIndex].addTransition($)}for(I=0;I<T.states.length;I++){if(R=T.states[I],R instanceof Z1){if(R.endState===null)throw"IllegalState";if(R.endState.startState!==null)throw"IllegalState";R.endState.startState=R}if(R instanceof o2)for(_=0;_<R.transitions.length;_++)G=R.transitions[_].target,G instanceof j6&&(G.loopBackState=R);else if(R instanceof E6)for(_=0;_<R.transitions.length;_++)G=R.transitions[_].target,G instanceof L1&&(G.loopBackState=R)}}readDecisions(T){let L=this.readInt();for(let I=0;I<L;I++){let _=this.readInt(),R=T.states[_];T.decisionToState.push(R),R.decision=I}}readLexerActions(T,L){if(T.grammarType===0){let I=this.readInt();T.lexerActions=k6(I,null);for(let _=0;_<I;_++){let R=this.readInt(),$=this.readInt();L&&$===65535&&($=-1);let G=this.readInt();L&&G===65535&&(G=-1),T.lexerActions[_]=this.lexerActionFactory(R,$,G)}}}generateRuleBypassTransitions(T){let L,I=T.ruleToStartState.length;for(L=0;L<I;L++)T.ruleToTokenType[L]=T.maxTokenType+L+1;for(L=0;L<I;L++)this.generateRuleBypassTransition(T,L)}generateRuleBypassTransition(T,L){let I,_,R=new v2;R.ruleIndex=L,T.addState(R);let $=new M6;$.ruleIndex=L,T.addState($),R.endState=$,T.defineDecisionState(R),$.startState=R;let G=null,Q=null;if(T.ruleToStartState[L].isPrecedenceRule){for(Q=null,I=0;I<T.states.length;I++)if(_=T.states[I],this.stateIsEndStateFor(_,L)){Q=_,G=_.loopBackState.transitions[0];break}if(G===null)throw"Couldn't identify final state of the precedence rule prefix section."}else Q=T.ruleToStopState[L];for(I=0;I<T.states.length;I++){_=T.states[I];for(let D=0;D<_.transitions.length;D++){let B=_.transitions[D];B!==G&&B.target===Q&&(B.target=$)}}let U=T.ruleToStartState[L],O=U.transitions.length;for(;O>0;)R.addTransition(U.transitions[O-1]),U.transitions=U.transitions.slice(-1);T.ruleToStartState[L].addTransition(new q1(R)),$.addTransition(new q1(Q));let J=new d2;T.addState(J),J.addTransition(new N6($,T.ruleToTokenType[L])),R.addTransition(new q1(J))}stateIsEndStateFor(T,L){if(T.ruleIndex!==L)return null;if(!(T instanceof L1))return null;let I=T.transitions[T.transitions.length-1].target;return I instanceof S1&&I.epsilonOnlyTransitions&&I.transitions[0].target instanceof Z0?T:null}markPrecedenceDecisions(T){for(let L=0;L<T.states.length;L++){let I=T.states[L];if(I instanceof L1&&T.ruleToStartState[I.ruleIndex].isPrecedenceRule){let _=I.transitions[I.transitions.length-1].target;_ instanceof S1&&_.epsilonOnlyTransitions&&_.transitions[0].target instanceof Z0&&(I.isPrecedenceDecision=!0)}}}verifyATN(T){if(this.deserializationOptions.verifyATN)for(let L=0;L<T.states.length;L++){let I=T.states[L];if(I!==null)if(this.checkCondition(I.epsilonOnlyTransitions||I.transitions.length<=1),I instanceof j6)this.checkCondition(I.loopBackState!==null);else if(I instanceof L1)if(this.checkCondition(I.loopBackState!==null),this.checkCondition(I.transitions.length===2),I.transitions[0].target instanceof C6)this.checkCondition(I.transitions[1].target instanceof S1),this.checkCondition(!I.nonGreedy);else{if(!(I.transitions[0].target instanceof S1))throw"IllegalState";this.checkCondition(I.transitions[1].target instanceof C6),this.checkCondition(I.nonGreedy)}else I instanceof E6?(this.checkCondition(I.transitions.length===1),this.checkCondition(I.transitions[0].target instanceof L1)):I instanceof S1?this.checkCondition(I.loopBackState!==null):I instanceof l2?this.checkCondition(I.stopState!==null):I instanceof Z1?this.checkCondition(I.endState!==null):I instanceof M6?this.checkCondition(I.startState!==null):I instanceof K1?this.checkCondition(I.transitions.length<=1||I.decision>=0):this.checkCondition(I.transitions.length<=1||I instanceof Z0)}}checkCondition(T,L){if(!T)throw L==null&&(L="IllegalState"),L}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(T,L,I,_,R,$,G,Q){let U=T.states[_];switch(L){case P.EPSILON:return new q1(U);case P.RANGE:return new E3(U,G!==0?M.EOF:R,$);case P.RULE:return new r1(T.states[R],$,G,U);case P.PREDICATE:return new L4(U,R,$,G!==0);case P.PRECEDENCE:return new j3(U,R);case P.ATOM:return new N6(U,G!==0?M.EOF:R);case P.ACTION:return new T4(U,R,$,G!==0);case P.SET:return new u6(U,Q[R]);case P.NOT_SET:return new g6(U,Q[R]);case P.WILDCARD:return new n2(U);default:throw"The specified transition type: "+L+" is not valid."}}stateFactory(T,L){if(this.stateFactories===null){let I=[];I[N.INVALID_TYPE]=null,I[N.BASIC]=()=>new d2,I[N.RULE_START]=()=>new l2,I[N.BLOCK_START]=()=>new v2,I[N.PLUS_BLOCK_START]=()=>new j6,I[N.STAR_BLOCK_START]=()=>new C6,I[N.TOKEN_START]=()=>new M3,I[N.RULE_STOP]=()=>new Z0,I[N.BLOCK_END]=()=>new M6,I[N.STAR_LOOP_BACK]=()=>new E6,I[N.STAR_LOOP_ENTRY]=()=>new L1,I[N.PLUS_LOOP_BACK]=()=>new o2,I[N.LOOP_END]=()=>new S1,this.stateFactories=I}if(T>this.stateFactories.length||this.stateFactories[T]===null)throw"The specified state type "+T+" is not valid.";{let I=this.stateFactories[T]();if(I!==null)return I.ruleIndex=L,I}}lexerActionFactory(T,L,I){if(this.actionFactories===null){let _=[];_[0]=(R,$)=>new I4(R),_[1]=(R,$)=>new _4(R,$),_[2]=(R,$)=>new G4(R),_[3]=(R,$)=>b6.INSTANCE,_[4]=(R,$)=>h6.INSTANCE,_[5]=(R,$)=>new $4(R),_[6]=(R,$)=>y6.INSTANCE,_[7]=(R,$)=>new R4(R),this.actionFactories=_}if(T>this.actionFactories.length||this.actionFactories[T]===null)throw"The specified lexer action type "+T+" is not valid.";return this.actionFactories[T](L,I)}}class P1{syntaxError(T,L,I,_,R,$){}reportAmbiguity(T,L,I,_,R,$,G){}reportAttemptingFullContext(T,L,I,_,R,$){}reportContextSensitivity(T,L,I,_,R,$){}}class w6 extends P1{constructor(){super()}syntaxError(T,L,I,_,R,$){console.error("line "+I+":"+_+" "+R)}}w6.INSTANCE=new w6;class C3 extends P1{constructor(T){if(super(),T===null)throw"delegates";return this.delegates=T,this}syntaxError(T,L,I,_,R,$){this.delegates.map((G)=>G.syntaxError(T,L,I,_,R,$))}reportAmbiguity(T,L,I,_,R,$,G){this.delegates.map((Q)=>Q.reportAmbiguity(T,L,I,_,R,$,G))}reportAttemptingFullContext(T,L,I,_,R,$){this.delegates.map((G)=>G.reportAttemptingFullContext(T,L,I,_,R,$))}reportContextSensitivity(T,L,I,_,R,$){this.delegates.map((G)=>G.reportContextSensitivity(T,L,I,_,R,$))}}class s1{constructor(){this._listeners=[w6.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(T){T!=="4.13.2"&&console.log("ANTLR runtime and generated code versions disagree: 4.13.2!="+T)}addErrorListener(T){this._listeners.push(T)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){let T=this.getLiteralNames(),L=this.getSymbolicNames(),I=T.length>L.length?T.length:L.length;this.tokenNames=[];for(let _=0;_<I;_++)this.tokenNames[_]=T[_]||L[_]||"<INVALID"}return this.tokenNames}getTokenTypeMap(){let T=this.getTokenNames();if(T===null)throw"The current recognizer does not provide a list of token names.";let L=this.tokenTypeMapCache[T];return L===void 0&&(L=T.reduce(function(I,_,R){I[_]=R}),L.EOF=M.EOF,this.tokenTypeMapCache[T]=L),L}getRuleIndexMap(){let T=this.ruleNames;if(T===null)throw"The current recognizer does not provide a list of rule names.";let L=this.ruleIndexMapCache[T];return L===void 0&&(L=T.reduce(function(I,_,R){I[_]=R}),this.ruleIndexMapCache[T]=L),L}getTokenType(T){let L=this.getTokenTypeMap()[T];return L!==void 0?L:M.INVALID_TYPE}getErrorHeader(T){return"line "+T.getOffendingToken().line+":"+T.getOffendingToken().column}getTokenErrorDisplay(T){if(T===null)return"<no token>";let L=T.text;return L===null&&(L=T.type===M.EOF?"<EOF>":"<"+T.type+">"),L=L.replace(`
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
`,L)),L.context===null||L.context.hasEmptyPath()){if(L.context===null||L.context.isEmpty())return I.add(L),!0;I.add(new B0({state:L.state,context:A.EMPTY},L)),_=!0}if(L.context!==null&&!L.context.isEmpty()){for(let Q=0;Q<L.context.length;Q++)if(L.context.getReturnState(Q)!==A.EMPTY_RETURN_STATE){let U=L.context.getParent(Q),O=this.atn.states[L.context.getReturnState(Q)];G=new B0({state:O,context:U},L),_=this.closure(T,G,I,_,R,$)}}return _}L.state.epsilonOnlyTransitions||_&&L.passedThroughNonGreedyDecision||I.add(L);for(let Q=0;Q<L.state.transitions.length;Q++){let U=L.state.transitions[Q];G=this.getEpsilonTarget(T,L,U,I,R,$),G!==null&&(_=this.closure(T,G,I,_,R,$))}return _}getEpsilonTarget(T,L,I,_,R,$){let G=null;if(I.serializationType===P.RULE){let Q=D0.create(L.context,I.followState.stateNumber);G=new B0({state:I.target,context:Q},L)}else{if(I.serializationType===P.PRECEDENCE)throw"Precedence predicates are not supported in lexers.";if(I.serializationType===P.PREDICATE)n.debug&&console.log("EVAL rule "+I.ruleIndex+":"+I.predIndex),_.hasSemanticContext=!0,this.evaluatePredicate(T,I.ruleIndex,I.predIndex,R)&&(G=new B0({state:I.target},L));else if(I.serializationType===P.ACTION)if(L.context===null||L.context.hasEmptyPath()){let Q=k1.append(L.lexerActionExecutor,this.atn.lexerActions[I.actionIndex]);G=new B0({state:I.target,lexerActionExecutor:Q},L)}else G=new B0({state:I.target},L);else I.serializationType===P.EPSILON?G=new B0({state:I.target},L):I.serializationType!==P.ATOM&&I.serializationType!==P.RANGE&&I.serializationType!==P.SET||$&&I.matches(M.EOF,0,t.MAX_CHAR_VALUE)&&(G=new B0({state:I.target},L))}return G}evaluatePredicate(T,L,I,_){if(this.recog===null)return!0;if(!_)return this.recog.sempred(null,L,I);let R=this.column,$=this.line,G=T.index,Q=T.mark();try{return this.consume(T),this.recog.sempred(null,L,I)}finally{this.column=R,this.line=$,T.seek(G),T.release(Q)}}captureSimState(T,L,I){T.index=L.index,T.line=this.line,T.column=this.column,T.dfaState=I}addDFAEdge(T,L,I,_){if(I===void 0&&(I=null),_===void 0&&(_=null),I===null&&_!==null){let R=_.hasSemanticContext;if(_.hasSemanticContext=!1,I=this.addDFAState(_),R)return I}return L<n.MIN_DFA_EDGE||L>n.MAX_DFA_EDGE||(n.debug&&console.log("EDGE "+T+" -> "+I+" upon "+L),T.edges===null&&(T.edges=[]),T.edges[L-n.MIN_DFA_EDGE]=I),I}addDFAState(T){let L=new i0(null,T),I=null;for(let G=0;G<T.items.length;G++){let Q=T.items[G];if(Q.state instanceof Z0){I=Q;break}}I!==null&&(L.isAcceptState=!0,L.lexerActionExecutor=I.lexerActionExecutor,L.prediction=this.atn.ruleToTokenType[I.state.ruleIndex]);let _=this.decisionToDFA[this.mode],R=_.states.get(L);if(R!==null)return R;let $=L;return $.stateNumber=_.states.length,T.setReadonly(!0),$.configs=T,_.states.add($),$}getDFA(T){return this.decisionToDFA[T]}getText(T){return T.getText(this.startIndex,T.index-1)}consume(T){T.LA(1)===10?(this.line+=1,this.column=0):this.column+=1,T.consume()}getTokenName(T){return T===-1?"EOF":"'"+String.fromCharCode(T)+"'"}}n.debug=!1,n.dfa_debug=!1,n.MIN_DFA_EDGE=0,n.MAX_DFA_EDGE=127;class Q4{constructor(T,L){this.alt=L,this.pred=T}toString(){return"("+this.pred+", "+this.alt+")"}}class y3{constructor(){this.data={}}get(T){return this.data["k-"+T]||null}set(T,L){this.data["k-"+T]=L}values(){return Object.keys(this.data).filter((T)=>T.startsWith("k-")).map((T)=>this.data[T],this)}}var g0={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(T,L){if(g0.allConfigsInRuleStopStates(L))return!0;if(T===g0.SLL&&L.hasSemanticContext){let _=new W0;for(let R=0;R<L.items.length;R++){let $=L.items[R];$=new T0({semanticContext:o.NONE},$),_.add($)}L=_}let I=g0.getConflictingAltSubsets(L);return g0.hasConflictingAltSet(I)&&!g0.hasStateAssociatedWithOneAlt(L)},hasConfigInRuleStopState:function(T){for(let L=0;L<T.items.length;L++)if(T.items[L].state instanceof Z0)return!0;return!1},allConfigsInRuleStopStates:function(T){for(let L=0;L<T.items.length;L++)if(!(T.items[L].state instanceof Z0))return!1;return!0},resolvesToJustOneViableAlt:function(T){return g0.getSingleViableAlt(T)},allSubsetsConflict:function(T){return!g0.hasNonConflictingAltSet(T)},hasNonConflictingAltSet:function(T){for(let L=0;L<T.length;L++)if(T[L].length===1)return!0;return!1},hasConflictingAltSet:function(T){for(let L=0;L<T.length;L++)if(T[L].length>1)return!0;return!1},allSubsetsEqual:function(T){let L=null;for(let I=0;I<T.length;I++){let _=T[I];if(L===null)L=_;else if(_!==L)return!1}return!0},getUniqueAlt:function(T){let L=g0.getAlts(T);return L.length===1?L.minValue():a.INVALID_ALT_NUMBER},getAlts:function(T){let L=new K0;return T.map(function(I){L.or(I)}),L},getConflictingAltSubsets:function(T){let L=new C1;return L.hashFunction=function(I){k0.hashStuff(I.state.stateNumber,I.context)},L.equalsFunction=function(I,_){return I.state.stateNumber===_.state.stateNumber&&I.context.equals(_.context)},T.items.map(function(I){let _=L.get(I);_===null&&(_=new K0,L.set(I,_)),_.set(I.alt)}),L.getValues()},getStateToAltMap:function(T){let L=new y3;return T.items.map(function(I){let _=L.get(I.state);_===null&&(_=new K0,L.set(I.state,_)),_.set(I.alt)}),L},hasStateAssociatedWithOneAlt:function(T){let L=g0.getStateToAltMap(T).values();for(let I=0;I<L.length;I++)if(L[I].length===1)return!0;return!1},getSingleViableAlt:function(T){let L=null;for(let I=0;I<T.length;I++){let _=T[I].minValue();if(L===null)L=_;else if(L!==_)return a.INVALID_ALT_NUMBER}return L}},Q0=g0;class t1 extends r0{constructor(T,L,I,_,R,$){$=$||T._ctx,_=_||T.getCurrentToken(),I=I||T.getCurrentToken(),L=L||T.getInputStream(),super({message:"",recognizer:T,input:L,ctx:$}),this.deadEndConfigs=R,this.startToken=I,this.offendingToken=_}}class b3{constructor(T){this.defaultMapCtor=T||C1,this.cacheMap=new this.defaultMapCtor}get(T,L){let I=this.cacheMap.get(T)||null;return I===null?null:I.get(L)||null}set(T,L,I){let _=this.cacheMap.get(T)||null;_===null&&(_=new this.defaultMapCtor,this.cacheMap.set(T,_)),_.set(L,I)}}class U4 extends N0{constructor(T,L,I,_){super(L,_),this.parser=T,this.decisionToDFA=I,this.predictionMode=Q0.LL,this._input=null,this._startIndex=0,this._outerContext=null,this._dfa=null,this.mergeCache=null,this.debug=!1,this.debug_closure=!1,this.debug_add=!1,this.trace_atn_sim=!1,this.dfa_debug=!1,this.retry_debug=!1}reset(){}adaptivePredict(T,L,I){(this.debug||this.trace_atn_sim)&&console.log("adaptivePredict decision "+L+" exec LA(1)=="+this.getLookaheadName(T)+" line "+T.LT(1).line+":"+T.LT(1).column),this._input=T,this._startIndex=T.index,this._outerContext=I;let _=this.decisionToDFA[L];this._dfa=_;let R=T.mark(),$=T.index;try{let G;if(G=_.precedenceDfa?_.getPrecedenceStartState(this.parser.getPrecedence()):_.s0,G===null){I===null&&(I=_1.EMPTY),this.debug&&console.log("predictATN decision "+_.decision+" exec LA(1)=="+this.getLookaheadName(T)+", outerContext="+I.toString(this.parser.ruleNames));let U=!1,O=this.computeStartState(_.atnStartState,_1.EMPTY,U);_.precedenceDfa?(_.s0.configs=O,O=this.applyPrecedenceFilter(O),G=this.addDFAState(_,new i0(null,O)),_.setPrecedenceStartState(this.parser.getPrecedence(),G)):(G=this.addDFAState(_,new i0(null,O)),_.s0=G)}let Q=this.execATN(_,G,T,$,I);return this.debug&&console.log("DFA after predictATN: "+_.toString(this.parser.literalNames,this.parser.symbolicNames)),Q}finally{this._dfa=null,this.mergeCache=null,T.seek($),T.release(R)}}execATN(T,L,I,_,R){let $;(this.debug||this.trace_atn_sim)&&console.log("execATN decision "+T.decision+", DFA state "+L+", LA(1)=="+this.getLookaheadName(I)+" line "+I.LT(1).line+":"+I.LT(1).column);let G=L;this.debug&&console.log("s0 = "+L);let Q=I.LA(1);for(;;){let U=this.getExistingTargetState(G,Q);if(U===null&&(U=this.computeTargetState(T,G,Q)),U===N0.ERROR){let O=this.noViableAlt(I,R,G.configs,_);if(I.seek(_),$=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(G.configs,R),$!==a.INVALID_ALT_NUMBER)return $;throw O}if(U.requiresFullContext&&this.predictionMode!==Q0.SLL){let O=null;if(U.predicates!==null){this.debug&&console.log("DFA state has preds in DFA sim LL failover");let B=I.index;if(B!==_&&I.seek(_),O=this.evalSemanticContext(U.predicates,R,!0),O.length===1)return this.debug&&console.log("Full LL avoided"),O.minValue();B!==_&&I.seek(B)}this.dfa_debug&&console.log("ctx sensitive state "+R+" in "+U);let J=!0,D=this.computeStartState(T.atnStartState,R,J);return this.reportAttemptingFullContext(T,O,U.configs,_,I.index),$=this.execATNWithFullContext(T,U,D,I,_,R),$}if(U.isAcceptState){if(U.predicates===null)return U.prediction;let O=I.index;I.seek(_);let J=this.evalSemanticContext(U.predicates,R,!0);if(J.length===0)throw this.noViableAlt(I,R,U.configs,_);return J.length===1||this.reportAmbiguity(T,U,_,O,!1,J,U.configs),J.minValue()}G=U,Q!==M.EOF&&(I.consume(),Q=I.LA(1))}}getExistingTargetState(T,L){let I=T.edges;return I===null?null:I[L+1]||null}computeTargetState(T,L,I){let _=this.computeReachSet(L.configs,I,!1);if(_===null)return this.addDFAEdge(T,L,I,N0.ERROR),N0.ERROR;let R=new i0(null,_),$=this.getUniqueAlt(_);if(this.debug){let G=Q0.getConflictingAltSubsets(_);console.log("SLL altSubSets="+o0(G)+", configs="+_+", predict="+$+", allSubsetsConflict="+Q0.allSubsetsConflict(G)+", conflictingAlts="+this.getConflictingAlts(_))}return $!==a.INVALID_ALT_NUMBER?(R.isAcceptState=!0,R.configs.uniqueAlt=$,R.prediction=$):Q0.hasSLLConflictTerminatingPrediction(this.predictionMode,_)&&(R.configs.conflictingAlts=this.getConflictingAlts(_),R.requiresFullContext=!0,R.isAcceptState=!0,R.prediction=R.configs.conflictingAlts.minValue()),R.isAcceptState&&R.configs.hasSemanticContext&&(this.predicateDFAState(R,this.atn.getDecisionState(T.decision)),R.predicates!==null&&(R.prediction=a.INVALID_ALT_NUMBER)),R=this.addDFAEdge(T,L,I,R),R}predicateDFAState(T,L){let I=L.transitions.length,_=this.getConflictingAltsOrUniqueAlt(T.configs),R=this.getPredsForAmbigAlts(_,T.configs,I);R!==null?(T.predicates=this.getPredicatePredictions(_,R),T.prediction=a.INVALID_ALT_NUMBER):T.prediction=_.minValue()}execATNWithFullContext(T,L,I,_,R,$){(this.debug||this.trace_atn_sim)&&console.log("execATNWithFullContext "+I);let G,Q=!1,U=I;_.seek(R);let O=_.LA(1),J=-1;for(;;){if(G=this.computeReachSet(U,O,!0),G===null){let B=this.noViableAlt(_,$,U,R);_.seek(R);let H=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(U,$);if(H!==a.INVALID_ALT_NUMBER)return H;throw B}let D=Q0.getConflictingAltSubsets(G);if(this.debug&&console.log("LL altSubSets="+D+", predict="+Q0.getUniqueAlt(D)+", resolvesToJustOneViableAlt="+Q0.resolvesToJustOneViableAlt(D)),G.uniqueAlt=this.getUniqueAlt(G),G.uniqueAlt!==a.INVALID_ALT_NUMBER){J=G.uniqueAlt;break}if(this.predictionMode!==Q0.LL_EXACT_AMBIG_DETECTION){if(J=Q0.resolvesToJustOneViableAlt(D),J!==a.INVALID_ALT_NUMBER)break}else if(Q0.allSubsetsConflict(D)&&Q0.allSubsetsEqual(D)){Q=!0,J=Q0.getSingleViableAlt(D);break}U=G,O!==M.EOF&&(_.consume(),O=_.LA(1))}return G.uniqueAlt!==a.INVALID_ALT_NUMBER?(this.reportContextSensitivity(T,J,G,R,_.index),J):(this.reportAmbiguity(T,L,R,_.index,Q,null,G),J)}computeReachSet(T,L,I){this.debug&&console.log("in computeReachSet, starting closure: "+T),this.mergeCache===null&&(this.mergeCache=new b3);let _=new W0(I),R=null;for(let G=0;G<T.items.length;G++){let Q=T.items[G];if(this.debug&&console.log("testing "+this.getTokenName(L)+" at "+Q),Q.state instanceof Z0)(I||L===M.EOF)&&(R===null&&(R=[]),R.push(Q),this.debug_add&&console.log("added "+Q+" to skippedStopStates"));else for(let U=0;U<Q.state.transitions.length;U++){let O=Q.state.transitions[U],J=this.getReachableTarget(O,L);if(J!==null){let D=new T0({state:J},Q);_.add(D,this.mergeCache),this.debug_add&&console.log("added "+D+" to intermediate")}}}let $=null;if(R===null&&L!==M.EOF&&(_.items.length===1||this.getUniqueAlt(_)!==a.INVALID_ALT_NUMBER)&&($=_),$===null){$=new W0(I);let G=new z0,Q=L===M.EOF;for(let U=0;U<_.items.length;U++)this.closure(_.items[U],$,G,!1,I,Q)}if(L===M.EOF&&($=this.removeAllConfigsNotInRuleStopState($,$===_)),!(R===null||I&&Q0.hasConfigInRuleStopState($)))for(let G=0;G<R.length;G++)$.add(R[G],this.mergeCache);return this.trace_atn_sim&&console.log("computeReachSet "+T+" -> "+$),$.items.length===0?null:$}removeAllConfigsNotInRuleStopState(T,L){if(Q0.allConfigsInRuleStopStates(T))return T;let I=new W0(T.fullCtx);for(let _=0;_<T.items.length;_++){let R=T.items[_];if(R.state instanceof Z0)I.add(R,this.mergeCache);else if(L&&R.state.epsilonOnlyTransitions&&this.atn.nextTokens(R.state).contains(M.EPSILON)){let $=this.atn.ruleToStopState[R.state.ruleIndex];I.add(new T0({state:$},R),this.mergeCache)}}return I}computeStartState(T,L,I){let _=e2(this.atn,L),R=new W0(I);this.trace_atn_sim&&console.log("computeStartState from ATN state "+T+" initialContext="+_.toString(this.parser));for(let $=0;$<T.transitions.length;$++){let G=T.transitions[$].target,Q=new T0({state:G,alt:$+1,context:_},null),U=new z0;this.closure(Q,R,U,!0,I,!1)}return R}applyPrecedenceFilter(T){let L,I=[],_=new W0(T.fullCtx);for(let R=0;R<T.items.length;R++){if(L=T.items[R],L.alt!==1)continue;let $=L.semanticContext.evalPrecedence(this.parser,this._outerContext);$!==null&&(I[L.state.stateNumber]=L.context,$!==L.semanticContext?_.add(new T0({semanticContext:$},L),this.mergeCache):_.add(L,this.mergeCache))}for(let R=0;R<T.items.length;R++)if(L=T.items[R],L.alt!==1){if(!L.precedenceFilterSuppressed){let $=I[L.state.stateNumber]||null;if($!==null&&$.equals(L.context))continue}_.add(L,this.mergeCache)}return _}getReachableTarget(T,L){return T.matches(L,0,this.atn.maxTokenType)?T.target:null}getPredsForAmbigAlts(T,L,I){let _=[];for(let $=0;$<L.items.length;$++){let G=L.items[$];T.get(G.alt)&&(_[G.alt]=o.orContext(_[G.alt]||null,G.semanticContext))}let R=0;for(let $=1;$<I+1;$++){let G=_[$]||null;G===null?_[$]=o.NONE:G!==o.NONE&&(R+=1)}return R===0&&(_=null),this.debug&&console.log("getPredsForAmbigAlts result "+o0(_)),_}getPredicatePredictions(T,L){let I=[],_=!1;for(let R=1;R<L.length;R++){let $=L[R];T!==null&&T.get(R)&&I.push(new Q4($,R)),$!==o.NONE&&(_=!0)}return _?I:null}getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(T,L){let I=this.splitAccordingToSemanticValidity(T,L),_=I[0],R=I[1],$=this.getAltThatFinishedDecisionEntryRule(_);return $!==a.INVALID_ALT_NUMBER||R.items.length>0&&($=this.getAltThatFinishedDecisionEntryRule(R),$!==a.INVALID_ALT_NUMBER)?$:a.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(T){let L=[];for(let I=0;I<T.items.length;I++){let _=T.items[I];(_.reachesIntoOuterContext>0||_.state instanceof Z0&&_.context.hasEmptyPath())&&L.indexOf(_.alt)<0&&L.push(_.alt)}return L.length===0?a.INVALID_ALT_NUMBER:Math.min.apply(null,L)}splitAccordingToSemanticValidity(T,L){let I=new W0(T.fullCtx),_=new W0(T.fullCtx);for(let R=0;R<T.items.length;R++){let $=T.items[R];$.semanticContext!==o.NONE?$.semanticContext.evaluate(this.parser,L)?I.add($):_.add($):I.add($)}return[I,_]}evalSemanticContext(T,L,I){let _=new K0;for(let R=0;R<T.length;R++){let $=T[R];if($.pred===o.NONE){if(_.set($.alt),!I)break;continue}let G=$.pred.evaluate(this.parser,L);if((this.debug||this.dfa_debug)&&console.log("eval pred "+$+"="+G),G&&((this.debug||this.dfa_debug)&&console.log("PREDICT "+$.alt),_.set($.alt),!I))break}return _}closure(T,L,I,_,R,$){this.closureCheckingStopState(T,L,I,_,R,0,$)}closureCheckingStopState(T,L,I,_,R,$,G){if((this.trace_atn_sim||this.debug_closure)&&console.log("closure("+T.toString(this.parser,!0)+")"),T.state instanceof Z0){if(!T.context.isEmpty()){for(let Q=0;Q<T.context.length;Q++){if(T.context.getReturnState(Q)===A.EMPTY_RETURN_STATE){if(R){L.add(new T0({state:T.state,context:A.EMPTY},T),this.mergeCache);continue}this.debug&&console.log("FALLING off rule "+this.getRuleName(T.state.ruleIndex)),this.closure_(T,L,I,_,R,$,G);continue}let U=this.atn.states[T.context.getReturnState(Q)],O=T.context.getParent(Q),J={state:U,alt:T.alt,context:O,semanticContext:T.semanticContext},D=new T0(J,null);D.reachesIntoOuterContext=T.reachesIntoOuterContext,this.closureCheckingStopState(D,L,I,_,R,$-1,G)}return}if(R)return void L.add(T,this.mergeCache);this.debug&&console.log("FALLING off rule "+this.getRuleName(T.state.ruleIndex))}this.closure_(T,L,I,_,R,$,G)}closure_(T,L,I,_,R,$,G){let Q=T.state;Q.epsilonOnlyTransitions||L.add(T,this.mergeCache);for(let U=0;U<Q.transitions.length;U++){if(U===0&&this.canDropLoopEntryEdgeInLeftRecursiveRule(T))continue;let O=Q.transitions[U],J=_&&!(O instanceof T4),D=this.getEpsilonTarget(T,O,J,$===0,R,G);if(D!==null){let B=$;if(T.state instanceof Z0){if(this._dfa!==null&&this._dfa.precedenceDfa&&O.outermostPrecedenceReturn===this._dfa.atnStartState.ruleIndex&&(D.precedenceFilterSuppressed=!0),D.reachesIntoOuterContext+=1,I.getOrAdd(D)!==D)continue;L.dipsIntoOuterContext=!0,B-=1,this.debug&&console.log("dips into outer ctx: "+D)}else{if(!O.isEpsilon&&I.getOrAdd(D)!==D)continue;O instanceof r1&&B>=0&&(B+=1)}this.closureCheckingStopState(D,L,I,J,R,B,G)}}}canDropLoopEntryEdgeInLeftRecursiveRule(T){let L=T.state;if(L.stateType!==N.STAR_LOOP_ENTRY)return!1;if(L.stateType!==N.STAR_LOOP_ENTRY||!L.isPrecedenceDecision||T.context.isEmpty()||T.context.hasEmptyPath())return!1;let I=T.context.length;for(let $=0;$<I;$++)if(this.atn.states[T.context.getReturnState($)].ruleIndex!==L.ruleIndex)return!1;let _=L.transitions[0].target.endState.stateNumber,R=this.atn.states[_];for(let $=0;$<I;$++){let G=T.context.getReturnState($),Q=this.atn.states[G];if(Q.transitions.length!==1||!Q.transitions[0].isEpsilon)return!1;let U=Q.transitions[0].target;if(!(Q.stateType===N.BLOCK_END&&U===L||Q===R||U===R||U.stateType===N.BLOCK_END&&U.transitions.length===1&&U.transitions[0].isEpsilon&&U.transitions[0].target===L))return!1}return!0}getRuleName(T){return this.parser!==null&&T>=0?this.parser.ruleNames[T]:"<rule "+T+">"}getEpsilonTarget(T,L,I,_,R,$){switch(L.serializationType){case P.RULE:return this.ruleTransition(T,L);case P.PRECEDENCE:return this.precedenceTransition(T,L,I,_,R);case P.PREDICATE:return this.predTransition(T,L,I,_,R);case P.ACTION:return this.actionTransition(T,L);case P.EPSILON:return new T0({state:L.target},T);case P.ATOM:case P.RANGE:case P.SET:return $&&L.matches(M.EOF,0,1)?new T0({state:L.target},T):null;default:return null}}actionTransition(T,L){if(this.debug){let I=L.actionIndex===-1?65535:L.actionIndex;console.log("ACTION edge "+L.ruleIndex+":"+I)}return new T0({state:L.target},T)}precedenceTransition(T,L,I,_,R){this.debug&&(console.log("PRED (collectPredicates="+I+") "+L.precedence+">=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+o0(this.parser.getRuleInvocationStack())));let $=null;if(I&&_)if(R){let G=this._input.index;this._input.seek(this._startIndex);let Q=L.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(G),Q&&($=new T0({state:L.target},T))}else{let G=o.andContext(T.semanticContext,L.getPredicate());$=new T0({state:L.target,semanticContext:G},T)}else $=new T0({state:L.target},T);return this.debug&&console.log("config from pred transition="+$),$}predTransition(T,L,I,_,R){this.debug&&(console.log("PRED (collectPredicates="+I+") "+L.ruleIndex+":"+L.predIndex+", ctx dependent="+L.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+o0(this.parser.getRuleInvocationStack())));let $=null;if(I&&(L.isCtxDependent&&_||!L.isCtxDependent))if(R){let G=this._input.index;this._input.seek(this._startIndex);let Q=L.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(G),Q&&($=new T0({state:L.target},T))}else{let G=o.andContext(T.semanticContext,L.getPredicate());$=new T0({state:L.target,semanticContext:G},T)}else $=new T0({state:L.target},T);return this.debug&&console.log("config from pred transition="+$),$}ruleTransition(T,L){this.debug&&console.log("CALL rule "+this.getRuleName(L.target.ruleIndex)+", ctx="+T.context);let I=L.followState,_=D0.create(T.context,I.stateNumber);return new T0({state:L.target,context:_},T)}getConflictingAlts(T){let L=Q0.getConflictingAltSubsets(T);return Q0.getAlts(L)}getConflictingAltsOrUniqueAlt(T){let L=null;return T.uniqueAlt!==a.INVALID_ALT_NUMBER?(L=new K0,L.set(T.uniqueAlt)):L=T.conflictingAlts,L}getTokenName(T){if(T===M.EOF)return"EOF";if(this.parser!==null&&this.parser.literalNames!==null){if(!(T>=this.parser.literalNames.length&&T>=this.parser.symbolicNames.length))return(this.parser.literalNames[T]||this.parser.symbolicNames[T])+"<"+T+">";console.log(T+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+T}getLookaheadName(T){return this.getTokenName(T.LA(1))}dumpDeadEndConfigs(T){console.log("dead end configs: ");let L=T.getDeadEndConfigs();for(let I=0;I<L.length;I++){let _=L[I],R="no edges";if(_.state.transitions.length>0){let $=_.state.transitions[0];$ instanceof N6?R="Atom "+this.getTokenName($.label):$ instanceof u6&&(R=($ instanceof g6?"~":"")+"Set "+$.set)}console.error(_.toString(this.parser,!0)+":"+R)}}noViableAlt(T,L,I,_){return new t1(this.parser,T,T.get(_),T.LT(1),I,L)}getUniqueAlt(T){let L=a.INVALID_ALT_NUMBER;for(let I=0;I<T.items.length;I++){let _=T.items[I];if(L===a.INVALID_ALT_NUMBER)L=_.alt;else if(_.alt!==L)return a.INVALID_ALT_NUMBER}return L}addDFAEdge(T,L,I,_){if(this.debug&&console.log("EDGE "+L+" -> "+_+" upon "+this.getTokenName(I)),_===null)return null;if(_=this.addDFAState(T,_),L===null||I<-1||I>this.atn.maxTokenType)return _;if(L.edges===null&&(L.edges=[]),L.edges[I+1]=_,this.debug){let R=this.parser===null?null:this.parser.literalNames,$=this.parser===null?null:this.parser.symbolicNames;console.log(`DFA=
|
|
8
|
-
|
|
9
|
-
`))}}}return T.length===0?null:T}getEdgeLabel(T){return T===0?"EOF":this.literalNames!==null||this.symbolicNames!==null?this.literalNames[T-1]||this.symbolicNames[T-1]:String.fromCharCode(T-1)}getStateString(T){let L=(T.isAcceptState?":":"")+"s"+T.stateNumber+(T.requiresFullContext?"^":"");return T.isAcceptState?T.predicates!==null?L+"=>"+o0(T.predicates):L+"=>"+T.prediction.toString():L}}class O4 extends d6{constructor(T){super(T,null)}getEdgeLabel(T){return"'"+String.fromCharCode(T)+"'"}}class J4{constructor(T,L){if(L===void 0&&(L=0),this.atnStartState=T,this.decision=L,this._states=new z0,this.s0=null,this.precedenceDfa=!1,T instanceof L1&&T.isPrecedenceDecision){this.precedenceDfa=!0;let I=new i0(null,new W0);I.edges=[],I.isAcceptState=!1,I.requiresFullContext=!1,this.s0=I}}getPrecedenceStartState(T){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return T<0||T>=this.s0.edges.length?null:this.s0.edges[T]||null}setPrecedenceStartState(T,L){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";T<0||(this.s0.edges[T]=L)}setPrecedenceDfa(T){if(this.precedenceDfa!==T){if(this._states=new z0,T){let L=new i0(null,new W0);L.edges=[],L.isAcceptState=!1,L.requiresFullContext=!1,this.s0=L}else this.s0=null;this.precedenceDfa=T}}sortedStates(){return this._states.values().sort(function(T,L){return T.stateNumber-L.stateNumber})}toString(T,L){return T=T||null,L=L||null,this.s0===null?"":new d6(this,T,L).toString()}toLexerString(){return this.s0===null?"":new O4(this).toString()}get states(){return this._states}}var QL={DFA:J4,DFASerializer:d6,LexerDFASerializer:O4,PredPrediction:Q4},UL={PredictionContext:A},SL={Interval:x,IntervalSet:H0};class l6{visitTerminal(T){}visitErrorNode(T){}enterEveryRule(T){}exitEveryRule(T){}}class Z4{visit(T){return Array.isArray(T)?T.map(function(L){return L.accept(this)},this):T.accept(this)}visitChildren(T){return T.children?this.visit(T.children):null}visitTerminal(T){}visitErrorNode(T){}}class a1{walk(T,L){if(L instanceof n1||L.isErrorNode!==void 0&&L.isErrorNode())T.visitErrorNode(L);else if(L instanceof y0)T.visitTerminal(L);else{this.enterRule(T,L);for(let I=0;I<L.getChildCount();I++){let _=L.getChild(I);this.walk(T,_)}this.exitRule(T,L)}}enterRule(T,L){let I=L.ruleContext;T.enterEveryRule(I),I.enterRule(T)}exitRule(T,L){let I=L.ruleContext;I.exitRule(T),T.exitEveryRule(I)}}a1.DEFAULT=new a1;var OL={Trees:q3,RuleNode:j1,ErrorNode:n1,TerminalNode:y0,ParseTreeListener:l6,ParseTreeVisitor:Z4,ParseTreeWalker:a1};class W1 extends r0{constructor(T){super({message:"",recognizer:T,input:T.getInputStream(),ctx:T._ctx}),this.offendingToken=T.getCurrentToken()}}class o6 extends r0{constructor(T,L,I){super({message:JL(L,I||null),recognizer:T,input:T.getInputStream(),ctx:T._ctx});let _=T._interp.atn.states[T.state].transitions[0];_ instanceof L4?(this.ruleIndex=_.ruleIndex,this.predicateIndex=_.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=L,this.offendingToken=T.getCurrentToken()}}function JL(T,L){return L!==null?L:"failed predicate: {"+T+"}?"}class W4 extends P1{constructor(T){super(),T=T||!0,this.exactOnly=T}reportAmbiguity(T,L,I,_,R,$,G){if(this.exactOnly&&!R)return;let Q="reportAmbiguity d="+this.getDecisionDescription(T,L)+": ambigAlts="+this.getConflictingAlts($,G)+", input='"+T.getTokenStream().getText(new x(I,_))+"'";T.notifyErrorListeners(Q)}reportAttemptingFullContext(T,L,I,_,R,$){let G="reportAttemptingFullContext d="+this.getDecisionDescription(T,L)+", input='"+T.getTokenStream().getText(new x(I,_))+"'";T.notifyErrorListeners(G)}reportContextSensitivity(T,L,I,_,R,$){let G="reportContextSensitivity d="+this.getDecisionDescription(T,L)+", input='"+T.getTokenStream().getText(new x(I,_))+"'";T.notifyErrorListeners(G)}getDecisionDescription(T,L){let I=L.decision,_=L.atnStartState.ruleIndex,R=T.ruleNames;if(_<0||_>=R.length)return""+I;let $=R[_]||null;return $===null||$.length===0?""+I:`${I} (${$})`}getConflictingAlts(T,L){if(T!==null)return T;let I=new K0;for(let _=0;_<L.items.length;_++)I.set(L.items[_].alt);return`{${I.values().join(", ")}}`}}class D4 extends Error{constructor(){super(),Error.captureStackTrace(this,D4)}}class h3{reset(T){}recoverInline(T){}recover(T,L){}sync(T){}inErrorRecoveryMode(T){}reportError(T){}}class e1 extends h3{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(T){this.endErrorCondition(T)}beginErrorCondition(T){this.errorRecoveryMode=!0}inErrorRecoveryMode(T){return this.errorRecoveryMode}endErrorCondition(T){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(T){this.endErrorCondition(T)}reportError(T,L){this.inErrorRecoveryMode(T)||(this.beginErrorCondition(T),L instanceof t1?this.reportNoViableAlternative(T,L):L instanceof W1?this.reportInputMismatch(T,L):L instanceof o6?this.reportFailedPredicate(T,L):(console.log("unknown recognition error type: "+L.constructor.name),console.log(L.stack),T.notifyErrorListeners(L.getOffendingToken(),L.getMessage(),L)))}recover(T,L){this.lastErrorIndex===T.getInputStream().index&&this.lastErrorStates!==null&&this.lastErrorStates.indexOf(T.state)>=0&&T.consume(),this.lastErrorIndex=T._input.index,this.lastErrorStates===null&&(this.lastErrorStates=[]),this.lastErrorStates.push(T.state);let I=this.getErrorRecoverySet(T);this.consumeUntil(T,I)}sync(T){if(this.inErrorRecoveryMode(T))return;let L=T._interp.atn.states[T.state],I=T.getTokenStream().LA(1),_=T.atn.nextTokens(L);if(_.contains(I))return this.nextTokensContext=null,void(this.nextTokenState=N.INVALID_STATE_NUMBER);if(_.contains(M.EPSILON))this.nextTokensContext===null&&(this.nextTokensContext=T._ctx,this.nextTokensState=T._stateNumber);else switch(L.stateType){case N.BLOCK_START:case N.STAR_BLOCK_START:case N.PLUS_BLOCK_START:case N.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(T)!==null)return;throw new W1(T);case N.PLUS_LOOP_BACK:case N.STAR_LOOP_BACK:{this.reportUnwantedToken(T);let R=new H0;R.addSet(T.getExpectedTokens());let $=R.addSet(this.getErrorRecoverySet(T));this.consumeUntil(T,$)}}}reportNoViableAlternative(T,L){let I=T.getTokenStream(),_;_=I!==null?L.startToken.type===M.EOF?"<EOF>":I.getText(new x(L.startToken.tokenIndex,L.offendingToken.tokenIndex)):"<unknown input>";let R="no viable alternative at input "+this.escapeWSAndQuote(_);T.notifyErrorListeners(R,L.offendingToken,L)}reportInputMismatch(T,L){let I="mismatched input "+this.getTokenErrorDisplay(L.offendingToken)+" expecting "+L.getExpectedTokens().toString(T.literalNames,T.symbolicNames);T.notifyErrorListeners(I,L.offendingToken,L)}reportFailedPredicate(T,L){let I="rule "+T.ruleNames[T._ctx.ruleIndex]+" "+L.message;T.notifyErrorListeners(I,L.offendingToken,L)}reportUnwantedToken(T){if(this.inErrorRecoveryMode(T))return;this.beginErrorCondition(T);let L=T.getCurrentToken(),I="extraneous input "+this.getTokenErrorDisplay(L)+" expecting "+this.getExpectedTokens(T).toString(T.literalNames,T.symbolicNames);T.notifyErrorListeners(I,L,null)}reportMissingToken(T){if(this.inErrorRecoveryMode(T))return;this.beginErrorCondition(T);let L=T.getCurrentToken(),I="missing "+this.getExpectedTokens(T).toString(T.literalNames,T.symbolicNames)+" at "+this.getTokenErrorDisplay(L);T.notifyErrorListeners(I,L,null)}recoverInline(T){let L=this.singleTokenDeletion(T);if(L!==null)return T.consume(),L;if(this.singleTokenInsertion(T))return this.getMissingSymbol(T);throw new W1(T)}singleTokenInsertion(T){let L=T.getTokenStream().LA(1),I=T._interp.atn,_=I.states[T.state].transitions[0].target;return!!I.nextTokens(_,T._ctx).contains(L)&&(this.reportMissingToken(T),!0)}singleTokenDeletion(T){let L=T.getTokenStream().LA(2);if(this.getExpectedTokens(T).contains(L)){this.reportUnwantedToken(T),T.consume();let I=T.getCurrentToken();return this.reportMatch(T),I}return null}getMissingSymbol(T){let L=T.getCurrentToken(),I=this.getExpectedTokens(T).first(),_;_=I===M.EOF?"<missing EOF>":"<missing "+T.literalNames[I]+">";let R=L,$=T.getTokenStream().LT(-1);return R.type===M.EOF&&$!==null&&(R=$),T.getTokenFactory().create(R.source,I,_,M.DEFAULT_CHANNEL,-1,-1,R.line,R.column)}getExpectedTokens(T){return T.getExpectedTokens()}getTokenErrorDisplay(T){if(T===null)return"<no token>";let L=T.text;return L===null&&(L=T.type===M.EOF?"<EOF>":"<"+T.type+">"),this.escapeWSAndQuote(L)}escapeWSAndQuote(T){return"'"+(T=(T=(T=T.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(T){let L=T._interp.atn,I=T._ctx,_=new H0;for(;I!==null&&I.invokingState>=0;){let R=L.states[I.invokingState].transitions[0],$=L.nextTokens(R.followState);_.addSet($),I=I.parentCtx}return _.removeOne(M.EPSILON),_}consumeUntil(T,L){let I=T.getTokenStream().LA(1);for(;I!==M.EOF&&!L.contains(I);)T.consume(),I=T.getTokenStream().LA(1)}}class K4 extends e1{constructor(){super()}recover(T,L){let I=T._ctx;for(;I!==null;)I.exception=L,I=I.parentCtx;throw new D4(L)}recoverInline(T){this.recover(T,new W1(T))}sync(T){}}var ZL={RecognitionException:r0,NoViableAltException:t1,LexerNoViableAltException:m6,InputMismatchException:W1,FailedPredicateException:o6,DiagnosticErrorListener:W4,BailErrorStrategy:K4,DefaultErrorStrategy:e1,ErrorListener:P1};class I1{constructor(T,L){if(this.name="<empty>",this.strdata=T,this.decodeToUnicodeCodePoints=L||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let I=0;I<this.strdata.length;){let _=this.strdata.codePointAt(I);this.data.push(_),I+=_<=65535?1:2}else{this.data=Array(this.strdata.length);for(let I=0;I<this.strdata.length;I++)this.data[I]=this.strdata.charCodeAt(I)}this._size=this.data.length}reset(){this._index=0}consume(){if(this._index>=this._size)throw"cannot consume EOF";this._index+=1}LA(T){if(T===0)return 0;T<0&&(T+=1);let L=this._index+T-1;return L<0||L>=this._size?M.EOF:this.data[L]}LT(T){return this.LA(T)}mark(){return-1}release(T){}seek(T){T<=this._index?this._index=T:this._index=Math.min(T,this._size)}getText(T,L){if(L>=this._size&&(L=this._size-1),T>=this._size)return"";if(this.decodeToUnicodeCodePoints){let I="";for(let _=T;_<=L;_++)I+=String.fromCodePoint(this.data[_]);return I}return this.strdata.slice(T,L+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}class v6 extends I1{constructor(T,L){super(T,L)}}var K3=J1(763),Y3=typeof process<"u"&&process.versions!=null&&process.versions.node!=null;class r2 extends v6{static fromPath(T,L,I){if(!Y3)throw Error("FileStream is only available when running in Node!");K3.readFile(T,L,function(_,R){let $=null;R!==null&&($=new I1(R,!0)),I(_,$)})}constructor(T,L,I){if(!Y3)throw Error("FileStream is only available when running in Node!");super(K3.readFileSync(T,L||"utf-8"),I),this.fileName=T}}var w3={fromString:function(T){return new I1(T,!0)},fromBlob:function(T,L,I,_){let R=new window.FileReader;R.onload=function($){let G=new I1($.target.result,!0);I(G)},R.onerror=_,R.readAsText(T,L)},fromBuffer:function(T,L){return new I1(T.toString(L),!0)},fromPath:function(T,L,I){r2.fromPath(T,L,I)},fromPathSync:function(T,L){return new r2(T,L)}},WL={arrayToString:o0,stringToCharArray:function(T){let L=new Uint16Array(T.length);for(let I=0;I<T.length;I++)L[I]=T.charCodeAt(I);return L}};class A3{}class Y4 extends A3{constructor(T){super(),this.tokenSource=T,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(T){}reset(){this.seek(0)}seek(T){this.lazyInit(),this.index=this.adjustSeekIndex(T)}get size(){return this.tokens.length}get(T){return this.lazyInit(),this.tokens[T]}consume(){let T=!1;if(T=this.index>=0&&(this.fetchedEOF?this.index<this.tokens.length-1:this.index<this.tokens.length),!T&&this.LA(1)===M.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.adjustSeekIndex(this.index+1))}sync(T){let L=T-this.tokens.length+1;return!(L>0)||this.fetch(L)>=L}fetch(T){if(this.fetchedEOF)return 0;for(let L=0;L<T;L++){let I=this.tokenSource.nextToken();if(I.tokenIndex=this.tokens.length,this.tokens.push(I),I.type===M.EOF)return this.fetchedEOF=!0,L+1}return T}getTokens(T,L,I){if(I===void 0&&(I=null),T<0||L<0)return null;this.lazyInit();let _=[];L>=this.tokens.length&&(L=this.tokens.length-1);for(let R=T;R<L;R++){let $=this.tokens[R];if($.type===M.EOF)break;(I===null||I.contains($.type))&&_.push($)}return _}LA(T){return this.LT(T).type}LB(T){return this.index-T<0?null:this.tokens[this.index-T]}LT(T){if(this.lazyInit(),T===0)return null;if(T<0)return this.LB(-T);let L=this.index+T-1;return this.sync(L),L>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[L]}adjustSeekIndex(T){return T}lazyInit(){this.index===-1&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(T){this.tokenSource=T,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(T,L){if(this.sync(T),T>=this.tokens.length)return-1;let I=this.tokens[T];for(;I.channel!==L;){if(I.type===M.EOF)return-1;T+=1,this.sync(T),I=this.tokens[T]}return T}previousTokenOnChannel(T,L){for(;T>=0&&this.tokens[T].channel!==L;)T-=1;return T}getHiddenTokensToRight(T,L){if(L===void 0&&(L=-1),this.lazyInit(),T<0||T>=this.tokens.length)throw T+" not in 0.."+this.tokens.length-1;let I=this.nextTokenOnChannel(T+1,t.DEFAULT_TOKEN_CHANNEL),_=T+1,R=I===-1?this.tokens.length-1:I;return this.filterForChannel(_,R,L)}getHiddenTokensToLeft(T,L){if(L===void 0&&(L=-1),this.lazyInit(),T<0||T>=this.tokens.length)throw T+" not in 0.."+this.tokens.length-1;let I=this.previousTokenOnChannel(T-1,t.DEFAULT_TOKEN_CHANNEL);if(I===T-1)return null;let _=I+1,R=T-1;return this.filterForChannel(_,R,L)}filterForChannel(T,L,I){let _=[];for(let R=T;R<L+1;R++){let $=this.tokens[R];I===-1?$.channel!==t.DEFAULT_TOKEN_CHANNEL&&_.push($):$.channel===I&&_.push($)}return _.length===0?null:_}getSourceName(){return this.tokenSource.getSourceName()}getText(T){this.lazyInit(),this.fill(),T||(T=new x(0,this.tokens.length-1));let L=T.start;L instanceof M&&(L=L.tokenIndex);let I=T.stop;if(I instanceof M&&(I=I.tokenIndex),L===null||I===null||L<0||I<0)return"";I>=this.tokens.length&&(I=this.tokens.length-1);let _="";for(let R=L;R<I+1;R++){let $=this.tokens[R];if($.type===M.EOF)break;_+=$.text}return _}fill(){for(this.lazyInit();this.fetch(1000)===1000;);}}Object.defineProperty(Y4,"size",{get:function(){return this.tokens.length}});class X4 extends Y4{constructor(T,L){super(T),this.channel=L===void 0?M.DEFAULT_CHANNEL:L}adjustSeekIndex(T){return this.nextTokenOnChannel(T,this.channel)}LB(T){if(T===0||this.index-T<0)return null;let L=this.index,I=1;for(;I<=T;)L=this.previousTokenOnChannel(L-1,this.channel),I+=1;return L<0?null:this.tokens[L]}LT(T){if(this.lazyInit(),T===0)return null;if(T<0)return this.LB(-T);let L=this.index,I=1;for(;I<T;)this.sync(L+1)&&(L=this.nextTokenOnChannel(L+1,this.channel)),I+=1;return this.tokens[L]}getNumberOfOnChannelTokens(){let T=0;this.fill();for(let L=0;L<this.tokens.length;L++){let I=this.tokens[L];if(I.channel===this.channel&&(T+=1),I.type===M.EOF)break}return T}}class u3 extends l6{constructor(T){super(),this.parser=T}enterEveryRule(T){console.log("enter "+this.parser.ruleNames[T.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(T){console.log("consume "+T.symbol+" rule "+this.parser.ruleNames[this.parser._ctx.ruleIndex])}exitEveryRule(T){console.log("exit "+this.parser.ruleNames[T.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}}class i6 extends s1{constructor(T){super(),this._input=null,this._errHandler=new e1,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(T)}reset(){this._input!==null&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this._interp!==null&&this._interp.reset()}match(T){let L=this.getCurrentToken();return L.type===T?(this._errHandler.reportMatch(this),this.consume()):(L=this._errHandler.recoverInline(this),this.buildParseTrees&&L.tokenIndex===-1&&this._ctx.addErrorNode(L)),L}matchWildcard(){let T=this.getCurrentToken();return T.type>0?(this._errHandler.reportMatch(this),this.consume()):(T=this._errHandler.recoverInline(this),this.buildParseTrees&&T.tokenIndex===-1&&this._ctx.addErrorNode(T)),T}getParseListeners(){return this._parseListeners||[]}addParseListener(T){if(T===null)throw"listener";this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(T)}removeParseListener(T){if(this._parseListeners!==null){let L=this._parseListeners.indexOf(T);L>=0&&this._parseListeners.splice(L,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){let T=this._ctx;this._parseListeners.forEach(function(L){L.enterEveryRule(T),T.enterRule(L)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){let T=this._ctx;this._parseListeners.slice(0).reverse().forEach(function(L){T.exitRule(L),L.exitEveryRule(T)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(T){this._input.tokenSource._factory=T}getATNWithBypassAlts(){let T=this.getSerializedATN();if(T===null)throw"The current parser does not support an ATN with bypass alternatives.";let L=this.bypassAltsAtnCache[T];if(L===null){let I=new M1;I.generateRuleBypassTransitions=!0,L=new c6(I).deserialize(T),this.bypassAltsAtnCache[T]=L}return L}getInputStream(){return this.getTokenStream()}setInputStream(T){this.setTokenStream(T)}getTokenStream(){return this._input}setTokenStream(T){this._input=null,this.reset(),this._input=T}get syntaxErrorsCount(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(T,L,I){I=I||null,(L=L||null)===null&&(L=this.getCurrentToken()),this._syntaxErrors+=1;let{line:_,column:R}=L;this.getErrorListener().syntaxError(this,L,_,R,T,I)}consume(){let T=this.getCurrentToken();T.type!==M.EOF&&this.getInputStream().consume();let L=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||L){let I;I=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(T):this._ctx.addTokenNode(T),I.invokingState=this.state,L&&this._parseListeners.forEach(function(_){I instanceof n1||I.isErrorNode!==void 0&&I.isErrorNode()?_.visitErrorNode(I):I instanceof y0&&_.visitTerminal(I)})}return T}addContextToParseTree(){this._ctx.parentCtx!==null&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(T,L,I){this.state=L,this._ctx=T,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(T,L){T.setAltNumber(L),this.buildParseTrees&&this._ctx!==T&&this._ctx.parentCtx!==null&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(T)),this._ctx=T}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(T,L,I,_){this.state=L,this._precedenceStack.push(_),this._ctx=T,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(T,L,I){let _=this._ctx;_.parentCtx=T,_.invokingState=L,_.stop=this._input.LT(-1),this._ctx=T,this._ctx.start=_.start,this.buildParseTrees&&this._ctx.addChild(_),this.triggerEnterRuleEvent()}unrollRecursionContexts(T){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);let L=this._ctx,I=this.getParseListeners();if(I!==null&&I.length>0)for(;this._ctx!==T;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=T;L.parentCtx=T,this.buildParseTrees&&T!==null&&T.addChild(L)}getInvokingContext(T){let L=this._ctx;for(;L!==null;){if(L.ruleIndex===T)return L;L=L.parentCtx}return null}precpred(T,L){return L>=this._precedenceStack[this._precedenceStack.length-1]}inContext(T){return!1}isExpectedToken(T){let L=this._interp.atn,I=this._ctx,_=L.states[this.state],R=L.nextTokens(_);if(R.contains(T))return!0;if(!R.contains(M.EPSILON))return!1;for(;I!==null&&I.invokingState>=0&&R.contains(M.EPSILON);){let $=L.states[I.invokingState].transitions[0];if(R=L.nextTokens($.followState),R.contains(T))return!0;I=I.parentCtx}return!(!R.contains(M.EPSILON)||T!==M.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){let T=this._interp.atn,L=T.states[this.state];return T.nextTokens(L)}getRuleIndex(T){let L=this.getRuleIndexMap()[T];return L!==null?L:-1}getRuleInvocationStack(T){(T=T||null)===null&&(T=this._ctx);let L=[];for(;T!==null;){let I=T.ruleIndex;I<0?L.push("n/a"):L.push(this.ruleNames[I]),T=T.parentCtx}return L}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let T=!1;for(let L=0;L<this._interp.decisionToDFA.length;L++){let I=this._interp.decisionToDFA[L];I.states.length>0&&(T&&console.log(),this.printer.println("Decision "+I.decision+":"),this.printer.print(I.toString(this.literalNames,this.symbolicNames)),T=!0)}}getSourceName(){return this._input.getSourceName()}setTrace(T){T?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new u3(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}i6.bypassAltsAtnCache={};class B4 extends y0{constructor(T){super(),this.parentCtx=null,this.symbol=T}getChild(T){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return x.INVALID_INTERVAL;let T=this.symbol.tokenIndex;return new x(T,T)}getChildCount(){return 0}accept(T){return T.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===M.EOF?"<EOF>":this.symbol.text}}class s2 extends B4{constructor(T){super(T)}isErrorNode(){return!0}accept(T){return T.visitErrorNode(this)}}class r6 extends _1{constructor(T,L){super(T,L),this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(T){this.parentCtx=T.parentCtx,this.invokingState=T.invokingState,this.children=null,this.start=T.start,this.stop=T.stop,T.children&&(this.children=[],T.children.map(function(L){L instanceof s2&&(this.children.push(L),L.parentCtx=this)},this))}enterRule(T){}exitRule(T){}addChild(T){return this.children===null&&(this.children=[]),this.children.push(T),T}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(T){let L=new B4(T);return this.addChild(L),L.parentCtx=this,L}addErrorNode(T){let L=new s2(T);return this.addChild(L),L.parentCtx=this,L}getChild(T,L){if(L=L||null,this.children===null||T<0||T>=this.children.length)return null;if(L===null)return this.children[T];for(let I=0;I<this.children.length;I++){let _=this.children[I];if(_ instanceof L){if(T===0)return _;T-=1}}return null}getToken(T,L){if(this.children===null||L<0||L>=this.children.length)return null;for(let I=0;I<this.children.length;I++){let _=this.children[I];if(_ instanceof y0&&_.symbol.type===T){if(L===0)return _;L-=1}}return null}getTokens(T){if(this.children===null)return[];{let L=[];for(let I=0;I<this.children.length;I++){let _=this.children[I];_ instanceof y0&&_.symbol.type===T&&L.push(_)}return L}}getTypedRuleContext(T,L){return this.getChild(L,T)}getTypedRuleContexts(T){if(this.children===null)return[];{let L=[];for(let I=0;I<this.children.length;I++){let _=this.children[I];_ instanceof T&&L.push(_)}return L}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?x.INVALID_INTERVAL:new x(this.start.tokenIndex,this.stop.tokenIndex)}}_1.EMPTY=new r6;class l0{static DEFAULT_PROGRAM_NAME="default";constructor(T){this.tokens=T,this.programs=new Map}getTokenStream(){return this.tokens}insertAfter(T,L){let I,_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;I=typeof T=="number"?T:T.tokenIndex;let R=this.getProgram(_),$=new a2(this.tokens,I,R.length,L);R.push($)}insertBefore(T,L){let I,_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;I=typeof T=="number"?T:T.tokenIndex;let R=this.getProgram(_),$=new O1(this.tokens,I,R.length,L);R.push($)}replaceSingle(T,L){let I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;this.replace(T,T,L,I)}replace(T,L,I){let _=arguments.length>3&&arguments[3]!==void 0?arguments[3]:l0.DEFAULT_PROGRAM_NAME;if(typeof T!="number"&&(T=T.tokenIndex),typeof L!="number"&&(L=L.tokenIndex),T>L||T<0||L<0||L>=this.tokens.size)throw RangeError(`replace: range invalid: ${T}..${L}(size=${this.tokens.size})`);let R=this.getProgram(_),$=new l1(this.tokens,T,L,R.length,I);R.push($)}delete(T,L){let I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;L===void 0&&(L=T),this.replace(T,L,null,I)}getProgram(T){let L=this.programs.get(T);return L==null&&(L=this.initializeProgram(T)),L}initializeProgram(T){let L=[];return this.programs.set(T,L),L}getText(T){let L,I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l0.DEFAULT_PROGRAM_NAME;L=T instanceof x?T:new x(0,this.tokens.size-1),typeof T=="string"&&(I=T);let _=this.programs.get(I),R=L.start,$=L.stop;if($>this.tokens.size-1&&($=this.tokens.size-1),R<0&&(R=0),_==null||_.length===0)return this.tokens.getText(new x(R,$));let G=[],Q=this.reduceToSingleOperationPerIndex(_),U=R;for(;U<=$&&U<this.tokens.size;){let O=Q.get(U);Q.delete(U);let J=this.tokens.get(U);O==null?(J.type!==M.EOF&&G.push(String(J.text)),U++):U=O.execute(G)}if($===this.tokens.size-1)for(let O of Q.values())O.index>=this.tokens.size-1&&G.push(O.text.toString());return G.join("")}reduceToSingleOperationPerIndex(T){for(let I=0;I<T.length;I++){let _=T[I];if(_==null)continue;if(!(_ instanceof l1))continue;let R=_,$=this.getKindOfOps(T,O1,I);for(let Q of $)Q.index===R.index?(T[Q.instructionIndex]=void 0,R.text=Q.text.toString()+(R.text!=null?R.text.toString():"")):Q.index>R.index&&Q.index<=R.lastIndex&&(T[Q.instructionIndex]=void 0);let G=this.getKindOfOps(T,l1,I);for(let Q of G){if(Q.index>=R.index&&Q.lastIndex<=R.lastIndex){T[Q.instructionIndex]=void 0;continue}let U=Q.lastIndex<R.index||Q.index>R.lastIndex;if(Q.text!=null||R.text!=null||U){if(!U)throw Error(`replace op boundaries of ${R} overlap with previous ${Q}`)}else T[Q.instructionIndex]=void 0,R.index=Math.min(Q.index,R.index),R.lastIndex=Math.max(Q.lastIndex,R.lastIndex)}}for(let I=0;I<T.length;I++){let _=T[I];if(_==null)continue;if(!(_ instanceof O1))continue;let R=_,$=this.getKindOfOps(T,O1,I);for(let Q of $)Q.index===R.index&&(Q instanceof a2?(R.text=this.catOpText(Q.text,R.text),T[Q.instructionIndex]=void 0):Q instanceof O1&&(R.text=this.catOpText(R.text,Q.text),T[Q.instructionIndex]=void 0));let G=this.getKindOfOps(T,l1,I);for(let Q of G)if(R.index!==Q.index){if(R.index>=Q.index&&R.index<=Q.lastIndex)throw Error(`insert op ${R} within boundaries of previous ${Q}`)}else Q.text=this.catOpText(R.text,Q.text),T[I]=void 0}let L=new Map;for(let I of T)if(I!=null){if(L.get(I.index)!=null)throw Error("should only be one op per index");L.set(I.index,I)}return L}catOpText(T,L){let I="",_="";return T!=null&&(I=T.toString()),L!=null&&(_=L.toString()),I+_}getKindOfOps(T,L,I){return T.slice(0,I).filter((_)=>_&&_ instanceof L)}}class z4{constructor(T,L,I,_){this.tokens=T,this.instructionIndex=I,this.index=L,this.text=_===void 0?"":_}toString(){let T=this.constructor.name,L=T.indexOf("$");return T=T.substring(L+1,T.length),"<"+T+"@"+this.tokens.get(this.index)+':"'+this.text+'">'}}class O1 extends z4{constructor(T,L,I,_){super(T,L,I,_)}execute(T){return this.text&&T.push(this.text.toString()),this.tokens.get(this.index).type!==M.EOF&&T.push(String(this.tokens.get(this.index).text)),this.index+1}}class a2 extends O1{constructor(T,L,I,_){super(T,L+1,I,_)}}class l1 extends z4{constructor(T,L,I,_,R){super(T,L,_,R),this.lastIndex=I}execute(T){return this.text&&T.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"<DeleteOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+">":"<ReplaceOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+':"'+this.text+'">'}}var DL={atn:GL,dfa:QL,context:UL,misc:SL,tree:OL,error:ZL,Token:M,CommonToken:v0,CharStreams:w3,CharStream:I1,InputStream:v6,CommonTokenStream:X4,Lexer:t,Parser:i6,ParserRuleContext:r6,Interval:x,IntervalSet:H0,LL1Analyzer:D1,Utils:WL,TokenStreamRewriter:l0},U0=c.MG,s6=c.fr,o_=c.sR,v_=c.Zo,H4=c.iH,i_=c.rt,g3=c.jB,a6=c.M8,r_=c.$t,s_=c.aq,f3=c.pG,p3=c.eP,a_=c.KU,n_=c.zW,t_=c.IX,e_=c.mY,TR=c.a7,x3=c.JG,c3=c.ay,x0=c.X2,LR=c.WU,m3=c.Uw,IR=c.gw,d3=c.iX,l3=c.re,F=c.Pg,n6=c.tD,_R=c.R$,q=c.Dj,RR=c.m7,$R=c.NZ,GR=c.xo,L0=c.ou,QR=c.qC,UR=c.mD,SR=c.Ay;class t6 extends m3{visitStart;visitStart_script;visitStart_expression;visitStart_comments;visitStatements;visitStatement;visitCompound_statement;visitSimple_statements;visitTrailing_structure_statements;visitSimple_statement;visitCompound_assignment;visitCompound_variable_initialization;visitCompound_name_initialization;visitCompound_tuple_initialization;visitCompound_reassignment;visitCompound_augassignment;visitFunction_declaration;visitParameter_list;visitParameter_definition;visitMethod_declaration;visitMethod_parameter_list;visitMethod_parameter_definition;visitType_declaration;visitField_definitions;visitField_definition;visitEnum_declaration;visitEnum_definitions;visitEnum_definition;visitStructure;visitStructure_statement;visitStructure_expression;visitIf_structure;visitElif_structure;visitIf_tail;visitElse_block;visitFor_structure;visitFor_structure_to;visitFor_structure_in;visitFor_iterator;visitWhile_structure;visitSwitch_structure;visitSwitch_cases;visitSwitch_pattern_case;visitSwitch_default_case;visitLocal_block;visitIndented_local_block;visitInline_local_block;visitSimple_assignment;visitSimple_variable_initialization;visitSimple_name_initialization;visitSimple_tuple_initialization;visitSimple_reassignment;visitSimple_augassignment;visitExpression;visitExpression_statement;visitConditional_expression;visitDisjunction_expression;visitConjunction_expression;visitBitwise_or_expression;visitBitwise_xor_expression;visitBitwise_and_expression;visitEquality_expression;visitEquality_trailing_pair;visitEqual_trailing_pair;visitNot_equal_trailing_pair;visitInequality_expression;visitInequality_trailing_pair;visitLess_than_equal_trailing_pair;visitLess_than_trailing_pair;visitGreater_than_equal_trailing_pair;visitGreater_than_trailing_pair;visitShift_expression;visitShift_op;visitAdditive_expression;visitAdditive_op;visitMultiplicative_expression;visitMultiplicative_op;visitUnary_expression;visitUnary_op;visitPrimary_expression_attribute;visitPrimary_expression_call;visitPrimary_expression_fallback;visitPrimary_expression_subscript;visitArgument_list;visitArgument_definition;visitSubscript_slice;visitAtomic_expression;visitLiteral_expression;visitLiteral_number;visitLiteral_string;visitLiteral_bool;visitLiteral_color;visitGrouped_expression;visitTuple_expression;visitImport_statement;visitBreak_statement;visitContinue_statement;visitVariable_declaration;visitTuple_declaration;visitDeclaration_mode;visitAssignment_target;visitAssignment_target_attribute;visitAssignment_target_subscript;visitAssignment_target_name;visitAssignment_target_group;visitAugassign_op;visitType_specification;visitType_qualifier;visitAttributed_type_name;visitTemplate_spec_suffix;visitArray_type_suffix;visitType_argument_list;visitName;visitName_load;visitName_store;visitComments;visitComment}var b0={kind:"Load"},T6={kind:"Store"},o3={kind:"Var"},V4={kind:"VarIp"},F4={kind:"Add"},v3={kind:"Sub"},q4={kind:"Mult"},i3={kind:"Div"},r3={kind:"Mod"},k4={kind:"UAdd"},s3={kind:"USub"},a3={kind:"Not"},n3={kind:"Invert"},t3={kind:"Eq"},e3={kind:"NotEq"},T8={kind:"Lt"},L8={kind:"LtE"},I8={kind:"Gt"},_8={kind:"GtE"},R8={kind:"And"},$8={kind:"Or"};function G8(T=[],L=[]){return{kind:"Script",body:T,annotations:L}}function Q8(T){return{kind:"Expression",body:T}}function L6(T){return{kind:"Expr",value:T}}function U8(T,L=[]){return{kind:"Call",func:T,args:L}}function M4(T,L=b0){return{kind:"Name",id:T,ctx:L}}function S8(T,L=null){return{kind:"Constant",value:T,kind_lit:L}}function O8(T,L=null){return{kind:"Arg",value:T,name:L}}function E4(T,L,I=b0){return{kind:"Attribute",value:T,attr:L,ctx:I}}function j4(T,L=null,I=b0){return{kind:"Subscript",value:T,slice:L,ctx:I}}function C4(T,L,I){return{kind:"BinOp",left:T,op:L,right:I}}function J8(T,L){return{kind:"UnaryOp",op:T,operand:L}}function N1(T,L,I=null,_=null,R=null,$=[]){return{kind:"Assign",target:T,value:L,type:I,mode:_,export:R,annotations:$}}function P4(T,L){return{kind:"ReAssign",target:T,value:L}}function N4(T,L=[],I=[],_=null,R=null,$=[]){return{kind:"FunctionDef",name:T,args:L,body:I,method:_,export:R,annotations:$}}function Z8(T,L=[],I=null,_=[]){return{kind:"TypeDef",name:T,body:L,export:I,annotations:_}}function W8(T,L=[],I=null,_=[]){return{kind:"EnumDef",name:T,body:L,export:I,annotations:_}}function y4(T,L=null,I=null){return{kind:"Param",name:T,default:L,type:I}}function b4(T,L,I){return{kind:"Compare",left:T,ops:L,comparators:I}}function h4(T,L=[],I=[]){return{kind:"If",test:T,body:L,orelse:I}}function e6(T,L=T6){return{kind:"Tuple",elts:T,ctx:L}}function D8(T,L,I){return{kind:"Conditional",test:T,body:L,orelse:I}}function K8(T,L,I,_,R=null){return{kind:"ForTo",target:T,start:L,end:I,body:_,step:R}}function Y8(T,L,I){return{kind:"ForIn",target:T,iter:L,body:I}}function X8(T,L=[]){return{kind:"While",test:T,body:L}}function B8(T=[],L=null){return{kind:"Switch",cases:T,subject:L}}function w4(T=[],L=null){return{kind:"Case",body:T,pattern:L}}function A4(T,L=[]){return{kind:"BoolOp",op:T,values:L}}function z8(){return{kind:"Break"}}function H8(){return{kind:"Continue"}}function V8(T,L,I,_=null){return{kind:"Import",namespace:T,name:L,version:I,alias:_}}function h(T,L){let I=L.start,_=L.stop??L.start;if(I)T.lineno=I.line,T.col_offset=I.column;if(_){T.end_lineno=_.line;let R=_.text??"";T.end_col_offset=_.column+R.length}}function KL(T){let L=T.replaceAll("_","");if(/^0[xX]/.test(L))return Number.parseInt(L,16);if(/^0[bB]/.test(L))return Number.parseInt(L.slice(2),2);if(/^0[oO]/.test(L))return Number.parseInt(L.slice(2),8);return Number(L)}function YL(T){let L="";for(let I=0;I<T.length;I++){let _=T[I];if(_!=="\\"||I+1>=T.length){L+=_;continue}let R=T[++I];switch(R){case"n":L+=`
|
|
10
|
-
`;break;case"r":L+="\r";break;case"t":L+="\t";break;case"\\":case"'":case'"':L+=R;break;default:L+=R;break}}return L}function XL(T){if(T.startsWith('"""')&&T.endsWith('"""')||T.startsWith("'''")&&T.endsWith("'''"))return T.slice(3,-3);if(T.length>=2){let L=T[0];if((L==='"'||L==="'")&&T.endsWith(L))return YL(T.slice(1,-1))}return T}function s0(T){while(Array.isArray(T)&&T.length===1)T=T[0];if(Array.isArray(T))return T.map(s0);return T}function h0(T){if(T==null||typeof T!=="object")return!1;if(!("symbol"in T))return!1;return T.symbol!=null}function v(T){return T!=null&&typeof T==="object"&&"ruleIndex"in T&&typeof T.ruleIndex==="number"}function F8(T){if(T.kind==="Name"||T.kind==="Attribute"||T.kind==="Subscript")T.ctx=T6;return T}class u4 extends t6{visitChildren(T){let L=T.children??[],I=[];for(let _ of L){if(!v(_))continue;let R=_.accept;if(typeof R!=="function")continue;let $=s0(R.call(_,this));if($!==void 0&&$!==null)I.push($)}if(I.length===0)return;if(I.length===1)return I[0];return I}visitStart_script=(T)=>{let L=T.statements(),I=L?this.visit(L):[];return G8(I)};visitStart_expression=(T)=>{return Q8(this.visit(T.expression()))};visitStatements=(T)=>{let L=[];for(let I of T.statement_list()){let _=s0(this.visit(I));if(Array.isArray(_))L.push(..._);else if(_)L.push(_)}return L};visitStatement=(T)=>{let L=T.compound_statement(),I=T.simple_statements(),_=T.trailing_structure_statements();if(L)return[this.visit(L)];if(I)return this.visit(I);if(_)return this.visit(_);return[]};visitSimple_statements=(T)=>{return T.simple_statement_list().map((L)=>this.visit(L))};visitExpression_statement=(T)=>{let L=L6(this.visit(T.expression()));return h(L,T),L};visitConditional_expression=(T)=>{let L=this.visit(T.disjunction_expression());if(h0(T.QUESTION())){let I=this.visit(T.expression(0)),_=this.visit(T.expression(1)),R=D8(L,I,_);return h(R,T),R}return L};visitDisjunction_expression=(T)=>{let L=T.conjunction_expression_list()??[];if(L.length>1){let I=L.map((R)=>this.visit(R)),_=A4($8,I);return h(_,T),_}return this.visit(L[0])};visitConjunction_expression=(T)=>{let L=T.bitwise_or_expression_list()??[];if(L.length>1){let I=L.map((R)=>this.visit(R)),_=A4(R8,I);return h(_,T),_}return this.visit(L[0])};visitAdditive_expression=(T)=>{if(T.additive_op()){let L=C4(this.visit(T.additive_expression()),this.visit(T.additive_op()),this.visit(T.multiplicative_expression()));return h(L,T),L}return this.visit(T.multiplicative_expression())};visitAdditive_op=(T)=>{if(T.PLUS())return F4;if(T.MINUS())return v3;return F4};visitMultiplicative_expression=(T)=>{if(T.multiplicative_op()){let L=C4(this.visit(T.multiplicative_expression()),this.visit(T.multiplicative_op()),this.visit(T.unary_expression()));return h(L,T),L}return this.visit(T.unary_expression())};visitMultiplicative_op=(T)=>{if(T.STAR())return q4;if(T.SLASH())return i3;if(T.PERCENT())return r3;return q4};visitUnary_expression=(T)=>{if(T.unary_op()){let L=J8(this.visit(T.unary_op()),this.visit(T.unary_expression()));return h(L,T),L}return this.visit(T.primary_expression())};visitUnary_op=(T)=>{if(T.NOT())return a3;if(T.PLUS())return k4;if(T.MINUS())return s3;if(T.TILDE())return n3;return k4};visitPrimary_expression_call=(T)=>{let L=this.visit(T.primary_expression()),I=T.argument_list(),_=v(I)?BL(this.visit(I)):[],R=U8(L,_);return h(R,T),R};visitPrimary_expression_attribute=(T)=>{let L=this.visit(T.primary_expression()),I=this.visit(T.name_load()),_=E4(L,I.id,b0);return h(_,T),_};visitPrimary_expression_subscript=(T)=>{let L=this.visit(T.primary_expression()),I=this.visit(T.subscript_slice()),_=j4(L,I,b0);return h(_,T),_};visitArgument_list=(T)=>{return T.argument_definition_list().map((L)=>this.visit(L))};visitArgument_definition=(T)=>{let L=T.name_store(),I=null;if(v(L)&&h0(T.EQUAL())){let R=this.visit(L);if(typeof R==="string")I=R;else if(HL(R))I=R.id;else{let $=L.getText();I=$.length>0?$:null}}let _=O8(this.visit(T.expression()),I);return h(_,T),_};visitSubscript_slice=(T)=>{let L=T.expression_list().map((_)=>this.visit(_));if(L.length<=1)return L[0];let I=e6(L,b0);return h(I,T),I};visitLiteral_expression=(T)=>{let L=T.getChild(0),I=this.visit(L),_=S8(I);if(h(_,T),v(T.literal_color()))_.kind_lit="#";return _};visitLiteral_number=(T)=>{return KL(T.getText())};visitLiteral_string=(T)=>{return XL(T.getText())};visitLiteral_bool=(T)=>{if(T.TRUE())return!0;if(T.FALSE())return!1;return!1};visitLiteral_color=(T)=>{return T.getText()};visitName=(T)=>{return T.getText()};visitName_load=(T)=>{let L=M4(T.name().getText(),b0);return h(L,T),L};visitName_store=(T)=>{let L=M4(T.name().getText(),T6);return h(L,T),L};visitGrouped_expression=(T)=>{return this.visit(T.expression())};visitTuple_expression=(T)=>{let L=(T.expression_list()??[]).map((_)=>this.visit(_)),I=e6(L,b0);return h(I,T),I};visitType_specification=(T)=>{let L=this.visit(T.attributed_type_name());if(v(T.array_type_suffix())){let I=j4(L,null,b0);h(I,T),I.lineno=L.lineno,I.col_offset=L.col_offset,L=I}return L};visitAttributed_type_name=(T)=>{let L=(T.name_load_list()??[]).map((_)=>this.visit(_));if(L.length===0)return;let I=L[0];for(let _=1;_<L.length;_++){let R=L[_],$=E4(I,R.id,b0);$.lineno=I.lineno,$.col_offset=I.col_offset,$.end_lineno=R.end_lineno??null,$.end_col_offset=R.end_col_offset??null,I=$}return I};visitSimple_name_initialization=(T)=>{let L=this.visit(T.variable_declaration());if(L.value=this.visit(T.expression()),h0(T.EXPORT()))L.export=1;return h(L,T),L};visitCompound_name_initialization=(T)=>{let L=this.visit(T.variable_declaration()),I=T.structure_expression();if(v(I))L.value=this.visit(I);if(h0(T.EXPORT()))L.export=1;return h(L,T),L};visitCompound_tuple_initialization=(T)=>{let L=this.visit(T.tuple_declaration()),I=this.visit(T.structure_expression()),_=N1(L,I);return h(_,T),_};visitCompound_reassignment=(T)=>{let L=F8(this.visit(T.primary_expression())),I=this.visit(T.structure_expression()),_=P4(L,I);return h(_,T),_};visitStructure_expression=(T)=>{return this.visit(T.structure())};visitTrailing_structure_statements=(T)=>{let L=[];for(let $ of T.simple_statement_list()??[]){let G=s0(this.visit($));if(Array.isArray(G))L.push(...G);else if(G)L.push(G)}let I=this.visit(T.structure()),_=L6(I),R=T.structure();if(v(R))h(_,R);else h(_,T);return L.push(_),L};visitSimple_tuple_initialization=(T)=>{let L=this.visit(T.tuple_declaration()),I=this.visit(T.expression()),_=N1(L,I);return h(_,T),_};visitSimple_reassignment=(T)=>{let L=F8(this.visit(T.primary_expression())),I=this.visit(T.expression()),_=P4(L,I);return h(_,T),_};visitVariable_declaration=(T)=>{let L=this.visit(T.name_store()),I=T.type_specification(),_=T.declaration_mode(),R=v(I)?this.visit(I)??null:null,$=v(_)?this.visit(_)??null:null,G=N1(L,null,R,$);return h(G,T),G};visitTuple_declaration=(T)=>{let L=T.name_store_list().map((_)=>this.visit(_)),I=e6(L,T6);return h(I,T),I};visitDeclaration_mode=(T)=>{if(h0(T.VARIP()))return V4;if(h0(T.VAR()))return o3;return};visitFunction_declaration=(T)=>{let L=this.visit(T.name()),I=T.parameter_list(),_=v(I)?q8(this.visit(I)):[],R=V0(this.visit(T.local_block())),$=h0(T.EXPORT())?1:0,G=N4(L,_,R,0,$);return h(G,T),G};visitParameter_list=(T)=>{return T.parameter_definition_list().map((L)=>this.visit(L))};visitParameter_definition=(T)=>{let L=this.visit(T.name_store()),I=T.expression(),_=T.type_specification(),R=v(I)?this.visit(I)??null:null,$=v(_)?this.visit(_)??null:null,G=y4(L.id,R,$);return h(G,T),G};visitMethod_declaration=(T)=>{let L=this.visit(T.name()),I=T.method_parameter_list(),_=v(I)?q8(this.visit(I)):[],R=V0(this.visit(T.local_block())),$=h0(T.EXPORT())?1:0,G=N4(L,_,R,1,$);return h(G,T),G};visitMethod_parameter_list=(T)=>{return T.method_parameter_definition_list().map((L)=>this.visit(L))};visitMethod_parameter_definition=(T)=>{let L=T.type_specification(),I=T.name_store();if(v(L)&&v(I)){let _=this.visit(L)??null,R=this.visit(I),$=y4(R.id,null,_);return h($,T),$}return this.visit(T.parameter_definition())};visitType_declaration=(T)=>{let L=this.visit(T.name()),I=V0(this.visit(T.field_definitions())),_=h0(T.EXPORT())?1:0,R=Z8(L,I,_);return h(R,T),R};visitEnum_declaration=(T)=>{let L=this.visit(T.name()),I=V0(this.visit(T.enum_definitions())),_=h0(T.EXPORT())?1:0,R=W8(L,I,_);return h(R,T),R};visitField_definitions=(T)=>{return T.field_definition_list().map((L)=>this.visit(L))};visitField_definition=(T)=>{let L=this.visit(T.name_store()),I=T.expression(),_=T.type_specification(),R=v(I)?this.visit(I)??null:null,$=v(_)?this.visit(_)??null:null,G=h0(T.VARIP())?V4:null,Q=N1(L,R,$,G);return h(Q,T),Q};visitEnum_definitions=(T)=>{return T.enum_definition_list().map((L)=>this.visit(L))};visitEnum_definition=(T)=>{let L=this.visit(T.name_store()),I=T.expression(),_=v(I)?this.visit(I)??null:null,R=N1(L,_);return h(R,T),R};visitStructure_statement=(T)=>{let L=L6(this.visit(T.structure()));return h(L,T),L};visitIf_structure=(T)=>{let L=this.visit(T.expression()),I=V0(this.visit(T.local_block())),_=T.if_tail(),R=v(_)?V0(this.visit(_)):[],$=h4(L,I,R);return h($,T),$};visitFor_structure=(T)=>{let L=T.for_structure_to();if(v(L))return this.visit(L);let I=T.for_structure_in();if(v(I))return this.visit(I);return this.visitChildren(T)};visitFor_iterator=(T)=>{let L=T.tuple_declaration();if(v(L))return this.visit(L);return this.visit(T.name_store())};visitFor_structure_to=(T)=>{let L=this.visit(T.for_iterator()),I=this.visit(T.expression(0)),_=this.visit(T.expression(1)),R=T.expression(2),$=v(R)?this.visit(R)??null:null,G=V0(this.visit(T.local_block())),Q=K8(L,I,_,G,$);return h(Q,T),Q};visitFor_structure_in=(T)=>{let L=this.visit(T.for_iterator()),I=this.visit(T.expression()),_=V0(this.visit(T.local_block())),R=Y8(L,I,_);return h(R,T),R};visitWhile_structure=(T)=>{let L=this.visit(T.expression()),I=V0(this.visit(T.local_block())),_=X8(L,I);return h(_,T),_};visitSwitch_structure=(T)=>{let L=zL(this.visit(T.switch_cases())),I=T.expression(),_=v(I)?this.visit(I)??null:null,R=B8(L,_);return h(R,T),R};visitSwitch_cases=(T)=>{let L=(T.switch_pattern_case_list()??[]).map((_)=>this.visit(_)),I=T.switch_default_case();if(v(I))L.push(this.visit(I));return L};visitSwitch_pattern_case=(T)=>{let L=V0(this.visit(T.local_block())),I=this.visit(T.expression()),_=w4(L,I);return h(_,T),_};visitSwitch_default_case=(T)=>{let L=V0(this.visit(T.local_block())),I=w4(L,null);return h(I,T),I};visitElif_structure=(T)=>{let L=this.visit(T.expression()),I=V0(this.visit(T.local_block())),_=T.if_tail(),R=v(_)?V0(this.visit(_)):[],$=h4(L,I,R);h($,T);let G=L6($);return h(G,T),[G]};visitIf_tail=(T)=>{let L=T.elif_structure();if(v(L))return this.visit(L);let I=T.else_block();if(v(I))return this.visit(I);return[]};visitElse_block=(T)=>{return this.visit(T.local_block())};visitLocal_block=(T)=>{let L=T.indented_local_block();if(v(L))return this.visit(L);let I=T.inline_local_block();if(v(I))return this.visit(I);return[]};visitIndented_local_block=(T)=>{return this.visit(T.statements())};visitInline_local_block=(T)=>{return V0(this.visit(T.statement()))};visitEquality_expression=(T)=>{let L=this.visit(T.inequality_expression()),I=T.equality_trailing_pair_list()??[];if(I.length===0)return L;let _=[],R=[];for(let G of I){let Q=this.visit(G);_.push(Q[0]),R.push(Q[1])}let $=b4(L,_,R);return h($,T),$};visitEqual_trailing_pair=(T)=>{return[t3,this.visit(T.inequality_expression())]};visitNot_equal_trailing_pair=(T)=>{return[e3,this.visit(T.inequality_expression())]};visitInequality_expression=(T)=>{let L=this.visit(T.shift_expression()),I=T.inequality_trailing_pair_list()??[];if(I.length===0)return L;let _=[],R=[];for(let G of I){let Q=s0(this.visit(G));_.push(Q[0]),R.push(Q[1])}let $=b4(L,_,R);return h($,T),$};visitLess_than_equal_trailing_pair=(T)=>{return[L8,this.visit(T.shift_expression())]};visitLess_than_trailing_pair=(T)=>{return[T8,this.visit(T.shift_expression())]};visitGreater_than_equal_trailing_pair=(T)=>{return[_8,this.visit(T.shift_expression())]};visitGreater_than_trailing_pair=(T)=>{return[I8,this.visit(T.shift_expression())]};visitBreak_statement=(T)=>{let L=z8();return h(L,T),L};visitContinue_statement=(T)=>{let L=H8();return h(L,T),L};visitImport_statement=(T)=>{let L=String(this.visit(T.name(0))??""),I=String(this.visit(T.name(1))??""),_=this.visit(T.literal_number()),R=typeof _==="number"&&Number.isFinite(_)?Math.trunc(_):1,$=T.AS()?T.name(2):void 0,G=$?String(this.visit($)??""):null,Q=V8(L,I,R,G||null);return h(Q,T),Q}}function V0(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function q8(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function BL(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function zL(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function HL(T){return T!=null&&typeof T==="object"&&T.kind==="Name"&&typeof T.id==="string"}function T2(T,L){if(T==null)return"None";if(typeof T==="boolean")return T?"True":"False";if(typeof T==="string")return JSON.stringify(T);if(typeof T==="number")return String(T);if(Array.isArray(T))return`[${T.map((I)=>T2(I,L)).join(", ")}]`;if(typeof T==="object"&&T!==null&&"kind"in T)return g4(T,{annotate_fields:L});return String(T)}var VL=new Set(["kind","lineno","col_offset","end_lineno","end_col_offset","kind_lit"]);function g4(T,L={}){let I=L.annotate_fields!==!1,_=T,R=[];for(let[$,G]of Object.entries(_)){if(VL.has($))continue;if($==="annotations"&&Array.isArray(G)&&G.length===0)continue;if(G===void 0)continue;let Q=T2(G,I);R.push(I?`${$}=${Q}`:Q)}if(T.kind==="Constant"&&_.kind_lit)R.push(I?`kind=${T2(_.kind_lit,I)}`:T2(_.kind_lit,I));return`${T.kind}(${R.join(", ")})`}var k8={Add:"+",Sub:"-",Mult:"*",Div:"/",Mod:"%"},M8={UAdd:"+",USub:"-",Not:"not ",Invert:"~"},FL={Eq:"==",NotEq:"!=",Lt:"<",LtE:"<=",Gt:">",GtE:">="},qL={And:"and",Or:"or"};function kL(T){if(T.includes(`
|
|
11
|
-
`)||T.includes("\r")){if(!T.includes('"""'))return`"""${T}"""`;if(!T.includes("'''"))return`'''${T}'''`}return JSON.stringify(T)}function f(T){switch(T.kind){case"Name":return T.id;case"Constant":return f8(T);case"Call":return x8(T);case"Attribute":return`${f(T.value)}.${T.attr}`;case"Subscript":return`${f(T.value)}[${P8(T.slice)}]`;case"BinOp":return`${f(T.left)} ${k8[T.op.kind]??"?"} ${f(T.right)}`;case"UnaryOp":return`${M8[T.op.kind]??""}${f(T.operand)}`;case"Compare":return E8(T);case"If":return j8(T);case"Tuple":return C8(T);case"Conditional":return N8(T);case"ForTo":return b8(T);case"ForIn":return h8(T);case"While":return w8(T);case"Switch":return u8(T);case"BoolOp":return g8(T)}}function E8(T){let L=f(T.left);for(let I=0;I<T.ops.length;I++)L+=` ${FL[T.ops[I].kind]??"??"} ${f(T.comparators[I])}`;return L}function j8(T){let L=T.body.map(Y1).join("; ");if(T.orelse.length===0)return`if ${f(T.test)}
|
|
12
|
-
|
|
13
|
-
${L}
|
|
1
|
+
var{defineProperty:x9,getOwnPropertyNames:eY,getOwnPropertyDescriptor:UT}=Object,QT=Object.prototype.hasOwnProperty;function ZT(U){return this[U]}var L1=(U)=>{var Q=(ZX??=new WeakMap).get(U),Z;if(Q)return Q;if(Q=x9({},"__esModule",{value:!0}),U&&typeof U==="object"||typeof U==="function"){for(var X of eY(U))if(!QT.call(Q,X))x9(Q,X,{get:ZT.bind(U,X),enumerable:!(Z=UT(U,X))||Z.enumerable})}return ZX.set(U,Q),Q},ZX,XT=(U,Q)=>()=>(Q||U((Q={exports:{}}).exports,Q),Q.exports);var JT=(U)=>U;function GT(U,Q){this[U]=JT.bind(null,Q)}var H5=(U,Q)=>{for(var Z in Q)x9(U,Z,{get:Q[Z],enumerable:!0,configurable:!0,set:GT.bind(Q,Z)})};var F5=(U,Q)=>()=>(U&&(Q=U(U=0)),Q);var IT=((U)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(U,{get:(Q,Z)=>(typeof require<"u"?require:Q)[Z]}):U)(function(U){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+U+'" is not supported')});var L2={};H5(L2,{transcode:()=>SW,resolveObjectURL:()=>FW,kStringMaxLength:()=>eG,kMaxLength:()=>n7,isUtf8:()=>RW,isAscii:()=>zW,default:()=>MW,constants:()=>oK,btoa:()=>uK,atob:()=>bK,INSPECT_MAX_BYTES:()=>tG,File:()=>lK,Buffer:()=>V0,Blob:()=>dK});function fK(U){var Q=U.length;if(Q%4>0)throw Error("Invalid string. Length must be a multiple of 4");var Z=U.indexOf("=");if(Z===-1)Z=Q;var X=Z===Q?0:4-Z%4;return[Z,X]}function pK(U,Q){return(U+Q)*3/4-Q}function vK(U){var Q,Z=fK(U),X=Z[0],J=Z[1],Y=new Uint8Array(pK(X,J)),G=0,L=J>0?X-4:X,z;for(z=0;z<L;z+=4)Q=i2[U.charCodeAt(z)]<<18|i2[U.charCodeAt(z+1)]<<12|i2[U.charCodeAt(z+2)]<<6|i2[U.charCodeAt(z+3)],Y[G++]=Q>>16&255,Y[G++]=Q>>8&255,Y[G++]=Q&255;if(J===2)Q=i2[U.charCodeAt(z)]<<2|i2[U.charCodeAt(z+1)]>>4,Y[G++]=Q&255;if(J===1)Q=i2[U.charCodeAt(z)]<<10|i2[U.charCodeAt(z+1)]<<4|i2[U.charCodeAt(z+2)]>>2,Y[G++]=Q>>8&255,Y[G++]=Q&255;return Y}function hK(U){return V6[U>>18&63]+V6[U>>12&63]+V6[U>>6&63]+V6[U&63]}function cK(U,Q,Z){var X,J=[];for(var Y=Q;Y<Z;Y+=3)X=(U[Y]<<16&16711680)+(U[Y+1]<<8&65280)+(U[Y+2]&255),J.push(hK(X));return J.join("")}function mG(U){var Q,Z=U.length,X=Z%3,J=[],Y=16383;for(var G=0,L=Z-X;G<L;G+=Y)J.push(cK(U,G,G+Y>L?L:G+Y));if(X===1)Q=U[Z-1],J.push(V6[Q>>2]+V6[Q<<4&63]+"==");else if(X===2)Q=(U[Z-2]<<8)+U[Z-1],J.push(V6[Q>>10]+V6[Q>>4&63]+V6[Q<<2&63]+"=");return J.join("")}function U9(U,Q,Z,X,J){var Y,G,L=J*8-X-1,z=(1<<L)-1,D=z>>1,S=-7,H=Z?J-1:0,q=Z?-1:1,E=U[Q+H];H+=q,Y=E&(1<<-S)-1,E>>=-S,S+=L;for(;S>0;Y=Y*256+U[Q+H],H+=q,S-=8);G=Y&(1<<-S)-1,Y>>=-S,S+=X;for(;S>0;G=G*256+U[Q+H],H+=q,S-=8);if(Y===0)Y=1-D;else if(Y===z)return G?NaN:(E?-1:1)*(1/0);else G=G+Math.pow(2,X),Y=Y-D;return(E?-1:1)*G*Math.pow(2,Y-X)}function aG(U,Q,Z,X,J,Y){var G,L,z,D=Y*8-J-1,S=(1<<D)-1,H=S>>1,q=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=X?0:Y-1,P=X?1:-1,k=Q<0||Q===0&&1/Q<0?1:0;if(Q=Math.abs(Q),isNaN(Q)||Q===1/0)L=isNaN(Q)?1:0,G=S;else{if(G=Math.floor(Math.log(Q)/Math.LN2),Q*(z=Math.pow(2,-G))<1)G--,z*=2;if(G+H>=1)Q+=q/z;else Q+=q*Math.pow(2,1-H);if(Q*z>=2)G++,z/=2;if(G+H>=S)L=0,G=S;else if(G+H>=1)L=(Q*z-1)*Math.pow(2,J),G=G+H;else L=Q*Math.pow(2,H-1)*Math.pow(2,J),G=0}for(;J>=8;U[Z+E]=L&255,E+=P,L/=256,J-=8);G=G<<J|L,D+=J;for(;D>0;U[Z+E]=G&255,E+=P,G/=256,D-=8);U[Z+E-P]|=k*128}function _6(U){if(U>n7)throw RangeError('The value "'+U+'" is invalid for option "size"');let Q=new Uint8Array(U);return Object.setPrototypeOf(Q,V0.prototype),Q}function bQ(U,Q,Z){return class extends Z{constructor(){super();Object.defineProperty(this,"message",{value:Q.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${U}]`,this.stack,delete this.name}get code(){return U}set code(X){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:X,writable:!0})}toString(){return`${this.name} [${U}]: ${this.message}`}}}function V0(U,Q,Z){if(typeof U==="number"){if(typeof Q==="string")throw TypeError('The "string" argument must be of type string. Received type number');return lQ(U)}return UI(U,Q,Z)}function UI(U,Q,Z){if(typeof U==="string")return sK(U,Q);if(ArrayBuffer.isView(U))return iK(U);if(U==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof U);if(D6(U,ArrayBuffer)||U&&D6(U.buffer,ArrayBuffer))return cQ(U,Q,Z);if(typeof SharedArrayBuffer<"u"&&(D6(U,SharedArrayBuffer)||U&&D6(U.buffer,SharedArrayBuffer)))return cQ(U,Q,Z);if(typeof U==="number")throw TypeError('The "value" argument must not be of type number. Received type number');let X=U.valueOf&&U.valueOf();if(X!=null&&X!==U)return V0.from(X,Q,Z);let J=aK(U);if(J)return J;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof U[Symbol.toPrimitive]==="function")return V0.from(U[Symbol.toPrimitive]("string"),Q,Z);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof U)}function QI(U){if(typeof U!=="number")throw TypeError('"size" argument must be of type number');else if(U<0)throw RangeError('The value "'+U+'" is invalid for option "size"')}function nK(U,Q,Z){if(QI(U),U<=0)return _6(U);if(Q!==void 0)return typeof Z==="string"?_6(U).fill(Q,Z):_6(U).fill(Q);return _6(U)}function lQ(U){return QI(U),_6(U<0?0:dQ(U)|0)}function sK(U,Q){if(typeof Q!=="string"||Q==="")Q="utf8";if(!V0.isEncoding(Q))throw TypeError("Unknown encoding: "+Q);let Z=ZI(U,Q)|0,X=_6(Z),J=X.write(U,Q);if(J!==Z)X=X.slice(0,J);return X}function hQ(U){let Q=U.length<0?0:dQ(U.length)|0,Z=_6(Q);for(let X=0;X<Q;X+=1)Z[X]=U[X]&255;return Z}function iK(U){if(D6(U,Uint8Array)){let Q=new Uint8Array(U);return cQ(Q.buffer,Q.byteOffset,Q.byteLength)}return hQ(U)}function cQ(U,Q,Z){if(Q<0||U.byteLength<Q)throw RangeError('"offset" is outside of buffer bounds');if(U.byteLength<Q+(Z||0))throw RangeError('"length" is outside of buffer bounds');let X;if(Q===void 0&&Z===void 0)X=new Uint8Array(U);else if(Z===void 0)X=new Uint8Array(U,Q);else X=new Uint8Array(U,Q,Z);return Object.setPrototypeOf(X,V0.prototype),X}function aK(U){if(V0.isBuffer(U)){let Q=dQ(U.length)|0,Z=_6(Q);if(Z.length===0)return Z;return U.copy(Z,0,0,Q),Z}if(U.length!==void 0){if(typeof U.length!=="number"||Number.isNaN(U.length))return _6(0);return hQ(U)}if(U.type==="Buffer"&&Array.isArray(U.data))return hQ(U.data)}function dQ(U){if(U>=n7)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n7.toString(16)+" bytes");return U|0}function ZI(U,Q){if(V0.isBuffer(U))return U.length;if(ArrayBuffer.isView(U)||D6(U,ArrayBuffer))return U.byteLength;if(typeof U!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof U);let Z=U.length,X=arguments.length>2&&arguments[2]===!0;if(!X&&Z===0)return 0;let J=!1;for(;;)switch(Q){case"ascii":case"latin1":case"binary":return Z;case"utf8":case"utf-8":return uQ(U).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Z*2;case"hex":return Z>>>1;case"base64":return WI(U).length;default:if(J)return X?-1:uQ(U).length;Q=(""+Q).toLowerCase(),J=!0}}function tK(U,Q,Z){let X=!1;if(Q===void 0||Q<0)Q=0;if(Q>this.length)return"";if(Z===void 0||Z>this.length)Z=this.length;if(Z<=0)return"";if(Z>>>=0,Q>>>=0,Z<=Q)return"";if(!U)U="utf8";while(!0)switch(U){case"hex":return YW(this,Q,Z);case"utf8":case"utf-8":return JI(this,Q,Z);case"ascii":return IW(this,Q,Z);case"latin1":case"binary":return $W(this,Q,Z);case"base64":return JW(this,Q,Z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return TW(this,Q,Z);default:if(X)throw TypeError("Unknown encoding: "+U);U=(U+"").toLowerCase(),X=!0}}function O4(U,Q,Z){let X=U[Q];U[Q]=U[Z],U[Z]=X}function XI(U,Q,Z,X,J){if(U.length===0)return-1;if(typeof Z==="string")X=Z,Z=0;else if(Z>2147483647)Z=2147483647;else if(Z<-2147483648)Z=-2147483648;if(Z=+Z,Number.isNaN(Z))Z=J?0:U.length-1;if(Z<0)Z=U.length+Z;if(Z>=U.length)if(J)return-1;else Z=U.length-1;else if(Z<0)if(J)Z=0;else return-1;if(typeof Q==="string")Q=V0.from(Q,X);if(V0.isBuffer(Q)){if(Q.length===0)return-1;return nG(U,Q,Z,X,J)}else if(typeof Q==="number"){if(Q=Q&255,typeof Uint8Array.prototype.indexOf==="function")if(J)return Uint8Array.prototype.indexOf.call(U,Q,Z);else return Uint8Array.prototype.lastIndexOf.call(U,Q,Z);return nG(U,[Q],Z,X,J)}throw TypeError("val must be string, number or Buffer")}function nG(U,Q,Z,X,J){let Y=1,G=U.length,L=Q.length;if(X!==void 0){if(X=String(X).toLowerCase(),X==="ucs2"||X==="ucs-2"||X==="utf16le"||X==="utf-16le"){if(U.length<2||Q.length<2)return-1;Y=2,G/=2,L/=2,Z/=2}}function z(S,H){if(Y===1)return S[H];else return S.readUInt16BE(H*Y)}let D;if(J){let S=-1;for(D=Z;D<G;D++)if(z(U,D)===z(Q,S===-1?0:D-S)){if(S===-1)S=D;if(D-S+1===L)return S*Y}else{if(S!==-1)D-=D-S;S=-1}}else{if(Z+L>G)Z=G-L;for(D=Z;D>=0;D--){let S=!0;for(let H=0;H<L;H++)if(z(U,D+H)!==z(Q,H)){S=!1;break}if(S)return D}}return-1}function eK(U,Q,Z,X){Z=Number(Z)||0;let J=U.length-Z;if(!X)X=J;else if(X=Number(X),X>J)X=J;let Y=Q.length;if(X>Y/2)X=Y/2;let G;for(G=0;G<X;++G){let L=parseInt(Q.substr(G*2,2),16);if(Number.isNaN(L))return G;U[Z+G]=L}return G}function UW(U,Q,Z,X){return Q9(uQ(Q,U.length-Z),U,Z,X)}function QW(U,Q,Z,X){return Q9(LW(Q),U,Z,X)}function ZW(U,Q,Z,X){return Q9(WI(Q),U,Z,X)}function XW(U,Q,Z,X){return Q9(VW(Q,U.length-Z),U,Z,X)}function JW(U,Q,Z){if(Q===0&&Z===U.length)return mG(U);else return mG(U.slice(Q,Z))}function JI(U,Q,Z){Z=Math.min(U.length,Z);let X=[],J=Q;while(J<Z){let Y=U[J],G=null,L=Y>239?4:Y>223?3:Y>191?2:1;if(J+L<=Z){let z,D,S,H;switch(L){case 1:if(Y<128)G=Y;break;case 2:if(z=U[J+1],(z&192)===128){if(H=(Y&31)<<6|z&63,H>127)G=H}break;case 3:if(z=U[J+1],D=U[J+2],(z&192)===128&&(D&192)===128){if(H=(Y&15)<<12|(z&63)<<6|D&63,H>2047&&(H<55296||H>57343))G=H}break;case 4:if(z=U[J+1],D=U[J+2],S=U[J+3],(z&192)===128&&(D&192)===128&&(S&192)===128){if(H=(Y&15)<<18|(z&63)<<12|(D&63)<<6|S&63,H>65535&&H<1114112)G=H}}}if(G===null)G=65533,L=1;else if(G>65535)G-=65536,X.push(G>>>10&1023|55296),G=56320|G&1023;X.push(G),J+=L}return GW(X)}function GW(U){let Q=U.length;if(Q<=sG)return String.fromCharCode.apply(String,U);let Z="",X=0;while(X<Q)Z+=String.fromCharCode.apply(String,U.slice(X,X+=sG));return Z}function IW(U,Q,Z){let X="";Z=Math.min(U.length,Z);for(let J=Q;J<Z;++J)X+=String.fromCharCode(U[J]&127);return X}function $W(U,Q,Z){let X="";Z=Math.min(U.length,Z);for(let J=Q;J<Z;++J)X+=String.fromCharCode(U[J]);return X}function YW(U,Q,Z){let X=U.length;if(!Q||Q<0)Q=0;if(!Z||Z<0||Z>X)Z=X;let J="";for(let Y=Q;Y<Z;++Y)J+=DW[U[Y]];return J}function TW(U,Q,Z){let X=U.slice(Q,Z),J="";for(let Y=0;Y<X.length-1;Y+=2)J+=String.fromCharCode(X[Y]+X[Y+1]*256);return J}function O2(U,Q,Z){if(U%1!==0||U<0)throw RangeError("offset is not uint");if(U+Q>Z)throw RangeError("Trying to access beyond buffer length")}function p2(U,Q,Z,X,J,Y){if(!V0.isBuffer(U))throw TypeError('"buffer" argument must be a Buffer instance');if(Q>J||Q<Y)throw RangeError('"value" argument is out of bounds');if(Z+X>U.length)throw RangeError("Index out of range")}function GI(U,Q,Z,X,J){KI(Q,X,J,U,Z,7);let Y=Number(Q&BigInt(4294967295));U[Z++]=Y,Y=Y>>8,U[Z++]=Y,Y=Y>>8,U[Z++]=Y,Y=Y>>8,U[Z++]=Y;let G=Number(Q>>BigInt(32)&BigInt(4294967295));return U[Z++]=G,G=G>>8,U[Z++]=G,G=G>>8,U[Z++]=G,G=G>>8,U[Z++]=G,Z}function II(U,Q,Z,X,J){KI(Q,X,J,U,Z,7);let Y=Number(Q&BigInt(4294967295));U[Z+7]=Y,Y=Y>>8,U[Z+6]=Y,Y=Y>>8,U[Z+5]=Y,Y=Y>>8,U[Z+4]=Y;let G=Number(Q>>BigInt(32)&BigInt(4294967295));return U[Z+3]=G,G=G>>8,U[Z+2]=G,G=G>>8,U[Z+1]=G,G=G>>8,U[Z]=G,Z+8}function $I(U,Q,Z,X,J,Y){if(Z+X>U.length)throw RangeError("Index out of range");if(Z<0)throw RangeError("Index out of range")}function YI(U,Q,Z,X,J){if(Q=+Q,Z=Z>>>0,!J)$I(U,Q,Z,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return aG(U,Q,Z,X,23,4),Z+4}function TI(U,Q,Z,X,J){if(Q=+Q,Z=Z>>>0,!J)$I(U,Q,Z,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return aG(U,Q,Z,X,52,8),Z+8}function iG(U){let Q="",Z=U.length,X=U[0]==="-"?1:0;for(;Z>=X+4;Z-=3)Q=`_${U.slice(Z-3,Z)}${Q}`;return`${U.slice(0,Z)}${Q}`}function KW(U,Q,Z){if(b4(Q,"offset"),U[Q]===void 0||U[Q+Z]===void 0)s7(Q,U.length-(Z+1))}function KI(U,Q,Z,X,J,Y){if(U>Z||U<Q){let G=typeof Q==="bigint"?"n":"",L;if(Y>3)if(Q===0||Q===BigInt(0))L=`>= 0${G} and < 2${G} ** ${(Y+1)*8}${G}`;else L=`>= -(2${G} ** ${(Y+1)*8-1}${G}) and < 2 ** ${(Y+1)*8-1}${G}`;else L=`>= ${Q}${G} and <= ${Z}${G}`;throw new vQ("value",L,U)}KW(X,J,Y)}function b4(U,Q){if(typeof U!=="number")throw new rK(Q,"number",U)}function s7(U,Q,Z){if(Math.floor(U)!==U)throw b4(U,Z),new vQ(Z||"offset","an integer",U);if(Q<0)throw new mK;throw new vQ(Z||"offset",`>= ${Z?1:0} and <= ${Q}`,U)}function OW(U){if(U=U.split("=")[0],U=U.trim().replace(WW,""),U.length<2)return"";while(U.length%4!==0)U=U+"=";return U}function uQ(U,Q){Q=Q||1/0;let Z,X=U.length,J=null,Y=[];for(let G=0;G<X;++G){if(Z=U.charCodeAt(G),Z>55295&&Z<57344){if(!J){if(Z>56319){if((Q-=3)>-1)Y.push(239,191,189);continue}else if(G+1===X){if((Q-=3)>-1)Y.push(239,191,189);continue}J=Z;continue}if(Z<56320){if((Q-=3)>-1)Y.push(239,191,189);J=Z;continue}Z=(J-55296<<10|Z-56320)+65536}else if(J){if((Q-=3)>-1)Y.push(239,191,189)}if(J=null,Z<128){if((Q-=1)<0)break;Y.push(Z)}else if(Z<2048){if((Q-=2)<0)break;Y.push(Z>>6|192,Z&63|128)}else if(Z<65536){if((Q-=3)<0)break;Y.push(Z>>12|224,Z>>6&63|128,Z&63|128)}else if(Z<1114112){if((Q-=4)<0)break;Y.push(Z>>18|240,Z>>12&63|128,Z>>6&63|128,Z&63|128)}else throw Error("Invalid code point")}return Y}function LW(U){let Q=[];for(let Z=0;Z<U.length;++Z)Q.push(U.charCodeAt(Z)&255);return Q}function VW(U,Q){let Z,X,J,Y=[];for(let G=0;G<U.length;++G){if((Q-=2)<0)break;Z=U.charCodeAt(G),X=Z>>8,J=Z%256,Y.push(J),Y.push(X)}return Y}function WI(U){return vK(OW(U))}function Q9(U,Q,Z,X){let J;for(J=0;J<X;++J){if(J+Z>=Q.length||J>=U.length)break;Q[J+Z]=U[J]}return J}function D6(U,Q){return U instanceof Q||U!=null&&U.constructor!=null&&U.constructor.name!=null&&U.constructor.name===Q.name}function l6(U){return typeof BigInt>"u"?HW:U}function HW(){throw Error("BigInt not supported")}function oQ(U){return()=>{throw Error(U+" is not implemented for node:buffer browser polyfill")}}var V6,i2,pQ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",W4,oG,rG,tG=50,n7=2147483647,eG=536870888,uK,bK,lK,dK,oK,mK,rK,vQ,sG=4096,WW,DW,FW,RW,zW=(U)=>{for(let Q of U)if(Q.charCodeAt(0)>127)return!1;return!0},SW,MW;var V2=F5(()=>{V6=[],i2=[];for(W4=0,oG=pQ.length;W4<oG;++W4)V6[W4]=pQ[W4],i2[pQ.charCodeAt(W4)]=W4;i2[45]=62;i2[95]=63;rG=typeof Symbol==="function"&&typeof Symbol.for==="function"?Symbol.for("nodejs.util.inspect.custom"):null,uK=globalThis.btoa,bK=globalThis.atob,lK=globalThis.File,dK=globalThis.Blob,oK={MAX_LENGTH:n7,MAX_STRING_LENGTH:eG};mK=bQ("ERR_BUFFER_OUT_OF_BOUNDS",function(U){if(U)return`${U} is outside of buffer bounds`;return"Attempt to access memory outside buffer bounds"},RangeError),rK=bQ("ERR_INVALID_ARG_TYPE",function(U,Q){return`The "${U}" argument must be of type number. Received type ${typeof Q}`},TypeError),vQ=bQ("ERR_OUT_OF_RANGE",function(U,Q,Z){let X=`The value of "${U}" is out of range.`,J=Z;if(Number.isInteger(Z)&&Math.abs(Z)>4294967296)J=iG(String(Z));else if(typeof Z==="bigint"){if(J=String(Z),Z>BigInt(2)**BigInt(32)||Z<-(BigInt(2)**BigInt(32)))J=iG(J);J+="n"}return X+=` It must be ${Q}. Received ${J}`,X},RangeError);Object.defineProperty(V0.prototype,"parent",{enumerable:!0,get:function(){if(!V0.isBuffer(this))return;return this.buffer}});Object.defineProperty(V0.prototype,"offset",{enumerable:!0,get:function(){if(!V0.isBuffer(this))return;return this.byteOffset}});V0.poolSize=8192;V0.from=function(U,Q,Z){return UI(U,Q,Z)};Object.setPrototypeOf(V0.prototype,Uint8Array.prototype);Object.setPrototypeOf(V0,Uint8Array);V0.alloc=function(U,Q,Z){return nK(U,Q,Z)};V0.allocUnsafe=function(U){return lQ(U)};V0.allocUnsafeSlow=function(U){return lQ(U)};V0.isBuffer=function(U){return U!=null&&U._isBuffer===!0&&U!==V0.prototype};V0.compare=function(U,Q){if(D6(U,Uint8Array))U=V0.from(U,U.offset,U.byteLength);if(D6(Q,Uint8Array))Q=V0.from(Q,Q.offset,Q.byteLength);if(!V0.isBuffer(U)||!V0.isBuffer(Q))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(U===Q)return 0;let Z=U.length,X=Q.length;for(let J=0,Y=Math.min(Z,X);J<Y;++J)if(U[J]!==Q[J]){Z=U[J],X=Q[J];break}if(Z<X)return-1;if(X<Z)return 1;return 0};V0.isEncoding=function(U){switch(String(U).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};V0.concat=function(U,Q){if(!Array.isArray(U))throw TypeError('"list" argument must be an Array of Buffers');if(U.length===0)return V0.alloc(0);let Z;if(Q===void 0){Q=0;for(Z=0;Z<U.length;++Z)Q+=U[Z].length}let X=V0.allocUnsafe(Q),J=0;for(Z=0;Z<U.length;++Z){let Y=U[Z];if(D6(Y,Uint8Array))if(J+Y.length>X.length){if(!V0.isBuffer(Y))Y=V0.from(Y);Y.copy(X,J)}else Uint8Array.prototype.set.call(X,Y,J);else if(!V0.isBuffer(Y))throw TypeError('"list" argument must be an Array of Buffers');else Y.copy(X,J);J+=Y.length}return X};V0.byteLength=ZI;V0.prototype._isBuffer=!0;V0.prototype.swap16=function(){let U=this.length;if(U%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let Q=0;Q<U;Q+=2)O4(this,Q,Q+1);return this};V0.prototype.swap32=function(){let U=this.length;if(U%4!==0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let Q=0;Q<U;Q+=4)O4(this,Q,Q+3),O4(this,Q+1,Q+2);return this};V0.prototype.swap64=function(){let U=this.length;if(U%8!==0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let Q=0;Q<U;Q+=8)O4(this,Q,Q+7),O4(this,Q+1,Q+6),O4(this,Q+2,Q+5),O4(this,Q+3,Q+4);return this};V0.prototype.toString=function(){let U=this.length;if(U===0)return"";if(arguments.length===0)return JI(this,0,U);return tK.apply(this,arguments)};V0.prototype.toLocaleString=V0.prototype.toString;V0.prototype.equals=function(U){if(!V0.isBuffer(U))throw TypeError("Argument must be a Buffer");if(this===U)return!0;return V0.compare(this,U)===0};V0.prototype.inspect=function(){let U="",Q=tG;if(U=this.toString("hex",0,Q).replace(/(.{2})/g,"$1 ").trim(),this.length>Q)U+=" ... ";return"<Buffer "+U+">"};if(rG)V0.prototype[rG]=V0.prototype.inspect;V0.prototype.compare=function(U,Q,Z,X,J){if(D6(U,Uint8Array))U=V0.from(U,U.offset,U.byteLength);if(!V0.isBuffer(U))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof U);if(Q===void 0)Q=0;if(Z===void 0)Z=U?U.length:0;if(X===void 0)X=0;if(J===void 0)J=this.length;if(Q<0||Z>U.length||X<0||J>this.length)throw RangeError("out of range index");if(X>=J&&Q>=Z)return 0;if(X>=J)return-1;if(Q>=Z)return 1;if(Q>>>=0,Z>>>=0,X>>>=0,J>>>=0,this===U)return 0;let Y=J-X,G=Z-Q,L=Math.min(Y,G),z=this.slice(X,J),D=U.slice(Q,Z);for(let S=0;S<L;++S)if(z[S]!==D[S]){Y=z[S],G=D[S];break}if(Y<G)return-1;if(G<Y)return 1;return 0};V0.prototype.includes=function(U,Q,Z){return this.indexOf(U,Q,Z)!==-1};V0.prototype.indexOf=function(U,Q,Z){return XI(this,U,Q,Z,!0)};V0.prototype.lastIndexOf=function(U,Q,Z){return XI(this,U,Q,Z,!1)};V0.prototype.write=function(U,Q,Z,X){if(Q===void 0)X="utf8",Z=this.length,Q=0;else if(Z===void 0&&typeof Q==="string")X=Q,Z=this.length,Q=0;else if(isFinite(Q))if(Q=Q>>>0,isFinite(Z)){if(Z=Z>>>0,X===void 0)X="utf8"}else X=Z,Z=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let J=this.length-Q;if(Z===void 0||Z>J)Z=J;if(U.length>0&&(Z<0||Q<0)||Q>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!X)X="utf8";let Y=!1;for(;;)switch(X){case"hex":return eK(this,U,Q,Z);case"utf8":case"utf-8":return UW(this,U,Q,Z);case"ascii":case"latin1":case"binary":return QW(this,U,Q,Z);case"base64":return ZW(this,U,Q,Z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return XW(this,U,Q,Z);default:if(Y)throw TypeError("Unknown encoding: "+X);X=(""+X).toLowerCase(),Y=!0}};V0.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};V0.prototype.slice=function(U,Q){let Z=this.length;if(U=~~U,Q=Q===void 0?Z:~~Q,U<0){if(U+=Z,U<0)U=0}else if(U>Z)U=Z;if(Q<0){if(Q+=Z,Q<0)Q=0}else if(Q>Z)Q=Z;if(Q<U)Q=U;let X=this.subarray(U,Q);return Object.setPrototypeOf(X,V0.prototype),X};V0.prototype.readUintLE=V0.prototype.readUIntLE=function(U,Q,Z){if(U=U>>>0,Q=Q>>>0,!Z)O2(U,Q,this.length);let X=this[U],J=1,Y=0;while(++Y<Q&&(J*=256))X+=this[U+Y]*J;return X};V0.prototype.readUintBE=V0.prototype.readUIntBE=function(U,Q,Z){if(U=U>>>0,Q=Q>>>0,!Z)O2(U,Q,this.length);let X=this[U+--Q],J=1;while(Q>0&&(J*=256))X+=this[U+--Q]*J;return X};V0.prototype.readUint8=V0.prototype.readUInt8=function(U,Q){if(U=U>>>0,!Q)O2(U,1,this.length);return this[U]};V0.prototype.readUint16LE=V0.prototype.readUInt16LE=function(U,Q){if(U=U>>>0,!Q)O2(U,2,this.length);return this[U]|this[U+1]<<8};V0.prototype.readUint16BE=V0.prototype.readUInt16BE=function(U,Q){if(U=U>>>0,!Q)O2(U,2,this.length);return this[U]<<8|this[U+1]};V0.prototype.readUint32LE=V0.prototype.readUInt32LE=function(U,Q){if(U=U>>>0,!Q)O2(U,4,this.length);return(this[U]|this[U+1]<<8|this[U+2]<<16)+this[U+3]*16777216};V0.prototype.readUint32BE=V0.prototype.readUInt32BE=function(U,Q){if(U=U>>>0,!Q)O2(U,4,this.length);return this[U]*16777216+(this[U+1]<<16|this[U+2]<<8|this[U+3])};V0.prototype.readBigUInt64LE=l6(function(U){U=U>>>0,b4(U,"offset");let Q=this[U],Z=this[U+7];if(Q===void 0||Z===void 0)s7(U,this.length-8);let X=Q+this[++U]*256+this[++U]*65536+this[++U]*16777216,J=this[++U]+this[++U]*256+this[++U]*65536+Z*16777216;return BigInt(X)+(BigInt(J)<<BigInt(32))});V0.prototype.readBigUInt64BE=l6(function(U){U=U>>>0,b4(U,"offset");let Q=this[U],Z=this[U+7];if(Q===void 0||Z===void 0)s7(U,this.length-8);let X=Q*16777216+this[++U]*65536+this[++U]*256+this[++U],J=this[++U]*16777216+this[++U]*65536+this[++U]*256+Z;return(BigInt(X)<<BigInt(32))+BigInt(J)});V0.prototype.readIntLE=function(U,Q,Z){if(U=U>>>0,Q=Q>>>0,!Z)O2(U,Q,this.length);let X=this[U],J=1,Y=0;while(++Y<Q&&(J*=256))X+=this[U+Y]*J;if(J*=128,X>=J)X-=Math.pow(2,8*Q);return X};V0.prototype.readIntBE=function(U,Q,Z){if(U=U>>>0,Q=Q>>>0,!Z)O2(U,Q,this.length);let X=Q,J=1,Y=this[U+--X];while(X>0&&(J*=256))Y+=this[U+--X]*J;if(J*=128,Y>=J)Y-=Math.pow(2,8*Q);return Y};V0.prototype.readInt8=function(U,Q){if(U=U>>>0,!Q)O2(U,1,this.length);if(!(this[U]&128))return this[U];return(255-this[U]+1)*-1};V0.prototype.readInt16LE=function(U,Q){if(U=U>>>0,!Q)O2(U,2,this.length);let Z=this[U]|this[U+1]<<8;return Z&32768?Z|4294901760:Z};V0.prototype.readInt16BE=function(U,Q){if(U=U>>>0,!Q)O2(U,2,this.length);let Z=this[U+1]|this[U]<<8;return Z&32768?Z|4294901760:Z};V0.prototype.readInt32LE=function(U,Q){if(U=U>>>0,!Q)O2(U,4,this.length);return this[U]|this[U+1]<<8|this[U+2]<<16|this[U+3]<<24};V0.prototype.readInt32BE=function(U,Q){if(U=U>>>0,!Q)O2(U,4,this.length);return this[U]<<24|this[U+1]<<16|this[U+2]<<8|this[U+3]};V0.prototype.readBigInt64LE=l6(function(U){U=U>>>0,b4(U,"offset");let Q=this[U],Z=this[U+7];if(Q===void 0||Z===void 0)s7(U,this.length-8);let X=this[U+4]+this[U+5]*256+this[U+6]*65536+(Z<<24);return(BigInt(X)<<BigInt(32))+BigInt(Q+this[++U]*256+this[++U]*65536+this[++U]*16777216)});V0.prototype.readBigInt64BE=l6(function(U){U=U>>>0,b4(U,"offset");let Q=this[U],Z=this[U+7];if(Q===void 0||Z===void 0)s7(U,this.length-8);let X=(Q<<24)+this[++U]*65536+this[++U]*256+this[++U];return(BigInt(X)<<BigInt(32))+BigInt(this[++U]*16777216+this[++U]*65536+this[++U]*256+Z)});V0.prototype.readFloatLE=function(U,Q){if(U=U>>>0,!Q)O2(U,4,this.length);return U9(this,U,!0,23,4)};V0.prototype.readFloatBE=function(U,Q){if(U=U>>>0,!Q)O2(U,4,this.length);return U9(this,U,!1,23,4)};V0.prototype.readDoubleLE=function(U,Q){if(U=U>>>0,!Q)O2(U,8,this.length);return U9(this,U,!0,52,8)};V0.prototype.readDoubleBE=function(U,Q){if(U=U>>>0,!Q)O2(U,8,this.length);return U9(this,U,!1,52,8)};V0.prototype.writeUintLE=V0.prototype.writeUIntLE=function(U,Q,Z,X){if(U=+U,Q=Q>>>0,Z=Z>>>0,!X){let G=Math.pow(2,8*Z)-1;p2(this,U,Q,Z,G,0)}let J=1,Y=0;this[Q]=U&255;while(++Y<Z&&(J*=256))this[Q+Y]=U/J&255;return Q+Z};V0.prototype.writeUintBE=V0.prototype.writeUIntBE=function(U,Q,Z,X){if(U=+U,Q=Q>>>0,Z=Z>>>0,!X){let G=Math.pow(2,8*Z)-1;p2(this,U,Q,Z,G,0)}let J=Z-1,Y=1;this[Q+J]=U&255;while(--J>=0&&(Y*=256))this[Q+J]=U/Y&255;return Q+Z};V0.prototype.writeUint8=V0.prototype.writeUInt8=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,1,255,0);return this[Q]=U&255,Q+1};V0.prototype.writeUint16LE=V0.prototype.writeUInt16LE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,2,65535,0);return this[Q]=U&255,this[Q+1]=U>>>8,Q+2};V0.prototype.writeUint16BE=V0.prototype.writeUInt16BE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,2,65535,0);return this[Q]=U>>>8,this[Q+1]=U&255,Q+2};V0.prototype.writeUint32LE=V0.prototype.writeUInt32LE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,4,4294967295,0);return this[Q+3]=U>>>24,this[Q+2]=U>>>16,this[Q+1]=U>>>8,this[Q]=U&255,Q+4};V0.prototype.writeUint32BE=V0.prototype.writeUInt32BE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,4,4294967295,0);return this[Q]=U>>>24,this[Q+1]=U>>>16,this[Q+2]=U>>>8,this[Q+3]=U&255,Q+4};V0.prototype.writeBigUInt64LE=l6(function(U,Q=0){return GI(this,U,Q,BigInt(0),BigInt("0xffffffffffffffff"))});V0.prototype.writeBigUInt64BE=l6(function(U,Q=0){return II(this,U,Q,BigInt(0),BigInt("0xffffffffffffffff"))});V0.prototype.writeIntLE=function(U,Q,Z,X){if(U=+U,Q=Q>>>0,!X){let L=Math.pow(2,8*Z-1);p2(this,U,Q,Z,L-1,-L)}let J=0,Y=1,G=0;this[Q]=U&255;while(++J<Z&&(Y*=256)){if(U<0&&G===0&&this[Q+J-1]!==0)G=1;this[Q+J]=(U/Y>>0)-G&255}return Q+Z};V0.prototype.writeIntBE=function(U,Q,Z,X){if(U=+U,Q=Q>>>0,!X){let L=Math.pow(2,8*Z-1);p2(this,U,Q,Z,L-1,-L)}let J=Z-1,Y=1,G=0;this[Q+J]=U&255;while(--J>=0&&(Y*=256)){if(U<0&&G===0&&this[Q+J+1]!==0)G=1;this[Q+J]=(U/Y>>0)-G&255}return Q+Z};V0.prototype.writeInt8=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,1,127,-128);if(U<0)U=255+U+1;return this[Q]=U&255,Q+1};V0.prototype.writeInt16LE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,2,32767,-32768);return this[Q]=U&255,this[Q+1]=U>>>8,Q+2};V0.prototype.writeInt16BE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,2,32767,-32768);return this[Q]=U>>>8,this[Q+1]=U&255,Q+2};V0.prototype.writeInt32LE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,4,2147483647,-2147483648);return this[Q]=U&255,this[Q+1]=U>>>8,this[Q+2]=U>>>16,this[Q+3]=U>>>24,Q+4};V0.prototype.writeInt32BE=function(U,Q,Z){if(U=+U,Q=Q>>>0,!Z)p2(this,U,Q,4,2147483647,-2147483648);if(U<0)U=4294967295+U+1;return this[Q]=U>>>24,this[Q+1]=U>>>16,this[Q+2]=U>>>8,this[Q+3]=U&255,Q+4};V0.prototype.writeBigInt64LE=l6(function(U,Q=0){return GI(this,U,Q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});V0.prototype.writeBigInt64BE=l6(function(U,Q=0){return II(this,U,Q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});V0.prototype.writeFloatLE=function(U,Q,Z){return YI(this,U,Q,!0,Z)};V0.prototype.writeFloatBE=function(U,Q,Z){return YI(this,U,Q,!1,Z)};V0.prototype.writeDoubleLE=function(U,Q,Z){return TI(this,U,Q,!0,Z)};V0.prototype.writeDoubleBE=function(U,Q,Z){return TI(this,U,Q,!1,Z)};V0.prototype.copy=function(U,Q,Z,X){if(!V0.isBuffer(U))throw TypeError("argument should be a Buffer");if(!Z)Z=0;if(!X&&X!==0)X=this.length;if(Q>=U.length)Q=U.length;if(!Q)Q=0;if(X>0&&X<Z)X=Z;if(X===Z)return 0;if(U.length===0||this.length===0)return 0;if(Q<0)throw RangeError("targetStart out of bounds");if(Z<0||Z>=this.length)throw RangeError("Index out of range");if(X<0)throw RangeError("sourceEnd out of bounds");if(X>this.length)X=this.length;if(U.length-Q<X-Z)X=U.length-Q+Z;let J=X-Z;if(this===U&&typeof Uint8Array.prototype.copyWithin==="function")this.copyWithin(Q,Z,X);else Uint8Array.prototype.set.call(U,this.subarray(Z,X),Q);return J};V0.prototype.fill=function(U,Q,Z,X){if(typeof U==="string"){if(typeof Q==="string")X=Q,Q=0,Z=this.length;else if(typeof Z==="string")X=Z,Z=this.length;if(X!==void 0&&typeof X!=="string")throw TypeError("encoding must be a string");if(typeof X==="string"&&!V0.isEncoding(X))throw TypeError("Unknown encoding: "+X);if(U.length===1){let Y=U.charCodeAt(0);if(X==="utf8"&&Y<128||X==="latin1")U=Y}}else if(typeof U==="number")U=U&255;else if(typeof U==="boolean")U=Number(U);if(Q<0||this.length<Q||this.length<Z)throw RangeError("Out of range index");if(Z<=Q)return this;if(Q=Q>>>0,Z=Z===void 0?this.length:Z>>>0,!U)U=0;let J;if(typeof U==="number")for(J=Q;J<Z;++J)this[J]=U;else{let Y=V0.isBuffer(U)?U:V0.from(U,X),G=Y.length;if(G===0)throw TypeError('The value "'+U+'" is invalid for argument "value"');for(J=0;J<Z-Q;++J)this[J+Q]=Y[J%G]}return this};WW=/[^+/0-9A-Za-z-_]/g;DW=function(){let U=Array(256);for(let Q=0;Q<16;++Q){let Z=Q*16;for(let X=0;X<16;++X)U[Z+X]="0123456789abcdef"[Q]+"0123456789abcdef"[X]}return U}();FW=oQ("resolveObjectURL"),RW=oQ("isUtf8"),SW=oQ("transcode"),MW=V0});var MI={};H5(MI,{types:()=>NW,promisify:()=>FI,log:()=>VI,isUndefined:()=>l4,isSymbol:()=>yW,isString:()=>$9,isRegExp:()=>Z9,isPrimitive:()=>xW,isObject:()=>d4,isNumber:()=>LI,isNullOrUndefined:()=>wW,isNull:()=>I9,isFunction:()=>J9,isError:()=>X9,isDate:()=>sQ,isBuffer:()=>gW,isBoolean:()=>aQ,isArray:()=>OI,inspect:()=>L4,inherits:()=>DI,format:()=>iQ,deprecate:()=>CW,default:()=>vW,debuglog:()=>EW,callbackifyOnRejected:()=>UZ,callbackify:()=>RI,_extend:()=>eQ,TextEncoder:()=>zI,TextDecoder:()=>SI});function iQ(U,...Q){if(!$9(U)){var Z=[U];for(var X=0;X<Q.length;X++)Z.push(L4(Q[X]));return Z.join(" ")}var X=0,J=Q.length,Y=String(U).replace(qW,function(L){if(L==="%%")return"%";if(X>=J)return L;switch(L){case"%s":return String(Q[X++]);case"%d":return Number(Q[X++]);case"%j":try{return JSON.stringify(Q[X++])}catch(z){return"[Circular]"}default:return L}});for(var G=Q[X];X<J;G=Q[++X])if(I9(G)||!d4(G))Y+=" "+G;else Y+=" "+L4(G);return Y}function CW(U,Q){if(typeof process>"u"||process?.noDeprecation===!0)return U;var Z=!1;function X(...J){if(!Z){if(process.throwDeprecation)throw Error(Q);else if(process.traceDeprecation)console.trace(Q);else console.error(Q);Z=!0}return U.apply(this,...J)}return X}function PW(U,Q){var Z=L4.styles[Q];if(Z)return"\x1B["+L4.colors[Z][0]+"m"+U+"\x1B["+L4.colors[Z][1]+"m";else return U}function kW(U,Q){return U}function _W(U){var Q={};return U.forEach(function(Z,X){Q[Z]=!0}),Q}function G9(U,Q,Z){if(U.customInspect&&Q&&J9(Q.inspect)&&Q.inspect!==L4&&!(Q.constructor&&Q.constructor.prototype===Q)){var X=Q.inspect(Z,U);if(!$9(X))X=G9(U,X,Z);return X}var J=AW(U,Q);if(J)return J;var Y=Object.keys(Q),G=_W(Y);if(U.showHidden)Y=Object.getOwnPropertyNames(Q);if(X9(Q)&&(Y.indexOf("message")>=0||Y.indexOf("description")>=0))return mQ(Q);if(Y.length===0){if(J9(Q)){var L=Q.name?": "+Q.name:"";return U.stylize("[Function"+L+"]","special")}if(Z9(Q))return U.stylize(RegExp.prototype.toString.call(Q),"regexp");if(sQ(Q))return U.stylize(Date.prototype.toString.call(Q),"date");if(X9(Q))return mQ(Q)}var z="",D=!1,S=["{","}"];if(OI(Q))D=!0,S=["[","]"];if(J9(Q)){var H=Q.name?": "+Q.name:"";z=" [Function"+H+"]"}if(Z9(Q))z=" "+RegExp.prototype.toString.call(Q);if(sQ(Q))z=" "+Date.prototype.toUTCString.call(Q);if(X9(Q))z=" "+mQ(Q);if(Y.length===0&&(!D||Q.length==0))return S[0]+z+S[1];if(Z<0)if(Z9(Q))return U.stylize(RegExp.prototype.toString.call(Q),"regexp");else return U.stylize("[Object]","special");U.seen.push(Q);var q;if(D)q=jW(U,Q,Z,G,Y);else q=Y.map(function(E){return nQ(U,Q,Z,G,E,D)});return U.seen.pop(),BW(q,z,S)}function AW(U,Q){if(l4(Q))return U.stylize("undefined","undefined");if($9(Q)){var Z="'"+JSON.stringify(Q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return U.stylize(Z,"string")}if(LI(Q))return U.stylize(""+Q,"number");if(aQ(Q))return U.stylize(""+Q,"boolean");if(I9(Q))return U.stylize("null","null")}function mQ(U){return"["+Error.prototype.toString.call(U)+"]"}function jW(U,Q,Z,X,J){var Y=[];for(var G=0,L=Q.length;G<L;++G)if(HI(Q,String(G)))Y.push(nQ(U,Q,Z,X,String(G),!0));else Y.push("");return J.forEach(function(z){if(!z.match(/^\d+$/))Y.push(nQ(U,Q,Z,X,z,!0))}),Y}function nQ(U,Q,Z,X,J,Y){var G,L,z;if(z=Object.getOwnPropertyDescriptor(Q,J)||{value:Q[J]},z.get)if(z.set)L=U.stylize("[Getter/Setter]","special");else L=U.stylize("[Getter]","special");else if(z.set)L=U.stylize("[Setter]","special");if(!HI(X,J))G="["+J+"]";if(!L)if(U.seen.indexOf(z.value)<0){if(I9(Z))L=G9(U,z.value,null);else L=G9(U,z.value,Z-1);if(L.indexOf(`
|
|
2
|
+
`)>-1)if(Y)L=L.split(`
|
|
3
|
+
`).map(function(D){return" "+D}).join(`
|
|
4
|
+
`).slice(2);else L=`
|
|
5
|
+
`+L.split(`
|
|
6
|
+
`).map(function(D){return" "+D}).join(`
|
|
7
|
+
`)}else L=U.stylize("[Circular]","special");if(l4(G)){if(Y&&J.match(/^\d+$/))return L;if(G=JSON.stringify(""+J),G.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/))G=G.slice(1,-1),G=U.stylize(G,"name");else G=G.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),G=U.stylize(G,"string")}return G+": "+L}function BW(U,Q,Z){var X=0,J=U.reduce(function(Y,G){if(X++,G.indexOf(`
|
|
8
|
+
`)>=0)X++;return Y+G.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(J>60)return Z[0]+(Q===""?"":Q+`
|
|
9
|
+
`)+" "+U.join(`,
|
|
10
|
+
`)+" "+Z[1];return Z[0]+Q+" "+U.join(", ")+" "+Z[1]}function OI(U){return Array.isArray(U)}function aQ(U){return typeof U==="boolean"}function I9(U){return U===null}function wW(U){return U==null}function LI(U){return typeof U==="number"}function $9(U){return typeof U==="string"}function yW(U){return typeof U==="symbol"}function l4(U){return U===void 0}function Z9(U){return d4(U)&&tQ(U)==="[object RegExp]"}function d4(U){return typeof U==="object"&&U!==null}function sQ(U){return d4(U)&&tQ(U)==="[object Date]"}function X9(U){return d4(U)&&(tQ(U)==="[object Error]"||U instanceof Error)}function J9(U){return typeof U==="function"}function xW(U){return U===null||typeof U==="boolean"||typeof U==="number"||typeof U==="string"||typeof U==="symbol"||typeof U>"u"}function gW(U){return U instanceof Buffer}function tQ(U){return Object.prototype.toString.call(U)}function rQ(U){return U<10?"0"+U.toString(10):U.toString(10)}function pW(){var U=new Date,Q=[rQ(U.getHours()),rQ(U.getMinutes()),rQ(U.getSeconds())].join(":");return[U.getDate(),fW[U.getMonth()],Q].join(" ")}function VI(...U){console.log("%s - %s",pW(),iQ.apply(null,U))}function DI(U,Q){if(Q)U.super_=Q,U.prototype=Object.create(Q.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}})}function eQ(U,Q){if(!Q||!d4(Q))return U;var Z=Object.keys(Q),X=Z.length;while(X--)U[Z[X]]=Q[Z[X]];return U}function HI(U,Q){return Object.prototype.hasOwnProperty.call(U,Q)}function UZ(U,Q){if(!U){var Z=Error("Promise was rejected with a falsy value");Z.reason=U,U=Z}return Q(U)}function RI(U){if(typeof U!=="function")throw TypeError('The "original" argument must be of type Function');function Q(...Z){var X=Z.pop();if(typeof X!=="function")throw TypeError("The last argument must be of type Function");var J=this,Y=function(...G){return X.apply(J,...G)};U.apply(this,Z).then(function(G){process.nextTick(Y.bind(null,null,G))},function(G){process.nextTick(UZ.bind(null,G,Y))})}return Object.setPrototypeOf(Q,Object.getPrototypeOf(U)),Object.defineProperties(Q,Object.getOwnPropertyDescriptors(U)),Q}var qW,EW,L4,NW=()=>{},fW,FI,zI,SI,vW;var qI=F5(()=>{qW=/%[sdj%]/g;EW=((U={},Q={},Z)=>((Z=typeof process<"u"&&!1)&&(Z=Z.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase()),Q=new RegExp("^"+Z+"$","i"),(X)=>{if(X=X.toUpperCase(),!U[X])if(Q.test(X))U[X]=function(...J){console.error("%s: %s",X,pid,iQ.apply(null,...J))};else U[X]=function(){};return U[X]}))(),L4=((U)=>(U.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},U.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},U.custom=Symbol.for("nodejs.util.inspect.custom"),U))(function(U,Q,...Z){var X={seen:[],stylize:kW};if(Z.length>=1)X.depth=Z[0];if(Z.length>=2)X.colors=Z[1];if(aQ(Q))X.showHidden=Q;else if(Q)eQ(X,Q);if(l4(X.showHidden))X.showHidden=!1;if(l4(X.depth))X.depth=2;if(l4(X.colors))X.colors=!1;if(X.colors)X.stylize=PW;return G9(X,U,X.depth)});fW=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];FI=((U)=>(U.custom=Symbol.for("nodejs.util.promisify.custom"),U))(function(U){if(typeof U!=="function")throw TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&U[kCustomPromisifiedSymbol]){var Q=U[kCustomPromisifiedSymbol];if(typeof Q!=="function")throw TypeError('The "nodejs.util.promisify.custom" argument must be of type Function');return Object.defineProperty(Q,kCustomPromisifiedSymbol,{value:Q,enumerable:!1,writable:!1,configurable:!0}),Q}function Q(...Z){var X,J,Y=new Promise(function(G,L){X=G,J=L});Z.push(function(G,L){if(G)J(G);else X(L)});try{U.apply(this,Z)}catch(G){J(G)}return Y}if(Object.setPrototypeOf(Q,Object.getPrototypeOf(U)),kCustomPromisifiedSymbol)Object.defineProperty(Q,kCustomPromisifiedSymbol,{value:Q,enumerable:!1,writable:!1,configurable:!0});return Object.defineProperties(Q,Object.getOwnPropertyDescriptors(U))});({TextEncoder:zI,TextDecoder:SI}=globalThis),vW={TextEncoder:zI,TextDecoder:SI,promisify:FI,log:VI,inherits:DI,_extend:eQ,callbackifyOnRejected:UZ,callbackify:RI}});var a7={};H5(a7,{setMaxListeners:()=>yI,once:()=>NI,listenerCount:()=>xI,init:()=>d6,getMaxListeners:()=>fI,getEventListeners:()=>wI,default:()=>rW,captureRejectionSymbol:()=>_I,addAbortListener:()=>pI,EventEmitter:()=>d6});function AI(U,Q){var{_events:Z}=U;if(Q[0]??=Error("Unhandled error."),!Z)throw Q[0];var X=Z[kI];if(X)for(var J of EI.call(X))J.apply(U,Q);var Y=Z.error;if(!Y)throw Q[0];for(var J of EI.call(Y))J.apply(U,Q);return!0}function uW(U,Q,Z,X){Q.then(void 0,function(J){queueMicrotask(()=>bW(U,J,Z,X))})}function bW(U,Q,Z,X){if(typeof U[CI]==="function")U[CI](Q,Z,...X);else try{U[V4]=!1,U.emit("error",Q)}finally{U[V4]=!0}}function jI(U,Q,Z){Z.warned=!0;let X=Error(`Possible EventEmitter memory leak detected. ${Z.length} ${String(Q)} listeners added to [${U.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);X.name="MaxListenersExceededWarning",X.emitter=U,X.type=Q,X.count=Z.length,console.warn(X)}function BI(U,Q,...Z){this.removeListener(U,Q),Q.apply(this,Z)}function NI(U,Q,Z){var X=Z?.signal;if(gI(X,"options.signal"),X?.aborted)throw new QZ(void 0,{cause:X?.reason});let{resolve:J,reject:Y,promise:G}=$newPromiseCapability(Promise),L=(S)=>{if(U.removeListener(Q,z),X!=null)Y9(X,"abort",D);Y(S)},z=(...S)=>{if(typeof U.removeListener==="function")U.removeListener("error",L);if(X!=null)Y9(X,"abort",D);J(S)};if(PI(U,Q,z,{once:!0}),Q!=="error"&&typeof U.once==="function")U.once("error",L);function D(){Y9(U,Q,z),Y9(U,"error",L),Y(new QZ(void 0,{cause:X?.reason}))}if(X!=null)PI(X,"abort",D,{once:!0});return G}function wI(U,Q){return U.listeners(Q)}function yI(U,...Q){XZ(U,"setMaxListeners",0);var Z;if(Q&&(Z=Q.length))for(let X=0;X<Z;X++)Q[X].setMaxListeners(U);else D4=U}function xI(U,Q){return U.listenerCount(Q)}function Y9(U,Q,Z,X){if(typeof U.removeListener==="function")U.removeListener(Q,Z);else U.removeEventListener(Q,Z,X)}function PI(U,Q,Z,X){if(typeof U.on==="function")if(X.once)U.once(Q,Z);else U.on(Q,Z);else U.addEventListener(Q,Z,X)}function o4(U,Q,Z){let X=TypeError(`The "${U}" argument must be of type ${Q}. Received ${Z}`);return X.code="ERR_INVALID_ARG_TYPE",X}function oW(U,Q,Z){let X=RangeError(`The "${U}" argument is out of range. It must be ${Q}. Received ${Z}`);return X.code="ERR_OUT_OF_RANGE",X}function gI(U,Q){if(U!==void 0&&(U===null||typeof U!=="object"||!("aborted"in U)))throw o4(Q,"AbortSignal",U)}function XZ(U,Q,Z,X){if(typeof U!=="number")throw o4(Q,"number",U);if(Z!=null&&U<Z||X!=null&&U>X||(Z!=null||X!=null)&&Number.isNaN(U))throw oW(Q,`${Z!=null?`>= ${Z}`:""}${Z!=null&&X!=null?" && ":""}${X!=null?`<= ${X}`:""}`,U)}function i7(U){if(typeof U!=="function")throw TypeError("The listener must be a function")}function mW(U,Q){if(typeof U!=="boolean")throw o4(Q,"boolean",U)}function fI(U){return U?._maxListeners??D4}function pI(U,Q){if(U===void 0)throw o4("signal","AbortSignal",U);if(gI(U,"signal"),typeof Q!=="function")throw o4("listener","function",Q);let Z;if(U.aborted)queueMicrotask(()=>Q());else U.addEventListener("abort",Q,{__proto__:null,once:!0}),Z=()=>{U.removeEventListener("abort",Q)};return{__proto__:null,[Symbol.dispose](){Z?.()}}}var ZZ,V4,kI,hW,cW,CI,_I,EI,D4=10,d6=function(U){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[V4]=U?.captureRejections?Boolean(U?.captureRejections):A1[V4])this.emit=dW},A1,lW=function(U,...Q){if(U==="error")return AI(this,Q);var{_events:Z}=this;if(Z===void 0)return!1;var X=Z[U];if(X===void 0)return!1;let J=X.length>1?X.slice():X;for(let Y=0,{length:G}=J;Y<G;Y++){let L=J[Y];switch(Q.length){case 0:L.call(this);break;case 1:L.call(this,Q[0]);break;case 2:L.call(this,Q[0],Q[1]);break;case 3:L.call(this,Q[0],Q[1],Q[2]);break;default:L.apply(this,Q);break}}return!0},dW=function(U,...Q){if(U==="error")return AI(this,Q);var{_events:Z}=this;if(Z===void 0)return!1;var X=Z[U];if(X===void 0)return!1;let J=X.length>1?X.slice():X;for(let Y=0,{length:G}=J;Y<G;Y++){let L=J[Y],z;switch(Q.length){case 0:z=L.call(this);break;case 1:z=L.call(this,Q[0]);break;case 2:z=L.call(this,Q[0],Q[1]);break;case 3:z=L.call(this,Q[0],Q[1],Q[2]);break;default:z=L.apply(this,Q);break}if(z!==void 0&&typeof z?.then==="function"&&z.then===Promise.prototype.then)uW(this,z,U,Q)}return!0},QZ,rW;var t7=F5(()=>{ZZ=Symbol.for,V4=Symbol("kCapture"),kI=ZZ("events.errorMonitor"),hW=Symbol("events.maxEventTargetListeners"),cW=Symbol("events.maxEventTargetListenersWarned"),CI=ZZ("nodejs.rejection"),_I=ZZ("nodejs.rejection"),EI=Array.prototype.slice,A1=d6.prototype={};A1._events=void 0;A1._eventsCount=0;A1._maxListeners=void 0;A1.setMaxListeners=function(U){return XZ(U,"setMaxListeners",0),this._maxListeners=U,this};A1.constructor=d6;A1.getMaxListeners=function(){return this?._maxListeners??D4};A1.emit=lW;A1.addListener=function(U,Q){i7(Q);var Z=this._events;if(!Z)Z=this._events={__proto__:null},this._eventsCount=0;else if(Z.newListener)this.emit("newListener",U,Q.listener??Q);var X=Z[U];if(!X)Z[U]=[Q],this._eventsCount++;else{X.push(Q);var J=this._maxListeners??D4;if(J>0&&X.length>J&&!X.warned)jI(this,U,X)}return this};A1.on=A1.addListener;A1.prependListener=function(U,Q){i7(Q);var Z=this._events;if(!Z)Z=this._events={__proto__:null},this._eventsCount=0;else if(Z.newListener)this.emit("newListener",U,Q.listener??Q);var X=Z[U];if(!X)Z[U]=[Q],this._eventsCount++;else{X.unshift(Q);var J=this._maxListeners??D4;if(J>0&&X.length>J&&!X.warned)jI(this,U,X)}return this};A1.once=function(U,Q){i7(Q);let Z=BI.bind(this,U,Q);return Z.listener=Q,this.addListener(U,Z),this};A1.prependOnceListener=function(U,Q){i7(Q);let Z=BI.bind(this,U,Q);return Z.listener=Q,this.prependListener(U,Z),this};A1.removeListener=function(U,Q){i7(Q);var{_events:Z}=this;if(!Z)return this;var X=Z[U];if(!X)return this;var J=X.length;let Y=-1;for(let G=J-1;G>=0;G--)if(X[G]===Q||X[G].listener===Q){Y=G;break}if(Y<0)return this;if(Y===0)X.shift();else X.splice(Y,1);if(X.length===0)delete Z[U],this._eventsCount--;return this};A1.off=A1.removeListener;A1.removeAllListeners=function(U){var{_events:Q}=this;if(U&&Q){if(Q[U])delete Q[U],this._eventsCount--}else this._events={__proto__:null};return this};A1.listeners=function(U){var{_events:Q}=this;if(!Q)return[];var Z=Q[U];if(!Z)return[];return Z.map((X)=>X.listener??X)};A1.rawListeners=function(U){var{_events:Q}=this;if(!Q)return[];var Z=Q[U];if(!Z)return[];return Z.slice()};A1.listenerCount=function(U){var{_events:Q}=this;if(!Q)return 0;return Q[U]?.length??0};A1.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};A1[V4]=!1;QZ=class QZ extends Error{constructor(U="The operation was aborted",Q=void 0){if(Q!==void 0&&typeof Q!=="object")throw o4("options","Object",Q);super(U,Q);this.code="ABORT_ERR",this.name="AbortError"}};Object.defineProperties(d6,{captureRejections:{get(){return A1[V4]},set(U){mW(U,"EventEmitter.captureRejections"),A1[V4]=U},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return D4},set:(U)=>{XZ(U,"defaultMaxListeners",0),D4=U}},kMaxEventTargetListeners:{value:hW,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:cW,enumerable:!1,configurable:!1,writable:!1}});Object.assign(d6,{once:NI,getEventListeners:wI,getMaxListeners:fI,setMaxListeners:yI,EventEmitter:d6,usingDomains:!1,captureRejectionSymbol:_I,errorMonitor:kI,addAbortListener:pI,init:d6,listenerCount:xI});rW=d6});var $Z=XT((Lz,oI)=>{var z1=(U,Q)=>()=>(Q||U((Q={exports:{}}).exports,Q),Q.exports),w1=z1((U,Q)=>{class Z extends Error{constructor(X){if(!Array.isArray(X))throw TypeError(`Expected input to be an Array, got ${typeof X}`);let J="";for(let Y=0;Y<X.length;Y++)J+=` ${X[Y].stack}
|
|
11
|
+
`;super(J);this.name="AggregateError",this.errors=X}}Q.exports={AggregateError:Z,ArrayIsArray(X){return Array.isArray(X)},ArrayPrototypeIncludes(X,J){return X.includes(J)},ArrayPrototypeIndexOf(X,J){return X.indexOf(J)},ArrayPrototypeJoin(X,J){return X.join(J)},ArrayPrototypeMap(X,J){return X.map(J)},ArrayPrototypePop(X,J){return X.pop(J)},ArrayPrototypePush(X,J){return X.push(J)},ArrayPrototypeSlice(X,J,Y){return X.slice(J,Y)},Error,FunctionPrototypeCall(X,J,...Y){return X.call(J,...Y)},FunctionPrototypeSymbolHasInstance(X,J){return Function.prototype[Symbol.hasInstance].call(X,J)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(X,J){return Object.defineProperties(X,J)},ObjectDefineProperty(X,J,Y){return Object.defineProperty(X,J,Y)},ObjectGetOwnPropertyDescriptor(X,J){return Object.getOwnPropertyDescriptor(X,J)},ObjectKeys(X){return Object.keys(X)},ObjectSetPrototypeOf(X,J){return Object.setPrototypeOf(X,J)},Promise,PromisePrototypeCatch(X,J){return X.catch(J)},PromisePrototypeThen(X,J,Y){return X.then(J,Y)},PromiseReject(X){return Promise.reject(X)},PromiseResolve(X){return Promise.resolve(X)},ReflectApply:Reflect.apply,RegExpPrototypeTest(X,J){return X.test(J)},SafeSet:Set,String,StringPrototypeSlice(X,J,Y){return X.slice(J,Y)},StringPrototypeToLowerCase(X){return X.toLowerCase()},StringPrototypeToUpperCase(X){return X.toUpperCase()},StringPrototypeTrim(X){return X.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(X,J,Y){return X.set(J,Y)},Boolean,Uint8Array}}),vI=z1((U,Q)=>{Q.exports={format(Z,...X){return Z.replace(/%([sdifj])/g,function(...[J,Y]){let G=X.shift();if(Y==="f")return G.toFixed(6);else if(Y==="j")return JSON.stringify(G);else if(Y==="s"&&typeof G==="object")return`${G.constructor!==Object?G.constructor.name:""} {}`.trim();else return G.toString()})},inspect(Z){switch(typeof Z){case"string":if(Z.includes("'")){if(!Z.includes('"'))return`"${Z}"`;else if(!Z.includes("`")&&!Z.includes("${"))return`\`${Z}\``}return`'${Z}'`;case"number":if(isNaN(Z))return"NaN";else if(Object.is(Z,-0))return String(Z);return Z;case"bigint":return`${String(Z)}n`;case"boolean":case"undefined":return String(Z);case"object":return"{}"}}}}),j2=z1((U,Q)=>{var{format:Z,inspect:X}=vI(),{AggregateError:J}=w1(),Y=globalThis.AggregateError||J,G=Symbol("kIsNodeError"),L=["string","function","number","object","Function","Object","boolean","bigint","symbol"],z=/^([A-Z][a-z0-9]*)+$/,D={};function S(j,B){if(!j)throw new D.ERR_INTERNAL_ASSERTION(B)}function H(j){let B="",y=j.length,x=j[0]==="-"?1:0;for(;y>=x+4;y-=3)B=`_${j.slice(y-3,y)}${B}`;return`${j.slice(0,y)}${B}`}function q(j,B,y){if(typeof B==="function")return S(B.length<=y.length,`Code: ${j}; The provided arguments length (${y.length}) does not match the required ones (${B.length}).`),B(...y);let x=(B.match(/%[dfijoOs]/g)||[]).length;if(S(x===y.length,`Code: ${j}; The provided arguments length (${y.length}) does not match the required ones (${x}).`),y.length===0)return B;return Z(B,...y)}function E(j,B,y){if(!y)y=Error;class x extends y{constructor(...h){super(q(j,B,h))}toString(){return`${this.name} [${j}]: ${this.message}`}}Object.defineProperties(x.prototype,{name:{value:y.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${j}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),x.prototype.code=j,x.prototype[G]=!0,D[j]=x}function P(j){let B="__node_internal_"+j.name;return Object.defineProperty(j,"name",{value:B}),j}function k(j,B){if(j&&B&&j!==B){if(Array.isArray(B.errors))return B.errors.push(j),B;let y=new Y([B,j],B.message);return y.code=B.code,y}return j||B}class _ extends Error{constructor(j="The operation was aborted",B=void 0){if(B!==void 0&&typeof B!=="object")throw new D.ERR_INVALID_ARG_TYPE("options","Object",B);super(j,B);this.code="ABORT_ERR",this.name="AbortError"}}E("ERR_ASSERTION","%s",Error),E("ERR_INVALID_ARG_TYPE",(j,B,y)=>{if(S(typeof j==="string","'name' must be a string"),!Array.isArray(B))B=[B];let x="The ";if(j.endsWith(" argument"))x+=`${j} `;else x+=`"${j}" ${j.includes(".")?"property":"argument"} `;x+="must be ";let h=[],r=[],T0=[];for(let I0 of B)if(S(typeof I0==="string","All expected entries have to be of type string"),L.includes(I0))h.push(I0.toLowerCase());else if(z.test(I0))r.push(I0);else S(I0!=="object",'The value "object" should be written as "Object"'),T0.push(I0);if(r.length>0){let I0=h.indexOf("object");if(I0!==-1)h.splice(h,I0,1),r.push("Object")}if(h.length>0){switch(h.length){case 1:x+=`of type ${h[0]}`;break;case 2:x+=`one of type ${h[0]} or ${h[1]}`;break;default:{let I0=h.pop();x+=`one of type ${h.join(", ")}, or ${I0}`}}if(r.length>0||T0.length>0)x+=" or "}if(r.length>0){switch(r.length){case 1:x+=`an instance of ${r[0]}`;break;case 2:x+=`an instance of ${r[0]} or ${r[1]}`;break;default:{let I0=r.pop();x+=`an instance of ${r.join(", ")}, or ${I0}`}}if(T0.length>0)x+=" or "}switch(T0.length){case 0:break;case 1:if(T0[0].toLowerCase()!==T0[0])x+="an ";x+=`${T0[0]}`;break;case 2:x+=`one of ${T0[0]} or ${T0[1]}`;break;default:{let I0=T0.pop();x+=`one of ${T0.join(", ")}, or ${I0}`}}if(y==null)x+=`. Received ${y}`;else if(typeof y==="function"&&y.name)x+=`. Received function ${y.name}`;else if(typeof y==="object"){var L0;if((L0=y.constructor)!==null&&L0!==void 0&&L0.name)x+=`. Received an instance of ${y.constructor.name}`;else{let I0=X(y,{depth:-1});x+=`. Received ${I0}`}}else{let I0=X(y,{colors:!1});if(I0.length>25)I0=`${I0.slice(0,25)}...`;x+=`. Received type ${typeof y} (${I0})`}return x},TypeError),E("ERR_INVALID_ARG_VALUE",(j,B,y="is invalid")=>{let x=X(B);if(x.length>128)x=x.slice(0,128)+"...";return`The ${j.includes(".")?"property":"argument"} '${j}' ${y}. Received ${x}`},TypeError),E("ERR_INVALID_RETURN_VALUE",(j,B,y)=>{var x;let h=y!==null&&y!==void 0&&(x=y.constructor)!==null&&x!==void 0&&x.name?`instance of ${y.constructor.name}`:`type ${typeof y}`;return`Expected ${j} to be returned from the "${B}" function but got ${h}.`},TypeError),E("ERR_MISSING_ARGS",(...j)=>{S(j.length>0,"At least one arg needs to be specified");let B,y=j.length;switch(j=(Array.isArray(j)?j:[j]).map((x)=>`"${x}"`).join(" or "),y){case 1:B+=`The ${j[0]} argument`;break;case 2:B+=`The ${j[0]} and ${j[1]} arguments`;break;default:{let x=j.pop();B+=`The ${j.join(", ")}, and ${x} arguments`}break}return`${B} must be specified`},TypeError),E("ERR_OUT_OF_RANGE",(j,B,y)=>{S(B,'Missing "range" argument');let x;if(Number.isInteger(y)&&Math.abs(y)>4294967296)x=H(String(y));else if(typeof y==="bigint"){x=String(y);let h=BigInt(2)**BigInt(32);if(y>h||y<-h)x=H(x);x+="n"}else x=X(y);return`The value of "${j}" is out of range. It must be ${B}. Received ${x}`},RangeError),E("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),E("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),E("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),E("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),E("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),E("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),E("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),E("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),E("ERR_STREAM_WRITE_AFTER_END","write after end",Error),E("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),Q.exports={AbortError:_,aggregateTwoErrors:P(k),hideStackFrames:P,codes:D}}),nW=z1((U,Q)=>{Object.defineProperty(U,"__esModule",{value:!0});var Z=new WeakMap,X=new WeakMap;function J(d){let J0=Z.get(d);return console.assert(J0!=null,"'this' is expected an Event object, but got",d),J0}function Y(d){if(d.passiveListener!=null){if(typeof console<"u"&&typeof console.error==="function")console.error("Unable to preventDefault inside passive event listener invocation.",d.passiveListener);return}if(!d.event.cancelable)return;if(d.canceled=!0,typeof d.event.preventDefault==="function")d.event.preventDefault()}function G(d,J0){Z.set(this,{eventTarget:d,event:J0,eventPhase:2,currentTarget:d,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:J0.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});let I=Object.keys(J0);for(let K=0;K<I.length;++K){let O=I[K];if(!(O in this))Object.defineProperty(this,O,L(O))}}if(G.prototype={get type(){return J(this).event.type},get target(){return J(this).eventTarget},get currentTarget(){return J(this).currentTarget},composedPath(){let d=J(this).currentTarget;if(d==null)return[];return[d]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return J(this).eventPhase},stopPropagation(){let d=J(this);if(d.stopped=!0,typeof d.event.stopPropagation==="function")d.event.stopPropagation()},stopImmediatePropagation(){let d=J(this);if(d.stopped=!0,d.immediateStopped=!0,typeof d.event.stopImmediatePropagation==="function")d.event.stopImmediatePropagation()},get bubbles(){return Boolean(J(this).event.bubbles)},get cancelable(){return Boolean(J(this).event.cancelable)},preventDefault(){Y(J(this))},get defaultPrevented(){return J(this).canceled},get composed(){return Boolean(J(this).event.composed)},get timeStamp(){return J(this).timeStamp},get srcElement(){return J(this).eventTarget},get cancelBubble(){return J(this).stopped},set cancelBubble(d){if(!d)return;let J0=J(this);if(J0.stopped=!0,typeof J0.event.cancelBubble==="boolean")J0.event.cancelBubble=!0},get returnValue(){return!J(this).canceled},set returnValue(d){if(!d)Y(J(this))},initEvent(){}},Object.defineProperty(G.prototype,"constructor",{value:G,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u")Object.setPrototypeOf(G.prototype,window.Event.prototype),X.set(window.Event.prototype,G);function L(d){return{get(){return J(this).event[d]},set(J0){J(this).event[d]=J0},configurable:!0,enumerable:!0}}function z(d){return{value(){let J0=J(this).event;return J0[d].apply(J0,arguments)},configurable:!0,enumerable:!0}}function D(d,J0){let I=Object.keys(J0);if(I.length===0)return d;function K(O,T){d.call(this,O,T)}K.prototype=Object.create(d.prototype,{constructor:{value:K,configurable:!0,writable:!0}});for(let O=0;O<I.length;++O){let T=I[O];if(!(T in d.prototype)){let W=typeof Object.getOwnPropertyDescriptor(J0,T).value==="function";Object.defineProperty(K.prototype,T,W?z(T):L(T))}}return K}function S(d){if(d==null||d===Object.prototype)return G;let J0=X.get(d);if(J0==null)J0=D(S(Object.getPrototypeOf(d)),d),X.set(d,J0);return J0}function H(d,J0){return new(S(Object.getPrototypeOf(J0)))(d,J0)}function q(d){return J(d).immediateStopped}function E(d,J0){J(d).eventPhase=J0}function P(d,J0){J(d).currentTarget=J0}function k(d,J0){J(d).passiveListener=J0}var _=new WeakMap,j=1,B=2,y=3;function x(d){return d!==null&&typeof d==="object"}function h(d){let J0=_.get(d);if(J0==null)throw TypeError("'this' is expected an EventTarget object, but got another value.");return J0}function r(d){return{get(){let J0=h(this).get(d);while(J0!=null){if(J0.listenerType===y)return J0.listener;J0=J0.next}return null},set(J0){if(typeof J0!=="function"&&!x(J0))J0=null;let I=h(this),K=null,O=I.get(d);while(O!=null){if(O.listenerType===y)if(K!==null)K.next=O.next;else if(O.next!==null)I.set(d,O.next);else I.delete(d);else K=O;O=O.next}if(J0!==null){let T={listener:J0,listenerType:y,passive:!1,once:!1,next:null};if(K===null)I.set(d,T);else K.next=T}},configurable:!0,enumerable:!0}}function T0(d,J0){Object.defineProperty(d,`on${J0}`,r(J0))}function L0(d){function J0(){I0.call(this)}J0.prototype=Object.create(I0.prototype,{constructor:{value:J0,configurable:!0,writable:!0}});for(let I=0;I<d.length;++I)T0(J0.prototype,d[I]);return J0}function I0(){if(this instanceof I0){_.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return L0(arguments[0]);if(arguments.length>0){let d=Array(arguments.length);for(let J0=0;J0<arguments.length;++J0)d[J0]=arguments[J0];return L0(d)}throw TypeError("Cannot call a class as a function")}if(I0.prototype={addEventListener(d,J0,I){if(J0==null)return;if(typeof J0!=="function"&&!x(J0))throw TypeError("'listener' should be a function or an object.");let K=h(this),O=x(I),T=(O?Boolean(I.capture):Boolean(I))?j:B,W={listener:J0,listenerType:T,passive:O&&Boolean(I.passive),once:O&&Boolean(I.once),next:null},R=K.get(d);if(R===void 0){K.set(d,W);return}let M=null;while(R!=null){if(R.listener===J0&&R.listenerType===T)return;M=R,R=R.next}M.next=W},removeEventListener(d,J0,I){if(J0==null)return;let K=h(this),O=(x(I)?Boolean(I.capture):Boolean(I))?j:B,T=null,W=K.get(d);while(W!=null){if(W.listener===J0&&W.listenerType===O){if(T!==null)T.next=W.next;else if(W.next!==null)K.set(d,W.next);else K.delete(d);return}T=W,W=W.next}},dispatchEvent(d){if(d==null||typeof d.type!=="string")throw TypeError('"event.type" should be a string.');let J0=h(this),I=d.type,K=J0.get(I);if(K==null)return!0;let O=H(this,d),T=null;while(K!=null){if(K.once)if(T!==null)T.next=K.next;else if(K.next!==null)J0.set(I,K.next);else J0.delete(I);else T=K;if(k(O,K.passive?K.listener:null),typeof K.listener==="function")try{K.listener.call(this,O)}catch(W){if(typeof console<"u"&&typeof console.error==="function")console.error(W)}else if(K.listenerType!==y&&typeof K.listener.handleEvent==="function")K.listener.handleEvent(O);if(q(O))break;K=K.next}return k(O,null),E(O,0),P(O,null),!O.defaultPrevented}},Object.defineProperty(I0.prototype,"constructor",{value:I0,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u")Object.setPrototypeOf(I0.prototype,window.EventTarget.prototype);U.defineEventAttribute=T0,U.EventTarget=I0,U.default=I0,Q.exports=I0,Q.exports.EventTarget=Q.exports.default=I0,Q.exports.defineEventAttribute=T0}),e7=z1((U,Q)=>{Object.defineProperty(U,"__esModule",{value:!0});var Z=nW();class X extends Z.EventTarget{constructor(){super();throw TypeError("AbortSignal cannot be constructed directly")}get aborted(){let S=G.get(this);if(typeof S!=="boolean")throw TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return S}}Z.defineEventAttribute(X.prototype,"abort");function J(){let S=Object.create(X.prototype);return Z.EventTarget.call(S),G.set(S,!1),S}function Y(S){if(G.get(S)!==!1)return;G.set(S,!0),S.dispatchEvent({type:"abort"})}var G=new WeakMap;if(Object.defineProperties(X.prototype,{aborted:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(X.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});class L{constructor(){z.set(this,J())}get signal(){return D(this)}abort(){Y(D(this))}}var z=new WeakMap;function D(S){let H=z.get(S);if(H==null)throw TypeError(`Expected 'this' to be an 'AbortController' object, but got ${S===null?"null":typeof S}`);return H}if(Object.defineProperties(L.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(L.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});U.AbortController=L,U.AbortSignal=X,U.default=L,Q.exports=L,Q.exports.AbortController=Q.exports.default=L,Q.exports.AbortSignal=X}),v2=z1((U,Q)=>{var Z=(V2(),L1(L2)),{format:X,inspect:J}=vI(),{codes:{ERR_INVALID_ARG_TYPE:Y}}=j2(),{kResistStopPropagation:G,AggregateError:L,SymbolDispose:z}=w1(),D=globalThis.AbortSignal||e7().AbortSignal,S=globalThis.AbortController||e7().AbortController,H=Object.getPrototypeOf(async function(){}).constructor,q=globalThis.Blob||Z.Blob,E=typeof q<"u"?function(_){return _ instanceof q}:function(_){return!1},P=(_,j)=>{if(_!==void 0&&(_===null||typeof _!=="object"||!("aborted"in _)))throw new Y(j,"AbortSignal",_)},k=(_,j)=>{if(typeof _!=="function")throw new Y(j,"Function",_)};Q.exports={AggregateError:L,kEmptyObject:Object.freeze({}),once(_){let j=!1;return function(...B){if(j)return;j=!0,_.apply(this,B)}},createDeferredPromise:function(){let _,j;return{promise:new Promise((B,y)=>{_=B,j=y}),resolve:_,reject:j}},promisify(_){return new Promise((j,B)=>{_((y,...x)=>{if(y)return B(y);return j(...x)})})},debuglog(){return function(){}},format:X,inspect:J,types:{isAsyncFunction(_){return _ instanceof H},isArrayBufferView(_){return ArrayBuffer.isView(_)}},isBlob:E,deprecate(_,j){return _},addAbortListener:(t7(),L1(a7)).addAbortListener||function(_,j){if(_===void 0)throw new Y("signal","AbortSignal",_);P(_,"signal"),k(j,"listener");let B;if(_.aborted)queueMicrotask(()=>j());else _.addEventListener("abort",j,{__proto__:null,once:!0,[G]:!0}),B=()=>{_.removeEventListener("abort",j)};return{__proto__:null,[z](){var y;(y=B)===null||y===void 0||y()}}},AbortSignalAny:D.any||function(_){if(_.length===1)return _[0];let j=new S,B=()=>j.abort();return _.forEach((y)=>{P(y,"signals"),y.addEventListener("abort",B,{once:!0})}),j.signal.addEventListener("abort",()=>{_.forEach((y)=>y.removeEventListener("abort",B))},{once:!0}),j.signal}},Q.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),U5=z1((U,Q)=>{var{ArrayIsArray:Z,ArrayPrototypeIncludes:X,ArrayPrototypeJoin:J,ArrayPrototypeMap:Y,NumberIsInteger:G,NumberIsNaN:L,NumberMAX_SAFE_INTEGER:z,NumberMIN_SAFE_INTEGER:D,NumberParseInt:S,ObjectPrototypeHasOwnProperty:H,RegExpPrototypeExec:q,String:E,StringPrototypeToUpperCase:P,StringPrototypeTrim:k}=w1(),{hideStackFrames:_,codes:{ERR_SOCKET_BAD_PORT:j,ERR_INVALID_ARG_TYPE:B,ERR_INVALID_ARG_VALUE:y,ERR_OUT_OF_RANGE:x,ERR_UNKNOWN_SIGNAL:h}}=j2(),{normalizeEncoding:r}=v2(),{isAsyncFunction:T0,isArrayBufferView:L0}=v2().types,I0={};function d(u){return u===(u|0)}function J0(u){return u===u>>>0}var I=/^[0-7]+$/,K="must be a 32-bit unsigned integer or an octal string";function O(u,s,b0){if(typeof u>"u")u=b0;if(typeof u==="string"){if(q(I,u)===null)throw new y(s,u,K);u=S(u,8)}return R(u,s),u}var T=_((u,s,b0=D,t=z)=>{if(typeof u!=="number")throw new B(s,"number",u);if(!G(u))throw new x(s,"an integer",u);if(u<b0||u>t)throw new x(s,`>= ${b0} && <= ${t}`,u)}),W=_((u,s,b0=-2147483648,t=2147483647)=>{if(typeof u!=="number")throw new B(s,"number",u);if(!G(u))throw new x(s,"an integer",u);if(u<b0||u>t)throw new x(s,`>= ${b0} && <= ${t}`,u)}),R=_((u,s,b0=!1)=>{if(typeof u!=="number")throw new B(s,"number",u);if(!G(u))throw new x(s,"an integer",u);let t=b0?1:0,Y0=4294967295;if(u<t||u>Y0)throw new x(s,`>= ${t} && <= ${Y0}`,u)});function M(u,s){if(typeof u!=="string")throw new B(s,"string",u)}function V(u,s,b0=void 0,t){if(typeof u!=="number")throw new B(s,"number",u);if(b0!=null&&u<b0||t!=null&&u>t||(b0!=null||t!=null)&&L(u))throw new x(s,`${b0!=null?`>= ${b0}`:""}${b0!=null&&t!=null?" && ":""}${t!=null?`<= ${t}`:""}`,u)}var $=_((u,s,b0)=>{if(!X(b0,u)){let t="must be one of: "+J(Y(b0,(Y0)=>typeof Y0==="string"?`'${Y0}'`:E(Y0)),", ");throw new y(s,u,t)}});function F(u,s){if(typeof u!=="boolean")throw new B(s,"boolean",u)}function A(u,s,b0){return u==null||!H(u,s)?b0:u[s]}var C=_((u,s,b0=null)=>{let t=A(b0,"allowArray",!1),Y0=A(b0,"allowFunction",!1);if(!A(b0,"nullable",!1)&&u===null||!t&&Z(u)||typeof u!=="object"&&(!Y0||typeof u!=="function"))throw new B(s,"Object",u)}),N=_((u,s)=>{if(u!=null&&typeof u!=="object"&&typeof u!=="function")throw new B(s,"a dictionary",u)}),f=_((u,s,b0=0)=>{if(!Z(u))throw new B(s,"Array",u);if(u.length<b0){let t=`must be longer than ${b0}`;throw new y(s,u,t)}});function b(u,s){f(u,s);for(let b0=0;b0<u.length;b0++)M(u[b0],`${s}[${b0}]`)}function i(u,s){f(u,s);for(let b0=0;b0<u.length;b0++)F(u[b0],`${s}[${b0}]`)}function D0(u,s){f(u,s);for(let b0=0;b0<u.length;b0++){let t=u[b0],Y0=`${s}[${b0}]`;if(t==null)throw new B(Y0,"AbortSignal",t);G0(t,Y0)}}function Q0(u,s="signal"){if(M(u,s),I0[u]===void 0){if(I0[P(u)]!==void 0)throw new h(u+" (signals must use all capital letters)");throw new h(u)}}var n=_((u,s="buffer")=>{if(!L0(u))throw new B(s,["Buffer","TypedArray","DataView"],u)});function K0(u,s){let b0=r(s),t=u.length;if(b0==="hex"&&t%2!==0)throw new y("encoding",s,`is invalid for data of length ${t}`)}function a(u,s="Port",b0=!0){if(typeof u!=="number"&&typeof u!=="string"||typeof u==="string"&&k(u).length===0||+u!==+u>>>0||u>65535||u===0&&!b0)throw new j(s,u,b0);return u|0}var G0=_((u,s)=>{if(u!==void 0&&(u===null||typeof u!=="object"||!("aborted"in u)))throw new B(s,"AbortSignal",u)}),m0=_((u,s)=>{if(typeof u!=="function")throw new B(s,"Function",u)}),c=_((u,s)=>{if(typeof u!=="function"||T0(u))throw new B(s,"Function",u)}),l=_((u,s)=>{if(u!==void 0)throw new B(s,"undefined",u)});function W0(u,s,b0){if(!X(b0,u))throw new B(s,`('${J(b0,"|")}')`,u)}var e=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function X0(u,s){if(typeof u>"u"||!q(e,u))throw new y(s,u,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function j0(u){if(typeof u==="string")return X0(u,"hints"),u;else if(Z(u)){let s=u.length,b0="";if(s===0)return b0;for(let t=0;t<s;t++){let Y0=u[t];if(X0(Y0,"hints"),b0+=Y0,t!==s-1)b0+=", "}return b0}throw new y("hints",u,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}Q.exports={isInt32:d,isUint32:J0,parseFileMode:O,validateArray:f,validateStringArray:b,validateBooleanArray:i,validateAbortSignalArray:D0,validateBoolean:F,validateBuffer:n,validateDictionary:N,validateEncoding:K0,validateFunction:m0,validateInt32:W,validateInteger:T,validateNumber:V,validateObject:C,validateOneOf:$,validatePlainFunction:c,validatePort:a,validateSignalName:Q0,validateString:M,validateUint32:R,validateUndefined:l,validateUnion:W0,validateAbortSignal:G0,validateLinkHeaderValue:j0}}),H4=z1((U,Q)=>{Q.exports=globalThis.process}),j6=z1((U,Q)=>{var{SymbolAsyncIterator:Z,SymbolIterator:X,SymbolFor:J}=w1(),Y=J("nodejs.stream.destroyed"),G=J("nodejs.stream.errored"),L=J("nodejs.stream.readable"),z=J("nodejs.stream.writable"),D=J("nodejs.stream.disturbed"),S=J("nodejs.webstream.isClosedPromise"),H=J("nodejs.webstream.controllerErrorFunction");function q(A,C=!1){var N;return!!(A&&typeof A.pipe==="function"&&typeof A.on==="function"&&(!C||typeof A.pause==="function"&&typeof A.resume==="function")&&(!A._writableState||((N=A._readableState)===null||N===void 0?void 0:N.readable)!==!1)&&(!A._writableState||A._readableState))}function E(A){var C;return!!(A&&typeof A.write==="function"&&typeof A.on==="function"&&(!A._readableState||((C=A._writableState)===null||C===void 0?void 0:C.writable)!==!1))}function P(A){return!!(A&&typeof A.pipe==="function"&&A._readableState&&typeof A.on==="function"&&typeof A.write==="function")}function k(A){return A&&(A._readableState||A._writableState||typeof A.write==="function"&&typeof A.on==="function"||typeof A.pipe==="function"&&typeof A.on==="function")}function _(A){return!!(A&&!k(A)&&typeof A.pipeThrough==="function"&&typeof A.getReader==="function"&&typeof A.cancel==="function")}function j(A){return!!(A&&!k(A)&&typeof A.getWriter==="function"&&typeof A.abort==="function")}function B(A){return!!(A&&!k(A)&&typeof A.readable==="object"&&typeof A.writable==="object")}function y(A){return _(A)||j(A)||B(A)}function x(A,C){if(A==null)return!1;if(C===!0)return typeof A[Z]==="function";if(C===!1)return typeof A[X]==="function";return typeof A[Z]==="function"||typeof A[X]==="function"}function h(A){if(!k(A))return null;let{_writableState:C,_readableState:N}=A,f=C||N;return!!(A.destroyed||A[Y]||f!==null&&f!==void 0&&f.destroyed)}function r(A){if(!E(A))return null;if(A.writableEnded===!0)return!0;let C=A._writableState;if(C!==null&&C!==void 0&&C.errored)return!1;if(typeof(C===null||C===void 0?void 0:C.ended)!=="boolean")return null;return C.ended}function T0(A,C){if(!E(A))return null;if(A.writableFinished===!0)return!0;let N=A._writableState;if(N!==null&&N!==void 0&&N.errored)return!1;if(typeof(N===null||N===void 0?void 0:N.finished)!=="boolean")return null;return!!(N.finished||C===!1&&N.ended===!0&&N.length===0)}function L0(A){if(!q(A))return null;if(A.readableEnded===!0)return!0;let C=A._readableState;if(!C||C.errored)return!1;if(typeof(C===null||C===void 0?void 0:C.ended)!=="boolean")return null;return C.ended}function I0(A,C){if(!q(A))return null;let N=A._readableState;if(N!==null&&N!==void 0&&N.errored)return!1;if(typeof(N===null||N===void 0?void 0:N.endEmitted)!=="boolean")return null;return!!(N.endEmitted||C===!1&&N.ended===!0&&N.length===0)}function d(A){if(A&&A[L]!=null)return A[L];if(typeof(A===null||A===void 0?void 0:A.readable)!=="boolean")return null;if(h(A))return!1;return q(A)&&A.readable&&!I0(A)}function J0(A){if(A&&A[z]!=null)return A[z];if(typeof(A===null||A===void 0?void 0:A.writable)!=="boolean")return null;if(h(A))return!1;return E(A)&&A.writable&&!r(A)}function I(A,C){if(!k(A))return null;if(h(A))return!0;if((C===null||C===void 0?void 0:C.readable)!==!1&&d(A))return!1;if((C===null||C===void 0?void 0:C.writable)!==!1&&J0(A))return!1;return!0}function K(A){var C,N;if(!k(A))return null;if(A.writableErrored)return A.writableErrored;return(C=(N=A._writableState)===null||N===void 0?void 0:N.errored)!==null&&C!==void 0?C:null}function O(A){var C,N;if(!k(A))return null;if(A.readableErrored)return A.readableErrored;return(C=(N=A._readableState)===null||N===void 0?void 0:N.errored)!==null&&C!==void 0?C:null}function T(A){if(!k(A))return null;if(typeof A.closed==="boolean")return A.closed;let{_writableState:C,_readableState:N}=A;if(typeof(C===null||C===void 0?void 0:C.closed)==="boolean"||typeof(N===null||N===void 0?void 0:N.closed)==="boolean")return(C===null||C===void 0?void 0:C.closed)||(N===null||N===void 0?void 0:N.closed);if(typeof A._closed==="boolean"&&W(A))return A._closed;return null}function W(A){return typeof A._closed==="boolean"&&typeof A._defaultKeepAlive==="boolean"&&typeof A._removedConnection==="boolean"&&typeof A._removedContLen==="boolean"}function R(A){return typeof A._sent100==="boolean"&&W(A)}function M(A){var C;return typeof A._consuming==="boolean"&&typeof A._dumped==="boolean"&&((C=A.req)===null||C===void 0?void 0:C.upgradeOrConnect)===void 0}function V(A){if(!k(A))return null;let{_writableState:C,_readableState:N}=A,f=C||N;return!f&&R(A)||!!(f&&f.autoDestroy&&f.emitClose&&f.closed===!1)}function $(A){var C;return!!(A&&((C=A[D])!==null&&C!==void 0?C:A.readableDidRead||A.readableAborted))}function F(A){var C,N,f,b,i,D0,Q0,n,K0,a;return!!(A&&((C=(N=(f=(b=(i=(D0=A[G])!==null&&D0!==void 0?D0:A.readableErrored)!==null&&i!==void 0?i:A.writableErrored)!==null&&b!==void 0?b:(Q0=A._readableState)===null||Q0===void 0?void 0:Q0.errorEmitted)!==null&&f!==void 0?f:(n=A._writableState)===null||n===void 0?void 0:n.errorEmitted)!==null&&N!==void 0?N:(K0=A._readableState)===null||K0===void 0?void 0:K0.errored)!==null&&C!==void 0?C:(a=A._writableState)===null||a===void 0?void 0:a.errored))}Q.exports={isDestroyed:h,kIsDestroyed:Y,isDisturbed:$,kIsDisturbed:D,isErrored:F,kIsErrored:G,isReadable:d,kIsReadable:L,kIsClosedPromise:S,kControllerErrorFunction:H,kIsWritable:z,isClosed:T,isDuplexNodeStream:P,isFinished:I,isIterable:x,isReadableNodeStream:q,isReadableStream:_,isReadableEnded:L0,isReadableFinished:I0,isReadableErrored:O,isNodeStream:k,isWebStream:y,isWritable:J0,isWritableNodeStream:E,isWritableStream:j,isWritableEnded:r,isWritableFinished:T0,isWritableErrored:K,isServerRequest:M,isServerResponse:R,willEmitClose:V,isTransformStream:B}}),o6=z1((U,Q)=>{var Z=H4(),{AbortError:X,codes:J}=j2(),{ERR_INVALID_ARG_TYPE:Y,ERR_STREAM_PREMATURE_CLOSE:G}=J,{kEmptyObject:L,once:z}=v2(),{validateAbortSignal:D,validateFunction:S,validateObject:H,validateBoolean:q}=U5(),{Promise:E,PromisePrototypeThen:P,SymbolDispose:k}=w1(),{isClosed:_,isReadable:j,isReadableNodeStream:B,isReadableStream:y,isReadableFinished:x,isReadableErrored:h,isWritable:r,isWritableNodeStream:T0,isWritableStream:L0,isWritableFinished:I0,isWritableErrored:d,isNodeStream:J0,willEmitClose:I,kIsClosedPromise:K}=j6(),O;function T($){return $.setHeader&&typeof $.abort==="function"}var W=()=>{};function R($,F,A){var C,N;if(arguments.length===2)A=F,F=L;else if(F==null)F=L;else H(F,"options");if(S(A,"callback"),D(F.signal,"options.signal"),A=z(A),y($)||L0($))return M($,F,A);if(!J0($))throw new Y("stream",["ReadableStream","WritableStream","Stream"],$);let f=(C=F.readable)!==null&&C!==void 0?C:B($),b=(N=F.writable)!==null&&N!==void 0?N:T0($),i=$._writableState,D0=$._readableState,Q0=()=>{if(!$.writable)a()},n=I($)&&B($)===f&&T0($)===b,K0=I0($,!1),a=()=>{if(K0=!0,$.destroyed)n=!1;if(n&&(!$.readable||f))return;if(!f||G0)A.call($)},G0=x($,!1),m0=()=>{if(G0=!0,$.destroyed)n=!1;if(n&&(!$.writable||b))return;if(!b||K0)A.call($)},c=(u)=>{A.call($,u)},l=_($),W0=()=>{l=!0;let u=d($)||h($);if(u&&typeof u!=="boolean")return A.call($,u);if(f&&!G0&&B($,!0)){if(!x($,!1))return A.call($,new G)}if(b&&!K0){if(!I0($,!1))return A.call($,new G)}A.call($)},e=()=>{l=!0;let u=d($)||h($);if(u&&typeof u!=="boolean")return A.call($,u);A.call($)},X0=()=>{$.req.on("finish",a)};if(T($)){if($.on("complete",a),!n)$.on("abort",W0);if($.req)X0();else $.on("request",X0)}else if(b&&!i)$.on("end",Q0),$.on("close",Q0);if(!n&&typeof $.aborted==="boolean")$.on("aborted",W0);if($.on("end",m0),$.on("finish",a),F.error!==!1)$.on("error",c);if($.on("close",W0),l)Z.nextTick(W0);else if(i!==null&&i!==void 0&&i.errorEmitted||D0!==null&&D0!==void 0&&D0.errorEmitted){if(!n)Z.nextTick(e)}else if(!f&&(!n||j($))&&(K0||r($)===!1))Z.nextTick(e);else if(!b&&(!n||r($))&&(G0||j($)===!1))Z.nextTick(e);else if(D0&&$.req&&$.aborted)Z.nextTick(e);let j0=()=>{if(A=W,$.removeListener("aborted",W0),$.removeListener("complete",a),$.removeListener("abort",W0),$.removeListener("request",X0),$.req)$.req.removeListener("finish",a);$.removeListener("end",Q0),$.removeListener("close",Q0),$.removeListener("finish",a),$.removeListener("end",m0),$.removeListener("error",c),$.removeListener("close",W0)};if(F.signal&&!l){let u=()=>{let s=A;j0(),s.call($,new X(void 0,{cause:F.signal.reason}))};if(F.signal.aborted)Z.nextTick(u);else{O=O||v2().addAbortListener;let s=O(F.signal,u),b0=A;A=z((...t)=>{s[k](),b0.apply($,t)})}}return j0}function M($,F,A){let C=!1,N=W;if(F.signal)if(N=()=>{C=!0,A.call($,new X(void 0,{cause:F.signal.reason}))},F.signal.aborted)Z.nextTick(N);else{O=O||v2().addAbortListener;let b=O(F.signal,N),i=A;A=z((...D0)=>{b[k](),i.apply($,D0)})}let f=(...b)=>{if(!C)Z.nextTick(()=>A.apply($,b))};return P($[K].promise,f,f),W}function V($,F){var A;let C=!1;if(F===null)F=L;if((A=F)!==null&&A!==void 0&&A.cleanup)q(F.cleanup,"cleanup"),C=F.cleanup;return new E((N,f)=>{let b=R($,F,(i)=>{if(C)b();if(i)f(i);else N()})})}Q.exports=R,Q.exports.finished=V}),m4=z1((U,Q)=>{var Z=H4(),{aggregateTwoErrors:X,codes:{ERR_MULTIPLE_CALLBACK:J},AbortError:Y}=j2(),{Symbol:G}=w1(),{kIsDestroyed:L,isDestroyed:z,isFinished:D,isServerRequest:S}=j6(),H=G("kDestroy"),q=G("kConstruct");function E(I,K,O){if(I){if(I.stack,K&&!K.errored)K.errored=I;if(O&&!O.errored)O.errored=I}}function P(I,K){let O=this._readableState,T=this._writableState,W=T||O;if(T!==null&&T!==void 0&&T.destroyed||O!==null&&O!==void 0&&O.destroyed){if(typeof K==="function")K();return this}if(E(I,T,O),T)T.destroyed=!0;if(O)O.destroyed=!0;if(!W.constructed)this.once(H,function(R){k(this,X(R,I),K)});else k(this,I,K);return this}function k(I,K,O){let T=!1;function W(R){if(T)return;T=!0;let{_readableState:M,_writableState:V}=I;if(E(R,V,M),V)V.closed=!0;if(M)M.closed=!0;if(typeof O==="function")O(R);if(R)Z.nextTick(_,I,R);else Z.nextTick(j,I)}try{I._destroy(K||null,W)}catch(R){W(R)}}function _(I,K){B(I,K),j(I)}function j(I){let{_readableState:K,_writableState:O}=I;if(O)O.closeEmitted=!0;if(K)K.closeEmitted=!0;if(O!==null&&O!==void 0&&O.emitClose||K!==null&&K!==void 0&&K.emitClose)I.emit("close")}function B(I,K){let{_readableState:O,_writableState:T}=I;if(T!==null&&T!==void 0&&T.errorEmitted||O!==null&&O!==void 0&&O.errorEmitted)return;if(T)T.errorEmitted=!0;if(O)O.errorEmitted=!0;I.emit("error",K)}function y(){let I=this._readableState,K=this._writableState;if(I)I.constructed=!0,I.closed=!1,I.closeEmitted=!1,I.destroyed=!1,I.errored=null,I.errorEmitted=!1,I.reading=!1,I.ended=I.readable===!1,I.endEmitted=I.readable===!1;if(K)K.constructed=!0,K.destroyed=!1,K.closed=!1,K.closeEmitted=!1,K.errored=null,K.errorEmitted=!1,K.finalCalled=!1,K.prefinished=!1,K.ended=K.writable===!1,K.ending=K.writable===!1,K.finished=K.writable===!1}function x(I,K,O){let{_readableState:T,_writableState:W}=I;if(W!==null&&W!==void 0&&W.destroyed||T!==null&&T!==void 0&&T.destroyed)return this;if(T!==null&&T!==void 0&&T.autoDestroy||W!==null&&W!==void 0&&W.autoDestroy)I.destroy(K);else if(K){if(K.stack,W&&!W.errored)W.errored=K;if(T&&!T.errored)T.errored=K;if(O)Z.nextTick(B,I,K);else B(I,K)}}function h(I,K){if(typeof I._construct!=="function")return;let{_readableState:O,_writableState:T}=I;if(O)O.constructed=!1;if(T)T.constructed=!1;if(I.once(q,K),I.listenerCount(q)>1)return;Z.nextTick(r,I)}function r(I){let K=!1;function O(T){if(K){x(I,T!==null&&T!==void 0?T:new J);return}K=!0;let{_readableState:W,_writableState:R}=I,M=R||W;if(W)W.constructed=!0;if(R)R.constructed=!0;if(M.destroyed)I.emit(H,T);else if(T)x(I,T,!0);else Z.nextTick(T0,I)}try{I._construct((T)=>{Z.nextTick(O,T)})}catch(T){Z.nextTick(O,T)}}function T0(I){I.emit(q)}function L0(I){return(I===null||I===void 0?void 0:I.setHeader)&&typeof I.abort==="function"}function I0(I){I.emit("close")}function d(I,K){I.emit("error",K),Z.nextTick(I0,I)}function J0(I,K){if(!I||z(I))return;if(!K&&!D(I))K=new Y;if(S(I))I.socket=null,I.destroy(K);else if(L0(I))I.abort();else if(L0(I.req))I.req.abort();else if(typeof I.destroy==="function")I.destroy(K);else if(typeof I.close==="function")I.close();else if(K)Z.nextTick(d,I,K);else Z.nextTick(I0,I);if(!I.destroyed)I[L]=!0}Q.exports={construct:h,destroyer:J0,destroy:P,undestroy:y,errorOrDestroy:x}}),JZ=z1((U,Q)=>{var{ArrayIsArray:Z,ObjectSetPrototypeOf:X}=w1(),{EventEmitter:J}=(t7(),L1(a7));function Y(L){J.call(this,L)}X(Y.prototype,J.prototype),X(Y,J),Y.prototype.pipe=function(L,z){let D=this;function S(j){if(L.writable&&L.write(j)===!1&&D.pause)D.pause()}D.on("data",S);function H(){if(D.readable&&D.resume)D.resume()}if(L.on("drain",H),!L._isStdio&&(!z||z.end!==!1))D.on("end",E),D.on("close",P);let q=!1;function E(){if(q)return;q=!0,L.end()}function P(){if(q)return;if(q=!0,typeof L.destroy==="function")L.destroy()}function k(j){if(_(),J.listenerCount(this,"error")===0)this.emit("error",j)}G(D,"error",k),G(L,"error",k);function _(){D.removeListener("data",S),L.removeListener("drain",H),D.removeListener("end",E),D.removeListener("close",P),D.removeListener("error",k),L.removeListener("error",k),D.removeListener("end",_),D.removeListener("close",_),L.removeListener("close",_)}return D.on("end",_),D.on("close",_),L.on("close",_),L.emit("pipe",D),L};function G(L,z,D){if(typeof L.prependListener==="function")return L.prependListener(z,D);if(!L._events||!L._events[z])L.on(z,D);else if(Z(L._events[z]))L._events[z].unshift(D);else L._events[z]=[D,L._events[z]]}Q.exports={Stream:Y,prependListener:G}}),T9=z1((U,Q)=>{var{SymbolDispose:Z}=w1(),{AbortError:X,codes:J}=j2(),{isNodeStream:Y,isWebStream:G,kControllerErrorFunction:L}=j6(),z=o6(),{ERR_INVALID_ARG_TYPE:D}=J,S,H=(q,E)=>{if(typeof q!=="object"||!("aborted"in q))throw new D(E,"AbortSignal",q)};Q.exports.addAbortSignal=function(q,E){if(H(q,"signal"),!Y(E)&&!G(E))throw new D("stream",["ReadableStream","WritableStream","Stream"],E);return Q.exports.addAbortSignalNoValidate(q,E)},Q.exports.addAbortSignalNoValidate=function(q,E){if(typeof q!=="object"||!("aborted"in q))return E;let P=Y(E)?()=>{E.destroy(new X(void 0,{cause:q.reason}))}:()=>{E[L](new X(void 0,{cause:q.reason}))};if(q.aborted)P();else{S=S||v2().addAbortListener;let k=S(q,P);z(E,k[Z])}return E}}),sW=z1((U,Q)=>{var{StringPrototypeSlice:Z,SymbolIterator:X,TypedArrayPrototypeSet:J,Uint8Array:Y}=w1(),{Buffer:G}=(V2(),L1(L2)),{inspect:L}=v2();Q.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(z){let D={data:z,next:null};if(this.length>0)this.tail.next=D;else this.head=D;this.tail=D,++this.length}unshift(z){let D={data:z,next:this.head};if(this.length===0)this.tail=D;this.head=D,++this.length}shift(){if(this.length===0)return;let z=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,z}clear(){this.head=this.tail=null,this.length=0}join(z){if(this.length===0)return"";let D=this.head,S=""+D.data;while((D=D.next)!==null)S+=z+D.data;return S}concat(z){if(this.length===0)return G.alloc(0);let D=G.allocUnsafe(z>>>0),S=this.head,H=0;while(S)J(D,S.data,H),H+=S.data.length,S=S.next;return D}consume(z,D){let S=this.head.data;if(z<S.length){let H=S.slice(0,z);return this.head.data=S.slice(z),H}if(z===S.length)return this.shift();return D?this._getString(z):this._getBuffer(z)}first(){return this.head.data}*[X](){for(let z=this.head;z;z=z.next)yield z.data}_getString(z){let D="",S=this.head,H=0;do{let q=S.data;if(z>q.length)D+=q,z-=q.length;else{if(z===q.length)if(D+=q,++H,S.next)this.head=S.next;else this.head=this.tail=null;else D+=Z(q,0,z),this.head=S,S.data=Z(q,z);break}++H}while((S=S.next)!==null);return this.length-=H,D}_getBuffer(z){let D=G.allocUnsafe(z),S=z,H=this.head,q=0;do{let E=H.data;if(z>E.length)J(D,E,S-z),z-=E.length;else{if(z===E.length)if(J(D,E,S-z),++q,H.next)this.head=H.next;else this.head=this.tail=null;else J(D,new Y(E.buffer,E.byteOffset,z),S-z),this.head=H,H.data=E.slice(z);break}++q}while((H=H.next)!==null);return this.length-=q,D}[Symbol.for("nodejs.util.inspect.custom")](z,D){return L(this,{...D,depth:0,customInspect:!1})}}}),K9=z1((U,Q)=>{var{MathFloor:Z,NumberIsInteger:X}=w1(),{validateInteger:J}=U5(),{ERR_INVALID_ARG_VALUE:Y}=j2().codes,G=16384,L=16;function z(q,E,P){return q.highWaterMark!=null?q.highWaterMark:E?q[P]:null}function D(q){return q?L:G}function S(q,E){if(J(E,"value",0),q)L=E;else G=E}function H(q,E,P,k){let _=z(E,k,P);if(_!=null){if(!X(_)||_<0){let j=k?`options.${P}`:"options.highWaterMark";throw new Y(j,_)}return Z(_)}return D(q.objectMode)}Q.exports={getHighWaterMark:H,getDefaultHighWaterMark:D,setDefaultHighWaterMark:S}}),iW=z1((U,Q)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var Z=(V2(),L1(L2)),X=Z.Buffer;function J(G,L){for(var z in G)L[z]=G[z]}if(X.from&&X.alloc&&X.allocUnsafe&&X.allocUnsafeSlow)Q.exports=Z;else J(Z,U),U.Buffer=Y;function Y(G,L,z){return X(G,L,z)}Y.prototype=Object.create(X.prototype),J(X,Y),Y.from=function(G,L,z){if(typeof G==="number")throw TypeError("Argument must not be a number");return X(G,L,z)},Y.alloc=function(G,L,z){if(typeof G!=="number")throw TypeError("Argument must be a number");var D=X(G);if(L!==void 0)if(typeof z==="string")D.fill(L,z);else D.fill(L);else D.fill(0);return D},Y.allocUnsafe=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return X(G)},Y.allocUnsafeSlow=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return Z.SlowBuffer(G)}}),aW=z1((U)=>{var Q=iW().Buffer,Z=Q.isEncoding||function(B){switch(B=""+B,B&&B.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function X(B){if(!B)return"utf8";var y;while(!0)switch(B){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return B;default:if(y)return;B=(""+B).toLowerCase(),y=!0}}function J(B){var y=X(B);if(typeof y!=="string"&&(Q.isEncoding===Z||!Z(B)))throw Error("Unknown encoding: "+B);return y||B}U.StringDecoder=Y;function Y(B){this.encoding=J(B);var y;switch(this.encoding){case"utf16le":this.text=q,this.end=E,y=4;break;case"utf8":this.fillLast=D,y=4;break;case"base64":this.text=P,this.end=k,y=3;break;default:this.write=_,this.end=j;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Q.allocUnsafe(y)}Y.prototype.write=function(B){if(B.length===0)return"";var y,x;if(this.lastNeed){if(y=this.fillLast(B),y===void 0)return"";x=this.lastNeed,this.lastNeed=0}else x=0;if(x<B.length)return y?y+this.text(B,x):this.text(B,x);return y||""},Y.prototype.end=H,Y.prototype.text=S,Y.prototype.fillLast=function(B){if(this.lastNeed<=B.length)return B.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);B.copy(this.lastChar,this.lastTotal-this.lastNeed,0,B.length),this.lastNeed-=B.length};function G(B){if(B<=127)return 0;else if(B>>5===6)return 2;else if(B>>4===14)return 3;else if(B>>3===30)return 4;return B>>6===2?-1:-2}function L(B,y,x){var h=y.length-1;if(h<x)return 0;var r=G(y[h]);if(r>=0){if(r>0)B.lastNeed=r-1;return r}if(--h<x||r===-2)return 0;if(r=G(y[h]),r>=0){if(r>0)B.lastNeed=r-2;return r}if(--h<x||r===-2)return 0;if(r=G(y[h]),r>=0){if(r>0)if(r===2)r=0;else B.lastNeed=r-3;return r}return 0}function z(B,y,x){if((y[0]&192)!==128)return B.lastNeed=0,"�";if(B.lastNeed>1&&y.length>1){if((y[1]&192)!==128)return B.lastNeed=1,"�";if(B.lastNeed>2&&y.length>2){if((y[2]&192)!==128)return B.lastNeed=2,"�"}}}function D(B){var y=this.lastTotal-this.lastNeed,x=z(this,B,y);if(x!==void 0)return x;if(this.lastNeed<=B.length)return B.copy(this.lastChar,y,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);B.copy(this.lastChar,y,0,B.length),this.lastNeed-=B.length}function S(B,y){var x=L(this,B,y);if(!this.lastNeed)return B.toString("utf8",y);this.lastTotal=x;var h=B.length-(x-this.lastNeed);return B.copy(this.lastChar,0,h),B.toString("utf8",y,h)}function H(B){var y=B&&B.length?this.write(B):"";if(this.lastNeed)return y+"�";return y}function q(B,y){if((B.length-y)%2===0){var x=B.toString("utf16le",y);if(x){var h=x.charCodeAt(x.length-1);if(h>=55296&&h<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=B[B.length-2],this.lastChar[1]=B[B.length-1],x.slice(0,-1)}return x}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=B[B.length-1],B.toString("utf16le",y,B.length-1)}function E(B){var y=B&&B.length?this.write(B):"";if(this.lastNeed){var x=this.lastTotal-this.lastNeed;return y+this.lastChar.toString("utf16le",0,x)}return y}function P(B,y){var x=(B.length-y)%3;if(x===0)return B.toString("base64",y);if(this.lastNeed=3-x,this.lastTotal=3,x===1)this.lastChar[0]=B[B.length-1];else this.lastChar[0]=B[B.length-2],this.lastChar[1]=B[B.length-1];return B.toString("base64",y,B.length-x)}function k(B){var y=B&&B.length?this.write(B):"";if(this.lastNeed)return y+this.lastChar.toString("base64",0,3-this.lastNeed);return y}function _(B){return B.toString(this.encoding)}function j(B){return B&&B.length?this.write(B):""}}),hI=z1((U,Q)=>{var Z=H4(),{PromisePrototypeThen:X,SymbolAsyncIterator:J,SymbolIterator:Y}=w1(),{Buffer:G}=(V2(),L1(L2)),{ERR_INVALID_ARG_TYPE:L,ERR_STREAM_NULL_VALUES:z}=j2().codes;function D(S,H,q){let E;if(typeof H==="string"||H instanceof G)return new S({objectMode:!0,...q,read(){this.push(H),this.push(null)}});let P;if(H&&H[J])P=!0,E=H[J]();else if(H&&H[Y])P=!1,E=H[Y]();else throw new L("iterable",["Iterable"],H);let k=new S({objectMode:!0,highWaterMark:1,...q}),_=!1;k._read=function(){if(!_)_=!0,B()},k._destroy=function(y,x){X(j(y),()=>Z.nextTick(x,y),(h)=>Z.nextTick(x,h||y))};async function j(y){let x=y!==void 0&&y!==null,h=typeof E.throw==="function";if(x&&h){let{value:r,done:T0}=await E.throw(y);if(await r,T0)return}if(typeof E.return==="function"){let{value:r}=await E.return();await r}}async function B(){for(;;){try{let{value:y,done:x}=P?await E.next():E.next();if(x)k.push(null);else{let h=y&&typeof y.then==="function"?await y:y;if(h===null)throw _=!1,new z;else if(k.push(h))continue;else _=!1}}catch(y){k.destroy(y)}break}}return k}Q.exports=D}),W9=z1((U,Q)=>{var Z=H4(),{ArrayPrototypeIndexOf:X,NumberIsInteger:J,NumberIsNaN:Y,NumberParseInt:G,ObjectDefineProperties:L,ObjectKeys:z,ObjectSetPrototypeOf:D,Promise:S,SafeSet:H,SymbolAsyncDispose:q,SymbolAsyncIterator:E,Symbol:P}=w1();Q.exports=t,t.ReadableState=b0;var{EventEmitter:k}=(t7(),L1(a7)),{Stream:_,prependListener:j}=JZ(),{Buffer:B}=(V2(),L1(L2)),{addAbortSignal:y}=T9(),x=o6(),h=v2().debuglog("stream",(g)=>{h=g}),r=sW(),T0=m4(),{getHighWaterMark:L0,getDefaultHighWaterMark:I0}=K9(),{aggregateTwoErrors:d,codes:{ERR_INVALID_ARG_TYPE:J0,ERR_METHOD_NOT_IMPLEMENTED:I,ERR_OUT_OF_RANGE:K,ERR_STREAM_PUSH_AFTER_EOF:O,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:T},AbortError:W}=j2(),{validateObject:R}=U5(),M=P("kPaused"),{StringDecoder:V}=aW(),$=hI();D(t.prototype,_.prototype),D(t,_);var F=()=>{},{errorOrDestroy:A}=T0,C=1,N=2,f=4,b=8,i=16,D0=32,Q0=64,n=128,K0=256,a=512,G0=1024,m0=2048,c=4096,l=8192,W0=16384,e=32768,X0=65536,j0=131072,u=262144;function s(g){return{enumerable:!1,get(){return(this.state&g)!==0},set(o){if(o)this.state|=g;else this.state&=~g}}}L(b0.prototype,{objectMode:s(C),ended:s(N),endEmitted:s(f),reading:s(b),constructed:s(i),sync:s(D0),needReadable:s(Q0),emittedReadable:s(n),readableListening:s(K0),resumeScheduled:s(a),errorEmitted:s(G0),emitClose:s(m0),autoDestroy:s(c),destroyed:s(l),closed:s(W0),closeEmitted:s(e),multiAwaitDrain:s(X0),readingMore:s(j0),dataEmitted:s(u)});function b0(g,o,Z0){if(typeof Z0!=="boolean")Z0=o instanceof A6();if(this.state=m0|c|i|D0,g&&g.objectMode)this.state|=C;if(Z0&&g&&g.readableObjectMode)this.state|=C;if(this.highWaterMark=g?L0(this,g,"readableHighWaterMark",Z0):I0(!1),this.buffer=new r,this.length=0,this.pipes=[],this.flowing=null,this[M]=null,g&&g.emitClose===!1)this.state&=~m0;if(g&&g.autoDestroy===!1)this.state&=~c;if(this.errored=null,this.defaultEncoding=g&&g.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,g&&g.encoding)this.decoder=new V(g.encoding),this.encoding=g.encoding}function t(g){if(!(this instanceof t))return new t(g);let o=this instanceof A6();if(this._readableState=new b0(g,this,o),g){if(typeof g.read==="function")this._read=g.read;if(typeof g.destroy==="function")this._destroy=g.destroy;if(typeof g.construct==="function")this._construct=g.construct;if(g.signal&&!o)y(g.signal,this)}_.call(this,g),T0.construct(this,()=>{if(this._readableState.needReadable)_0(this,this._readableState)})}t.prototype.destroy=T0.destroy,t.prototype._undestroy=T0.undestroy,t.prototype._destroy=function(g,o){o(g)},t.prototype[k.captureRejectionSymbol]=function(g){this.destroy(g)},t.prototype[q]=function(){let g;if(!this.destroyed)g=this.readableEnded?null:new W,this.destroy(g);return new S((o,Z0)=>x(this,($0)=>$0&&$0!==g?Z0($0):o(null)))},t.prototype.push=function(g,o){return Y0(this,g,o,!1)},t.prototype.unshift=function(g,o){return Y0(this,g,o,!0)};function Y0(g,o,Z0,$0){h("readableAddChunk",o);let r0=g._readableState,F0;if((r0.state&C)===0){if(typeof o==="string"){if(Z0=Z0||r0.defaultEncoding,r0.encoding!==Z0)if($0&&r0.encoding)o=B.from(o,Z0).toString(r0.encoding);else o=B.from(o,Z0),Z0=""}else if(o instanceof B)Z0="";else if(_._isUint8Array(o))o=_._uint8ArrayToBuffer(o),Z0="";else if(o!=null)F0=new J0("chunk",["string","Buffer","Uint8Array"],o)}if(F0)A(g,F0);else if(o===null)r0.state&=~b,H0(g,r0);else if((r0.state&C)!==0||o&&o.length>0)if($0)if((r0.state&f)!==0)A(g,new T);else if(r0.destroyed||r0.errored)return!1;else e0(g,r0,o,!0);else if(r0.ended)A(g,new O);else if(r0.destroyed||r0.errored)return!1;else if(r0.state&=~b,r0.decoder&&!Z0)if(o=r0.decoder.write(o),r0.objectMode||o.length!==0)e0(g,r0,o,!1);else _0(g,r0);else e0(g,r0,o,!1);else if(!$0)r0.state&=~b,_0(g,r0);return!r0.ended&&(r0.length<r0.highWaterMark||r0.length===0)}function e0(g,o,Z0,$0){if(o.flowing&&o.length===0&&!o.sync&&g.listenerCount("data")>0){if((o.state&X0)!==0)o.awaitDrainWriters.clear();else o.awaitDrainWriters=null;o.dataEmitted=!0,g.emit("data",Z0)}else{if(o.length+=o.objectMode?1:Z0.length,$0)o.buffer.unshift(Z0);else o.buffer.push(Z0);if((o.state&Q0)!==0)S0(g)}_0(g,o)}t.prototype.isPaused=function(){let g=this._readableState;return g[M]===!0||g.flowing===!1},t.prototype.setEncoding=function(g){let o=new V(g);this._readableState.decoder=o,this._readableState.encoding=this._readableState.decoder.encoding;let Z0=this._readableState.buffer,$0="";for(let r0 of Z0)$0+=o.write(r0);if(Z0.clear(),$0!=="")Z0.push($0);return this._readableState.length=$0.length,this};var R0=1073741824;function z0(g){if(g>R0)throw new K("size","<= 1GiB",g);else g--,g|=g>>>1,g|=g>>>2,g|=g>>>4,g|=g>>>8,g|=g>>>16,g++;return g}function y1(g,o){if(g<=0||o.length===0&&o.ended)return 0;if((o.state&C)!==0)return 1;if(Y(g)){if(o.flowing&&o.length)return o.buffer.first().length;return o.length}if(g<=o.length)return g;return o.ended?o.length:0}t.prototype.read=function(g){if(h("read",g),g===void 0)g=NaN;else if(!J(g))g=G(g,10);let o=this._readableState,Z0=g;if(g>o.highWaterMark)o.highWaterMark=z0(g);if(g!==0)o.state&=~n;if(g===0&&o.needReadable&&((o.highWaterMark!==0?o.length>=o.highWaterMark:o.length>0)||o.ended)){if(h("read: emitReadable",o.length,o.ended),o.length===0&&o.ended)K2(this);else S0(this);return null}if(g=y1(g,o),g===0&&o.ended){if(o.length===0)K2(this);return null}let $0=(o.state&Q0)!==0;if(h("need readable",$0),o.length===0||o.length-g<o.highWaterMark)$0=!0,h("length less than watermark",$0);if(o.ended||o.reading||o.destroyed||o.errored||!o.constructed)$0=!1,h("reading, ended or constructing",$0);else if($0){if(h("do read"),o.state|=b|D0,o.length===0)o.state|=Q0;try{this._read(o.highWaterMark)}catch(F0){A(this,F0)}if(o.state&=~D0,!o.reading)g=y1(Z0,o)}let r0;if(g>0)r0=w0(g,o);else r0=null;if(r0===null)o.needReadable=o.length<=o.highWaterMark,g=0;else if(o.length-=g,o.multiAwaitDrain)o.awaitDrainWriters.clear();else o.awaitDrainWriters=null;if(o.length===0){if(!o.ended)o.needReadable=!0;if(Z0!==g&&o.ended)K2(this)}if(r0!==null&&!o.errorEmitted&&!o.closeEmitted)o.dataEmitted=!0,this.emit("data",r0);return r0};function H0(g,o){if(h("onEofChunk"),o.ended)return;if(o.decoder){let Z0=o.decoder.end();if(Z0&&Z0.length)o.buffer.push(Z0),o.length+=o.objectMode?1:Z0.length}if(o.ended=!0,o.sync)S0(g);else o.needReadable=!1,o.emittedReadable=!0,h1(g)}function S0(g){let o=g._readableState;if(h("emitReadable",o.needReadable,o.emittedReadable),o.needReadable=!1,!o.emittedReadable)h("emitReadable",o.flowing),o.emittedReadable=!0,Z.nextTick(h1,g)}function h1(g){let o=g._readableState;if(h("emitReadable_",o.destroyed,o.length,o.ended),!o.destroyed&&!o.errored&&(o.length||o.ended))g.emit("readable"),o.emittedReadable=!1;o.needReadable=!o.flowing&&!o.ended&&o.length<=o.highWaterMark,N0(g)}function _0(g,o){if(!o.readingMore&&o.constructed)o.readingMore=!0,Z.nextTick(E0,g,o)}function E0(g,o){while(!o.reading&&!o.ended&&(o.length<o.highWaterMark||o.flowing&&o.length===0)){let Z0=o.length;if(h("maybeReadMore read 0"),g.read(0),Z0===o.length)break}o.readingMore=!1}t.prototype._read=function(g){throw new I("_read()")},t.prototype.pipe=function(g,o){let Z0=this,$0=this._readableState;if($0.pipes.length===1){if(!$0.multiAwaitDrain)$0.multiAwaitDrain=!0,$0.awaitDrainWriters=new H($0.awaitDrainWriters?[$0.awaitDrainWriters]:[])}$0.pipes.push(g),h("pipe count=%d opts=%j",$0.pipes.length,o);let r0=(!o||o.end!==!1)&&g!==Z.stdout&&g!==Z.stderr?q0:G1;if($0.endEmitted)Z.nextTick(r0);else Z0.once("end",r0);g.on("unpipe",F0);function F0(C1,M1){if(h("onunpipe"),C1===Z0){if(M1&&M1.hasUnpiped===!1)M1.hasUnpiped=!0,u0()}}function q0(){h("onend"),g.end()}let x1,x0=!1;function u0(){if(h("cleanup"),g.removeListener("close",g1),g.removeListener("finish",I1),x1)g.removeListener("drain",x1);if(g.removeListener("error",A0),g.removeListener("unpipe",F0),Z0.removeListener("end",q0),Z0.removeListener("end",G1),Z0.removeListener("data",g0),x0=!0,x1&&$0.awaitDrainWriters&&(!g._writableState||g._writableState.needDrain))x1()}function F2(){if(!x0){if($0.pipes.length===1&&$0.pipes[0]===g)h("false write response, pause",0),$0.awaitDrainWriters=g,$0.multiAwaitDrain=!1;else if($0.pipes.length>1&&$0.pipes.includes(g))h("false write response, pause",$0.awaitDrainWriters.size),$0.awaitDrainWriters.add(g);Z0.pause()}if(!x1)x1=q2(Z0,g),g.on("drain",x1)}Z0.on("data",g0);function g0(C1){h("ondata");let M1=g.write(C1);if(h("dest.write",M1),M1===!1)F2()}function A0(C1){if(h("onerror",C1),G1(),g.removeListener("error",A0),g.listenerCount("error")===0){let M1=g._writableState||g._readableState;if(M1&&!M1.errorEmitted)A(g,C1);else g.emit("error",C1)}}j(g,"error",A0);function g1(){g.removeListener("finish",I1),G1()}g.once("close",g1);function I1(){h("onfinish"),g.removeListener("close",g1),G1()}g.once("finish",I1);function G1(){h("unpipe"),Z0.unpipe(g)}if(g.emit("pipe",Z0),g.writableNeedDrain===!0)F2();else if(!$0.flowing)h("pipe resume"),Z0.resume();return g};function q2(g,o){return function(){let Z0=g._readableState;if(Z0.awaitDrainWriters===o)h("pipeOnDrain",1),Z0.awaitDrainWriters=null;else if(Z0.multiAwaitDrain)h("pipeOnDrain",Z0.awaitDrainWriters.size),Z0.awaitDrainWriters.delete(o);if((!Z0.awaitDrainWriters||Z0.awaitDrainWriters.size===0)&&g.listenerCount("data"))g.resume()}}t.prototype.unpipe=function(g){let o=this._readableState,Z0={hasUnpiped:!1};if(o.pipes.length===0)return this;if(!g){let r0=o.pipes;o.pipes=[],this.pause();for(let F0=0;F0<r0.length;F0++)r0[F0].emit("unpipe",this,{hasUnpiped:!1});return this}let $0=X(o.pipes,g);if($0===-1)return this;if(o.pipes.splice($0,1),o.pipes.length===0)this.pause();return g.emit("unpipe",this,Z0),this},t.prototype.on=function(g,o){let Z0=_.prototype.on.call(this,g,o),$0=this._readableState;if(g==="data"){if($0.readableListening=this.listenerCount("readable")>0,$0.flowing!==!1)this.resume()}else if(g==="readable"){if(!$0.endEmitted&&!$0.readableListening){if($0.readableListening=$0.needReadable=!0,$0.flowing=!1,$0.emittedReadable=!1,h("on readable",$0.length,$0.reading),$0.length)S0(this);else if(!$0.reading)Z.nextTick(f0,this)}}return Z0},t.prototype.addListener=t.prototype.on,t.prototype.removeListener=function(g,o){let Z0=_.prototype.removeListener.call(this,g,o);if(g==="readable")Z.nextTick(B0,this);return Z0},t.prototype.off=t.prototype.removeListener,t.prototype.removeAllListeners=function(g){let o=_.prototype.removeAllListeners.apply(this,arguments);if(g==="readable"||g===void 0)Z.nextTick(B0,this);return o};function B0(g){let o=g._readableState;if(o.readableListening=g.listenerCount("readable")>0,o.resumeScheduled&&o[M]===!1)o.flowing=!0;else if(g.listenerCount("data")>0)g.resume();else if(!o.readableListening)o.flowing=null}function f0(g){h("readable nexttick read 0"),g.read(0)}t.prototype.resume=function(){let g=this._readableState;if(!g.flowing)h("resume"),g.flowing=!g.readableListening,C2(this,g);return g[M]=!1,this};function C2(g,o){if(!o.resumeScheduled)o.resumeScheduled=!0,Z.nextTick(p0,g,o)}function p0(g,o){if(h("resume",o.reading),!o.reading)g.read(0);if(o.resumeScheduled=!1,g.emit("resume"),N0(g),o.flowing&&!o.reading)g.read(0)}t.prototype.pause=function(){if(h("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)h("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState[M]=!0,this};function N0(g){let o=g._readableState;h("flow",o.flowing);while(o.flowing&&g.read()!==null);}t.prototype.wrap=function(g){let o=!1;g.on("data",($0)=>{if(!this.push($0)&&g.pause)o=!0,g.pause()}),g.on("end",()=>{this.push(null)}),g.on("error",($0)=>{A(this,$0)}),g.on("close",()=>{this.destroy()}),g.on("destroy",()=>{this.destroy()}),this._read=()=>{if(o&&g.resume)o=!1,g.resume()};let Z0=z(g);for(let $0=1;$0<Z0.length;$0++){let r0=Z0[$0];if(this[r0]===void 0&&typeof g[r0]==="function")this[r0]=g[r0].bind(g)}return this},t.prototype[E]=function(){return H2(this)},t.prototype.iterator=function(g){if(g!==void 0)R(g,"options");return H2(this,g)};function H2(g,o){if(typeof g.read!=="function")g=t.wrap(g,{objectMode:!0});let Z0=v0(g,o);return Z0.stream=g,Z0}async function*v0(g,o){let Z0=F;function $0(q0){if(this===g)Z0(),Z0=F;else Z0=q0}g.on("readable",$0);let r0,F0=x(g,{writable:!1},(q0)=>{r0=q0?d(r0,q0):null,Z0(),Z0=F});try{while(!0){let q0=g.destroyed?null:g.read();if(q0!==null)yield q0;else if(r0)throw r0;else if(r0===null)return;else await new S($0)}}catch(q0){throw r0=d(r0,q0),r0}finally{if((r0||(o===null||o===void 0?void 0:o.destroyOnReturn)!==!1)&&(r0===void 0||g._readableState.autoDestroy))T0.destroyer(g,null);else g.off("readable",$0),F0()}}L(t.prototype,{readable:{__proto__:null,get(){let g=this._readableState;return!!g&&g.readable!==!1&&!g.destroyed&&!g.errorEmitted&&!g.endEmitted},set(g){if(this._readableState)this._readableState.readable=!!g}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(g){if(this._readableState)this._readableState.flowing=g}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(g){if(!this._readableState)return;this._readableState.destroyed=g}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),L(b0.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[M]!==!1},set(g){this[M]=!!g}}}),t._fromList=w0;function w0(g,o){if(o.length===0)return null;let Z0;if(o.objectMode)Z0=o.buffer.shift();else if(!g||g>=o.length){if(o.decoder)Z0=o.buffer.join("");else if(o.buffer.length===1)Z0=o.buffer.first();else Z0=o.buffer.concat(o.length);o.buffer.clear()}else Z0=o.buffer.consume(g,o.decoder);return Z0}function K2(g){let o=g._readableState;if(h("endReadable",o.endEmitted),!o.endEmitted)o.ended=!0,Z.nextTick(h0,o,g)}function h0(g,o){if(h("endReadableNT",g.endEmitted,g.length),!g.errored&&!g.closeEmitted&&!g.endEmitted&&g.length===0){if(g.endEmitted=!0,o.emit("end"),o.writable&&o.allowHalfOpen===!1)Z.nextTick(c0,o);else if(g.autoDestroy){let Z0=o._writableState;if(!Z0||Z0.autoDestroy&&(Z0.finished||Z0.writable===!1))o.destroy()}}}function c0(g){if(g.writable&&!g.writableEnded&&!g.destroyed)g.end()}t.from=function(g,o){return $(t,g,o)};var W2;function y0(){if(W2===void 0)W2={};return W2}t.fromWeb=function(g,o){return y0().newStreamReadableFromReadableStream(g,o)},t.toWeb=function(g,o){return y0().newReadableStreamFromStreamReadable(g,o)},t.wrap=function(g,o){var Z0,$0;return new t({objectMode:(Z0=($0=g.readableObjectMode)!==null&&$0!==void 0?$0:g.objectMode)!==null&&Z0!==void 0?Z0:!0,...o,destroy(r0,F0){T0.destroyer(g,r0),F0(r0)}}).wrap(g)}}),GZ=z1((U,Q)=>{var Z=H4(),{ArrayPrototypeSlice:X,Error:J,FunctionPrototypeSymbolHasInstance:Y,ObjectDefineProperty:G,ObjectDefineProperties:L,ObjectSetPrototypeOf:z,StringPrototypeToLowerCase:D,Symbol:S,SymbolHasInstance:H}=w1();Q.exports=R,R.WritableState=T;var{EventEmitter:q}=(t7(),L1(a7)),E=JZ().Stream,{Buffer:P}=(V2(),L1(L2)),k=m4(),{addAbortSignal:_}=T9(),{getHighWaterMark:j,getDefaultHighWaterMark:B}=K9(),{ERR_INVALID_ARG_TYPE:y,ERR_METHOD_NOT_IMPLEMENTED:x,ERR_MULTIPLE_CALLBACK:h,ERR_STREAM_CANNOT_PIPE:r,ERR_STREAM_DESTROYED:T0,ERR_STREAM_ALREADY_FINISHED:L0,ERR_STREAM_NULL_VALUES:I0,ERR_STREAM_WRITE_AFTER_END:d,ERR_UNKNOWN_ENCODING:J0}=j2().codes,{errorOrDestroy:I}=k;z(R.prototype,E.prototype),z(R,E);function K(){}var O=S("kOnFinished");function T(c,l,W0){if(typeof W0!=="boolean")W0=l instanceof A6();if(this.objectMode=!!(c&&c.objectMode),W0)this.objectMode=this.objectMode||!!(c&&c.writableObjectMode);this.highWaterMark=c?j(this,c,"writableHighWaterMark",W0):B(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let e=!!(c&&c.decodeStrings===!1);this.decodeStrings=!e,this.defaultEncoding=c&&c.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=A.bind(void 0,l),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,W(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!c||c.emitClose!==!1,this.autoDestroy=!c||c.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[O]=[]}function W(c){c.buffered=[],c.bufferedIndex=0,c.allBuffers=!0,c.allNoop=!0}T.prototype.getBuffer=function(){return X(this.buffered,this.bufferedIndex)},G(T.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function R(c){let l=this instanceof A6();if(!l&&!Y(R,this))return new R(c);if(this._writableState=new T(c,this,l),c){if(typeof c.write==="function")this._write=c.write;if(typeof c.writev==="function")this._writev=c.writev;if(typeof c.destroy==="function")this._destroy=c.destroy;if(typeof c.final==="function")this._final=c.final;if(typeof c.construct==="function")this._construct=c.construct;if(c.signal)_(c.signal,this)}E.call(this,c),k.construct(this,()=>{let W0=this._writableState;if(!W0.writing)b(this,W0);n(this,W0)})}G(R,H,{__proto__:null,value:function(c){if(Y(this,c))return!0;if(this!==R)return!1;return c&&c._writableState instanceof T}}),R.prototype.pipe=function(){I(this,new r)};function M(c,l,W0,e){let X0=c._writableState;if(typeof W0==="function")e=W0,W0=X0.defaultEncoding;else{if(!W0)W0=X0.defaultEncoding;else if(W0!=="buffer"&&!P.isEncoding(W0))throw new J0(W0);if(typeof e!=="function")e=K}if(l===null)throw new I0;else if(!X0.objectMode)if(typeof l==="string"){if(X0.decodeStrings!==!1)l=P.from(l,W0),W0="buffer"}else if(l instanceof P)W0="buffer";else if(E._isUint8Array(l))l=E._uint8ArrayToBuffer(l),W0="buffer";else throw new y("chunk",["string","Buffer","Uint8Array"],l);let j0;if(X0.ending)j0=new d;else if(X0.destroyed)j0=new T0("write");if(j0)return Z.nextTick(e,j0),I(c,j0,!0),j0;return X0.pendingcb++,V(c,X0,l,W0,e)}R.prototype.write=function(c,l,W0){return M(this,c,l,W0)===!0},R.prototype.cork=function(){this._writableState.corked++},R.prototype.uncork=function(){let c=this._writableState;if(c.corked){if(c.corked--,!c.writing)b(this,c)}},R.prototype.setDefaultEncoding=function(c){if(typeof c==="string")c=D(c);if(!P.isEncoding(c))throw new J0(c);return this._writableState.defaultEncoding=c,this};function V(c,l,W0,e,X0){let j0=l.objectMode?1:W0.length;l.length+=j0;let u=l.length<l.highWaterMark;if(!u)l.needDrain=!0;if(l.writing||l.corked||l.errored||!l.constructed){if(l.buffered.push({chunk:W0,encoding:e,callback:X0}),l.allBuffers&&e!=="buffer")l.allBuffers=!1;if(l.allNoop&&X0!==K)l.allNoop=!1}else l.writelen=j0,l.writecb=X0,l.writing=!0,l.sync=!0,c._write(W0,e,l.onwrite),l.sync=!1;return u&&!l.errored&&!l.destroyed}function $(c,l,W0,e,X0,j0,u){if(l.writelen=e,l.writecb=u,l.writing=!0,l.sync=!0,l.destroyed)l.onwrite(new T0("write"));else if(W0)c._writev(X0,l.onwrite);else c._write(X0,j0,l.onwrite);l.sync=!1}function F(c,l,W0,e){--l.pendingcb,e(W0),f(l),I(c,W0)}function A(c,l){let W0=c._writableState,e=W0.sync,X0=W0.writecb;if(typeof X0!=="function"){I(c,new h);return}if(W0.writing=!1,W0.writecb=null,W0.length-=W0.writelen,W0.writelen=0,l){if(l.stack,!W0.errored)W0.errored=l;if(c._readableState&&!c._readableState.errored)c._readableState.errored=l;if(e)Z.nextTick(F,c,W0,l,X0);else F(c,W0,l,X0)}else{if(W0.buffered.length>W0.bufferedIndex)b(c,W0);if(e)if(W0.afterWriteTickInfo!==null&&W0.afterWriteTickInfo.cb===X0)W0.afterWriteTickInfo.count++;else W0.afterWriteTickInfo={count:1,cb:X0,stream:c,state:W0},Z.nextTick(C,W0.afterWriteTickInfo);else N(c,W0,1,X0)}}function C({stream:c,state:l,count:W0,cb:e}){return l.afterWriteTickInfo=null,N(c,l,W0,e)}function N(c,l,W0,e){if(!l.ending&&!c.destroyed&&l.length===0&&l.needDrain)l.needDrain=!1,c.emit("drain");while(W0-- >0)l.pendingcb--,e();if(l.destroyed)f(l);n(c,l)}function f(c){if(c.writing)return;for(let X0=c.bufferedIndex;X0<c.buffered.length;++X0){var l;let{chunk:j0,callback:u}=c.buffered[X0],s=c.objectMode?1:j0.length;c.length-=s,u((l=c.errored)!==null&&l!==void 0?l:new T0("write"))}let W0=c[O].splice(0);for(let X0=0;X0<W0.length;X0++){var e;W0[X0]((e=c.errored)!==null&&e!==void 0?e:new T0("end"))}W(c)}function b(c,l){if(l.corked||l.bufferProcessing||l.destroyed||!l.constructed)return;let{buffered:W0,bufferedIndex:e,objectMode:X0}=l,j0=W0.length-e;if(!j0)return;let u=e;if(l.bufferProcessing=!0,j0>1&&c._writev){l.pendingcb-=j0-1;let s=l.allNoop?K:(t)=>{for(let Y0=u;Y0<W0.length;++Y0)W0[Y0].callback(t)},b0=l.allNoop&&u===0?W0:X(W0,u);b0.allBuffers=l.allBuffers,$(c,l,!0,l.length,b0,"",s),W(l)}else{do{let{chunk:s,encoding:b0,callback:t}=W0[u];W0[u++]=null;let Y0=X0?1:s.length;$(c,l,!1,Y0,s,b0,t)}while(u<W0.length&&!l.writing);if(u===W0.length)W(l);else if(u>256)W0.splice(0,u),l.bufferedIndex=0;else l.bufferedIndex=u}l.bufferProcessing=!1}R.prototype._write=function(c,l,W0){if(this._writev)this._writev([{chunk:c,encoding:l}],W0);else throw new x("_write()")},R.prototype._writev=null,R.prototype.end=function(c,l,W0){let e=this._writableState;if(typeof c==="function")W0=c,c=null,l=null;else if(typeof l==="function")W0=l,l=null;let X0;if(c!==null&&c!==void 0){let j0=M(this,c,l);if(j0 instanceof J)X0=j0}if(e.corked)e.corked=1,this.uncork();if(X0);else if(!e.errored&&!e.ending)e.ending=!0,n(this,e,!0),e.ended=!0;else if(e.finished)X0=new L0("end");else if(e.destroyed)X0=new T0("end");if(typeof W0==="function")if(X0||e.finished)Z.nextTick(W0,X0);else e[O].push(W0);return this};function i(c){return c.ending&&!c.destroyed&&c.constructed&&c.length===0&&!c.errored&&c.buffered.length===0&&!c.finished&&!c.writing&&!c.errorEmitted&&!c.closeEmitted}function D0(c,l){let W0=!1;function e(X0){if(W0){I(c,X0!==null&&X0!==void 0?X0:h());return}if(W0=!0,l.pendingcb--,X0){let j0=l[O].splice(0);for(let u=0;u<j0.length;u++)j0[u](X0);I(c,X0,l.sync)}else if(i(l))l.prefinished=!0,c.emit("prefinish"),l.pendingcb++,Z.nextTick(K0,c,l)}l.sync=!0,l.pendingcb++;try{c._final(e)}catch(X0){e(X0)}l.sync=!1}function Q0(c,l){if(!l.prefinished&&!l.finalCalled)if(typeof c._final==="function"&&!l.destroyed)l.finalCalled=!0,D0(c,l);else l.prefinished=!0,c.emit("prefinish")}function n(c,l,W0){if(i(l)){if(Q0(c,l),l.pendingcb===0){if(W0)l.pendingcb++,Z.nextTick((e,X0)=>{if(i(X0))K0(e,X0);else X0.pendingcb--},c,l);else if(i(l))l.pendingcb++,K0(c,l)}}}function K0(c,l){l.pendingcb--,l.finished=!0;let W0=l[O].splice(0);for(let e=0;e<W0.length;e++)W0[e]();if(c.emit("finish"),l.autoDestroy){let e=c._readableState;if(!e||e.autoDestroy&&(e.endEmitted||e.readable===!1))c.destroy()}}L(R.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(c){if(this._writableState)this._writableState.destroyed=c}},writable:{__proto__:null,get(){let c=this._writableState;return!!c&&c.writable!==!1&&!c.destroyed&&!c.errored&&!c.ending&&!c.ended},set(c){if(this._writableState)this._writableState.writable=!!c}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let c=this._writableState;if(!c)return!1;return!c.destroyed&&!c.ending&&c.needDrain}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var a=k.destroy;R.prototype.destroy=function(c,l){let W0=this._writableState;if(!W0.destroyed&&(W0.bufferedIndex<W0.buffered.length||W0[O].length))Z.nextTick(f,W0);return a.call(this,c,l),this},R.prototype._undestroy=k.undestroy,R.prototype._destroy=function(c,l){l(c)},R.prototype[q.captureRejectionSymbol]=function(c){this.destroy(c)};var G0;function m0(){if(G0===void 0)G0={};return G0}R.fromWeb=function(c,l){return m0().newStreamWritableFromWritableStream(c,l)},R.toWeb=function(c){return m0().newWritableStreamFromStreamWritable(c)}}),tW=z1((U,Q)=>{var Z=H4(),X=(V2(),L1(L2)),{isReadable:J,isWritable:Y,isIterable:G,isNodeStream:L,isReadableNodeStream:z,isWritableNodeStream:D,isDuplexNodeStream:S,isReadableStream:H,isWritableStream:q}=j6(),E=o6(),{AbortError:P,codes:{ERR_INVALID_ARG_TYPE:k,ERR_INVALID_RETURN_VALUE:_}}=j2(),{destroyer:j}=m4(),B=A6(),y=W9(),x=GZ(),{createDeferredPromise:h}=v2(),r=hI(),T0=globalThis.Blob||X.Blob,L0=typeof T0<"u"?function(O){return O instanceof T0}:function(O){return!1},I0=globalThis.AbortController||e7().AbortController,{FunctionPrototypeCall:d}=w1();class J0 extends B{constructor(O){super(O);if((O===null||O===void 0?void 0:O.readable)===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if((O===null||O===void 0?void 0:O.writable)===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}}Q.exports=function O(T,W){if(S(T))return T;if(z(T))return K({readable:T});if(D(T))return K({writable:T});if(L(T))return K({writable:!1,readable:!1});if(H(T))return K({readable:y.fromWeb(T)});if(q(T))return K({writable:x.fromWeb(T)});if(typeof T==="function"){let{value:M,write:V,final:$,destroy:F}=I(T);if(G(M))return r(J0,M,{objectMode:!0,write:V,final:$,destroy:F});let A=M===null||M===void 0?void 0:M.then;if(typeof A==="function"){let C,N=d(A,M,(f)=>{if(f!=null)throw new _("nully","body",f)},(f)=>{j(C,f)});return C=new J0({objectMode:!0,readable:!1,write:V,final(f){$(async()=>{try{await N,Z.nextTick(f,null)}catch(b){Z.nextTick(f,b)}})},destroy:F})}throw new _("Iterable, AsyncIterable or AsyncFunction",W,M)}if(L0(T))return O(T.arrayBuffer());if(G(T))return r(J0,T,{objectMode:!0,writable:!1});if(H(T===null||T===void 0?void 0:T.readable)&&q(T===null||T===void 0?void 0:T.writable))return J0.fromWeb(T);if(typeof(T===null||T===void 0?void 0:T.writable)==="object"||typeof(T===null||T===void 0?void 0:T.readable)==="object"){let M=T!==null&&T!==void 0&&T.readable?z(T===null||T===void 0?void 0:T.readable)?T===null||T===void 0?void 0:T.readable:O(T.readable):void 0,V=T!==null&&T!==void 0&&T.writable?D(T===null||T===void 0?void 0:T.writable)?T===null||T===void 0?void 0:T.writable:O(T.writable):void 0;return K({readable:M,writable:V})}let R=T===null||T===void 0?void 0:T.then;if(typeof R==="function"){let M;return d(R,T,(V)=>{if(V!=null)M.push(V);M.push(null)},(V)=>{j(M,V)}),M=new J0({objectMode:!0,writable:!1,read(){}})}throw new k(W,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],T)};function I(O){let{promise:T,resolve:W}=h(),R=new I0,M=R.signal;return{value:O(async function*(){while(!0){let V=T;T=null;let{chunk:$,done:F,cb:A}=await V;if(Z.nextTick(A),F)return;if(M.aborted)throw new P(void 0,{cause:M.reason});({promise:T,resolve:W}=h()),yield $}}(),{signal:M}),write(V,$,F){let A=W;W=null,A({chunk:V,done:!1,cb:F})},final(V){let $=W;W=null,$({done:!0,cb:V})},destroy(V,$){R.abort(),$(V)}}}function K(O){let T=O.readable&&typeof O.readable.read!=="function"?y.wrap(O.readable):O.readable,W=O.writable,R=!!J(T),M=!!Y(W),V,$,F,A,C;function N(f){let b=A;if(A=null,b)b(f);else if(f)C.destroy(f)}if(C=new J0({readableObjectMode:!!(T!==null&&T!==void 0&&T.readableObjectMode),writableObjectMode:!!(W!==null&&W!==void 0&&W.writableObjectMode),readable:R,writable:M}),M)E(W,(f)=>{if(M=!1,f)j(T,f);N(f)}),C._write=function(f,b,i){if(W.write(f,b))i();else V=i},C._final=function(f){W.end(),$=f},W.on("drain",function(){if(V){let f=V;V=null,f()}}),W.on("finish",function(){if($){let f=$;$=null,f()}});if(R)E(T,(f)=>{if(R=!1,f)j(T,f);N(f)}),T.on("readable",function(){if(F){let f=F;F=null,f()}}),T.on("end",function(){C.push(null)}),C._read=function(){while(!0){let f=T.read();if(f===null){F=C._read;return}if(!C.push(f))return}};return C._destroy=function(f,b){if(!f&&A!==null)f=new P;if(F=null,V=null,$=null,A===null)b(f);else A=b,j(W,f),j(T,f)},C}}),A6=z1((U,Q)=>{var{ObjectDefineProperties:Z,ObjectGetOwnPropertyDescriptor:X,ObjectKeys:J,ObjectSetPrototypeOf:Y}=w1();Q.exports=z;var G=W9(),L=GZ();Y(z.prototype,G.prototype),Y(z,G);{let q=J(L.prototype);for(let E=0;E<q.length;E++){let P=q[E];if(!z.prototype[P])z.prototype[P]=L.prototype[P]}}function z(q){if(!(this instanceof z))return new z(q);if(G.call(this,q),L.call(this,q),q){if(this.allowHalfOpen=q.allowHalfOpen!==!1,q.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(q.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}Z(z.prototype,{writable:{__proto__:null,...X(L.prototype,"writable")},writableHighWaterMark:{__proto__:null,...X(L.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...X(L.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...X(L.prototype,"writableBuffer")},writableLength:{__proto__:null,...X(L.prototype,"writableLength")},writableFinished:{__proto__:null,...X(L.prototype,"writableFinished")},writableCorked:{__proto__:null,...X(L.prototype,"writableCorked")},writableEnded:{__proto__:null,...X(L.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...X(L.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(q){if(this._readableState&&this._writableState)this._readableState.destroyed=q,this._writableState.destroyed=q}}});var D;function S(){if(D===void 0)D={};return D}z.fromWeb=function(q,E){return S().newStreamDuplexFromReadableWritablePair(q,E)},z.toWeb=function(q){return S().newReadableWritablePairFromDuplex(q)};var H;z.from=function(q){if(!H)H=tW();return H(q,"body")}}),cI=z1((U,Q)=>{var{ObjectSetPrototypeOf:Z,Symbol:X}=w1();Q.exports=z;var{ERR_METHOD_NOT_IMPLEMENTED:J}=j2().codes,Y=A6(),{getHighWaterMark:G}=K9();Z(z.prototype,Y.prototype),Z(z,Y);var L=X("kCallback");function z(H){if(!(this instanceof z))return new z(H);let q=H?G(this,H,"readableHighWaterMark",!0):null;if(q===0)H={...H,highWaterMark:null,readableHighWaterMark:q,writableHighWaterMark:H.writableHighWaterMark||0};if(Y.call(this,H),this._readableState.sync=!1,this[L]=null,H){if(typeof H.transform==="function")this._transform=H.transform;if(typeof H.flush==="function")this._flush=H.flush}this.on("prefinish",S)}function D(H){if(typeof this._flush==="function"&&!this.destroyed)this._flush((q,E)=>{if(q){if(H)H(q);else this.destroy(q);return}if(E!=null)this.push(E);if(this.push(null),H)H()});else if(this.push(null),H)H()}function S(){if(this._final!==D)D.call(this)}z.prototype._final=D,z.prototype._transform=function(H,q,E){throw new J("_transform()")},z.prototype._write=function(H,q,E){let P=this._readableState,k=this._writableState,_=P.length;this._transform(H,q,(j,B)=>{if(j){E(j);return}if(B!=null)this.push(B);if(k.ended||_===P.length||P.length<P.highWaterMark)E();else this[L]=E})},z.prototype._read=function(){if(this[L]){let H=this[L];this[L]=null,H()}}}),uI=z1((U,Q)=>{var{ObjectSetPrototypeOf:Z}=w1();Q.exports=J;var X=cI();Z(J.prototype,X.prototype),Z(J,X);function J(Y){if(!(this instanceof J))return new J(Y);X.call(this,Y)}J.prototype._transform=function(Y,G,L){L(null,Y)}}),IZ=z1((U,Q)=>{var Z=H4(),{ArrayIsArray:X,Promise:J,SymbolAsyncIterator:Y,SymbolDispose:G}=w1(),L=o6(),{once:z}=v2(),D=m4(),S=A6(),{aggregateTwoErrors:H,codes:{ERR_INVALID_ARG_TYPE:q,ERR_INVALID_RETURN_VALUE:E,ERR_MISSING_ARGS:P,ERR_STREAM_DESTROYED:k,ERR_STREAM_PREMATURE_CLOSE:_},AbortError:j}=j2(),{validateFunction:B,validateAbortSignal:y}=U5(),{isIterable:x,isReadable:h,isReadableNodeStream:r,isNodeStream:T0,isTransformStream:L0,isWebStream:I0,isReadableStream:d,isReadableFinished:J0}=j6(),I=globalThis.AbortController||e7().AbortController,K,O,T;function W(f,b,i){let D0=!1;f.on("close",()=>{D0=!0});let Q0=L(f,{readable:b,writable:i},(n)=>{D0=!n});return{destroy:(n)=>{if(D0)return;D0=!0,D.destroyer(f,n||new k("pipe"))},cleanup:Q0}}function R(f){return B(f[f.length-1],"streams[stream.length - 1]"),f.pop()}function M(f){if(x(f))return f;else if(r(f))return V(f);throw new q("val",["Readable","Iterable","AsyncIterable"],f)}async function*V(f){if(!O)O=W9();yield*O.prototype[Y].call(f)}async function $(f,b,i,{end:D0}){let Q0,n=null,K0=(m0)=>{if(m0)Q0=m0;if(n){let c=n;n=null,c()}},a=()=>new J((m0,c)=>{if(Q0)c(Q0);else n=()=>{if(Q0)c(Q0);else m0()}});b.on("drain",K0);let G0=L(b,{readable:!1},K0);try{if(b.writableNeedDrain)await a();for await(let m0 of f)if(!b.write(m0))await a();if(D0)b.end(),await a();i()}catch(m0){i(Q0!==m0?H(Q0,m0):m0)}finally{G0(),b.off("drain",K0)}}async function F(f,b,i,{end:D0}){if(L0(b))b=b.writable;let Q0=b.getWriter();try{for await(let n of f)await Q0.ready,Q0.write(n).catch(()=>{});if(await Q0.ready,D0)await Q0.close();i()}catch(n){try{await Q0.abort(n),i(n)}catch(K0){i(K0)}}}function A(...f){return C(f,z(R(f)))}function C(f,b,i){if(f.length===1&&X(f[0]))f=f[0];if(f.length<2)throw new P("streams");let D0=new I,Q0=D0.signal,n=i===null||i===void 0?void 0:i.signal,K0=[];y(n,"options.signal");function a(){X0(new j)}T=T||v2().addAbortListener;let G0;if(n)G0=T(n,a);let m0,c,l=[],W0=0;function e(t){X0(t,--W0===0)}function X0(t,Y0){var e0;if(t&&(!m0||m0.code==="ERR_STREAM_PREMATURE_CLOSE"))m0=t;if(!m0&&!Y0)return;while(l.length)l.shift()(m0);if((e0=G0)===null||e0===void 0||e0[G](),D0.abort(),Y0){if(!m0)K0.forEach((R0)=>R0());Z.nextTick(b,m0,c)}}let j0;for(let t=0;t<f.length;t++){let Y0=f[t],e0=t<f.length-1,R0=t>0,z0=e0||(i===null||i===void 0?void 0:i.end)!==!1,y1=t===f.length-1;if(T0(Y0)){let H0=function(S0){if(S0&&S0.name!=="AbortError"&&S0.code!=="ERR_STREAM_PREMATURE_CLOSE")e(S0)};var u=H0;if(z0){let{destroy:S0,cleanup:h1}=W(Y0,e0,R0);if(l.push(S0),h(Y0)&&y1)K0.push(h1)}if(Y0.on("error",H0),h(Y0)&&y1)K0.push(()=>{Y0.removeListener("error",H0)})}if(t===0)if(typeof Y0==="function"){if(j0=Y0({signal:Q0}),!x(j0))throw new E("Iterable, AsyncIterable or Stream","source",j0)}else if(x(Y0)||r(Y0)||L0(Y0))j0=Y0;else j0=S.from(Y0);else if(typeof Y0==="function"){if(L0(j0)){var s;j0=M((s=j0)===null||s===void 0?void 0:s.readable)}else j0=M(j0);if(j0=Y0(j0,{signal:Q0}),e0){if(!x(j0,!0))throw new E("AsyncIterable",`transform[${t-1}]`,j0)}else{var b0;if(!K)K=uI();let H0=new K({objectMode:!0}),S0=(b0=j0)===null||b0===void 0?void 0:b0.then;if(typeof S0==="function")W0++,S0.call(j0,(E0)=>{if(c=E0,E0!=null)H0.write(E0);if(z0)H0.end();Z.nextTick(e)},(E0)=>{H0.destroy(E0),Z.nextTick(e,E0)});else if(x(j0,!0))W0++,$(j0,H0,e,{end:z0});else if(d(j0)||L0(j0)){let E0=j0.readable||j0;W0++,$(E0,H0,e,{end:z0})}else throw new E("AsyncIterable or Promise","destination",j0);j0=H0;let{destroy:h1,cleanup:_0}=W(j0,!1,!0);if(l.push(h1),y1)K0.push(_0)}}else if(T0(Y0)){if(r(j0)){W0+=2;let H0=N(j0,Y0,e,{end:z0});if(h(Y0)&&y1)K0.push(H0)}else if(L0(j0)||d(j0)){let H0=j0.readable||j0;W0++,$(H0,Y0,e,{end:z0})}else if(x(j0))W0++,$(j0,Y0,e,{end:z0});else throw new q("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],j0);j0=Y0}else if(I0(Y0)){if(r(j0))W0++,F(M(j0),Y0,e,{end:z0});else if(d(j0)||x(j0))W0++,F(j0,Y0,e,{end:z0});else if(L0(j0))W0++,F(j0.readable,Y0,e,{end:z0});else throw new q("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],j0);j0=Y0}else j0=S.from(Y0)}if(Q0!==null&&Q0!==void 0&&Q0.aborted||n!==null&&n!==void 0&&n.aborted)Z.nextTick(a);return j0}function N(f,b,i,{end:D0}){let Q0=!1;if(b.on("close",()=>{if(!Q0)i(new _)}),f.pipe(b,{end:!1}),D0){let K0=function(){Q0=!0,b.end()};var n=K0;if(J0(f))Z.nextTick(K0);else f.once("end",K0)}else i();return L(f,{readable:!0,writable:!1},(K0)=>{let a=f._readableState;if(K0&&K0.code==="ERR_STREAM_PREMATURE_CLOSE"&&a&&a.ended&&!a.errored&&!a.errorEmitted)f.once("end",i).once("error",i);else i(K0)}),L(b,{readable:!1,writable:!0},i)}Q.exports={pipelineImpl:C,pipeline:A}}),bI=z1((U,Q)=>{var{pipeline:Z}=IZ(),X=A6(),{destroyer:J}=m4(),{isNodeStream:Y,isReadable:G,isWritable:L,isWebStream:z,isTransformStream:D,isWritableStream:S,isReadableStream:H}=j6(),{AbortError:q,codes:{ERR_INVALID_ARG_VALUE:E,ERR_MISSING_ARGS:P}}=j2(),k=o6();Q.exports=function(..._){if(_.length===0)throw new P("streams");if(_.length===1)return X.from(_[0]);let j=[..._];if(typeof _[0]==="function")_[0]=X.from(_[0]);if(typeof _[_.length-1]==="function"){let I=_.length-1;_[I]=X.from(_[I])}for(let I=0;I<_.length;++I){if(!Y(_[I])&&!z(_[I]))continue;if(I<_.length-1&&!(G(_[I])||H(_[I])||D(_[I])))throw new E(`streams[${I}]`,j[I],"must be readable");if(I>0&&!(L(_[I])||S(_[I])||D(_[I])))throw new E(`streams[${I}]`,j[I],"must be writable")}let B,y,x,h,r;function T0(I){let K=h;if(h=null,K)K(I);else if(I)r.destroy(I);else if(!J0&&!d)r.destroy()}let L0=_[0],I0=Z(_,T0),d=!!(L(L0)||S(L0)||D(L0)),J0=!!(G(I0)||H(I0)||D(I0));if(r=new X({writableObjectMode:!!(L0!==null&&L0!==void 0&&L0.writableObjectMode),readableObjectMode:!!(I0!==null&&I0!==void 0&&I0.readableObjectMode),writable:d,readable:J0}),d){if(Y(L0))r._write=function(K,O,T){if(L0.write(K,O))T();else B=T},r._final=function(K){L0.end(),y=K},L0.on("drain",function(){if(B){let K=B;B=null,K()}});else if(z(L0)){let K=(D(L0)?L0.writable:L0).getWriter();r._write=async function(O,T,W){try{await K.ready,K.write(O).catch(()=>{}),W()}catch(R){W(R)}},r._final=async function(O){try{await K.ready,K.close().catch(()=>{}),y=O}catch(T){O(T)}}}let I=D(I0)?I0.readable:I0;k(I,()=>{if(y){let K=y;y=null,K()}})}if(J0){if(Y(I0))I0.on("readable",function(){if(x){let I=x;x=null,I()}}),I0.on("end",function(){r.push(null)}),r._read=function(){while(!0){let I=I0.read();if(I===null){x=r._read;return}if(!r.push(I))return}};else if(z(I0)){let I=(D(I0)?I0.readable:I0).getReader();r._read=async function(){while(!0)try{let{value:K,done:O}=await I.read();if(!r.push(K))return;if(O){r.push(null);return}}catch{return}}}}return r._destroy=function(I,K){if(!I&&h!==null)I=new q;if(x=null,B=null,y=null,h===null)K(I);else if(h=K,Y(I0))J(I0,I)},r}}),eW=z1((U,Q)=>{var Z=globalThis.AbortController||e7().AbortController,{codes:{ERR_INVALID_ARG_VALUE:X,ERR_INVALID_ARG_TYPE:J,ERR_MISSING_ARGS:Y,ERR_OUT_OF_RANGE:G},AbortError:L}=j2(),{validateAbortSignal:z,validateInteger:D,validateObject:S}=U5(),H=w1().Symbol("kWeak"),q=w1().Symbol("kResistStopPropagation"),{finished:E}=o6(),P=bI(),{addAbortSignalNoValidate:k}=T9(),{isWritable:_,isNodeStream:j}=j6(),{deprecate:B}=v2(),{ArrayPrototypePush:y,Boolean:x,MathFloor:h,Number:r,NumberIsNaN:T0,Promise:L0,PromiseReject:I0,PromiseResolve:d,PromisePrototypeThen:J0,Symbol:I}=w1(),K=I("kEmpty"),O=I("kEof");function T(n,K0){if(K0!=null)S(K0,"options");if((K0===null||K0===void 0?void 0:K0.signal)!=null)z(K0.signal,"options.signal");if(j(n)&&!_(n))throw new X("stream",n,"must be writable");let a=P(this,n);if(K0!==null&&K0!==void 0&&K0.signal)k(K0.signal,a);return a}function W(n,K0){if(typeof n!=="function")throw new J("fn",["Function","AsyncFunction"],n);if(K0!=null)S(K0,"options");if((K0===null||K0===void 0?void 0:K0.signal)!=null)z(K0.signal,"options.signal");let a=1;if((K0===null||K0===void 0?void 0:K0.concurrency)!=null)a=h(K0.concurrency);let G0=a-1;if((K0===null||K0===void 0?void 0:K0.highWaterMark)!=null)G0=h(K0.highWaterMark);return D(a,"options.concurrency",1),D(G0,"options.highWaterMark",0),G0+=a,async function*(){let m0=v2().AbortSignalAny([K0===null||K0===void 0?void 0:K0.signal].filter(x)),c=this,l=[],W0={signal:m0},e,X0,j0=!1,u=0;function s(){j0=!0,b0()}function b0(){u-=1,t()}function t(){if(X0&&!j0&&u<a&&l.length<G0)X0(),X0=null}async function Y0(){try{for await(let e0 of c){if(j0)return;if(m0.aborted)throw new L;try{if(e0=n(e0,W0),e0===K)continue;e0=d(e0)}catch(R0){e0=I0(R0)}if(u+=1,J0(e0,b0,s),l.push(e0),e)e(),e=null;if(!j0&&(l.length>=G0||u>=a))await new L0((R0)=>{X0=R0})}l.push(O)}catch(e0){let R0=I0(e0);J0(R0,b0,s),l.push(R0)}finally{if(j0=!0,e)e(),e=null}}Y0();try{while(!0){while(l.length>0){let e0=await l[0];if(e0===O)return;if(m0.aborted)throw new L;if(e0!==K)yield e0;l.shift(),t()}await new L0((e0)=>{e=e0})}}finally{if(j0=!0,X0)X0(),X0=null}}.call(this)}function R(n=void 0){if(n!=null)S(n,"options");if((n===null||n===void 0?void 0:n.signal)!=null)z(n.signal,"options.signal");return async function*(){let K0=0;for await(let G0 of this){var a;if(n!==null&&n!==void 0&&(a=n.signal)!==null&&a!==void 0&&a.aborted)throw new L({cause:n.signal.reason});yield[K0++,G0]}}.call(this)}async function M(n,K0=void 0){for await(let a of A.call(this,n,K0))return!0;return!1}async function V(n,K0=void 0){if(typeof n!=="function")throw new J("fn",["Function","AsyncFunction"],n);return!await M.call(this,async(...a)=>{return!await n(...a)},K0)}async function $(n,K0){for await(let a of A.call(this,n,K0))return a;return}async function F(n,K0){if(typeof n!=="function")throw new J("fn",["Function","AsyncFunction"],n);async function a(G0,m0){return await n(G0,m0),K}for await(let G0 of W.call(this,a,K0));}function A(n,K0){if(typeof n!=="function")throw new J("fn",["Function","AsyncFunction"],n);async function a(G0,m0){if(await n(G0,m0))return G0;return K}return W.call(this,a,K0)}class C extends Y{constructor(){super("reduce");this.message="Reduce of an empty stream requires an initial value"}}async function N(n,K0,a){var G0;if(typeof n!=="function")throw new J("reducer",["Function","AsyncFunction"],n);if(a!=null)S(a,"options");if((a===null||a===void 0?void 0:a.signal)!=null)z(a.signal,"options.signal");let m0=arguments.length>1;if(a!==null&&a!==void 0&&(G0=a.signal)!==null&&G0!==void 0&&G0.aborted){let X0=new L(void 0,{cause:a.signal.reason});throw this.once("error",()=>{}),await E(this.destroy(X0)),X0}let c=new Z,l=c.signal;if(a!==null&&a!==void 0&&a.signal){let X0={once:!0,[H]:this,[q]:!0};a.signal.addEventListener("abort",()=>c.abort(),X0)}let W0=!1;try{for await(let X0 of this){var e;if(W0=!0,a!==null&&a!==void 0&&(e=a.signal)!==null&&e!==void 0&&e.aborted)throw new L;if(!m0)K0=X0,m0=!0;else K0=await n(K0,X0,{signal:l})}if(!W0&&!m0)throw new C}finally{c.abort()}return K0}async function f(n){if(n!=null)S(n,"options");if((n===null||n===void 0?void 0:n.signal)!=null)z(n.signal,"options.signal");let K0=[];for await(let G0 of this){var a;if(n!==null&&n!==void 0&&(a=n.signal)!==null&&a!==void 0&&a.aborted)throw new L(void 0,{cause:n.signal.reason});y(K0,G0)}return K0}function b(n,K0){let a=W.call(this,n,K0);return async function*(){for await(let G0 of a)yield*G0}.call(this)}function i(n){if(n=r(n),T0(n))return 0;if(n<0)throw new G("number",">= 0",n);return n}function D0(n,K0=void 0){if(K0!=null)S(K0,"options");if((K0===null||K0===void 0?void 0:K0.signal)!=null)z(K0.signal,"options.signal");return n=i(n),async function*(){var a;if(K0!==null&&K0!==void 0&&(a=K0.signal)!==null&&a!==void 0&&a.aborted)throw new L;for await(let m0 of this){var G0;if(K0!==null&&K0!==void 0&&(G0=K0.signal)!==null&&G0!==void 0&&G0.aborted)throw new L;if(n--<=0)yield m0}}.call(this)}function Q0(n,K0=void 0){if(K0!=null)S(K0,"options");if((K0===null||K0===void 0?void 0:K0.signal)!=null)z(K0.signal,"options.signal");return n=i(n),async function*(){var a;if(K0!==null&&K0!==void 0&&(a=K0.signal)!==null&&a!==void 0&&a.aborted)throw new L;for await(let m0 of this){var G0;if(K0!==null&&K0!==void 0&&(G0=K0.signal)!==null&&G0!==void 0&&G0.aborted)throw new L;if(n-- >0)yield m0;if(n<=0)return}}.call(this)}Q.exports.streamReturningOperators={asIndexedPairs:B(R,"readable.asIndexedPairs will be removed in a future version."),drop:D0,filter:A,flatMap:b,map:W,take:Q0,compose:T},Q.exports.promiseReturningOperators={every:V,forEach:F,reduce:N,toArray:f,some:M,find:$}}),lI=z1((U,Q)=>{var{ArrayPrototypePop:Z,Promise:X}=w1(),{isIterable:J,isNodeStream:Y,isWebStream:G}=j6(),{pipelineImpl:L}=IZ(),{finished:z}=o6();dI();function D(...S){return new X((H,q)=>{let E,P,k=S[S.length-1];if(k&&typeof k==="object"&&!Y(k)&&!J(k)&&!G(k)){let _=Z(S);E=_.signal,P=_.end}L(S,(_,j)=>{if(_)q(_);else H(j)},{signal:E,end:P})})}Q.exports={finished:z,pipeline:D}}),dI=z1((U,Q)=>{var{Buffer:Z}=(V2(),L1(L2)),{ObjectDefineProperty:X,ObjectKeys:J,ReflectApply:Y}=w1(),{promisify:{custom:G}}=v2(),{streamReturningOperators:L,promiseReturningOperators:z}=eW(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:D}}=j2(),S=bI(),{setDefaultHighWaterMark:H,getDefaultHighWaterMark:q}=K9(),{pipeline:E}=IZ(),{destroyer:P}=m4(),k=o6(),_=lI(),j=j6(),B=Q.exports=JZ().Stream;B.isDestroyed=j.isDestroyed,B.isDisturbed=j.isDisturbed,B.isErrored=j.isErrored,B.isReadable=j.isReadable,B.isWritable=j.isWritable,B.Readable=W9();for(let x of J(L)){let h=function(...T0){if(new.target)throw D();return B.Readable.from(Y(r,this,T0))},r=L[x];X(h,"name",{__proto__:null,value:r.name}),X(h,"length",{__proto__:null,value:r.length}),X(B.Readable.prototype,x,{__proto__:null,value:h,enumerable:!1,configurable:!0,writable:!0})}for(let x of J(z)){let h=function(...T0){if(new.target)throw D();return Y(r,this,T0)},r=z[x];X(h,"name",{__proto__:null,value:r.name}),X(h,"length",{__proto__:null,value:r.length}),X(B.Readable.prototype,x,{__proto__:null,value:h,enumerable:!1,configurable:!0,writable:!0})}B.Writable=GZ(),B.Duplex=A6(),B.Transform=cI(),B.PassThrough=uI(),B.pipeline=E;var{addAbortSignal:y}=T9();B.addAbortSignal=y,B.finished=k,B.destroy=P,B.compose=S,B.setDefaultHighWaterMark=H,B.getDefaultHighWaterMark=q,X(B,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),X(E,G,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),X(k,G,{__proto__:null,enumerable:!0,get(){return _.finished}}),B.Stream=B,B._isUint8Array=function(x){return x instanceof Uint8Array},B._uint8ArrayToBuffer=function(x){return Z.from(x.buffer,x.byteOffset,x.byteLength)}}),UO=z1((U,Q)=>{var Z=$Z();{let X=dI(),J=lI(),Y=X.Readable.destroy;Q.exports=X.Readable,Q.exports._uint8ArrayToBuffer=X._uint8ArrayToBuffer,Q.exports._isUint8Array=X._isUint8Array,Q.exports.isDisturbed=X.isDisturbed,Q.exports.isErrored=X.isErrored,Q.exports.isReadable=X.isReadable,Q.exports.Readable=X.Readable,Q.exports.Writable=X.Writable,Q.exports.Duplex=X.Duplex,Q.exports.Transform=X.Transform,Q.exports.PassThrough=X.PassThrough,Q.exports.addAbortSignal=X.addAbortSignal,Q.exports.finished=X.finished,Q.exports.destroy=X.destroy,Q.exports.destroy=Y,Q.exports.pipeline=X.pipeline,Q.exports.compose=X.compose,Object.defineProperty(X,"promises",{configurable:!0,enumerable:!0,get(){return J}}),Q.exports.Stream=X.Stream}Q.exports.default=Q.exports});oI.exports=UO()});var m2={};H5(m2,{webcrypto:()=>jV,rng:()=>bL,randomUUID:()=>kV,randomFillSync:()=>MV,randomFill:()=>SV,randomBytes:()=>lL,publicEncrypt:()=>HV,publicDecrypt:()=>RV,pseudoRandomBytes:()=>uL,prng:()=>cL,privateEncrypt:()=>FV,privateDecrypt:()=>zV,pbkdf2Sync:()=>sL,pbkdf2:()=>nL,listCiphers:()=>GV,getRandomValues:()=>PV,getHashes:()=>rL,getDiffieHellman:()=>YV,getCurves:()=>AV,getCiphers:()=>JV,default:()=>BV,createVerify:()=>LV,createSign:()=>WV,createHmac:()=>mL,createHash:()=>RZ,createECDH:()=>DV,createDiffieHellmanGroup:()=>$V,createDiffieHellman:()=>TV,createDecipheriv:()=>XV,createDecipher:()=>QV,createCredentials:()=>qV,createCipheriv:()=>eL,createCipher:()=>aL,constants:()=>CV,Verify:()=>VV,Sign:()=>OV,Hmac:()=>oL,Hash:()=>dL,DiffieHellmanGroup:()=>IV,DiffieHellman:()=>KV,Decipheriv:()=>ZV,Decipher:()=>UV,DEFAULT_ENCODING:()=>EV,Cipheriv:()=>tL,Cipher:()=>iL});function GO(U){return this[U]}function AV(){return _V}var QO,ZO,mI,XO,JO,IO,$O,YO=(U,Q,Z)=>{var X=U!=null&&typeof U==="object";if(X){var J=Q?IO??=new WeakMap:$O??=new WeakMap,Y=J.get(U);if(Y)return Y}Z=U!=null?QO(ZO(U)):{};let G=Q||!U||!U.__esModule?mI(Z,"default",{value:U,enumerable:!0}):Z;for(let L of XO(U))if(!JO.call(G,L))mI(G,L,{get:GO.bind(U,L),enumerable:!0});if(X)J.set(U,G);return G},O0=(U,Q)=>()=>(Q||U((Q={exports:{}}).exports,Q),Q.exports),O9,L9,nI,TO,TZ,KZ,B2,KO,Z5,sI,WO,OO,LO,VO,iI,DO,HO,FO,RO,zO,SO,MO,qO,CO,EO,X5,V9,aI,PO,tI,eI,kO,J5,WZ,OZ,_O,U$,LZ,AO,Q$,jO,Z$,X$,BO,NO,wO,yO,xO,gO,fO,pO,vO,hO,cO,uO,bO,lO,VZ,J$,dO,G$,oO,mO,rO,nO,B6,m6,I$,a2,$$,D9,sO,o2,iO,aO,tO,Y$,H6,G5,T$,eO,K$,UL,W$,QL,ZL,XL,JL,DZ,GL,HZ,IL,$L,YL,TL,KL,WL,OL,LL,VL,DL,HL,FL,RL,zL,rI,SL,Q5,ML,O$,L$,qL,CL,V$,EL,PL,I5,kL,_L,AL,jL,BL,NL,D$,wL,H$,F$,R$,FZ,z$,yL,S$,xL,gL,YZ,fL,pL,vL,hL,Y1,cL,uL,bL,lL,dL,RZ,oL,mL,rL,nL,sL,iL,aL,tL,eL,UV,QV,ZV,XV,JV,GV,IV,$V,YV,TV,KV,WV,OV,LV,VV,DV,HV,FV,RV,zV,SV,MV,qV,CV,EV="buffer",PV=(U)=>{return crypto.getRandomValues(U)},kV=()=>{return crypto.randomUUID()},_V,jV,BV;var h2=F5(()=>{QO=Object.create,{getPrototypeOf:ZO,defineProperty:mI,getOwnPropertyNames:XO}=Object,JO=Object.prototype.hasOwnProperty;O9=O0((U,Q)=>{Q.exports=(h2(),L1(m2)).randomBytes}),L9=O0((U,Q)=>{Q.exports=(h2(),L1(m2)).createHash}),nI=O0((U,Q)=>{Q.exports=(h2(),L1(m2)).createHmac}),TO=O0((U,Q)=>{Q.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}}),TZ=O0((U,Q)=>{var Z=isFinite,X=Math.pow(2,30)-1;Q.exports=function(J,Y){if(typeof J!=="number")throw TypeError("Iterations not a number");if(J<0||!Z(J))throw TypeError("Bad iterations");if(typeof Y!=="number")throw TypeError("Key length not a number");if(Y<0||Y>X||Y!==Y)throw TypeError("Bad key length")}}),KZ=O0((U,Q)=>{var Z;if(globalThis.process&&globalThis.process.browser)Z="utf-8";else if(globalThis.process&&globalThis.process.version)X=parseInt(process.version.split(".")[0].slice(1),10),Z=X>=6?"utf-8":"binary";else Z="utf-8";var X;Q.exports=Z}),B2=O0((U,Q)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var Z=(V2(),L1(L2)),X=Z.Buffer;function J(G,L){for(var z in G)L[z]=G[z]}if(X.from&&X.alloc&&X.allocUnsafe&&X.allocUnsafeSlow)Q.exports=Z;else J(Z,U),U.Buffer=Y;function Y(G,L,z){return X(G,L,z)}Y.prototype=Object.create(X.prototype),J(X,Y),Y.from=function(G,L,z){if(typeof G==="number")throw TypeError("Argument must not be a number");return X(G,L,z)},Y.alloc=function(G,L,z){if(typeof G!=="number")throw TypeError("Argument must be a number");var D=X(G);if(L!==void 0)if(typeof z==="string")D.fill(L,z);else D.fill(L);else D.fill(0);return D},Y.allocUnsafe=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return X(G)},Y.allocUnsafeSlow=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return Z.SlowBuffer(G)}}),KO=O0((U,Q)=>{var Z={}.toString;Q.exports=Array.isArray||function(X){return Z.call(X)=="[object Array]"}}),Z5=O0((U,Q)=>{Q.exports=TypeError}),sI=O0((U,Q)=>{Q.exports=Object}),WO=O0((U,Q)=>{Q.exports=Error}),OO=O0((U,Q)=>{Q.exports=EvalError}),LO=O0((U,Q)=>{Q.exports=RangeError}),VO=O0((U,Q)=>{Q.exports=ReferenceError}),iI=O0((U,Q)=>{Q.exports=SyntaxError}),DO=O0((U,Q)=>{Q.exports=URIError}),HO=O0((U,Q)=>{Q.exports=Math.abs}),FO=O0((U,Q)=>{Q.exports=Math.floor}),RO=O0((U,Q)=>{Q.exports=Math.max}),zO=O0((U,Q)=>{Q.exports=Math.min}),SO=O0((U,Q)=>{Q.exports=Math.pow}),MO=O0((U,Q)=>{Q.exports=Math.round}),qO=O0((U,Q)=>{Q.exports=Number.isNaN||function(Z){return Z!==Z}}),CO=O0((U,Q)=>{var Z=qO();Q.exports=function(X){if(Z(X)||X===0)return X;return X<0?-1:1}}),EO=O0((U,Q)=>{Q.exports=Object.getOwnPropertyDescriptor}),X5=O0((U,Q)=>{var Z=EO();if(Z)try{Z([],"length")}catch(X){Z=null}Q.exports=Z}),V9=O0((U,Q)=>{var Z=Object.defineProperty||!1;if(Z)try{Z({},"a",{value:1})}catch(X){Z=!1}Q.exports=Z}),aI=O0((U,Q)=>{Q.exports=function(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function")return!1;if(typeof Symbol.iterator==="symbol")return!0;var Z={},X=Symbol("test"),J=Object(X);if(typeof X==="string")return!1;if(Object.prototype.toString.call(X)!=="[object Symbol]")return!1;if(Object.prototype.toString.call(J)!=="[object Symbol]")return!1;var Y=42;Z[X]=Y;for(var G in Z)return!1;if(typeof Object.keys==="function"&&Object.keys(Z).length!==0)return!1;if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(Z).length!==0)return!1;var L=Object.getOwnPropertySymbols(Z);if(L.length!==1||L[0]!==X)return!1;if(!Object.prototype.propertyIsEnumerable.call(Z,X))return!1;if(typeof Object.getOwnPropertyDescriptor==="function"){var z=Object.getOwnPropertyDescriptor(Z,X);if(z.value!==Y||z.enumerable!==!0)return!1}return!0}}),PO=O0((U,Q)=>{var Z=typeof Symbol<"u"&&Symbol,X=aI();Q.exports=function(){if(typeof Z!=="function")return!1;if(typeof Symbol!=="function")return!1;if(typeof Z("foo")!=="symbol")return!1;if(typeof Symbol("bar")!=="symbol")return!1;return X()}}),tI=O0((U,Q)=>{Q.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}),eI=O0((U,Q)=>{var Z=sI();Q.exports=Z.getPrototypeOf||null}),kO=O0((U,Q)=>{var Z="Function.prototype.bind called on incompatible ",X=Object.prototype.toString,J=Math.max,Y="[object Function]",G=function(D,S){var H=[];for(var q=0;q<D.length;q+=1)H[q]=D[q];for(var E=0;E<S.length;E+=1)H[E+D.length]=S[E];return H},L=function(D,S){var H=[];for(var q=S||0,E=0;q<D.length;q+=1,E+=1)H[E]=D[q];return H},z=function(D,S){var H="";for(var q=0;q<D.length;q+=1)if(H+=D[q],q+1<D.length)H+=S;return H};Q.exports=function(D){var S=this;if(typeof S!=="function"||X.apply(S)!==Y)throw TypeError(Z+S);var H=L(arguments,1),q,E=function(){if(this instanceof q){var B=S.apply(this,G(H,arguments));if(Object(B)===B)return B;return this}return S.apply(D,G(H,arguments))},P=J(0,S.length-H.length),k=[];for(var _=0;_<P;_++)k[_]="$"+_;if(q=Function("binder","return function ("+z(k,",")+"){ return binder.apply(this,arguments); }")(E),S.prototype){var j=function(){};j.prototype=S.prototype,q.prototype=new j,j.prototype=null}return q}}),J5=O0((U,Q)=>{var Z=kO();Q.exports=Function.prototype.bind||Z}),WZ=O0((U,Q)=>{Q.exports=Function.prototype.call}),OZ=O0((U,Q)=>{Q.exports=Function.prototype.apply}),_O=O0((U,Q)=>{Q.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply}),U$=O0((U,Q)=>{var Z=J5(),X=OZ(),J=WZ(),Y=_O();Q.exports=Y||Z.call(J,X)}),LZ=O0((U,Q)=>{var Z=J5(),X=Z5(),J=WZ(),Y=U$();Q.exports=function(G){if(G.length<1||typeof G[0]!=="function")throw new X("a function is required");return Y(Z,J,G)}}),AO=O0((U,Q)=>{var Z=LZ(),X=X5(),J;try{J=[].__proto__===Array.prototype}catch(z){if(!z||typeof z!=="object"||!("code"in z)||z.code!=="ERR_PROTO_ACCESS")throw z}var Y=!!J&&X&&X(Object.prototype,"__proto__"),G=Object,L=G.getPrototypeOf;Q.exports=Y&&typeof Y.get==="function"?Z([Y.get]):typeof L==="function"?function(z){return L(z==null?z:G(z))}:!1}),Q$=O0((U,Q)=>{var Z=tI(),X=eI(),J=AO();Q.exports=Z?function(Y){return Z(Y)}:X?function(Y){if(!Y||typeof Y!=="object"&&typeof Y!=="function")throw TypeError("getProto: not an object");return X(Y)}:J?function(Y){return J(Y)}:null}),jO=O0((U,Q)=>{var Z=Function.prototype.call,X=Object.prototype.hasOwnProperty,J=J5();Q.exports=J.call(Z,X)}),Z$=O0((U,Q)=>{var Z,X=sI(),J=WO(),Y=OO(),G=LO(),L=VO(),z=iI(),D=Z5(),S=DO(),H=HO(),q=FO(),E=RO(),P=zO(),k=SO(),_=MO(),j=CO(),B=Function,y=function(K0){try{return B('"use strict"; return ('+K0+").constructor;")()}catch(a){}},x=X5(),h=V9(),r=function(){throw new D},T0=x?function(){try{return arguments.callee,r}catch(K0){try{return x(arguments,"callee").get}catch(a){return r}}}():r,L0=PO()(),I0=Q$(),d=eI(),J0=tI(),I=OZ(),K=WZ(),O={},T=typeof Uint8Array>"u"||!I0?Z:I0(Uint8Array),W={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?Z:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Z:ArrayBuffer,"%ArrayIteratorPrototype%":L0&&I0?I0([][Symbol.iterator]()):Z,"%AsyncFromSyncIteratorPrototype%":Z,"%AsyncFunction%":O,"%AsyncGenerator%":O,"%AsyncGeneratorFunction%":O,"%AsyncIteratorPrototype%":O,"%Atomics%":typeof Atomics>"u"?Z:Atomics,"%BigInt%":typeof BigInt>"u"?Z:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Z:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Z:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Z:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":J,"%eval%":eval,"%EvalError%":Y,"%Float16Array%":typeof Float16Array>"u"?Z:Float16Array,"%Float32Array%":typeof Float32Array>"u"?Z:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Z:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Z:FinalizationRegistry,"%Function%":B,"%GeneratorFunction%":O,"%Int8Array%":typeof Int8Array>"u"?Z:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Z:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Z:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":L0&&I0?I0(I0([][Symbol.iterator]())):Z,"%JSON%":typeof JSON==="object"?JSON:Z,"%Map%":typeof Map>"u"?Z:Map,"%MapIteratorPrototype%":typeof Map>"u"||!L0||!I0?Z:I0(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":X,"%Object.getOwnPropertyDescriptor%":x,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Z:Promise,"%Proxy%":typeof Proxy>"u"?Z:Proxy,"%RangeError%":G,"%ReferenceError%":L,"%Reflect%":typeof Reflect>"u"?Z:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Z:Set,"%SetIteratorPrototype%":typeof Set>"u"||!L0||!I0?Z:I0(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Z:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":L0&&I0?I0(""[Symbol.iterator]()):Z,"%Symbol%":L0?Symbol:Z,"%SyntaxError%":z,"%ThrowTypeError%":T0,"%TypedArray%":T,"%TypeError%":D,"%Uint8Array%":typeof Uint8Array>"u"?Z:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Z:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Z:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Z:Uint32Array,"%URIError%":S,"%WeakMap%":typeof WeakMap>"u"?Z:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Z:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Z:WeakSet,"%Function.prototype.call%":K,"%Function.prototype.apply%":I,"%Object.defineProperty%":h,"%Object.getPrototypeOf%":d,"%Math.abs%":H,"%Math.floor%":q,"%Math.max%":E,"%Math.min%":P,"%Math.pow%":k,"%Math.round%":_,"%Math.sign%":j,"%Reflect.getPrototypeOf%":J0};if(I0)try{null.error}catch(K0){R=I0(I0(K0)),W["%Error.prototype%"]=R}var R,M=function K0(a){var G0;if(a==="%AsyncFunction%")G0=y("async function () {}");else if(a==="%GeneratorFunction%")G0=y("function* () {}");else if(a==="%AsyncGeneratorFunction%")G0=y("async function* () {}");else if(a==="%AsyncGenerator%"){var m0=K0("%AsyncGeneratorFunction%");if(m0)G0=m0.prototype}else if(a==="%AsyncIteratorPrototype%"){var c=K0("%AsyncGenerator%");if(c&&I0)G0=I0(c.prototype)}return W[a]=G0,G0},V={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},$=J5(),F=jO(),A=$.call(K,Array.prototype.concat),C=$.call(I,Array.prototype.splice),N=$.call(K,String.prototype.replace),f=$.call(K,String.prototype.slice),b=$.call(K,RegExp.prototype.exec),i=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,D0=/\\(\\)?/g,Q0=function(K0){var a=f(K0,0,1),G0=f(K0,-1);if(a==="%"&&G0!=="%")throw new z("invalid intrinsic syntax, expected closing `%`");else if(G0==="%"&&a!=="%")throw new z("invalid intrinsic syntax, expected opening `%`");var m0=[];return N(K0,i,function(c,l,W0,e){m0[m0.length]=W0?N(e,D0,"$1"):l||c}),m0},n=function(K0,a){var G0=K0,m0;if(F(V,G0))m0=V[G0],G0="%"+m0[0]+"%";if(F(W,G0)){var c=W[G0];if(c===O)c=M(G0);if(typeof c>"u"&&!a)throw new D("intrinsic "+K0+" exists, but is not available. Please file an issue!");return{alias:m0,name:G0,value:c}}throw new z("intrinsic "+K0+" does not exist!")};Q.exports=function(K0,a){if(typeof K0!=="string"||K0.length===0)throw new D("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof a!=="boolean")throw new D('"allowMissing" argument must be a boolean');if(b(/^%?[^%]*%?$/,K0)===null)throw new z("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var G0=Q0(K0),m0=G0.length>0?G0[0]:"",c=n("%"+m0+"%",a),l=c.name,W0=c.value,e=!1,X0=c.alias;if(X0)m0=X0[0],C(G0,A([0,1],X0));for(var j0=1,u=!0;j0<G0.length;j0+=1){var s=G0[j0],b0=f(s,0,1),t=f(s,-1);if((b0==='"'||b0==="'"||b0==="`"||(t==='"'||t==="'"||t==="`"))&&b0!==t)throw new z("property names with quotes must have matching quotes");if(s==="constructor"||!u)e=!0;if(m0+="."+s,l="%"+m0+"%",F(W,l))W0=W[l];else if(W0!=null){if(!(s in W0)){if(!a)throw new D("base intrinsic for "+K0+" exists, but the property is not available.");return}if(x&&j0+1>=G0.length){var Y0=x(W0,s);if(u=!!Y0,u&&"get"in Y0&&!("originalValue"in Y0.get))W0=Y0.get;else W0=W0[s]}else u=F(W0,s),W0=W0[s];if(u&&!e)W[l]=W0}}return W0}}),X$=O0((U,Q)=>{var Z=Z$(),X=LZ(),J=X([Z("%String.prototype.indexOf%")]);Q.exports=function(Y,G){var L=Z(Y,!!G);if(typeof L==="function"&&J(Y,".prototype.")>-1)return X([L]);return L}}),BO=O0((U,Q)=>{var Z=Function.prototype.toString,X=typeof Reflect==="object"&&Reflect!==null&&Reflect.apply,J,Y;if(typeof X==="function"&&typeof Object.defineProperty==="function")try{J=Object.defineProperty({},"length",{get:function(){throw Y}}),Y={},X(function(){throw 42},null,J)}catch(x){if(x!==Y)X=null}else X=null;var G=/^\s*class\b/,L=function(x){try{var h=Z.call(x);return G.test(h)}catch(r){return!1}},z=function(x){try{if(L(x))return!1;return Z.call(x),!0}catch(h){return!1}},D=Object.prototype.toString,S="[object Object]",H="[object Function]",q="[object GeneratorFunction]",E="[object HTMLAllCollection]",P="[object HTML document.all class]",k="[object HTMLCollection]",_=typeof Symbol==="function"&&!!Symbol.toStringTag,j=!(0 in[,]),B=function(){return!1};if(typeof document==="object"){if(y=document.all,D.call(y)===D.call(document.all))B=function(x){if((j||!x)&&(typeof x>"u"||typeof x==="object"))try{var h=D.call(x);return(h===E||h===P||h===k||h===S)&&x("")==null}catch(r){}return!1}}var y;Q.exports=X?function(x){if(B(x))return!0;if(!x)return!1;if(typeof x!=="function"&&typeof x!=="object")return!1;try{X(x,null,J)}catch(h){if(h!==Y)return!1}return!L(x)&&z(x)}:function(x){if(B(x))return!0;if(!x)return!1;if(typeof x!=="function"&&typeof x!=="object")return!1;if(_)return z(x);if(L(x))return!1;var h=D.call(x);if(h!==H&&h!==q&&!/^\[object HTML/.test(h))return!1;return z(x)}}),NO=O0((U,Q)=>{var Z=BO(),X=Object.prototype.toString,J=Object.prototype.hasOwnProperty,Y=function(D,S,H){for(var q=0,E=D.length;q<E;q++)if(J.call(D,q))if(H==null)S(D[q],q,D);else S.call(H,D[q],q,D)},G=function(D,S,H){for(var q=0,E=D.length;q<E;q++)if(H==null)S(D.charAt(q),q,D);else S.call(H,D.charAt(q),q,D)},L=function(D,S,H){for(var q in D)if(J.call(D,q))if(H==null)S(D[q],q,D);else S.call(H,D[q],q,D)};function z(D){return X.call(D)==="[object Array]"}Q.exports=function(D,S,H){if(!Z(S))throw TypeError("iterator must be a function");var q;if(arguments.length>=3)q=H;if(z(D))Y(D,S,q);else if(typeof D==="string")G(D,S,q);else L(D,S,q)}}),wO=O0((U,Q)=>{Q.exports=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]}),yO=O0((U,Q)=>{var Z=wO(),X=typeof globalThis>"u"?globalThis:globalThis;Q.exports=function(){var J=[];for(var Y=0;Y<Z.length;Y++)if(typeof X[Z[Y]]==="function")J[J.length]=Z[Y];return J}}),xO=O0((U,Q)=>{var Z=V9(),X=iI(),J=Z5(),Y=X5();Q.exports=function(G,L,z){if(!G||typeof G!=="object"&&typeof G!=="function")throw new J("`obj` must be an object or a function`");if(typeof L!=="string"&&typeof L!=="symbol")throw new J("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=="boolean"&&arguments[3]!==null)throw new J("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=="boolean"&&arguments[4]!==null)throw new J("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=="boolean"&&arguments[5]!==null)throw new J("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=="boolean")throw new J("`loose`, if provided, must be a boolean");var D=arguments.length>3?arguments[3]:null,S=arguments.length>4?arguments[4]:null,H=arguments.length>5?arguments[5]:null,q=arguments.length>6?arguments[6]:!1,E=!!Y&&Y(G,L);if(Z)Z(G,L,{configurable:H===null&&E?E.configurable:!H,enumerable:D===null&&E?E.enumerable:!D,value:z,writable:S===null&&E?E.writable:!S});else if(q||!D&&!S&&!H)G[L]=z;else throw new X("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}}),gO=O0((U,Q)=>{var Z=V9(),X=function(){return!!Z};X.hasArrayLengthDefineBug=function(){if(!Z)return null;try{return Z([],"length",{value:1}).length!==1}catch(J){return!0}},Q.exports=X}),fO=O0((U,Q)=>{var Z=Z$(),X=xO(),J=gO()(),Y=X5(),G=Z5(),L=Z("%Math.floor%");Q.exports=function(z,D){if(typeof z!=="function")throw new G("`fn` is not a function");if(typeof D!=="number"||D<0||D>4294967295||L(D)!==D)throw new G("`length` must be a positive 32-bit integer");var S=arguments.length>2&&!!arguments[2],H=!0,q=!0;if("length"in z&&Y){var E=Y(z,"length");if(E&&!E.configurable)H=!1;if(E&&!E.writable)q=!1}if(H||q||!S)if(J)X(z,"length",D,!0,!0);else X(z,"length",D);return z}}),pO=O0((U,Q)=>{var Z=J5(),X=OZ(),J=U$();Q.exports=function(){return J(Z,X,arguments)}}),vO=O0((U,Q)=>{var Z=fO(),X=V9(),J=LZ(),Y=pO();if(Q.exports=function(G){var L=J(arguments),z=G.length-(arguments.length-1);return Z(L,1+(z>0?z:0),!0)},X)X(Q.exports,"apply",{value:Y});else Q.exports.apply=Y}),hO=O0((U,Q)=>{var Z=aI();Q.exports=function(){return Z()&&!!Symbol.toStringTag}}),cO=O0((U,Q)=>{var Z=NO(),X=yO(),J=vO(),Y=X$(),G=X5(),L=Q$(),z=Y("Object.prototype.toString"),D=hO()(),S=typeof globalThis>"u"?globalThis:globalThis,H=X(),q=Y("String.prototype.slice"),E=Y("Array.prototype.indexOf",!0)||function(j,B){for(var y=0;y<j.length;y+=1)if(j[y]===B)return y;return-1},P={__proto__:null};if(D&&G&&L)Z(H,function(j){var B=new S[j];if(Symbol.toStringTag in B&&L){var y=L(B),x=G(y,Symbol.toStringTag);if(!x&&y){var h=L(y);x=G(h,Symbol.toStringTag)}P["$"+j]=J(x.get)}});else Z(H,function(j){var B=new S[j],y=B.slice||B.set;if(y)P["$"+j]=J(y)});var k=function(j){var B=!1;return Z(P,function(y,x){if(!B)try{if("$"+y(j)===x)B=q(x,1)}catch(h){}}),B},_=function(j){var B=!1;return Z(P,function(y,x){if(!B)try{y(j),B=q(x,1)}catch(h){}}),B};Q.exports=function(j){if(!j||typeof j!=="object")return!1;if(!D){var B=q(z(j),8,-1);if(E(H,B)>-1)return B;if(B!=="Object")return!1;return _(j)}if(!G)return null;return k(j)}}),uO=O0((U,Q)=>{var Z=cO();Q.exports=function(X){return!!Z(X)}}),bO=O0((U,Q)=>{var Z=Z5(),X=X$(),J=X("TypedArray.prototype.buffer",!0),Y=uO();Q.exports=J||function(G){if(!Y(G))throw new Z("Not a Typed Array");return G.buffer}}),lO=O0((U,Q)=>{var Z=B2().Buffer,X=KO(),J=bO(),Y=ArrayBuffer.isView||function(D){try{return J(D),!0}catch(S){return!1}},G=typeof Uint8Array<"u",L=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",z=L&&(Z.prototype instanceof Uint8Array||Z.TYPED_ARRAY_SUPPORT);Q.exports=function(D,S){if(Z.isBuffer(D)){if(D.constructor&&!("isBuffer"in D))return Z.from(D);return D}if(typeof D==="string")return Z.from(D,S);if(L&&Y(D)){if(D.byteLength===0)return Z.alloc(0);if(z){var H=Z.from(D.buffer,D.byteOffset,D.byteLength);if(H.byteLength===D.byteLength)return H}var q=D instanceof Uint8Array?D:new Uint8Array(D.buffer,D.byteOffset,D.byteLength),E=Z.from(q);if(E.length===D.byteLength)return E}if(G&&D instanceof Uint8Array)return Z.from(D);var P=X(D);if(P)for(var k=0;k<D.length;k+=1){var _=D[k];if(typeof _!=="number"||_<0||_>255||~~_!==_)throw RangeError("Array items must be numbers in the range 0-255.")}if(P||Z.isBuffer(D)&&D.constructor&&typeof D.constructor.isBuffer==="function"&&D.constructor.isBuffer(D))return Z.from(D);throw TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}}),VZ=O0((U,Q)=>{var Z=B2().Buffer,X=lO(),J=typeof Uint8Array<"u",Y=J&&typeof ArrayBuffer<"u",G=Y&&ArrayBuffer.isView;Q.exports=function(L,z,D){if(typeof L==="string"||Z.isBuffer(L)||J&&L instanceof Uint8Array||G&&G(L))return X(L,z);throw TypeError(D+" must be a string, a Buffer, a Uint8Array, or a DataView")}}),J$=O0((U,Q)=>{var Z={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,"sha512-256":32,rmd160:20,ripemd160:20},X={__proto__:null,"sha-1":"sha1","sha-224":"sha224","sha-256":"sha256","sha-384":"sha384","sha-512":"sha512","ripemd-160":"ripemd160"},J=nI(),Y=B2().Buffer,G=TZ(),L=KZ(),z=VZ();function D(S,H,q,E,P){G(q,E),S=z(S,L,"Password"),H=z(H,L,"Salt");var k=(P||"sha1").toLowerCase(),_=X[k]||k,j=Z[_];if(typeof j!=="number"||!j)throw TypeError("Digest algorithm not supported: "+P);var B=Y.allocUnsafe(E),y=Y.allocUnsafe(H.length+4);H.copy(y,0,0,H.length);var x=0,h=j,r=Math.ceil(E/h);for(var T0=1;T0<=r;T0++){y.writeUInt32BE(T0,H.length);var L0=J(_,S).update(y).digest(),I0=L0;for(var d=1;d<q;d++){I0=J(_,S).update(I0).digest();for(var J0=0;J0<h;J0++)L0[J0]^=I0[J0]}L0.copy(B,x),x+=h}return B}Q.exports=D}),dO=O0((U,Q)=>{var Z=B2().Buffer,X=TZ(),J=KZ(),Y=J$(),G=VZ(),L,z=globalThis.crypto&&globalThis.crypto.subtle,D={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},S=[],H;function q(){if(H)return H;if(globalThis.process&&globalThis.process.nextTick)H=globalThis.process.nextTick;else if(globalThis.queueMicrotask)H=globalThis.queueMicrotask;else if(globalThis.setImmediate)H=globalThis.setImmediate;else H=globalThis.setTimeout;return H}function E(_,j,B,y,x){return z.importKey("raw",_,{name:"PBKDF2"},!1,["deriveBits"]).then(function(h){return z.deriveBits({name:"PBKDF2",salt:j,iterations:B,hash:{name:x}},h,y<<3)}).then(function(h){return Z.from(h)})}function P(_){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!z||!z.importKey||!z.deriveBits)return Promise.resolve(!1);if(S[_]!==void 0)return S[_];L=L||Z.alloc(8);var j=E(L,L,10,128,_).then(function(){return!0},function(){return!1});return S[_]=j,j}function k(_,j){_.then(function(B){q()(function(){j(null,B)})},function(B){q()(function(){j(B)})})}Q.exports=function(_,j,B,y,x,h){if(typeof x==="function")h=x,x=void 0;if(X(B,y),_=G(_,J,"Password"),j=G(j,J,"Salt"),typeof h!=="function")throw Error("No callback provided to pbkdf2");x=x||"sha1";var r=D[x.toLowerCase()];if(!r||typeof globalThis.Promise!=="function"){q()(function(){var T0;try{T0=Y(_,j,B,y,x)}catch(L0){h(L0);return}h(null,T0)});return}k(P(r).then(function(T0){if(T0)return E(_,j,B,y,r);return Y(_,j,B,y,x)}),h)}}),G$=O0((U)=>{var Q=(h2(),L1(m2)),Z=TZ(),X=KZ(),J=VZ();function Y(L,z,D,S,H,q){if(Z(D,S),L=J(L,X,"Password"),z=J(z,X,"Salt"),typeof H==="function")q=H,H="sha1";if(typeof q!=="function")throw Error("No callback provided to pbkdf2");return Q.pbkdf2(L,z,D,S,H,q)}function G(L,z,D,S,H){return Z(D,S),L=J(L,X,"Password"),z=J(z,X,"Salt"),H=H||"sha1",Q.pbkdf2Sync(L,z,D,S,H)}if(!Q.pbkdf2Sync||Q.pbkdf2Sync.toString().indexOf("keylen, digest")===-1)U.pbkdf2Sync=J$(),U.pbkdf2=dO();else U.pbkdf2Sync=G,U.pbkdf2=Y}),oO=O0((U)=>{var Q=(h2(),L1(m2));U.createCipher=U.Cipher=Q.createCipher,U.createCipheriv=U.Cipheriv=Q.createCipheriv,U.createDecipher=U.Decipher=Q.createDecipher,U.createDecipheriv=U.Decipheriv=Q.createDecipheriv,U.listCiphers=U.getCiphers=Q.getCiphers}),mO=O0((U)=>{var Q=(h2(),L1(m2));U.DiffieHellmanGroup=Q.DiffieHellmanGroup,U.createDiffieHellmanGroup=Q.createDiffieHellmanGroup,U.getDiffieHellman=Q.getDiffieHellman,U.createDiffieHellman=Q.createDiffieHellman,U.DiffieHellman=Q.DiffieHellman}),rO=O0((U)=>{var Q=(h2(),L1(m2));U.createSign=Q.createSign,U.Sign=Q.Sign,U.createVerify=Q.createVerify,U.Verify=Q.Verify}),nO=O0((U,Q)=>{Q.exports={name:"elliptic",version:"6.6.1",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny <fedor@indutny.com>",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}}),B6=O0((U,Q)=>{(function(Z,X){function J(I,K){if(!I)throw Error(K||"Assertion failed")}function Y(I,K){I.super_=K;var O=function(){};O.prototype=K.prototype,I.prototype=new O,I.prototype.constructor=I}function G(I,K,O){if(G.isBN(I))return I;if(this.negative=0,this.words=null,this.length=0,this.red=null,I!==null){if(K==="le"||K==="be")O=K,K=10;this._init(I||0,K||10,O||"be")}}if(typeof Z==="object")Z.exports=G;else X.BN=G;G.BN=G,G.wordSize=26;var L;try{if(typeof window<"u"&&typeof window.Buffer<"u")L=window.Buffer;else L=(V2(),L1(L2)).Buffer}catch(I){}G.isBN=function(I){if(I instanceof G)return!0;return I!==null&&typeof I==="object"&&I.constructor.wordSize===G.wordSize&&Array.isArray(I.words)},G.max=function(I,K){if(I.cmp(K)>0)return I;return K},G.min=function(I,K){if(I.cmp(K)<0)return I;return K},G.prototype._init=function(I,K,O){if(typeof I==="number")return this._initNumber(I,K,O);if(typeof I==="object")return this._initArray(I,K,O);if(K==="hex")K=16;J(K===(K|0)&&K>=2&&K<=36),I=I.toString().replace(/\s+/g,"");var T=0;if(I[0]==="-")T++,this.negative=1;if(T<I.length){if(K===16)this._parseHex(I,T,O);else if(this._parseBase(I,K,T),O==="le")this._initArray(this.toArray(),K,O)}},G.prototype._initNumber=function(I,K,O){if(I<0)this.negative=1,I=-I;if(I<67108864)this.words=[I&67108863],this.length=1;else if(I<4503599627370496)this.words=[I&67108863,I/67108864&67108863],this.length=2;else J(I<9007199254740992),this.words=[I&67108863,I/67108864&67108863,1],this.length=3;if(O!=="le")return;this._initArray(this.toArray(),K,O)},G.prototype._initArray=function(I,K,O){if(J(typeof I.length==="number"),I.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(I.length/3),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W,R,M=0;if(O==="be"){for(T=I.length-1,W=0;T>=0;T-=3)if(R=I[T]|I[T-1]<<8|I[T-2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}else if(O==="le"){for(T=0,W=0;T<I.length;T+=3)if(R=I[T]|I[T+1]<<8|I[T+2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}return this.strip()};function z(I,K){var O=I.charCodeAt(K);if(O>=65&&O<=70)return O-55;else if(O>=97&&O<=102)return O-87;else return O-48&15}function D(I,K,O){var T=z(I,O);if(O-1>=K)T|=z(I,O-1)<<4;return T}G.prototype._parseHex=function(I,K,O){this.length=Math.ceil((I.length-K)/6),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W=0,R=0,M;if(O==="be")for(T=I.length-1;T>=K;T-=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8;else{var V=I.length-K;for(T=V%2===0?K+1:K;T<I.length;T+=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8}this.strip()};function S(I,K,O,T){var W=0,R=Math.min(I.length,O);for(var M=K;M<R;M++){var V=I.charCodeAt(M)-48;if(W*=T,V>=49)W+=V-49+10;else if(V>=17)W+=V-17+10;else W+=V}return W}G.prototype._parseBase=function(I,K,O){this.words=[0],this.length=1;for(var T=0,W=1;W<=67108863;W*=K)T++;T--,W=W/K|0;var R=I.length-O,M=R%T,V=Math.min(R,R-M)+O,$=0;for(var F=O;F<V;F+=T)if($=S(I,F,F+T,K),this.imuln(W),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($);if(M!==0){var A=1;$=S(I,F,I.length,K);for(F=0;F<M;F++)A*=K;if(this.imuln(A),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($)}this.strip()},G.prototype.copy=function(I){I.words=Array(this.length);for(var K=0;K<this.length;K++)I.words[K]=this.words[K];I.length=this.length,I.negative=this.negative,I.red=this.red},G.prototype.clone=function(){var I=new G(null);return this.copy(I),I},G.prototype._expand=function(I){while(this.length<I)this.words[this.length++]=0;return this},G.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},G.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},G.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var H=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],q=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(G.prototype.toString=function(I,K){I=I||10,K=K|0||1;var O;if(I===16||I==="hex"){O="";var T=0,W=0;for(var R=0;R<this.length;R++){var M=this.words[R],V=((M<<T|W)&16777215).toString(16);if(W=M>>>24-T&16777215,T+=2,T>=26)T-=26,R--;if(W!==0||R!==this.length-1)O=H[6-V.length]+V+O;else O=V+O}if(W!==0)O=W.toString(16)+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}if(I===(I|0)&&I>=2&&I<=36){var $=q[I],F=E[I];O="";var A=this.clone();A.negative=0;while(!A.isZero()){var C=A.modn(F).toString(I);if(A=A.idivn(F),!A.isZero())O=H[$-C.length]+C+O;else O=C+O}if(this.isZero())O="0"+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}J(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var I=this.words[0];if(this.length===2)I+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)I+=4503599627370496+this.words[1]*67108864;else if(this.length>2)J(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-I:I},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(I,K){return J(typeof L<"u"),this.toArrayLike(L,I,K)},G.prototype.toArray=function(I,K){return this.toArrayLike(Array,I,K)},G.prototype.toArrayLike=function(I,K,O){var T=this.byteLength(),W=O||Math.max(1,T);J(T<=W,"byte array longer than desired length"),J(W>0,"Requested array length <= 0"),this.strip();var R=K==="le",M=new I(W),V,$,F=this.clone();if(!R){for($=0;$<W-T;$++)M[$]=0;for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[W-$-1]=V}else{for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[$]=V;for(;$<W;$++)M[$]=0}return M},Math.clz32)G.prototype._countBits=function(I){return 32-Math.clz32(I)};else G.prototype._countBits=function(I){var K=I,O=0;if(K>=4096)O+=13,K>>>=13;if(K>=64)O+=7,K>>>=7;if(K>=8)O+=4,K>>>=4;if(K>=2)O+=2,K>>>=2;return O+K};G.prototype._zeroBits=function(I){if(I===0)return 26;var K=I,O=0;if((K&8191)===0)O+=13,K>>>=13;if((K&127)===0)O+=7,K>>>=7;if((K&15)===0)O+=4,K>>>=4;if((K&3)===0)O+=2,K>>>=2;if((K&1)===0)O++;return O},G.prototype.bitLength=function(){var I=this.words[this.length-1],K=this._countBits(I);return(this.length-1)*26+K};function P(I){var K=Array(I.bitLength());for(var O=0;O<K.length;O++){var T=O/26|0,W=O%26;K[O]=(I.words[T]&1<<W)>>>W}return K}G.prototype.zeroBits=function(){if(this.isZero())return 0;var I=0;for(var K=0;K<this.length;K++){var O=this._zeroBits(this.words[K]);if(I+=O,O!==26)break}return I},G.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},G.prototype.toTwos=function(I){if(this.negative!==0)return this.abs().inotn(I).iaddn(1);return this.clone()},G.prototype.fromTwos=function(I){if(this.testn(I-1))return this.notn(I).iaddn(1).ineg();return this.clone()},G.prototype.isNeg=function(){return this.negative!==0},G.prototype.neg=function(){return this.clone().ineg()},G.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},G.prototype.iuor=function(I){while(this.length<I.length)this.words[this.length++]=0;for(var K=0;K<I.length;K++)this.words[K]=this.words[K]|I.words[K];return this.strip()},G.prototype.ior=function(I){return J((this.negative|I.negative)===0),this.iuor(I)},G.prototype.or=function(I){if(this.length>I.length)return this.clone().ior(I);return I.clone().ior(this)},G.prototype.uor=function(I){if(this.length>I.length)return this.clone().iuor(I);return I.clone().iuor(this)},G.prototype.iuand=function(I){var K;if(this.length>I.length)K=I;else K=this;for(var O=0;O<K.length;O++)this.words[O]=this.words[O]&I.words[O];return this.length=K.length,this.strip()},G.prototype.iand=function(I){return J((this.negative|I.negative)===0),this.iuand(I)},G.prototype.and=function(I){if(this.length>I.length)return this.clone().iand(I);return I.clone().iand(this)},G.prototype.uand=function(I){if(this.length>I.length)return this.clone().iuand(I);return I.clone().iuand(this)},G.prototype.iuxor=function(I){var K,O;if(this.length>I.length)K=this,O=I;else K=I,O=this;for(var T=0;T<O.length;T++)this.words[T]=K.words[T]^O.words[T];if(this!==K)for(;T<K.length;T++)this.words[T]=K.words[T];return this.length=K.length,this.strip()},G.prototype.ixor=function(I){return J((this.negative|I.negative)===0),this.iuxor(I)},G.prototype.xor=function(I){if(this.length>I.length)return this.clone().ixor(I);return I.clone().ixor(this)},G.prototype.uxor=function(I){if(this.length>I.length)return this.clone().iuxor(I);return I.clone().iuxor(this)},G.prototype.inotn=function(I){J(typeof I==="number"&&I>=0);var K=Math.ceil(I/26)|0,O=I%26;if(this._expand(K),O>0)K--;for(var T=0;T<K;T++)this.words[T]=~this.words[T]&67108863;if(O>0)this.words[T]=~this.words[T]&67108863>>26-O;return this.strip()},G.prototype.notn=function(I){return this.clone().inotn(I)},G.prototype.setn=function(I,K){J(typeof I==="number"&&I>=0);var O=I/26|0,T=I%26;if(this._expand(O+1),K)this.words[O]=this.words[O]|1<<T;else this.words[O]=this.words[O]&~(1<<T);return this.strip()},G.prototype.iadd=function(I){var K;if(this.negative!==0&&I.negative===0)return this.negative=0,K=this.isub(I),this.negative^=1,this._normSign();else if(this.negative===0&&I.negative!==0)return I.negative=0,K=this.isub(I),I.negative=1,K._normSign();var O,T;if(this.length>I.length)O=this,T=I;else O=I,T=this;var W=0;for(var R=0;R<T.length;R++)K=(O.words[R]|0)+(T.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;for(;W!==0&&R<O.length;R++)K=(O.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;if(this.length=O.length,W!==0)this.words[this.length]=W,this.length++;else if(O!==this)for(;R<O.length;R++)this.words[R]=O.words[R];return this},G.prototype.add=function(I){var K;if(I.negative!==0&&this.negative===0)return I.negative=0,K=this.sub(I),I.negative^=1,K;else if(I.negative===0&&this.negative!==0)return this.negative=0,K=I.sub(this),this.negative=1,K;if(this.length>I.length)return this.clone().iadd(I);return I.clone().iadd(this)},G.prototype.isub=function(I){if(I.negative!==0){I.negative=0;var K=this.iadd(I);return I.negative=1,K._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(I),this.negative=1,this._normSign();var O=this.cmp(I);if(O===0)return this.negative=0,this.length=1,this.words[0]=0,this;var T,W;if(O>0)T=this,W=I;else T=I,W=this;var R=0;for(var M=0;M<W.length;M++)K=(T.words[M]|0)-(W.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;for(;R!==0&&M<T.length;M++)K=(T.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;if(R===0&&M<T.length&&T!==this)for(;M<T.length;M++)this.words[M]=T.words[M];if(this.length=Math.max(this.length,M),T!==this)this.negative=1;return this.strip()},G.prototype.sub=function(I){return this.clone().isub(I)};function k(I,K,O){O.negative=K.negative^I.negative;var T=I.length+K.length|0;O.length=T,T=T-1|0;var W=I.words[0]|0,R=K.words[0]|0,M=W*R,V=M&67108863,$=M/67108864|0;O.words[0]=V;for(var F=1;F<T;F++){var A=$>>>26,C=$&67108863,N=Math.min(F,K.length-1);for(var f=Math.max(0,F-I.length+1);f<=N;f++){var b=F-f|0;W=I.words[b]|0,R=K.words[f]|0,M=W*R+C,A+=M/67108864|0,C=M&67108863}O.words[F]=C|0,$=A|0}if($!==0)O.words[F]=$|0;else O.length--;return O.strip()}var _=function(I,K,O){var T=I.words,W=K.words,R=O.words,M=0,V,$,F,A=T[0]|0,C=A&8191,N=A>>>13,f=T[1]|0,b=f&8191,i=f>>>13,D0=T[2]|0,Q0=D0&8191,n=D0>>>13,K0=T[3]|0,a=K0&8191,G0=K0>>>13,m0=T[4]|0,c=m0&8191,l=m0>>>13,W0=T[5]|0,e=W0&8191,X0=W0>>>13,j0=T[6]|0,u=j0&8191,s=j0>>>13,b0=T[7]|0,t=b0&8191,Y0=b0>>>13,e0=T[8]|0,R0=e0&8191,z0=e0>>>13,y1=T[9]|0,H0=y1&8191,S0=y1>>>13,h1=W[0]|0,_0=h1&8191,E0=h1>>>13,q2=W[1]|0,B0=q2&8191,f0=q2>>>13,C2=W[2]|0,p0=C2&8191,N0=C2>>>13,H2=W[3]|0,v0=H2&8191,w0=H2>>>13,K2=W[4]|0,h0=K2&8191,c0=K2>>>13,W2=W[5]|0,y0=W2&8191,g=W2>>>13,o=W[6]|0,Z0=o&8191,$0=o>>>13,r0=W[7]|0,F0=r0&8191,q0=r0>>>13,x1=W[8]|0,x0=x1&8191,u0=x1>>>13,F2=W[9]|0,g0=F2&8191,A0=F2>>>13;O.negative=I.negative^K.negative,O.length=19,V=Math.imul(C,_0),$=Math.imul(C,E0),$=$+Math.imul(N,_0)|0,F=Math.imul(N,E0);var g1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(g1>>>26)|0,g1&=67108863,V=Math.imul(b,_0),$=Math.imul(b,E0),$=$+Math.imul(i,_0)|0,F=Math.imul(i,E0),V=V+Math.imul(C,B0)|0,$=$+Math.imul(C,f0)|0,$=$+Math.imul(N,B0)|0,F=F+Math.imul(N,f0)|0;var I1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(I1>>>26)|0,I1&=67108863,V=Math.imul(Q0,_0),$=Math.imul(Q0,E0),$=$+Math.imul(n,_0)|0,F=Math.imul(n,E0),V=V+Math.imul(b,B0)|0,$=$+Math.imul(b,f0)|0,$=$+Math.imul(i,B0)|0,F=F+Math.imul(i,f0)|0,V=V+Math.imul(C,p0)|0,$=$+Math.imul(C,N0)|0,$=$+Math.imul(N,p0)|0,F=F+Math.imul(N,N0)|0;var G1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(G1>>>26)|0,G1&=67108863,V=Math.imul(a,_0),$=Math.imul(a,E0),$=$+Math.imul(G0,_0)|0,F=Math.imul(G0,E0),V=V+Math.imul(Q0,B0)|0,$=$+Math.imul(Q0,f0)|0,$=$+Math.imul(n,B0)|0,F=F+Math.imul(n,f0)|0,V=V+Math.imul(b,p0)|0,$=$+Math.imul(b,N0)|0,$=$+Math.imul(i,p0)|0,F=F+Math.imul(i,N0)|0,V=V+Math.imul(C,v0)|0,$=$+Math.imul(C,w0)|0,$=$+Math.imul(N,v0)|0,F=F+Math.imul(N,w0)|0;var C1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(C1>>>26)|0,C1&=67108863,V=Math.imul(c,_0),$=Math.imul(c,E0),$=$+Math.imul(l,_0)|0,F=Math.imul(l,E0),V=V+Math.imul(a,B0)|0,$=$+Math.imul(a,f0)|0,$=$+Math.imul(G0,B0)|0,F=F+Math.imul(G0,f0)|0,V=V+Math.imul(Q0,p0)|0,$=$+Math.imul(Q0,N0)|0,$=$+Math.imul(n,p0)|0,F=F+Math.imul(n,N0)|0,V=V+Math.imul(b,v0)|0,$=$+Math.imul(b,w0)|0,$=$+Math.imul(i,v0)|0,F=F+Math.imul(i,w0)|0,V=V+Math.imul(C,h0)|0,$=$+Math.imul(C,c0)|0,$=$+Math.imul(N,h0)|0,F=F+Math.imul(N,c0)|0;var M1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(M1>>>26)|0,M1&=67108863,V=Math.imul(e,_0),$=Math.imul(e,E0),$=$+Math.imul(X0,_0)|0,F=Math.imul(X0,E0),V=V+Math.imul(c,B0)|0,$=$+Math.imul(c,f0)|0,$=$+Math.imul(l,B0)|0,F=F+Math.imul(l,f0)|0,V=V+Math.imul(a,p0)|0,$=$+Math.imul(a,N0)|0,$=$+Math.imul(G0,p0)|0,F=F+Math.imul(G0,N0)|0,V=V+Math.imul(Q0,v0)|0,$=$+Math.imul(Q0,w0)|0,$=$+Math.imul(n,v0)|0,F=F+Math.imul(n,w0)|0,V=V+Math.imul(b,h0)|0,$=$+Math.imul(b,c0)|0,$=$+Math.imul(i,h0)|0,F=F+Math.imul(i,c0)|0,V=V+Math.imul(C,y0)|0,$=$+Math.imul(C,g)|0,$=$+Math.imul(N,y0)|0,F=F+Math.imul(N,g)|0;var m1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(m1>>>26)|0,m1&=67108863,V=Math.imul(u,_0),$=Math.imul(u,E0),$=$+Math.imul(s,_0)|0,F=Math.imul(s,E0),V=V+Math.imul(e,B0)|0,$=$+Math.imul(e,f0)|0,$=$+Math.imul(X0,B0)|0,F=F+Math.imul(X0,f0)|0,V=V+Math.imul(c,p0)|0,$=$+Math.imul(c,N0)|0,$=$+Math.imul(l,p0)|0,F=F+Math.imul(l,N0)|0,V=V+Math.imul(a,v0)|0,$=$+Math.imul(a,w0)|0,$=$+Math.imul(G0,v0)|0,F=F+Math.imul(G0,w0)|0,V=V+Math.imul(Q0,h0)|0,$=$+Math.imul(Q0,c0)|0,$=$+Math.imul(n,h0)|0,F=F+Math.imul(n,c0)|0,V=V+Math.imul(b,y0)|0,$=$+Math.imul(b,g)|0,$=$+Math.imul(i,y0)|0,F=F+Math.imul(i,g)|0,V=V+Math.imul(C,Z0)|0,$=$+Math.imul(C,$0)|0,$=$+Math.imul(N,Z0)|0,F=F+Math.imul(N,$0)|0;var r1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(r1>>>26)|0,r1&=67108863,V=Math.imul(t,_0),$=Math.imul(t,E0),$=$+Math.imul(Y0,_0)|0,F=Math.imul(Y0,E0),V=V+Math.imul(u,B0)|0,$=$+Math.imul(u,f0)|0,$=$+Math.imul(s,B0)|0,F=F+Math.imul(s,f0)|0,V=V+Math.imul(e,p0)|0,$=$+Math.imul(e,N0)|0,$=$+Math.imul(X0,p0)|0,F=F+Math.imul(X0,N0)|0,V=V+Math.imul(c,v0)|0,$=$+Math.imul(c,w0)|0,$=$+Math.imul(l,v0)|0,F=F+Math.imul(l,w0)|0,V=V+Math.imul(a,h0)|0,$=$+Math.imul(a,c0)|0,$=$+Math.imul(G0,h0)|0,F=F+Math.imul(G0,c0)|0,V=V+Math.imul(Q0,y0)|0,$=$+Math.imul(Q0,g)|0,$=$+Math.imul(n,y0)|0,F=F+Math.imul(n,g)|0,V=V+Math.imul(b,Z0)|0,$=$+Math.imul(b,$0)|0,$=$+Math.imul(i,Z0)|0,F=F+Math.imul(i,$0)|0,V=V+Math.imul(C,F0)|0,$=$+Math.imul(C,q0)|0,$=$+Math.imul(N,F0)|0,F=F+Math.imul(N,q0)|0;var n1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(n1>>>26)|0,n1&=67108863,V=Math.imul(R0,_0),$=Math.imul(R0,E0),$=$+Math.imul(z0,_0)|0,F=Math.imul(z0,E0),V=V+Math.imul(t,B0)|0,$=$+Math.imul(t,f0)|0,$=$+Math.imul(Y0,B0)|0,F=F+Math.imul(Y0,f0)|0,V=V+Math.imul(u,p0)|0,$=$+Math.imul(u,N0)|0,$=$+Math.imul(s,p0)|0,F=F+Math.imul(s,N0)|0,V=V+Math.imul(e,v0)|0,$=$+Math.imul(e,w0)|0,$=$+Math.imul(X0,v0)|0,F=F+Math.imul(X0,w0)|0,V=V+Math.imul(c,h0)|0,$=$+Math.imul(c,c0)|0,$=$+Math.imul(l,h0)|0,F=F+Math.imul(l,c0)|0,V=V+Math.imul(a,y0)|0,$=$+Math.imul(a,g)|0,$=$+Math.imul(G0,y0)|0,F=F+Math.imul(G0,g)|0,V=V+Math.imul(Q0,Z0)|0,$=$+Math.imul(Q0,$0)|0,$=$+Math.imul(n,Z0)|0,F=F+Math.imul(n,$0)|0,V=V+Math.imul(b,F0)|0,$=$+Math.imul(b,q0)|0,$=$+Math.imul(i,F0)|0,F=F+Math.imul(i,q0)|0,V=V+Math.imul(C,x0)|0,$=$+Math.imul(C,u0)|0,$=$+Math.imul(N,x0)|0,F=F+Math.imul(N,u0)|0;var s1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(s1>>>26)|0,s1&=67108863,V=Math.imul(H0,_0),$=Math.imul(H0,E0),$=$+Math.imul(S0,_0)|0,F=Math.imul(S0,E0),V=V+Math.imul(R0,B0)|0,$=$+Math.imul(R0,f0)|0,$=$+Math.imul(z0,B0)|0,F=F+Math.imul(z0,f0)|0,V=V+Math.imul(t,p0)|0,$=$+Math.imul(t,N0)|0,$=$+Math.imul(Y0,p0)|0,F=F+Math.imul(Y0,N0)|0,V=V+Math.imul(u,v0)|0,$=$+Math.imul(u,w0)|0,$=$+Math.imul(s,v0)|0,F=F+Math.imul(s,w0)|0,V=V+Math.imul(e,h0)|0,$=$+Math.imul(e,c0)|0,$=$+Math.imul(X0,h0)|0,F=F+Math.imul(X0,c0)|0,V=V+Math.imul(c,y0)|0,$=$+Math.imul(c,g)|0,$=$+Math.imul(l,y0)|0,F=F+Math.imul(l,g)|0,V=V+Math.imul(a,Z0)|0,$=$+Math.imul(a,$0)|0,$=$+Math.imul(G0,Z0)|0,F=F+Math.imul(G0,$0)|0,V=V+Math.imul(Q0,F0)|0,$=$+Math.imul(Q0,q0)|0,$=$+Math.imul(n,F0)|0,F=F+Math.imul(n,q0)|0,V=V+Math.imul(b,x0)|0,$=$+Math.imul(b,u0)|0,$=$+Math.imul(i,x0)|0,F=F+Math.imul(i,u0)|0,V=V+Math.imul(C,g0)|0,$=$+Math.imul(C,A0)|0,$=$+Math.imul(N,g0)|0,F=F+Math.imul(N,A0)|0;var i1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(i1>>>26)|0,i1&=67108863,V=Math.imul(H0,B0),$=Math.imul(H0,f0),$=$+Math.imul(S0,B0)|0,F=Math.imul(S0,f0),V=V+Math.imul(R0,p0)|0,$=$+Math.imul(R0,N0)|0,$=$+Math.imul(z0,p0)|0,F=F+Math.imul(z0,N0)|0,V=V+Math.imul(t,v0)|0,$=$+Math.imul(t,w0)|0,$=$+Math.imul(Y0,v0)|0,F=F+Math.imul(Y0,w0)|0,V=V+Math.imul(u,h0)|0,$=$+Math.imul(u,c0)|0,$=$+Math.imul(s,h0)|0,F=F+Math.imul(s,c0)|0,V=V+Math.imul(e,y0)|0,$=$+Math.imul(e,g)|0,$=$+Math.imul(X0,y0)|0,F=F+Math.imul(X0,g)|0,V=V+Math.imul(c,Z0)|0,$=$+Math.imul(c,$0)|0,$=$+Math.imul(l,Z0)|0,F=F+Math.imul(l,$0)|0,V=V+Math.imul(a,F0)|0,$=$+Math.imul(a,q0)|0,$=$+Math.imul(G0,F0)|0,F=F+Math.imul(G0,q0)|0,V=V+Math.imul(Q0,x0)|0,$=$+Math.imul(Q0,u0)|0,$=$+Math.imul(n,x0)|0,F=F+Math.imul(n,u0)|0,V=V+Math.imul(b,g0)|0,$=$+Math.imul(b,A0)|0,$=$+Math.imul(i,g0)|0,F=F+Math.imul(i,A0)|0;var a1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(a1>>>26)|0,a1&=67108863,V=Math.imul(H0,p0),$=Math.imul(H0,N0),$=$+Math.imul(S0,p0)|0,F=Math.imul(S0,N0),V=V+Math.imul(R0,v0)|0,$=$+Math.imul(R0,w0)|0,$=$+Math.imul(z0,v0)|0,F=F+Math.imul(z0,w0)|0,V=V+Math.imul(t,h0)|0,$=$+Math.imul(t,c0)|0,$=$+Math.imul(Y0,h0)|0,F=F+Math.imul(Y0,c0)|0,V=V+Math.imul(u,y0)|0,$=$+Math.imul(u,g)|0,$=$+Math.imul(s,y0)|0,F=F+Math.imul(s,g)|0,V=V+Math.imul(e,Z0)|0,$=$+Math.imul(e,$0)|0,$=$+Math.imul(X0,Z0)|0,F=F+Math.imul(X0,$0)|0,V=V+Math.imul(c,F0)|0,$=$+Math.imul(c,q0)|0,$=$+Math.imul(l,F0)|0,F=F+Math.imul(l,q0)|0,V=V+Math.imul(a,x0)|0,$=$+Math.imul(a,u0)|0,$=$+Math.imul(G0,x0)|0,F=F+Math.imul(G0,u0)|0,V=V+Math.imul(Q0,g0)|0,$=$+Math.imul(Q0,A0)|0,$=$+Math.imul(n,g0)|0,F=F+Math.imul(n,A0)|0;var t1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(t1>>>26)|0,t1&=67108863,V=Math.imul(H0,v0),$=Math.imul(H0,w0),$=$+Math.imul(S0,v0)|0,F=Math.imul(S0,w0),V=V+Math.imul(R0,h0)|0,$=$+Math.imul(R0,c0)|0,$=$+Math.imul(z0,h0)|0,F=F+Math.imul(z0,c0)|0,V=V+Math.imul(t,y0)|0,$=$+Math.imul(t,g)|0,$=$+Math.imul(Y0,y0)|0,F=F+Math.imul(Y0,g)|0,V=V+Math.imul(u,Z0)|0,$=$+Math.imul(u,$0)|0,$=$+Math.imul(s,Z0)|0,F=F+Math.imul(s,$0)|0,V=V+Math.imul(e,F0)|0,$=$+Math.imul(e,q0)|0,$=$+Math.imul(X0,F0)|0,F=F+Math.imul(X0,q0)|0,V=V+Math.imul(c,x0)|0,$=$+Math.imul(c,u0)|0,$=$+Math.imul(l,x0)|0,F=F+Math.imul(l,u0)|0,V=V+Math.imul(a,g0)|0,$=$+Math.imul(a,A0)|0,$=$+Math.imul(G0,g0)|0,F=F+Math.imul(G0,A0)|0;var e1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(e1>>>26)|0,e1&=67108863,V=Math.imul(H0,h0),$=Math.imul(H0,c0),$=$+Math.imul(S0,h0)|0,F=Math.imul(S0,c0),V=V+Math.imul(R0,y0)|0,$=$+Math.imul(R0,g)|0,$=$+Math.imul(z0,y0)|0,F=F+Math.imul(z0,g)|0,V=V+Math.imul(t,Z0)|0,$=$+Math.imul(t,$0)|0,$=$+Math.imul(Y0,Z0)|0,F=F+Math.imul(Y0,$0)|0,V=V+Math.imul(u,F0)|0,$=$+Math.imul(u,q0)|0,$=$+Math.imul(s,F0)|0,F=F+Math.imul(s,q0)|0,V=V+Math.imul(e,x0)|0,$=$+Math.imul(e,u0)|0,$=$+Math.imul(X0,x0)|0,F=F+Math.imul(X0,u0)|0,V=V+Math.imul(c,g0)|0,$=$+Math.imul(c,A0)|0,$=$+Math.imul(l,g0)|0,F=F+Math.imul(l,A0)|0;var U2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(U2>>>26)|0,U2&=67108863,V=Math.imul(H0,y0),$=Math.imul(H0,g),$=$+Math.imul(S0,y0)|0,F=Math.imul(S0,g),V=V+Math.imul(R0,Z0)|0,$=$+Math.imul(R0,$0)|0,$=$+Math.imul(z0,Z0)|0,F=F+Math.imul(z0,$0)|0,V=V+Math.imul(t,F0)|0,$=$+Math.imul(t,q0)|0,$=$+Math.imul(Y0,F0)|0,F=F+Math.imul(Y0,q0)|0,V=V+Math.imul(u,x0)|0,$=$+Math.imul(u,u0)|0,$=$+Math.imul(s,x0)|0,F=F+Math.imul(s,u0)|0,V=V+Math.imul(e,g0)|0,$=$+Math.imul(e,A0)|0,$=$+Math.imul(X0,g0)|0,F=F+Math.imul(X0,A0)|0;var Q2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Q2>>>26)|0,Q2&=67108863,V=Math.imul(H0,Z0),$=Math.imul(H0,$0),$=$+Math.imul(S0,Z0)|0,F=Math.imul(S0,$0),V=V+Math.imul(R0,F0)|0,$=$+Math.imul(R0,q0)|0,$=$+Math.imul(z0,F0)|0,F=F+Math.imul(z0,q0)|0,V=V+Math.imul(t,x0)|0,$=$+Math.imul(t,u0)|0,$=$+Math.imul(Y0,x0)|0,F=F+Math.imul(Y0,u0)|0,V=V+Math.imul(u,g0)|0,$=$+Math.imul(u,A0)|0,$=$+Math.imul(s,g0)|0,F=F+Math.imul(s,A0)|0;var Z2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Z2>>>26)|0,Z2&=67108863,V=Math.imul(H0,F0),$=Math.imul(H0,q0),$=$+Math.imul(S0,F0)|0,F=Math.imul(S0,q0),V=V+Math.imul(R0,x0)|0,$=$+Math.imul(R0,u0)|0,$=$+Math.imul(z0,x0)|0,F=F+Math.imul(z0,u0)|0,V=V+Math.imul(t,g0)|0,$=$+Math.imul(t,A0)|0,$=$+Math.imul(Y0,g0)|0,F=F+Math.imul(Y0,A0)|0;var X2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(X2>>>26)|0,X2&=67108863,V=Math.imul(H0,x0),$=Math.imul(H0,u0),$=$+Math.imul(S0,x0)|0,F=Math.imul(S0,u0),V=V+Math.imul(R0,g0)|0,$=$+Math.imul(R0,A0)|0,$=$+Math.imul(z0,g0)|0,F=F+Math.imul(z0,A0)|0;var J2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(J2>>>26)|0,J2&=67108863,V=Math.imul(H0,g0),$=Math.imul(H0,A0),$=$+Math.imul(S0,g0)|0,F=Math.imul(S0,A0);var G2=(M+V|0)+(($&8191)<<13)|0;if(M=(F+($>>>13)|0)+(G2>>>26)|0,G2&=67108863,R[0]=g1,R[1]=I1,R[2]=G1,R[3]=C1,R[4]=M1,R[5]=m1,R[6]=r1,R[7]=n1,R[8]=s1,R[9]=i1,R[10]=a1,R[11]=t1,R[12]=e1,R[13]=U2,R[14]=Q2,R[15]=Z2,R[16]=X2,R[17]=J2,R[18]=G2,M!==0)R[19]=M,O.length++;return O};if(!Math.imul)_=k;function j(I,K,O){O.negative=K.negative^I.negative,O.length=I.length+K.length;var T=0,W=0;for(var R=0;R<O.length-1;R++){var M=W;W=0;var V=T&67108863,$=Math.min(R,K.length-1);for(var F=Math.max(0,R-I.length+1);F<=$;F++){var A=R-F,C=I.words[A]|0,N=K.words[F]|0,f=C*N,b=f&67108863;M=M+(f/67108864|0)|0,b=b+V|0,V=b&67108863,M=M+(b>>>26)|0,W+=M>>>26,M&=67108863}O.words[R]=V,T=M,M=W}if(T!==0)O.words[R]=T;else O.length--;return O.strip()}function B(I,K,O){var T=new y;return T.mulp(I,K,O)}G.prototype.mulTo=function(I,K){var O,T=this.length+I.length;if(this.length===10&&I.length===10)O=_(this,I,K);else if(T<63)O=k(this,I,K);else if(T<1024)O=j(this,I,K);else O=B(this,I,K);return O};function y(I,K){this.x=I,this.y=K}y.prototype.makeRBT=function(I){var K=Array(I),O=G.prototype._countBits(I)-1;for(var T=0;T<I;T++)K[T]=this.revBin(T,O,I);return K},y.prototype.revBin=function(I,K,O){if(I===0||I===O-1)return I;var T=0;for(var W=0;W<K;W++)T|=(I&1)<<K-W-1,I>>=1;return T},y.prototype.permute=function(I,K,O,T,W,R){for(var M=0;M<R;M++)T[M]=K[I[M]],W[M]=O[I[M]]},y.prototype.transform=function(I,K,O,T,W,R){this.permute(R,I,K,O,T,W);for(var M=1;M<W;M<<=1){var V=M<<1,$=Math.cos(2*Math.PI/V),F=Math.sin(2*Math.PI/V);for(var A=0;A<W;A+=V){var C=$,N=F;for(var f=0;f<M;f++){var b=O[A+f],i=T[A+f],D0=O[A+f+M],Q0=T[A+f+M],n=C*D0-N*Q0;if(Q0=C*Q0+N*D0,D0=n,O[A+f]=b+D0,T[A+f]=i+Q0,O[A+f+M]=b-D0,T[A+f+M]=i-Q0,f!==V)n=$*C-F*N,N=$*N+F*C,C=n}}}},y.prototype.guessLen13b=function(I,K){var O=Math.max(K,I)|1,T=O&1,W=0;for(O=O/2|0;O;O=O>>>1)W++;return 1<<W+1+T},y.prototype.conjugate=function(I,K,O){if(O<=1)return;for(var T=0;T<O/2;T++){var W=I[T];I[T]=I[O-T-1],I[O-T-1]=W,W=K[T],K[T]=-K[O-T-1],K[O-T-1]=-W}},y.prototype.normalize13b=function(I,K){var O=0;for(var T=0;T<K/2;T++){var W=Math.round(I[2*T+1]/K)*8192+Math.round(I[2*T]/K)+O;if(I[T]=W&67108863,W<67108864)O=0;else O=W/67108864|0}return I},y.prototype.convert13b=function(I,K,O,T){var W=0;for(var R=0;R<K;R++)W=W+(I[R]|0),O[2*R]=W&8191,W=W>>>13,O[2*R+1]=W&8191,W=W>>>13;for(R=2*K;R<T;++R)O[R]=0;J(W===0),J((W&-8192)===0)},y.prototype.stub=function(I){var K=Array(I);for(var O=0;O<I;O++)K[O]=0;return K},y.prototype.mulp=function(I,K,O){var T=2*this.guessLen13b(I.length,K.length),W=this.makeRBT(T),R=this.stub(T),M=Array(T),V=Array(T),$=Array(T),F=Array(T),A=Array(T),C=Array(T),N=O.words;N.length=T,this.convert13b(I.words,I.length,M,T),this.convert13b(K.words,K.length,F,T),this.transform(M,R,V,$,T,W),this.transform(F,R,A,C,T,W);for(var f=0;f<T;f++){var b=V[f]*A[f]-$[f]*C[f];$[f]=V[f]*C[f]+$[f]*A[f],V[f]=b}return this.conjugate(V,$,T),this.transform(V,$,N,R,T,W),this.conjugate(N,R,T),this.normalize13b(N,T),O.negative=I.negative^K.negative,O.length=I.length+K.length,O.strip()},G.prototype.mul=function(I){var K=new G(null);return K.words=Array(this.length+I.length),this.mulTo(I,K)},G.prototype.mulf=function(I){var K=new G(null);return K.words=Array(this.length+I.length),B(this,I,K)},G.prototype.imul=function(I){return this.clone().mulTo(I,this)},G.prototype.imuln=function(I){J(typeof I==="number"),J(I<67108864);var K=0;for(var O=0;O<this.length;O++){var T=(this.words[O]|0)*I,W=(T&67108863)+(K&67108863);K>>=26,K+=T/67108864|0,K+=W>>>26,this.words[O]=W&67108863}if(K!==0)this.words[O]=K,this.length++;return this.length=I===0?1:this.length,this},G.prototype.muln=function(I){return this.clone().imuln(I)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(I){var K=P(I);if(K.length===0)return new G(1);var O=this;for(var T=0;T<K.length;T++,O=O.sqr())if(K[T]!==0)break;if(++T<K.length)for(var W=O.sqr();T<K.length;T++,W=W.sqr()){if(K[T]===0)continue;O=O.mul(W)}return O},G.prototype.iushln=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=67108863>>>26-K<<26-K,W;if(K!==0){var R=0;for(W=0;W<this.length;W++){var M=this.words[W]&T,V=(this.words[W]|0)-M<<K;this.words[W]=V|R,R=M>>>26-K}if(R)this.words[W]=R,this.length++}if(O!==0){for(W=this.length-1;W>=0;W--)this.words[W+O]=this.words[W];for(W=0;W<O;W++)this.words[W]=0;this.length+=O}return this.strip()},G.prototype.ishln=function(I){return J(this.negative===0),this.iushln(I)},G.prototype.iushrn=function(I,K,O){J(typeof I==="number"&&I>=0);var T;if(K)T=(K-K%26)/26;else T=0;var W=I%26,R=Math.min((I-W)/26,this.length),M=67108863^67108863>>>W<<W,V=O;if(T-=R,T=Math.max(0,T),V){for(var $=0;$<R;$++)V.words[$]=this.words[$];V.length=R}if(R===0);else if(this.length>R){this.length-=R;for($=0;$<this.length;$++)this.words[$]=this.words[$+R]}else this.words[0]=0,this.length=1;var F=0;for($=this.length-1;$>=0&&(F!==0||$>=T);$--){var A=this.words[$]|0;this.words[$]=F<<26-W|A>>>W,F=A&M}if(V&&F!==0)V.words[V.length++]=F;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},G.prototype.ishrn=function(I,K,O){return J(this.negative===0),this.iushrn(I,K,O)},G.prototype.shln=function(I){return this.clone().ishln(I)},G.prototype.ushln=function(I){return this.clone().iushln(I)},G.prototype.shrn=function(I){return this.clone().ishrn(I)},G.prototype.ushrn=function(I){return this.clone().iushrn(I)},G.prototype.testn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return!1;var W=this.words[O];return!!(W&T)},G.prototype.imaskn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26;if(J(this.negative===0,"imaskn works only with positive numbers"),this.length<=O)return this;if(K!==0)O++;if(this.length=Math.min(O,this.length),K!==0){var T=67108863^67108863>>>K<<K;this.words[this.length-1]&=T}return this.strip()},G.prototype.maskn=function(I){return this.clone().imaskn(I)},G.prototype.iaddn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.isubn(-I);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<I)return this.words[0]=I-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(I),this.negative=1,this}return this._iaddn(I)},G.prototype._iaddn=function(I){this.words[0]+=I;for(var K=0;K<this.length&&this.words[K]>=67108864;K++)if(this.words[K]-=67108864,K===this.length-1)this.words[K+1]=1;else this.words[K+1]++;return this.length=Math.max(this.length,K+1),this},G.prototype.isubn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.iaddn(-I);if(this.negative!==0)return this.negative=0,this.iaddn(I),this.negative=1,this;if(this.words[0]-=I,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var K=0;K<this.length&&this.words[K]<0;K++)this.words[K]+=67108864,this.words[K+1]-=1;return this.strip()},G.prototype.addn=function(I){return this.clone().iaddn(I)},G.prototype.subn=function(I){return this.clone().isubn(I)},G.prototype.iabs=function(){return this.negative=0,this},G.prototype.abs=function(){return this.clone().iabs()},G.prototype._ishlnsubmul=function(I,K,O){var T=I.length+O,W;this._expand(T);var R,M=0;for(W=0;W<I.length;W++){R=(this.words[W+O]|0)+M;var V=(I.words[W]|0)*K;R-=V&67108863,M=(R>>26)-(V/67108864|0),this.words[W+O]=R&67108863}for(;W<this.length-O;W++)R=(this.words[W+O]|0)+M,M=R>>26,this.words[W+O]=R&67108863;if(M===0)return this.strip();J(M===-1),M=0;for(W=0;W<this.length;W++)R=-(this.words[W]|0)+M,M=R>>26,this.words[W]=R&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(I,K){var O=this.length-I.length,T=this.clone(),W=I,R=W.words[W.length-1]|0,M=this._countBits(R);if(O=26-M,O!==0)W=W.ushln(O),T.iushln(O),R=W.words[W.length-1]|0;var V=T.length-W.length,$;if(K!=="mod"){$=new G(null),$.length=V+1,$.words=Array($.length);for(var F=0;F<$.length;F++)$.words[F]=0}var A=T.clone()._ishlnsubmul(W,1,V);if(A.negative===0){if(T=A,$)$.words[V]=1}for(var C=V-1;C>=0;C--){var N=(T.words[W.length+C]|0)*67108864+(T.words[W.length+C-1]|0);N=Math.min(N/R|0,67108863),T._ishlnsubmul(W,N,C);while(T.negative!==0)if(N--,T.negative=0,T._ishlnsubmul(W,1,C),!T.isZero())T.negative^=1;if($)$.words[C]=N}if($)$.strip();if(T.strip(),K!=="div"&&O!==0)T.iushrn(O);return{div:$||null,mod:T}},G.prototype.divmod=function(I,K,O){if(J(!I.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var T,W,R;if(this.negative!==0&&I.negative===0){if(R=this.neg().divmod(I,K),K!=="mod")T=R.div.neg();if(K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.iadd(I)}return{div:T,mod:W}}if(this.negative===0&&I.negative!==0){if(R=this.divmod(I.neg(),K),K!=="mod")T=R.div.neg();return{div:T,mod:R.mod}}if((this.negative&I.negative)!==0){if(R=this.neg().divmod(I.neg(),K),K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.isub(I)}return{div:R.div,mod:W}}if(I.length>this.length||this.cmp(I)<0)return{div:new G(0),mod:this};if(I.length===1){if(K==="div")return{div:this.divn(I.words[0]),mod:null};if(K==="mod")return{div:null,mod:new G(this.modn(I.words[0]))};return{div:this.divn(I.words[0]),mod:new G(this.modn(I.words[0]))}}return this._wordDiv(I,K)},G.prototype.div=function(I){return this.divmod(I,"div",!1).div},G.prototype.mod=function(I){return this.divmod(I,"mod",!1).mod},G.prototype.umod=function(I){return this.divmod(I,"mod",!0).mod},G.prototype.divRound=function(I){var K=this.divmod(I);if(K.mod.isZero())return K.div;var O=K.div.negative!==0?K.mod.isub(I):K.mod,T=I.ushrn(1),W=I.andln(1),R=O.cmp(T);if(R<0||W===1&&R===0)return K.div;return K.div.negative!==0?K.div.isubn(1):K.div.iaddn(1)},G.prototype.modn=function(I){J(I<=67108863);var K=67108864%I,O=0;for(var T=this.length-1;T>=0;T--)O=(K*O+(this.words[T]|0))%I;return O},G.prototype.idivn=function(I){J(I<=67108863);var K=0;for(var O=this.length-1;O>=0;O--){var T=(this.words[O]|0)+K*67108864;this.words[O]=T/I|0,K=T%I}return this.strip()},G.prototype.divn=function(I){return this.clone().idivn(I)},G.prototype.egcd=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=new G(0),M=new G(1),V=0;while(K.isEven()&&O.isEven())K.iushrn(1),O.iushrn(1),++V;var $=O.clone(),F=K.clone();while(!K.isZero()){for(var A=0,C=1;(K.words[0]&C)===0&&A<26;++A,C<<=1);if(A>0){K.iushrn(A);while(A-- >0){if(T.isOdd()||W.isOdd())T.iadd($),W.isub(F);T.iushrn(1),W.iushrn(1)}}for(var N=0,f=1;(O.words[0]&f)===0&&N<26;++N,f<<=1);if(N>0){O.iushrn(N);while(N-- >0){if(R.isOdd()||M.isOdd())R.iadd($),M.isub(F);R.iushrn(1),M.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(R),W.isub(M);else O.isub(K),R.isub(T),M.isub(W)}return{a:R,b:M,gcd:O.iushln(V)}},G.prototype._invmp=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=O.clone();while(K.cmpn(1)>0&&O.cmpn(1)>0){for(var M=0,V=1;(K.words[0]&V)===0&&M<26;++M,V<<=1);if(M>0){K.iushrn(M);while(M-- >0){if(T.isOdd())T.iadd(R);T.iushrn(1)}}for(var $=0,F=1;(O.words[0]&F)===0&&$<26;++$,F<<=1);if($>0){O.iushrn($);while($-- >0){if(W.isOdd())W.iadd(R);W.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(W);else O.isub(K),W.isub(T)}var A;if(K.cmpn(1)===0)A=T;else A=W;if(A.cmpn(0)<0)A.iadd(I);return A},G.prototype.gcd=function(I){if(this.isZero())return I.abs();if(I.isZero())return this.abs();var K=this.clone(),O=I.clone();K.negative=0,O.negative=0;for(var T=0;K.isEven()&&O.isEven();T++)K.iushrn(1),O.iushrn(1);do{while(K.isEven())K.iushrn(1);while(O.isEven())O.iushrn(1);var W=K.cmp(O);if(W<0){var R=K;K=O,O=R}else if(W===0||O.cmpn(1)===0)break;K.isub(O)}while(!0);return O.iushln(T)},G.prototype.invm=function(I){return this.egcd(I).a.umod(I)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(I){return this.words[0]&I},G.prototype.bincn=function(I){J(typeof I==="number");var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return this._expand(O+1),this.words[O]|=T,this;var W=T;for(var R=O;W!==0&&R<this.length;R++){var M=this.words[R]|0;M+=W,W=M>>>26,M&=67108863,this.words[R]=M}if(W!==0)this.words[R]=W,this.length++;return this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(I){var K=I<0;if(this.negative!==0&&!K)return-1;if(this.negative===0&&K)return 1;this.strip();var O;if(this.length>1)O=1;else{if(K)I=-I;J(I<=67108863,"Number is too big");var T=this.words[0]|0;O=T===I?0:T<I?-1:1}if(this.negative!==0)return-O|0;return O},G.prototype.cmp=function(I){if(this.negative!==0&&I.negative===0)return-1;if(this.negative===0&&I.negative!==0)return 1;var K=this.ucmp(I);if(this.negative!==0)return-K|0;return K},G.prototype.ucmp=function(I){if(this.length>I.length)return 1;if(this.length<I.length)return-1;var K=0;for(var O=this.length-1;O>=0;O--){var T=this.words[O]|0,W=I.words[O]|0;if(T===W)continue;if(T<W)K=-1;else if(T>W)K=1;break}return K},G.prototype.gtn=function(I){return this.cmpn(I)===1},G.prototype.gt=function(I){return this.cmp(I)===1},G.prototype.gten=function(I){return this.cmpn(I)>=0},G.prototype.gte=function(I){return this.cmp(I)>=0},G.prototype.ltn=function(I){return this.cmpn(I)===-1},G.prototype.lt=function(I){return this.cmp(I)===-1},G.prototype.lten=function(I){return this.cmpn(I)<=0},G.prototype.lte=function(I){return this.cmp(I)<=0},G.prototype.eqn=function(I){return this.cmpn(I)===0},G.prototype.eq=function(I){return this.cmp(I)===0},G.red=function(I){return new d(I)},G.prototype.toRed=function(I){return J(!this.red,"Already a number in reduction context"),J(this.negative===0,"red works only with positives"),I.convertTo(this)._forceRed(I)},G.prototype.fromRed=function(){return J(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(I){return this.red=I,this},G.prototype.forceRed=function(I){return J(!this.red,"Already a number in reduction context"),this._forceRed(I)},G.prototype.redAdd=function(I){return J(this.red,"redAdd works only with red numbers"),this.red.add(this,I)},G.prototype.redIAdd=function(I){return J(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,I)},G.prototype.redSub=function(I){return J(this.red,"redSub works only with red numbers"),this.red.sub(this,I)},G.prototype.redISub=function(I){return J(this.red,"redISub works only with red numbers"),this.red.isub(this,I)},G.prototype.redShl=function(I){return J(this.red,"redShl works only with red numbers"),this.red.shl(this,I)},G.prototype.redMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.mul(this,I)},G.prototype.redIMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.imul(this,I)},G.prototype.redSqr=function(){return J(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return J(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return J(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return J(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return J(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(I){return J(this.red&&!I.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,I)};var x={k256:null,p224:null,p192:null,p25519:null};function h(I,K){this.name=I,this.p=new G(K,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}h.prototype._tmp=function(){var I=new G(null);return I.words=Array(Math.ceil(this.n/13)),I},h.prototype.ireduce=function(I){var K=I,O;do this.split(K,this.tmp),K=this.imulK(K),K=K.iadd(this.tmp),O=K.bitLength();while(O>this.n);var T=O<this.n?-1:K.ucmp(this.p);if(T===0)K.words[0]=0,K.length=1;else if(T>0)K.isub(this.p);else if(K.strip!==void 0)K.strip();else K._strip();return K},h.prototype.split=function(I,K){I.iushrn(this.n,0,K)},h.prototype.imulK=function(I){return I.imul(this.k)};function r(){h.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Y(r,h),r.prototype.split=function(I,K){var O=4194303,T=Math.min(I.length,9);for(var W=0;W<T;W++)K.words[W]=I.words[W];if(K.length=T,I.length<=9){I.words[0]=0,I.length=1;return}var R=I.words[9];K.words[K.length++]=R&O;for(W=10;W<I.length;W++){var M=I.words[W]|0;I.words[W-10]=(M&O)<<4|R>>>22,R=M}if(R>>>=22,I.words[W-10]=R,R===0&&I.length>10)I.length-=10;else I.length-=9},r.prototype.imulK=function(I){I.words[I.length]=0,I.words[I.length+1]=0,I.length+=2;var K=0;for(var O=0;O<I.length;O++){var T=I.words[O]|0;K+=T*977,I.words[O]=K&67108863,K=T*64+(K/67108864|0)}if(I.words[I.length-1]===0){if(I.length--,I.words[I.length-1]===0)I.length--}return I};function T0(){h.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}Y(T0,h);function L0(){h.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}Y(L0,h);function I0(){h.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}Y(I0,h),I0.prototype.imulK=function(I){var K=0;for(var O=0;O<I.length;O++){var T=(I.words[O]|0)*19+K,W=T&67108863;T>>>=26,I.words[O]=W,K=T}if(K!==0)I.words[I.length++]=K;return I},G._prime=function(I){if(x[I])return x[I];var K;if(I==="k256")K=new r;else if(I==="p224")K=new T0;else if(I==="p192")K=new L0;else if(I==="p25519")K=new I0;else throw Error("Unknown prime "+I);return x[I]=K,K};function d(I){if(typeof I==="string"){var K=G._prime(I);this.m=K.p,this.prime=K}else J(I.gtn(1),"modulus must be greater than 1"),this.m=I,this.prime=null}d.prototype._verify1=function(I){J(I.negative===0,"red works only with positives"),J(I.red,"red works only with red numbers")},d.prototype._verify2=function(I,K){J((I.negative|K.negative)===0,"red works only with positives"),J(I.red&&I.red===K.red,"red works only with red numbers")},d.prototype.imod=function(I){if(this.prime)return this.prime.ireduce(I)._forceRed(this);return I.umod(this.m)._forceRed(this)},d.prototype.neg=function(I){if(I.isZero())return I.clone();return this.m.sub(I)._forceRed(this)},d.prototype.add=function(I,K){this._verify2(I,K);var O=I.add(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O._forceRed(this)},d.prototype.iadd=function(I,K){this._verify2(I,K);var O=I.iadd(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O},d.prototype.sub=function(I,K){this._verify2(I,K);var O=I.sub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O._forceRed(this)},d.prototype.isub=function(I,K){this._verify2(I,K);var O=I.isub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O},d.prototype.shl=function(I,K){return this._verify1(I),this.imod(I.ushln(K))},d.prototype.imul=function(I,K){return this._verify2(I,K),this.imod(I.imul(K))},d.prototype.mul=function(I,K){return this._verify2(I,K),this.imod(I.mul(K))},d.prototype.isqr=function(I){return this.imul(I,I.clone())},d.prototype.sqr=function(I){return this.mul(I,I)},d.prototype.sqrt=function(I){if(I.isZero())return I.clone();var K=this.m.andln(3);if(J(K%2===1),K===3){var O=this.m.add(new G(1)).iushrn(2);return this.pow(I,O)}var T=this.m.subn(1),W=0;while(!T.isZero()&&T.andln(1)===0)W++,T.iushrn(1);J(!T.isZero());var R=new G(1).toRed(this),M=R.redNeg(),V=this.m.subn(1).iushrn(1),$=this.m.bitLength();$=new G(2*$*$).toRed(this);while(this.pow($,V).cmp(M)!==0)$.redIAdd(M);var F=this.pow($,T),A=this.pow(I,T.addn(1).iushrn(1)),C=this.pow(I,T),N=W;while(C.cmp(R)!==0){var f=C;for(var b=0;f.cmp(R)!==0;b++)f=f.redSqr();J(b<N);var i=this.pow(F,new G(1).iushln(N-b-1));A=A.redMul(i),F=i.redSqr(),C=C.redMul(F),N=b}return A},d.prototype.invm=function(I){var K=I._invmp(this.m);if(K.negative!==0)return K.negative=0,this.imod(K).redNeg();else return this.imod(K)},d.prototype.pow=function(I,K){if(K.isZero())return new G(1).toRed(this);if(K.cmpn(1)===0)return I.clone();var O=4,T=Array(1<<O);T[0]=new G(1).toRed(this),T[1]=I;for(var W=2;W<T.length;W++)T[W]=this.mul(T[W-1],I);var R=T[0],M=0,V=0,$=K.bitLength()%26;if($===0)$=26;for(W=K.length-1;W>=0;W--){var F=K.words[W];for(var A=$-1;A>=0;A--){var C=F>>A&1;if(R!==T[0])R=this.sqr(R);if(C===0&&M===0){V=0;continue}if(M<<=1,M|=C,V++,V!==O&&(W!==0||A!==0))continue;R=this.mul(R,T[M]),V=0,M=0}$=26}return R},d.prototype.convertTo=function(I){var K=I.umod(this.m);return K===I?K.clone():K},d.prototype.convertFrom=function(I){var K=I.clone();return K.red=null,K},G.mont=function(I){return new J0(I)};function J0(I){if(d.call(this,I),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Y(J0,d),J0.prototype.convertTo=function(I){return this.imod(I.ushln(this.shift))},J0.prototype.convertFrom=function(I){var K=this.imod(I.mul(this.rinv));return K.red=null,K},J0.prototype.imul=function(I,K){if(I.isZero()||K.isZero())return I.words[0]=0,I.length=1,I;var O=I.imul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.mul=function(I,K){if(I.isZero()||K.isZero())return new G(0)._forceRed(this);var O=I.mul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.invm=function(I){var K=this.imod(I._invmp(this.m).mul(this.r2));return K._forceRed(this)}})(typeof Q>"u"||Q,U)}),m6=O0((U,Q)=>{Q.exports=Z;function Z(X,J){if(!X)throw Error(J||"Assertion failed")}Z.equal=function(X,J,Y){if(X!=J)throw Error(Y||"Assertion failed: "+X+" != "+J)}}),I$=O0((U)=>{var Q=U;function Z(Y,G){if(Array.isArray(Y))return Y.slice();if(!Y)return[];var L=[];if(typeof Y!=="string"){for(var z=0;z<Y.length;z++)L[z]=Y[z]|0;return L}if(G==="hex"){if(Y=Y.replace(/[^a-z0-9]+/ig,""),Y.length%2!==0)Y="0"+Y;for(var z=0;z<Y.length;z+=2)L.push(parseInt(Y[z]+Y[z+1],16))}else for(var z=0;z<Y.length;z++){var D=Y.charCodeAt(z),S=D>>8,H=D&255;if(S)L.push(S,H);else L.push(H)}return L}Q.toArray=Z;function X(Y){if(Y.length===1)return"0"+Y;else return Y}Q.zero2=X;function J(Y){var G="";for(var L=0;L<Y.length;L++)G+=X(Y[L].toString(16));return G}Q.toHex=J,Q.encode=function(Y,G){if(G==="hex")return J(Y);else return Y}}),a2=O0((U)=>{var Q=U,Z=B6(),X=m6(),J=I$();Q.assert=X,Q.toArray=J.toArray,Q.zero2=J.zero2,Q.toHex=J.toHex,Q.encode=J.encode;function Y(S,H,q){var E=Array(Math.max(S.bitLength(),q)+1),P;for(P=0;P<E.length;P+=1)E[P]=0;var k=1<<H+1,_=S.clone();for(P=0;P<E.length;P++){var j,B=_.andln(k-1);if(_.isOdd()){if(B>(k>>1)-1)j=(k>>1)-B;else j=B;_.isubn(j)}else j=0;E[P]=j,_.iushrn(1)}return E}Q.getNAF=Y;function G(S,H){var q=[[],[]];S=S.clone(),H=H.clone();var E=0,P=0,k;while(S.cmpn(-E)>0||H.cmpn(-P)>0){var _=S.andln(3)+E&3,j=H.andln(3)+P&3;if(_===3)_=-1;if(j===3)j=-1;var B;if((_&1)===0)B=0;else if(k=S.andln(7)+E&7,(k===3||k===5)&&j===2)B=-_;else B=_;q[0].push(B);var y;if((j&1)===0)y=0;else if(k=H.andln(7)+P&7,(k===3||k===5)&&_===2)y=-j;else y=j;if(q[1].push(y),2*E===B+1)E=1-E;if(2*P===y+1)P=1-P;S.iushrn(1),H.iushrn(1)}return q}Q.getJSF=G;function L(S,H,q){var E="_"+H;S.prototype[H]=function(){return this[E]!==void 0?this[E]:this[E]=q.call(this)}}Q.cachedProperty=L;function z(S){return typeof S==="string"?Q.toArray(S,"hex"):S}Q.parseBytes=z;function D(S){return new Z(S,"hex","le")}Q.intFromLE=D}),$$=O0((U,Q)=>{var Z;Q.exports=function(Y){if(!Z)Z=new X(null);return Z.generate(Y)};function X(Y){this.rand=Y}if(Q.exports.Rand=X,X.prototype.generate=function(Y){return this._rand(Y)},X.prototype._rand=function(Y){if(this.rand.getBytes)return this.rand.getBytes(Y);var G=new Uint8Array(Y);for(var L=0;L<G.length;L++)G[L]=this.rand.getByte();return G},typeof self==="object"){if(self.crypto&&self.crypto.getRandomValues)X.prototype._rand=function(Y){var G=new Uint8Array(Y);return self.crypto.getRandomValues(G),G};else if(self.msCrypto&&self.msCrypto.getRandomValues)X.prototype._rand=function(Y){var G=new Uint8Array(Y);return self.msCrypto.getRandomValues(G),G};else if(typeof window==="object")X.prototype._rand=function(){throw Error("Not implemented yet")}}else try{if(J=(h2(),L1(m2)),typeof J.randomBytes!=="function")throw Error("Not supported");X.prototype._rand=function(Y){return J.randomBytes(Y)}}catch(Y){}var J}),D9=O0((U,Q)=>{var Z=B6(),X=a2(),J=X.getNAF,Y=X.getJSF,G=X.assert;function L(D,S){this.type=D,this.p=new Z(S.p,16),this.red=S.prime?Z.red(S.prime):Z.mont(this.p),this.zero=new Z(0).toRed(this.red),this.one=new Z(1).toRed(this.red),this.two=new Z(2).toRed(this.red),this.n=S.n&&new Z(S.n,16),this.g=S.g&&this.pointFromJSON(S.g,S.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var H=this.n&&this.p.div(this.n);if(!H||H.cmpn(100)>0)this.redN=null;else this._maxwellTrick=!0,this.redN=this.n.toRed(this.red)}Q.exports=L,L.prototype.point=function(){throw Error("Not implemented")},L.prototype.validate=function(){throw Error("Not implemented")},L.prototype._fixedNafMul=function(D,S){G(D.precomputed);var H=D._getDoubles(),q=J(S,1,this._bitLength),E=(1<<H.step+1)-(H.step%2===0?2:1);E/=3;var P=[],k,_;for(k=0;k<q.length;k+=H.step){_=0;for(var j=k+H.step-1;j>=k;j--)_=(_<<1)+q[j];P.push(_)}var B=this.jpoint(null,null,null),y=this.jpoint(null,null,null);for(var x=E;x>0;x--){for(k=0;k<P.length;k++)if(_=P[k],_===x)y=y.mixedAdd(H.points[k]);else if(_===-x)y=y.mixedAdd(H.points[k].neg());B=B.add(y)}return B.toP()},L.prototype._wnafMul=function(D,S){var H=4,q=D._getNAFPoints(H);H=q.wnd;var E=q.points,P=J(S,H,this._bitLength),k=this.jpoint(null,null,null);for(var _=P.length-1;_>=0;_--){for(var j=0;_>=0&&P[_]===0;_--)j++;if(_>=0)j++;if(k=k.dblp(j),_<0)break;var B=P[_];if(G(B!==0),D.type==="affine")if(B>0)k=k.mixedAdd(E[B-1>>1]);else k=k.mixedAdd(E[-B-1>>1].neg());else if(B>0)k=k.add(E[B-1>>1]);else k=k.add(E[-B-1>>1].neg())}return D.type==="affine"?k.toP():k},L.prototype._wnafMulAdd=function(D,S,H,q,E){var P=this._wnafT1,k=this._wnafT2,_=this._wnafT3,j=0,B,y,x;for(B=0;B<q;B++){x=S[B];var h=x._getNAFPoints(D);P[B]=h.wnd,k[B]=h.points}for(B=q-1;B>=1;B-=2){var r=B-1,T0=B;if(P[r]!==1||P[T0]!==1){_[r]=J(H[r],P[r],this._bitLength),_[T0]=J(H[T0],P[T0],this._bitLength),j=Math.max(_[r].length,j),j=Math.max(_[T0].length,j);continue}var L0=[S[r],null,null,S[T0]];if(S[r].y.cmp(S[T0].y)===0)L0[1]=S[r].add(S[T0]),L0[2]=S[r].toJ().mixedAdd(S[T0].neg());else if(S[r].y.cmp(S[T0].y.redNeg())===0)L0[1]=S[r].toJ().mixedAdd(S[T0]),L0[2]=S[r].add(S[T0].neg());else L0[1]=S[r].toJ().mixedAdd(S[T0]),L0[2]=S[r].toJ().mixedAdd(S[T0].neg());var I0=[-3,-1,-5,-7,0,7,5,1,3],d=Y(H[r],H[T0]);j=Math.max(d[0].length,j),_[r]=Array(j),_[T0]=Array(j);for(y=0;y<j;y++){var J0=d[0][y]|0,I=d[1][y]|0;_[r][y]=I0[(J0+1)*3+(I+1)],_[T0][y]=0,k[r]=L0}}var K=this.jpoint(null,null,null),O=this._wnafT4;for(B=j;B>=0;B--){var T=0;while(B>=0){var W=!0;for(y=0;y<q;y++)if(O[y]=_[y][B]|0,O[y]!==0)W=!1;if(!W)break;T++,B--}if(B>=0)T++;if(K=K.dblp(T),B<0)break;for(y=0;y<q;y++){var R=O[y];if(R===0)continue;else if(R>0)x=k[y][R-1>>1];else if(R<0)x=k[y][-R-1>>1].neg();if(x.type==="affine")K=K.mixedAdd(x);else K=K.add(x)}}for(B=0;B<q;B++)k[B]=null;if(E)return K;else return K.toP()};function z(D,S){this.curve=D,this.type=S,this.precomputed=null}L.BasePoint=z,z.prototype.eq=function(){throw Error("Not implemented")},z.prototype.validate=function(){return this.curve.validate(this)},L.prototype.decodePoint=function(D,S){D=X.toArray(D,S);var H=this.p.byteLength();if((D[0]===4||D[0]===6||D[0]===7)&&D.length-1===2*H){if(D[0]===6)G(D[D.length-1]%2===0);else if(D[0]===7)G(D[D.length-1]%2===1);var q=this.point(D.slice(1,1+H),D.slice(1+H,1+2*H));return q}else if((D[0]===2||D[0]===3)&&D.length-1===H)return this.pointFromX(D.slice(1,1+H),D[0]===3);throw Error("Unknown point format")},z.prototype.encodeCompressed=function(D){return this.encode(D,!0)},z.prototype._encode=function(D){var S=this.curve.p.byteLength(),H=this.getX().toArray("be",S);if(D)return[this.getY().isEven()?2:3].concat(H);return[4].concat(H,this.getY().toArray("be",S))},z.prototype.encode=function(D,S){return X.encode(this._encode(S),D)},z.prototype.precompute=function(D){if(this.precomputed)return this;var S={doubles:null,naf:null,beta:null};return S.naf=this._getNAFPoints(8),S.doubles=this._getDoubles(4,D),S.beta=this._getBeta(),this.precomputed=S,this},z.prototype._hasDoubles=function(D){if(!this.precomputed)return!1;var S=this.precomputed.doubles;if(!S)return!1;return S.points.length>=Math.ceil((D.bitLength()+1)/S.step)},z.prototype._getDoubles=function(D,S){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var H=[this],q=this;for(var E=0;E<S;E+=D){for(var P=0;P<D;P++)q=q.dbl();H.push(q)}return{step:D,points:H}},z.prototype._getNAFPoints=function(D){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;var S=[this],H=(1<<D)-1,q=H===1?null:this.dbl();for(var E=1;E<H;E++)S[E]=S[E-1].add(q);return{wnd:D,points:S}},z.prototype._getBeta=function(){return null},z.prototype.dblp=function(D){var S=this;for(var H=0;H<D;H++)S=S.dbl();return S}}),sO=O0((U,Q)=>{if(typeof Object.create==="function")Q.exports=function(Z,X){if(X)Z.super_=X,Z.prototype=Object.create(X.prototype,{constructor:{value:Z,enumerable:!1,writable:!0,configurable:!0}})};else Q.exports=function(Z,X){if(X){Z.super_=X;var J=function(){};J.prototype=X.prototype,Z.prototype=new J,Z.prototype.constructor=Z}}}),o2=O0((U,Q)=>{try{if(Z=(qI(),L1(MI)),typeof Z.inherits!=="function")throw"";Q.exports=Z.inherits}catch(X){Q.exports=sO()}var Z}),iO=O0((U,Q)=>{var Z=a2(),X=B6(),J=o2(),Y=D9(),G=Z.assert;function L(S){Y.call(this,"short",S),this.a=new X(S.a,16).toRed(this.red),this.b=new X(S.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(S),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}J(L,Y),Q.exports=L,L.prototype._getEndomorphism=function(S){if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;var H,q;if(S.beta)H=new X(S.beta,16).toRed(this.red);else{var E=this._getEndoRoots(this.p);H=E[0].cmp(E[1])<0?E[0]:E[1],H=H.toRed(this.red)}if(S.lambda)q=new X(S.lambda,16);else{var P=this._getEndoRoots(this.n);if(this.g.mul(P[0]).x.cmp(this.g.x.redMul(H))===0)q=P[0];else q=P[1],G(this.g.mul(q).x.cmp(this.g.x.redMul(H))===0)}var k;if(S.basis)k=S.basis.map(function(_){return{a:new X(_.a,16),b:new X(_.b,16)}});else k=this._getEndoBasis(q);return{beta:H,lambda:q,basis:k}},L.prototype._getEndoRoots=function(S){var H=S===this.p?this.red:X.mont(S),q=new X(2).toRed(H).redInvm(),E=q.redNeg(),P=new X(3).toRed(H).redNeg().redSqrt().redMul(q),k=E.redAdd(P).fromRed(),_=E.redSub(P).fromRed();return[k,_]},L.prototype._getEndoBasis=function(S){var H=this.n.ushrn(Math.floor(this.n.bitLength()/2)),q=S,E=this.n.clone(),P=new X(1),k=new X(0),_=new X(0),j=new X(1),B,y,x,h,r,T0,L0,I0=0,d,J0;while(q.cmpn(0)!==0){var I=E.div(q);d=E.sub(I.mul(q)),J0=_.sub(I.mul(P));var K=j.sub(I.mul(k));if(!x&&d.cmp(H)<0)B=L0.neg(),y=P,x=d.neg(),h=J0;else if(x&&++I0===2)break;L0=d,E=q,q=d,_=P,P=J0,j=k,k=K}r=d.neg(),T0=J0;var O=x.sqr().add(h.sqr()),T=r.sqr().add(T0.sqr());if(T.cmp(O)>=0)r=B,T0=y;if(x.negative)x=x.neg(),h=h.neg();if(r.negative)r=r.neg(),T0=T0.neg();return[{a:x,b:h},{a:r,b:T0}]},L.prototype._endoSplit=function(S){var H=this.endo.basis,q=H[0],E=H[1],P=E.b.mul(S).divRound(this.n),k=q.b.neg().mul(S).divRound(this.n),_=P.mul(q.a),j=k.mul(E.a),B=P.mul(q.b),y=k.mul(E.b),x=S.sub(_).sub(j),h=B.add(y).neg();return{k1:x,k2:h}},L.prototype.pointFromX=function(S,H){if(S=new X(S,16),!S.red)S=S.toRed(this.red);var q=S.redSqr().redMul(S).redIAdd(S.redMul(this.a)).redIAdd(this.b),E=q.redSqrt();if(E.redSqr().redSub(q).cmp(this.zero)!==0)throw Error("invalid point");var P=E.fromRed().isOdd();if(H&&!P||!H&&P)E=E.redNeg();return this.point(S,E)},L.prototype.validate=function(S){if(S.inf)return!0;var{x:H,y:q}=S,E=this.a.redMul(H),P=H.redSqr().redMul(H).redIAdd(E).redIAdd(this.b);return q.redSqr().redISub(P).cmpn(0)===0},L.prototype._endoWnafMulAdd=function(S,H,q){var E=this._endoWnafT1,P=this._endoWnafT2;for(var k=0;k<S.length;k++){var _=this._endoSplit(H[k]),j=S[k],B=j._getBeta();if(_.k1.negative)_.k1.ineg(),j=j.neg(!0);if(_.k2.negative)_.k2.ineg(),B=B.neg(!0);E[k*2]=j,E[k*2+1]=B,P[k*2]=_.k1,P[k*2+1]=_.k2}var y=this._wnafMulAdd(1,E,P,k*2,q);for(var x=0;x<k*2;x++)E[x]=null,P[x]=null;return y};function z(S,H,q,E){if(Y.BasePoint.call(this,S,"affine"),H===null&&q===null)this.x=null,this.y=null,this.inf=!0;else{if(this.x=new X(H,16),this.y=new X(q,16),E)this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);this.inf=!1}}J(z,Y.BasePoint),L.prototype.point=function(S,H,q){return new z(this,S,H,q)},L.prototype.pointFromJSON=function(S,H){return z.fromJSON(this,S,H)},z.prototype._getBeta=function(){if(!this.curve.endo)return;var S=this.precomputed;if(S&&S.beta)return S.beta;var H=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(S){var q=this.curve,E=function(P){return q.point(P.x.redMul(q.endo.beta),P.y)};S.beta=H,H.precomputed={beta:null,naf:S.naf&&{wnd:S.naf.wnd,points:S.naf.points.map(E)},doubles:S.doubles&&{step:S.doubles.step,points:S.doubles.points.map(E)}}}return H},z.prototype.toJSON=function(){if(!this.precomputed)return[this.x,this.y];return[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]},z.fromJSON=function(S,H,q){if(typeof H==="string")H=JSON.parse(H);var E=S.point(H[0],H[1],q);if(!H[2])return E;function P(_){return S.point(_[0],_[1],q)}var k=H[2];return E.precomputed={beta:null,doubles:k.doubles&&{step:k.doubles.step,points:[E].concat(k.doubles.points.map(P))},naf:k.naf&&{wnd:k.naf.wnd,points:[E].concat(k.naf.points.map(P))}},E},z.prototype.inspect=function(){if(this.isInfinity())return"<EC Point Infinity>";return"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},z.prototype.isInfinity=function(){return this.inf},z.prototype.add=function(S){if(this.inf)return S;if(S.inf)return this;if(this.eq(S))return this.dbl();if(this.neg().eq(S))return this.curve.point(null,null);if(this.x.cmp(S.x)===0)return this.curve.point(null,null);var H=this.y.redSub(S.y);if(H.cmpn(0)!==0)H=H.redMul(this.x.redSub(S.x).redInvm());var q=H.redSqr().redISub(this.x).redISub(S.x),E=H.redMul(this.x.redSub(q)).redISub(this.y);return this.curve.point(q,E)},z.prototype.dbl=function(){if(this.inf)return this;var S=this.y.redAdd(this.y);if(S.cmpn(0)===0)return this.curve.point(null,null);var H=this.curve.a,q=this.x.redSqr(),E=S.redInvm(),P=q.redAdd(q).redIAdd(q).redIAdd(H).redMul(E),k=P.redSqr().redISub(this.x.redAdd(this.x)),_=P.redMul(this.x.redSub(k)).redISub(this.y);return this.curve.point(k,_)},z.prototype.getX=function(){return this.x.fromRed()},z.prototype.getY=function(){return this.y.fromRed()},z.prototype.mul=function(S){if(S=new X(S,16),this.isInfinity())return this;else if(this._hasDoubles(S))return this.curve._fixedNafMul(this,S);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[S]);else return this.curve._wnafMul(this,S)},z.prototype.mulAdd=function(S,H,q){var E=[this,H],P=[S,q];if(this.curve.endo)return this.curve._endoWnafMulAdd(E,P);else return this.curve._wnafMulAdd(1,E,P,2)},z.prototype.jmulAdd=function(S,H,q){var E=[this,H],P=[S,q];if(this.curve.endo)return this.curve._endoWnafMulAdd(E,P,!0);else return this.curve._wnafMulAdd(1,E,P,2,!0)},z.prototype.eq=function(S){return this===S||this.inf===S.inf&&(this.inf||this.x.cmp(S.x)===0&&this.y.cmp(S.y)===0)},z.prototype.neg=function(S){if(this.inf)return this;var H=this.curve.point(this.x,this.y.redNeg());if(S&&this.precomputed){var q=this.precomputed,E=function(P){return P.neg()};H.precomputed={naf:q.naf&&{wnd:q.naf.wnd,points:q.naf.points.map(E)},doubles:q.doubles&&{step:q.doubles.step,points:q.doubles.points.map(E)}}}return H},z.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var S=this.curve.jpoint(this.x,this.y,this.curve.one);return S};function D(S,H,q,E){if(Y.BasePoint.call(this,S,"jacobian"),H===null&&q===null&&E===null)this.x=this.curve.one,this.y=this.curve.one,this.z=new X(0);else this.x=new X(H,16),this.y=new X(q,16),this.z=new X(E,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}J(D,Y.BasePoint),L.prototype.jpoint=function(S,H,q){return new D(this,S,H,q)},D.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var S=this.z.redInvm(),H=S.redSqr(),q=this.x.redMul(H),E=this.y.redMul(H).redMul(S);return this.curve.point(q,E)},D.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},D.prototype.add=function(S){if(this.isInfinity())return S;if(S.isInfinity())return this;var H=S.z.redSqr(),q=this.z.redSqr(),E=this.x.redMul(H),P=S.x.redMul(q),k=this.y.redMul(H.redMul(S.z)),_=S.y.redMul(q.redMul(this.z)),j=E.redSub(P),B=k.redSub(_);if(j.cmpn(0)===0)if(B.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var y=j.redSqr(),x=y.redMul(j),h=E.redMul(y),r=B.redSqr().redIAdd(x).redISub(h).redISub(h),T0=B.redMul(h.redISub(r)).redISub(k.redMul(x)),L0=this.z.redMul(S.z).redMul(j);return this.curve.jpoint(r,T0,L0)},D.prototype.mixedAdd=function(S){if(this.isInfinity())return S.toJ();if(S.isInfinity())return this;var H=this.z.redSqr(),q=this.x,E=S.x.redMul(H),P=this.y,k=S.y.redMul(H).redMul(this.z),_=q.redSub(E),j=P.redSub(k);if(_.cmpn(0)===0)if(j.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var B=_.redSqr(),y=B.redMul(_),x=q.redMul(B),h=j.redSqr().redIAdd(y).redISub(x).redISub(x),r=j.redMul(x.redISub(h)).redISub(P.redMul(y)),T0=this.z.redMul(_);return this.curve.jpoint(h,r,T0)},D.prototype.dblp=function(S){if(S===0)return this;if(this.isInfinity())return this;if(!S)return this.dbl();var H;if(this.curve.zeroA||this.curve.threeA){var q=this;for(H=0;H<S;H++)q=q.dbl();return q}var E=this.curve.a,P=this.curve.tinv,k=this.x,_=this.y,j=this.z,B=j.redSqr().redSqr(),y=_.redAdd(_);for(H=0;H<S;H++){var x=k.redSqr(),h=y.redSqr(),r=h.redSqr(),T0=x.redAdd(x).redIAdd(x).redIAdd(E.redMul(B)),L0=k.redMul(h),I0=T0.redSqr().redISub(L0.redAdd(L0)),d=L0.redISub(I0),J0=T0.redMul(d);J0=J0.redIAdd(J0).redISub(r);var I=y.redMul(j);if(H+1<S)B=B.redMul(r);k=I0,j=I,y=J0}return this.curve.jpoint(k,y.redMul(P),j)},D.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.zeroA)return this._zeroDbl();else if(this.curve.threeA)return this._threeDbl();else return this._dbl()},D.prototype._zeroDbl=function(){var S,H,q;if(this.zOne){var E=this.x.redSqr(),P=this.y.redSqr(),k=P.redSqr(),_=this.x.redAdd(P).redSqr().redISub(E).redISub(k);_=_.redIAdd(_);var j=E.redAdd(E).redIAdd(E),B=j.redSqr().redISub(_).redISub(_),y=k.redIAdd(k);y=y.redIAdd(y),y=y.redIAdd(y),S=B,H=j.redMul(_.redISub(B)).redISub(y),q=this.y.redAdd(this.y)}else{var x=this.x.redSqr(),h=this.y.redSqr(),r=h.redSqr(),T0=this.x.redAdd(h).redSqr().redISub(x).redISub(r);T0=T0.redIAdd(T0);var L0=x.redAdd(x).redIAdd(x),I0=L0.redSqr(),d=r.redIAdd(r);d=d.redIAdd(d),d=d.redIAdd(d),S=I0.redISub(T0).redISub(T0),H=L0.redMul(T0.redISub(S)).redISub(d),q=this.y.redMul(this.z),q=q.redIAdd(q)}return this.curve.jpoint(S,H,q)},D.prototype._threeDbl=function(){var S,H,q;if(this.zOne){var E=this.x.redSqr(),P=this.y.redSqr(),k=P.redSqr(),_=this.x.redAdd(P).redSqr().redISub(E).redISub(k);_=_.redIAdd(_);var j=E.redAdd(E).redIAdd(E).redIAdd(this.curve.a),B=j.redSqr().redISub(_).redISub(_);S=B;var y=k.redIAdd(k);y=y.redIAdd(y),y=y.redIAdd(y),H=j.redMul(_.redISub(B)).redISub(y),q=this.y.redAdd(this.y)}else{var x=this.z.redSqr(),h=this.y.redSqr(),r=this.x.redMul(h),T0=this.x.redSub(x).redMul(this.x.redAdd(x));T0=T0.redAdd(T0).redIAdd(T0);var L0=r.redIAdd(r);L0=L0.redIAdd(L0);var I0=L0.redAdd(L0);S=T0.redSqr().redISub(I0),q=this.y.redAdd(this.z).redSqr().redISub(h).redISub(x);var d=h.redSqr();d=d.redIAdd(d),d=d.redIAdd(d),d=d.redIAdd(d),H=T0.redMul(L0.redISub(S)).redISub(d)}return this.curve.jpoint(S,H,q)},D.prototype._dbl=function(){var S=this.curve.a,H=this.x,q=this.y,E=this.z,P=E.redSqr().redSqr(),k=H.redSqr(),_=q.redSqr(),j=k.redAdd(k).redIAdd(k).redIAdd(S.redMul(P)),B=H.redAdd(H);B=B.redIAdd(B);var y=B.redMul(_),x=j.redSqr().redISub(y.redAdd(y)),h=y.redISub(x),r=_.redSqr();r=r.redIAdd(r),r=r.redIAdd(r),r=r.redIAdd(r);var T0=j.redMul(h).redISub(r),L0=q.redAdd(q).redMul(E);return this.curve.jpoint(x,T0,L0)},D.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var S=this.x.redSqr(),H=this.y.redSqr(),q=this.z.redSqr(),E=H.redSqr(),P=S.redAdd(S).redIAdd(S),k=P.redSqr(),_=this.x.redAdd(H).redSqr().redISub(S).redISub(E);_=_.redIAdd(_),_=_.redAdd(_).redIAdd(_),_=_.redISub(k);var j=_.redSqr(),B=E.redIAdd(E);B=B.redIAdd(B),B=B.redIAdd(B),B=B.redIAdd(B);var y=P.redIAdd(_).redSqr().redISub(k).redISub(j).redISub(B),x=H.redMul(y);x=x.redIAdd(x),x=x.redIAdd(x);var h=this.x.redMul(j).redISub(x);h=h.redIAdd(h),h=h.redIAdd(h);var r=this.y.redMul(y.redMul(B.redISub(y)).redISub(_.redMul(j)));r=r.redIAdd(r),r=r.redIAdd(r),r=r.redIAdd(r);var T0=this.z.redAdd(_).redSqr().redISub(q).redISub(j);return this.curve.jpoint(h,r,T0)},D.prototype.mul=function(S,H){return S=new X(S,H),this.curve._wnafMul(this,S)},D.prototype.eq=function(S){if(S.type==="affine")return this.eq(S.toJ());if(this===S)return!0;var H=this.z.redSqr(),q=S.z.redSqr();if(this.x.redMul(q).redISub(S.x.redMul(H)).cmpn(0)!==0)return!1;var E=H.redMul(this.z),P=q.redMul(S.z);return this.y.redMul(P).redISub(S.y.redMul(E)).cmpn(0)===0},D.prototype.eqXToP=function(S){var H=this.z.redSqr(),q=S.toRed(this.curve.red).redMul(H);if(this.x.cmp(q)===0)return!0;var E=S.clone(),P=this.curve.redN.redMul(H);for(;;){if(E.iadd(this.curve.n),E.cmp(this.curve.p)>=0)return!1;if(q.redIAdd(P),this.x.cmp(q)===0)return!0}},D.prototype.inspect=function(){if(this.isInfinity())return"<EC JPoint Infinity>";return"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},D.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}),aO=O0((U,Q)=>{var Z=B6(),X=o2(),J=D9(),Y=a2();function G(z){J.call(this,"mont",z),this.a=new Z(z.a,16).toRed(this.red),this.b=new Z(z.b,16).toRed(this.red),this.i4=new Z(4).toRed(this.red).redInvm(),this.two=new Z(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}X(G,J),Q.exports=G,G.prototype.validate=function(z){var D=z.normalize().x,S=D.redSqr(),H=S.redMul(D).redAdd(S.redMul(this.a)).redAdd(D),q=H.redSqrt();return q.redSqr().cmp(H)===0};function L(z,D,S){if(J.BasePoint.call(this,z,"projective"),D===null&&S===null)this.x=this.curve.one,this.z=this.curve.zero;else{if(this.x=new Z(D,16),this.z=new Z(S,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}X(L,J.BasePoint),G.prototype.decodePoint=function(z,D){return this.point(Y.toArray(z,D),1)},G.prototype.point=function(z,D){return new L(this,z,D)},G.prototype.pointFromJSON=function(z){return L.fromJSON(this,z)},L.prototype.precompute=function(){},L.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},L.fromJSON=function(z,D){return new L(z,D[0],D[1]||z.one)},L.prototype.inspect=function(){if(this.isInfinity())return"<EC Point Infinity>";return"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},L.prototype.isInfinity=function(){return this.z.cmpn(0)===0},L.prototype.dbl=function(){var z=this.x.redAdd(this.z),D=z.redSqr(),S=this.x.redSub(this.z),H=S.redSqr(),q=D.redSub(H),E=D.redMul(H),P=q.redMul(H.redAdd(this.curve.a24.redMul(q)));return this.curve.point(E,P)},L.prototype.add=function(){throw Error("Not supported on Montgomery curve")},L.prototype.diffAdd=function(z,D){var S=this.x.redAdd(this.z),H=this.x.redSub(this.z),q=z.x.redAdd(z.z),E=z.x.redSub(z.z),P=E.redMul(S),k=q.redMul(H),_=D.z.redMul(P.redAdd(k).redSqr()),j=D.x.redMul(P.redISub(k).redSqr());return this.curve.point(_,j)},L.prototype.mul=function(z){var D=z.clone(),S=this,H=this.curve.point(null,null),q=this;for(var E=[];D.cmpn(0)!==0;D.iushrn(1))E.push(D.andln(1));for(var P=E.length-1;P>=0;P--)if(E[P]===0)S=S.diffAdd(H,q),H=H.dbl();else H=S.diffAdd(H,q),S=S.dbl();return H},L.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},L.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},L.prototype.eq=function(z){return this.getX().cmp(z.getX())===0},L.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},L.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}),tO=O0((U,Q)=>{var Z=a2(),X=B6(),J=o2(),Y=D9(),G=Z.assert;function L(D){this.twisted=(D.a|0)!==1,this.mOneA=this.twisted&&(D.a|0)===-1,this.extended=this.mOneA,Y.call(this,"edwards",D),this.a=new X(D.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new X(D.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new X(D.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),G(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(D.c|0)===1}J(L,Y),Q.exports=L,L.prototype._mulA=function(D){if(this.mOneA)return D.redNeg();else return this.a.redMul(D)},L.prototype._mulC=function(D){if(this.oneC)return D;else return this.c.redMul(D)},L.prototype.jpoint=function(D,S,H,q){return this.point(D,S,H,q)},L.prototype.pointFromX=function(D,S){if(D=new X(D,16),!D.red)D=D.toRed(this.red);var H=D.redSqr(),q=this.c2.redSub(this.a.redMul(H)),E=this.one.redSub(this.c2.redMul(this.d).redMul(H)),P=q.redMul(E.redInvm()),k=P.redSqrt();if(k.redSqr().redSub(P).cmp(this.zero)!==0)throw Error("invalid point");var _=k.fromRed().isOdd();if(S&&!_||!S&&_)k=k.redNeg();return this.point(D,k)},L.prototype.pointFromY=function(D,S){if(D=new X(D,16),!D.red)D=D.toRed(this.red);var H=D.redSqr(),q=H.redSub(this.c2),E=H.redMul(this.d).redMul(this.c2).redSub(this.a),P=q.redMul(E.redInvm());if(P.cmp(this.zero)===0)if(S)throw Error("invalid point");else return this.point(this.zero,D);var k=P.redSqrt();if(k.redSqr().redSub(P).cmp(this.zero)!==0)throw Error("invalid point");if(k.fromRed().isOdd()!==S)k=k.redNeg();return this.point(k,D)},L.prototype.validate=function(D){if(D.isInfinity())return!0;D.normalize();var S=D.x.redSqr(),H=D.y.redSqr(),q=S.redMul(this.a).redAdd(H),E=this.c2.redMul(this.one.redAdd(this.d.redMul(S).redMul(H)));return q.cmp(E)===0};function z(D,S,H,q,E){if(Y.BasePoint.call(this,D,"projective"),S===null&&H===null&&q===null)this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0;else{if(this.x=new X(S,16),this.y=new X(H,16),this.z=q?new X(q,16):this.curve.one,this.t=E&&new X(E,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);if(this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t){if(this.t=this.x.redMul(this.y),!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}J(z,Y.BasePoint),L.prototype.pointFromJSON=function(D){return z.fromJSON(this,D)},L.prototype.point=function(D,S,H,q){return new z(this,D,S,H,q)},z.fromJSON=function(D,S){return new z(D,S[0],S[1],S[2])},z.prototype.inspect=function(){if(this.isInfinity())return"<EC Point Infinity>";return"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},z.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},z.prototype._extDbl=function(){var D=this.x.redSqr(),S=this.y.redSqr(),H=this.z.redSqr();H=H.redIAdd(H);var q=this.curve._mulA(D),E=this.x.redAdd(this.y).redSqr().redISub(D).redISub(S),P=q.redAdd(S),k=P.redSub(H),_=q.redSub(S),j=E.redMul(k),B=P.redMul(_),y=E.redMul(_),x=k.redMul(P);return this.curve.point(j,B,x,y)},z.prototype._projDbl=function(){var D=this.x.redAdd(this.y).redSqr(),S=this.x.redSqr(),H=this.y.redSqr(),q,E,P,k,_,j;if(this.curve.twisted){k=this.curve._mulA(S);var B=k.redAdd(H);if(this.zOne)q=D.redSub(S).redSub(H).redMul(B.redSub(this.curve.two)),E=B.redMul(k.redSub(H)),P=B.redSqr().redSub(B).redSub(B);else _=this.z.redSqr(),j=B.redSub(_).redISub(_),q=D.redSub(S).redISub(H).redMul(j),E=B.redMul(k.redSub(H)),P=B.redMul(j)}else k=S.redAdd(H),_=this.curve._mulC(this.z).redSqr(),j=k.redSub(_).redSub(_),q=this.curve._mulC(D.redISub(k)).redMul(j),E=this.curve._mulC(k).redMul(S.redISub(H)),P=k.redMul(j);return this.curve.point(q,E,P)},z.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()},z.prototype._extAdd=function(D){var S=this.y.redSub(this.x).redMul(D.y.redSub(D.x)),H=this.y.redAdd(this.x).redMul(D.y.redAdd(D.x)),q=this.t.redMul(this.curve.dd).redMul(D.t),E=this.z.redMul(D.z.redAdd(D.z)),P=H.redSub(S),k=E.redSub(q),_=E.redAdd(q),j=H.redAdd(S),B=P.redMul(k),y=_.redMul(j),x=P.redMul(j),h=k.redMul(_);return this.curve.point(B,y,h,x)},z.prototype._projAdd=function(D){var S=this.z.redMul(D.z),H=S.redSqr(),q=this.x.redMul(D.x),E=this.y.redMul(D.y),P=this.curve.d.redMul(q).redMul(E),k=H.redSub(P),_=H.redAdd(P),j=this.x.redAdd(this.y).redMul(D.x.redAdd(D.y)).redISub(q).redISub(E),B=S.redMul(k).redMul(j),y,x;if(this.curve.twisted)y=S.redMul(_).redMul(E.redSub(this.curve._mulA(q))),x=k.redMul(_);else y=S.redMul(_).redMul(E.redSub(q)),x=this.curve._mulC(k).redMul(_);return this.curve.point(B,y,x)},z.prototype.add=function(D){if(this.isInfinity())return D;if(D.isInfinity())return this;if(this.curve.extended)return this._extAdd(D);else return this._projAdd(D)},z.prototype.mul=function(D){if(this._hasDoubles(D))return this.curve._fixedNafMul(this,D);else return this.curve._wnafMul(this,D)},z.prototype.mulAdd=function(D,S,H){return this.curve._wnafMulAdd(1,[this,S],[D,H],2,!1)},z.prototype.jmulAdd=function(D,S,H){return this.curve._wnafMulAdd(1,[this,S],[D,H],2,!0)},z.prototype.normalize=function(){if(this.zOne)return this;var D=this.z.redInvm();if(this.x=this.x.redMul(D),this.y=this.y.redMul(D),this.t)this.t=this.t.redMul(D);return this.z=this.curve.one,this.zOne=!0,this},z.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},z.prototype.getX=function(){return this.normalize(),this.x.fromRed()},z.prototype.getY=function(){return this.normalize(),this.y.fromRed()},z.prototype.eq=function(D){return this===D||this.getX().cmp(D.getX())===0&&this.getY().cmp(D.getY())===0},z.prototype.eqXToP=function(D){var S=D.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(S)===0)return!0;var H=D.clone(),q=this.curve.redN.redMul(this.z);for(;;){if(H.iadd(this.curve.n),H.cmp(this.curve.p)>=0)return!1;if(S.redIAdd(q),this.x.cmp(S)===0)return!0}},z.prototype.toP=z.prototype.normalize,z.prototype.mixedAdd=z.prototype.add}),Y$=O0((U)=>{var Q=U;Q.base=D9(),Q.short=iO(),Q.mont=aO(),Q.edwards=tO()}),H6=O0((U)=>{var Q=m6(),Z=o2();U.inherits=Z;function X(K,O){if((K.charCodeAt(O)&64512)!==55296)return!1;if(O<0||O+1>=K.length)return!1;return(K.charCodeAt(O+1)&64512)===56320}function J(K,O){if(Array.isArray(K))return K.slice();if(!K)return[];var T=[];if(typeof K==="string"){if(!O){var W=0;for(var R=0;R<K.length;R++){var M=K.charCodeAt(R);if(M<128)T[W++]=M;else if(M<2048)T[W++]=M>>6|192,T[W++]=M&63|128;else if(X(K,R))M=65536+((M&1023)<<10)+(K.charCodeAt(++R)&1023),T[W++]=M>>18|240,T[W++]=M>>12&63|128,T[W++]=M>>6&63|128,T[W++]=M&63|128;else T[W++]=M>>12|224,T[W++]=M>>6&63|128,T[W++]=M&63|128}}else if(O==="hex"){if(K=K.replace(/[^a-z0-9]+/ig,""),K.length%2!==0)K="0"+K;for(R=0;R<K.length;R+=2)T.push(parseInt(K[R]+K[R+1],16))}}else for(R=0;R<K.length;R++)T[R]=K[R]|0;return T}U.toArray=J;function Y(K){var O="";for(var T=0;T<K.length;T++)O+=z(K[T].toString(16));return O}U.toHex=Y;function G(K){var O=K>>>24|K>>>8&65280|K<<8&16711680|(K&255)<<24;return O>>>0}U.htonl=G;function L(K,O){var T="";for(var W=0;W<K.length;W++){var R=K[W];if(O==="little")R=G(R);T+=D(R.toString(16))}return T}U.toHex32=L;function z(K){if(K.length===1)return"0"+K;else return K}U.zero2=z;function D(K){if(K.length===7)return"0"+K;else if(K.length===6)return"00"+K;else if(K.length===5)return"000"+K;else if(K.length===4)return"0000"+K;else if(K.length===3)return"00000"+K;else if(K.length===2)return"000000"+K;else if(K.length===1)return"0000000"+K;else return K}U.zero8=D;function S(K,O,T,W){var R=T-O;Q(R%4===0);var M=Array(R/4);for(var V=0,$=O;V<M.length;V++,$+=4){var F;if(W==="big")F=K[$]<<24|K[$+1]<<16|K[$+2]<<8|K[$+3];else F=K[$+3]<<24|K[$+2]<<16|K[$+1]<<8|K[$];M[V]=F>>>0}return M}U.join32=S;function H(K,O){var T=Array(K.length*4);for(var W=0,R=0;W<K.length;W++,R+=4){var M=K[W];if(O==="big")T[R]=M>>>24,T[R+1]=M>>>16&255,T[R+2]=M>>>8&255,T[R+3]=M&255;else T[R+3]=M>>>24,T[R+2]=M>>>16&255,T[R+1]=M>>>8&255,T[R]=M&255}return T}U.split32=H;function q(K,O){return K>>>O|K<<32-O}U.rotr32=q;function E(K,O){return K<<O|K>>>32-O}U.rotl32=E;function P(K,O){return K+O>>>0}U.sum32=P;function k(K,O,T){return K+O+T>>>0}U.sum32_3=k;function _(K,O,T,W){return K+O+T+W>>>0}U.sum32_4=_;function j(K,O,T,W,R){return K+O+T+W+R>>>0}U.sum32_5=j;function B(K,O,T,W){var R=K[O],M=K[O+1],V=W+M>>>0,$=(V<W?1:0)+T+R;K[O]=$>>>0,K[O+1]=V}U.sum64=B;function y(K,O,T,W){var R=O+W>>>0,M=(R<O?1:0)+K+T;return M>>>0}U.sum64_hi=y;function x(K,O,T,W){var R=O+W;return R>>>0}U.sum64_lo=x;function h(K,O,T,W,R,M,V,$){var F=0,A=O;A=A+W>>>0,F+=A<O?1:0,A=A+M>>>0,F+=A<M?1:0,A=A+$>>>0,F+=A<$?1:0;var C=K+T+R+V+F;return C>>>0}U.sum64_4_hi=h;function r(K,O,T,W,R,M,V,$){var F=O+W+M+$;return F>>>0}U.sum64_4_lo=r;function T0(K,O,T,W,R,M,V,$,F,A){var C=0,N=O;N=N+W>>>0,C+=N<O?1:0,N=N+M>>>0,C+=N<M?1:0,N=N+$>>>0,C+=N<$?1:0,N=N+A>>>0,C+=N<A?1:0;var f=K+T+R+V+F+C;return f>>>0}U.sum64_5_hi=T0;function L0(K,O,T,W,R,M,V,$,F,A){var C=O+W+M+$+A;return C>>>0}U.sum64_5_lo=L0;function I0(K,O,T){var W=O<<32-T|K>>>T;return W>>>0}U.rotr64_hi=I0;function d(K,O,T){var W=K<<32-T|O>>>T;return W>>>0}U.rotr64_lo=d;function J0(K,O,T){return K>>>T}U.shr64_hi=J0;function I(K,O,T){var W=K<<32-T|O>>>T;return W>>>0}U.shr64_lo=I}),G5=O0((U)=>{var Q=H6(),Z=m6();function X(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}U.BlockHash=X,X.prototype.update=function(J,Y){if(J=Q.toArray(J,Y),!this.pending)this.pending=J;else this.pending=this.pending.concat(J);if(this.pendingTotal+=J.length,this.pending.length>=this._delta8){J=this.pending;var G=J.length%this._delta8;if(this.pending=J.slice(J.length-G,J.length),this.pending.length===0)this.pending=null;J=Q.join32(J,0,J.length-G,this.endian);for(var L=0;L<J.length;L+=this._delta32)this._update(J,L,L+this._delta32)}return this},X.prototype.digest=function(J){return this.update(this._pad()),Z(this.pending===null),this._digest(J)},X.prototype._pad=function(){var J=this.pendingTotal,Y=this._delta8,G=Y-(J+this.padLength)%Y,L=Array(G+this.padLength);L[0]=128;for(var z=1;z<G;z++)L[z]=0;if(J<<=3,this.endian==="big"){for(var D=8;D<this.padLength;D++)L[z++]=0;L[z++]=0,L[z++]=0,L[z++]=0,L[z++]=0,L[z++]=J>>>24&255,L[z++]=J>>>16&255,L[z++]=J>>>8&255,L[z++]=J&255}else{L[z++]=J&255,L[z++]=J>>>8&255,L[z++]=J>>>16&255,L[z++]=J>>>24&255,L[z++]=0,L[z++]=0,L[z++]=0,L[z++]=0;for(D=8;D<this.padLength;D++)L[z++]=0}return L}}),T$=O0((U)=>{var Q=H6(),Z=Q.rotr32;function X(H,q,E,P){if(H===0)return J(q,E,P);if(H===1||H===3)return G(q,E,P);if(H===2)return Y(q,E,P)}U.ft_1=X;function J(H,q,E){return H&q^~H&E}U.ch32=J;function Y(H,q,E){return H&q^H&E^q&E}U.maj32=Y;function G(H,q,E){return H^q^E}U.p32=G;function L(H){return Z(H,2)^Z(H,13)^Z(H,22)}U.s0_256=L;function z(H){return Z(H,6)^Z(H,11)^Z(H,25)}U.s1_256=z;function D(H){return Z(H,7)^Z(H,18)^H>>>3}U.g0_256=D;function S(H){return Z(H,17)^Z(H,19)^H>>>10}U.g1_256=S}),eO=O0((U,Q)=>{var Z=H6(),X=G5(),J=T$(),Y=Z.rotl32,G=Z.sum32,L=Z.sum32_5,z=J.ft_1,D=X.BlockHash,S=[1518500249,1859775393,2400959708,3395469782];function H(){if(!(this instanceof H))return new H;D.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}Z.inherits(H,D),Q.exports=H,H.blockSize=512,H.outSize=160,H.hmacStrength=80,H.padLength=64,H.prototype._update=function(q,E){var P=this.W;for(var k=0;k<16;k++)P[k]=q[E+k];for(;k<P.length;k++)P[k]=Y(P[k-3]^P[k-8]^P[k-14]^P[k-16],1);var _=this.h[0],j=this.h[1],B=this.h[2],y=this.h[3],x=this.h[4];for(k=0;k<P.length;k++){var h=~~(k/20),r=L(Y(_,5),z(h,j,B,y),x,P[k],S[h]);x=y,y=B,B=Y(j,30),j=_,_=r}this.h[0]=G(this.h[0],_),this.h[1]=G(this.h[1],j),this.h[2]=G(this.h[2],B),this.h[3]=G(this.h[3],y),this.h[4]=G(this.h[4],x)},H.prototype._digest=function(q){if(q==="hex")return Z.toHex32(this.h,"big");else return Z.split32(this.h,"big")}}),K$=O0((U,Q)=>{var Z=H6(),X=G5(),J=T$(),Y=m6(),G=Z.sum32,L=Z.sum32_4,z=Z.sum32_5,D=J.ch32,S=J.maj32,H=J.s0_256,q=J.s1_256,E=J.g0_256,P=J.g1_256,k=X.BlockHash,_=[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];function j(){if(!(this instanceof j))return new j;k.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=_,this.W=Array(64)}Z.inherits(j,k),Q.exports=j,j.blockSize=512,j.outSize=256,j.hmacStrength=192,j.padLength=64,j.prototype._update=function(B,y){var x=this.W;for(var h=0;h<16;h++)x[h]=B[y+h];for(;h<x.length;h++)x[h]=L(P(x[h-2]),x[h-7],E(x[h-15]),x[h-16]);var r=this.h[0],T0=this.h[1],L0=this.h[2],I0=this.h[3],d=this.h[4],J0=this.h[5],I=this.h[6],K=this.h[7];Y(this.k.length===x.length);for(h=0;h<x.length;h++){var O=z(K,q(d),D(d,J0,I),this.k[h],x[h]),T=G(H(r),S(r,T0,L0));K=I,I=J0,J0=d,d=G(I0,O),I0=L0,L0=T0,T0=r,r=G(O,T)}this.h[0]=G(this.h[0],r),this.h[1]=G(this.h[1],T0),this.h[2]=G(this.h[2],L0),this.h[3]=G(this.h[3],I0),this.h[4]=G(this.h[4],d),this.h[5]=G(this.h[5],J0),this.h[6]=G(this.h[6],I),this.h[7]=G(this.h[7],K)},j.prototype._digest=function(B){if(B==="hex")return Z.toHex32(this.h,"big");else return Z.split32(this.h,"big")}}),UL=O0((U,Q)=>{var Z=H6(),X=K$();function J(){if(!(this instanceof J))return new J;X.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Z.inherits(J,X),Q.exports=J,J.blockSize=512,J.outSize=224,J.hmacStrength=192,J.padLength=64,J.prototype._digest=function(Y){if(Y==="hex")return Z.toHex32(this.h.slice(0,7),"big");else return Z.split32(this.h.slice(0,7),"big")}}),W$=O0((U,Q)=>{var Z=H6(),X=G5(),J=m6(),Y=Z.rotr64_hi,G=Z.rotr64_lo,L=Z.shr64_hi,z=Z.shr64_lo,D=Z.sum64,S=Z.sum64_hi,H=Z.sum64_lo,q=Z.sum64_4_hi,E=Z.sum64_4_lo,P=Z.sum64_5_hi,k=Z.sum64_5_lo,_=X.BlockHash,j=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function B(){if(!(this instanceof B))return new B;_.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=j,this.W=Array(160)}Z.inherits(B,_),Q.exports=B,B.blockSize=1024,B.outSize=512,B.hmacStrength=192,B.padLength=128,B.prototype._prepareBlock=function(T,W){var R=this.W;for(var M=0;M<32;M++)R[M]=T[W+M];for(;M<R.length;M+=2){var V=K(R[M-4],R[M-3]),$=O(R[M-4],R[M-3]),F=R[M-14],A=R[M-13],C=J0(R[M-30],R[M-29]),N=I(R[M-30],R[M-29]),f=R[M-32],b=R[M-31];R[M]=q(V,$,F,A,C,N,f,b),R[M+1]=E(V,$,F,A,C,N,f,b)}},B.prototype._update=function(T,W){this._prepareBlock(T,W);var R=this.W,M=this.h[0],V=this.h[1],$=this.h[2],F=this.h[3],A=this.h[4],C=this.h[5],N=this.h[6],f=this.h[7],b=this.h[8],i=this.h[9],D0=this.h[10],Q0=this.h[11],n=this.h[12],K0=this.h[13],a=this.h[14],G0=this.h[15];J(this.k.length===R.length);for(var m0=0;m0<R.length;m0+=2){var c=a,l=G0,W0=I0(b,i),e=d(b,i),X0=y(b,i,D0,Q0,n,K0),j0=x(b,i,D0,Q0,n,K0),u=this.k[m0],s=this.k[m0+1],b0=R[m0],t=R[m0+1],Y0=P(c,l,W0,e,X0,j0,u,s,b0,t),e0=k(c,l,W0,e,X0,j0,u,s,b0,t);c=T0(M,V),l=L0(M,V),W0=h(M,V,$,F,A,C),e=r(M,V,$,F,A,C);var R0=S(c,l,W0,e),z0=H(c,l,W0,e);a=n,G0=K0,n=D0,K0=Q0,D0=b,Q0=i,b=S(N,f,Y0,e0),i=H(f,f,Y0,e0),N=A,f=C,A=$,C=F,$=M,F=V,M=S(Y0,e0,R0,z0),V=H(Y0,e0,R0,z0)}D(this.h,0,M,V),D(this.h,2,$,F),D(this.h,4,A,C),D(this.h,6,N,f),D(this.h,8,b,i),D(this.h,10,D0,Q0),D(this.h,12,n,K0),D(this.h,14,a,G0)},B.prototype._digest=function(T){if(T==="hex")return Z.toHex32(this.h,"big");else return Z.split32(this.h,"big")};function y(T,W,R,M,V){var $=T&R^~T&V;if($<0)$+=4294967296;return $}function x(T,W,R,M,V,$){var F=W&M^~W&$;if(F<0)F+=4294967296;return F}function h(T,W,R,M,V){var $=T&R^T&V^R&V;if($<0)$+=4294967296;return $}function r(T,W,R,M,V,$){var F=W&M^W&$^M&$;if(F<0)F+=4294967296;return F}function T0(T,W){var R=Y(T,W,28),M=Y(W,T,2),V=Y(W,T,7),$=R^M^V;if($<0)$+=4294967296;return $}function L0(T,W){var R=G(T,W,28),M=G(W,T,2),V=G(W,T,7),$=R^M^V;if($<0)$+=4294967296;return $}function I0(T,W){var R=Y(T,W,14),M=Y(T,W,18),V=Y(W,T,9),$=R^M^V;if($<0)$+=4294967296;return $}function d(T,W){var R=G(T,W,14),M=G(T,W,18),V=G(W,T,9),$=R^M^V;if($<0)$+=4294967296;return $}function J0(T,W){var R=Y(T,W,1),M=Y(T,W,8),V=L(T,W,7),$=R^M^V;if($<0)$+=4294967296;return $}function I(T,W){var R=G(T,W,1),M=G(T,W,8),V=z(T,W,7),$=R^M^V;if($<0)$+=4294967296;return $}function K(T,W){var R=Y(T,W,19),M=Y(W,T,29),V=L(T,W,6),$=R^M^V;if($<0)$+=4294967296;return $}function O(T,W){var R=G(T,W,19),M=G(W,T,29),V=z(T,W,6),$=R^M^V;if($<0)$+=4294967296;return $}}),QL=O0((U,Q)=>{var Z=H6(),X=W$();function J(){if(!(this instanceof J))return new J;X.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Z.inherits(J,X),Q.exports=J,J.blockSize=1024,J.outSize=384,J.hmacStrength=192,J.padLength=128,J.prototype._digest=function(Y){if(Y==="hex")return Z.toHex32(this.h.slice(0,12),"big");else return Z.split32(this.h.slice(0,12),"big")}}),ZL=O0((U)=>{U.sha1=eO(),U.sha224=UL(),U.sha256=K$(),U.sha384=QL(),U.sha512=W$()}),XL=O0((U)=>{var Q=H6(),Z=G5(),X=Q.rotl32,J=Q.sum32,Y=Q.sum32_3,G=Q.sum32_4,L=Z.BlockHash;function z(){if(!(this instanceof z))return new z;L.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}Q.inherits(z,L),U.ripemd160=z,z.blockSize=512,z.outSize=160,z.hmacStrength=192,z.padLength=64,z.prototype._update=function(_,j){var B=this.h[0],y=this.h[1],x=this.h[2],h=this.h[3],r=this.h[4],T0=B,L0=y,I0=x,d=h,J0=r;for(var I=0;I<80;I++){var K=J(X(G(B,D(I,y,x,h),_[q[I]+j],S(I)),P[I]),r);B=r,r=h,h=X(x,10),x=y,y=K,K=J(X(G(T0,D(79-I,L0,I0,d),_[E[I]+j],H(I)),k[I]),J0),T0=J0,J0=d,d=X(I0,10),I0=L0,L0=K}K=Y(this.h[1],x,d),this.h[1]=Y(this.h[2],h,J0),this.h[2]=Y(this.h[3],r,T0),this.h[3]=Y(this.h[4],B,L0),this.h[4]=Y(this.h[0],y,I0),this.h[0]=K},z.prototype._digest=function(_){if(_==="hex")return Q.toHex32(this.h,"little");else return Q.split32(this.h,"little")};function D(_,j,B,y){if(_<=15)return j^B^y;else if(_<=31)return j&B|~j&y;else if(_<=47)return(j|~B)^y;else if(_<=63)return j&y|B&~y;else return j^(B|~y)}function S(_){if(_<=15)return 0;else if(_<=31)return 1518500249;else if(_<=47)return 1859775393;else if(_<=63)return 2400959708;else return 2840853838}function H(_){if(_<=15)return 1352829926;else if(_<=31)return 1548603684;else if(_<=47)return 1836072691;else if(_<=63)return 2053994217;else return 0}var q=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],E=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],P=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],k=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]}),JL=O0((U,Q)=>{var Z=H6(),X=m6();function J(Y,G,L){if(!(this instanceof J))return new J(Y,G,L);this.Hash=Y,this.blockSize=Y.blockSize/8,this.outSize=Y.outSize/8,this.inner=null,this.outer=null,this._init(Z.toArray(G,L))}Q.exports=J,J.prototype._init=function(Y){if(Y.length>this.blockSize)Y=new this.Hash().update(Y).digest();X(Y.length<=this.blockSize);for(var G=Y.length;G<this.blockSize;G++)Y.push(0);for(G=0;G<Y.length;G++)Y[G]^=54;this.inner=new this.Hash().update(Y);for(G=0;G<Y.length;G++)Y[G]^=106;this.outer=new this.Hash().update(Y)},J.prototype.update=function(Y,G){return this.inner.update(Y,G),this},J.prototype.digest=function(Y){return this.outer.update(this.inner.digest()),this.outer.digest(Y)}}),DZ=O0((U)=>{var Q=U;Q.utils=H6(),Q.common=G5(),Q.sha=ZL(),Q.ripemd=XL(),Q.hmac=JL(),Q.sha1=Q.sha.sha1,Q.sha256=Q.sha.sha256,Q.sha224=Q.sha.sha224,Q.sha384=Q.sha.sha384,Q.sha512=Q.sha.sha512,Q.ripemd160=Q.ripemd.ripemd160}),GL=O0((U,Q)=>{Q.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}}),HZ=O0((U)=>{var Q=U,Z=DZ(),X=Y$(),J=a2(),Y=J.assert;function G(D){if(D.type==="short")this.curve=new X.short(D);else if(D.type==="edwards")this.curve=new X.edwards(D);else this.curve=new X.mont(D);this.g=this.curve.g,this.n=this.curve.n,this.hash=D.hash,Y(this.g.validate(),"Invalid curve"),Y(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}Q.PresetCurve=G;function L(D,S){Object.defineProperty(Q,D,{configurable:!0,enumerable:!0,get:function(){var H=new G(S);return Object.defineProperty(Q,D,{configurable:!0,enumerable:!0,value:H}),H}})}L("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Z.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),L("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Z.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),L("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Z.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),L("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Z.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),L("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Z.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),L("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Z.sha256,gRed:!1,g:["9"]}),L("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Z.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var z;try{z=GL()}catch(D){z=void 0}L("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Z.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",z]})}),IL=O0((U,Q)=>{var Z=DZ(),X=I$(),J=m6();function Y(G){if(!(this instanceof Y))return new Y(G);this.hash=G.hash,this.predResist=!!G.predResist,this.outLen=this.hash.outSize,this.minEntropy=G.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var L=X.toArray(G.entropy,G.entropyEnc||"hex"),z=X.toArray(G.nonce,G.nonceEnc||"hex"),D=X.toArray(G.pers,G.persEnc||"hex");J(L.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(L,z,D)}Q.exports=Y,Y.prototype._init=function(G,L,z){var D=G.concat(L).concat(z);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var S=0;S<this.V.length;S++)this.K[S]=0,this.V[S]=1;this._update(D),this._reseed=1,this.reseedInterval=281474976710656},Y.prototype._hmac=function(){return new Z.hmac(this.hash,this.K)},Y.prototype._update=function(G){var L=this._hmac().update(this.V).update([0]);if(G)L=L.update(G);if(this.K=L.digest(),this.V=this._hmac().update(this.V).digest(),!G)return;this.K=this._hmac().update(this.V).update([1]).update(G).digest(),this.V=this._hmac().update(this.V).digest()},Y.prototype.reseed=function(G,L,z,D){if(typeof L!=="string")D=z,z=L,L=null;G=X.toArray(G,L),z=X.toArray(z,D),J(G.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(G.concat(z||[])),this._reseed=1},Y.prototype.generate=function(G,L,z,D){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");if(typeof L!=="string")D=z,z=L,L=null;if(z)z=X.toArray(z,D||"hex"),this._update(z);var S=[];while(S.length<G)this.V=this._hmac().update(this.V).digest(),S=S.concat(this.V);var H=S.slice(0,G);return this._update(z),this._reseed++,X.encode(H,L)}}),$L=O0((U,Q)=>{var Z=B6(),X=a2(),J=X.assert;function Y(G,L){if(this.ec=G,this.priv=null,this.pub=null,L.priv)this._importPrivate(L.priv,L.privEnc);if(L.pub)this._importPublic(L.pub,L.pubEnc)}Q.exports=Y,Y.fromPublic=function(G,L,z){if(L instanceof Y)return L;return new Y(G,{pub:L,pubEnc:z})},Y.fromPrivate=function(G,L,z){if(L instanceof Y)return L;return new Y(G,{priv:L,privEnc:z})},Y.prototype.validate=function(){var G=this.getPublic();if(G.isInfinity())return{result:!1,reason:"Invalid public key"};if(!G.validate())return{result:!1,reason:"Public key is not a point"};if(!G.mul(this.ec.curve.n).isInfinity())return{result:!1,reason:"Public key * N != O"};return{result:!0,reason:null}},Y.prototype.getPublic=function(G,L){if(typeof G==="string")L=G,G=null;if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!L)return this.pub;return this.pub.encode(L,G)},Y.prototype.getPrivate=function(G){if(G==="hex")return this.priv.toString(16,2);else return this.priv},Y.prototype._importPrivate=function(G,L){this.priv=new Z(G,L||16),this.priv=this.priv.umod(this.ec.curve.n)},Y.prototype._importPublic=function(G,L){if(G.x||G.y){if(this.ec.curve.type==="mont")J(G.x,"Need x coordinate");else if(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")J(G.x&&G.y,"Need both x and y coordinate");this.pub=this.ec.curve.point(G.x,G.y);return}this.pub=this.ec.curve.decodePoint(G,L)},Y.prototype.derive=function(G){if(!G.validate())J(G.validate(),"public point not validated");return G.mul(this.priv).getX()},Y.prototype.sign=function(G,L,z){return this.ec.sign(G,this,L,z)},Y.prototype.verify=function(G,L,z){return this.ec.verify(G,L,this,void 0,z)},Y.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}}),YL=O0((U,Q)=>{var Z=B6(),X=a2(),J=X.assert;function Y(S,H){if(S instanceof Y)return S;if(this._importDER(S,H))return;if(J(S.r&&S.s,"Signature without r or s"),this.r=new Z(S.r,16),this.s=new Z(S.s,16),S.recoveryParam===void 0)this.recoveryParam=null;else this.recoveryParam=S.recoveryParam}Q.exports=Y;function G(){this.place=0}function L(S,H){var q=S[H.place++];if(!(q&128))return q;var E=q&15;if(E===0||E>4)return!1;if(S[H.place]===0)return!1;var P=0;for(var k=0,_=H.place;k<E;k++,_++)P<<=8,P|=S[_],P>>>=0;if(P<=127)return!1;return H.place=_,P}function z(S){var H=0,q=S.length-1;while(!S[H]&&!(S[H+1]&128)&&H<q)H++;if(H===0)return S;return S.slice(H)}Y.prototype._importDER=function(S,H){S=X.toArray(S,H);var q=new G;if(S[q.place++]!==48)return!1;var E=L(S,q);if(E===!1)return!1;if(E+q.place!==S.length)return!1;if(S[q.place++]!==2)return!1;var P=L(S,q);if(P===!1)return!1;if((S[q.place]&128)!==0)return!1;var k=S.slice(q.place,P+q.place);if(q.place+=P,S[q.place++]!==2)return!1;var _=L(S,q);if(_===!1)return!1;if(S.length!==_+q.place)return!1;if((S[q.place]&128)!==0)return!1;var j=S.slice(q.place,_+q.place);if(k[0]===0)if(k[1]&128)k=k.slice(1);else return!1;if(j[0]===0)if(j[1]&128)j=j.slice(1);else return!1;return this.r=new Z(k),this.s=new Z(j),this.recoveryParam=null,!0};function D(S,H){if(H<128){S.push(H);return}var q=1+(Math.log(H)/Math.LN2>>>3);S.push(q|128);while(--q)S.push(H>>>(q<<3)&255);S.push(H)}Y.prototype.toDER=function(S){var H=this.r.toArray(),q=this.s.toArray();if(H[0]&128)H=[0].concat(H);if(q[0]&128)q=[0].concat(q);H=z(H),q=z(q);while(!q[0]&&!(q[1]&128))q=q.slice(1);var E=[2];D(E,H.length),E=E.concat(H),E.push(2),D(E,q.length);var P=E.concat(q),k=[48];return D(k,P.length),k=k.concat(P),X.encode(k,S)}}),TL=O0((U,Q)=>{var Z=B6(),X=IL(),J=a2(),Y=HZ(),G=$$(),L=J.assert,z=$L(),D=YL();function S(H){if(!(this instanceof S))return new S(H);if(typeof H==="string")L(Object.prototype.hasOwnProperty.call(Y,H),"Unknown curve "+H),H=Y[H];if(H instanceof Y.PresetCurve)H={curve:H};this.curve=H.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=H.curve.g,this.g.precompute(H.curve.n.bitLength()+1),this.hash=H.hash||H.curve.hash}Q.exports=S,S.prototype.keyPair=function(H){return new z(this,H)},S.prototype.keyFromPrivate=function(H,q){return z.fromPrivate(this,H,q)},S.prototype.keyFromPublic=function(H,q){return z.fromPublic(this,H,q)},S.prototype.genKeyPair=function(H){if(!H)H={};var q=new X({hash:this.hash,pers:H.pers,persEnc:H.persEnc||"utf8",entropy:H.entropy||G(this.hash.hmacStrength),entropyEnc:H.entropy&&H.entropyEnc||"utf8",nonce:this.n.toArray()}),E=this.n.byteLength(),P=this.n.sub(new Z(2));for(;;){var k=new Z(q.generate(E));if(k.cmp(P)>0)continue;return k.iaddn(1),this.keyFromPrivate(k)}},S.prototype._truncateToN=function(H,q,E){var P;if(Z.isBN(H)||typeof H==="number")H=new Z(H,16),P=H.byteLength();else if(typeof H==="object")P=H.length,H=new Z(H,16);else{var k=H.toString();P=k.length+1>>>1,H=new Z(k,16)}if(typeof E!=="number")E=P*8;var _=E-this.n.bitLength();if(_>0)H=H.ushrn(_);if(!q&&H.cmp(this.n)>=0)return H.sub(this.n);else return H},S.prototype.sign=function(H,q,E,P){if(typeof E==="object")P=E,E=null;if(!P)P={};if(typeof H!=="string"&&typeof H!=="number"&&!Z.isBN(H)){L(typeof H==="object"&&H&&typeof H.length==="number","Expected message to be an array-like, a hex string, or a BN instance"),L(H.length>>>0===H.length);for(var k=0;k<H.length;k++)L((H[k]&255)===H[k])}q=this.keyFromPrivate(q,E),H=this._truncateToN(H,!1,P.msgBitLength),L(!H.isNeg(),"Can not sign a negative message");var _=this.n.byteLength(),j=q.getPrivate().toArray("be",_),B=H.toArray("be",_);L(new Z(B).eq(H),"Can not sign message");var y=new X({hash:this.hash,entropy:j,nonce:B,pers:P.pers,persEnc:P.persEnc||"utf8"}),x=this.n.sub(new Z(1));for(var h=0;;h++){var r=P.k?P.k(h):new Z(y.generate(this.n.byteLength()));if(r=this._truncateToN(r,!0),r.cmpn(1)<=0||r.cmp(x)>=0)continue;var T0=this.g.mul(r);if(T0.isInfinity())continue;var L0=T0.getX(),I0=L0.umod(this.n);if(I0.cmpn(0)===0)continue;var d=r.invm(this.n).mul(I0.mul(q.getPrivate()).iadd(H));if(d=d.umod(this.n),d.cmpn(0)===0)continue;var J0=(T0.getY().isOdd()?1:0)|(L0.cmp(I0)!==0?2:0);if(P.canonical&&d.cmp(this.nh)>0)d=this.n.sub(d),J0^=1;return new D({r:I0,s:d,recoveryParam:J0})}},S.prototype.verify=function(H,q,E,P,k){if(!k)k={};H=this._truncateToN(H,!1,k.msgBitLength),E=this.keyFromPublic(E,P),q=new D(q,"hex");var{r:_,s:j}=q;if(_.cmpn(1)<0||_.cmp(this.n)>=0)return!1;if(j.cmpn(1)<0||j.cmp(this.n)>=0)return!1;var B=j.invm(this.n),y=B.mul(H).umod(this.n),x=B.mul(_).umod(this.n),h;if(!this.curve._maxwellTrick){if(h=this.g.mulAdd(y,E.getPublic(),x),h.isInfinity())return!1;return h.getX().umod(this.n).cmp(_)===0}if(h=this.g.jmulAdd(y,E.getPublic(),x),h.isInfinity())return!1;return h.eqXToP(_)},S.prototype.recoverPubKey=function(H,q,E,P){L((3&E)===E,"The recovery param is more than two bits"),q=new D(q,P);var k=this.n,_=new Z(H),j=q.r,B=q.s,y=E&1,x=E>>1;if(j.cmp(this.curve.p.umod(this.curve.n))>=0&&x)throw Error("Unable to find sencond key candinate");if(x)j=this.curve.pointFromX(j.add(this.curve.n),y);else j=this.curve.pointFromX(j,y);var h=q.r.invm(k),r=k.sub(_).mul(h).umod(k),T0=B.mul(h).umod(k);return this.g.mulAdd(r,j,T0)},S.prototype.getKeyRecoveryParam=function(H,q,E,P){if(q=new D(q,P),q.recoveryParam!==null)return q.recoveryParam;for(var k=0;k<4;k++){var _;try{_=this.recoverPubKey(H,q,k)}catch(j){continue}if(_.eq(E))return k}throw Error("Unable to find valid recovery factor")}}),KL=O0((U,Q)=>{var Z=a2(),X=Z.assert,J=Z.parseBytes,Y=Z.cachedProperty;function G(L,z){if(this.eddsa=L,this._secret=J(z.secret),L.isPoint(z.pub))this._pub=z.pub;else this._pubBytes=J(z.pub)}G.fromPublic=function(L,z){if(z instanceof G)return z;return new G(L,{pub:z})},G.fromSecret=function(L,z){if(z instanceof G)return z;return new G(L,{secret:z})},G.prototype.secret=function(){return this._secret},Y(G,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),Y(G,"pub",function(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())}),Y(G,"privBytes",function(){var L=this.eddsa,z=this.hash(),D=L.encodingLength-1,S=z.slice(0,L.encodingLength);return S[0]&=248,S[D]&=127,S[D]|=64,S}),Y(G,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),Y(G,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),Y(G,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),G.prototype.sign=function(L){return X(this._secret,"KeyPair can only verify"),this.eddsa.sign(L,this)},G.prototype.verify=function(L,z){return this.eddsa.verify(L,z,this)},G.prototype.getSecret=function(L){return X(this._secret,"KeyPair is public only"),Z.encode(this.secret(),L)},G.prototype.getPublic=function(L){return Z.encode(this.pubBytes(),L)},Q.exports=G}),WL=O0((U,Q)=>{var Z=B6(),X=a2(),J=X.assert,Y=X.cachedProperty,G=X.parseBytes;function L(z,D){if(this.eddsa=z,typeof D!=="object")D=G(D);if(Array.isArray(D))J(D.length===z.encodingLength*2,"Signature has invalid size"),D={R:D.slice(0,z.encodingLength),S:D.slice(z.encodingLength)};if(J(D.R&&D.S,"Signature without R or S"),z.isPoint(D.R))this._R=D.R;if(D.S instanceof Z)this._S=D.S;this._Rencoded=Array.isArray(D.R)?D.R:D.Rencoded,this._Sencoded=Array.isArray(D.S)?D.S:D.Sencoded}Y(L,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),Y(L,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),Y(L,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),Y(L,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),L.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},L.prototype.toHex=function(){return X.encode(this.toBytes(),"hex").toUpperCase()},Q.exports=L}),OL=O0((U,Q)=>{var Z=DZ(),X=HZ(),J=a2(),Y=J.assert,G=J.parseBytes,L=KL(),z=WL();function D(S){if(Y(S==="ed25519","only tested with ed25519 so far"),!(this instanceof D))return new D(S);S=X[S].curve,this.curve=S,this.g=S.g,this.g.precompute(S.n.bitLength()+1),this.pointClass=S.point().constructor,this.encodingLength=Math.ceil(S.n.bitLength()/8),this.hash=Z.sha512}Q.exports=D,D.prototype.sign=function(S,H){S=G(S);var q=this.keyFromSecret(H),E=this.hashInt(q.messagePrefix(),S),P=this.g.mul(E),k=this.encodePoint(P),_=this.hashInt(k,q.pubBytes(),S).mul(q.priv()),j=E.add(_).umod(this.curve.n);return this.makeSignature({R:P,S:j,Rencoded:k})},D.prototype.verify=function(S,H,q){if(S=G(S),H=this.makeSignature(H),H.S().gte(H.eddsa.curve.n)||H.S().isNeg())return!1;var E=this.keyFromPublic(q),P=this.hashInt(H.Rencoded(),E.pubBytes(),S),k=this.g.mul(H.S()),_=H.R().add(E.pub().mul(P));return _.eq(k)},D.prototype.hashInt=function(){var S=this.hash();for(var H=0;H<arguments.length;H++)S.update(arguments[H]);return J.intFromLE(S.digest()).umod(this.curve.n)},D.prototype.keyFromPublic=function(S){return L.fromPublic(this,S)},D.prototype.keyFromSecret=function(S){return L.fromSecret(this,S)},D.prototype.makeSignature=function(S){if(S instanceof z)return S;return new z(this,S)},D.prototype.encodePoint=function(S){var H=S.getY().toArray("le",this.encodingLength);return H[this.encodingLength-1]|=S.getX().isOdd()?128:0,H},D.prototype.decodePoint=function(S){S=J.parseBytes(S);var H=S.length-1,q=S.slice(0,H).concat(S[H]&-129),E=(S[H]&128)!==0,P=J.intFromLE(q);return this.curve.pointFromY(P,E)},D.prototype.encodeInt=function(S){return S.toArray("le",this.encodingLength)},D.prototype.decodeInt=function(S){return J.intFromLE(S)},D.prototype.isPoint=function(S){return S instanceof this.pointClass}}),LL=O0((U)=>{var Q=U;Q.version=nO().version,Q.utils=a2(),Q.rand=$$(),Q.curve=Y$(),Q.curves=HZ(),Q.ec=TL(),Q.eddsa=OL()}),VL=O0((U,Q)=>{(function(Z,X){function J(I,K){if(!I)throw Error(K||"Assertion failed")}function Y(I,K){I.super_=K;var O=function(){};O.prototype=K.prototype,I.prototype=new O,I.prototype.constructor=I}function G(I,K,O){if(G.isBN(I))return I;if(this.negative=0,this.words=null,this.length=0,this.red=null,I!==null){if(K==="le"||K==="be")O=K,K=10;this._init(I||0,K||10,O||"be")}}if(typeof Z==="object")Z.exports=G;else X.BN=G;G.BN=G,G.wordSize=26;var L;try{if(typeof window<"u"&&typeof window.Buffer<"u")L=window.Buffer;else L=(V2(),L1(L2)).Buffer}catch(I){}G.isBN=function(I){if(I instanceof G)return!0;return I!==null&&typeof I==="object"&&I.constructor.wordSize===G.wordSize&&Array.isArray(I.words)},G.max=function(I,K){if(I.cmp(K)>0)return I;return K},G.min=function(I,K){if(I.cmp(K)<0)return I;return K},G.prototype._init=function(I,K,O){if(typeof I==="number")return this._initNumber(I,K,O);if(typeof I==="object")return this._initArray(I,K,O);if(K==="hex")K=16;J(K===(K|0)&&K>=2&&K<=36),I=I.toString().replace(/\s+/g,"");var T=0;if(I[0]==="-")T++,this.negative=1;if(T<I.length){if(K===16)this._parseHex(I,T,O);else if(this._parseBase(I,K,T),O==="le")this._initArray(this.toArray(),K,O)}},G.prototype._initNumber=function(I,K,O){if(I<0)this.negative=1,I=-I;if(I<67108864)this.words=[I&67108863],this.length=1;else if(I<4503599627370496)this.words=[I&67108863,I/67108864&67108863],this.length=2;else J(I<9007199254740992),this.words=[I&67108863,I/67108864&67108863,1],this.length=3;if(O!=="le")return;this._initArray(this.toArray(),K,O)},G.prototype._initArray=function(I,K,O){if(J(typeof I.length==="number"),I.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(I.length/3),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W,R,M=0;if(O==="be"){for(T=I.length-1,W=0;T>=0;T-=3)if(R=I[T]|I[T-1]<<8|I[T-2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}else if(O==="le"){for(T=0,W=0;T<I.length;T+=3)if(R=I[T]|I[T+1]<<8|I[T+2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}return this.strip()};function z(I,K){var O=I.charCodeAt(K);if(O>=65&&O<=70)return O-55;else if(O>=97&&O<=102)return O-87;else return O-48&15}function D(I,K,O){var T=z(I,O);if(O-1>=K)T|=z(I,O-1)<<4;return T}G.prototype._parseHex=function(I,K,O){this.length=Math.ceil((I.length-K)/6),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W=0,R=0,M;if(O==="be")for(T=I.length-1;T>=K;T-=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8;else{var V=I.length-K;for(T=V%2===0?K+1:K;T<I.length;T+=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8}this.strip()};function S(I,K,O,T){var W=0,R=Math.min(I.length,O);for(var M=K;M<R;M++){var V=I.charCodeAt(M)-48;if(W*=T,V>=49)W+=V-49+10;else if(V>=17)W+=V-17+10;else W+=V}return W}G.prototype._parseBase=function(I,K,O){this.words=[0],this.length=1;for(var T=0,W=1;W<=67108863;W*=K)T++;T--,W=W/K|0;var R=I.length-O,M=R%T,V=Math.min(R,R-M)+O,$=0;for(var F=O;F<V;F+=T)if($=S(I,F,F+T,K),this.imuln(W),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($);if(M!==0){var A=1;$=S(I,F,I.length,K);for(F=0;F<M;F++)A*=K;if(this.imuln(A),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($)}this.strip()},G.prototype.copy=function(I){I.words=Array(this.length);for(var K=0;K<this.length;K++)I.words[K]=this.words[K];I.length=this.length,I.negative=this.negative,I.red=this.red},G.prototype.clone=function(){var I=new G(null);return this.copy(I),I},G.prototype._expand=function(I){while(this.length<I)this.words[this.length++]=0;return this},G.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},G.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},G.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var H=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],q=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(G.prototype.toString=function(I,K){I=I||10,K=K|0||1;var O;if(I===16||I==="hex"){O="";var T=0,W=0;for(var R=0;R<this.length;R++){var M=this.words[R],V=((M<<T|W)&16777215).toString(16);if(W=M>>>24-T&16777215,T+=2,T>=26)T-=26,R--;if(W!==0||R!==this.length-1)O=H[6-V.length]+V+O;else O=V+O}if(W!==0)O=W.toString(16)+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}if(I===(I|0)&&I>=2&&I<=36){var $=q[I],F=E[I];O="";var A=this.clone();A.negative=0;while(!A.isZero()){var C=A.modn(F).toString(I);if(A=A.idivn(F),!A.isZero())O=H[$-C.length]+C+O;else O=C+O}if(this.isZero())O="0"+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}J(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var I=this.words[0];if(this.length===2)I+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)I+=4503599627370496+this.words[1]*67108864;else if(this.length>2)J(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-I:I},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(I,K){return J(typeof L<"u"),this.toArrayLike(L,I,K)},G.prototype.toArray=function(I,K){return this.toArrayLike(Array,I,K)},G.prototype.toArrayLike=function(I,K,O){var T=this.byteLength(),W=O||Math.max(1,T);J(T<=W,"byte array longer than desired length"),J(W>0,"Requested array length <= 0"),this.strip();var R=K==="le",M=new I(W),V,$,F=this.clone();if(!R){for($=0;$<W-T;$++)M[$]=0;for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[W-$-1]=V}else{for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[$]=V;for(;$<W;$++)M[$]=0}return M},Math.clz32)G.prototype._countBits=function(I){return 32-Math.clz32(I)};else G.prototype._countBits=function(I){var K=I,O=0;if(K>=4096)O+=13,K>>>=13;if(K>=64)O+=7,K>>>=7;if(K>=8)O+=4,K>>>=4;if(K>=2)O+=2,K>>>=2;return O+K};G.prototype._zeroBits=function(I){if(I===0)return 26;var K=I,O=0;if((K&8191)===0)O+=13,K>>>=13;if((K&127)===0)O+=7,K>>>=7;if((K&15)===0)O+=4,K>>>=4;if((K&3)===0)O+=2,K>>>=2;if((K&1)===0)O++;return O},G.prototype.bitLength=function(){var I=this.words[this.length-1],K=this._countBits(I);return(this.length-1)*26+K};function P(I){var K=Array(I.bitLength());for(var O=0;O<K.length;O++){var T=O/26|0,W=O%26;K[O]=(I.words[T]&1<<W)>>>W}return K}G.prototype.zeroBits=function(){if(this.isZero())return 0;var I=0;for(var K=0;K<this.length;K++){var O=this._zeroBits(this.words[K]);if(I+=O,O!==26)break}return I},G.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},G.prototype.toTwos=function(I){if(this.negative!==0)return this.abs().inotn(I).iaddn(1);return this.clone()},G.prototype.fromTwos=function(I){if(this.testn(I-1))return this.notn(I).iaddn(1).ineg();return this.clone()},G.prototype.isNeg=function(){return this.negative!==0},G.prototype.neg=function(){return this.clone().ineg()},G.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},G.prototype.iuor=function(I){while(this.length<I.length)this.words[this.length++]=0;for(var K=0;K<I.length;K++)this.words[K]=this.words[K]|I.words[K];return this.strip()},G.prototype.ior=function(I){return J((this.negative|I.negative)===0),this.iuor(I)},G.prototype.or=function(I){if(this.length>I.length)return this.clone().ior(I);return I.clone().ior(this)},G.prototype.uor=function(I){if(this.length>I.length)return this.clone().iuor(I);return I.clone().iuor(this)},G.prototype.iuand=function(I){var K;if(this.length>I.length)K=I;else K=this;for(var O=0;O<K.length;O++)this.words[O]=this.words[O]&I.words[O];return this.length=K.length,this.strip()},G.prototype.iand=function(I){return J((this.negative|I.negative)===0),this.iuand(I)},G.prototype.and=function(I){if(this.length>I.length)return this.clone().iand(I);return I.clone().iand(this)},G.prototype.uand=function(I){if(this.length>I.length)return this.clone().iuand(I);return I.clone().iuand(this)},G.prototype.iuxor=function(I){var K,O;if(this.length>I.length)K=this,O=I;else K=I,O=this;for(var T=0;T<O.length;T++)this.words[T]=K.words[T]^O.words[T];if(this!==K)for(;T<K.length;T++)this.words[T]=K.words[T];return this.length=K.length,this.strip()},G.prototype.ixor=function(I){return J((this.negative|I.negative)===0),this.iuxor(I)},G.prototype.xor=function(I){if(this.length>I.length)return this.clone().ixor(I);return I.clone().ixor(this)},G.prototype.uxor=function(I){if(this.length>I.length)return this.clone().iuxor(I);return I.clone().iuxor(this)},G.prototype.inotn=function(I){J(typeof I==="number"&&I>=0);var K=Math.ceil(I/26)|0,O=I%26;if(this._expand(K),O>0)K--;for(var T=0;T<K;T++)this.words[T]=~this.words[T]&67108863;if(O>0)this.words[T]=~this.words[T]&67108863>>26-O;return this.strip()},G.prototype.notn=function(I){return this.clone().inotn(I)},G.prototype.setn=function(I,K){J(typeof I==="number"&&I>=0);var O=I/26|0,T=I%26;if(this._expand(O+1),K)this.words[O]=this.words[O]|1<<T;else this.words[O]=this.words[O]&~(1<<T);return this.strip()},G.prototype.iadd=function(I){var K;if(this.negative!==0&&I.negative===0)return this.negative=0,K=this.isub(I),this.negative^=1,this._normSign();else if(this.negative===0&&I.negative!==0)return I.negative=0,K=this.isub(I),I.negative=1,K._normSign();var O,T;if(this.length>I.length)O=this,T=I;else O=I,T=this;var W=0;for(var R=0;R<T.length;R++)K=(O.words[R]|0)+(T.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;for(;W!==0&&R<O.length;R++)K=(O.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;if(this.length=O.length,W!==0)this.words[this.length]=W,this.length++;else if(O!==this)for(;R<O.length;R++)this.words[R]=O.words[R];return this},G.prototype.add=function(I){var K;if(I.negative!==0&&this.negative===0)return I.negative=0,K=this.sub(I),I.negative^=1,K;else if(I.negative===0&&this.negative!==0)return this.negative=0,K=I.sub(this),this.negative=1,K;if(this.length>I.length)return this.clone().iadd(I);return I.clone().iadd(this)},G.prototype.isub=function(I){if(I.negative!==0){I.negative=0;var K=this.iadd(I);return I.negative=1,K._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(I),this.negative=1,this._normSign();var O=this.cmp(I);if(O===0)return this.negative=0,this.length=1,this.words[0]=0,this;var T,W;if(O>0)T=this,W=I;else T=I,W=this;var R=0;for(var M=0;M<W.length;M++)K=(T.words[M]|0)-(W.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;for(;R!==0&&M<T.length;M++)K=(T.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;if(R===0&&M<T.length&&T!==this)for(;M<T.length;M++)this.words[M]=T.words[M];if(this.length=Math.max(this.length,M),T!==this)this.negative=1;return this.strip()},G.prototype.sub=function(I){return this.clone().isub(I)};function k(I,K,O){O.negative=K.negative^I.negative;var T=I.length+K.length|0;O.length=T,T=T-1|0;var W=I.words[0]|0,R=K.words[0]|0,M=W*R,V=M&67108863,$=M/67108864|0;O.words[0]=V;for(var F=1;F<T;F++){var A=$>>>26,C=$&67108863,N=Math.min(F,K.length-1);for(var f=Math.max(0,F-I.length+1);f<=N;f++){var b=F-f|0;W=I.words[b]|0,R=K.words[f]|0,M=W*R+C,A+=M/67108864|0,C=M&67108863}O.words[F]=C|0,$=A|0}if($!==0)O.words[F]=$|0;else O.length--;return O.strip()}var _=function(I,K,O){var T=I.words,W=K.words,R=O.words,M=0,V,$,F,A=T[0]|0,C=A&8191,N=A>>>13,f=T[1]|0,b=f&8191,i=f>>>13,D0=T[2]|0,Q0=D0&8191,n=D0>>>13,K0=T[3]|0,a=K0&8191,G0=K0>>>13,m0=T[4]|0,c=m0&8191,l=m0>>>13,W0=T[5]|0,e=W0&8191,X0=W0>>>13,j0=T[6]|0,u=j0&8191,s=j0>>>13,b0=T[7]|0,t=b0&8191,Y0=b0>>>13,e0=T[8]|0,R0=e0&8191,z0=e0>>>13,y1=T[9]|0,H0=y1&8191,S0=y1>>>13,h1=W[0]|0,_0=h1&8191,E0=h1>>>13,q2=W[1]|0,B0=q2&8191,f0=q2>>>13,C2=W[2]|0,p0=C2&8191,N0=C2>>>13,H2=W[3]|0,v0=H2&8191,w0=H2>>>13,K2=W[4]|0,h0=K2&8191,c0=K2>>>13,W2=W[5]|0,y0=W2&8191,g=W2>>>13,o=W[6]|0,Z0=o&8191,$0=o>>>13,r0=W[7]|0,F0=r0&8191,q0=r0>>>13,x1=W[8]|0,x0=x1&8191,u0=x1>>>13,F2=W[9]|0,g0=F2&8191,A0=F2>>>13;O.negative=I.negative^K.negative,O.length=19,V=Math.imul(C,_0),$=Math.imul(C,E0),$=$+Math.imul(N,_0)|0,F=Math.imul(N,E0);var g1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(g1>>>26)|0,g1&=67108863,V=Math.imul(b,_0),$=Math.imul(b,E0),$=$+Math.imul(i,_0)|0,F=Math.imul(i,E0),V=V+Math.imul(C,B0)|0,$=$+Math.imul(C,f0)|0,$=$+Math.imul(N,B0)|0,F=F+Math.imul(N,f0)|0;var I1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(I1>>>26)|0,I1&=67108863,V=Math.imul(Q0,_0),$=Math.imul(Q0,E0),$=$+Math.imul(n,_0)|0,F=Math.imul(n,E0),V=V+Math.imul(b,B0)|0,$=$+Math.imul(b,f0)|0,$=$+Math.imul(i,B0)|0,F=F+Math.imul(i,f0)|0,V=V+Math.imul(C,p0)|0,$=$+Math.imul(C,N0)|0,$=$+Math.imul(N,p0)|0,F=F+Math.imul(N,N0)|0;var G1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(G1>>>26)|0,G1&=67108863,V=Math.imul(a,_0),$=Math.imul(a,E0),$=$+Math.imul(G0,_0)|0,F=Math.imul(G0,E0),V=V+Math.imul(Q0,B0)|0,$=$+Math.imul(Q0,f0)|0,$=$+Math.imul(n,B0)|0,F=F+Math.imul(n,f0)|0,V=V+Math.imul(b,p0)|0,$=$+Math.imul(b,N0)|0,$=$+Math.imul(i,p0)|0,F=F+Math.imul(i,N0)|0,V=V+Math.imul(C,v0)|0,$=$+Math.imul(C,w0)|0,$=$+Math.imul(N,v0)|0,F=F+Math.imul(N,w0)|0;var C1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(C1>>>26)|0,C1&=67108863,V=Math.imul(c,_0),$=Math.imul(c,E0),$=$+Math.imul(l,_0)|0,F=Math.imul(l,E0),V=V+Math.imul(a,B0)|0,$=$+Math.imul(a,f0)|0,$=$+Math.imul(G0,B0)|0,F=F+Math.imul(G0,f0)|0,V=V+Math.imul(Q0,p0)|0,$=$+Math.imul(Q0,N0)|0,$=$+Math.imul(n,p0)|0,F=F+Math.imul(n,N0)|0,V=V+Math.imul(b,v0)|0,$=$+Math.imul(b,w0)|0,$=$+Math.imul(i,v0)|0,F=F+Math.imul(i,w0)|0,V=V+Math.imul(C,h0)|0,$=$+Math.imul(C,c0)|0,$=$+Math.imul(N,h0)|0,F=F+Math.imul(N,c0)|0;var M1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(M1>>>26)|0,M1&=67108863,V=Math.imul(e,_0),$=Math.imul(e,E0),$=$+Math.imul(X0,_0)|0,F=Math.imul(X0,E0),V=V+Math.imul(c,B0)|0,$=$+Math.imul(c,f0)|0,$=$+Math.imul(l,B0)|0,F=F+Math.imul(l,f0)|0,V=V+Math.imul(a,p0)|0,$=$+Math.imul(a,N0)|0,$=$+Math.imul(G0,p0)|0,F=F+Math.imul(G0,N0)|0,V=V+Math.imul(Q0,v0)|0,$=$+Math.imul(Q0,w0)|0,$=$+Math.imul(n,v0)|0,F=F+Math.imul(n,w0)|0,V=V+Math.imul(b,h0)|0,$=$+Math.imul(b,c0)|0,$=$+Math.imul(i,h0)|0,F=F+Math.imul(i,c0)|0,V=V+Math.imul(C,y0)|0,$=$+Math.imul(C,g)|0,$=$+Math.imul(N,y0)|0,F=F+Math.imul(N,g)|0;var m1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(m1>>>26)|0,m1&=67108863,V=Math.imul(u,_0),$=Math.imul(u,E0),$=$+Math.imul(s,_0)|0,F=Math.imul(s,E0),V=V+Math.imul(e,B0)|0,$=$+Math.imul(e,f0)|0,$=$+Math.imul(X0,B0)|0,F=F+Math.imul(X0,f0)|0,V=V+Math.imul(c,p0)|0,$=$+Math.imul(c,N0)|0,$=$+Math.imul(l,p0)|0,F=F+Math.imul(l,N0)|0,V=V+Math.imul(a,v0)|0,$=$+Math.imul(a,w0)|0,$=$+Math.imul(G0,v0)|0,F=F+Math.imul(G0,w0)|0,V=V+Math.imul(Q0,h0)|0,$=$+Math.imul(Q0,c0)|0,$=$+Math.imul(n,h0)|0,F=F+Math.imul(n,c0)|0,V=V+Math.imul(b,y0)|0,$=$+Math.imul(b,g)|0,$=$+Math.imul(i,y0)|0,F=F+Math.imul(i,g)|0,V=V+Math.imul(C,Z0)|0,$=$+Math.imul(C,$0)|0,$=$+Math.imul(N,Z0)|0,F=F+Math.imul(N,$0)|0;var r1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(r1>>>26)|0,r1&=67108863,V=Math.imul(t,_0),$=Math.imul(t,E0),$=$+Math.imul(Y0,_0)|0,F=Math.imul(Y0,E0),V=V+Math.imul(u,B0)|0,$=$+Math.imul(u,f0)|0,$=$+Math.imul(s,B0)|0,F=F+Math.imul(s,f0)|0,V=V+Math.imul(e,p0)|0,$=$+Math.imul(e,N0)|0,$=$+Math.imul(X0,p0)|0,F=F+Math.imul(X0,N0)|0,V=V+Math.imul(c,v0)|0,$=$+Math.imul(c,w0)|0,$=$+Math.imul(l,v0)|0,F=F+Math.imul(l,w0)|0,V=V+Math.imul(a,h0)|0,$=$+Math.imul(a,c0)|0,$=$+Math.imul(G0,h0)|0,F=F+Math.imul(G0,c0)|0,V=V+Math.imul(Q0,y0)|0,$=$+Math.imul(Q0,g)|0,$=$+Math.imul(n,y0)|0,F=F+Math.imul(n,g)|0,V=V+Math.imul(b,Z0)|0,$=$+Math.imul(b,$0)|0,$=$+Math.imul(i,Z0)|0,F=F+Math.imul(i,$0)|0,V=V+Math.imul(C,F0)|0,$=$+Math.imul(C,q0)|0,$=$+Math.imul(N,F0)|0,F=F+Math.imul(N,q0)|0;var n1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(n1>>>26)|0,n1&=67108863,V=Math.imul(R0,_0),$=Math.imul(R0,E0),$=$+Math.imul(z0,_0)|0,F=Math.imul(z0,E0),V=V+Math.imul(t,B0)|0,$=$+Math.imul(t,f0)|0,$=$+Math.imul(Y0,B0)|0,F=F+Math.imul(Y0,f0)|0,V=V+Math.imul(u,p0)|0,$=$+Math.imul(u,N0)|0,$=$+Math.imul(s,p0)|0,F=F+Math.imul(s,N0)|0,V=V+Math.imul(e,v0)|0,$=$+Math.imul(e,w0)|0,$=$+Math.imul(X0,v0)|0,F=F+Math.imul(X0,w0)|0,V=V+Math.imul(c,h0)|0,$=$+Math.imul(c,c0)|0,$=$+Math.imul(l,h0)|0,F=F+Math.imul(l,c0)|0,V=V+Math.imul(a,y0)|0,$=$+Math.imul(a,g)|0,$=$+Math.imul(G0,y0)|0,F=F+Math.imul(G0,g)|0,V=V+Math.imul(Q0,Z0)|0,$=$+Math.imul(Q0,$0)|0,$=$+Math.imul(n,Z0)|0,F=F+Math.imul(n,$0)|0,V=V+Math.imul(b,F0)|0,$=$+Math.imul(b,q0)|0,$=$+Math.imul(i,F0)|0,F=F+Math.imul(i,q0)|0,V=V+Math.imul(C,x0)|0,$=$+Math.imul(C,u0)|0,$=$+Math.imul(N,x0)|0,F=F+Math.imul(N,u0)|0;var s1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(s1>>>26)|0,s1&=67108863,V=Math.imul(H0,_0),$=Math.imul(H0,E0),$=$+Math.imul(S0,_0)|0,F=Math.imul(S0,E0),V=V+Math.imul(R0,B0)|0,$=$+Math.imul(R0,f0)|0,$=$+Math.imul(z0,B0)|0,F=F+Math.imul(z0,f0)|0,V=V+Math.imul(t,p0)|0,$=$+Math.imul(t,N0)|0,$=$+Math.imul(Y0,p0)|0,F=F+Math.imul(Y0,N0)|0,V=V+Math.imul(u,v0)|0,$=$+Math.imul(u,w0)|0,$=$+Math.imul(s,v0)|0,F=F+Math.imul(s,w0)|0,V=V+Math.imul(e,h0)|0,$=$+Math.imul(e,c0)|0,$=$+Math.imul(X0,h0)|0,F=F+Math.imul(X0,c0)|0,V=V+Math.imul(c,y0)|0,$=$+Math.imul(c,g)|0,$=$+Math.imul(l,y0)|0,F=F+Math.imul(l,g)|0,V=V+Math.imul(a,Z0)|0,$=$+Math.imul(a,$0)|0,$=$+Math.imul(G0,Z0)|0,F=F+Math.imul(G0,$0)|0,V=V+Math.imul(Q0,F0)|0,$=$+Math.imul(Q0,q0)|0,$=$+Math.imul(n,F0)|0,F=F+Math.imul(n,q0)|0,V=V+Math.imul(b,x0)|0,$=$+Math.imul(b,u0)|0,$=$+Math.imul(i,x0)|0,F=F+Math.imul(i,u0)|0,V=V+Math.imul(C,g0)|0,$=$+Math.imul(C,A0)|0,$=$+Math.imul(N,g0)|0,F=F+Math.imul(N,A0)|0;var i1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(i1>>>26)|0,i1&=67108863,V=Math.imul(H0,B0),$=Math.imul(H0,f0),$=$+Math.imul(S0,B0)|0,F=Math.imul(S0,f0),V=V+Math.imul(R0,p0)|0,$=$+Math.imul(R0,N0)|0,$=$+Math.imul(z0,p0)|0,F=F+Math.imul(z0,N0)|0,V=V+Math.imul(t,v0)|0,$=$+Math.imul(t,w0)|0,$=$+Math.imul(Y0,v0)|0,F=F+Math.imul(Y0,w0)|0,V=V+Math.imul(u,h0)|0,$=$+Math.imul(u,c0)|0,$=$+Math.imul(s,h0)|0,F=F+Math.imul(s,c0)|0,V=V+Math.imul(e,y0)|0,$=$+Math.imul(e,g)|0,$=$+Math.imul(X0,y0)|0,F=F+Math.imul(X0,g)|0,V=V+Math.imul(c,Z0)|0,$=$+Math.imul(c,$0)|0,$=$+Math.imul(l,Z0)|0,F=F+Math.imul(l,$0)|0,V=V+Math.imul(a,F0)|0,$=$+Math.imul(a,q0)|0,$=$+Math.imul(G0,F0)|0,F=F+Math.imul(G0,q0)|0,V=V+Math.imul(Q0,x0)|0,$=$+Math.imul(Q0,u0)|0,$=$+Math.imul(n,x0)|0,F=F+Math.imul(n,u0)|0,V=V+Math.imul(b,g0)|0,$=$+Math.imul(b,A0)|0,$=$+Math.imul(i,g0)|0,F=F+Math.imul(i,A0)|0;var a1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(a1>>>26)|0,a1&=67108863,V=Math.imul(H0,p0),$=Math.imul(H0,N0),$=$+Math.imul(S0,p0)|0,F=Math.imul(S0,N0),V=V+Math.imul(R0,v0)|0,$=$+Math.imul(R0,w0)|0,$=$+Math.imul(z0,v0)|0,F=F+Math.imul(z0,w0)|0,V=V+Math.imul(t,h0)|0,$=$+Math.imul(t,c0)|0,$=$+Math.imul(Y0,h0)|0,F=F+Math.imul(Y0,c0)|0,V=V+Math.imul(u,y0)|0,$=$+Math.imul(u,g)|0,$=$+Math.imul(s,y0)|0,F=F+Math.imul(s,g)|0,V=V+Math.imul(e,Z0)|0,$=$+Math.imul(e,$0)|0,$=$+Math.imul(X0,Z0)|0,F=F+Math.imul(X0,$0)|0,V=V+Math.imul(c,F0)|0,$=$+Math.imul(c,q0)|0,$=$+Math.imul(l,F0)|0,F=F+Math.imul(l,q0)|0,V=V+Math.imul(a,x0)|0,$=$+Math.imul(a,u0)|0,$=$+Math.imul(G0,x0)|0,F=F+Math.imul(G0,u0)|0,V=V+Math.imul(Q0,g0)|0,$=$+Math.imul(Q0,A0)|0,$=$+Math.imul(n,g0)|0,F=F+Math.imul(n,A0)|0;var t1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(t1>>>26)|0,t1&=67108863,V=Math.imul(H0,v0),$=Math.imul(H0,w0),$=$+Math.imul(S0,v0)|0,F=Math.imul(S0,w0),V=V+Math.imul(R0,h0)|0,$=$+Math.imul(R0,c0)|0,$=$+Math.imul(z0,h0)|0,F=F+Math.imul(z0,c0)|0,V=V+Math.imul(t,y0)|0,$=$+Math.imul(t,g)|0,$=$+Math.imul(Y0,y0)|0,F=F+Math.imul(Y0,g)|0,V=V+Math.imul(u,Z0)|0,$=$+Math.imul(u,$0)|0,$=$+Math.imul(s,Z0)|0,F=F+Math.imul(s,$0)|0,V=V+Math.imul(e,F0)|0,$=$+Math.imul(e,q0)|0,$=$+Math.imul(X0,F0)|0,F=F+Math.imul(X0,q0)|0,V=V+Math.imul(c,x0)|0,$=$+Math.imul(c,u0)|0,$=$+Math.imul(l,x0)|0,F=F+Math.imul(l,u0)|0,V=V+Math.imul(a,g0)|0,$=$+Math.imul(a,A0)|0,$=$+Math.imul(G0,g0)|0,F=F+Math.imul(G0,A0)|0;var e1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(e1>>>26)|0,e1&=67108863,V=Math.imul(H0,h0),$=Math.imul(H0,c0),$=$+Math.imul(S0,h0)|0,F=Math.imul(S0,c0),V=V+Math.imul(R0,y0)|0,$=$+Math.imul(R0,g)|0,$=$+Math.imul(z0,y0)|0,F=F+Math.imul(z0,g)|0,V=V+Math.imul(t,Z0)|0,$=$+Math.imul(t,$0)|0,$=$+Math.imul(Y0,Z0)|0,F=F+Math.imul(Y0,$0)|0,V=V+Math.imul(u,F0)|0,$=$+Math.imul(u,q0)|0,$=$+Math.imul(s,F0)|0,F=F+Math.imul(s,q0)|0,V=V+Math.imul(e,x0)|0,$=$+Math.imul(e,u0)|0,$=$+Math.imul(X0,x0)|0,F=F+Math.imul(X0,u0)|0,V=V+Math.imul(c,g0)|0,$=$+Math.imul(c,A0)|0,$=$+Math.imul(l,g0)|0,F=F+Math.imul(l,A0)|0;var U2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(U2>>>26)|0,U2&=67108863,V=Math.imul(H0,y0),$=Math.imul(H0,g),$=$+Math.imul(S0,y0)|0,F=Math.imul(S0,g),V=V+Math.imul(R0,Z0)|0,$=$+Math.imul(R0,$0)|0,$=$+Math.imul(z0,Z0)|0,F=F+Math.imul(z0,$0)|0,V=V+Math.imul(t,F0)|0,$=$+Math.imul(t,q0)|0,$=$+Math.imul(Y0,F0)|0,F=F+Math.imul(Y0,q0)|0,V=V+Math.imul(u,x0)|0,$=$+Math.imul(u,u0)|0,$=$+Math.imul(s,x0)|0,F=F+Math.imul(s,u0)|0,V=V+Math.imul(e,g0)|0,$=$+Math.imul(e,A0)|0,$=$+Math.imul(X0,g0)|0,F=F+Math.imul(X0,A0)|0;var Q2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Q2>>>26)|0,Q2&=67108863,V=Math.imul(H0,Z0),$=Math.imul(H0,$0),$=$+Math.imul(S0,Z0)|0,F=Math.imul(S0,$0),V=V+Math.imul(R0,F0)|0,$=$+Math.imul(R0,q0)|0,$=$+Math.imul(z0,F0)|0,F=F+Math.imul(z0,q0)|0,V=V+Math.imul(t,x0)|0,$=$+Math.imul(t,u0)|0,$=$+Math.imul(Y0,x0)|0,F=F+Math.imul(Y0,u0)|0,V=V+Math.imul(u,g0)|0,$=$+Math.imul(u,A0)|0,$=$+Math.imul(s,g0)|0,F=F+Math.imul(s,A0)|0;var Z2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Z2>>>26)|0,Z2&=67108863,V=Math.imul(H0,F0),$=Math.imul(H0,q0),$=$+Math.imul(S0,F0)|0,F=Math.imul(S0,q0),V=V+Math.imul(R0,x0)|0,$=$+Math.imul(R0,u0)|0,$=$+Math.imul(z0,x0)|0,F=F+Math.imul(z0,u0)|0,V=V+Math.imul(t,g0)|0,$=$+Math.imul(t,A0)|0,$=$+Math.imul(Y0,g0)|0,F=F+Math.imul(Y0,A0)|0;var X2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(X2>>>26)|0,X2&=67108863,V=Math.imul(H0,x0),$=Math.imul(H0,u0),$=$+Math.imul(S0,x0)|0,F=Math.imul(S0,u0),V=V+Math.imul(R0,g0)|0,$=$+Math.imul(R0,A0)|0,$=$+Math.imul(z0,g0)|0,F=F+Math.imul(z0,A0)|0;var J2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(J2>>>26)|0,J2&=67108863,V=Math.imul(H0,g0),$=Math.imul(H0,A0),$=$+Math.imul(S0,g0)|0,F=Math.imul(S0,A0);var G2=(M+V|0)+(($&8191)<<13)|0;if(M=(F+($>>>13)|0)+(G2>>>26)|0,G2&=67108863,R[0]=g1,R[1]=I1,R[2]=G1,R[3]=C1,R[4]=M1,R[5]=m1,R[6]=r1,R[7]=n1,R[8]=s1,R[9]=i1,R[10]=a1,R[11]=t1,R[12]=e1,R[13]=U2,R[14]=Q2,R[15]=Z2,R[16]=X2,R[17]=J2,R[18]=G2,M!==0)R[19]=M,O.length++;return O};if(!Math.imul)_=k;function j(I,K,O){O.negative=K.negative^I.negative,O.length=I.length+K.length;var T=0,W=0;for(var R=0;R<O.length-1;R++){var M=W;W=0;var V=T&67108863,$=Math.min(R,K.length-1);for(var F=Math.max(0,R-I.length+1);F<=$;F++){var A=R-F,C=I.words[A]|0,N=K.words[F]|0,f=C*N,b=f&67108863;M=M+(f/67108864|0)|0,b=b+V|0,V=b&67108863,M=M+(b>>>26)|0,W+=M>>>26,M&=67108863}O.words[R]=V,T=M,M=W}if(T!==0)O.words[R]=T;else O.length--;return O.strip()}function B(I,K,O){var T=new y;return T.mulp(I,K,O)}G.prototype.mulTo=function(I,K){var O,T=this.length+I.length;if(this.length===10&&I.length===10)O=_(this,I,K);else if(T<63)O=k(this,I,K);else if(T<1024)O=j(this,I,K);else O=B(this,I,K);return O};function y(I,K){this.x=I,this.y=K}y.prototype.makeRBT=function(I){var K=Array(I),O=G.prototype._countBits(I)-1;for(var T=0;T<I;T++)K[T]=this.revBin(T,O,I);return K},y.prototype.revBin=function(I,K,O){if(I===0||I===O-1)return I;var T=0;for(var W=0;W<K;W++)T|=(I&1)<<K-W-1,I>>=1;return T},y.prototype.permute=function(I,K,O,T,W,R){for(var M=0;M<R;M++)T[M]=K[I[M]],W[M]=O[I[M]]},y.prototype.transform=function(I,K,O,T,W,R){this.permute(R,I,K,O,T,W);for(var M=1;M<W;M<<=1){var V=M<<1,$=Math.cos(2*Math.PI/V),F=Math.sin(2*Math.PI/V);for(var A=0;A<W;A+=V){var C=$,N=F;for(var f=0;f<M;f++){var b=O[A+f],i=T[A+f],D0=O[A+f+M],Q0=T[A+f+M],n=C*D0-N*Q0;if(Q0=C*Q0+N*D0,D0=n,O[A+f]=b+D0,T[A+f]=i+Q0,O[A+f+M]=b-D0,T[A+f+M]=i-Q0,f!==V)n=$*C-F*N,N=$*N+F*C,C=n}}}},y.prototype.guessLen13b=function(I,K){var O=Math.max(K,I)|1,T=O&1,W=0;for(O=O/2|0;O;O=O>>>1)W++;return 1<<W+1+T},y.prototype.conjugate=function(I,K,O){if(O<=1)return;for(var T=0;T<O/2;T++){var W=I[T];I[T]=I[O-T-1],I[O-T-1]=W,W=K[T],K[T]=-K[O-T-1],K[O-T-1]=-W}},y.prototype.normalize13b=function(I,K){var O=0;for(var T=0;T<K/2;T++){var W=Math.round(I[2*T+1]/K)*8192+Math.round(I[2*T]/K)+O;if(I[T]=W&67108863,W<67108864)O=0;else O=W/67108864|0}return I},y.prototype.convert13b=function(I,K,O,T){var W=0;for(var R=0;R<K;R++)W=W+(I[R]|0),O[2*R]=W&8191,W=W>>>13,O[2*R+1]=W&8191,W=W>>>13;for(R=2*K;R<T;++R)O[R]=0;J(W===0),J((W&-8192)===0)},y.prototype.stub=function(I){var K=Array(I);for(var O=0;O<I;O++)K[O]=0;return K},y.prototype.mulp=function(I,K,O){var T=2*this.guessLen13b(I.length,K.length),W=this.makeRBT(T),R=this.stub(T),M=Array(T),V=Array(T),$=Array(T),F=Array(T),A=Array(T),C=Array(T),N=O.words;N.length=T,this.convert13b(I.words,I.length,M,T),this.convert13b(K.words,K.length,F,T),this.transform(M,R,V,$,T,W),this.transform(F,R,A,C,T,W);for(var f=0;f<T;f++){var b=V[f]*A[f]-$[f]*C[f];$[f]=V[f]*C[f]+$[f]*A[f],V[f]=b}return this.conjugate(V,$,T),this.transform(V,$,N,R,T,W),this.conjugate(N,R,T),this.normalize13b(N,T),O.negative=I.negative^K.negative,O.length=I.length+K.length,O.strip()},G.prototype.mul=function(I){var K=new G(null);return K.words=Array(this.length+I.length),this.mulTo(I,K)},G.prototype.mulf=function(I){var K=new G(null);return K.words=Array(this.length+I.length),B(this,I,K)},G.prototype.imul=function(I){return this.clone().mulTo(I,this)},G.prototype.imuln=function(I){J(typeof I==="number"),J(I<67108864);var K=0;for(var O=0;O<this.length;O++){var T=(this.words[O]|0)*I,W=(T&67108863)+(K&67108863);K>>=26,K+=T/67108864|0,K+=W>>>26,this.words[O]=W&67108863}if(K!==0)this.words[O]=K,this.length++;return this.length=I===0?1:this.length,this},G.prototype.muln=function(I){return this.clone().imuln(I)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(I){var K=P(I);if(K.length===0)return new G(1);var O=this;for(var T=0;T<K.length;T++,O=O.sqr())if(K[T]!==0)break;if(++T<K.length)for(var W=O.sqr();T<K.length;T++,W=W.sqr()){if(K[T]===0)continue;O=O.mul(W)}return O},G.prototype.iushln=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=67108863>>>26-K<<26-K,W;if(K!==0){var R=0;for(W=0;W<this.length;W++){var M=this.words[W]&T,V=(this.words[W]|0)-M<<K;this.words[W]=V|R,R=M>>>26-K}if(R)this.words[W]=R,this.length++}if(O!==0){for(W=this.length-1;W>=0;W--)this.words[W+O]=this.words[W];for(W=0;W<O;W++)this.words[W]=0;this.length+=O}return this.strip()},G.prototype.ishln=function(I){return J(this.negative===0),this.iushln(I)},G.prototype.iushrn=function(I,K,O){J(typeof I==="number"&&I>=0);var T;if(K)T=(K-K%26)/26;else T=0;var W=I%26,R=Math.min((I-W)/26,this.length),M=67108863^67108863>>>W<<W,V=O;if(T-=R,T=Math.max(0,T),V){for(var $=0;$<R;$++)V.words[$]=this.words[$];V.length=R}if(R===0);else if(this.length>R){this.length-=R;for($=0;$<this.length;$++)this.words[$]=this.words[$+R]}else this.words[0]=0,this.length=1;var F=0;for($=this.length-1;$>=0&&(F!==0||$>=T);$--){var A=this.words[$]|0;this.words[$]=F<<26-W|A>>>W,F=A&M}if(V&&F!==0)V.words[V.length++]=F;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},G.prototype.ishrn=function(I,K,O){return J(this.negative===0),this.iushrn(I,K,O)},G.prototype.shln=function(I){return this.clone().ishln(I)},G.prototype.ushln=function(I){return this.clone().iushln(I)},G.prototype.shrn=function(I){return this.clone().ishrn(I)},G.prototype.ushrn=function(I){return this.clone().iushrn(I)},G.prototype.testn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return!1;var W=this.words[O];return!!(W&T)},G.prototype.imaskn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26;if(J(this.negative===0,"imaskn works only with positive numbers"),this.length<=O)return this;if(K!==0)O++;if(this.length=Math.min(O,this.length),K!==0){var T=67108863^67108863>>>K<<K;this.words[this.length-1]&=T}return this.strip()},G.prototype.maskn=function(I){return this.clone().imaskn(I)},G.prototype.iaddn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.isubn(-I);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<I)return this.words[0]=I-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(I),this.negative=1,this}return this._iaddn(I)},G.prototype._iaddn=function(I){this.words[0]+=I;for(var K=0;K<this.length&&this.words[K]>=67108864;K++)if(this.words[K]-=67108864,K===this.length-1)this.words[K+1]=1;else this.words[K+1]++;return this.length=Math.max(this.length,K+1),this},G.prototype.isubn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.iaddn(-I);if(this.negative!==0)return this.negative=0,this.iaddn(I),this.negative=1,this;if(this.words[0]-=I,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var K=0;K<this.length&&this.words[K]<0;K++)this.words[K]+=67108864,this.words[K+1]-=1;return this.strip()},G.prototype.addn=function(I){return this.clone().iaddn(I)},G.prototype.subn=function(I){return this.clone().isubn(I)},G.prototype.iabs=function(){return this.negative=0,this},G.prototype.abs=function(){return this.clone().iabs()},G.prototype._ishlnsubmul=function(I,K,O){var T=I.length+O,W;this._expand(T);var R,M=0;for(W=0;W<I.length;W++){R=(this.words[W+O]|0)+M;var V=(I.words[W]|0)*K;R-=V&67108863,M=(R>>26)-(V/67108864|0),this.words[W+O]=R&67108863}for(;W<this.length-O;W++)R=(this.words[W+O]|0)+M,M=R>>26,this.words[W+O]=R&67108863;if(M===0)return this.strip();J(M===-1),M=0;for(W=0;W<this.length;W++)R=-(this.words[W]|0)+M,M=R>>26,this.words[W]=R&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(I,K){var O=this.length-I.length,T=this.clone(),W=I,R=W.words[W.length-1]|0,M=this._countBits(R);if(O=26-M,O!==0)W=W.ushln(O),T.iushln(O),R=W.words[W.length-1]|0;var V=T.length-W.length,$;if(K!=="mod"){$=new G(null),$.length=V+1,$.words=Array($.length);for(var F=0;F<$.length;F++)$.words[F]=0}var A=T.clone()._ishlnsubmul(W,1,V);if(A.negative===0){if(T=A,$)$.words[V]=1}for(var C=V-1;C>=0;C--){var N=(T.words[W.length+C]|0)*67108864+(T.words[W.length+C-1]|0);N=Math.min(N/R|0,67108863),T._ishlnsubmul(W,N,C);while(T.negative!==0)if(N--,T.negative=0,T._ishlnsubmul(W,1,C),!T.isZero())T.negative^=1;if($)$.words[C]=N}if($)$.strip();if(T.strip(),K!=="div"&&O!==0)T.iushrn(O);return{div:$||null,mod:T}},G.prototype.divmod=function(I,K,O){if(J(!I.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var T,W,R;if(this.negative!==0&&I.negative===0){if(R=this.neg().divmod(I,K),K!=="mod")T=R.div.neg();if(K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.iadd(I)}return{div:T,mod:W}}if(this.negative===0&&I.negative!==0){if(R=this.divmod(I.neg(),K),K!=="mod")T=R.div.neg();return{div:T,mod:R.mod}}if((this.negative&I.negative)!==0){if(R=this.neg().divmod(I.neg(),K),K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.isub(I)}return{div:R.div,mod:W}}if(I.length>this.length||this.cmp(I)<0)return{div:new G(0),mod:this};if(I.length===1){if(K==="div")return{div:this.divn(I.words[0]),mod:null};if(K==="mod")return{div:null,mod:new G(this.modn(I.words[0]))};return{div:this.divn(I.words[0]),mod:new G(this.modn(I.words[0]))}}return this._wordDiv(I,K)},G.prototype.div=function(I){return this.divmod(I,"div",!1).div},G.prototype.mod=function(I){return this.divmod(I,"mod",!1).mod},G.prototype.umod=function(I){return this.divmod(I,"mod",!0).mod},G.prototype.divRound=function(I){var K=this.divmod(I);if(K.mod.isZero())return K.div;var O=K.div.negative!==0?K.mod.isub(I):K.mod,T=I.ushrn(1),W=I.andln(1),R=O.cmp(T);if(R<0||W===1&&R===0)return K.div;return K.div.negative!==0?K.div.isubn(1):K.div.iaddn(1)},G.prototype.modn=function(I){J(I<=67108863);var K=67108864%I,O=0;for(var T=this.length-1;T>=0;T--)O=(K*O+(this.words[T]|0))%I;return O},G.prototype.idivn=function(I){J(I<=67108863);var K=0;for(var O=this.length-1;O>=0;O--){var T=(this.words[O]|0)+K*67108864;this.words[O]=T/I|0,K=T%I}return this.strip()},G.prototype.divn=function(I){return this.clone().idivn(I)},G.prototype.egcd=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=new G(0),M=new G(1),V=0;while(K.isEven()&&O.isEven())K.iushrn(1),O.iushrn(1),++V;var $=O.clone(),F=K.clone();while(!K.isZero()){for(var A=0,C=1;(K.words[0]&C)===0&&A<26;++A,C<<=1);if(A>0){K.iushrn(A);while(A-- >0){if(T.isOdd()||W.isOdd())T.iadd($),W.isub(F);T.iushrn(1),W.iushrn(1)}}for(var N=0,f=1;(O.words[0]&f)===0&&N<26;++N,f<<=1);if(N>0){O.iushrn(N);while(N-- >0){if(R.isOdd()||M.isOdd())R.iadd($),M.isub(F);R.iushrn(1),M.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(R),W.isub(M);else O.isub(K),R.isub(T),M.isub(W)}return{a:R,b:M,gcd:O.iushln(V)}},G.prototype._invmp=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=O.clone();while(K.cmpn(1)>0&&O.cmpn(1)>0){for(var M=0,V=1;(K.words[0]&V)===0&&M<26;++M,V<<=1);if(M>0){K.iushrn(M);while(M-- >0){if(T.isOdd())T.iadd(R);T.iushrn(1)}}for(var $=0,F=1;(O.words[0]&F)===0&&$<26;++$,F<<=1);if($>0){O.iushrn($);while($-- >0){if(W.isOdd())W.iadd(R);W.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(W);else O.isub(K),W.isub(T)}var A;if(K.cmpn(1)===0)A=T;else A=W;if(A.cmpn(0)<0)A.iadd(I);return A},G.prototype.gcd=function(I){if(this.isZero())return I.abs();if(I.isZero())return this.abs();var K=this.clone(),O=I.clone();K.negative=0,O.negative=0;for(var T=0;K.isEven()&&O.isEven();T++)K.iushrn(1),O.iushrn(1);do{while(K.isEven())K.iushrn(1);while(O.isEven())O.iushrn(1);var W=K.cmp(O);if(W<0){var R=K;K=O,O=R}else if(W===0||O.cmpn(1)===0)break;K.isub(O)}while(!0);return O.iushln(T)},G.prototype.invm=function(I){return this.egcd(I).a.umod(I)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(I){return this.words[0]&I},G.prototype.bincn=function(I){J(typeof I==="number");var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return this._expand(O+1),this.words[O]|=T,this;var W=T;for(var R=O;W!==0&&R<this.length;R++){var M=this.words[R]|0;M+=W,W=M>>>26,M&=67108863,this.words[R]=M}if(W!==0)this.words[R]=W,this.length++;return this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(I){var K=I<0;if(this.negative!==0&&!K)return-1;if(this.negative===0&&K)return 1;this.strip();var O;if(this.length>1)O=1;else{if(K)I=-I;J(I<=67108863,"Number is too big");var T=this.words[0]|0;O=T===I?0:T<I?-1:1}if(this.negative!==0)return-O|0;return O},G.prototype.cmp=function(I){if(this.negative!==0&&I.negative===0)return-1;if(this.negative===0&&I.negative!==0)return 1;var K=this.ucmp(I);if(this.negative!==0)return-K|0;return K},G.prototype.ucmp=function(I){if(this.length>I.length)return 1;if(this.length<I.length)return-1;var K=0;for(var O=this.length-1;O>=0;O--){var T=this.words[O]|0,W=I.words[O]|0;if(T===W)continue;if(T<W)K=-1;else if(T>W)K=1;break}return K},G.prototype.gtn=function(I){return this.cmpn(I)===1},G.prototype.gt=function(I){return this.cmp(I)===1},G.prototype.gten=function(I){return this.cmpn(I)>=0},G.prototype.gte=function(I){return this.cmp(I)>=0},G.prototype.ltn=function(I){return this.cmpn(I)===-1},G.prototype.lt=function(I){return this.cmp(I)===-1},G.prototype.lten=function(I){return this.cmpn(I)<=0},G.prototype.lte=function(I){return this.cmp(I)<=0},G.prototype.eqn=function(I){return this.cmpn(I)===0},G.prototype.eq=function(I){return this.cmp(I)===0},G.red=function(I){return new d(I)},G.prototype.toRed=function(I){return J(!this.red,"Already a number in reduction context"),J(this.negative===0,"red works only with positives"),I.convertTo(this)._forceRed(I)},G.prototype.fromRed=function(){return J(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(I){return this.red=I,this},G.prototype.forceRed=function(I){return J(!this.red,"Already a number in reduction context"),this._forceRed(I)},G.prototype.redAdd=function(I){return J(this.red,"redAdd works only with red numbers"),this.red.add(this,I)},G.prototype.redIAdd=function(I){return J(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,I)},G.prototype.redSub=function(I){return J(this.red,"redSub works only with red numbers"),this.red.sub(this,I)},G.prototype.redISub=function(I){return J(this.red,"redISub works only with red numbers"),this.red.isub(this,I)},G.prototype.redShl=function(I){return J(this.red,"redShl works only with red numbers"),this.red.shl(this,I)},G.prototype.redMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.mul(this,I)},G.prototype.redIMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.imul(this,I)},G.prototype.redSqr=function(){return J(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return J(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return J(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return J(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return J(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(I){return J(this.red&&!I.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,I)};var x={k256:null,p224:null,p192:null,p25519:null};function h(I,K){this.name=I,this.p=new G(K,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}h.prototype._tmp=function(){var I=new G(null);return I.words=Array(Math.ceil(this.n/13)),I},h.prototype.ireduce=function(I){var K=I,O;do this.split(K,this.tmp),K=this.imulK(K),K=K.iadd(this.tmp),O=K.bitLength();while(O>this.n);var T=O<this.n?-1:K.ucmp(this.p);if(T===0)K.words[0]=0,K.length=1;else if(T>0)K.isub(this.p);else if(K.strip!==void 0)K.strip();else K._strip();return K},h.prototype.split=function(I,K){I.iushrn(this.n,0,K)},h.prototype.imulK=function(I){return I.imul(this.k)};function r(){h.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Y(r,h),r.prototype.split=function(I,K){var O=4194303,T=Math.min(I.length,9);for(var W=0;W<T;W++)K.words[W]=I.words[W];if(K.length=T,I.length<=9){I.words[0]=0,I.length=1;return}var R=I.words[9];K.words[K.length++]=R&O;for(W=10;W<I.length;W++){var M=I.words[W]|0;I.words[W-10]=(M&O)<<4|R>>>22,R=M}if(R>>>=22,I.words[W-10]=R,R===0&&I.length>10)I.length-=10;else I.length-=9},r.prototype.imulK=function(I){I.words[I.length]=0,I.words[I.length+1]=0,I.length+=2;var K=0;for(var O=0;O<I.length;O++){var T=I.words[O]|0;K+=T*977,I.words[O]=K&67108863,K=T*64+(K/67108864|0)}if(I.words[I.length-1]===0){if(I.length--,I.words[I.length-1]===0)I.length--}return I};function T0(){h.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}Y(T0,h);function L0(){h.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}Y(L0,h);function I0(){h.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}Y(I0,h),I0.prototype.imulK=function(I){var K=0;for(var O=0;O<I.length;O++){var T=(I.words[O]|0)*19+K,W=T&67108863;T>>>=26,I.words[O]=W,K=T}if(K!==0)I.words[I.length++]=K;return I},G._prime=function(I){if(x[I])return x[I];var K;if(I==="k256")K=new r;else if(I==="p224")K=new T0;else if(I==="p192")K=new L0;else if(I==="p25519")K=new I0;else throw Error("Unknown prime "+I);return x[I]=K,K};function d(I){if(typeof I==="string"){var K=G._prime(I);this.m=K.p,this.prime=K}else J(I.gtn(1),"modulus must be greater than 1"),this.m=I,this.prime=null}d.prototype._verify1=function(I){J(I.negative===0,"red works only with positives"),J(I.red,"red works only with red numbers")},d.prototype._verify2=function(I,K){J((I.negative|K.negative)===0,"red works only with positives"),J(I.red&&I.red===K.red,"red works only with red numbers")},d.prototype.imod=function(I){if(this.prime)return this.prime.ireduce(I)._forceRed(this);return I.umod(this.m)._forceRed(this)},d.prototype.neg=function(I){if(I.isZero())return I.clone();return this.m.sub(I)._forceRed(this)},d.prototype.add=function(I,K){this._verify2(I,K);var O=I.add(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O._forceRed(this)},d.prototype.iadd=function(I,K){this._verify2(I,K);var O=I.iadd(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O},d.prototype.sub=function(I,K){this._verify2(I,K);var O=I.sub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O._forceRed(this)},d.prototype.isub=function(I,K){this._verify2(I,K);var O=I.isub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O},d.prototype.shl=function(I,K){return this._verify1(I),this.imod(I.ushln(K))},d.prototype.imul=function(I,K){return this._verify2(I,K),this.imod(I.imul(K))},d.prototype.mul=function(I,K){return this._verify2(I,K),this.imod(I.mul(K))},d.prototype.isqr=function(I){return this.imul(I,I.clone())},d.prototype.sqr=function(I){return this.mul(I,I)},d.prototype.sqrt=function(I){if(I.isZero())return I.clone();var K=this.m.andln(3);if(J(K%2===1),K===3){var O=this.m.add(new G(1)).iushrn(2);return this.pow(I,O)}var T=this.m.subn(1),W=0;while(!T.isZero()&&T.andln(1)===0)W++,T.iushrn(1);J(!T.isZero());var R=new G(1).toRed(this),M=R.redNeg(),V=this.m.subn(1).iushrn(1),$=this.m.bitLength();$=new G(2*$*$).toRed(this);while(this.pow($,V).cmp(M)!==0)$.redIAdd(M);var F=this.pow($,T),A=this.pow(I,T.addn(1).iushrn(1)),C=this.pow(I,T),N=W;while(C.cmp(R)!==0){var f=C;for(var b=0;f.cmp(R)!==0;b++)f=f.redSqr();J(b<N);var i=this.pow(F,new G(1).iushln(N-b-1));A=A.redMul(i),F=i.redSqr(),C=C.redMul(F),N=b}return A},d.prototype.invm=function(I){var K=I._invmp(this.m);if(K.negative!==0)return K.negative=0,this.imod(K).redNeg();else return this.imod(K)},d.prototype.pow=function(I,K){if(K.isZero())return new G(1).toRed(this);if(K.cmpn(1)===0)return I.clone();var O=4,T=Array(1<<O);T[0]=new G(1).toRed(this),T[1]=I;for(var W=2;W<T.length;W++)T[W]=this.mul(T[W-1],I);var R=T[0],M=0,V=0,$=K.bitLength()%26;if($===0)$=26;for(W=K.length-1;W>=0;W--){var F=K.words[W];for(var A=$-1;A>=0;A--){var C=F>>A&1;if(R!==T[0])R=this.sqr(R);if(C===0&&M===0){V=0;continue}if(M<<=1,M|=C,V++,V!==O&&(W!==0||A!==0))continue;R=this.mul(R,T[M]),V=0,M=0}$=26}return R},d.prototype.convertTo=function(I){var K=I.umod(this.m);return K===I?K.clone():K},d.prototype.convertFrom=function(I){var K=I.clone();return K.red=null,K},G.mont=function(I){return new J0(I)};function J0(I){if(d.call(this,I),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Y(J0,d),J0.prototype.convertTo=function(I){return this.imod(I.ushln(this.shift))},J0.prototype.convertFrom=function(I){var K=this.imod(I.mul(this.rinv));return K.red=null,K},J0.prototype.imul=function(I,K){if(I.isZero()||K.isZero())return I.words[0]=0,I.length=1,I;var O=I.imul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.mul=function(I,K){if(I.isZero()||K.isZero())return new G(0)._forceRed(this);var O=I.mul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.invm=function(I){var K=this.imod(I._invmp(this.m).mul(this.r2));return K._forceRed(this)}})(typeof Q>"u"||Q,U)}),DL=O0((U,Q)=>{var Z=LL(),X=VL();Q.exports=function(L){return new Y(L)};var J={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};J.p224=J.secp224r1,J.p256=J.secp256r1=J.prime256v1,J.p192=J.secp192r1=J.prime192v1,J.p384=J.secp384r1,J.p521=J.secp521r1;function Y(L){if(this.curveType=J[L],!this.curveType)this.curveType={name:L};this.curve=new Z.ec(this.curveType.name),this.keys=void 0}Y.prototype.generateKeys=function(L,z){return this.keys=this.curve.genKeyPair(),this.getPublicKey(L,z)},Y.prototype.computeSecret=function(L,z,D){if(z=z||"utf8",!Buffer.isBuffer(L))L=new Buffer(L,z);var S=this.curve.keyFromPublic(L).getPublic(),H=S.mul(this.keys.getPrivate()).getX();return G(H,D,this.curveType.byteLength)},Y.prototype.getPublicKey=function(L,z){var D=this.keys.getPublic(z==="compressed",!0);if(z==="hybrid")if(D[D.length-1]%2)D[0]=7;else D[0]=6;return G(D,L)},Y.prototype.getPrivateKey=function(L){return G(this.keys.getPrivate(),L)},Y.prototype.setPublicKey=function(L,z){if(z=z||"utf8",!Buffer.isBuffer(L))L=new Buffer(L,z);return this.keys._importPublic(L),this},Y.prototype.setPrivateKey=function(L,z){if(z=z||"utf8",!Buffer.isBuffer(L))L=new Buffer(L,z);var D=new X(L);return D=D.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(D),this};function G(L,z,D){if(!Array.isArray(L))L=L.toArray();var S=new Buffer(L);if(D&&S.length<D){var H=new Buffer(D-S.length);H.fill(0),S=Buffer.concat([H,S])}if(!z)return S;else return S.toString(z)}}),HL=O0((U,Q)=>{var Z=(h2(),L1(m2)).createECDH;Q.exports=Z||DL()}),FL=O0((U,Q)=>{(function(Z,X){function J(I,K){if(!I)throw Error(K||"Assertion failed")}function Y(I,K){I.super_=K;var O=function(){};O.prototype=K.prototype,I.prototype=new O,I.prototype.constructor=I}function G(I,K,O){if(G.isBN(I))return I;if(this.negative=0,this.words=null,this.length=0,this.red=null,I!==null){if(K==="le"||K==="be")O=K,K=10;this._init(I||0,K||10,O||"be")}}if(typeof Z==="object")Z.exports=G;else X.BN=G;G.BN=G,G.wordSize=26;var L;try{if(typeof window<"u"&&typeof window.Buffer<"u")L=window.Buffer;else L=(V2(),L1(L2)).Buffer}catch(I){}G.isBN=function(I){if(I instanceof G)return!0;return I!==null&&typeof I==="object"&&I.constructor.wordSize===G.wordSize&&Array.isArray(I.words)},G.max=function(I,K){if(I.cmp(K)>0)return I;return K},G.min=function(I,K){if(I.cmp(K)<0)return I;return K},G.prototype._init=function(I,K,O){if(typeof I==="number")return this._initNumber(I,K,O);if(typeof I==="object")return this._initArray(I,K,O);if(K==="hex")K=16;J(K===(K|0)&&K>=2&&K<=36),I=I.toString().replace(/\s+/g,"");var T=0;if(I[0]==="-")T++,this.negative=1;if(T<I.length){if(K===16)this._parseHex(I,T,O);else if(this._parseBase(I,K,T),O==="le")this._initArray(this.toArray(),K,O)}},G.prototype._initNumber=function(I,K,O){if(I<0)this.negative=1,I=-I;if(I<67108864)this.words=[I&67108863],this.length=1;else if(I<4503599627370496)this.words=[I&67108863,I/67108864&67108863],this.length=2;else J(I<9007199254740992),this.words=[I&67108863,I/67108864&67108863,1],this.length=3;if(O!=="le")return;this._initArray(this.toArray(),K,O)},G.prototype._initArray=function(I,K,O){if(J(typeof I.length==="number"),I.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(I.length/3),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W,R,M=0;if(O==="be"){for(T=I.length-1,W=0;T>=0;T-=3)if(R=I[T]|I[T-1]<<8|I[T-2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}else if(O==="le"){for(T=0,W=0;T<I.length;T+=3)if(R=I[T]|I[T+1]<<8|I[T+2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}return this.strip()};function z(I,K){var O=I.charCodeAt(K);if(O>=65&&O<=70)return O-55;else if(O>=97&&O<=102)return O-87;else return O-48&15}function D(I,K,O){var T=z(I,O);if(O-1>=K)T|=z(I,O-1)<<4;return T}G.prototype._parseHex=function(I,K,O){this.length=Math.ceil((I.length-K)/6),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W=0,R=0,M;if(O==="be")for(T=I.length-1;T>=K;T-=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8;else{var V=I.length-K;for(T=V%2===0?K+1:K;T<I.length;T+=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8}this.strip()};function S(I,K,O,T){var W=0,R=Math.min(I.length,O);for(var M=K;M<R;M++){var V=I.charCodeAt(M)-48;if(W*=T,V>=49)W+=V-49+10;else if(V>=17)W+=V-17+10;else W+=V}return W}G.prototype._parseBase=function(I,K,O){this.words=[0],this.length=1;for(var T=0,W=1;W<=67108863;W*=K)T++;T--,W=W/K|0;var R=I.length-O,M=R%T,V=Math.min(R,R-M)+O,$=0;for(var F=O;F<V;F+=T)if($=S(I,F,F+T,K),this.imuln(W),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($);if(M!==0){var A=1;$=S(I,F,I.length,K);for(F=0;F<M;F++)A*=K;if(this.imuln(A),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($)}this.strip()},G.prototype.copy=function(I){I.words=Array(this.length);for(var K=0;K<this.length;K++)I.words[K]=this.words[K];I.length=this.length,I.negative=this.negative,I.red=this.red},G.prototype.clone=function(){var I=new G(null);return this.copy(I),I},G.prototype._expand=function(I){while(this.length<I)this.words[this.length++]=0;return this},G.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},G.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},G.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var H=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],q=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(G.prototype.toString=function(I,K){I=I||10,K=K|0||1;var O;if(I===16||I==="hex"){O="";var T=0,W=0;for(var R=0;R<this.length;R++){var M=this.words[R],V=((M<<T|W)&16777215).toString(16);if(W=M>>>24-T&16777215,T+=2,T>=26)T-=26,R--;if(W!==0||R!==this.length-1)O=H[6-V.length]+V+O;else O=V+O}if(W!==0)O=W.toString(16)+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}if(I===(I|0)&&I>=2&&I<=36){var $=q[I],F=E[I];O="";var A=this.clone();A.negative=0;while(!A.isZero()){var C=A.modn(F).toString(I);if(A=A.idivn(F),!A.isZero())O=H[$-C.length]+C+O;else O=C+O}if(this.isZero())O="0"+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}J(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var I=this.words[0];if(this.length===2)I+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)I+=4503599627370496+this.words[1]*67108864;else if(this.length>2)J(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-I:I},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(I,K){return J(typeof L<"u"),this.toArrayLike(L,I,K)},G.prototype.toArray=function(I,K){return this.toArrayLike(Array,I,K)},G.prototype.toArrayLike=function(I,K,O){var T=this.byteLength(),W=O||Math.max(1,T);J(T<=W,"byte array longer than desired length"),J(W>0,"Requested array length <= 0"),this.strip();var R=K==="le",M=new I(W),V,$,F=this.clone();if(!R){for($=0;$<W-T;$++)M[$]=0;for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[W-$-1]=V}else{for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[$]=V;for(;$<W;$++)M[$]=0}return M},Math.clz32)G.prototype._countBits=function(I){return 32-Math.clz32(I)};else G.prototype._countBits=function(I){var K=I,O=0;if(K>=4096)O+=13,K>>>=13;if(K>=64)O+=7,K>>>=7;if(K>=8)O+=4,K>>>=4;if(K>=2)O+=2,K>>>=2;return O+K};G.prototype._zeroBits=function(I){if(I===0)return 26;var K=I,O=0;if((K&8191)===0)O+=13,K>>>=13;if((K&127)===0)O+=7,K>>>=7;if((K&15)===0)O+=4,K>>>=4;if((K&3)===0)O+=2,K>>>=2;if((K&1)===0)O++;return O},G.prototype.bitLength=function(){var I=this.words[this.length-1],K=this._countBits(I);return(this.length-1)*26+K};function P(I){var K=Array(I.bitLength());for(var O=0;O<K.length;O++){var T=O/26|0,W=O%26;K[O]=(I.words[T]&1<<W)>>>W}return K}G.prototype.zeroBits=function(){if(this.isZero())return 0;var I=0;for(var K=0;K<this.length;K++){var O=this._zeroBits(this.words[K]);if(I+=O,O!==26)break}return I},G.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},G.prototype.toTwos=function(I){if(this.negative!==0)return this.abs().inotn(I).iaddn(1);return this.clone()},G.prototype.fromTwos=function(I){if(this.testn(I-1))return this.notn(I).iaddn(1).ineg();return this.clone()},G.prototype.isNeg=function(){return this.negative!==0},G.prototype.neg=function(){return this.clone().ineg()},G.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},G.prototype.iuor=function(I){while(this.length<I.length)this.words[this.length++]=0;for(var K=0;K<I.length;K++)this.words[K]=this.words[K]|I.words[K];return this.strip()},G.prototype.ior=function(I){return J((this.negative|I.negative)===0),this.iuor(I)},G.prototype.or=function(I){if(this.length>I.length)return this.clone().ior(I);return I.clone().ior(this)},G.prototype.uor=function(I){if(this.length>I.length)return this.clone().iuor(I);return I.clone().iuor(this)},G.prototype.iuand=function(I){var K;if(this.length>I.length)K=I;else K=this;for(var O=0;O<K.length;O++)this.words[O]=this.words[O]&I.words[O];return this.length=K.length,this.strip()},G.prototype.iand=function(I){return J((this.negative|I.negative)===0),this.iuand(I)},G.prototype.and=function(I){if(this.length>I.length)return this.clone().iand(I);return I.clone().iand(this)},G.prototype.uand=function(I){if(this.length>I.length)return this.clone().iuand(I);return I.clone().iuand(this)},G.prototype.iuxor=function(I){var K,O;if(this.length>I.length)K=this,O=I;else K=I,O=this;for(var T=0;T<O.length;T++)this.words[T]=K.words[T]^O.words[T];if(this!==K)for(;T<K.length;T++)this.words[T]=K.words[T];return this.length=K.length,this.strip()},G.prototype.ixor=function(I){return J((this.negative|I.negative)===0),this.iuxor(I)},G.prototype.xor=function(I){if(this.length>I.length)return this.clone().ixor(I);return I.clone().ixor(this)},G.prototype.uxor=function(I){if(this.length>I.length)return this.clone().iuxor(I);return I.clone().iuxor(this)},G.prototype.inotn=function(I){J(typeof I==="number"&&I>=0);var K=Math.ceil(I/26)|0,O=I%26;if(this._expand(K),O>0)K--;for(var T=0;T<K;T++)this.words[T]=~this.words[T]&67108863;if(O>0)this.words[T]=~this.words[T]&67108863>>26-O;return this.strip()},G.prototype.notn=function(I){return this.clone().inotn(I)},G.prototype.setn=function(I,K){J(typeof I==="number"&&I>=0);var O=I/26|0,T=I%26;if(this._expand(O+1),K)this.words[O]=this.words[O]|1<<T;else this.words[O]=this.words[O]&~(1<<T);return this.strip()},G.prototype.iadd=function(I){var K;if(this.negative!==0&&I.negative===0)return this.negative=0,K=this.isub(I),this.negative^=1,this._normSign();else if(this.negative===0&&I.negative!==0)return I.negative=0,K=this.isub(I),I.negative=1,K._normSign();var O,T;if(this.length>I.length)O=this,T=I;else O=I,T=this;var W=0;for(var R=0;R<T.length;R++)K=(O.words[R]|0)+(T.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;for(;W!==0&&R<O.length;R++)K=(O.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;if(this.length=O.length,W!==0)this.words[this.length]=W,this.length++;else if(O!==this)for(;R<O.length;R++)this.words[R]=O.words[R];return this},G.prototype.add=function(I){var K;if(I.negative!==0&&this.negative===0)return I.negative=0,K=this.sub(I),I.negative^=1,K;else if(I.negative===0&&this.negative!==0)return this.negative=0,K=I.sub(this),this.negative=1,K;if(this.length>I.length)return this.clone().iadd(I);return I.clone().iadd(this)},G.prototype.isub=function(I){if(I.negative!==0){I.negative=0;var K=this.iadd(I);return I.negative=1,K._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(I),this.negative=1,this._normSign();var O=this.cmp(I);if(O===0)return this.negative=0,this.length=1,this.words[0]=0,this;var T,W;if(O>0)T=this,W=I;else T=I,W=this;var R=0;for(var M=0;M<W.length;M++)K=(T.words[M]|0)-(W.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;for(;R!==0&&M<T.length;M++)K=(T.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;if(R===0&&M<T.length&&T!==this)for(;M<T.length;M++)this.words[M]=T.words[M];if(this.length=Math.max(this.length,M),T!==this)this.negative=1;return this.strip()},G.prototype.sub=function(I){return this.clone().isub(I)};function k(I,K,O){O.negative=K.negative^I.negative;var T=I.length+K.length|0;O.length=T,T=T-1|0;var W=I.words[0]|0,R=K.words[0]|0,M=W*R,V=M&67108863,$=M/67108864|0;O.words[0]=V;for(var F=1;F<T;F++){var A=$>>>26,C=$&67108863,N=Math.min(F,K.length-1);for(var f=Math.max(0,F-I.length+1);f<=N;f++){var b=F-f|0;W=I.words[b]|0,R=K.words[f]|0,M=W*R+C,A+=M/67108864|0,C=M&67108863}O.words[F]=C|0,$=A|0}if($!==0)O.words[F]=$|0;else O.length--;return O.strip()}var _=function(I,K,O){var T=I.words,W=K.words,R=O.words,M=0,V,$,F,A=T[0]|0,C=A&8191,N=A>>>13,f=T[1]|0,b=f&8191,i=f>>>13,D0=T[2]|0,Q0=D0&8191,n=D0>>>13,K0=T[3]|0,a=K0&8191,G0=K0>>>13,m0=T[4]|0,c=m0&8191,l=m0>>>13,W0=T[5]|0,e=W0&8191,X0=W0>>>13,j0=T[6]|0,u=j0&8191,s=j0>>>13,b0=T[7]|0,t=b0&8191,Y0=b0>>>13,e0=T[8]|0,R0=e0&8191,z0=e0>>>13,y1=T[9]|0,H0=y1&8191,S0=y1>>>13,h1=W[0]|0,_0=h1&8191,E0=h1>>>13,q2=W[1]|0,B0=q2&8191,f0=q2>>>13,C2=W[2]|0,p0=C2&8191,N0=C2>>>13,H2=W[3]|0,v0=H2&8191,w0=H2>>>13,K2=W[4]|0,h0=K2&8191,c0=K2>>>13,W2=W[5]|0,y0=W2&8191,g=W2>>>13,o=W[6]|0,Z0=o&8191,$0=o>>>13,r0=W[7]|0,F0=r0&8191,q0=r0>>>13,x1=W[8]|0,x0=x1&8191,u0=x1>>>13,F2=W[9]|0,g0=F2&8191,A0=F2>>>13;O.negative=I.negative^K.negative,O.length=19,V=Math.imul(C,_0),$=Math.imul(C,E0),$=$+Math.imul(N,_0)|0,F=Math.imul(N,E0);var g1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(g1>>>26)|0,g1&=67108863,V=Math.imul(b,_0),$=Math.imul(b,E0),$=$+Math.imul(i,_0)|0,F=Math.imul(i,E0),V=V+Math.imul(C,B0)|0,$=$+Math.imul(C,f0)|0,$=$+Math.imul(N,B0)|0,F=F+Math.imul(N,f0)|0;var I1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(I1>>>26)|0,I1&=67108863,V=Math.imul(Q0,_0),$=Math.imul(Q0,E0),$=$+Math.imul(n,_0)|0,F=Math.imul(n,E0),V=V+Math.imul(b,B0)|0,$=$+Math.imul(b,f0)|0,$=$+Math.imul(i,B0)|0,F=F+Math.imul(i,f0)|0,V=V+Math.imul(C,p0)|0,$=$+Math.imul(C,N0)|0,$=$+Math.imul(N,p0)|0,F=F+Math.imul(N,N0)|0;var G1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(G1>>>26)|0,G1&=67108863,V=Math.imul(a,_0),$=Math.imul(a,E0),$=$+Math.imul(G0,_0)|0,F=Math.imul(G0,E0),V=V+Math.imul(Q0,B0)|0,$=$+Math.imul(Q0,f0)|0,$=$+Math.imul(n,B0)|0,F=F+Math.imul(n,f0)|0,V=V+Math.imul(b,p0)|0,$=$+Math.imul(b,N0)|0,$=$+Math.imul(i,p0)|0,F=F+Math.imul(i,N0)|0,V=V+Math.imul(C,v0)|0,$=$+Math.imul(C,w0)|0,$=$+Math.imul(N,v0)|0,F=F+Math.imul(N,w0)|0;var C1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(C1>>>26)|0,C1&=67108863,V=Math.imul(c,_0),$=Math.imul(c,E0),$=$+Math.imul(l,_0)|0,F=Math.imul(l,E0),V=V+Math.imul(a,B0)|0,$=$+Math.imul(a,f0)|0,$=$+Math.imul(G0,B0)|0,F=F+Math.imul(G0,f0)|0,V=V+Math.imul(Q0,p0)|0,$=$+Math.imul(Q0,N0)|0,$=$+Math.imul(n,p0)|0,F=F+Math.imul(n,N0)|0,V=V+Math.imul(b,v0)|0,$=$+Math.imul(b,w0)|0,$=$+Math.imul(i,v0)|0,F=F+Math.imul(i,w0)|0,V=V+Math.imul(C,h0)|0,$=$+Math.imul(C,c0)|0,$=$+Math.imul(N,h0)|0,F=F+Math.imul(N,c0)|0;var M1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(M1>>>26)|0,M1&=67108863,V=Math.imul(e,_0),$=Math.imul(e,E0),$=$+Math.imul(X0,_0)|0,F=Math.imul(X0,E0),V=V+Math.imul(c,B0)|0,$=$+Math.imul(c,f0)|0,$=$+Math.imul(l,B0)|0,F=F+Math.imul(l,f0)|0,V=V+Math.imul(a,p0)|0,$=$+Math.imul(a,N0)|0,$=$+Math.imul(G0,p0)|0,F=F+Math.imul(G0,N0)|0,V=V+Math.imul(Q0,v0)|0,$=$+Math.imul(Q0,w0)|0,$=$+Math.imul(n,v0)|0,F=F+Math.imul(n,w0)|0,V=V+Math.imul(b,h0)|0,$=$+Math.imul(b,c0)|0,$=$+Math.imul(i,h0)|0,F=F+Math.imul(i,c0)|0,V=V+Math.imul(C,y0)|0,$=$+Math.imul(C,g)|0,$=$+Math.imul(N,y0)|0,F=F+Math.imul(N,g)|0;var m1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(m1>>>26)|0,m1&=67108863,V=Math.imul(u,_0),$=Math.imul(u,E0),$=$+Math.imul(s,_0)|0,F=Math.imul(s,E0),V=V+Math.imul(e,B0)|0,$=$+Math.imul(e,f0)|0,$=$+Math.imul(X0,B0)|0,F=F+Math.imul(X0,f0)|0,V=V+Math.imul(c,p0)|0,$=$+Math.imul(c,N0)|0,$=$+Math.imul(l,p0)|0,F=F+Math.imul(l,N0)|0,V=V+Math.imul(a,v0)|0,$=$+Math.imul(a,w0)|0,$=$+Math.imul(G0,v0)|0,F=F+Math.imul(G0,w0)|0,V=V+Math.imul(Q0,h0)|0,$=$+Math.imul(Q0,c0)|0,$=$+Math.imul(n,h0)|0,F=F+Math.imul(n,c0)|0,V=V+Math.imul(b,y0)|0,$=$+Math.imul(b,g)|0,$=$+Math.imul(i,y0)|0,F=F+Math.imul(i,g)|0,V=V+Math.imul(C,Z0)|0,$=$+Math.imul(C,$0)|0,$=$+Math.imul(N,Z0)|0,F=F+Math.imul(N,$0)|0;var r1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(r1>>>26)|0,r1&=67108863,V=Math.imul(t,_0),$=Math.imul(t,E0),$=$+Math.imul(Y0,_0)|0,F=Math.imul(Y0,E0),V=V+Math.imul(u,B0)|0,$=$+Math.imul(u,f0)|0,$=$+Math.imul(s,B0)|0,F=F+Math.imul(s,f0)|0,V=V+Math.imul(e,p0)|0,$=$+Math.imul(e,N0)|0,$=$+Math.imul(X0,p0)|0,F=F+Math.imul(X0,N0)|0,V=V+Math.imul(c,v0)|0,$=$+Math.imul(c,w0)|0,$=$+Math.imul(l,v0)|0,F=F+Math.imul(l,w0)|0,V=V+Math.imul(a,h0)|0,$=$+Math.imul(a,c0)|0,$=$+Math.imul(G0,h0)|0,F=F+Math.imul(G0,c0)|0,V=V+Math.imul(Q0,y0)|0,$=$+Math.imul(Q0,g)|0,$=$+Math.imul(n,y0)|0,F=F+Math.imul(n,g)|0,V=V+Math.imul(b,Z0)|0,$=$+Math.imul(b,$0)|0,$=$+Math.imul(i,Z0)|0,F=F+Math.imul(i,$0)|0,V=V+Math.imul(C,F0)|0,$=$+Math.imul(C,q0)|0,$=$+Math.imul(N,F0)|0,F=F+Math.imul(N,q0)|0;var n1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(n1>>>26)|0,n1&=67108863,V=Math.imul(R0,_0),$=Math.imul(R0,E0),$=$+Math.imul(z0,_0)|0,F=Math.imul(z0,E0),V=V+Math.imul(t,B0)|0,$=$+Math.imul(t,f0)|0,$=$+Math.imul(Y0,B0)|0,F=F+Math.imul(Y0,f0)|0,V=V+Math.imul(u,p0)|0,$=$+Math.imul(u,N0)|0,$=$+Math.imul(s,p0)|0,F=F+Math.imul(s,N0)|0,V=V+Math.imul(e,v0)|0,$=$+Math.imul(e,w0)|0,$=$+Math.imul(X0,v0)|0,F=F+Math.imul(X0,w0)|0,V=V+Math.imul(c,h0)|0,$=$+Math.imul(c,c0)|0,$=$+Math.imul(l,h0)|0,F=F+Math.imul(l,c0)|0,V=V+Math.imul(a,y0)|0,$=$+Math.imul(a,g)|0,$=$+Math.imul(G0,y0)|0,F=F+Math.imul(G0,g)|0,V=V+Math.imul(Q0,Z0)|0,$=$+Math.imul(Q0,$0)|0,$=$+Math.imul(n,Z0)|0,F=F+Math.imul(n,$0)|0,V=V+Math.imul(b,F0)|0,$=$+Math.imul(b,q0)|0,$=$+Math.imul(i,F0)|0,F=F+Math.imul(i,q0)|0,V=V+Math.imul(C,x0)|0,$=$+Math.imul(C,u0)|0,$=$+Math.imul(N,x0)|0,F=F+Math.imul(N,u0)|0;var s1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(s1>>>26)|0,s1&=67108863,V=Math.imul(H0,_0),$=Math.imul(H0,E0),$=$+Math.imul(S0,_0)|0,F=Math.imul(S0,E0),V=V+Math.imul(R0,B0)|0,$=$+Math.imul(R0,f0)|0,$=$+Math.imul(z0,B0)|0,F=F+Math.imul(z0,f0)|0,V=V+Math.imul(t,p0)|0,$=$+Math.imul(t,N0)|0,$=$+Math.imul(Y0,p0)|0,F=F+Math.imul(Y0,N0)|0,V=V+Math.imul(u,v0)|0,$=$+Math.imul(u,w0)|0,$=$+Math.imul(s,v0)|0,F=F+Math.imul(s,w0)|0,V=V+Math.imul(e,h0)|0,$=$+Math.imul(e,c0)|0,$=$+Math.imul(X0,h0)|0,F=F+Math.imul(X0,c0)|0,V=V+Math.imul(c,y0)|0,$=$+Math.imul(c,g)|0,$=$+Math.imul(l,y0)|0,F=F+Math.imul(l,g)|0,V=V+Math.imul(a,Z0)|0,$=$+Math.imul(a,$0)|0,$=$+Math.imul(G0,Z0)|0,F=F+Math.imul(G0,$0)|0,V=V+Math.imul(Q0,F0)|0,$=$+Math.imul(Q0,q0)|0,$=$+Math.imul(n,F0)|0,F=F+Math.imul(n,q0)|0,V=V+Math.imul(b,x0)|0,$=$+Math.imul(b,u0)|0,$=$+Math.imul(i,x0)|0,F=F+Math.imul(i,u0)|0,V=V+Math.imul(C,g0)|0,$=$+Math.imul(C,A0)|0,$=$+Math.imul(N,g0)|0,F=F+Math.imul(N,A0)|0;var i1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(i1>>>26)|0,i1&=67108863,V=Math.imul(H0,B0),$=Math.imul(H0,f0),$=$+Math.imul(S0,B0)|0,F=Math.imul(S0,f0),V=V+Math.imul(R0,p0)|0,$=$+Math.imul(R0,N0)|0,$=$+Math.imul(z0,p0)|0,F=F+Math.imul(z0,N0)|0,V=V+Math.imul(t,v0)|0,$=$+Math.imul(t,w0)|0,$=$+Math.imul(Y0,v0)|0,F=F+Math.imul(Y0,w0)|0,V=V+Math.imul(u,h0)|0,$=$+Math.imul(u,c0)|0,$=$+Math.imul(s,h0)|0,F=F+Math.imul(s,c0)|0,V=V+Math.imul(e,y0)|0,$=$+Math.imul(e,g)|0,$=$+Math.imul(X0,y0)|0,F=F+Math.imul(X0,g)|0,V=V+Math.imul(c,Z0)|0,$=$+Math.imul(c,$0)|0,$=$+Math.imul(l,Z0)|0,F=F+Math.imul(l,$0)|0,V=V+Math.imul(a,F0)|0,$=$+Math.imul(a,q0)|0,$=$+Math.imul(G0,F0)|0,F=F+Math.imul(G0,q0)|0,V=V+Math.imul(Q0,x0)|0,$=$+Math.imul(Q0,u0)|0,$=$+Math.imul(n,x0)|0,F=F+Math.imul(n,u0)|0,V=V+Math.imul(b,g0)|0,$=$+Math.imul(b,A0)|0,$=$+Math.imul(i,g0)|0,F=F+Math.imul(i,A0)|0;var a1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(a1>>>26)|0,a1&=67108863,V=Math.imul(H0,p0),$=Math.imul(H0,N0),$=$+Math.imul(S0,p0)|0,F=Math.imul(S0,N0),V=V+Math.imul(R0,v0)|0,$=$+Math.imul(R0,w0)|0,$=$+Math.imul(z0,v0)|0,F=F+Math.imul(z0,w0)|0,V=V+Math.imul(t,h0)|0,$=$+Math.imul(t,c0)|0,$=$+Math.imul(Y0,h0)|0,F=F+Math.imul(Y0,c0)|0,V=V+Math.imul(u,y0)|0,$=$+Math.imul(u,g)|0,$=$+Math.imul(s,y0)|0,F=F+Math.imul(s,g)|0,V=V+Math.imul(e,Z0)|0,$=$+Math.imul(e,$0)|0,$=$+Math.imul(X0,Z0)|0,F=F+Math.imul(X0,$0)|0,V=V+Math.imul(c,F0)|0,$=$+Math.imul(c,q0)|0,$=$+Math.imul(l,F0)|0,F=F+Math.imul(l,q0)|0,V=V+Math.imul(a,x0)|0,$=$+Math.imul(a,u0)|0,$=$+Math.imul(G0,x0)|0,F=F+Math.imul(G0,u0)|0,V=V+Math.imul(Q0,g0)|0,$=$+Math.imul(Q0,A0)|0,$=$+Math.imul(n,g0)|0,F=F+Math.imul(n,A0)|0;var t1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(t1>>>26)|0,t1&=67108863,V=Math.imul(H0,v0),$=Math.imul(H0,w0),$=$+Math.imul(S0,v0)|0,F=Math.imul(S0,w0),V=V+Math.imul(R0,h0)|0,$=$+Math.imul(R0,c0)|0,$=$+Math.imul(z0,h0)|0,F=F+Math.imul(z0,c0)|0,V=V+Math.imul(t,y0)|0,$=$+Math.imul(t,g)|0,$=$+Math.imul(Y0,y0)|0,F=F+Math.imul(Y0,g)|0,V=V+Math.imul(u,Z0)|0,$=$+Math.imul(u,$0)|0,$=$+Math.imul(s,Z0)|0,F=F+Math.imul(s,$0)|0,V=V+Math.imul(e,F0)|0,$=$+Math.imul(e,q0)|0,$=$+Math.imul(X0,F0)|0,F=F+Math.imul(X0,q0)|0,V=V+Math.imul(c,x0)|0,$=$+Math.imul(c,u0)|0,$=$+Math.imul(l,x0)|0,F=F+Math.imul(l,u0)|0,V=V+Math.imul(a,g0)|0,$=$+Math.imul(a,A0)|0,$=$+Math.imul(G0,g0)|0,F=F+Math.imul(G0,A0)|0;var e1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(e1>>>26)|0,e1&=67108863,V=Math.imul(H0,h0),$=Math.imul(H0,c0),$=$+Math.imul(S0,h0)|0,F=Math.imul(S0,c0),V=V+Math.imul(R0,y0)|0,$=$+Math.imul(R0,g)|0,$=$+Math.imul(z0,y0)|0,F=F+Math.imul(z0,g)|0,V=V+Math.imul(t,Z0)|0,$=$+Math.imul(t,$0)|0,$=$+Math.imul(Y0,Z0)|0,F=F+Math.imul(Y0,$0)|0,V=V+Math.imul(u,F0)|0,$=$+Math.imul(u,q0)|0,$=$+Math.imul(s,F0)|0,F=F+Math.imul(s,q0)|0,V=V+Math.imul(e,x0)|0,$=$+Math.imul(e,u0)|0,$=$+Math.imul(X0,x0)|0,F=F+Math.imul(X0,u0)|0,V=V+Math.imul(c,g0)|0,$=$+Math.imul(c,A0)|0,$=$+Math.imul(l,g0)|0,F=F+Math.imul(l,A0)|0;var U2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(U2>>>26)|0,U2&=67108863,V=Math.imul(H0,y0),$=Math.imul(H0,g),$=$+Math.imul(S0,y0)|0,F=Math.imul(S0,g),V=V+Math.imul(R0,Z0)|0,$=$+Math.imul(R0,$0)|0,$=$+Math.imul(z0,Z0)|0,F=F+Math.imul(z0,$0)|0,V=V+Math.imul(t,F0)|0,$=$+Math.imul(t,q0)|0,$=$+Math.imul(Y0,F0)|0,F=F+Math.imul(Y0,q0)|0,V=V+Math.imul(u,x0)|0,$=$+Math.imul(u,u0)|0,$=$+Math.imul(s,x0)|0,F=F+Math.imul(s,u0)|0,V=V+Math.imul(e,g0)|0,$=$+Math.imul(e,A0)|0,$=$+Math.imul(X0,g0)|0,F=F+Math.imul(X0,A0)|0;var Q2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Q2>>>26)|0,Q2&=67108863,V=Math.imul(H0,Z0),$=Math.imul(H0,$0),$=$+Math.imul(S0,Z0)|0,F=Math.imul(S0,$0),V=V+Math.imul(R0,F0)|0,$=$+Math.imul(R0,q0)|0,$=$+Math.imul(z0,F0)|0,F=F+Math.imul(z0,q0)|0,V=V+Math.imul(t,x0)|0,$=$+Math.imul(t,u0)|0,$=$+Math.imul(Y0,x0)|0,F=F+Math.imul(Y0,u0)|0,V=V+Math.imul(u,g0)|0,$=$+Math.imul(u,A0)|0,$=$+Math.imul(s,g0)|0,F=F+Math.imul(s,A0)|0;var Z2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Z2>>>26)|0,Z2&=67108863,V=Math.imul(H0,F0),$=Math.imul(H0,q0),$=$+Math.imul(S0,F0)|0,F=Math.imul(S0,q0),V=V+Math.imul(R0,x0)|0,$=$+Math.imul(R0,u0)|0,$=$+Math.imul(z0,x0)|0,F=F+Math.imul(z0,u0)|0,V=V+Math.imul(t,g0)|0,$=$+Math.imul(t,A0)|0,$=$+Math.imul(Y0,g0)|0,F=F+Math.imul(Y0,A0)|0;var X2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(X2>>>26)|0,X2&=67108863,V=Math.imul(H0,x0),$=Math.imul(H0,u0),$=$+Math.imul(S0,x0)|0,F=Math.imul(S0,u0),V=V+Math.imul(R0,g0)|0,$=$+Math.imul(R0,A0)|0,$=$+Math.imul(z0,g0)|0,F=F+Math.imul(z0,A0)|0;var J2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(J2>>>26)|0,J2&=67108863,V=Math.imul(H0,g0),$=Math.imul(H0,A0),$=$+Math.imul(S0,g0)|0,F=Math.imul(S0,A0);var G2=(M+V|0)+(($&8191)<<13)|0;if(M=(F+($>>>13)|0)+(G2>>>26)|0,G2&=67108863,R[0]=g1,R[1]=I1,R[2]=G1,R[3]=C1,R[4]=M1,R[5]=m1,R[6]=r1,R[7]=n1,R[8]=s1,R[9]=i1,R[10]=a1,R[11]=t1,R[12]=e1,R[13]=U2,R[14]=Q2,R[15]=Z2,R[16]=X2,R[17]=J2,R[18]=G2,M!==0)R[19]=M,O.length++;return O};if(!Math.imul)_=k;function j(I,K,O){O.negative=K.negative^I.negative,O.length=I.length+K.length;var T=0,W=0;for(var R=0;R<O.length-1;R++){var M=W;W=0;var V=T&67108863,$=Math.min(R,K.length-1);for(var F=Math.max(0,R-I.length+1);F<=$;F++){var A=R-F,C=I.words[A]|0,N=K.words[F]|0,f=C*N,b=f&67108863;M=M+(f/67108864|0)|0,b=b+V|0,V=b&67108863,M=M+(b>>>26)|0,W+=M>>>26,M&=67108863}O.words[R]=V,T=M,M=W}if(T!==0)O.words[R]=T;else O.length--;return O.strip()}function B(I,K,O){var T=new y;return T.mulp(I,K,O)}G.prototype.mulTo=function(I,K){var O,T=this.length+I.length;if(this.length===10&&I.length===10)O=_(this,I,K);else if(T<63)O=k(this,I,K);else if(T<1024)O=j(this,I,K);else O=B(this,I,K);return O};function y(I,K){this.x=I,this.y=K}y.prototype.makeRBT=function(I){var K=Array(I),O=G.prototype._countBits(I)-1;for(var T=0;T<I;T++)K[T]=this.revBin(T,O,I);return K},y.prototype.revBin=function(I,K,O){if(I===0||I===O-1)return I;var T=0;for(var W=0;W<K;W++)T|=(I&1)<<K-W-1,I>>=1;return T},y.prototype.permute=function(I,K,O,T,W,R){for(var M=0;M<R;M++)T[M]=K[I[M]],W[M]=O[I[M]]},y.prototype.transform=function(I,K,O,T,W,R){this.permute(R,I,K,O,T,W);for(var M=1;M<W;M<<=1){var V=M<<1,$=Math.cos(2*Math.PI/V),F=Math.sin(2*Math.PI/V);for(var A=0;A<W;A+=V){var C=$,N=F;for(var f=0;f<M;f++){var b=O[A+f],i=T[A+f],D0=O[A+f+M],Q0=T[A+f+M],n=C*D0-N*Q0;if(Q0=C*Q0+N*D0,D0=n,O[A+f]=b+D0,T[A+f]=i+Q0,O[A+f+M]=b-D0,T[A+f+M]=i-Q0,f!==V)n=$*C-F*N,N=$*N+F*C,C=n}}}},y.prototype.guessLen13b=function(I,K){var O=Math.max(K,I)|1,T=O&1,W=0;for(O=O/2|0;O;O=O>>>1)W++;return 1<<W+1+T},y.prototype.conjugate=function(I,K,O){if(O<=1)return;for(var T=0;T<O/2;T++){var W=I[T];I[T]=I[O-T-1],I[O-T-1]=W,W=K[T],K[T]=-K[O-T-1],K[O-T-1]=-W}},y.prototype.normalize13b=function(I,K){var O=0;for(var T=0;T<K/2;T++){var W=Math.round(I[2*T+1]/K)*8192+Math.round(I[2*T]/K)+O;if(I[T]=W&67108863,W<67108864)O=0;else O=W/67108864|0}return I},y.prototype.convert13b=function(I,K,O,T){var W=0;for(var R=0;R<K;R++)W=W+(I[R]|0),O[2*R]=W&8191,W=W>>>13,O[2*R+1]=W&8191,W=W>>>13;for(R=2*K;R<T;++R)O[R]=0;J(W===0),J((W&-8192)===0)},y.prototype.stub=function(I){var K=Array(I);for(var O=0;O<I;O++)K[O]=0;return K},y.prototype.mulp=function(I,K,O){var T=2*this.guessLen13b(I.length,K.length),W=this.makeRBT(T),R=this.stub(T),M=Array(T),V=Array(T),$=Array(T),F=Array(T),A=Array(T),C=Array(T),N=O.words;N.length=T,this.convert13b(I.words,I.length,M,T),this.convert13b(K.words,K.length,F,T),this.transform(M,R,V,$,T,W),this.transform(F,R,A,C,T,W);for(var f=0;f<T;f++){var b=V[f]*A[f]-$[f]*C[f];$[f]=V[f]*C[f]+$[f]*A[f],V[f]=b}return this.conjugate(V,$,T),this.transform(V,$,N,R,T,W),this.conjugate(N,R,T),this.normalize13b(N,T),O.negative=I.negative^K.negative,O.length=I.length+K.length,O.strip()},G.prototype.mul=function(I){var K=new G(null);return K.words=Array(this.length+I.length),this.mulTo(I,K)},G.prototype.mulf=function(I){var K=new G(null);return K.words=Array(this.length+I.length),B(this,I,K)},G.prototype.imul=function(I){return this.clone().mulTo(I,this)},G.prototype.imuln=function(I){J(typeof I==="number"),J(I<67108864);var K=0;for(var O=0;O<this.length;O++){var T=(this.words[O]|0)*I,W=(T&67108863)+(K&67108863);K>>=26,K+=T/67108864|0,K+=W>>>26,this.words[O]=W&67108863}if(K!==0)this.words[O]=K,this.length++;return this.length=I===0?1:this.length,this},G.prototype.muln=function(I){return this.clone().imuln(I)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(I){var K=P(I);if(K.length===0)return new G(1);var O=this;for(var T=0;T<K.length;T++,O=O.sqr())if(K[T]!==0)break;if(++T<K.length)for(var W=O.sqr();T<K.length;T++,W=W.sqr()){if(K[T]===0)continue;O=O.mul(W)}return O},G.prototype.iushln=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=67108863>>>26-K<<26-K,W;if(K!==0){var R=0;for(W=0;W<this.length;W++){var M=this.words[W]&T,V=(this.words[W]|0)-M<<K;this.words[W]=V|R,R=M>>>26-K}if(R)this.words[W]=R,this.length++}if(O!==0){for(W=this.length-1;W>=0;W--)this.words[W+O]=this.words[W];for(W=0;W<O;W++)this.words[W]=0;this.length+=O}return this.strip()},G.prototype.ishln=function(I){return J(this.negative===0),this.iushln(I)},G.prototype.iushrn=function(I,K,O){J(typeof I==="number"&&I>=0);var T;if(K)T=(K-K%26)/26;else T=0;var W=I%26,R=Math.min((I-W)/26,this.length),M=67108863^67108863>>>W<<W,V=O;if(T-=R,T=Math.max(0,T),V){for(var $=0;$<R;$++)V.words[$]=this.words[$];V.length=R}if(R===0);else if(this.length>R){this.length-=R;for($=0;$<this.length;$++)this.words[$]=this.words[$+R]}else this.words[0]=0,this.length=1;var F=0;for($=this.length-1;$>=0&&(F!==0||$>=T);$--){var A=this.words[$]|0;this.words[$]=F<<26-W|A>>>W,F=A&M}if(V&&F!==0)V.words[V.length++]=F;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},G.prototype.ishrn=function(I,K,O){return J(this.negative===0),this.iushrn(I,K,O)},G.prototype.shln=function(I){return this.clone().ishln(I)},G.prototype.ushln=function(I){return this.clone().iushln(I)},G.prototype.shrn=function(I){return this.clone().ishrn(I)},G.prototype.ushrn=function(I){return this.clone().iushrn(I)},G.prototype.testn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return!1;var W=this.words[O];return!!(W&T)},G.prototype.imaskn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26;if(J(this.negative===0,"imaskn works only with positive numbers"),this.length<=O)return this;if(K!==0)O++;if(this.length=Math.min(O,this.length),K!==0){var T=67108863^67108863>>>K<<K;this.words[this.length-1]&=T}return this.strip()},G.prototype.maskn=function(I){return this.clone().imaskn(I)},G.prototype.iaddn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.isubn(-I);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<I)return this.words[0]=I-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(I),this.negative=1,this}return this._iaddn(I)},G.prototype._iaddn=function(I){this.words[0]+=I;for(var K=0;K<this.length&&this.words[K]>=67108864;K++)if(this.words[K]-=67108864,K===this.length-1)this.words[K+1]=1;else this.words[K+1]++;return this.length=Math.max(this.length,K+1),this},G.prototype.isubn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.iaddn(-I);if(this.negative!==0)return this.negative=0,this.iaddn(I),this.negative=1,this;if(this.words[0]-=I,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var K=0;K<this.length&&this.words[K]<0;K++)this.words[K]+=67108864,this.words[K+1]-=1;return this.strip()},G.prototype.addn=function(I){return this.clone().iaddn(I)},G.prototype.subn=function(I){return this.clone().isubn(I)},G.prototype.iabs=function(){return this.negative=0,this},G.prototype.abs=function(){return this.clone().iabs()},G.prototype._ishlnsubmul=function(I,K,O){var T=I.length+O,W;this._expand(T);var R,M=0;for(W=0;W<I.length;W++){R=(this.words[W+O]|0)+M;var V=(I.words[W]|0)*K;R-=V&67108863,M=(R>>26)-(V/67108864|0),this.words[W+O]=R&67108863}for(;W<this.length-O;W++)R=(this.words[W+O]|0)+M,M=R>>26,this.words[W+O]=R&67108863;if(M===0)return this.strip();J(M===-1),M=0;for(W=0;W<this.length;W++)R=-(this.words[W]|0)+M,M=R>>26,this.words[W]=R&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(I,K){var O=this.length-I.length,T=this.clone(),W=I,R=W.words[W.length-1]|0,M=this._countBits(R);if(O=26-M,O!==0)W=W.ushln(O),T.iushln(O),R=W.words[W.length-1]|0;var V=T.length-W.length,$;if(K!=="mod"){$=new G(null),$.length=V+1,$.words=Array($.length);for(var F=0;F<$.length;F++)$.words[F]=0}var A=T.clone()._ishlnsubmul(W,1,V);if(A.negative===0){if(T=A,$)$.words[V]=1}for(var C=V-1;C>=0;C--){var N=(T.words[W.length+C]|0)*67108864+(T.words[W.length+C-1]|0);N=Math.min(N/R|0,67108863),T._ishlnsubmul(W,N,C);while(T.negative!==0)if(N--,T.negative=0,T._ishlnsubmul(W,1,C),!T.isZero())T.negative^=1;if($)$.words[C]=N}if($)$.strip();if(T.strip(),K!=="div"&&O!==0)T.iushrn(O);return{div:$||null,mod:T}},G.prototype.divmod=function(I,K,O){if(J(!I.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var T,W,R;if(this.negative!==0&&I.negative===0){if(R=this.neg().divmod(I,K),K!=="mod")T=R.div.neg();if(K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.iadd(I)}return{div:T,mod:W}}if(this.negative===0&&I.negative!==0){if(R=this.divmod(I.neg(),K),K!=="mod")T=R.div.neg();return{div:T,mod:R.mod}}if((this.negative&I.negative)!==0){if(R=this.neg().divmod(I.neg(),K),K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.isub(I)}return{div:R.div,mod:W}}if(I.length>this.length||this.cmp(I)<0)return{div:new G(0),mod:this};if(I.length===1){if(K==="div")return{div:this.divn(I.words[0]),mod:null};if(K==="mod")return{div:null,mod:new G(this.modn(I.words[0]))};return{div:this.divn(I.words[0]),mod:new G(this.modn(I.words[0]))}}return this._wordDiv(I,K)},G.prototype.div=function(I){return this.divmod(I,"div",!1).div},G.prototype.mod=function(I){return this.divmod(I,"mod",!1).mod},G.prototype.umod=function(I){return this.divmod(I,"mod",!0).mod},G.prototype.divRound=function(I){var K=this.divmod(I);if(K.mod.isZero())return K.div;var O=K.div.negative!==0?K.mod.isub(I):K.mod,T=I.ushrn(1),W=I.andln(1),R=O.cmp(T);if(R<0||W===1&&R===0)return K.div;return K.div.negative!==0?K.div.isubn(1):K.div.iaddn(1)},G.prototype.modn=function(I){J(I<=67108863);var K=67108864%I,O=0;for(var T=this.length-1;T>=0;T--)O=(K*O+(this.words[T]|0))%I;return O},G.prototype.idivn=function(I){J(I<=67108863);var K=0;for(var O=this.length-1;O>=0;O--){var T=(this.words[O]|0)+K*67108864;this.words[O]=T/I|0,K=T%I}return this.strip()},G.prototype.divn=function(I){return this.clone().idivn(I)},G.prototype.egcd=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=new G(0),M=new G(1),V=0;while(K.isEven()&&O.isEven())K.iushrn(1),O.iushrn(1),++V;var $=O.clone(),F=K.clone();while(!K.isZero()){for(var A=0,C=1;(K.words[0]&C)===0&&A<26;++A,C<<=1);if(A>0){K.iushrn(A);while(A-- >0){if(T.isOdd()||W.isOdd())T.iadd($),W.isub(F);T.iushrn(1),W.iushrn(1)}}for(var N=0,f=1;(O.words[0]&f)===0&&N<26;++N,f<<=1);if(N>0){O.iushrn(N);while(N-- >0){if(R.isOdd()||M.isOdd())R.iadd($),M.isub(F);R.iushrn(1),M.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(R),W.isub(M);else O.isub(K),R.isub(T),M.isub(W)}return{a:R,b:M,gcd:O.iushln(V)}},G.prototype._invmp=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=O.clone();while(K.cmpn(1)>0&&O.cmpn(1)>0){for(var M=0,V=1;(K.words[0]&V)===0&&M<26;++M,V<<=1);if(M>0){K.iushrn(M);while(M-- >0){if(T.isOdd())T.iadd(R);T.iushrn(1)}}for(var $=0,F=1;(O.words[0]&F)===0&&$<26;++$,F<<=1);if($>0){O.iushrn($);while($-- >0){if(W.isOdd())W.iadd(R);W.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(W);else O.isub(K),W.isub(T)}var A;if(K.cmpn(1)===0)A=T;else A=W;if(A.cmpn(0)<0)A.iadd(I);return A},G.prototype.gcd=function(I){if(this.isZero())return I.abs();if(I.isZero())return this.abs();var K=this.clone(),O=I.clone();K.negative=0,O.negative=0;for(var T=0;K.isEven()&&O.isEven();T++)K.iushrn(1),O.iushrn(1);do{while(K.isEven())K.iushrn(1);while(O.isEven())O.iushrn(1);var W=K.cmp(O);if(W<0){var R=K;K=O,O=R}else if(W===0||O.cmpn(1)===0)break;K.isub(O)}while(!0);return O.iushln(T)},G.prototype.invm=function(I){return this.egcd(I).a.umod(I)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(I){return this.words[0]&I},G.prototype.bincn=function(I){J(typeof I==="number");var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return this._expand(O+1),this.words[O]|=T,this;var W=T;for(var R=O;W!==0&&R<this.length;R++){var M=this.words[R]|0;M+=W,W=M>>>26,M&=67108863,this.words[R]=M}if(W!==0)this.words[R]=W,this.length++;return this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(I){var K=I<0;if(this.negative!==0&&!K)return-1;if(this.negative===0&&K)return 1;this.strip();var O;if(this.length>1)O=1;else{if(K)I=-I;J(I<=67108863,"Number is too big");var T=this.words[0]|0;O=T===I?0:T<I?-1:1}if(this.negative!==0)return-O|0;return O},G.prototype.cmp=function(I){if(this.negative!==0&&I.negative===0)return-1;if(this.negative===0&&I.negative!==0)return 1;var K=this.ucmp(I);if(this.negative!==0)return-K|0;return K},G.prototype.ucmp=function(I){if(this.length>I.length)return 1;if(this.length<I.length)return-1;var K=0;for(var O=this.length-1;O>=0;O--){var T=this.words[O]|0,W=I.words[O]|0;if(T===W)continue;if(T<W)K=-1;else if(T>W)K=1;break}return K},G.prototype.gtn=function(I){return this.cmpn(I)===1},G.prototype.gt=function(I){return this.cmp(I)===1},G.prototype.gten=function(I){return this.cmpn(I)>=0},G.prototype.gte=function(I){return this.cmp(I)>=0},G.prototype.ltn=function(I){return this.cmpn(I)===-1},G.prototype.lt=function(I){return this.cmp(I)===-1},G.prototype.lten=function(I){return this.cmpn(I)<=0},G.prototype.lte=function(I){return this.cmp(I)<=0},G.prototype.eqn=function(I){return this.cmpn(I)===0},G.prototype.eq=function(I){return this.cmp(I)===0},G.red=function(I){return new d(I)},G.prototype.toRed=function(I){return J(!this.red,"Already a number in reduction context"),J(this.negative===0,"red works only with positives"),I.convertTo(this)._forceRed(I)},G.prototype.fromRed=function(){return J(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(I){return this.red=I,this},G.prototype.forceRed=function(I){return J(!this.red,"Already a number in reduction context"),this._forceRed(I)},G.prototype.redAdd=function(I){return J(this.red,"redAdd works only with red numbers"),this.red.add(this,I)},G.prototype.redIAdd=function(I){return J(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,I)},G.prototype.redSub=function(I){return J(this.red,"redSub works only with red numbers"),this.red.sub(this,I)},G.prototype.redISub=function(I){return J(this.red,"redISub works only with red numbers"),this.red.isub(this,I)},G.prototype.redShl=function(I){return J(this.red,"redShl works only with red numbers"),this.red.shl(this,I)},G.prototype.redMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.mul(this,I)},G.prototype.redIMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.imul(this,I)},G.prototype.redSqr=function(){return J(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return J(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return J(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return J(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return J(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(I){return J(this.red&&!I.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,I)};var x={k256:null,p224:null,p192:null,p25519:null};function h(I,K){this.name=I,this.p=new G(K,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}h.prototype._tmp=function(){var I=new G(null);return I.words=Array(Math.ceil(this.n/13)),I},h.prototype.ireduce=function(I){var K=I,O;do this.split(K,this.tmp),K=this.imulK(K),K=K.iadd(this.tmp),O=K.bitLength();while(O>this.n);var T=O<this.n?-1:K.ucmp(this.p);if(T===0)K.words[0]=0,K.length=1;else if(T>0)K.isub(this.p);else if(K.strip!==void 0)K.strip();else K._strip();return K},h.prototype.split=function(I,K){I.iushrn(this.n,0,K)},h.prototype.imulK=function(I){return I.imul(this.k)};function r(){h.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Y(r,h),r.prototype.split=function(I,K){var O=4194303,T=Math.min(I.length,9);for(var W=0;W<T;W++)K.words[W]=I.words[W];if(K.length=T,I.length<=9){I.words[0]=0,I.length=1;return}var R=I.words[9];K.words[K.length++]=R&O;for(W=10;W<I.length;W++){var M=I.words[W]|0;I.words[W-10]=(M&O)<<4|R>>>22,R=M}if(R>>>=22,I.words[W-10]=R,R===0&&I.length>10)I.length-=10;else I.length-=9},r.prototype.imulK=function(I){I.words[I.length]=0,I.words[I.length+1]=0,I.length+=2;var K=0;for(var O=0;O<I.length;O++){var T=I.words[O]|0;K+=T*977,I.words[O]=K&67108863,K=T*64+(K/67108864|0)}if(I.words[I.length-1]===0){if(I.length--,I.words[I.length-1]===0)I.length--}return I};function T0(){h.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}Y(T0,h);function L0(){h.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}Y(L0,h);function I0(){h.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}Y(I0,h),I0.prototype.imulK=function(I){var K=0;for(var O=0;O<I.length;O++){var T=(I.words[O]|0)*19+K,W=T&67108863;T>>>=26,I.words[O]=W,K=T}if(K!==0)I.words[I.length++]=K;return I},G._prime=function(I){if(x[I])return x[I];var K;if(I==="k256")K=new r;else if(I==="p224")K=new T0;else if(I==="p192")K=new L0;else if(I==="p25519")K=new I0;else throw Error("Unknown prime "+I);return x[I]=K,K};function d(I){if(typeof I==="string"){var K=G._prime(I);this.m=K.p,this.prime=K}else J(I.gtn(1),"modulus must be greater than 1"),this.m=I,this.prime=null}d.prototype._verify1=function(I){J(I.negative===0,"red works only with positives"),J(I.red,"red works only with red numbers")},d.prototype._verify2=function(I,K){J((I.negative|K.negative)===0,"red works only with positives"),J(I.red&&I.red===K.red,"red works only with red numbers")},d.prototype.imod=function(I){if(this.prime)return this.prime.ireduce(I)._forceRed(this);return I.umod(this.m)._forceRed(this)},d.prototype.neg=function(I){if(I.isZero())return I.clone();return this.m.sub(I)._forceRed(this)},d.prototype.add=function(I,K){this._verify2(I,K);var O=I.add(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O._forceRed(this)},d.prototype.iadd=function(I,K){this._verify2(I,K);var O=I.iadd(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O},d.prototype.sub=function(I,K){this._verify2(I,K);var O=I.sub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O._forceRed(this)},d.prototype.isub=function(I,K){this._verify2(I,K);var O=I.isub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O},d.prototype.shl=function(I,K){return this._verify1(I),this.imod(I.ushln(K))},d.prototype.imul=function(I,K){return this._verify2(I,K),this.imod(I.imul(K))},d.prototype.mul=function(I,K){return this._verify2(I,K),this.imod(I.mul(K))},d.prototype.isqr=function(I){return this.imul(I,I.clone())},d.prototype.sqr=function(I){return this.mul(I,I)},d.prototype.sqrt=function(I){if(I.isZero())return I.clone();var K=this.m.andln(3);if(J(K%2===1),K===3){var O=this.m.add(new G(1)).iushrn(2);return this.pow(I,O)}var T=this.m.subn(1),W=0;while(!T.isZero()&&T.andln(1)===0)W++,T.iushrn(1);J(!T.isZero());var R=new G(1).toRed(this),M=R.redNeg(),V=this.m.subn(1).iushrn(1),$=this.m.bitLength();$=new G(2*$*$).toRed(this);while(this.pow($,V).cmp(M)!==0)$.redIAdd(M);var F=this.pow($,T),A=this.pow(I,T.addn(1).iushrn(1)),C=this.pow(I,T),N=W;while(C.cmp(R)!==0){var f=C;for(var b=0;f.cmp(R)!==0;b++)f=f.redSqr();J(b<N);var i=this.pow(F,new G(1).iushln(N-b-1));A=A.redMul(i),F=i.redSqr(),C=C.redMul(F),N=b}return A},d.prototype.invm=function(I){var K=I._invmp(this.m);if(K.negative!==0)return K.negative=0,this.imod(K).redNeg();else return this.imod(K)},d.prototype.pow=function(I,K){if(K.isZero())return new G(1).toRed(this);if(K.cmpn(1)===0)return I.clone();var O=4,T=Array(1<<O);T[0]=new G(1).toRed(this),T[1]=I;for(var W=2;W<T.length;W++)T[W]=this.mul(T[W-1],I);var R=T[0],M=0,V=0,$=K.bitLength()%26;if($===0)$=26;for(W=K.length-1;W>=0;W--){var F=K.words[W];for(var A=$-1;A>=0;A--){var C=F>>A&1;if(R!==T[0])R=this.sqr(R);if(C===0&&M===0){V=0;continue}if(M<<=1,M|=C,V++,V!==O&&(W!==0||A!==0))continue;R=this.mul(R,T[M]),V=0,M=0}$=26}return R},d.prototype.convertTo=function(I){var K=I.umod(this.m);return K===I?K.clone():K},d.prototype.convertFrom=function(I){var K=I.clone();return K.red=null,K},G.mont=function(I){return new J0(I)};function J0(I){if(d.call(this,I),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Y(J0,d),J0.prototype.convertTo=function(I){return this.imod(I.ushln(this.shift))},J0.prototype.convertFrom=function(I){var K=this.imod(I.mul(this.rinv));return K.red=null,K},J0.prototype.imul=function(I,K){if(I.isZero()||K.isZero())return I.words[0]=0,I.length=1,I;var O=I.imul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.mul=function(I,K){if(I.isZero()||K.isZero())return new G(0)._forceRed(this);var O=I.mul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.invm=function(I){var K=this.imod(I._invmp(this.m).mul(this.r2));return K._forceRed(this)}})(typeof Q>"u"||Q,U)}),RL=O0((U)=>{var Q=I5(),Z=o2(),X=U;X.define=function(Y,G){return new J(Y,G)};function J(Y,G){this.name=Y,this.body=G,this.decoders={},this.encoders={}}J.prototype._createNamed=function(Y){var G;try{G=(()=>{throw new Error("Cannot require module "+"vm");})().runInThisContext("(function "+this.name+`(entity) {
|
|
12
|
+
this._initNamed(entity);
|
|
13
|
+
})`)}catch(L){G=function(z){this._initNamed(z)}}return Z(G,Y),G.prototype._initNamed=function(L){Y.call(this,L)},new G(this)},J.prototype._getDecoder=function(Y){if(Y=Y||"der",!this.decoders.hasOwnProperty(Y))this.decoders[Y]=this._createNamed(Q.decoders[Y]);return this.decoders[Y]},J.prototype.decode=function(Y,G,L){return this._getDecoder(G).decode(Y,L)},J.prototype._getEncoder=function(Y){if(Y=Y||"der",!this.encoders.hasOwnProperty(Y))this.encoders[Y]=this._createNamed(Q.encoders[Y]);return this.encoders[Y]},J.prototype.encode=function(Y,G,L){return this._getEncoder(G).encode(Y,L)}}),zL=O0((U)=>{var Q=o2();function Z(J){this._reporterState={obj:null,path:[],options:J||{},errors:[]}}U.Reporter=Z,Z.prototype.isError=function(J){return J instanceof X},Z.prototype.save=function(){var J=this._reporterState;return{obj:J.obj,pathLen:J.path.length}},Z.prototype.restore=function(J){var Y=this._reporterState;Y.obj=J.obj,Y.path=Y.path.slice(0,J.pathLen)},Z.prototype.enterKey=function(J){return this._reporterState.path.push(J)},Z.prototype.exitKey=function(J){var Y=this._reporterState;Y.path=Y.path.slice(0,J-1)},Z.prototype.leaveKey=function(J,Y,G){var L=this._reporterState;if(this.exitKey(J),L.obj!==null)L.obj[Y]=G},Z.prototype.path=function(){return this._reporterState.path.join("/")},Z.prototype.enterObject=function(){var J=this._reporterState,Y=J.obj;return J.obj={},Y},Z.prototype.leaveObject=function(J){var Y=this._reporterState,G=Y.obj;return Y.obj=J,G},Z.prototype.error=function(J){var Y,G=this._reporterState,L=J instanceof X;if(L)Y=J;else Y=new X(G.path.map(function(z){return"["+JSON.stringify(z)+"]"}).join(""),J.message||J,J.stack);if(!G.options.partial)throw Y;if(!L)G.errors.push(Y);return Y},Z.prototype.wrapResult=function(J){var Y=this._reporterState;if(!Y.options.partial)return J;return{result:this.isError(J)?null:J,errors:Y.errors}};function X(J,Y){this.path=J,this.rethrow(Y)}Q(X,Error),X.prototype.rethrow=function(J){if(this.message=J+" at: "+(this.path||"(shallow)"),Error.captureStackTrace)Error.captureStackTrace(this,X);if(!this.stack)try{throw Error(this.message)}catch(Y){this.stack=Y.stack}return this}}),rI=O0((U)=>{var Q=o2(),Z=Q5().Reporter,X=(V2(),L1(L2)).Buffer;function J(G,L){if(Z.call(this,L),!X.isBuffer(G)){this.error("Input not Buffer");return}this.base=G,this.offset=0,this.length=G.length}Q(J,Z),U.DecoderBuffer=J,J.prototype.save=function(){return{offset:this.offset,reporter:Z.prototype.save.call(this)}},J.prototype.restore=function(G){var L=new J(this.base);return L.offset=G.offset,L.length=this.offset,this.offset=G.offset,Z.prototype.restore.call(this,G.reporter),L},J.prototype.isEmpty=function(){return this.offset===this.length},J.prototype.readUInt8=function(G){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,!0);else return this.error(G||"DecoderBuffer overrun")},J.prototype.skip=function(G,L){if(!(this.offset+G<=this.length))return this.error(L||"DecoderBuffer overrun");var z=new J(this.base);return z._reporterState=this._reporterState,z.offset=this.offset,z.length=this.offset+G,this.offset+=G,z},J.prototype.raw=function(G){return this.base.slice(G?G.offset:this.offset,this.length)};function Y(G,L){if(Array.isArray(G))this.length=0,this.value=G.map(function(z){if(!(z instanceof Y))z=new Y(z,L);return this.length+=z.length,z},this);else if(typeof G==="number"){if(!(0<=G&&G<=255))return L.error("non-byte EncoderBuffer value");this.value=G,this.length=1}else if(typeof G==="string")this.value=G,this.length=X.byteLength(G);else if(X.isBuffer(G))this.value=G,this.length=G.length;else return L.error("Unsupported type: "+typeof G)}U.EncoderBuffer=Y,Y.prototype.join=function(G,L){if(!G)G=new X(this.length);if(!L)L=0;if(this.length===0)return G;if(Array.isArray(this.value))this.value.forEach(function(z){z.join(G,L),L+=z.length});else{if(typeof this.value==="number")G[L]=this.value;else if(typeof this.value==="string")G.write(this.value,L);else if(X.isBuffer(this.value))this.value.copy(G,L);L+=this.length}return G}}),SL=O0((U,Q)=>{var Z=Q5().Reporter,X=Q5().EncoderBuffer,J=Q5().DecoderBuffer,Y=m6(),G=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],L=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(G),z=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function D(H,q){var E={};if(this._baseState=E,E.enc=H,E.parent=q||null,E.children=null,E.tag=null,E.args=null,E.reverseArgs=null,E.choice=null,E.optional=!1,E.any=!1,E.obj=!1,E.use=null,E.useDecoder=null,E.key=null,E.default=null,E.explicit=null,E.implicit=null,E.contains=null,!E.parent)E.children=[],this._wrap()}Q.exports=D;var S=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];D.prototype.clone=function(){var H=this._baseState,q={};S.forEach(function(P){q[P]=H[P]});var E=new this.constructor(q.parent);return E._baseState=q,E},D.prototype._wrap=function(){var H=this._baseState;L.forEach(function(q){this[q]=function(){var E=new this.constructor(this);return H.children.push(E),E[q].apply(E,arguments)}},this)},D.prototype._init=function(H){var q=this._baseState;Y(q.parent===null),H.call(this),q.children=q.children.filter(function(E){return E._baseState.parent===this},this),Y.equal(q.children.length,1,"Root node can have only one child")},D.prototype._useArgs=function(H){var q=this._baseState,E=H.filter(function(P){return P instanceof this.constructor},this);if(H=H.filter(function(P){return!(P instanceof this.constructor)},this),E.length!==0)Y(q.children===null),q.children=E,E.forEach(function(P){P._baseState.parent=this},this);if(H.length!==0)Y(q.args===null),q.args=H,q.reverseArgs=H.map(function(P){if(typeof P!=="object"||P.constructor!==Object)return P;var k={};return Object.keys(P).forEach(function(_){if(_==(_|0))_|=0;var j=P[_];k[j]=_}),k})},z.forEach(function(H){D.prototype[H]=function(){var q=this._baseState;throw Error(H+" not implemented for encoding: "+q.enc)}}),G.forEach(function(H){D.prototype[H]=function(){var q=this._baseState,E=Array.prototype.slice.call(arguments);return Y(q.tag===null),q.tag=H,this._useArgs(E),this}}),D.prototype.use=function(H){Y(H);var q=this._baseState;return Y(q.use===null),q.use=H,this},D.prototype.optional=function(){var H=this._baseState;return H.optional=!0,this},D.prototype.def=function(H){var q=this._baseState;return Y(q.default===null),q.default=H,q.optional=!0,this},D.prototype.explicit=function(H){var q=this._baseState;return Y(q.explicit===null&&q.implicit===null),q.explicit=H,this},D.prototype.implicit=function(H){var q=this._baseState;return Y(q.explicit===null&&q.implicit===null),q.implicit=H,this},D.prototype.obj=function(){var H=this._baseState,q=Array.prototype.slice.call(arguments);if(H.obj=!0,q.length!==0)this._useArgs(q);return this},D.prototype.key=function(H){var q=this._baseState;return Y(q.key===null),q.key=H,this},D.prototype.any=function(){var H=this._baseState;return H.any=!0,this},D.prototype.choice=function(H){var q=this._baseState;return Y(q.choice===null),q.choice=H,this._useArgs(Object.keys(H).map(function(E){return H[E]})),this},D.prototype.contains=function(H){var q=this._baseState;return Y(q.use===null),q.contains=H,this},D.prototype._decode=function(H,q){var E=this._baseState;if(E.parent===null)return H.wrapResult(E.children[0]._decode(H,q));var P=E.default,k=!0,_=null;if(E.key!==null)_=H.enterKey(E.key);if(E.optional){var j=null;if(E.explicit!==null)j=E.explicit;else if(E.implicit!==null)j=E.implicit;else if(E.tag!==null)j=E.tag;if(j===null&&!E.any){var B=H.save();try{if(E.choice===null)this._decodeGeneric(E.tag,H,q);else this._decodeChoice(H,q);k=!0}catch(L0){k=!1}H.restore(B)}else if(k=this._peekTag(H,j,E.any),H.isError(k))return k}var y;if(E.obj&&k)y=H.enterObject();if(k){if(E.explicit!==null){var x=this._decodeTag(H,E.explicit);if(H.isError(x))return x;H=x}var h=H.offset;if(E.use===null&&E.choice===null){if(E.any)var B=H.save();var r=this._decodeTag(H,E.implicit!==null?E.implicit:E.tag,E.any);if(H.isError(r))return r;if(E.any)P=H.raw(B);else H=r}if(q&&q.track&&E.tag!==null)q.track(H.path(),h,H.length,"tagged");if(q&&q.track&&E.tag!==null)q.track(H.path(),H.offset,H.length,"content");if(E.any)P=P;else if(E.choice===null)P=this._decodeGeneric(E.tag,H,q);else P=this._decodeChoice(H,q);if(H.isError(P))return P;if(!E.any&&E.choice===null&&E.children!==null)E.children.forEach(function(L0){L0._decode(H,q)});if(E.contains&&(E.tag==="octstr"||E.tag==="bitstr")){var T0=new J(P);P=this._getUse(E.contains,H._reporterState.obj)._decode(T0,q)}}if(E.obj&&k)P=H.leaveObject(y);if(E.key!==null&&(P!==null||k===!0))H.leaveKey(_,E.key,P);else if(_!==null)H.exitKey(_);return P},D.prototype._decodeGeneric=function(H,q,E){var P=this._baseState;if(H==="seq"||H==="set")return null;if(H==="seqof"||H==="setof")return this._decodeList(q,H,P.args[0],E);else if(/str$/.test(H))return this._decodeStr(q,H,E);else if(H==="objid"&&P.args)return this._decodeObjid(q,P.args[0],P.args[1],E);else if(H==="objid")return this._decodeObjid(q,null,null,E);else if(H==="gentime"||H==="utctime")return this._decodeTime(q,H,E);else if(H==="null_")return this._decodeNull(q,E);else if(H==="bool")return this._decodeBool(q,E);else if(H==="objDesc")return this._decodeStr(q,H,E);else if(H==="int"||H==="enum")return this._decodeInt(q,P.args&&P.args[0],E);if(P.use!==null)return this._getUse(P.use,q._reporterState.obj)._decode(q,E);else return q.error("unknown tag: "+H)},D.prototype._getUse=function(H,q){var E=this._baseState;if(E.useDecoder=this._use(H,q),Y(E.useDecoder._baseState.parent===null),E.useDecoder=E.useDecoder._baseState.children[0],E.implicit!==E.useDecoder._baseState.implicit)E.useDecoder=E.useDecoder.clone(),E.useDecoder._baseState.implicit=E.implicit;return E.useDecoder},D.prototype._decodeChoice=function(H,q){var E=this._baseState,P=null,k=!1;if(Object.keys(E.choice).some(function(_){var j=H.save(),B=E.choice[_];try{var y=B._decode(H,q);if(H.isError(y))return!1;P={type:_,value:y},k=!0}catch(x){return H.restore(j),!1}return!0},this),!k)return H.error("Choice not matched");return P},D.prototype._createEncoderBuffer=function(H){return new X(H,this.reporter)},D.prototype._encode=function(H,q,E){var P=this._baseState;if(P.default!==null&&P.default===H)return;var k=this._encodeValue(H,q,E);if(k===void 0)return;if(this._skipDefault(k,q,E))return;return k},D.prototype._encodeValue=function(H,q,E){var P=this._baseState;if(P.parent===null)return P.children[0]._encode(H,q||new Z);var B=null;if(this.reporter=q,P.optional&&H===void 0)if(P.default!==null)H=P.default;else return;var k=null,_=!1;if(P.any)B=this._createEncoderBuffer(H);else if(P.choice)B=this._encodeChoice(H,q);else if(P.contains)k=this._getUse(P.contains,E)._encode(H,q),_=!0;else if(P.children)k=P.children.map(function(h){if(h._baseState.tag==="null_")return h._encode(null,q,H);if(h._baseState.key===null)return q.error("Child should have a key");var r=q.enterKey(h._baseState.key);if(typeof H!=="object")return q.error("Child expected, but input is not object");var T0=h._encode(H[h._baseState.key],q,H);return q.leaveKey(r),T0},this).filter(function(h){return h}),k=this._createEncoderBuffer(k);else if(P.tag==="seqof"||P.tag==="setof"){if(!(P.args&&P.args.length===1))return q.error("Too many args for : "+P.tag);if(!Array.isArray(H))return q.error("seqof/setof, but data is not Array");var j=this.clone();j._baseState.implicit=null,k=this._createEncoderBuffer(H.map(function(h){var r=this._baseState;return this._getUse(r.args[0],H)._encode(h,q)},j))}else if(P.use!==null)B=this._getUse(P.use,E)._encode(H,q);else k=this._encodePrimitive(P.tag,H),_=!0;var B;if(!P.any&&P.choice===null){var y=P.implicit!==null?P.implicit:P.tag,x=P.implicit===null?"universal":"context";if(y===null){if(P.use===null)q.error("Tag could be omitted only for .use()")}else if(P.use===null)B=this._encodeComposite(y,_,x,k)}if(P.explicit!==null)B=this._encodeComposite(P.explicit,!1,"context",B);return B},D.prototype._encodeChoice=function(H,q){var E=this._baseState,P=E.choice[H.type];if(!P)Y(!1,H.type+" not found in "+JSON.stringify(Object.keys(E.choice)));return P._encode(H.value,q)},D.prototype._encodePrimitive=function(H,q){var E=this._baseState;if(/str$/.test(H))return this._encodeStr(q,H);else if(H==="objid"&&E.args)return this._encodeObjid(q,E.reverseArgs[0],E.args[1]);else if(H==="objid")return this._encodeObjid(q,null,null);else if(H==="gentime"||H==="utctime")return this._encodeTime(q,H);else if(H==="null_")return this._encodeNull();else if(H==="int"||H==="enum")return this._encodeInt(q,E.args&&E.reverseArgs[0]);else if(H==="bool")return this._encodeBool(q);else if(H==="objDesc")return this._encodeStr(q,H);else throw Error("Unsupported tag: "+H)},D.prototype._isNumstr=function(H){return/^[0-9 ]*$/.test(H)},D.prototype._isPrintstr=function(H){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(H)}}),Q5=O0((U)=>{var Q=U;Q.Reporter=zL().Reporter,Q.DecoderBuffer=rI().DecoderBuffer,Q.EncoderBuffer=rI().EncoderBuffer,Q.Node=SL()}),ML=O0((U)=>{var Q=O$();U.tagClass={0:"universal",1:"application",2:"context",3:"private"},U.tagClassByName=Q._reverse(U.tagClass),U.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},U.tagByName=Q._reverse(U.tag)}),O$=O0((U)=>{var Q=U;Q._reverse=function(Z){var X={};return Object.keys(Z).forEach(function(J){if((J|0)==J)J=J|0;var Y=Z[J];X[Y]=J}),X},Q.der=ML()}),L$=O0((U,Q)=>{var Z=o2(),X=I5(),J=X.base,Y=X.bignum,G=X.constants.der;function L(H){this.enc="der",this.name=H.name,this.entity=H,this.tree=new z,this.tree._init(H.body)}Q.exports=L,L.prototype.decode=function(H,q){if(!(H instanceof J.DecoderBuffer))H=new J.DecoderBuffer(H,q);return this.tree._decode(H,q)};function z(H){J.Node.call(this,"der",H)}Z(z,J.Node),z.prototype._peekTag=function(H,q,E){if(H.isEmpty())return!1;var P=H.save(),k=D(H,'Failed to peek tag: "'+q+'"');if(H.isError(k))return k;return H.restore(P),k.tag===q||k.tagStr===q||k.tagStr+"of"===q||E},z.prototype._decodeTag=function(H,q,E){var P=D(H,'Failed to decode tag of "'+q+'"');if(H.isError(P))return P;var k=S(H,P.primitive,'Failed to get length of "'+q+'"');if(H.isError(k))return k;if(!E&&P.tag!==q&&P.tagStr!==q&&P.tagStr+"of"!==q)return H.error('Failed to match tag: "'+q+'"');if(P.primitive||k!==null)return H.skip(k,'Failed to match body of: "'+q+'"');var _=H.save(),j=this._skipUntilEnd(H,'Failed to skip indefinite length body: "'+this.tag+'"');if(H.isError(j))return j;return k=H.offset-_.offset,H.restore(_),H.skip(k,'Failed to match body of: "'+q+'"')},z.prototype._skipUntilEnd=function(H,q){while(!0){var E=D(H,q);if(H.isError(E))return E;var P=S(H,E.primitive,q);if(H.isError(P))return P;var k;if(E.primitive||P!==null)k=H.skip(P);else k=this._skipUntilEnd(H,q);if(H.isError(k))return k;if(E.tagStr==="end")break}},z.prototype._decodeList=function(H,q,E,P){var k=[];while(!H.isEmpty()){var _=this._peekTag(H,"end");if(H.isError(_))return _;var j=E.decode(H,"der",P);if(H.isError(j)&&_)break;k.push(j)}return k},z.prototype._decodeStr=function(H,q){if(q==="bitstr"){var E=H.readUInt8();if(H.isError(E))return E;return{unused:E,data:H.raw()}}else if(q==="bmpstr"){var P=H.raw();if(P.length%2===1)return H.error("Decoding of string type: bmpstr length mismatch");var k="";for(var _=0;_<P.length/2;_++)k+=String.fromCharCode(P.readUInt16BE(_*2));return k}else if(q==="numstr"){var j=H.raw().toString("ascii");if(!this._isNumstr(j))return H.error("Decoding of string type: numstr unsupported characters");return j}else if(q==="octstr")return H.raw();else if(q==="objDesc")return H.raw();else if(q==="printstr"){var B=H.raw().toString("ascii");if(!this._isPrintstr(B))return H.error("Decoding of string type: printstr unsupported characters");return B}else if(/str$/.test(q))return H.raw().toString();else return H.error("Decoding of string type: "+q+" unsupported")},z.prototype._decodeObjid=function(H,q,E){var P,k=[],_=0;while(!H.isEmpty()){var j=H.readUInt8();if(_<<=7,_|=j&127,(j&128)===0)k.push(_),_=0}if(j&128)k.push(_);var B=k[0]/40|0,y=k[0]%40;if(E)P=k;else P=[B,y].concat(k.slice(1));if(q){var x=q[P.join(" ")];if(x===void 0)x=q[P.join(".")];if(x!==void 0)P=x}return P},z.prototype._decodeTime=function(H,q){var E=H.raw().toString();if(q==="gentime")var P=E.slice(0,4)|0,k=E.slice(4,6)|0,_=E.slice(6,8)|0,j=E.slice(8,10)|0,B=E.slice(10,12)|0,y=E.slice(12,14)|0;else if(q==="utctime"){var P=E.slice(0,2)|0,k=E.slice(2,4)|0,_=E.slice(4,6)|0,j=E.slice(6,8)|0,B=E.slice(8,10)|0,y=E.slice(10,12)|0;if(P<70)P=2000+P;else P=1900+P}else return H.error("Decoding "+q+" time is not supported yet");return Date.UTC(P,k-1,_,j,B,y,0)},z.prototype._decodeNull=function(H){return null},z.prototype._decodeBool=function(H){var q=H.readUInt8();if(H.isError(q))return q;else return q!==0},z.prototype._decodeInt=function(H,q){var E=H.raw(),P=new Y(E);if(q)P=q[P.toString(10)]||P;return P},z.prototype._use=function(H,q){if(typeof H==="function")H=H(q);return H._getDecoder("der").tree};function D(H,q){var E=H.readUInt8(q);if(H.isError(E))return E;var P=G.tagClass[E>>6],k=(E&32)===0;if((E&31)===31){var _=E;E=0;while((_&128)===128){if(_=H.readUInt8(q),H.isError(_))return _;E<<=7,E|=_&127}}else E&=31;var j=G.tag[E];return{cls:P,primitive:k,tag:E,tagStr:j}}function S(H,q,E){var P=H.readUInt8(E);if(H.isError(P))return P;if(!q&&P===128)return null;if((P&128)===0)return P;var k=P&127;if(k>4)return H.error("length octect is too long");P=0;for(var _=0;_<k;_++){P<<=8;var j=H.readUInt8(E);if(H.isError(j))return j;P|=j}return P}}),qL=O0((U,Q)=>{var Z=o2(),X=(V2(),L1(L2)).Buffer,J=L$();function Y(G){J.call(this,G),this.enc="pem"}Z(Y,J),Q.exports=Y,Y.prototype.decode=function(G,L){var z=G.toString().split(/[\r\n]+/g),D=L.label.toUpperCase(),S=/^-----(BEGIN|END) ([^-]+)-----$/,H=-1,q=-1;for(var E=0;E<z.length;E++){var P=z[E].match(S);if(P===null)continue;if(P[2]!==D)continue;if(H===-1){if(P[1]!=="BEGIN")break;H=E}else{if(P[1]!=="END")break;q=E;break}}if(H===-1||q===-1)throw Error("PEM section not found for: "+D);var k=z.slice(H+1,q).join("");k.replace(/[^a-z0-9\+\/=]+/gi,"");var _=new X(k,"base64");return J.prototype.decode.call(this,_,L)}}),CL=O0((U)=>{var Q=U;Q.der=L$(),Q.pem=qL()}),V$=O0((U,Q)=>{var Z=o2(),X=(V2(),L1(L2)).Buffer,J=I5(),Y=J.base,G=J.constants.der;function L(H){this.enc="der",this.name=H.name,this.entity=H,this.tree=new z,this.tree._init(H.body)}Q.exports=L,L.prototype.encode=function(H,q){return this.tree._encode(H,q).join()};function z(H){Y.Node.call(this,"der",H)}Z(z,Y.Node),z.prototype._encodeComposite=function(H,q,E,P){var k=S(H,q,E,this.reporter);if(P.length<128){var B=new X(2);return B[0]=k,B[1]=P.length,this._createEncoderBuffer([B,P])}var _=1;for(var j=P.length;j>=256;j>>=8)_++;var B=new X(2+_);B[0]=k,B[1]=128|_;for(var j=1+_,y=P.length;y>0;j--,y>>=8)B[j]=y&255;return this._createEncoderBuffer([B,P])},z.prototype._encodeStr=function(H,q){if(q==="bitstr")return this._createEncoderBuffer([H.unused|0,H.data]);else if(q==="bmpstr"){var E=new X(H.length*2);for(var P=0;P<H.length;P++)E.writeUInt16BE(H.charCodeAt(P),P*2);return this._createEncoderBuffer(E)}else if(q==="numstr"){if(!this._isNumstr(H))return this.reporter.error("Encoding of string type: numstr supports only digits and space");return this._createEncoderBuffer(H)}else if(q==="printstr"){if(!this._isPrintstr(H))return this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark");return this._createEncoderBuffer(H)}else if(/str$/.test(q))return this._createEncoderBuffer(H);else if(q==="objDesc")return this._createEncoderBuffer(H);else return this.reporter.error("Encoding of string type: "+q+" unsupported")},z.prototype._encodeObjid=function(H,q,E){if(typeof H==="string"){if(!q)return this.reporter.error("string objid given, but no values map found");if(!q.hasOwnProperty(H))return this.reporter.error("objid not found in values map");H=q[H].split(/[\s\.]+/g);for(var P=0;P<H.length;P++)H[P]|=0}else if(Array.isArray(H)){H=H.slice();for(var P=0;P<H.length;P++)H[P]|=0}if(!Array.isArray(H))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(H));if(!E){if(H[1]>=40)return this.reporter.error("Second objid identifier OOB");H.splice(0,2,H[0]*40+H[1])}var k=0;for(var P=0;P<H.length;P++){var _=H[P];for(k++;_>=128;_>>=7)k++}var j=new X(k),B=j.length-1;for(var P=H.length-1;P>=0;P--){var _=H[P];j[B--]=_&127;while((_>>=7)>0)j[B--]=128|_&127}return this._createEncoderBuffer(j)};function D(H){if(H<10)return"0"+H;else return H}z.prototype._encodeTime=function(H,q){var E,P=new Date(H);if(q==="gentime")E=[D(P.getFullYear()),D(P.getUTCMonth()+1),D(P.getUTCDate()),D(P.getUTCHours()),D(P.getUTCMinutes()),D(P.getUTCSeconds()),"Z"].join("");else if(q==="utctime")E=[D(P.getFullYear()%100),D(P.getUTCMonth()+1),D(P.getUTCDate()),D(P.getUTCHours()),D(P.getUTCMinutes()),D(P.getUTCSeconds()),"Z"].join("");else this.reporter.error("Encoding "+q+" time is not supported yet");return this._encodeStr(E,"octstr")},z.prototype._encodeNull=function(){return this._createEncoderBuffer("")},z.prototype._encodeInt=function(H,q){if(typeof H==="string"){if(!q)return this.reporter.error("String int or enum given, but no values map");if(!q.hasOwnProperty(H))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(H));H=q[H]}if(typeof H!=="number"&&!X.isBuffer(H)){var E=H.toArray();if(!H.sign&&E[0]&128)E.unshift(0);H=new X(E)}if(X.isBuffer(H)){var P=H.length;if(H.length===0)P++;var _=new X(P);if(H.copy(_),H.length===0)_[0]=0;return this._createEncoderBuffer(_)}if(H<128)return this._createEncoderBuffer(H);if(H<256)return this._createEncoderBuffer([0,H]);var P=1;for(var k=H;k>=256;k>>=8)P++;var _=Array(P);for(var k=_.length-1;k>=0;k--)_[k]=H&255,H>>=8;if(_[0]&128)_.unshift(0);return this._createEncoderBuffer(new X(_))},z.prototype._encodeBool=function(H){return this._createEncoderBuffer(H?255:0)},z.prototype._use=function(H,q){if(typeof H==="function")H=H(q);return H._getEncoder("der").tree},z.prototype._skipDefault=function(H,q,E){var P=this._baseState,k;if(P.default===null)return!1;var _=H.join();if(P.defaultBuffer===void 0)P.defaultBuffer=this._encodeValue(P.default,q,E).join();if(_.length!==P.defaultBuffer.length)return!1;for(k=0;k<_.length;k++)if(_[k]!==P.defaultBuffer[k])return!1;return!0};function S(H,q,E,P){var k;if(H==="seqof")H="seq";else if(H==="setof")H="set";if(G.tagByName.hasOwnProperty(H))k=G.tagByName[H];else if(typeof H==="number"&&(H|0)===H)k=H;else return P.error("Unknown tag: "+H);if(k>=31)return P.error("Multi-octet tag encoding unsupported");if(!q)k|=32;return k|=G.tagClassByName[E||"universal"]<<6,k}}),EL=O0((U,Q)=>{var Z=o2(),X=V$();function J(Y){X.call(this,Y),this.enc="pem"}Z(J,X),Q.exports=J,J.prototype.encode=function(Y,G){var L=X.prototype.encode.call(this,Y),z=L.toString("base64"),D=["-----BEGIN "+G.label+"-----"];for(var S=0;S<z.length;S+=64)D.push(z.slice(S,S+64));return D.push("-----END "+G.label+"-----"),D.join(`
|
|
14
|
+
`)}}),PL=O0((U)=>{var Q=U;Q.der=V$(),Q.pem=EL()}),I5=O0((U)=>{var Q=U;Q.bignum=FL(),Q.define=RL().define,Q.base=Q5(),Q.constants=O$(),Q.decoders=CL(),Q.encoders=PL()}),kL=O0((U,Q)=>{var Z=I5(),X=Z.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),J=Z.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),Y=Z.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),G=Z.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(Y),this.key("subjectPublicKey").bitstr())}),L=Z.define("RelativeDistinguishedName",function(){this.setof(J)}),z=Z.define("RDNSequence",function(){this.seqof(L)}),D=Z.define("Name",function(){this.choice({rdnSequence:this.use(z)})}),S=Z.define("Validity",function(){this.seq().obj(this.key("notBefore").use(X),this.key("notAfter").use(X))}),H=Z.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),q=Z.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(Y),this.key("issuer").use(D),this.key("validity").use(S),this.key("subject").use(D),this.key("subjectPublicKeyInfo").use(G),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(H).optional())}),E=Z.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(q),this.key("signatureAlgorithm").use(Y),this.key("signatureValue").bitstr())});Q.exports=E}),_L=O0((U)=>{var Q=I5();U.certificate=kL();var Z=Q.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});U.RSAPrivateKey=Z;var X=Q.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});U.RSAPublicKey=X;var J=Q.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),Y=Q.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(J),this.key("subjectPublicKey").bitstr())});U.PublicKey=Y;var G=Q.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(J),this.key("subjectPrivateKey").octstr())});U.PrivateKey=G;var L=Q.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});U.EncryptedPrivateKey=L;var z=Q.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});U.DSAPrivateKey=z,U.DSAparam=Q.define("DSAparam",function(){this.int()});var D=Q.define("ECParameters",function(){this.choice({namedCurve:this.objid()})}),S=Q.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(D),this.key("publicKey").optional().explicit(1).bitstr())});U.ECPrivateKey=S,U.signature=Q.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})}),AL=O0((U,Q)=>{Q.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}}),jL=O0((U,Q)=>{var Z=B2().Buffer,X=$Z().Transform,J=o2();function Y(D){X.call(this),this._block=Z.allocUnsafe(D),this._blockSize=D,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}J(Y,X),Y.prototype._transform=function(D,S,H){var q=null;try{this.update(D,S)}catch(E){q=E}H(q)},Y.prototype._flush=function(D){var S=null;try{this.push(this.digest())}catch(H){S=H}D(S)};var G=typeof Uint8Array<"u",L=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&ArrayBuffer.isView&&(Z.prototype instanceof Uint8Array||Z.TYPED_ARRAY_SUPPORT);function z(D,S){if(D instanceof Z)return D;if(typeof D==="string")return Z.from(D,S);if(L&&ArrayBuffer.isView(D)){if(D.byteLength===0)return Z.alloc(0);var H=Z.from(D.buffer,D.byteOffset,D.byteLength);if(H.byteLength===D.byteLength)return H}if(G&&D instanceof Uint8Array)return Z.from(D);if(Z.isBuffer(D)&&D.constructor&&typeof D.constructor.isBuffer==="function"&&D.constructor.isBuffer(D))return Z.from(D);throw TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}Y.prototype.update=function(D,S){if(this._finalized)throw Error("Digest already called");D=z(D,S);var H=this._block,q=0;while(this._blockOffset+D.length-q>=this._blockSize){for(var E=this._blockOffset;E<this._blockSize;)H[E++]=D[q++];this._update(),this._blockOffset=0}while(q<D.length)H[this._blockOffset++]=D[q++];for(var P=0,k=D.length*8;k>0;++P)if(this._length[P]+=k,k=this._length[P]/4294967296|0,k>0)this._length[P]-=4294967296*k;return this},Y.prototype._update=function(){throw Error("_update is not implemented")},Y.prototype.digest=function(D){if(this._finalized)throw Error("Digest already called");this._finalized=!0;var S=this._digest();if(D!==void 0)S=S.toString(D);this._block.fill(0),this._blockOffset=0;for(var H=0;H<4;++H)this._length[H]=0;return S},Y.prototype._digest=function(){throw Error("_digest is not implemented")},Q.exports=Y}),BL=O0((U,Q)=>{var Z=o2(),X=jL(),J=B2().Buffer,Y=Array(16);function G(){X.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}Z(G,X),G.prototype._update=function(){var q=Y;for(var E=0;E<16;++E)q[E]=this._block.readInt32LE(E*4);var P=this._a,k=this._b,_=this._c,j=this._d;P=z(P,k,_,j,q[0],3614090360,7),j=z(j,P,k,_,q[1],3905402710,12),_=z(_,j,P,k,q[2],606105819,17),k=z(k,_,j,P,q[3],3250441966,22),P=z(P,k,_,j,q[4],4118548399,7),j=z(j,P,k,_,q[5],1200080426,12),_=z(_,j,P,k,q[6],2821735955,17),k=z(k,_,j,P,q[7],4249261313,22),P=z(P,k,_,j,q[8],1770035416,7),j=z(j,P,k,_,q[9],2336552879,12),_=z(_,j,P,k,q[10],4294925233,17),k=z(k,_,j,P,q[11],2304563134,22),P=z(P,k,_,j,q[12],1804603682,7),j=z(j,P,k,_,q[13],4254626195,12),_=z(_,j,P,k,q[14],2792965006,17),k=z(k,_,j,P,q[15],1236535329,22),P=D(P,k,_,j,q[1],4129170786,5),j=D(j,P,k,_,q[6],3225465664,9),_=D(_,j,P,k,q[11],643717713,14),k=D(k,_,j,P,q[0],3921069994,20),P=D(P,k,_,j,q[5],3593408605,5),j=D(j,P,k,_,q[10],38016083,9),_=D(_,j,P,k,q[15],3634488961,14),k=D(k,_,j,P,q[4],3889429448,20),P=D(P,k,_,j,q[9],568446438,5),j=D(j,P,k,_,q[14],3275163606,9),_=D(_,j,P,k,q[3],4107603335,14),k=D(k,_,j,P,q[8],1163531501,20),P=D(P,k,_,j,q[13],2850285829,5),j=D(j,P,k,_,q[2],4243563512,9),_=D(_,j,P,k,q[7],1735328473,14),k=D(k,_,j,P,q[12],2368359562,20),P=S(P,k,_,j,q[5],4294588738,4),j=S(j,P,k,_,q[8],2272392833,11),_=S(_,j,P,k,q[11],1839030562,16),k=S(k,_,j,P,q[14],4259657740,23),P=S(P,k,_,j,q[1],2763975236,4),j=S(j,P,k,_,q[4],1272893353,11),_=S(_,j,P,k,q[7],4139469664,16),k=S(k,_,j,P,q[10],3200236656,23),P=S(P,k,_,j,q[13],681279174,4),j=S(j,P,k,_,q[0],3936430074,11),_=S(_,j,P,k,q[3],3572445317,16),k=S(k,_,j,P,q[6],76029189,23),P=S(P,k,_,j,q[9],3654602809,4),j=S(j,P,k,_,q[12],3873151461,11),_=S(_,j,P,k,q[15],530742520,16),k=S(k,_,j,P,q[2],3299628645,23),P=H(P,k,_,j,q[0],4096336452,6),j=H(j,P,k,_,q[7],1126891415,10),_=H(_,j,P,k,q[14],2878612391,15),k=H(k,_,j,P,q[5],4237533241,21),P=H(P,k,_,j,q[12],1700485571,6),j=H(j,P,k,_,q[3],2399980690,10),_=H(_,j,P,k,q[10],4293915773,15),k=H(k,_,j,P,q[1],2240044497,21),P=H(P,k,_,j,q[8],1873313359,6),j=H(j,P,k,_,q[15],4264355552,10),_=H(_,j,P,k,q[6],2734768916,15),k=H(k,_,j,P,q[13],1309151649,21),P=H(P,k,_,j,q[4],4149444226,6),j=H(j,P,k,_,q[11],3174756917,10),_=H(_,j,P,k,q[2],718787259,15),k=H(k,_,j,P,q[9],3951481745,21),this._a=this._a+P|0,this._b=this._b+k|0,this._c=this._c+_|0,this._d=this._d+j|0},G.prototype._digest=function(){if(this._block[this._blockOffset++]=128,this._blockOffset>56)this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0;this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var q=J.allocUnsafe(16);return q.writeInt32LE(this._a,0),q.writeInt32LE(this._b,4),q.writeInt32LE(this._c,8),q.writeInt32LE(this._d,12),q};function L(q,E){return q<<E|q>>>32-E}function z(q,E,P,k,_,j,B){return L(q+(E&P|~E&k)+_+j|0,B)+E|0}function D(q,E,P,k,_,j,B){return L(q+(E&k|P&~k)+_+j|0,B)+E|0}function S(q,E,P,k,_,j,B){return L(q+(E^P^k)+_+j|0,B)+E|0}function H(q,E,P,k,_,j,B){return L(q+(P^(E|~k))+_+j|0,B)+E|0}Q.exports=G}),NL=O0((U,Q)=>{var Z=B2().Buffer,X=BL();function J(Y,G,L,z){if(!Z.isBuffer(Y))Y=Z.from(Y,"binary");if(G){if(!Z.isBuffer(G))G=Z.from(G,"binary");if(G.length!==8)throw RangeError("salt should be Buffer with 8 byte length")}var D=L/8,S=Z.alloc(D),H=Z.alloc(z||0),q=Z.alloc(0);while(D>0||z>0){var E=new X;if(E.update(q),E.update(Y),G)E.update(G);q=E.digest();var P=0;if(D>0){var k=S.length-D;P=Math.min(D,q.length),q.copy(S,k,0,P),D-=P}if(P<q.length&&z>0){var _=H.length-z,j=Math.min(z,q.length-P);q.copy(H,_,P,P+j),z-=j}}return q.fill(0),{key:S,iv:H}}Q.exports=J}),D$=O0((U)=>{var Q=(h2(),L1(m2));U.createCipher=U.Cipher=Q.createCipher,U.createCipheriv=U.Cipheriv=Q.createCipheriv,U.createDecipher=U.Decipher=Q.createDecipher,U.createDecipheriv=U.Decipheriv=Q.createDecipheriv,U.listCiphers=U.getCiphers=Q.getCiphers}),wL=O0((U,Q)=>{var Z=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,X=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,J=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,Y=NL(),G=D$(),L=B2().Buffer;Q.exports=function(z,D){var S=z.toString(),H=S.match(Z),q;if(!H){var E=S.match(J);q=L.from(E[2].replace(/[\r\n]/g,""),"base64")}else{var P="aes"+H[1],k=L.from(H[2],"hex"),_=L.from(H[3].replace(/[\r\n]/g,""),"base64"),j=Y(D,k.slice(0,8),parseInt(H[1],10)).key,B=[],y=G.createDecipheriv(P,j,k);B.push(y.update(_)),B.push(y.final()),q=L.concat(B)}var x=S.match(X)[1];return{tag:x,data:q}}}),H$=O0((U,Q)=>{var Z=_L(),X=AL(),J=wL(),Y=D$(),G=G$().pbkdf2Sync,L=B2().Buffer;function z(S,H){var q=S.algorithm.decrypt.kde.kdeparams.salt,E=parseInt(S.algorithm.decrypt.kde.kdeparams.iters.toString(),10),P=X[S.algorithm.decrypt.cipher.algo.join(".")],k=S.algorithm.decrypt.cipher.iv,_=S.subjectPrivateKey,j=parseInt(P.split("-")[1],10)/8,B=G(H,q,E,j,"sha1"),y=Y.createDecipheriv(P,B,k),x=[];return x.push(y.update(_)),x.push(y.final()),L.concat(x)}function D(S){var H;if(typeof S==="object"&&!L.isBuffer(S))H=S.passphrase,S=S.key;if(typeof S==="string")S=L.from(S);var q=J(S,H),E=q.tag,P=q.data,k,_;switch(E){case"CERTIFICATE":_=Z.certificate.decode(P,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":if(!_)_=Z.PublicKey.decode(P,"der");switch(k=_.algorithm.algorithm.join("."),k){case"1.2.840.113549.1.1.1":return Z.RSAPublicKey.decode(_.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return _.subjectPrivateKey=_.subjectPublicKey,{type:"ec",data:_};case"1.2.840.10040.4.1":return _.algorithm.params.pub_key=Z.DSAparam.decode(_.subjectPublicKey.data,"der"),{type:"dsa",data:_.algorithm.params};default:throw Error("unknown key id "+k)}case"ENCRYPTED PRIVATE KEY":P=Z.EncryptedPrivateKey.decode(P,"der"),P=z(P,H);case"PRIVATE KEY":switch(_=Z.PrivateKey.decode(P,"der"),k=_.algorithm.algorithm.join("."),k){case"1.2.840.113549.1.1.1":return Z.RSAPrivateKey.decode(_.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:_.algorithm.curve,privateKey:Z.ECPrivateKey.decode(_.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return _.algorithm.params.priv_key=Z.DSAparam.decode(_.subjectPrivateKey,"der"),{type:"dsa",params:_.algorithm.params};default:throw Error("unknown key id "+k)}case"RSA PUBLIC KEY":return Z.RSAPublicKey.decode(P,"der");case"RSA PRIVATE KEY":return Z.RSAPrivateKey.decode(P,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:Z.DSAPrivateKey.decode(P,"der")};case"EC PRIVATE KEY":return P=Z.ECPrivateKey.decode(P,"der"),{curve:P.parameters.value,privateKey:P.privateKey};default:throw Error("unknown key type "+E)}}D.signature=Z.signature,Q.exports=D}),F$=O0((U,Q)=>{var Z=L9(),X=B2().Buffer;Q.exports=function(Y,G){var L=X.alloc(0),z=0,D;while(L.length<G)D=J(z++),L=X.concat([L,Z("sha1").update(Y).update(D).digest()]);return L.slice(0,G)};function J(Y){var G=X.allocUnsafe(4);return G.writeUInt32BE(Y,0),G}}),R$=O0((U,Q)=>{Q.exports=function(Z,X){var J=Z.length,Y=-1;while(++Y<J)Z[Y]^=X[Y];return Z}}),FZ=O0((U,Q)=>{(function(Z,X){function J(I,K){if(!I)throw Error(K||"Assertion failed")}function Y(I,K){I.super_=K;var O=function(){};O.prototype=K.prototype,I.prototype=new O,I.prototype.constructor=I}function G(I,K,O){if(G.isBN(I))return I;if(this.negative=0,this.words=null,this.length=0,this.red=null,I!==null){if(K==="le"||K==="be")O=K,K=10;this._init(I||0,K||10,O||"be")}}if(typeof Z==="object")Z.exports=G;else X.BN=G;G.BN=G,G.wordSize=26;var L;try{if(typeof window<"u"&&typeof window.Buffer<"u")L=window.Buffer;else L=(V2(),L1(L2)).Buffer}catch(I){}G.isBN=function(I){if(I instanceof G)return!0;return I!==null&&typeof I==="object"&&I.constructor.wordSize===G.wordSize&&Array.isArray(I.words)},G.max=function(I,K){if(I.cmp(K)>0)return I;return K},G.min=function(I,K){if(I.cmp(K)<0)return I;return K},G.prototype._init=function(I,K,O){if(typeof I==="number")return this._initNumber(I,K,O);if(typeof I==="object")return this._initArray(I,K,O);if(K==="hex")K=16;J(K===(K|0)&&K>=2&&K<=36),I=I.toString().replace(/\s+/g,"");var T=0;if(I[0]==="-")T++,this.negative=1;if(T<I.length){if(K===16)this._parseHex(I,T,O);else if(this._parseBase(I,K,T),O==="le")this._initArray(this.toArray(),K,O)}},G.prototype._initNumber=function(I,K,O){if(I<0)this.negative=1,I=-I;if(I<67108864)this.words=[I&67108863],this.length=1;else if(I<4503599627370496)this.words=[I&67108863,I/67108864&67108863],this.length=2;else J(I<9007199254740992),this.words=[I&67108863,I/67108864&67108863,1],this.length=3;if(O!=="le")return;this._initArray(this.toArray(),K,O)},G.prototype._initArray=function(I,K,O){if(J(typeof I.length==="number"),I.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(I.length/3),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W,R,M=0;if(O==="be"){for(T=I.length-1,W=0;T>=0;T-=3)if(R=I[T]|I[T-1]<<8|I[T-2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}else if(O==="le"){for(T=0,W=0;T<I.length;T+=3)if(R=I[T]|I[T+1]<<8|I[T+2]<<16,this.words[W]|=R<<M&67108863,this.words[W+1]=R>>>26-M&67108863,M+=24,M>=26)M-=26,W++}return this.strip()};function z(I,K){var O=I.charCodeAt(K);if(O>=65&&O<=70)return O-55;else if(O>=97&&O<=102)return O-87;else return O-48&15}function D(I,K,O){var T=z(I,O);if(O-1>=K)T|=z(I,O-1)<<4;return T}G.prototype._parseHex=function(I,K,O){this.length=Math.ceil((I.length-K)/6),this.words=Array(this.length);for(var T=0;T<this.length;T++)this.words[T]=0;var W=0,R=0,M;if(O==="be")for(T=I.length-1;T>=K;T-=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8;else{var V=I.length-K;for(T=V%2===0?K+1:K;T<I.length;T+=2)if(M=D(I,K,T)<<W,this.words[R]|=M&67108863,W>=18)W-=18,R+=1,this.words[R]|=M>>>26;else W+=8}this.strip()};function S(I,K,O,T){var W=0,R=Math.min(I.length,O);for(var M=K;M<R;M++){var V=I.charCodeAt(M)-48;if(W*=T,V>=49)W+=V-49+10;else if(V>=17)W+=V-17+10;else W+=V}return W}G.prototype._parseBase=function(I,K,O){this.words=[0],this.length=1;for(var T=0,W=1;W<=67108863;W*=K)T++;T--,W=W/K|0;var R=I.length-O,M=R%T,V=Math.min(R,R-M)+O,$=0;for(var F=O;F<V;F+=T)if($=S(I,F,F+T,K),this.imuln(W),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($);if(M!==0){var A=1;$=S(I,F,I.length,K);for(F=0;F<M;F++)A*=K;if(this.imuln(A),this.words[0]+$<67108864)this.words[0]+=$;else this._iaddn($)}this.strip()},G.prototype.copy=function(I){I.words=Array(this.length);for(var K=0;K<this.length;K++)I.words[K]=this.words[K];I.length=this.length,I.negative=this.negative,I.red=this.red},G.prototype.clone=function(){var I=new G(null);return this.copy(I),I},G.prototype._expand=function(I){while(this.length<I)this.words[this.length++]=0;return this},G.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},G.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},G.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var H=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],q=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(G.prototype.toString=function(I,K){I=I||10,K=K|0||1;var O;if(I===16||I==="hex"){O="";var T=0,W=0;for(var R=0;R<this.length;R++){var M=this.words[R],V=((M<<T|W)&16777215).toString(16);if(W=M>>>24-T&16777215,T+=2,T>=26)T-=26,R--;if(W!==0||R!==this.length-1)O=H[6-V.length]+V+O;else O=V+O}if(W!==0)O=W.toString(16)+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}if(I===(I|0)&&I>=2&&I<=36){var $=q[I],F=E[I];O="";var A=this.clone();A.negative=0;while(!A.isZero()){var C=A.modn(F).toString(I);if(A=A.idivn(F),!A.isZero())O=H[$-C.length]+C+O;else O=C+O}if(this.isZero())O="0"+O;while(O.length%K!==0)O="0"+O;if(this.negative!==0)O="-"+O;return O}J(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var I=this.words[0];if(this.length===2)I+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)I+=4503599627370496+this.words[1]*67108864;else if(this.length>2)J(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-I:I},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(I,K){return J(typeof L<"u"),this.toArrayLike(L,I,K)},G.prototype.toArray=function(I,K){return this.toArrayLike(Array,I,K)},G.prototype.toArrayLike=function(I,K,O){var T=this.byteLength(),W=O||Math.max(1,T);J(T<=W,"byte array longer than desired length"),J(W>0,"Requested array length <= 0"),this.strip();var R=K==="le",M=new I(W),V,$,F=this.clone();if(!R){for($=0;$<W-T;$++)M[$]=0;for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[W-$-1]=V}else{for($=0;!F.isZero();$++)V=F.andln(255),F.iushrn(8),M[$]=V;for(;$<W;$++)M[$]=0}return M},Math.clz32)G.prototype._countBits=function(I){return 32-Math.clz32(I)};else G.prototype._countBits=function(I){var K=I,O=0;if(K>=4096)O+=13,K>>>=13;if(K>=64)O+=7,K>>>=7;if(K>=8)O+=4,K>>>=4;if(K>=2)O+=2,K>>>=2;return O+K};G.prototype._zeroBits=function(I){if(I===0)return 26;var K=I,O=0;if((K&8191)===0)O+=13,K>>>=13;if((K&127)===0)O+=7,K>>>=7;if((K&15)===0)O+=4,K>>>=4;if((K&3)===0)O+=2,K>>>=2;if((K&1)===0)O++;return O},G.prototype.bitLength=function(){var I=this.words[this.length-1],K=this._countBits(I);return(this.length-1)*26+K};function P(I){var K=Array(I.bitLength());for(var O=0;O<K.length;O++){var T=O/26|0,W=O%26;K[O]=(I.words[T]&1<<W)>>>W}return K}G.prototype.zeroBits=function(){if(this.isZero())return 0;var I=0;for(var K=0;K<this.length;K++){var O=this._zeroBits(this.words[K]);if(I+=O,O!==26)break}return I},G.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},G.prototype.toTwos=function(I){if(this.negative!==0)return this.abs().inotn(I).iaddn(1);return this.clone()},G.prototype.fromTwos=function(I){if(this.testn(I-1))return this.notn(I).iaddn(1).ineg();return this.clone()},G.prototype.isNeg=function(){return this.negative!==0},G.prototype.neg=function(){return this.clone().ineg()},G.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},G.prototype.iuor=function(I){while(this.length<I.length)this.words[this.length++]=0;for(var K=0;K<I.length;K++)this.words[K]=this.words[K]|I.words[K];return this.strip()},G.prototype.ior=function(I){return J((this.negative|I.negative)===0),this.iuor(I)},G.prototype.or=function(I){if(this.length>I.length)return this.clone().ior(I);return I.clone().ior(this)},G.prototype.uor=function(I){if(this.length>I.length)return this.clone().iuor(I);return I.clone().iuor(this)},G.prototype.iuand=function(I){var K;if(this.length>I.length)K=I;else K=this;for(var O=0;O<K.length;O++)this.words[O]=this.words[O]&I.words[O];return this.length=K.length,this.strip()},G.prototype.iand=function(I){return J((this.negative|I.negative)===0),this.iuand(I)},G.prototype.and=function(I){if(this.length>I.length)return this.clone().iand(I);return I.clone().iand(this)},G.prototype.uand=function(I){if(this.length>I.length)return this.clone().iuand(I);return I.clone().iuand(this)},G.prototype.iuxor=function(I){var K,O;if(this.length>I.length)K=this,O=I;else K=I,O=this;for(var T=0;T<O.length;T++)this.words[T]=K.words[T]^O.words[T];if(this!==K)for(;T<K.length;T++)this.words[T]=K.words[T];return this.length=K.length,this.strip()},G.prototype.ixor=function(I){return J((this.negative|I.negative)===0),this.iuxor(I)},G.prototype.xor=function(I){if(this.length>I.length)return this.clone().ixor(I);return I.clone().ixor(this)},G.prototype.uxor=function(I){if(this.length>I.length)return this.clone().iuxor(I);return I.clone().iuxor(this)},G.prototype.inotn=function(I){J(typeof I==="number"&&I>=0);var K=Math.ceil(I/26)|0,O=I%26;if(this._expand(K),O>0)K--;for(var T=0;T<K;T++)this.words[T]=~this.words[T]&67108863;if(O>0)this.words[T]=~this.words[T]&67108863>>26-O;return this.strip()},G.prototype.notn=function(I){return this.clone().inotn(I)},G.prototype.setn=function(I,K){J(typeof I==="number"&&I>=0);var O=I/26|0,T=I%26;if(this._expand(O+1),K)this.words[O]=this.words[O]|1<<T;else this.words[O]=this.words[O]&~(1<<T);return this.strip()},G.prototype.iadd=function(I){var K;if(this.negative!==0&&I.negative===0)return this.negative=0,K=this.isub(I),this.negative^=1,this._normSign();else if(this.negative===0&&I.negative!==0)return I.negative=0,K=this.isub(I),I.negative=1,K._normSign();var O,T;if(this.length>I.length)O=this,T=I;else O=I,T=this;var W=0;for(var R=0;R<T.length;R++)K=(O.words[R]|0)+(T.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;for(;W!==0&&R<O.length;R++)K=(O.words[R]|0)+W,this.words[R]=K&67108863,W=K>>>26;if(this.length=O.length,W!==0)this.words[this.length]=W,this.length++;else if(O!==this)for(;R<O.length;R++)this.words[R]=O.words[R];return this},G.prototype.add=function(I){var K;if(I.negative!==0&&this.negative===0)return I.negative=0,K=this.sub(I),I.negative^=1,K;else if(I.negative===0&&this.negative!==0)return this.negative=0,K=I.sub(this),this.negative=1,K;if(this.length>I.length)return this.clone().iadd(I);return I.clone().iadd(this)},G.prototype.isub=function(I){if(I.negative!==0){I.negative=0;var K=this.iadd(I);return I.negative=1,K._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(I),this.negative=1,this._normSign();var O=this.cmp(I);if(O===0)return this.negative=0,this.length=1,this.words[0]=0,this;var T,W;if(O>0)T=this,W=I;else T=I,W=this;var R=0;for(var M=0;M<W.length;M++)K=(T.words[M]|0)-(W.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;for(;R!==0&&M<T.length;M++)K=(T.words[M]|0)+R,R=K>>26,this.words[M]=K&67108863;if(R===0&&M<T.length&&T!==this)for(;M<T.length;M++)this.words[M]=T.words[M];if(this.length=Math.max(this.length,M),T!==this)this.negative=1;return this.strip()},G.prototype.sub=function(I){return this.clone().isub(I)};function k(I,K,O){O.negative=K.negative^I.negative;var T=I.length+K.length|0;O.length=T,T=T-1|0;var W=I.words[0]|0,R=K.words[0]|0,M=W*R,V=M&67108863,$=M/67108864|0;O.words[0]=V;for(var F=1;F<T;F++){var A=$>>>26,C=$&67108863,N=Math.min(F,K.length-1);for(var f=Math.max(0,F-I.length+1);f<=N;f++){var b=F-f|0;W=I.words[b]|0,R=K.words[f]|0,M=W*R+C,A+=M/67108864|0,C=M&67108863}O.words[F]=C|0,$=A|0}if($!==0)O.words[F]=$|0;else O.length--;return O.strip()}var _=function(I,K,O){var T=I.words,W=K.words,R=O.words,M=0,V,$,F,A=T[0]|0,C=A&8191,N=A>>>13,f=T[1]|0,b=f&8191,i=f>>>13,D0=T[2]|0,Q0=D0&8191,n=D0>>>13,K0=T[3]|0,a=K0&8191,G0=K0>>>13,m0=T[4]|0,c=m0&8191,l=m0>>>13,W0=T[5]|0,e=W0&8191,X0=W0>>>13,j0=T[6]|0,u=j0&8191,s=j0>>>13,b0=T[7]|0,t=b0&8191,Y0=b0>>>13,e0=T[8]|0,R0=e0&8191,z0=e0>>>13,y1=T[9]|0,H0=y1&8191,S0=y1>>>13,h1=W[0]|0,_0=h1&8191,E0=h1>>>13,q2=W[1]|0,B0=q2&8191,f0=q2>>>13,C2=W[2]|0,p0=C2&8191,N0=C2>>>13,H2=W[3]|0,v0=H2&8191,w0=H2>>>13,K2=W[4]|0,h0=K2&8191,c0=K2>>>13,W2=W[5]|0,y0=W2&8191,g=W2>>>13,o=W[6]|0,Z0=o&8191,$0=o>>>13,r0=W[7]|0,F0=r0&8191,q0=r0>>>13,x1=W[8]|0,x0=x1&8191,u0=x1>>>13,F2=W[9]|0,g0=F2&8191,A0=F2>>>13;O.negative=I.negative^K.negative,O.length=19,V=Math.imul(C,_0),$=Math.imul(C,E0),$=$+Math.imul(N,_0)|0,F=Math.imul(N,E0);var g1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(g1>>>26)|0,g1&=67108863,V=Math.imul(b,_0),$=Math.imul(b,E0),$=$+Math.imul(i,_0)|0,F=Math.imul(i,E0),V=V+Math.imul(C,B0)|0,$=$+Math.imul(C,f0)|0,$=$+Math.imul(N,B0)|0,F=F+Math.imul(N,f0)|0;var I1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(I1>>>26)|0,I1&=67108863,V=Math.imul(Q0,_0),$=Math.imul(Q0,E0),$=$+Math.imul(n,_0)|0,F=Math.imul(n,E0),V=V+Math.imul(b,B0)|0,$=$+Math.imul(b,f0)|0,$=$+Math.imul(i,B0)|0,F=F+Math.imul(i,f0)|0,V=V+Math.imul(C,p0)|0,$=$+Math.imul(C,N0)|0,$=$+Math.imul(N,p0)|0,F=F+Math.imul(N,N0)|0;var G1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(G1>>>26)|0,G1&=67108863,V=Math.imul(a,_0),$=Math.imul(a,E0),$=$+Math.imul(G0,_0)|0,F=Math.imul(G0,E0),V=V+Math.imul(Q0,B0)|0,$=$+Math.imul(Q0,f0)|0,$=$+Math.imul(n,B0)|0,F=F+Math.imul(n,f0)|0,V=V+Math.imul(b,p0)|0,$=$+Math.imul(b,N0)|0,$=$+Math.imul(i,p0)|0,F=F+Math.imul(i,N0)|0,V=V+Math.imul(C,v0)|0,$=$+Math.imul(C,w0)|0,$=$+Math.imul(N,v0)|0,F=F+Math.imul(N,w0)|0;var C1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(C1>>>26)|0,C1&=67108863,V=Math.imul(c,_0),$=Math.imul(c,E0),$=$+Math.imul(l,_0)|0,F=Math.imul(l,E0),V=V+Math.imul(a,B0)|0,$=$+Math.imul(a,f0)|0,$=$+Math.imul(G0,B0)|0,F=F+Math.imul(G0,f0)|0,V=V+Math.imul(Q0,p0)|0,$=$+Math.imul(Q0,N0)|0,$=$+Math.imul(n,p0)|0,F=F+Math.imul(n,N0)|0,V=V+Math.imul(b,v0)|0,$=$+Math.imul(b,w0)|0,$=$+Math.imul(i,v0)|0,F=F+Math.imul(i,w0)|0,V=V+Math.imul(C,h0)|0,$=$+Math.imul(C,c0)|0,$=$+Math.imul(N,h0)|0,F=F+Math.imul(N,c0)|0;var M1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(M1>>>26)|0,M1&=67108863,V=Math.imul(e,_0),$=Math.imul(e,E0),$=$+Math.imul(X0,_0)|0,F=Math.imul(X0,E0),V=V+Math.imul(c,B0)|0,$=$+Math.imul(c,f0)|0,$=$+Math.imul(l,B0)|0,F=F+Math.imul(l,f0)|0,V=V+Math.imul(a,p0)|0,$=$+Math.imul(a,N0)|0,$=$+Math.imul(G0,p0)|0,F=F+Math.imul(G0,N0)|0,V=V+Math.imul(Q0,v0)|0,$=$+Math.imul(Q0,w0)|0,$=$+Math.imul(n,v0)|0,F=F+Math.imul(n,w0)|0,V=V+Math.imul(b,h0)|0,$=$+Math.imul(b,c0)|0,$=$+Math.imul(i,h0)|0,F=F+Math.imul(i,c0)|0,V=V+Math.imul(C,y0)|0,$=$+Math.imul(C,g)|0,$=$+Math.imul(N,y0)|0,F=F+Math.imul(N,g)|0;var m1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(m1>>>26)|0,m1&=67108863,V=Math.imul(u,_0),$=Math.imul(u,E0),$=$+Math.imul(s,_0)|0,F=Math.imul(s,E0),V=V+Math.imul(e,B0)|0,$=$+Math.imul(e,f0)|0,$=$+Math.imul(X0,B0)|0,F=F+Math.imul(X0,f0)|0,V=V+Math.imul(c,p0)|0,$=$+Math.imul(c,N0)|0,$=$+Math.imul(l,p0)|0,F=F+Math.imul(l,N0)|0,V=V+Math.imul(a,v0)|0,$=$+Math.imul(a,w0)|0,$=$+Math.imul(G0,v0)|0,F=F+Math.imul(G0,w0)|0,V=V+Math.imul(Q0,h0)|0,$=$+Math.imul(Q0,c0)|0,$=$+Math.imul(n,h0)|0,F=F+Math.imul(n,c0)|0,V=V+Math.imul(b,y0)|0,$=$+Math.imul(b,g)|0,$=$+Math.imul(i,y0)|0,F=F+Math.imul(i,g)|0,V=V+Math.imul(C,Z0)|0,$=$+Math.imul(C,$0)|0,$=$+Math.imul(N,Z0)|0,F=F+Math.imul(N,$0)|0;var r1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(r1>>>26)|0,r1&=67108863,V=Math.imul(t,_0),$=Math.imul(t,E0),$=$+Math.imul(Y0,_0)|0,F=Math.imul(Y0,E0),V=V+Math.imul(u,B0)|0,$=$+Math.imul(u,f0)|0,$=$+Math.imul(s,B0)|0,F=F+Math.imul(s,f0)|0,V=V+Math.imul(e,p0)|0,$=$+Math.imul(e,N0)|0,$=$+Math.imul(X0,p0)|0,F=F+Math.imul(X0,N0)|0,V=V+Math.imul(c,v0)|0,$=$+Math.imul(c,w0)|0,$=$+Math.imul(l,v0)|0,F=F+Math.imul(l,w0)|0,V=V+Math.imul(a,h0)|0,$=$+Math.imul(a,c0)|0,$=$+Math.imul(G0,h0)|0,F=F+Math.imul(G0,c0)|0,V=V+Math.imul(Q0,y0)|0,$=$+Math.imul(Q0,g)|0,$=$+Math.imul(n,y0)|0,F=F+Math.imul(n,g)|0,V=V+Math.imul(b,Z0)|0,$=$+Math.imul(b,$0)|0,$=$+Math.imul(i,Z0)|0,F=F+Math.imul(i,$0)|0,V=V+Math.imul(C,F0)|0,$=$+Math.imul(C,q0)|0,$=$+Math.imul(N,F0)|0,F=F+Math.imul(N,q0)|0;var n1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(n1>>>26)|0,n1&=67108863,V=Math.imul(R0,_0),$=Math.imul(R0,E0),$=$+Math.imul(z0,_0)|0,F=Math.imul(z0,E0),V=V+Math.imul(t,B0)|0,$=$+Math.imul(t,f0)|0,$=$+Math.imul(Y0,B0)|0,F=F+Math.imul(Y0,f0)|0,V=V+Math.imul(u,p0)|0,$=$+Math.imul(u,N0)|0,$=$+Math.imul(s,p0)|0,F=F+Math.imul(s,N0)|0,V=V+Math.imul(e,v0)|0,$=$+Math.imul(e,w0)|0,$=$+Math.imul(X0,v0)|0,F=F+Math.imul(X0,w0)|0,V=V+Math.imul(c,h0)|0,$=$+Math.imul(c,c0)|0,$=$+Math.imul(l,h0)|0,F=F+Math.imul(l,c0)|0,V=V+Math.imul(a,y0)|0,$=$+Math.imul(a,g)|0,$=$+Math.imul(G0,y0)|0,F=F+Math.imul(G0,g)|0,V=V+Math.imul(Q0,Z0)|0,$=$+Math.imul(Q0,$0)|0,$=$+Math.imul(n,Z0)|0,F=F+Math.imul(n,$0)|0,V=V+Math.imul(b,F0)|0,$=$+Math.imul(b,q0)|0,$=$+Math.imul(i,F0)|0,F=F+Math.imul(i,q0)|0,V=V+Math.imul(C,x0)|0,$=$+Math.imul(C,u0)|0,$=$+Math.imul(N,x0)|0,F=F+Math.imul(N,u0)|0;var s1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(s1>>>26)|0,s1&=67108863,V=Math.imul(H0,_0),$=Math.imul(H0,E0),$=$+Math.imul(S0,_0)|0,F=Math.imul(S0,E0),V=V+Math.imul(R0,B0)|0,$=$+Math.imul(R0,f0)|0,$=$+Math.imul(z0,B0)|0,F=F+Math.imul(z0,f0)|0,V=V+Math.imul(t,p0)|0,$=$+Math.imul(t,N0)|0,$=$+Math.imul(Y0,p0)|0,F=F+Math.imul(Y0,N0)|0,V=V+Math.imul(u,v0)|0,$=$+Math.imul(u,w0)|0,$=$+Math.imul(s,v0)|0,F=F+Math.imul(s,w0)|0,V=V+Math.imul(e,h0)|0,$=$+Math.imul(e,c0)|0,$=$+Math.imul(X0,h0)|0,F=F+Math.imul(X0,c0)|0,V=V+Math.imul(c,y0)|0,$=$+Math.imul(c,g)|0,$=$+Math.imul(l,y0)|0,F=F+Math.imul(l,g)|0,V=V+Math.imul(a,Z0)|0,$=$+Math.imul(a,$0)|0,$=$+Math.imul(G0,Z0)|0,F=F+Math.imul(G0,$0)|0,V=V+Math.imul(Q0,F0)|0,$=$+Math.imul(Q0,q0)|0,$=$+Math.imul(n,F0)|0,F=F+Math.imul(n,q0)|0,V=V+Math.imul(b,x0)|0,$=$+Math.imul(b,u0)|0,$=$+Math.imul(i,x0)|0,F=F+Math.imul(i,u0)|0,V=V+Math.imul(C,g0)|0,$=$+Math.imul(C,A0)|0,$=$+Math.imul(N,g0)|0,F=F+Math.imul(N,A0)|0;var i1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(i1>>>26)|0,i1&=67108863,V=Math.imul(H0,B0),$=Math.imul(H0,f0),$=$+Math.imul(S0,B0)|0,F=Math.imul(S0,f0),V=V+Math.imul(R0,p0)|0,$=$+Math.imul(R0,N0)|0,$=$+Math.imul(z0,p0)|0,F=F+Math.imul(z0,N0)|0,V=V+Math.imul(t,v0)|0,$=$+Math.imul(t,w0)|0,$=$+Math.imul(Y0,v0)|0,F=F+Math.imul(Y0,w0)|0,V=V+Math.imul(u,h0)|0,$=$+Math.imul(u,c0)|0,$=$+Math.imul(s,h0)|0,F=F+Math.imul(s,c0)|0,V=V+Math.imul(e,y0)|0,$=$+Math.imul(e,g)|0,$=$+Math.imul(X0,y0)|0,F=F+Math.imul(X0,g)|0,V=V+Math.imul(c,Z0)|0,$=$+Math.imul(c,$0)|0,$=$+Math.imul(l,Z0)|0,F=F+Math.imul(l,$0)|0,V=V+Math.imul(a,F0)|0,$=$+Math.imul(a,q0)|0,$=$+Math.imul(G0,F0)|0,F=F+Math.imul(G0,q0)|0,V=V+Math.imul(Q0,x0)|0,$=$+Math.imul(Q0,u0)|0,$=$+Math.imul(n,x0)|0,F=F+Math.imul(n,u0)|0,V=V+Math.imul(b,g0)|0,$=$+Math.imul(b,A0)|0,$=$+Math.imul(i,g0)|0,F=F+Math.imul(i,A0)|0;var a1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(a1>>>26)|0,a1&=67108863,V=Math.imul(H0,p0),$=Math.imul(H0,N0),$=$+Math.imul(S0,p0)|0,F=Math.imul(S0,N0),V=V+Math.imul(R0,v0)|0,$=$+Math.imul(R0,w0)|0,$=$+Math.imul(z0,v0)|0,F=F+Math.imul(z0,w0)|0,V=V+Math.imul(t,h0)|0,$=$+Math.imul(t,c0)|0,$=$+Math.imul(Y0,h0)|0,F=F+Math.imul(Y0,c0)|0,V=V+Math.imul(u,y0)|0,$=$+Math.imul(u,g)|0,$=$+Math.imul(s,y0)|0,F=F+Math.imul(s,g)|0,V=V+Math.imul(e,Z0)|0,$=$+Math.imul(e,$0)|0,$=$+Math.imul(X0,Z0)|0,F=F+Math.imul(X0,$0)|0,V=V+Math.imul(c,F0)|0,$=$+Math.imul(c,q0)|0,$=$+Math.imul(l,F0)|0,F=F+Math.imul(l,q0)|0,V=V+Math.imul(a,x0)|0,$=$+Math.imul(a,u0)|0,$=$+Math.imul(G0,x0)|0,F=F+Math.imul(G0,u0)|0,V=V+Math.imul(Q0,g0)|0,$=$+Math.imul(Q0,A0)|0,$=$+Math.imul(n,g0)|0,F=F+Math.imul(n,A0)|0;var t1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(t1>>>26)|0,t1&=67108863,V=Math.imul(H0,v0),$=Math.imul(H0,w0),$=$+Math.imul(S0,v0)|0,F=Math.imul(S0,w0),V=V+Math.imul(R0,h0)|0,$=$+Math.imul(R0,c0)|0,$=$+Math.imul(z0,h0)|0,F=F+Math.imul(z0,c0)|0,V=V+Math.imul(t,y0)|0,$=$+Math.imul(t,g)|0,$=$+Math.imul(Y0,y0)|0,F=F+Math.imul(Y0,g)|0,V=V+Math.imul(u,Z0)|0,$=$+Math.imul(u,$0)|0,$=$+Math.imul(s,Z0)|0,F=F+Math.imul(s,$0)|0,V=V+Math.imul(e,F0)|0,$=$+Math.imul(e,q0)|0,$=$+Math.imul(X0,F0)|0,F=F+Math.imul(X0,q0)|0,V=V+Math.imul(c,x0)|0,$=$+Math.imul(c,u0)|0,$=$+Math.imul(l,x0)|0,F=F+Math.imul(l,u0)|0,V=V+Math.imul(a,g0)|0,$=$+Math.imul(a,A0)|0,$=$+Math.imul(G0,g0)|0,F=F+Math.imul(G0,A0)|0;var e1=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(e1>>>26)|0,e1&=67108863,V=Math.imul(H0,h0),$=Math.imul(H0,c0),$=$+Math.imul(S0,h0)|0,F=Math.imul(S0,c0),V=V+Math.imul(R0,y0)|0,$=$+Math.imul(R0,g)|0,$=$+Math.imul(z0,y0)|0,F=F+Math.imul(z0,g)|0,V=V+Math.imul(t,Z0)|0,$=$+Math.imul(t,$0)|0,$=$+Math.imul(Y0,Z0)|0,F=F+Math.imul(Y0,$0)|0,V=V+Math.imul(u,F0)|0,$=$+Math.imul(u,q0)|0,$=$+Math.imul(s,F0)|0,F=F+Math.imul(s,q0)|0,V=V+Math.imul(e,x0)|0,$=$+Math.imul(e,u0)|0,$=$+Math.imul(X0,x0)|0,F=F+Math.imul(X0,u0)|0,V=V+Math.imul(c,g0)|0,$=$+Math.imul(c,A0)|0,$=$+Math.imul(l,g0)|0,F=F+Math.imul(l,A0)|0;var U2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(U2>>>26)|0,U2&=67108863,V=Math.imul(H0,y0),$=Math.imul(H0,g),$=$+Math.imul(S0,y0)|0,F=Math.imul(S0,g),V=V+Math.imul(R0,Z0)|0,$=$+Math.imul(R0,$0)|0,$=$+Math.imul(z0,Z0)|0,F=F+Math.imul(z0,$0)|0,V=V+Math.imul(t,F0)|0,$=$+Math.imul(t,q0)|0,$=$+Math.imul(Y0,F0)|0,F=F+Math.imul(Y0,q0)|0,V=V+Math.imul(u,x0)|0,$=$+Math.imul(u,u0)|0,$=$+Math.imul(s,x0)|0,F=F+Math.imul(s,u0)|0,V=V+Math.imul(e,g0)|0,$=$+Math.imul(e,A0)|0,$=$+Math.imul(X0,g0)|0,F=F+Math.imul(X0,A0)|0;var Q2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Q2>>>26)|0,Q2&=67108863,V=Math.imul(H0,Z0),$=Math.imul(H0,$0),$=$+Math.imul(S0,Z0)|0,F=Math.imul(S0,$0),V=V+Math.imul(R0,F0)|0,$=$+Math.imul(R0,q0)|0,$=$+Math.imul(z0,F0)|0,F=F+Math.imul(z0,q0)|0,V=V+Math.imul(t,x0)|0,$=$+Math.imul(t,u0)|0,$=$+Math.imul(Y0,x0)|0,F=F+Math.imul(Y0,u0)|0,V=V+Math.imul(u,g0)|0,$=$+Math.imul(u,A0)|0,$=$+Math.imul(s,g0)|0,F=F+Math.imul(s,A0)|0;var Z2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(Z2>>>26)|0,Z2&=67108863,V=Math.imul(H0,F0),$=Math.imul(H0,q0),$=$+Math.imul(S0,F0)|0,F=Math.imul(S0,q0),V=V+Math.imul(R0,x0)|0,$=$+Math.imul(R0,u0)|0,$=$+Math.imul(z0,x0)|0,F=F+Math.imul(z0,u0)|0,V=V+Math.imul(t,g0)|0,$=$+Math.imul(t,A0)|0,$=$+Math.imul(Y0,g0)|0,F=F+Math.imul(Y0,A0)|0;var X2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(X2>>>26)|0,X2&=67108863,V=Math.imul(H0,x0),$=Math.imul(H0,u0),$=$+Math.imul(S0,x0)|0,F=Math.imul(S0,u0),V=V+Math.imul(R0,g0)|0,$=$+Math.imul(R0,A0)|0,$=$+Math.imul(z0,g0)|0,F=F+Math.imul(z0,A0)|0;var J2=(M+V|0)+(($&8191)<<13)|0;M=(F+($>>>13)|0)+(J2>>>26)|0,J2&=67108863,V=Math.imul(H0,g0),$=Math.imul(H0,A0),$=$+Math.imul(S0,g0)|0,F=Math.imul(S0,A0);var G2=(M+V|0)+(($&8191)<<13)|0;if(M=(F+($>>>13)|0)+(G2>>>26)|0,G2&=67108863,R[0]=g1,R[1]=I1,R[2]=G1,R[3]=C1,R[4]=M1,R[5]=m1,R[6]=r1,R[7]=n1,R[8]=s1,R[9]=i1,R[10]=a1,R[11]=t1,R[12]=e1,R[13]=U2,R[14]=Q2,R[15]=Z2,R[16]=X2,R[17]=J2,R[18]=G2,M!==0)R[19]=M,O.length++;return O};if(!Math.imul)_=k;function j(I,K,O){O.negative=K.negative^I.negative,O.length=I.length+K.length;var T=0,W=0;for(var R=0;R<O.length-1;R++){var M=W;W=0;var V=T&67108863,$=Math.min(R,K.length-1);for(var F=Math.max(0,R-I.length+1);F<=$;F++){var A=R-F,C=I.words[A]|0,N=K.words[F]|0,f=C*N,b=f&67108863;M=M+(f/67108864|0)|0,b=b+V|0,V=b&67108863,M=M+(b>>>26)|0,W+=M>>>26,M&=67108863}O.words[R]=V,T=M,M=W}if(T!==0)O.words[R]=T;else O.length--;return O.strip()}function B(I,K,O){var T=new y;return T.mulp(I,K,O)}G.prototype.mulTo=function(I,K){var O,T=this.length+I.length;if(this.length===10&&I.length===10)O=_(this,I,K);else if(T<63)O=k(this,I,K);else if(T<1024)O=j(this,I,K);else O=B(this,I,K);return O};function y(I,K){this.x=I,this.y=K}y.prototype.makeRBT=function(I){var K=Array(I),O=G.prototype._countBits(I)-1;for(var T=0;T<I;T++)K[T]=this.revBin(T,O,I);return K},y.prototype.revBin=function(I,K,O){if(I===0||I===O-1)return I;var T=0;for(var W=0;W<K;W++)T|=(I&1)<<K-W-1,I>>=1;return T},y.prototype.permute=function(I,K,O,T,W,R){for(var M=0;M<R;M++)T[M]=K[I[M]],W[M]=O[I[M]]},y.prototype.transform=function(I,K,O,T,W,R){this.permute(R,I,K,O,T,W);for(var M=1;M<W;M<<=1){var V=M<<1,$=Math.cos(2*Math.PI/V),F=Math.sin(2*Math.PI/V);for(var A=0;A<W;A+=V){var C=$,N=F;for(var f=0;f<M;f++){var b=O[A+f],i=T[A+f],D0=O[A+f+M],Q0=T[A+f+M],n=C*D0-N*Q0;if(Q0=C*Q0+N*D0,D0=n,O[A+f]=b+D0,T[A+f]=i+Q0,O[A+f+M]=b-D0,T[A+f+M]=i-Q0,f!==V)n=$*C-F*N,N=$*N+F*C,C=n}}}},y.prototype.guessLen13b=function(I,K){var O=Math.max(K,I)|1,T=O&1,W=0;for(O=O/2|0;O;O=O>>>1)W++;return 1<<W+1+T},y.prototype.conjugate=function(I,K,O){if(O<=1)return;for(var T=0;T<O/2;T++){var W=I[T];I[T]=I[O-T-1],I[O-T-1]=W,W=K[T],K[T]=-K[O-T-1],K[O-T-1]=-W}},y.prototype.normalize13b=function(I,K){var O=0;for(var T=0;T<K/2;T++){var W=Math.round(I[2*T+1]/K)*8192+Math.round(I[2*T]/K)+O;if(I[T]=W&67108863,W<67108864)O=0;else O=W/67108864|0}return I},y.prototype.convert13b=function(I,K,O,T){var W=0;for(var R=0;R<K;R++)W=W+(I[R]|0),O[2*R]=W&8191,W=W>>>13,O[2*R+1]=W&8191,W=W>>>13;for(R=2*K;R<T;++R)O[R]=0;J(W===0),J((W&-8192)===0)},y.prototype.stub=function(I){var K=Array(I);for(var O=0;O<I;O++)K[O]=0;return K},y.prototype.mulp=function(I,K,O){var T=2*this.guessLen13b(I.length,K.length),W=this.makeRBT(T),R=this.stub(T),M=Array(T),V=Array(T),$=Array(T),F=Array(T),A=Array(T),C=Array(T),N=O.words;N.length=T,this.convert13b(I.words,I.length,M,T),this.convert13b(K.words,K.length,F,T),this.transform(M,R,V,$,T,W),this.transform(F,R,A,C,T,W);for(var f=0;f<T;f++){var b=V[f]*A[f]-$[f]*C[f];$[f]=V[f]*C[f]+$[f]*A[f],V[f]=b}return this.conjugate(V,$,T),this.transform(V,$,N,R,T,W),this.conjugate(N,R,T),this.normalize13b(N,T),O.negative=I.negative^K.negative,O.length=I.length+K.length,O.strip()},G.prototype.mul=function(I){var K=new G(null);return K.words=Array(this.length+I.length),this.mulTo(I,K)},G.prototype.mulf=function(I){var K=new G(null);return K.words=Array(this.length+I.length),B(this,I,K)},G.prototype.imul=function(I){return this.clone().mulTo(I,this)},G.prototype.imuln=function(I){J(typeof I==="number"),J(I<67108864);var K=0;for(var O=0;O<this.length;O++){var T=(this.words[O]|0)*I,W=(T&67108863)+(K&67108863);K>>=26,K+=T/67108864|0,K+=W>>>26,this.words[O]=W&67108863}if(K!==0)this.words[O]=K,this.length++;return this.length=I===0?1:this.length,this},G.prototype.muln=function(I){return this.clone().imuln(I)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(I){var K=P(I);if(K.length===0)return new G(1);var O=this;for(var T=0;T<K.length;T++,O=O.sqr())if(K[T]!==0)break;if(++T<K.length)for(var W=O.sqr();T<K.length;T++,W=W.sqr()){if(K[T]===0)continue;O=O.mul(W)}return O},G.prototype.iushln=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=67108863>>>26-K<<26-K,W;if(K!==0){var R=0;for(W=0;W<this.length;W++){var M=this.words[W]&T,V=(this.words[W]|0)-M<<K;this.words[W]=V|R,R=M>>>26-K}if(R)this.words[W]=R,this.length++}if(O!==0){for(W=this.length-1;W>=0;W--)this.words[W+O]=this.words[W];for(W=0;W<O;W++)this.words[W]=0;this.length+=O}return this.strip()},G.prototype.ishln=function(I){return J(this.negative===0),this.iushln(I)},G.prototype.iushrn=function(I,K,O){J(typeof I==="number"&&I>=0);var T;if(K)T=(K-K%26)/26;else T=0;var W=I%26,R=Math.min((I-W)/26,this.length),M=67108863^67108863>>>W<<W,V=O;if(T-=R,T=Math.max(0,T),V){for(var $=0;$<R;$++)V.words[$]=this.words[$];V.length=R}if(R===0);else if(this.length>R){this.length-=R;for($=0;$<this.length;$++)this.words[$]=this.words[$+R]}else this.words[0]=0,this.length=1;var F=0;for($=this.length-1;$>=0&&(F!==0||$>=T);$--){var A=this.words[$]|0;this.words[$]=F<<26-W|A>>>W,F=A&M}if(V&&F!==0)V.words[V.length++]=F;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},G.prototype.ishrn=function(I,K,O){return J(this.negative===0),this.iushrn(I,K,O)},G.prototype.shln=function(I){return this.clone().ishln(I)},G.prototype.ushln=function(I){return this.clone().iushln(I)},G.prototype.shrn=function(I){return this.clone().ishrn(I)},G.prototype.ushrn=function(I){return this.clone().iushrn(I)},G.prototype.testn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return!1;var W=this.words[O];return!!(W&T)},G.prototype.imaskn=function(I){J(typeof I==="number"&&I>=0);var K=I%26,O=(I-K)/26;if(J(this.negative===0,"imaskn works only with positive numbers"),this.length<=O)return this;if(K!==0)O++;if(this.length=Math.min(O,this.length),K!==0){var T=67108863^67108863>>>K<<K;this.words[this.length-1]&=T}return this.strip()},G.prototype.maskn=function(I){return this.clone().imaskn(I)},G.prototype.iaddn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.isubn(-I);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<I)return this.words[0]=I-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(I),this.negative=1,this}return this._iaddn(I)},G.prototype._iaddn=function(I){this.words[0]+=I;for(var K=0;K<this.length&&this.words[K]>=67108864;K++)if(this.words[K]-=67108864,K===this.length-1)this.words[K+1]=1;else this.words[K+1]++;return this.length=Math.max(this.length,K+1),this},G.prototype.isubn=function(I){if(J(typeof I==="number"),J(I<67108864),I<0)return this.iaddn(-I);if(this.negative!==0)return this.negative=0,this.iaddn(I),this.negative=1,this;if(this.words[0]-=I,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var K=0;K<this.length&&this.words[K]<0;K++)this.words[K]+=67108864,this.words[K+1]-=1;return this.strip()},G.prototype.addn=function(I){return this.clone().iaddn(I)},G.prototype.subn=function(I){return this.clone().isubn(I)},G.prototype.iabs=function(){return this.negative=0,this},G.prototype.abs=function(){return this.clone().iabs()},G.prototype._ishlnsubmul=function(I,K,O){var T=I.length+O,W;this._expand(T);var R,M=0;for(W=0;W<I.length;W++){R=(this.words[W+O]|0)+M;var V=(I.words[W]|0)*K;R-=V&67108863,M=(R>>26)-(V/67108864|0),this.words[W+O]=R&67108863}for(;W<this.length-O;W++)R=(this.words[W+O]|0)+M,M=R>>26,this.words[W+O]=R&67108863;if(M===0)return this.strip();J(M===-1),M=0;for(W=0;W<this.length;W++)R=-(this.words[W]|0)+M,M=R>>26,this.words[W]=R&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(I,K){var O=this.length-I.length,T=this.clone(),W=I,R=W.words[W.length-1]|0,M=this._countBits(R);if(O=26-M,O!==0)W=W.ushln(O),T.iushln(O),R=W.words[W.length-1]|0;var V=T.length-W.length,$;if(K!=="mod"){$=new G(null),$.length=V+1,$.words=Array($.length);for(var F=0;F<$.length;F++)$.words[F]=0}var A=T.clone()._ishlnsubmul(W,1,V);if(A.negative===0){if(T=A,$)$.words[V]=1}for(var C=V-1;C>=0;C--){var N=(T.words[W.length+C]|0)*67108864+(T.words[W.length+C-1]|0);N=Math.min(N/R|0,67108863),T._ishlnsubmul(W,N,C);while(T.negative!==0)if(N--,T.negative=0,T._ishlnsubmul(W,1,C),!T.isZero())T.negative^=1;if($)$.words[C]=N}if($)$.strip();if(T.strip(),K!=="div"&&O!==0)T.iushrn(O);return{div:$||null,mod:T}},G.prototype.divmod=function(I,K,O){if(J(!I.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var T,W,R;if(this.negative!==0&&I.negative===0){if(R=this.neg().divmod(I,K),K!=="mod")T=R.div.neg();if(K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.iadd(I)}return{div:T,mod:W}}if(this.negative===0&&I.negative!==0){if(R=this.divmod(I.neg(),K),K!=="mod")T=R.div.neg();return{div:T,mod:R.mod}}if((this.negative&I.negative)!==0){if(R=this.neg().divmod(I.neg(),K),K!=="div"){if(W=R.mod.neg(),O&&W.negative!==0)W.isub(I)}return{div:R.div,mod:W}}if(I.length>this.length||this.cmp(I)<0)return{div:new G(0),mod:this};if(I.length===1){if(K==="div")return{div:this.divn(I.words[0]),mod:null};if(K==="mod")return{div:null,mod:new G(this.modn(I.words[0]))};return{div:this.divn(I.words[0]),mod:new G(this.modn(I.words[0]))}}return this._wordDiv(I,K)},G.prototype.div=function(I){return this.divmod(I,"div",!1).div},G.prototype.mod=function(I){return this.divmod(I,"mod",!1).mod},G.prototype.umod=function(I){return this.divmod(I,"mod",!0).mod},G.prototype.divRound=function(I){var K=this.divmod(I);if(K.mod.isZero())return K.div;var O=K.div.negative!==0?K.mod.isub(I):K.mod,T=I.ushrn(1),W=I.andln(1),R=O.cmp(T);if(R<0||W===1&&R===0)return K.div;return K.div.negative!==0?K.div.isubn(1):K.div.iaddn(1)},G.prototype.modn=function(I){J(I<=67108863);var K=67108864%I,O=0;for(var T=this.length-1;T>=0;T--)O=(K*O+(this.words[T]|0))%I;return O},G.prototype.idivn=function(I){J(I<=67108863);var K=0;for(var O=this.length-1;O>=0;O--){var T=(this.words[O]|0)+K*67108864;this.words[O]=T/I|0,K=T%I}return this.strip()},G.prototype.divn=function(I){return this.clone().idivn(I)},G.prototype.egcd=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=new G(0),M=new G(1),V=0;while(K.isEven()&&O.isEven())K.iushrn(1),O.iushrn(1),++V;var $=O.clone(),F=K.clone();while(!K.isZero()){for(var A=0,C=1;(K.words[0]&C)===0&&A<26;++A,C<<=1);if(A>0){K.iushrn(A);while(A-- >0){if(T.isOdd()||W.isOdd())T.iadd($),W.isub(F);T.iushrn(1),W.iushrn(1)}}for(var N=0,f=1;(O.words[0]&f)===0&&N<26;++N,f<<=1);if(N>0){O.iushrn(N);while(N-- >0){if(R.isOdd()||M.isOdd())R.iadd($),M.isub(F);R.iushrn(1),M.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(R),W.isub(M);else O.isub(K),R.isub(T),M.isub(W)}return{a:R,b:M,gcd:O.iushln(V)}},G.prototype._invmp=function(I){J(I.negative===0),J(!I.isZero());var K=this,O=I.clone();if(K.negative!==0)K=K.umod(I);else K=K.clone();var T=new G(1),W=new G(0),R=O.clone();while(K.cmpn(1)>0&&O.cmpn(1)>0){for(var M=0,V=1;(K.words[0]&V)===0&&M<26;++M,V<<=1);if(M>0){K.iushrn(M);while(M-- >0){if(T.isOdd())T.iadd(R);T.iushrn(1)}}for(var $=0,F=1;(O.words[0]&F)===0&&$<26;++$,F<<=1);if($>0){O.iushrn($);while($-- >0){if(W.isOdd())W.iadd(R);W.iushrn(1)}}if(K.cmp(O)>=0)K.isub(O),T.isub(W);else O.isub(K),W.isub(T)}var A;if(K.cmpn(1)===0)A=T;else A=W;if(A.cmpn(0)<0)A.iadd(I);return A},G.prototype.gcd=function(I){if(this.isZero())return I.abs();if(I.isZero())return this.abs();var K=this.clone(),O=I.clone();K.negative=0,O.negative=0;for(var T=0;K.isEven()&&O.isEven();T++)K.iushrn(1),O.iushrn(1);do{while(K.isEven())K.iushrn(1);while(O.isEven())O.iushrn(1);var W=K.cmp(O);if(W<0){var R=K;K=O,O=R}else if(W===0||O.cmpn(1)===0)break;K.isub(O)}while(!0);return O.iushln(T)},G.prototype.invm=function(I){return this.egcd(I).a.umod(I)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(I){return this.words[0]&I},G.prototype.bincn=function(I){J(typeof I==="number");var K=I%26,O=(I-K)/26,T=1<<K;if(this.length<=O)return this._expand(O+1),this.words[O]|=T,this;var W=T;for(var R=O;W!==0&&R<this.length;R++){var M=this.words[R]|0;M+=W,W=M>>>26,M&=67108863,this.words[R]=M}if(W!==0)this.words[R]=W,this.length++;return this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(I){var K=I<0;if(this.negative!==0&&!K)return-1;if(this.negative===0&&K)return 1;this.strip();var O;if(this.length>1)O=1;else{if(K)I=-I;J(I<=67108863,"Number is too big");var T=this.words[0]|0;O=T===I?0:T<I?-1:1}if(this.negative!==0)return-O|0;return O},G.prototype.cmp=function(I){if(this.negative!==0&&I.negative===0)return-1;if(this.negative===0&&I.negative!==0)return 1;var K=this.ucmp(I);if(this.negative!==0)return-K|0;return K},G.prototype.ucmp=function(I){if(this.length>I.length)return 1;if(this.length<I.length)return-1;var K=0;for(var O=this.length-1;O>=0;O--){var T=this.words[O]|0,W=I.words[O]|0;if(T===W)continue;if(T<W)K=-1;else if(T>W)K=1;break}return K},G.prototype.gtn=function(I){return this.cmpn(I)===1},G.prototype.gt=function(I){return this.cmp(I)===1},G.prototype.gten=function(I){return this.cmpn(I)>=0},G.prototype.gte=function(I){return this.cmp(I)>=0},G.prototype.ltn=function(I){return this.cmpn(I)===-1},G.prototype.lt=function(I){return this.cmp(I)===-1},G.prototype.lten=function(I){return this.cmpn(I)<=0},G.prototype.lte=function(I){return this.cmp(I)<=0},G.prototype.eqn=function(I){return this.cmpn(I)===0},G.prototype.eq=function(I){return this.cmp(I)===0},G.red=function(I){return new d(I)},G.prototype.toRed=function(I){return J(!this.red,"Already a number in reduction context"),J(this.negative===0,"red works only with positives"),I.convertTo(this)._forceRed(I)},G.prototype.fromRed=function(){return J(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(I){return this.red=I,this},G.prototype.forceRed=function(I){return J(!this.red,"Already a number in reduction context"),this._forceRed(I)},G.prototype.redAdd=function(I){return J(this.red,"redAdd works only with red numbers"),this.red.add(this,I)},G.prototype.redIAdd=function(I){return J(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,I)},G.prototype.redSub=function(I){return J(this.red,"redSub works only with red numbers"),this.red.sub(this,I)},G.prototype.redISub=function(I){return J(this.red,"redISub works only with red numbers"),this.red.isub(this,I)},G.prototype.redShl=function(I){return J(this.red,"redShl works only with red numbers"),this.red.shl(this,I)},G.prototype.redMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.mul(this,I)},G.prototype.redIMul=function(I){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.imul(this,I)},G.prototype.redSqr=function(){return J(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return J(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return J(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return J(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return J(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(I){return J(this.red&&!I.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,I)};var x={k256:null,p224:null,p192:null,p25519:null};function h(I,K){this.name=I,this.p=new G(K,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}h.prototype._tmp=function(){var I=new G(null);return I.words=Array(Math.ceil(this.n/13)),I},h.prototype.ireduce=function(I){var K=I,O;do this.split(K,this.tmp),K=this.imulK(K),K=K.iadd(this.tmp),O=K.bitLength();while(O>this.n);var T=O<this.n?-1:K.ucmp(this.p);if(T===0)K.words[0]=0,K.length=1;else if(T>0)K.isub(this.p);else if(K.strip!==void 0)K.strip();else K._strip();return K},h.prototype.split=function(I,K){I.iushrn(this.n,0,K)},h.prototype.imulK=function(I){return I.imul(this.k)};function r(){h.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Y(r,h),r.prototype.split=function(I,K){var O=4194303,T=Math.min(I.length,9);for(var W=0;W<T;W++)K.words[W]=I.words[W];if(K.length=T,I.length<=9){I.words[0]=0,I.length=1;return}var R=I.words[9];K.words[K.length++]=R&O;for(W=10;W<I.length;W++){var M=I.words[W]|0;I.words[W-10]=(M&O)<<4|R>>>22,R=M}if(R>>>=22,I.words[W-10]=R,R===0&&I.length>10)I.length-=10;else I.length-=9},r.prototype.imulK=function(I){I.words[I.length]=0,I.words[I.length+1]=0,I.length+=2;var K=0;for(var O=0;O<I.length;O++){var T=I.words[O]|0;K+=T*977,I.words[O]=K&67108863,K=T*64+(K/67108864|0)}if(I.words[I.length-1]===0){if(I.length--,I.words[I.length-1]===0)I.length--}return I};function T0(){h.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}Y(T0,h);function L0(){h.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}Y(L0,h);function I0(){h.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}Y(I0,h),I0.prototype.imulK=function(I){var K=0;for(var O=0;O<I.length;O++){var T=(I.words[O]|0)*19+K,W=T&67108863;T>>>=26,I.words[O]=W,K=T}if(K!==0)I.words[I.length++]=K;return I},G._prime=function(I){if(x[I])return x[I];var K;if(I==="k256")K=new r;else if(I==="p224")K=new T0;else if(I==="p192")K=new L0;else if(I==="p25519")K=new I0;else throw Error("Unknown prime "+I);return x[I]=K,K};function d(I){if(typeof I==="string"){var K=G._prime(I);this.m=K.p,this.prime=K}else J(I.gtn(1),"modulus must be greater than 1"),this.m=I,this.prime=null}d.prototype._verify1=function(I){J(I.negative===0,"red works only with positives"),J(I.red,"red works only with red numbers")},d.prototype._verify2=function(I,K){J((I.negative|K.negative)===0,"red works only with positives"),J(I.red&&I.red===K.red,"red works only with red numbers")},d.prototype.imod=function(I){if(this.prime)return this.prime.ireduce(I)._forceRed(this);return I.umod(this.m)._forceRed(this)},d.prototype.neg=function(I){if(I.isZero())return I.clone();return this.m.sub(I)._forceRed(this)},d.prototype.add=function(I,K){this._verify2(I,K);var O=I.add(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O._forceRed(this)},d.prototype.iadd=function(I,K){this._verify2(I,K);var O=I.iadd(K);if(O.cmp(this.m)>=0)O.isub(this.m);return O},d.prototype.sub=function(I,K){this._verify2(I,K);var O=I.sub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O._forceRed(this)},d.prototype.isub=function(I,K){this._verify2(I,K);var O=I.isub(K);if(O.cmpn(0)<0)O.iadd(this.m);return O},d.prototype.shl=function(I,K){return this._verify1(I),this.imod(I.ushln(K))},d.prototype.imul=function(I,K){return this._verify2(I,K),this.imod(I.imul(K))},d.prototype.mul=function(I,K){return this._verify2(I,K),this.imod(I.mul(K))},d.prototype.isqr=function(I){return this.imul(I,I.clone())},d.prototype.sqr=function(I){return this.mul(I,I)},d.prototype.sqrt=function(I){if(I.isZero())return I.clone();var K=this.m.andln(3);if(J(K%2===1),K===3){var O=this.m.add(new G(1)).iushrn(2);return this.pow(I,O)}var T=this.m.subn(1),W=0;while(!T.isZero()&&T.andln(1)===0)W++,T.iushrn(1);J(!T.isZero());var R=new G(1).toRed(this),M=R.redNeg(),V=this.m.subn(1).iushrn(1),$=this.m.bitLength();$=new G(2*$*$).toRed(this);while(this.pow($,V).cmp(M)!==0)$.redIAdd(M);var F=this.pow($,T),A=this.pow(I,T.addn(1).iushrn(1)),C=this.pow(I,T),N=W;while(C.cmp(R)!==0){var f=C;for(var b=0;f.cmp(R)!==0;b++)f=f.redSqr();J(b<N);var i=this.pow(F,new G(1).iushln(N-b-1));A=A.redMul(i),F=i.redSqr(),C=C.redMul(F),N=b}return A},d.prototype.invm=function(I){var K=I._invmp(this.m);if(K.negative!==0)return K.negative=0,this.imod(K).redNeg();else return this.imod(K)},d.prototype.pow=function(I,K){if(K.isZero())return new G(1).toRed(this);if(K.cmpn(1)===0)return I.clone();var O=4,T=Array(1<<O);T[0]=new G(1).toRed(this),T[1]=I;for(var W=2;W<T.length;W++)T[W]=this.mul(T[W-1],I);var R=T[0],M=0,V=0,$=K.bitLength()%26;if($===0)$=26;for(W=K.length-1;W>=0;W--){var F=K.words[W];for(var A=$-1;A>=0;A--){var C=F>>A&1;if(R!==T[0])R=this.sqr(R);if(C===0&&M===0){V=0;continue}if(M<<=1,M|=C,V++,V!==O&&(W!==0||A!==0))continue;R=this.mul(R,T[M]),V=0,M=0}$=26}return R},d.prototype.convertTo=function(I){var K=I.umod(this.m);return K===I?K.clone():K},d.prototype.convertFrom=function(I){var K=I.clone();return K.red=null,K},G.mont=function(I){return new J0(I)};function J0(I){if(d.call(this,I),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Y(J0,d),J0.prototype.convertTo=function(I){return this.imod(I.ushln(this.shift))},J0.prototype.convertFrom=function(I){var K=this.imod(I.mul(this.rinv));return K.red=null,K},J0.prototype.imul=function(I,K){if(I.isZero()||K.isZero())return I.words[0]=0,I.length=1,I;var O=I.imul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.mul=function(I,K){if(I.isZero()||K.isZero())return new G(0)._forceRed(this);var O=I.mul(K),T=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),W=O.isub(T).iushrn(this.shift),R=W;if(W.cmp(this.m)>=0)R=W.isub(this.m);else if(W.cmpn(0)<0)R=W.iadd(this.m);return R._forceRed(this)},J0.prototype.invm=function(I){var K=this.imod(I._invmp(this.m).mul(this.r2));return K._forceRed(this)}})(typeof Q>"u"||Q,U)}),z$=O0((U,Q)=>{var Z=FZ(),X=B2().Buffer;function J(Y,G){return X.from(Y.toRed(Z.mont(G.modulus)).redPow(new Z(G.publicExponent)).fromRed().toArray())}Q.exports=J}),yL=O0((U,Q)=>{(function(Z,X){function J(T,W){if(!T)throw Error(W||"Assertion failed")}function Y(T,W){T.super_=W;var R=function(){};R.prototype=W.prototype,T.prototype=new R,T.prototype.constructor=T}function G(T,W,R){if(G.isBN(T))return T;if(this.negative=0,this.words=null,this.length=0,this.red=null,T!==null){if(W==="le"||W==="be")R=W,W=10;this._init(T||0,W||10,R||"be")}}if(typeof Z==="object")Z.exports=G;else X.BN=G;G.BN=G,G.wordSize=26;var L;try{if(typeof window<"u"&&typeof window.Buffer<"u")L=window.Buffer;else L=(V2(),L1(L2)).Buffer}catch(T){}G.isBN=function(T){if(T instanceof G)return!0;return T!==null&&typeof T==="object"&&T.constructor.wordSize===G.wordSize&&Array.isArray(T.words)},G.max=function(T,W){if(T.cmp(W)>0)return T;return W},G.min=function(T,W){if(T.cmp(W)<0)return T;return W},G.prototype._init=function(T,W,R){if(typeof T==="number")return this._initNumber(T,W,R);if(typeof T==="object")return this._initArray(T,W,R);if(W==="hex")W=16;J(W===(W|0)&&W>=2&&W<=36),T=T.toString().replace(/\s+/g,"");var M=0;if(T[0]==="-")M++,this.negative=1;if(M<T.length){if(W===16)this._parseHex(T,M,R);else if(this._parseBase(T,W,M),R==="le")this._initArray(this.toArray(),W,R)}},G.prototype._initNumber=function(T,W,R){if(T<0)this.negative=1,T=-T;if(T<67108864)this.words=[T&67108863],this.length=1;else if(T<4503599627370496)this.words=[T&67108863,T/67108864&67108863],this.length=2;else J(T<9007199254740992),this.words=[T&67108863,T/67108864&67108863,1],this.length=3;if(R!=="le")return;this._initArray(this.toArray(),W,R)},G.prototype._initArray=function(T,W,R){if(J(typeof T.length==="number"),T.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(T.length/3),this.words=Array(this.length);for(var M=0;M<this.length;M++)this.words[M]=0;var V,$,F=0;if(R==="be"){for(M=T.length-1,V=0;M>=0;M-=3)if($=T[M]|T[M-1]<<8|T[M-2]<<16,this.words[V]|=$<<F&67108863,this.words[V+1]=$>>>26-F&67108863,F+=24,F>=26)F-=26,V++}else if(R==="le"){for(M=0,V=0;M<T.length;M+=3)if($=T[M]|T[M+1]<<8|T[M+2]<<16,this.words[V]|=$<<F&67108863,this.words[V+1]=$>>>26-F&67108863,F+=24,F>=26)F-=26,V++}return this._strip()};function z(T,W){var R=T.charCodeAt(W);if(R>=48&&R<=57)return R-48;else if(R>=65&&R<=70)return R-55;else if(R>=97&&R<=102)return R-87;else J(!1,"Invalid character in "+T)}function D(T,W,R){var M=z(T,R);if(R-1>=W)M|=z(T,R-1)<<4;return M}G.prototype._parseHex=function(T,W,R){this.length=Math.ceil((T.length-W)/6),this.words=Array(this.length);for(var M=0;M<this.length;M++)this.words[M]=0;var V=0,$=0,F;if(R==="be")for(M=T.length-1;M>=W;M-=2)if(F=D(T,W,M)<<V,this.words[$]|=F&67108863,V>=18)V-=18,$+=1,this.words[$]|=F>>>26;else V+=8;else{var A=T.length-W;for(M=A%2===0?W+1:W;M<T.length;M+=2)if(F=D(T,W,M)<<V,this.words[$]|=F&67108863,V>=18)V-=18,$+=1,this.words[$]|=F>>>26;else V+=8}this._strip()};function S(T,W,R,M){var V=0,$=0,F=Math.min(T.length,R);for(var A=W;A<F;A++){var C=T.charCodeAt(A)-48;if(V*=M,C>=49)$=C-49+10;else if(C>=17)$=C-17+10;else $=C;J(C>=0&&$<M,"Invalid character"),V+=$}return V}G.prototype._parseBase=function(T,W,R){this.words=[0],this.length=1;for(var M=0,V=1;V<=67108863;V*=W)M++;M--,V=V/W|0;var $=T.length-R,F=$%M,A=Math.min($,$-F)+R,C=0;for(var N=R;N<A;N+=M)if(C=S(T,N,N+M,W),this.imuln(V),this.words[0]+C<67108864)this.words[0]+=C;else this._iaddn(C);if(F!==0){var f=1;C=S(T,N,T.length,W);for(N=0;N<F;N++)f*=W;if(this.imuln(f),this.words[0]+C<67108864)this.words[0]+=C;else this._iaddn(C)}this._strip()},G.prototype.copy=function(T){T.words=Array(this.length);for(var W=0;W<this.length;W++)T.words[W]=this.words[W];T.length=this.length,T.negative=this.negative,T.red=this.red};function H(T,W){T.words=W.words,T.length=W.length,T.negative=W.negative,T.red=W.red}if(G.prototype._move=function(T){H(T,this)},G.prototype.clone=function(){var T=new G(null);return this.copy(T),T},G.prototype._expand=function(T){while(this.length<T)this.words[this.length++]=0;return this},G.prototype._strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},G.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},typeof Symbol<"u"&&typeof Symbol.for==="function")try{G.prototype[Symbol.for("nodejs.util.inspect.custom")]=q}catch(T){G.prototype.inspect=q}else G.prototype.inspect=q;function q(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var E=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],P=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],k=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(G.prototype.toString=function(T,W){T=T||10,W=W|0||1;var R;if(T===16||T==="hex"){R="";var M=0,V=0;for(var $=0;$<this.length;$++){var F=this.words[$],A=((F<<M|V)&16777215).toString(16);if(V=F>>>24-M&16777215,M+=2,M>=26)M-=26,$--;if(V!==0||$!==this.length-1)R=E[6-A.length]+A+R;else R=A+R}if(V!==0)R=V.toString(16)+R;while(R.length%W!==0)R="0"+R;if(this.negative!==0)R="-"+R;return R}if(T===(T|0)&&T>=2&&T<=36){var C=P[T],N=k[T];R="";var f=this.clone();f.negative=0;while(!f.isZero()){var b=f.modrn(N).toString(T);if(f=f.idivn(N),!f.isZero())R=E[C-b.length]+b+R;else R=b+R}if(this.isZero())R="0"+R;while(R.length%W!==0)R="0"+R;if(this.negative!==0)R="-"+R;return R}J(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var T=this.words[0];if(this.length===2)T+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)T+=4503599627370496+this.words[1]*67108864;else if(this.length>2)J(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-T:T},G.prototype.toJSON=function(){return this.toString(16,2)},L)G.prototype.toBuffer=function(T,W){return this.toArrayLike(L,T,W)};G.prototype.toArray=function(T,W){return this.toArrayLike(Array,T,W)};var _=function(T,W){if(T.allocUnsafe)return T.allocUnsafe(W);return new T(W)};if(G.prototype.toArrayLike=function(T,W,R){this._strip();var M=this.byteLength(),V=R||Math.max(1,M);J(M<=V,"byte array longer than desired length"),J(V>0,"Requested array length <= 0");var $=_(T,V),F=W==="le"?"LE":"BE";return this["_toArrayLike"+F]($,M),$},G.prototype._toArrayLikeLE=function(T,W){var R=0,M=0;for(var V=0,$=0;V<this.length;V++){var F=this.words[V]<<$|M;if(T[R++]=F&255,R<T.length)T[R++]=F>>8&255;if(R<T.length)T[R++]=F>>16&255;if($===6){if(R<T.length)T[R++]=F>>24&255;M=0,$=0}else M=F>>>24,$+=2}if(R<T.length){T[R++]=M;while(R<T.length)T[R++]=0}},G.prototype._toArrayLikeBE=function(T,W){var R=T.length-1,M=0;for(var V=0,$=0;V<this.length;V++){var F=this.words[V]<<$|M;if(T[R--]=F&255,R>=0)T[R--]=F>>8&255;if(R>=0)T[R--]=F>>16&255;if($===6){if(R>=0)T[R--]=F>>24&255;M=0,$=0}else M=F>>>24,$+=2}if(R>=0){T[R--]=M;while(R>=0)T[R--]=0}},Math.clz32)G.prototype._countBits=function(T){return 32-Math.clz32(T)};else G.prototype._countBits=function(T){var W=T,R=0;if(W>=4096)R+=13,W>>>=13;if(W>=64)R+=7,W>>>=7;if(W>=8)R+=4,W>>>=4;if(W>=2)R+=2,W>>>=2;return R+W};G.prototype._zeroBits=function(T){if(T===0)return 26;var W=T,R=0;if((W&8191)===0)R+=13,W>>>=13;if((W&127)===0)R+=7,W>>>=7;if((W&15)===0)R+=4,W>>>=4;if((W&3)===0)R+=2,W>>>=2;if((W&1)===0)R++;return R},G.prototype.bitLength=function(){var T=this.words[this.length-1],W=this._countBits(T);return(this.length-1)*26+W};function j(T){var W=Array(T.bitLength());for(var R=0;R<W.length;R++){var M=R/26|0,V=R%26;W[R]=T.words[M]>>>V&1}return W}G.prototype.zeroBits=function(){if(this.isZero())return 0;var T=0;for(var W=0;W<this.length;W++){var R=this._zeroBits(this.words[W]);if(T+=R,R!==26)break}return T},G.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},G.prototype.toTwos=function(T){if(this.negative!==0)return this.abs().inotn(T).iaddn(1);return this.clone()},G.prototype.fromTwos=function(T){if(this.testn(T-1))return this.notn(T).iaddn(1).ineg();return this.clone()},G.prototype.isNeg=function(){return this.negative!==0},G.prototype.neg=function(){return this.clone().ineg()},G.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},G.prototype.iuor=function(T){while(this.length<T.length)this.words[this.length++]=0;for(var W=0;W<T.length;W++)this.words[W]=this.words[W]|T.words[W];return this._strip()},G.prototype.ior=function(T){return J((this.negative|T.negative)===0),this.iuor(T)},G.prototype.or=function(T){if(this.length>T.length)return this.clone().ior(T);return T.clone().ior(this)},G.prototype.uor=function(T){if(this.length>T.length)return this.clone().iuor(T);return T.clone().iuor(this)},G.prototype.iuand=function(T){var W;if(this.length>T.length)W=T;else W=this;for(var R=0;R<W.length;R++)this.words[R]=this.words[R]&T.words[R];return this.length=W.length,this._strip()},G.prototype.iand=function(T){return J((this.negative|T.negative)===0),this.iuand(T)},G.prototype.and=function(T){if(this.length>T.length)return this.clone().iand(T);return T.clone().iand(this)},G.prototype.uand=function(T){if(this.length>T.length)return this.clone().iuand(T);return T.clone().iuand(this)},G.prototype.iuxor=function(T){var W,R;if(this.length>T.length)W=this,R=T;else W=T,R=this;for(var M=0;M<R.length;M++)this.words[M]=W.words[M]^R.words[M];if(this!==W)for(;M<W.length;M++)this.words[M]=W.words[M];return this.length=W.length,this._strip()},G.prototype.ixor=function(T){return J((this.negative|T.negative)===0),this.iuxor(T)},G.prototype.xor=function(T){if(this.length>T.length)return this.clone().ixor(T);return T.clone().ixor(this)},G.prototype.uxor=function(T){if(this.length>T.length)return this.clone().iuxor(T);return T.clone().iuxor(this)},G.prototype.inotn=function(T){J(typeof T==="number"&&T>=0);var W=Math.ceil(T/26)|0,R=T%26;if(this._expand(W),R>0)W--;for(var M=0;M<W;M++)this.words[M]=~this.words[M]&67108863;if(R>0)this.words[M]=~this.words[M]&67108863>>26-R;return this._strip()},G.prototype.notn=function(T){return this.clone().inotn(T)},G.prototype.setn=function(T,W){J(typeof T==="number"&&T>=0);var R=T/26|0,M=T%26;if(this._expand(R+1),W)this.words[R]=this.words[R]|1<<M;else this.words[R]=this.words[R]&~(1<<M);return this._strip()},G.prototype.iadd=function(T){var W;if(this.negative!==0&&T.negative===0)return this.negative=0,W=this.isub(T),this.negative^=1,this._normSign();else if(this.negative===0&&T.negative!==0)return T.negative=0,W=this.isub(T),T.negative=1,W._normSign();var R,M;if(this.length>T.length)R=this,M=T;else R=T,M=this;var V=0;for(var $=0;$<M.length;$++)W=(R.words[$]|0)+(M.words[$]|0)+V,this.words[$]=W&67108863,V=W>>>26;for(;V!==0&&$<R.length;$++)W=(R.words[$]|0)+V,this.words[$]=W&67108863,V=W>>>26;if(this.length=R.length,V!==0)this.words[this.length]=V,this.length++;else if(R!==this)for(;$<R.length;$++)this.words[$]=R.words[$];return this},G.prototype.add=function(T){var W;if(T.negative!==0&&this.negative===0)return T.negative=0,W=this.sub(T),T.negative^=1,W;else if(T.negative===0&&this.negative!==0)return this.negative=0,W=T.sub(this),this.negative=1,W;if(this.length>T.length)return this.clone().iadd(T);return T.clone().iadd(this)},G.prototype.isub=function(T){if(T.negative!==0){T.negative=0;var W=this.iadd(T);return T.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(T),this.negative=1,this._normSign();var R=this.cmp(T);if(R===0)return this.negative=0,this.length=1,this.words[0]=0,this;var M,V;if(R>0)M=this,V=T;else M=T,V=this;var $=0;for(var F=0;F<V.length;F++)W=(M.words[F]|0)-(V.words[F]|0)+$,$=W>>26,this.words[F]=W&67108863;for(;$!==0&&F<M.length;F++)W=(M.words[F]|0)+$,$=W>>26,this.words[F]=W&67108863;if($===0&&F<M.length&&M!==this)for(;F<M.length;F++)this.words[F]=M.words[F];if(this.length=Math.max(this.length,F),M!==this)this.negative=1;return this._strip()},G.prototype.sub=function(T){return this.clone().isub(T)};function B(T,W,R){R.negative=W.negative^T.negative;var M=T.length+W.length|0;R.length=M,M=M-1|0;var V=T.words[0]|0,$=W.words[0]|0,F=V*$,A=F&67108863,C=F/67108864|0;R.words[0]=A;for(var N=1;N<M;N++){var f=C>>>26,b=C&67108863,i=Math.min(N,W.length-1);for(var D0=Math.max(0,N-T.length+1);D0<=i;D0++){var Q0=N-D0|0;V=T.words[Q0]|0,$=W.words[D0]|0,F=V*$+b,f+=F/67108864|0,b=F&67108863}R.words[N]=b|0,C=f|0}if(C!==0)R.words[N]=C|0;else R.length--;return R._strip()}var y=function(T,W,R){var M=T.words,V=W.words,$=R.words,F=0,A,C,N,f=M[0]|0,b=f&8191,i=f>>>13,D0=M[1]|0,Q0=D0&8191,n=D0>>>13,K0=M[2]|0,a=K0&8191,G0=K0>>>13,m0=M[3]|0,c=m0&8191,l=m0>>>13,W0=M[4]|0,e=W0&8191,X0=W0>>>13,j0=M[5]|0,u=j0&8191,s=j0>>>13,b0=M[6]|0,t=b0&8191,Y0=b0>>>13,e0=M[7]|0,R0=e0&8191,z0=e0>>>13,y1=M[8]|0,H0=y1&8191,S0=y1>>>13,h1=M[9]|0,_0=h1&8191,E0=h1>>>13,q2=V[0]|0,B0=q2&8191,f0=q2>>>13,C2=V[1]|0,p0=C2&8191,N0=C2>>>13,H2=V[2]|0,v0=H2&8191,w0=H2>>>13,K2=V[3]|0,h0=K2&8191,c0=K2>>>13,W2=V[4]|0,y0=W2&8191,g=W2>>>13,o=V[5]|0,Z0=o&8191,$0=o>>>13,r0=V[6]|0,F0=r0&8191,q0=r0>>>13,x1=V[7]|0,x0=x1&8191,u0=x1>>>13,F2=V[8]|0,g0=F2&8191,A0=F2>>>13,g1=V[9]|0,I1=g1&8191,G1=g1>>>13;R.negative=T.negative^W.negative,R.length=19,A=Math.imul(b,B0),C=Math.imul(b,f0),C=C+Math.imul(i,B0)|0,N=Math.imul(i,f0);var C1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(C1>>>26)|0,C1&=67108863,A=Math.imul(Q0,B0),C=Math.imul(Q0,f0),C=C+Math.imul(n,B0)|0,N=Math.imul(n,f0),A=A+Math.imul(b,p0)|0,C=C+Math.imul(b,N0)|0,C=C+Math.imul(i,p0)|0,N=N+Math.imul(i,N0)|0;var M1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(M1>>>26)|0,M1&=67108863,A=Math.imul(a,B0),C=Math.imul(a,f0),C=C+Math.imul(G0,B0)|0,N=Math.imul(G0,f0),A=A+Math.imul(Q0,p0)|0,C=C+Math.imul(Q0,N0)|0,C=C+Math.imul(n,p0)|0,N=N+Math.imul(n,N0)|0,A=A+Math.imul(b,v0)|0,C=C+Math.imul(b,w0)|0,C=C+Math.imul(i,v0)|0,N=N+Math.imul(i,w0)|0;var m1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(m1>>>26)|0,m1&=67108863,A=Math.imul(c,B0),C=Math.imul(c,f0),C=C+Math.imul(l,B0)|0,N=Math.imul(l,f0),A=A+Math.imul(a,p0)|0,C=C+Math.imul(a,N0)|0,C=C+Math.imul(G0,p0)|0,N=N+Math.imul(G0,N0)|0,A=A+Math.imul(Q0,v0)|0,C=C+Math.imul(Q0,w0)|0,C=C+Math.imul(n,v0)|0,N=N+Math.imul(n,w0)|0,A=A+Math.imul(b,h0)|0,C=C+Math.imul(b,c0)|0,C=C+Math.imul(i,h0)|0,N=N+Math.imul(i,c0)|0;var r1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(r1>>>26)|0,r1&=67108863,A=Math.imul(e,B0),C=Math.imul(e,f0),C=C+Math.imul(X0,B0)|0,N=Math.imul(X0,f0),A=A+Math.imul(c,p0)|0,C=C+Math.imul(c,N0)|0,C=C+Math.imul(l,p0)|0,N=N+Math.imul(l,N0)|0,A=A+Math.imul(a,v0)|0,C=C+Math.imul(a,w0)|0,C=C+Math.imul(G0,v0)|0,N=N+Math.imul(G0,w0)|0,A=A+Math.imul(Q0,h0)|0,C=C+Math.imul(Q0,c0)|0,C=C+Math.imul(n,h0)|0,N=N+Math.imul(n,c0)|0,A=A+Math.imul(b,y0)|0,C=C+Math.imul(b,g)|0,C=C+Math.imul(i,y0)|0,N=N+Math.imul(i,g)|0;var n1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(n1>>>26)|0,n1&=67108863,A=Math.imul(u,B0),C=Math.imul(u,f0),C=C+Math.imul(s,B0)|0,N=Math.imul(s,f0),A=A+Math.imul(e,p0)|0,C=C+Math.imul(e,N0)|0,C=C+Math.imul(X0,p0)|0,N=N+Math.imul(X0,N0)|0,A=A+Math.imul(c,v0)|0,C=C+Math.imul(c,w0)|0,C=C+Math.imul(l,v0)|0,N=N+Math.imul(l,w0)|0,A=A+Math.imul(a,h0)|0,C=C+Math.imul(a,c0)|0,C=C+Math.imul(G0,h0)|0,N=N+Math.imul(G0,c0)|0,A=A+Math.imul(Q0,y0)|0,C=C+Math.imul(Q0,g)|0,C=C+Math.imul(n,y0)|0,N=N+Math.imul(n,g)|0,A=A+Math.imul(b,Z0)|0,C=C+Math.imul(b,$0)|0,C=C+Math.imul(i,Z0)|0,N=N+Math.imul(i,$0)|0;var s1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(s1>>>26)|0,s1&=67108863,A=Math.imul(t,B0),C=Math.imul(t,f0),C=C+Math.imul(Y0,B0)|0,N=Math.imul(Y0,f0),A=A+Math.imul(u,p0)|0,C=C+Math.imul(u,N0)|0,C=C+Math.imul(s,p0)|0,N=N+Math.imul(s,N0)|0,A=A+Math.imul(e,v0)|0,C=C+Math.imul(e,w0)|0,C=C+Math.imul(X0,v0)|0,N=N+Math.imul(X0,w0)|0,A=A+Math.imul(c,h0)|0,C=C+Math.imul(c,c0)|0,C=C+Math.imul(l,h0)|0,N=N+Math.imul(l,c0)|0,A=A+Math.imul(a,y0)|0,C=C+Math.imul(a,g)|0,C=C+Math.imul(G0,y0)|0,N=N+Math.imul(G0,g)|0,A=A+Math.imul(Q0,Z0)|0,C=C+Math.imul(Q0,$0)|0,C=C+Math.imul(n,Z0)|0,N=N+Math.imul(n,$0)|0,A=A+Math.imul(b,F0)|0,C=C+Math.imul(b,q0)|0,C=C+Math.imul(i,F0)|0,N=N+Math.imul(i,q0)|0;var i1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(i1>>>26)|0,i1&=67108863,A=Math.imul(R0,B0),C=Math.imul(R0,f0),C=C+Math.imul(z0,B0)|0,N=Math.imul(z0,f0),A=A+Math.imul(t,p0)|0,C=C+Math.imul(t,N0)|0,C=C+Math.imul(Y0,p0)|0,N=N+Math.imul(Y0,N0)|0,A=A+Math.imul(u,v0)|0,C=C+Math.imul(u,w0)|0,C=C+Math.imul(s,v0)|0,N=N+Math.imul(s,w0)|0,A=A+Math.imul(e,h0)|0,C=C+Math.imul(e,c0)|0,C=C+Math.imul(X0,h0)|0,N=N+Math.imul(X0,c0)|0,A=A+Math.imul(c,y0)|0,C=C+Math.imul(c,g)|0,C=C+Math.imul(l,y0)|0,N=N+Math.imul(l,g)|0,A=A+Math.imul(a,Z0)|0,C=C+Math.imul(a,$0)|0,C=C+Math.imul(G0,Z0)|0,N=N+Math.imul(G0,$0)|0,A=A+Math.imul(Q0,F0)|0,C=C+Math.imul(Q0,q0)|0,C=C+Math.imul(n,F0)|0,N=N+Math.imul(n,q0)|0,A=A+Math.imul(b,x0)|0,C=C+Math.imul(b,u0)|0,C=C+Math.imul(i,x0)|0,N=N+Math.imul(i,u0)|0;var a1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(a1>>>26)|0,a1&=67108863,A=Math.imul(H0,B0),C=Math.imul(H0,f0),C=C+Math.imul(S0,B0)|0,N=Math.imul(S0,f0),A=A+Math.imul(R0,p0)|0,C=C+Math.imul(R0,N0)|0,C=C+Math.imul(z0,p0)|0,N=N+Math.imul(z0,N0)|0,A=A+Math.imul(t,v0)|0,C=C+Math.imul(t,w0)|0,C=C+Math.imul(Y0,v0)|0,N=N+Math.imul(Y0,w0)|0,A=A+Math.imul(u,h0)|0,C=C+Math.imul(u,c0)|0,C=C+Math.imul(s,h0)|0,N=N+Math.imul(s,c0)|0,A=A+Math.imul(e,y0)|0,C=C+Math.imul(e,g)|0,C=C+Math.imul(X0,y0)|0,N=N+Math.imul(X0,g)|0,A=A+Math.imul(c,Z0)|0,C=C+Math.imul(c,$0)|0,C=C+Math.imul(l,Z0)|0,N=N+Math.imul(l,$0)|0,A=A+Math.imul(a,F0)|0,C=C+Math.imul(a,q0)|0,C=C+Math.imul(G0,F0)|0,N=N+Math.imul(G0,q0)|0,A=A+Math.imul(Q0,x0)|0,C=C+Math.imul(Q0,u0)|0,C=C+Math.imul(n,x0)|0,N=N+Math.imul(n,u0)|0,A=A+Math.imul(b,g0)|0,C=C+Math.imul(b,A0)|0,C=C+Math.imul(i,g0)|0,N=N+Math.imul(i,A0)|0;var t1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(t1>>>26)|0,t1&=67108863,A=Math.imul(_0,B0),C=Math.imul(_0,f0),C=C+Math.imul(E0,B0)|0,N=Math.imul(E0,f0),A=A+Math.imul(H0,p0)|0,C=C+Math.imul(H0,N0)|0,C=C+Math.imul(S0,p0)|0,N=N+Math.imul(S0,N0)|0,A=A+Math.imul(R0,v0)|0,C=C+Math.imul(R0,w0)|0,C=C+Math.imul(z0,v0)|0,N=N+Math.imul(z0,w0)|0,A=A+Math.imul(t,h0)|0,C=C+Math.imul(t,c0)|0,C=C+Math.imul(Y0,h0)|0,N=N+Math.imul(Y0,c0)|0,A=A+Math.imul(u,y0)|0,C=C+Math.imul(u,g)|0,C=C+Math.imul(s,y0)|0,N=N+Math.imul(s,g)|0,A=A+Math.imul(e,Z0)|0,C=C+Math.imul(e,$0)|0,C=C+Math.imul(X0,Z0)|0,N=N+Math.imul(X0,$0)|0,A=A+Math.imul(c,F0)|0,C=C+Math.imul(c,q0)|0,C=C+Math.imul(l,F0)|0,N=N+Math.imul(l,q0)|0,A=A+Math.imul(a,x0)|0,C=C+Math.imul(a,u0)|0,C=C+Math.imul(G0,x0)|0,N=N+Math.imul(G0,u0)|0,A=A+Math.imul(Q0,g0)|0,C=C+Math.imul(Q0,A0)|0,C=C+Math.imul(n,g0)|0,N=N+Math.imul(n,A0)|0,A=A+Math.imul(b,I1)|0,C=C+Math.imul(b,G1)|0,C=C+Math.imul(i,I1)|0,N=N+Math.imul(i,G1)|0;var e1=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(e1>>>26)|0,e1&=67108863,A=Math.imul(_0,p0),C=Math.imul(_0,N0),C=C+Math.imul(E0,p0)|0,N=Math.imul(E0,N0),A=A+Math.imul(H0,v0)|0,C=C+Math.imul(H0,w0)|0,C=C+Math.imul(S0,v0)|0,N=N+Math.imul(S0,w0)|0,A=A+Math.imul(R0,h0)|0,C=C+Math.imul(R0,c0)|0,C=C+Math.imul(z0,h0)|0,N=N+Math.imul(z0,c0)|0,A=A+Math.imul(t,y0)|0,C=C+Math.imul(t,g)|0,C=C+Math.imul(Y0,y0)|0,N=N+Math.imul(Y0,g)|0,A=A+Math.imul(u,Z0)|0,C=C+Math.imul(u,$0)|0,C=C+Math.imul(s,Z0)|0,N=N+Math.imul(s,$0)|0,A=A+Math.imul(e,F0)|0,C=C+Math.imul(e,q0)|0,C=C+Math.imul(X0,F0)|0,N=N+Math.imul(X0,q0)|0,A=A+Math.imul(c,x0)|0,C=C+Math.imul(c,u0)|0,C=C+Math.imul(l,x0)|0,N=N+Math.imul(l,u0)|0,A=A+Math.imul(a,g0)|0,C=C+Math.imul(a,A0)|0,C=C+Math.imul(G0,g0)|0,N=N+Math.imul(G0,A0)|0,A=A+Math.imul(Q0,I1)|0,C=C+Math.imul(Q0,G1)|0,C=C+Math.imul(n,I1)|0,N=N+Math.imul(n,G1)|0;var U2=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(U2>>>26)|0,U2&=67108863,A=Math.imul(_0,v0),C=Math.imul(_0,w0),C=C+Math.imul(E0,v0)|0,N=Math.imul(E0,w0),A=A+Math.imul(H0,h0)|0,C=C+Math.imul(H0,c0)|0,C=C+Math.imul(S0,h0)|0,N=N+Math.imul(S0,c0)|0,A=A+Math.imul(R0,y0)|0,C=C+Math.imul(R0,g)|0,C=C+Math.imul(z0,y0)|0,N=N+Math.imul(z0,g)|0,A=A+Math.imul(t,Z0)|0,C=C+Math.imul(t,$0)|0,C=C+Math.imul(Y0,Z0)|0,N=N+Math.imul(Y0,$0)|0,A=A+Math.imul(u,F0)|0,C=C+Math.imul(u,q0)|0,C=C+Math.imul(s,F0)|0,N=N+Math.imul(s,q0)|0,A=A+Math.imul(e,x0)|0,C=C+Math.imul(e,u0)|0,C=C+Math.imul(X0,x0)|0,N=N+Math.imul(X0,u0)|0,A=A+Math.imul(c,g0)|0,C=C+Math.imul(c,A0)|0,C=C+Math.imul(l,g0)|0,N=N+Math.imul(l,A0)|0,A=A+Math.imul(a,I1)|0,C=C+Math.imul(a,G1)|0,C=C+Math.imul(G0,I1)|0,N=N+Math.imul(G0,G1)|0;var Q2=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(Q2>>>26)|0,Q2&=67108863,A=Math.imul(_0,h0),C=Math.imul(_0,c0),C=C+Math.imul(E0,h0)|0,N=Math.imul(E0,c0),A=A+Math.imul(H0,y0)|0,C=C+Math.imul(H0,g)|0,C=C+Math.imul(S0,y0)|0,N=N+Math.imul(S0,g)|0,A=A+Math.imul(R0,Z0)|0,C=C+Math.imul(R0,$0)|0,C=C+Math.imul(z0,Z0)|0,N=N+Math.imul(z0,$0)|0,A=A+Math.imul(t,F0)|0,C=C+Math.imul(t,q0)|0,C=C+Math.imul(Y0,F0)|0,N=N+Math.imul(Y0,q0)|0,A=A+Math.imul(u,x0)|0,C=C+Math.imul(u,u0)|0,C=C+Math.imul(s,x0)|0,N=N+Math.imul(s,u0)|0,A=A+Math.imul(e,g0)|0,C=C+Math.imul(e,A0)|0,C=C+Math.imul(X0,g0)|0,N=N+Math.imul(X0,A0)|0,A=A+Math.imul(c,I1)|0,C=C+Math.imul(c,G1)|0,C=C+Math.imul(l,I1)|0,N=N+Math.imul(l,G1)|0;var Z2=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(Z2>>>26)|0,Z2&=67108863,A=Math.imul(_0,y0),C=Math.imul(_0,g),C=C+Math.imul(E0,y0)|0,N=Math.imul(E0,g),A=A+Math.imul(H0,Z0)|0,C=C+Math.imul(H0,$0)|0,C=C+Math.imul(S0,Z0)|0,N=N+Math.imul(S0,$0)|0,A=A+Math.imul(R0,F0)|0,C=C+Math.imul(R0,q0)|0,C=C+Math.imul(z0,F0)|0,N=N+Math.imul(z0,q0)|0,A=A+Math.imul(t,x0)|0,C=C+Math.imul(t,u0)|0,C=C+Math.imul(Y0,x0)|0,N=N+Math.imul(Y0,u0)|0,A=A+Math.imul(u,g0)|0,C=C+Math.imul(u,A0)|0,C=C+Math.imul(s,g0)|0,N=N+Math.imul(s,A0)|0,A=A+Math.imul(e,I1)|0,C=C+Math.imul(e,G1)|0,C=C+Math.imul(X0,I1)|0,N=N+Math.imul(X0,G1)|0;var X2=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(X2>>>26)|0,X2&=67108863,A=Math.imul(_0,Z0),C=Math.imul(_0,$0),C=C+Math.imul(E0,Z0)|0,N=Math.imul(E0,$0),A=A+Math.imul(H0,F0)|0,C=C+Math.imul(H0,q0)|0,C=C+Math.imul(S0,F0)|0,N=N+Math.imul(S0,q0)|0,A=A+Math.imul(R0,x0)|0,C=C+Math.imul(R0,u0)|0,C=C+Math.imul(z0,x0)|0,N=N+Math.imul(z0,u0)|0,A=A+Math.imul(t,g0)|0,C=C+Math.imul(t,A0)|0,C=C+Math.imul(Y0,g0)|0,N=N+Math.imul(Y0,A0)|0,A=A+Math.imul(u,I1)|0,C=C+Math.imul(u,G1)|0,C=C+Math.imul(s,I1)|0,N=N+Math.imul(s,G1)|0;var J2=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(J2>>>26)|0,J2&=67108863,A=Math.imul(_0,F0),C=Math.imul(_0,q0),C=C+Math.imul(E0,F0)|0,N=Math.imul(E0,q0),A=A+Math.imul(H0,x0)|0,C=C+Math.imul(H0,u0)|0,C=C+Math.imul(S0,x0)|0,N=N+Math.imul(S0,u0)|0,A=A+Math.imul(R0,g0)|0,C=C+Math.imul(R0,A0)|0,C=C+Math.imul(z0,g0)|0,N=N+Math.imul(z0,A0)|0,A=A+Math.imul(t,I1)|0,C=C+Math.imul(t,G1)|0,C=C+Math.imul(Y0,I1)|0,N=N+Math.imul(Y0,G1)|0;var G2=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(G2>>>26)|0,G2&=67108863,A=Math.imul(_0,x0),C=Math.imul(_0,u0),C=C+Math.imul(E0,x0)|0,N=Math.imul(E0,u0),A=A+Math.imul(H0,g0)|0,C=C+Math.imul(H0,A0)|0,C=C+Math.imul(S0,g0)|0,N=N+Math.imul(S0,A0)|0,A=A+Math.imul(R0,I1)|0,C=C+Math.imul(R0,G1)|0,C=C+Math.imul(z0,I1)|0,N=N+Math.imul(z0,G1)|0;var N9=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(N9>>>26)|0,N9&=67108863,A=Math.imul(_0,g0),C=Math.imul(_0,A0),C=C+Math.imul(E0,g0)|0,N=Math.imul(E0,A0),A=A+Math.imul(H0,I1)|0,C=C+Math.imul(H0,G1)|0,C=C+Math.imul(S0,I1)|0,N=N+Math.imul(S0,G1)|0;var w9=(F+A|0)+((C&8191)<<13)|0;F=(N+(C>>>13)|0)+(w9>>>26)|0,w9&=67108863,A=Math.imul(_0,I1),C=Math.imul(_0,G1),C=C+Math.imul(E0,I1)|0,N=Math.imul(E0,G1);var y9=(F+A|0)+((C&8191)<<13)|0;if(F=(N+(C>>>13)|0)+(y9>>>26)|0,y9&=67108863,$[0]=C1,$[1]=M1,$[2]=m1,$[3]=r1,$[4]=n1,$[5]=s1,$[6]=i1,$[7]=a1,$[8]=t1,$[9]=e1,$[10]=U2,$[11]=Q2,$[12]=Z2,$[13]=X2,$[14]=J2,$[15]=G2,$[16]=N9,$[17]=w9,$[18]=y9,F!==0)$[19]=F,R.length++;return R};if(!Math.imul)y=B;function x(T,W,R){R.negative=W.negative^T.negative,R.length=T.length+W.length;var M=0,V=0;for(var $=0;$<R.length-1;$++){var F=V;V=0;var A=M&67108863,C=Math.min($,W.length-1);for(var N=Math.max(0,$-T.length+1);N<=C;N++){var f=$-N,b=T.words[f]|0,i=W.words[N]|0,D0=b*i,Q0=D0&67108863;F=F+(D0/67108864|0)|0,Q0=Q0+A|0,A=Q0&67108863,F=F+(Q0>>>26)|0,V+=F>>>26,F&=67108863}R.words[$]=A,M=F,F=V}if(M!==0)R.words[$]=M;else R.length--;return R._strip()}function h(T,W,R){return x(T,W,R)}G.prototype.mulTo=function(T,W){var R,M=this.length+T.length;if(this.length===10&&T.length===10)R=y(this,T,W);else if(M<63)R=B(this,T,W);else if(M<1024)R=x(this,T,W);else R=h(this,T,W);return R};function r(T,W){this.x=T,this.y=W}r.prototype.makeRBT=function(T){var W=Array(T),R=G.prototype._countBits(T)-1;for(var M=0;M<T;M++)W[M]=this.revBin(M,R,T);return W},r.prototype.revBin=function(T,W,R){if(T===0||T===R-1)return T;var M=0;for(var V=0;V<W;V++)M|=(T&1)<<W-V-1,T>>=1;return M},r.prototype.permute=function(T,W,R,M,V,$){for(var F=0;F<$;F++)M[F]=W[T[F]],V[F]=R[T[F]]},r.prototype.transform=function(T,W,R,M,V,$){this.permute($,T,W,R,M,V);for(var F=1;F<V;F<<=1){var A=F<<1,C=Math.cos(2*Math.PI/A),N=Math.sin(2*Math.PI/A);for(var f=0;f<V;f+=A){var b=C,i=N;for(var D0=0;D0<F;D0++){var Q0=R[f+D0],n=M[f+D0],K0=R[f+D0+F],a=M[f+D0+F],G0=b*K0-i*a;if(a=b*a+i*K0,K0=G0,R[f+D0]=Q0+K0,M[f+D0]=n+a,R[f+D0+F]=Q0-K0,M[f+D0+F]=n-a,D0!==A)G0=C*b-N*i,i=C*i+N*b,b=G0}}}},r.prototype.guessLen13b=function(T,W){var R=Math.max(W,T)|1,M=R&1,V=0;for(R=R/2|0;R;R=R>>>1)V++;return 1<<V+1+M},r.prototype.conjugate=function(T,W,R){if(R<=1)return;for(var M=0;M<R/2;M++){var V=T[M];T[M]=T[R-M-1],T[R-M-1]=V,V=W[M],W[M]=-W[R-M-1],W[R-M-1]=-V}},r.prototype.normalize13b=function(T,W){var R=0;for(var M=0;M<W/2;M++){var V=Math.round(T[2*M+1]/W)*8192+Math.round(T[2*M]/W)+R;if(T[M]=V&67108863,V<67108864)R=0;else R=V/67108864|0}return T},r.prototype.convert13b=function(T,W,R,M){var V=0;for(var $=0;$<W;$++)V=V+(T[$]|0),R[2*$]=V&8191,V=V>>>13,R[2*$+1]=V&8191,V=V>>>13;for($=2*W;$<M;++$)R[$]=0;J(V===0),J((V&-8192)===0)},r.prototype.stub=function(T){var W=Array(T);for(var R=0;R<T;R++)W[R]=0;return W},r.prototype.mulp=function(T,W,R){var M=2*this.guessLen13b(T.length,W.length),V=this.makeRBT(M),$=this.stub(M),F=Array(M),A=Array(M),C=Array(M),N=Array(M),f=Array(M),b=Array(M),i=R.words;i.length=M,this.convert13b(T.words,T.length,F,M),this.convert13b(W.words,W.length,N,M),this.transform(F,$,A,C,M,V),this.transform(N,$,f,b,M,V);for(var D0=0;D0<M;D0++){var Q0=A[D0]*f[D0]-C[D0]*b[D0];C[D0]=A[D0]*b[D0]+C[D0]*f[D0],A[D0]=Q0}return this.conjugate(A,C,M),this.transform(A,C,i,$,M,V),this.conjugate(i,$,M),this.normalize13b(i,M),R.negative=T.negative^W.negative,R.length=T.length+W.length,R._strip()},G.prototype.mul=function(T){var W=new G(null);return W.words=Array(this.length+T.length),this.mulTo(T,W)},G.prototype.mulf=function(T){var W=new G(null);return W.words=Array(this.length+T.length),h(this,T,W)},G.prototype.imul=function(T){return this.clone().mulTo(T,this)},G.prototype.imuln=function(T){var W=T<0;if(W)T=-T;J(typeof T==="number"),J(T<67108864);var R=0;for(var M=0;M<this.length;M++){var V=(this.words[M]|0)*T,$=(V&67108863)+(R&67108863);R>>=26,R+=V/67108864|0,R+=$>>>26,this.words[M]=$&67108863}if(R!==0)this.words[M]=R,this.length++;return this.length=T===0?1:this.length,W?this.ineg():this},G.prototype.muln=function(T){return this.clone().imuln(T)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(T){var W=j(T);if(W.length===0)return new G(1);var R=this;for(var M=0;M<W.length;M++,R=R.sqr())if(W[M]!==0)break;if(++M<W.length)for(var V=R.sqr();M<W.length;M++,V=V.sqr()){if(W[M]===0)continue;R=R.mul(V)}return R},G.prototype.iushln=function(T){J(typeof T==="number"&&T>=0);var W=T%26,R=(T-W)/26,M=67108863>>>26-W<<26-W,V;if(W!==0){var $=0;for(V=0;V<this.length;V++){var F=this.words[V]&M,A=(this.words[V]|0)-F<<W;this.words[V]=A|$,$=F>>>26-W}if($)this.words[V]=$,this.length++}if(R!==0){for(V=this.length-1;V>=0;V--)this.words[V+R]=this.words[V];for(V=0;V<R;V++)this.words[V]=0;this.length+=R}return this._strip()},G.prototype.ishln=function(T){return J(this.negative===0),this.iushln(T)},G.prototype.iushrn=function(T,W,R){J(typeof T==="number"&&T>=0);var M;if(W)M=(W-W%26)/26;else M=0;var V=T%26,$=Math.min((T-V)/26,this.length),F=67108863^67108863>>>V<<V,A=R;if(M-=$,M=Math.max(0,M),A){for(var C=0;C<$;C++)A.words[C]=this.words[C];A.length=$}if($===0);else if(this.length>$){this.length-=$;for(C=0;C<this.length;C++)this.words[C]=this.words[C+$]}else this.words[0]=0,this.length=1;var N=0;for(C=this.length-1;C>=0&&(N!==0||C>=M);C--){var f=this.words[C]|0;this.words[C]=N<<26-V|f>>>V,N=f&F}if(A&&N!==0)A.words[A.length++]=N;if(this.length===0)this.words[0]=0,this.length=1;return this._strip()},G.prototype.ishrn=function(T,W,R){return J(this.negative===0),this.iushrn(T,W,R)},G.prototype.shln=function(T){return this.clone().ishln(T)},G.prototype.ushln=function(T){return this.clone().iushln(T)},G.prototype.shrn=function(T){return this.clone().ishrn(T)},G.prototype.ushrn=function(T){return this.clone().iushrn(T)},G.prototype.testn=function(T){J(typeof T==="number"&&T>=0);var W=T%26,R=(T-W)/26,M=1<<W;if(this.length<=R)return!1;var V=this.words[R];return!!(V&M)},G.prototype.imaskn=function(T){J(typeof T==="number"&&T>=0);var W=T%26,R=(T-W)/26;if(J(this.negative===0,"imaskn works only with positive numbers"),this.length<=R)return this;if(W!==0)R++;if(this.length=Math.min(R,this.length),W!==0){var M=67108863^67108863>>>W<<W;this.words[this.length-1]&=M}return this._strip()},G.prototype.maskn=function(T){return this.clone().imaskn(T)},G.prototype.iaddn=function(T){if(J(typeof T==="number"),J(T<67108864),T<0)return this.isubn(-T);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<=T)return this.words[0]=T-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(T),this.negative=1,this}return this._iaddn(T)},G.prototype._iaddn=function(T){this.words[0]+=T;for(var W=0;W<this.length&&this.words[W]>=67108864;W++)if(this.words[W]-=67108864,W===this.length-1)this.words[W+1]=1;else this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},G.prototype.isubn=function(T){if(J(typeof T==="number"),J(T<67108864),T<0)return this.iaddn(-T);if(this.negative!==0)return this.negative=0,this.iaddn(T),this.negative=1,this;if(this.words[0]-=T,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W<this.length&&this.words[W]<0;W++)this.words[W]+=67108864,this.words[W+1]-=1;return this._strip()},G.prototype.addn=function(T){return this.clone().iaddn(T)},G.prototype.subn=function(T){return this.clone().isubn(T)},G.prototype.iabs=function(){return this.negative=0,this},G.prototype.abs=function(){return this.clone().iabs()},G.prototype._ishlnsubmul=function(T,W,R){var M=T.length+R,V;this._expand(M);var $,F=0;for(V=0;V<T.length;V++){$=(this.words[V+R]|0)+F;var A=(T.words[V]|0)*W;$-=A&67108863,F=($>>26)-(A/67108864|0),this.words[V+R]=$&67108863}for(;V<this.length-R;V++)$=(this.words[V+R]|0)+F,F=$>>26,this.words[V+R]=$&67108863;if(F===0)return this._strip();J(F===-1),F=0;for(V=0;V<this.length;V++)$=-(this.words[V]|0)+F,F=$>>26,this.words[V]=$&67108863;return this.negative=1,this._strip()},G.prototype._wordDiv=function(T,W){var R=this.length-T.length,M=this.clone(),V=T,$=V.words[V.length-1]|0,F=this._countBits($);if(R=26-F,R!==0)V=V.ushln(R),M.iushln(R),$=V.words[V.length-1]|0;var A=M.length-V.length,C;if(W!=="mod"){C=new G(null),C.length=A+1,C.words=Array(C.length);for(var N=0;N<C.length;N++)C.words[N]=0}var f=M.clone()._ishlnsubmul(V,1,A);if(f.negative===0){if(M=f,C)C.words[A]=1}for(var b=A-1;b>=0;b--){var i=(M.words[V.length+b]|0)*67108864+(M.words[V.length+b-1]|0);i=Math.min(i/$|0,67108863),M._ishlnsubmul(V,i,b);while(M.negative!==0)if(i--,M.negative=0,M._ishlnsubmul(V,1,b),!M.isZero())M.negative^=1;if(C)C.words[b]=i}if(C)C._strip();if(M._strip(),W!=="div"&&R!==0)M.iushrn(R);return{div:C||null,mod:M}},G.prototype.divmod=function(T,W,R){if(J(!T.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var M,V,$;if(this.negative!==0&&T.negative===0){if($=this.neg().divmod(T,W),W!=="mod")M=$.div.neg();if(W!=="div"){if(V=$.mod.neg(),R&&V.negative!==0)V.iadd(T)}return{div:M,mod:V}}if(this.negative===0&&T.negative!==0){if($=this.divmod(T.neg(),W),W!=="mod")M=$.div.neg();return{div:M,mod:$.mod}}if((this.negative&T.negative)!==0){if($=this.neg().divmod(T.neg(),W),W!=="div"){if(V=$.mod.neg(),R&&V.negative!==0)V.isub(T)}return{div:$.div,mod:V}}if(T.length>this.length||this.cmp(T)<0)return{div:new G(0),mod:this};if(T.length===1){if(W==="div")return{div:this.divn(T.words[0]),mod:null};if(W==="mod")return{div:null,mod:new G(this.modrn(T.words[0]))};return{div:this.divn(T.words[0]),mod:new G(this.modrn(T.words[0]))}}return this._wordDiv(T,W)},G.prototype.div=function(T){return this.divmod(T,"div",!1).div},G.prototype.mod=function(T){return this.divmod(T,"mod",!1).mod},G.prototype.umod=function(T){return this.divmod(T,"mod",!0).mod},G.prototype.divRound=function(T){var W=this.divmod(T);if(W.mod.isZero())return W.div;var R=W.div.negative!==0?W.mod.isub(T):W.mod,M=T.ushrn(1),V=T.andln(1),$=R.cmp(M);if($<0||V===1&&$===0)return W.div;return W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},G.prototype.modrn=function(T){var W=T<0;if(W)T=-T;J(T<=67108863);var R=67108864%T,M=0;for(var V=this.length-1;V>=0;V--)M=(R*M+(this.words[V]|0))%T;return W?-M:M},G.prototype.modn=function(T){return this.modrn(T)},G.prototype.idivn=function(T){var W=T<0;if(W)T=-T;J(T<=67108863);var R=0;for(var M=this.length-1;M>=0;M--){var V=(this.words[M]|0)+R*67108864;this.words[M]=V/T|0,R=V%T}return this._strip(),W?this.ineg():this},G.prototype.divn=function(T){return this.clone().idivn(T)},G.prototype.egcd=function(T){J(T.negative===0),J(!T.isZero());var W=this,R=T.clone();if(W.negative!==0)W=W.umod(T);else W=W.clone();var M=new G(1),V=new G(0),$=new G(0),F=new G(1),A=0;while(W.isEven()&&R.isEven())W.iushrn(1),R.iushrn(1),++A;var C=R.clone(),N=W.clone();while(!W.isZero()){for(var f=0,b=1;(W.words[0]&b)===0&&f<26;++f,b<<=1);if(f>0){W.iushrn(f);while(f-- >0){if(M.isOdd()||V.isOdd())M.iadd(C),V.isub(N);M.iushrn(1),V.iushrn(1)}}for(var i=0,D0=1;(R.words[0]&D0)===0&&i<26;++i,D0<<=1);if(i>0){R.iushrn(i);while(i-- >0){if($.isOdd()||F.isOdd())$.iadd(C),F.isub(N);$.iushrn(1),F.iushrn(1)}}if(W.cmp(R)>=0)W.isub(R),M.isub($),V.isub(F);else R.isub(W),$.isub(M),F.isub(V)}return{a:$,b:F,gcd:R.iushln(A)}},G.prototype._invmp=function(T){J(T.negative===0),J(!T.isZero());var W=this,R=T.clone();if(W.negative!==0)W=W.umod(T);else W=W.clone();var M=new G(1),V=new G(0),$=R.clone();while(W.cmpn(1)>0&&R.cmpn(1)>0){for(var F=0,A=1;(W.words[0]&A)===0&&F<26;++F,A<<=1);if(F>0){W.iushrn(F);while(F-- >0){if(M.isOdd())M.iadd($);M.iushrn(1)}}for(var C=0,N=1;(R.words[0]&N)===0&&C<26;++C,N<<=1);if(C>0){R.iushrn(C);while(C-- >0){if(V.isOdd())V.iadd($);V.iushrn(1)}}if(W.cmp(R)>=0)W.isub(R),M.isub(V);else R.isub(W),V.isub(M)}var f;if(W.cmpn(1)===0)f=M;else f=V;if(f.cmpn(0)<0)f.iadd(T);return f},G.prototype.gcd=function(T){if(this.isZero())return T.abs();if(T.isZero())return this.abs();var W=this.clone(),R=T.clone();W.negative=0,R.negative=0;for(var M=0;W.isEven()&&R.isEven();M++)W.iushrn(1),R.iushrn(1);do{while(W.isEven())W.iushrn(1);while(R.isEven())R.iushrn(1);var V=W.cmp(R);if(V<0){var $=W;W=R,R=$}else if(V===0||R.cmpn(1)===0)break;W.isub(R)}while(!0);return R.iushln(M)},G.prototype.invm=function(T){return this.egcd(T).a.umod(T)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(T){return this.words[0]&T},G.prototype.bincn=function(T){J(typeof T==="number");var W=T%26,R=(T-W)/26,M=1<<W;if(this.length<=R)return this._expand(R+1),this.words[R]|=M,this;var V=M;for(var $=R;V!==0&&$<this.length;$++){var F=this.words[$]|0;F+=V,V=F>>>26,F&=67108863,this.words[$]=F}if(V!==0)this.words[$]=V,this.length++;return this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(T){var W=T<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this._strip();var R;if(this.length>1)R=1;else{if(W)T=-T;J(T<=67108863,"Number is too big");var M=this.words[0]|0;R=M===T?0:M<T?-1:1}if(this.negative!==0)return-R|0;return R},G.prototype.cmp=function(T){if(this.negative!==0&&T.negative===0)return-1;if(this.negative===0&&T.negative!==0)return 1;var W=this.ucmp(T);if(this.negative!==0)return-W|0;return W},G.prototype.ucmp=function(T){if(this.length>T.length)return 1;if(this.length<T.length)return-1;var W=0;for(var R=this.length-1;R>=0;R--){var M=this.words[R]|0,V=T.words[R]|0;if(M===V)continue;if(M<V)W=-1;else if(M>V)W=1;break}return W},G.prototype.gtn=function(T){return this.cmpn(T)===1},G.prototype.gt=function(T){return this.cmp(T)===1},G.prototype.gten=function(T){return this.cmpn(T)>=0},G.prototype.gte=function(T){return this.cmp(T)>=0},G.prototype.ltn=function(T){return this.cmpn(T)===-1},G.prototype.lt=function(T){return this.cmp(T)===-1},G.prototype.lten=function(T){return this.cmpn(T)<=0},G.prototype.lte=function(T){return this.cmp(T)<=0},G.prototype.eqn=function(T){return this.cmpn(T)===0},G.prototype.eq=function(T){return this.cmp(T)===0},G.red=function(T){return new K(T)},G.prototype.toRed=function(T){return J(!this.red,"Already a number in reduction context"),J(this.negative===0,"red works only with positives"),T.convertTo(this)._forceRed(T)},G.prototype.fromRed=function(){return J(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(T){return this.red=T,this},G.prototype.forceRed=function(T){return J(!this.red,"Already a number in reduction context"),this._forceRed(T)},G.prototype.redAdd=function(T){return J(this.red,"redAdd works only with red numbers"),this.red.add(this,T)},G.prototype.redIAdd=function(T){return J(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,T)},G.prototype.redSub=function(T){return J(this.red,"redSub works only with red numbers"),this.red.sub(this,T)},G.prototype.redISub=function(T){return J(this.red,"redISub works only with red numbers"),this.red.isub(this,T)},G.prototype.redShl=function(T){return J(this.red,"redShl works only with red numbers"),this.red.shl(this,T)},G.prototype.redMul=function(T){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,T),this.red.mul(this,T)},G.prototype.redIMul=function(T){return J(this.red,"redMul works only with red numbers"),this.red._verify2(this,T),this.red.imul(this,T)},G.prototype.redSqr=function(){return J(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return J(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return J(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return J(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return J(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(T){return J(this.red&&!T.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,T)};var T0={k256:null,p224:null,p192:null,p25519:null};function L0(T,W){this.name=T,this.p=new G(W,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}L0.prototype._tmp=function(){var T=new G(null);return T.words=Array(Math.ceil(this.n/13)),T},L0.prototype.ireduce=function(T){var W=T,R;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),R=W.bitLength();while(R>this.n);var M=R<this.n?-1:W.ucmp(this.p);if(M===0)W.words[0]=0,W.length=1;else if(M>0)W.isub(this.p);else if(W.strip!==void 0)W.strip();else W._strip();return W},L0.prototype.split=function(T,W){T.iushrn(this.n,0,W)},L0.prototype.imulK=function(T){return T.imul(this.k)};function I0(){L0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Y(I0,L0),I0.prototype.split=function(T,W){var R=4194303,M=Math.min(T.length,9);for(var V=0;V<M;V++)W.words[V]=T.words[V];if(W.length=M,T.length<=9){T.words[0]=0,T.length=1;return}var $=T.words[9];W.words[W.length++]=$&R;for(V=10;V<T.length;V++){var F=T.words[V]|0;T.words[V-10]=(F&R)<<4|$>>>22,$=F}if($>>>=22,T.words[V-10]=$,$===0&&T.length>10)T.length-=10;else T.length-=9},I0.prototype.imulK=function(T){T.words[T.length]=0,T.words[T.length+1]=0,T.length+=2;var W=0;for(var R=0;R<T.length;R++){var M=T.words[R]|0;W+=M*977,T.words[R]=W&67108863,W=M*64+(W/67108864|0)}if(T.words[T.length-1]===0){if(T.length--,T.words[T.length-1]===0)T.length--}return T};function d(){L0.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}Y(d,L0);function J0(){L0.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}Y(J0,L0);function I(){L0.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}Y(I,L0),I.prototype.imulK=function(T){var W=0;for(var R=0;R<T.length;R++){var M=(T.words[R]|0)*19+W,V=M&67108863;M>>>=26,T.words[R]=V,W=M}if(W!==0)T.words[T.length++]=W;return T},G._prime=function(T){if(T0[T])return T0[T];var W;if(T==="k256")W=new I0;else if(T==="p224")W=new d;else if(T==="p192")W=new J0;else if(T==="p25519")W=new I;else throw Error("Unknown prime "+T);return T0[T]=W,W};function K(T){if(typeof T==="string"){var W=G._prime(T);this.m=W.p,this.prime=W}else J(T.gtn(1),"modulus must be greater than 1"),this.m=T,this.prime=null}K.prototype._verify1=function(T){J(T.negative===0,"red works only with positives"),J(T.red,"red works only with red numbers")},K.prototype._verify2=function(T,W){J((T.negative|W.negative)===0,"red works only with positives"),J(T.red&&T.red===W.red,"red works only with red numbers")},K.prototype.imod=function(T){if(this.prime)return this.prime.ireduce(T)._forceRed(this);return H(T,T.umod(this.m)._forceRed(this)),T},K.prototype.neg=function(T){if(T.isZero())return T.clone();return this.m.sub(T)._forceRed(this)},K.prototype.add=function(T,W){this._verify2(T,W);var R=T.add(W);if(R.cmp(this.m)>=0)R.isub(this.m);return R._forceRed(this)},K.prototype.iadd=function(T,W){this._verify2(T,W);var R=T.iadd(W);if(R.cmp(this.m)>=0)R.isub(this.m);return R},K.prototype.sub=function(T,W){this._verify2(T,W);var R=T.sub(W);if(R.cmpn(0)<0)R.iadd(this.m);return R._forceRed(this)},K.prototype.isub=function(T,W){this._verify2(T,W);var R=T.isub(W);if(R.cmpn(0)<0)R.iadd(this.m);return R},K.prototype.shl=function(T,W){return this._verify1(T),this.imod(T.ushln(W))},K.prototype.imul=function(T,W){return this._verify2(T,W),this.imod(T.imul(W))},K.prototype.mul=function(T,W){return this._verify2(T,W),this.imod(T.mul(W))},K.prototype.isqr=function(T){return this.imul(T,T.clone())},K.prototype.sqr=function(T){return this.mul(T,T)},K.prototype.sqrt=function(T){if(T.isZero())return T.clone();var W=this.m.andln(3);if(J(W%2===1),W===3){var R=this.m.add(new G(1)).iushrn(2);return this.pow(T,R)}var M=this.m.subn(1),V=0;while(!M.isZero()&&M.andln(1)===0)V++,M.iushrn(1);J(!M.isZero());var $=new G(1).toRed(this),F=$.redNeg(),A=this.m.subn(1).iushrn(1),C=this.m.bitLength();C=new G(2*C*C).toRed(this);while(this.pow(C,A).cmp(F)!==0)C.redIAdd(F);var N=this.pow(C,M),f=this.pow(T,M.addn(1).iushrn(1)),b=this.pow(T,M),i=V;while(b.cmp($)!==0){var D0=b;for(var Q0=0;D0.cmp($)!==0;Q0++)D0=D0.redSqr();J(Q0<i);var n=this.pow(N,new G(1).iushln(i-Q0-1));f=f.redMul(n),N=n.redSqr(),b=b.redMul(N),i=Q0}return f},K.prototype.invm=function(T){var W=T._invmp(this.m);if(W.negative!==0)return W.negative=0,this.imod(W).redNeg();else return this.imod(W)},K.prototype.pow=function(T,W){if(W.isZero())return new G(1).toRed(this);if(W.cmpn(1)===0)return T.clone();var R=4,M=Array(1<<R);M[0]=new G(1).toRed(this),M[1]=T;for(var V=2;V<M.length;V++)M[V]=this.mul(M[V-1],T);var $=M[0],F=0,A=0,C=W.bitLength()%26;if(C===0)C=26;for(V=W.length-1;V>=0;V--){var N=W.words[V];for(var f=C-1;f>=0;f--){var b=N>>f&1;if($!==M[0])$=this.sqr($);if(b===0&&F===0){A=0;continue}if(F<<=1,F|=b,A++,A!==R&&(V!==0||f!==0))continue;$=this.mul($,M[F]),A=0,F=0}C=26}return $},K.prototype.convertTo=function(T){var W=T.umod(this.m);return W===T?W.clone():W},K.prototype.convertFrom=function(T){var W=T.clone();return W.red=null,W},G.mont=function(T){return new O(T)};function O(T){if(K.call(this,T),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Y(O,K),O.prototype.convertTo=function(T){return this.imod(T.ushln(this.shift))},O.prototype.convertFrom=function(T){var W=this.imod(T.mul(this.rinv));return W.red=null,W},O.prototype.imul=function(T,W){if(T.isZero()||W.isZero())return T.words[0]=0,T.length=1,T;var R=T.imul(W),M=R.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=R.isub(M).iushrn(this.shift),$=V;if(V.cmp(this.m)>=0)$=V.isub(this.m);else if(V.cmpn(0)<0)$=V.iadd(this.m);return $._forceRed(this)},O.prototype.mul=function(T,W){if(T.isZero()||W.isZero())return new G(0)._forceRed(this);var R=T.mul(W),M=R.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=R.isub(M).iushrn(this.shift),$=V;if(V.cmp(this.m)>=0)$=V.isub(this.m);else if(V.cmpn(0)<0)$=V.iadd(this.m);return $._forceRed(this)},O.prototype.invm=function(T){var W=this.imod(T._invmp(this.m).mul(this.r2));return W._forceRed(this)}})(typeof Q>"u"||Q,U)}),S$=O0((U,Q)=>{var Z=yL(),X=O9(),J=B2().Buffer;function Y(z){var D=z.modulus.byteLength(),S;do S=new Z(X(D));while(S.cmp(z.modulus)>=0||!S.umod(z.prime1)||!S.umod(z.prime2));return S}function G(z){var D=Y(z),S=D.toRed(Z.mont(z.modulus)).redPow(new Z(z.publicExponent)).fromRed();return{blinder:S,unblinder:D.invm(z.modulus)}}function L(z,D){var S=G(D),H=D.modulus.byteLength(),q=new Z(z).mul(S.blinder).umod(D.modulus),E=q.toRed(Z.mont(D.prime1)),P=q.toRed(Z.mont(D.prime2)),k=D.coefficient,_=D.prime1,j=D.prime2,B=E.redPow(D.exponent1).fromRed(),y=P.redPow(D.exponent2).fromRed(),x=B.isub(y).imul(k).umod(_).imul(j);return y.iadd(x).imul(S.unblinder).umod(D.modulus).toArrayLike(J,"be",H)}L.getr=Y,Q.exports=L}),xL=O0((U,Q)=>{var Z=H$(),X=O9(),J=L9(),Y=F$(),G=R$(),L=FZ(),z=z$(),D=S$(),S=B2().Buffer;Q.exports=function(P,k,_){var j;if(P.padding)j=P.padding;else if(_)j=1;else j=4;var B=Z(P),y;if(j===4)y=H(B,k);else if(j===1)y=q(B,k,_);else if(j===3){if(y=new L(k),y.cmp(B.modulus)>=0)throw Error("data too long for modulus")}else throw Error("unknown padding");if(_)return D(y,B);else return z(y,B)};function H(P,k){var _=P.modulus.byteLength(),j=k.length,B=J("sha1").update(S.alloc(0)).digest(),y=B.length,x=2*y;if(j>_-x-2)throw Error("message too long");var h=S.alloc(_-j-x-2),r=_-y-1,T0=X(y),L0=G(S.concat([B,h,S.alloc(1,1),k],r),Y(T0,r)),I0=G(T0,Y(L0,y));return new L(S.concat([S.alloc(1),I0,L0],_))}function q(P,k,_){var j=k.length,B=P.modulus.byteLength();if(j>B-11)throw Error("message too long");var y;if(_)y=S.alloc(B-j-3,255);else y=E(B-j-3);return new L(S.concat([S.from([0,_?1:2]),y,S.alloc(1),k],B))}function E(P){var k=S.allocUnsafe(P),_=0,j=X(P*2),B=0,y;while(_<P){if(B===j.length)j=X(P*2),B=0;if(y=j[B++],y)k[_++]=y}return k}}),gL=O0((U,Q)=>{var Z=H$(),X=F$(),J=R$(),Y=FZ(),G=S$(),L=L9(),z=z$(),D=B2().Buffer;Q.exports=function(E,P,k){var _;if(E.padding)_=E.padding;else if(k)_=1;else _=4;var j=Z(E),B=j.modulus.byteLength();if(P.length>B||new Y(P).cmp(j.modulus)>=0)throw Error("decryption error");var y;if(k)y=z(new Y(P),j);else y=G(P,j);var x=D.alloc(B-y.length);if(y=D.concat([x,y],B),_===4)return S(j,y);else if(_===1)return H(j,y,k);else if(_===3)return y;else throw Error("unknown padding")};function S(E,P){var k=E.modulus.byteLength(),_=L("sha1").update(D.alloc(0)).digest(),j=_.length;if(P[0]!==0)throw Error("decryption error");var B=P.slice(1,j+1),y=P.slice(j+1),x=J(B,X(y,j)),h=J(y,X(x,k-j-1));if(q(_,h.slice(0,j)))throw Error("decryption error");var r=j;while(h[r]===0)r++;if(h[r++]!==1)throw Error("decryption error");return h.slice(r)}function H(E,P,k){var _=P.slice(0,2),j=2,B=0;while(P[j++]!==0)if(j>=P.length){B++;break}var y=P.slice(2,j-1);if(_.toString("hex")!=="0002"&&!k||_.toString("hex")!=="0001"&&k)B++;if(y.length<8)B++;if(B)throw Error("decryption error");return P.slice(j)}function q(E,P){E=D.from(E),P=D.from(P);var k=0,_=E.length;if(E.length!==P.length)k++,_=Math.min(E.length,P.length);var j=-1;while(++j<_)k+=E[j]^P[j];return k}}),YZ=O0((U)=>{U.publicEncrypt=xL(),U.privateDecrypt=gL(),U.privateEncrypt=function(Q,Z){return U.publicEncrypt(Q,Z,!0)},U.publicDecrypt=function(Q,Z){return U.privateDecrypt(Q,Z,!0)}}),fL=O0((U)=>{var Q=(h2(),L1(m2));if(typeof Q.publicEncrypt!=="function")Q=YZ();if(U.publicEncrypt=Q.publicEncrypt,U.privateDecrypt=Q.privateDecrypt,typeof Q.privateEncrypt!=="function")U.privateEncrypt=YZ().privateEncrypt;else U.privateEncrypt=Q.privateEncrypt;if(typeof Q.publicDecrypt!=="function")U.publicDecrypt=YZ().publicDecrypt;else U.publicDecrypt=Q.publicDecrypt}),pL=O0((U)=>{var Q=B2(),Z=O9(),X=Q.Buffer,J=Q.kMaxLength,Y=globalThis.crypto||globalThis.msCrypto,G=Math.pow(2,32)-1;function L(q,E){if(typeof q!=="number"||q!==q)throw TypeError("offset must be a number");if(q>G||q<0)throw TypeError("offset must be a uint32");if(q>J||q>E)throw RangeError("offset out of range")}function z(q,E,P){if(typeof q!=="number"||q!==q)throw TypeError("size must be a number");if(q>G||q<0)throw TypeError("size must be a uint32");if(q+E>P||q>J)throw RangeError("buffer too small")}Y&&Y.getRandomValues,U.randomFill=D,U.randomFillSync=H;function D(q,E,P,k){if(!X.isBuffer(q)&&!(q instanceof globalThis.Uint8Array))throw TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof E==="function")k=E,E=0,P=q.length;else if(typeof P==="function")k=P,P=q.length-E;else if(typeof k!=="function")throw TypeError('"cb" argument must be a function');return L(E,q.length),z(P,E,q.length),S(q,E,P,k)}function S(q,E,P,k){if(!1)var _,j;if(k){Z(P,function(y,x){if(y)return k(y);x.copy(q,E),k(null,q)});return}var B=Z(P);return B.copy(q,E),q}function H(q,E,P){if(typeof E>"u")E=0;if(!X.isBuffer(q)&&!(q instanceof globalThis.Uint8Array))throw TypeError('"buf" argument must be a Buffer or Uint8Array');if(L(E,q.length),P===void 0)P=q.length-E;return z(P,E,q.length),S(q,E,P)}}),vL=O0((U,Q)=>{var Z=(h2(),L1(m2));if(typeof Z.randomFill==="function"&&typeof Z.randomFillSync==="function")U.randomFill=Z.randomFill,U.randomFillSync=Z.randomFillSync;else Q.exports=pL()}),hL=O0((U)=>{U.randomBytes=U.rng=U.pseudoRandomBytes=U.prng=O9(),U.createHash=U.Hash=L9(),U.createHmac=U.Hmac=nI();var Q=TO(),Z=Object.keys(Q),X=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(Z);U.getHashes=function(){return X};var J=G$();U.pbkdf2=J.pbkdf2,U.pbkdf2Sync=J.pbkdf2Sync;var Y=oO();U.Cipher=Y.Cipher,U.createCipher=Y.createCipher,U.Cipheriv=Y.Cipheriv,U.createCipheriv=Y.createCipheriv,U.Decipher=Y.Decipher,U.createDecipher=Y.createDecipher,U.Decipheriv=Y.Decipheriv,U.createDecipheriv=Y.createDecipheriv,U.getCiphers=Y.getCiphers,U.listCiphers=Y.listCiphers;var G=mO();U.DiffieHellmanGroup=G.DiffieHellmanGroup,U.createDiffieHellmanGroup=G.createDiffieHellmanGroup,U.getDiffieHellman=G.getDiffieHellman,U.createDiffieHellman=G.createDiffieHellman,U.DiffieHellman=G.DiffieHellman;var L=rO();U.createSign=L.createSign,U.Sign=L.Sign,U.createVerify=L.createVerify,U.Verify=L.Verify,U.createECDH=HL();var z=fL();U.publicEncrypt=z.publicEncrypt,U.privateEncrypt=z.privateEncrypt,U.publicDecrypt=z.publicDecrypt,U.privateDecrypt=z.privateDecrypt;var D=vL();U.randomFill=D.randomFill,U.randomFillSync=D.randomFillSync,U.createCredentials=function(){throw Error(`sorry, createCredentials is not implemented yet
|
|
15
|
+
we accept pull requests
|
|
16
|
+
https://github.com/browserify/crypto-browserify`)},U.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}),Y1=YO(hL(),1),cL=Y1.prng,uL=Y1.pseudoRandomBytes,bL=Y1.rng,lL=Y1.randomBytes,dL=Y1.Hash,RZ=Y1.createHash,oL=Y1.Hmac,mL=Y1.createHmac,rL=Y1.getHashes,nL=Y1.pbkdf2,sL=Y1.pbkdf2Sync,iL=Y1.Cipher,aL=Y1.createCipher,tL=Y1.Cipheriv,eL=Y1.createCipheriv,UV=Y1.Decipher,QV=Y1.createDecipher,ZV=Y1.Decipheriv,XV=Y1.createDecipheriv,JV=Y1.getCiphers,GV=Y1.listCiphers,IV=Y1.DiffieHellmanGroup,$V=Y1.createDiffieHellmanGroup,YV=Y1.getDiffieHellman,TV=Y1.createDiffieHellman,KV=Y1.DiffieHellman,WV=Y1.createSign,OV=Y1.Sign,LV=Y1.createVerify,VV=Y1.Verify,DV=Y1.createECDH,HV=Y1.publicEncrypt,FV=Y1.privateEncrypt,RV=Y1.publicDecrypt,zV=Y1.privateDecrypt,SV=Y1.randomFill,MV=Y1.randomFillSync,qV=Y1.createCredentials,CV=Y1.constants,_V=["p192","p224","p256","p384","p521","curve25519","ed25519","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1"];jV=crypto,BV=crypto});var $T={763:()=>{}},XX={};function a6(U){var Q=XX[U];if(Q!==void 0)return Q.exports;var Z=XX[U]={exports:{}};return $T[U](Z,Z.exports,a6),Z.exports}a6.d=(U,Q)=>{for(var Z in Q)a6.o(Q,Z)&&!a6.o(U,Z)&&Object.defineProperty(U,Z,{enumerable:!0,get:Q[Z]})},a6.o=(U,Q)=>Object.prototype.hasOwnProperty.call(U,Q);var W1={};a6.d(W1,{MG:()=>_1,fr:()=>g5,sR:()=>Y3,Zo:()=>p6,iH:()=>PX,rt:()=>S6,jB:()=>K3,M8:()=>J3,$t:()=>K7,aq:()=>I3,pG:()=>_4,eP:()=>h5,KU:()=>e6,zW:()=>c5,IX:()=>K1,mY:()=>x2,a7:()=>U4,JG:()=>B1,ay:()=>j1,X2:()=>T7,WU:()=>v5,Uw:()=>G3,gw:()=>$7,iX:()=>u5,re:()=>Q3,Pg:()=>b5,tD:()=>Z3,R$:()=>I2,Dj:()=>q6,m7:()=>v6,NZ:()=>P4,xo:()=>U6,ou:()=>l0,qC:()=>R6,mD:()=>z6,Ay:()=>ST});class l0{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(U){this._text=U}}function E4(U,Q){if(!Array.isArray(U)||!Array.isArray(Q))return!1;if(U===Q)return!0;if(U.length!==Q.length)return!1;for(let Z=0;Z<U.length;Z++)if(!(U[Z]===Q[Z]||U[Z].equals&&U[Z].equals(Q[Z])))return!1;return!0}l0.INVALID_TYPE=0,l0.EPSILON=-2,l0.MIN_USER_TOKEN_TYPE=1,l0.EOF=-1,l0.DEFAULT_CHANNEL=0,l0.HIDDEN_CHANNEL=1;var YT=Math.round(Math.random()*Math.pow(2,32));function YX(U){if(!U)return 0;let Q=typeof U,Z=Q==="string"?U:!(Q!=="object"||!U.toString)&&U.toString();if(!Z)return 0;let X,J,Y=3&Z.length,G=Z.length-Y,L=YT,z=3432918353,D=461845907,S=0;for(;S<G;)J=255&Z.charCodeAt(S)|(255&Z.charCodeAt(++S))<<8|(255&Z.charCodeAt(++S))<<16|(255&Z.charCodeAt(++S))<<24,++S,J=(65535&J)*z+(((J>>>16)*z&65535)<<16)&4294967295,J=J<<15|J>>>17,J=(65535&J)*D+(((J>>>16)*D&65535)<<16)&4294967295,L^=J,L=L<<13|L>>>19,X=5*(65535&L)+((5*(L>>>16)&65535)<<16)&4294967295,L=27492+(65535&X)+((58964+(X>>>16)&65535)<<16);switch(J=0,Y){case 3:J^=(255&Z.charCodeAt(S+2))<<16;case 2:J^=(255&Z.charCodeAt(S+1))<<8;case 1:J^=255&Z.charCodeAt(S),J=(65535&J)*z+(((J>>>16)*z&65535)<<16)&4294967295,J=J<<15|J>>>17,J=(65535&J)*D+(((J>>>16)*D&65535)<<16)&4294967295,L^=J}return L^=Z.length,L^=L>>>16,L=2246822507*(65535&L)+((2246822507*(L>>>16)&65535)<<16)&4294967295,L^=L>>>13,L=3266489909*(65535&L)+((3266489909*(L>>>16)&65535)<<16)&4294967295,L^=L>>>16,L>>>0}class u2{constructor(){this.count=0,this.hash=0}update(){for(let U=0;U<arguments.length;U++){let Q=arguments[U];if(Q!=null)if(Array.isArray(Q))this.update.apply(this,Q);else{let Z=0;switch(typeof Q){case"undefined":case"function":continue;case"number":case"boolean":Z=Q;break;case"string":Z=YX(Q);break;default:Q.updateHashCode?Q.updateHashCode(this):console.log("No updateHashCode for "+Q.toString());continue}Z*=3432918353,Z=Z<<15|Z>>>17,Z*=461845907,this.count=this.count+1;let X=this.hash^Z;X=X<<13|X>>>19,X=5*X+3864292196,this.hash=X}}}finish(){let U=this.hash^4*this.count;return U^=U>>>16,U*=2246822507,U^=U>>>13,U*=3266489909,U^=U>>>16,U}static hashStuff(){let U=new u2;return U.update.apply(U,arguments),U.finish()}}function TX(U){return U?typeof U=="string"?YX(U):U.hashCode():-1}function KX(U,Q){return U&&U.equals?U.equals(Q):U===Q}function TT(U){return U===null?"null":U}function z6(U){return Array.isArray(U)?"["+U.map(TT).join(", ")+"]":"null"}class y2{constructor(U,Q){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=U||TX,this.equalsFunction=Q||KX}get(U){if(U==null)return U;let Q=this._getBucket(U);if(!Q)return null;for(let Z of Q)if(this.equalsFunction(Z,U))return Z;return null}add(U){return this.getOrAdd(U)===U}getOrAdd(U){this._expand();let Q=this._getSlot(U),Z=this.buckets[Q];if(!Z)return Z=[U],this.buckets[Q]=Z,this.itemCount++,U;for(let X of Z)if(this.equalsFunction(X,U))return X;return Z.push(U),this.itemCount++,U}has(U){return this.get(U)!=null}values(){return this.buckets.filter((U)=>U!=null).flat(1)}toString(){return z6(this.values())}get length(){return this.itemCount}_getSlot(U){return this.hashFunction(U)&this.buckets.length-1}_getBucket(U){return this.buckets[this._getSlot(U)]}_expand(){if(this.itemCount<=this.threshold)return;let U=this.buckets,Q=2*this.buckets.length;this.buckets=Array(Q),this.threshold=Math.floor(0.75*Q);for(let Z of U)if(Z)for(let X of Z){let J=this._getSlot(X),Y=this.buckets[J];Y||(Y=[],this.buckets[J]=Y),Y.push(X)}}}class H1{hashCode(){let U=new u2;return this.updateHashCode(U),U.finish()}evaluate(U,Q){}evalPrecedence(U,Q){return this}static andContext(U,Q){if(U===null||U===H1.NONE)return Q;if(Q===null||Q===H1.NONE)return U;let Z=new Z7(U,Q);return Z.opnds.length===1?Z.opnds[0]:Z}static orContext(U,Q){if(U===null)return Q;if(Q===null)return U;if(U===H1.NONE||Q===H1.NONE)return H1.NONE;let Z=new X7(U,Q);return Z.opnds.length===1?Z.opnds[0]:Z}}class Z7 extends H1{constructor(U,Q){super();let Z=new y2;U instanceof Z7?U.opnds.map(function(J){Z.add(J)}):Z.add(U),Q instanceof Z7?Q.opnds.map(function(J){Z.add(J)}):Z.add(Q);let X=WX(Z);if(X.length>0){let J=null;X.map(function(Y){(J===null||Y.precedence<J.precedence)&&(J=Y)}),Z.add(J)}this.opnds=Array.from(Z.values())}equals(U){return this===U||U instanceof Z7&&E4(this.opnds,U.opnds)}updateHashCode(U){U.update(this.opnds,"AND")}evaluate(U,Q){for(let Z=0;Z<this.opnds.length;Z++)if(!this.opnds[Z].evaluate(U,Q))return!1;return!0}evalPrecedence(U,Q){let Z=!1,X=[];for(let Y=0;Y<this.opnds.length;Y++){let G=this.opnds[Y],L=G.evalPrecedence(U,Q);if(Z|=L!==G,L===null)return null;L!==H1.NONE&&X.push(L)}if(!Z)return this;if(X.length===0)return H1.NONE;let J=null;return X.map(function(Y){J=J===null?Y:H1.andContext(J,Y)}),J}toString(){let U=this.opnds.map((Q)=>Q.toString());return(U.length>3?U.slice(3):U).join("&&")}}class X7 extends H1{constructor(U,Q){super();let Z=new y2;U instanceof X7?U.opnds.map(function(J){Z.add(J)}):Z.add(U),Q instanceof X7?Q.opnds.map(function(J){Z.add(J)}):Z.add(Q);let X=WX(Z);if(X.length>0){let J=X.sort(function(G,L){return G.compareTo(L)}),Y=J[J.length-1];Z.add(Y)}this.opnds=Array.from(Z.values())}equals(U){return this===U||U instanceof X7&&E4(this.opnds,U.opnds)}updateHashCode(U){U.update(this.opnds,"OR")}evaluate(U,Q){for(let Z=0;Z<this.opnds.length;Z++)if(this.opnds[Z].evaluate(U,Q))return!0;return!1}evalPrecedence(U,Q){let Z=!1,X=[];for(let J=0;J<this.opnds.length;J++){let Y=this.opnds[J],G=Y.evalPrecedence(U,Q);if(Z|=G!==Y,G===H1.NONE)return H1.NONE;G!==null&&X.push(G)}if(!Z)return this;if(X.length===0)return null;return X.map(function(J){return J}),null}toString(){let U=this.opnds.map((Q)=>Q.toString());return(U.length>3?U.slice(3):U).join("||")}}function WX(U){let Q=[];return U.values().map(function(Z){Z instanceof H1.PrecedencePredicate&&Q.push(Z)}),Q}function JX(U,Q){if(U===null){let Z={state:null,alt:null,context:null,semanticContext:null};return Q&&(Z.reachesIntoOuterContext=0),Z}{let Z={};return Z.state=U.state||null,Z.alt=U.alt===void 0?null:U.alt,Z.context=U.context||null,Z.semanticContext=U.semanticContext||null,Q&&(Z.reachesIntoOuterContext=U.reachesIntoOuterContext||0,Z.precedenceFilterSuppressed=U.precedenceFilterSuppressed||!1),Z}}class f1{constructor(U,Q){this.checkContext(U,Q),U=JX(U),Q=JX(Q,!0),this.state=U.state!==null?U.state:Q.state,this.alt=U.alt!==null?U.alt:Q.alt,this.context=U.context!==null?U.context:Q.context,this.semanticContext=U.semanticContext!==null?U.semanticContext:Q.semanticContext!==null?Q.semanticContext:H1.NONE,this.reachesIntoOuterContext=Q.reachesIntoOuterContext,this.precedenceFilterSuppressed=Q.precedenceFilterSuppressed}checkContext(U,Q){U.context!==null&&U.context!==void 0||Q!==null&&Q.context!==null&&Q.context!==void 0||(this.context=null)}hashCode(){let U=new u2;return this.updateHashCode(U),U.finish()}updateHashCode(U){U.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(U){return this===U||U instanceof f1&&this.state.stateNumber===U.state.stateNumber&&this.alt===U.alt&&(this.context===null?U.context===null:this.context.equals(U.context))&&this.semanticContext.equals(U.semanticContext)&&this.precedenceFilterSuppressed===U.precedenceFilterSuppressed}hashCodeForConfigSet(){let U=new u2;return U.update(this.state.stateNumber,this.alt,this.semanticContext),U.finish()}equalsForConfigSet(U){return this===U||U instanceof f1&&this.state.stateNumber===U.state.stateNumber&&this.alt===U.alt&&this.semanticContext.equals(U.semanticContext)}toString(){return"("+this.state+","+this.alt+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==H1.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}}class K1{constructor(U,Q){this.start=U,this.stop=Q}clone(){return new K1(this.start,this.stop)}contains(U){return U>=this.start&&U<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+".."+(this.stop-1).toString()}get length(){return this.stop-this.start}}K1.INVALID_INTERVAL=new K1(-1,-2);class x2{constructor(){this.intervals=null,this.readOnly=!1}first(U){return this.intervals===null||this.intervals.length===0?l0.INVALID_TYPE:this.intervals[0].start}addOne(U){this.addInterval(new K1(U,U+1))}addRange(U,Q){this.addInterval(new K1(U,Q+1))}addInterval(U){if(this.intervals===null)this.intervals=[],this.intervals.push(U.clone());else{for(let Q=0;Q<this.intervals.length;Q++){let Z=this.intervals[Q];if(U.stop<Z.start)return void this.intervals.splice(Q,0,U);if(U.stop===Z.start)return void(this.intervals[Q]=new K1(U.start,Z.stop));if(U.start<=Z.stop)return this.intervals[Q]=new K1(Math.min(Z.start,U.start),Math.max(Z.stop,U.stop)),void this.reduce(Q)}this.intervals.push(U.clone())}}addSet(U){return U.intervals!==null&&U.intervals.forEach((Q)=>this.addInterval(Q),this),this}reduce(U){if(U<this.intervals.length-1){let Q=this.intervals[U],Z=this.intervals[U+1];Q.stop>=Z.stop?(this.intervals.splice(U+1,1),this.reduce(U)):Q.stop>=Z.start&&(this.intervals[U]=new K1(Q.start,Z.stop),this.intervals.splice(U+1,1))}}complement(U,Q){let Z=new x2;return Z.addInterval(new K1(U,Q+1)),this.intervals!==null&&this.intervals.forEach((X)=>Z.removeRange(X)),Z}contains(U){if(this.intervals===null)return!1;for(let Q=0;Q<this.intervals.length;Q++)if(this.intervals[Q].contains(U))return!0;return!1}removeRange(U){if(U.start===U.stop-1)this.removeOne(U.start);else if(this.intervals!==null){let Q=0;for(let Z=0;Z<this.intervals.length;Z++){let X=this.intervals[Q];if(U.stop<=X.start)return;if(U.start>X.start&&U.stop<X.stop){this.intervals[Q]=new K1(X.start,U.start);let J=new K1(U.stop,X.stop);return void this.intervals.splice(Q,0,J)}U.start<=X.start&&U.stop>=X.stop?(this.intervals.splice(Q,1),Q-=1):U.start<X.stop?this.intervals[Q]=new K1(X.start,U.start):U.stop<X.stop&&(this.intervals[Q]=new K1(U.stop,X.stop)),Q+=1}}}removeOne(U){if(this.intervals!==null)for(let Q=0;Q<this.intervals.length;Q++){let Z=this.intervals[Q];if(U<Z.start)return;if(U===Z.start&&U===Z.stop-1)return void this.intervals.splice(Q,1);if(U===Z.start)return void(this.intervals[Q]=new K1(Z.start+1,Z.stop));if(U===Z.stop-1)return void(this.intervals[Q]=new K1(Z.start,Z.stop-1));if(U<Z.stop-1){let X=new K1(Z.start,U);return Z.start=U+1,void this.intervals.splice(Q,0,X)}}}toString(U,Q,Z){return U=U||null,Q=Q||null,Z=Z||!1,this.intervals===null?"{}":U!==null||Q!==null?this.toTokenString(U,Q):Z?this.toCharString():this.toIndexString()}toCharString(){let U=[];for(let Q=0;Q<this.intervals.length;Q++){let Z=this.intervals[Q];Z.stop===Z.start+1?Z.start===l0.EOF?U.push("<EOF>"):U.push("'"+String.fromCharCode(Z.start)+"'"):U.push("'"+String.fromCharCode(Z.start)+"'..'"+String.fromCharCode(Z.stop-1)+"'")}return U.length>1?"{"+U.join(", ")+"}":U[0]}toIndexString(){let U=[];for(let Q=0;Q<this.intervals.length;Q++){let Z=this.intervals[Q];Z.stop===Z.start+1?Z.start===l0.EOF?U.push("<EOF>"):U.push(Z.start.toString()):U.push(Z.start.toString()+".."+(Z.stop-1).toString())}return U.length>1?"{"+U.join(", ")+"}":U[0]}toTokenString(U,Q){let Z=[];for(let X=0;X<this.intervals.length;X++){let J=this.intervals[X];for(let Y=J.start;Y<J.stop;Y++)Z.push(this.elementName(U,Q,Y))}return Z.length>1?"{"+Z.join(", ")+"}":Z[0]}elementName(U,Q,Z){return Z===l0.EOF?"<EOF>":Z===l0.EPSILON?"<EPSILON>":U[Z]||Q[Z]}get length(){return this.intervals.map((U)=>U.length).reduce((U,Q)=>U+Q)}}class s0{constructor(){this.atn=null,this.stateNumber=s0.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(U){return U instanceof s0&&this.stateNumber===U.stateNumber}isNonGreedyExitState(){return!1}addTransition(U,Q){Q===void 0&&(Q=-1),this.transitions.length===0?this.epsilonOnlyTransitions=U.isEpsilon:this.epsilonOnlyTransitions!==U.isEpsilon&&(this.epsilonOnlyTransitions=!1),Q===-1?this.transitions.push(U):this.transitions.splice(Q,1,U)}}s0.INVALID_TYPE=0,s0.BASIC=1,s0.RULE_START=2,s0.BLOCK_START=3,s0.PLUS_BLOCK_START=4,s0.STAR_BLOCK_START=5,s0.TOKEN_START=6,s0.RULE_STOP=7,s0.BLOCK_END=8,s0.STAR_LOOP_BACK=9,s0.STAR_LOOP_ENTRY=10,s0.PLUS_LOOP_BACK=11,s0.LOOP_END=12,s0.serializationNames=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"],s0.INVALID_STATE_NUMBER=-1;class E2 extends s0{constructor(){return super(),this.stateType=s0.RULE_STOP,this}}class n0{constructor(U){if(U==null)throw"target cannot be null.";this.target=U,this.isEpsilon=!1,this.label=null}}n0.EPSILON=1,n0.RANGE=2,n0.RULE=3,n0.PREDICATE=4,n0.ATOM=5,n0.ACTION=6,n0.SET=7,n0.NOT_SET=8,n0.WILDCARD=9,n0.PRECEDENCE=10,n0.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],n0.serializationTypes={EpsilonTransition:n0.EPSILON,RangeTransition:n0.RANGE,RuleTransition:n0.RULE,PredicateTransition:n0.PREDICATE,AtomTransition:n0.ATOM,ActionTransition:n0.ACTION,SetTransition:n0.SET,NotSetTransition:n0.NOT_SET,WildcardTransition:n0.WILDCARD,PrecedencePredicateTransition:n0.PRECEDENCE};class G7 extends n0{constructor(U,Q,Z,X){super(U),this.ruleIndex=Q,this.precedence=Z,this.followState=X,this.serializationType=n0.RULE,this.isEpsilon=!0}matches(U,Q,Z){return!1}}class B5 extends n0{constructor(U,Q){super(U),this.serializationType=n0.SET,Q!=null?this.label=Q:(this.label=new x2,this.label.addOne(l0.INVALID_TYPE))}matches(U,Q,Z){return this.label.contains(U)}toString(){return this.label.toString()}}class N5 extends B5{constructor(U,Q){super(U,Q),this.serializationType=n0.NOT_SET}matches(U,Q,Z){return U>=Q&&U<=Z&&!super.matches(U,Q,Z)}toString(){return"~"+super.toString()}}class d9 extends n0{constructor(U){super(U),this.serializationType=n0.WILDCARD}matches(U,Q,Z){return U>=Q&&U<=Z}toString(){return"."}}class w5 extends n0{constructor(U){super(U)}}class OX{}class LX extends OX{}class o9 extends LX{}class P4 extends o9{get ruleContext(){throw Error("missing interface implementation")}}class U6 extends o9{}class Y7 extends U6{}var F6={toStringTree:function(U,Q,Z){Q=Q||null,(Z=Z||null)!==null&&(Q=Z.ruleNames);let X=F6.getNodeText(U,Q);X=function(G){return G=G.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}(X);let J=U.getChildCount();if(J===0)return X;let Y="("+X+" ";J>0&&(X=F6.toStringTree(U.getChild(0),Q),Y=Y.concat(X));for(let G=1;G<J;G++)X=F6.toStringTree(U.getChild(G),Q),Y=Y.concat(" "+X);return Y=Y.concat(")"),Y},getNodeText:function(U,Q,Z){if(Q=Q||null,(Z=Z||null)!==null&&(Q=Z.ruleNames),Q!==null){if(U instanceof P4){let J=U.ruleContext.getAltNumber();return J!=0?Q[U.ruleIndex]+":"+J:Q[U.ruleIndex]}if(U instanceof Y7)return U.toString();if(U instanceof U6&&U.symbol!==null)return U.symbol.text}let X=U.getPayload();return X instanceof l0?X.text:U.getPayload().toString()},getChildren:function(U){let Q=[];for(let Z=0;Z<U.getChildCount();Z++)Q.push(U.getChild(Z));return Q},getAncestors:function(U){let Q=[];for(U=U.getParent();U!==null;)Q=[U].concat(Q),U=U.getParent();return Q},findAllTokenNodes:function(U,Q){return F6.findAllNodes(U,Q,!0)},findAllRuleNodes:function(U,Q){return F6.findAllNodes(U,Q,!1)},findAllNodes:function(U,Q,Z){let X=[];return F6._findAllNodes(U,Q,Z,X),X},_findAllNodes:function(U,Q,Z,X){Z&&U instanceof U6?U.symbol.type===Q&&X.push(U):!Z&&U instanceof P4&&U.ruleIndex===Q&&X.push(U);for(let J=0;J<U.getChildCount();J++)F6._findAllNodes(U.getChild(J),Q,Z,X)},descendants:function(U){let Q=[U];for(let Z=0;Z<U.getChildCount();Z++)Q=Q.concat(F6.descendants(U.getChild(Z)));return Q}},VX=F6;class v6 extends P4{constructor(U,Q){super(),this.parentCtx=U||null,this.invokingState=Q||-1}depth(){let U=0,Q=this;for(;Q!==null;)Q=Q.parentCtx,U+=1;return U}isEmpty(){return this.invokingState===-1}getSourceInterval(){return K1.INVALID_INTERVAL}get ruleContext(){return this}getPayload(){return this}getText(){return this.getChildCount()===0?"":this.children.map(function(U){return U.getText()}).join("")}getAltNumber(){return 0}setAltNumber(U){}getChild(U){return null}getChildCount(){return 0}accept(U){return U.visitChildren(this)}toStringTree(U,Q){return VX.toStringTree(this,U,Q)}toString(U,Q){U=U||null,Q=Q||null;let Z=this,X="[";for(;Z!==null&&Z!==Q;){if(U===null)Z.isEmpty()||(X+=Z.invokingState);else{let J=Z.ruleIndex;X+=J>=0&&J<U.length?U[J]:""+J}Z.parentCtx===null||U===null&&Z.parentCtx.isEmpty()||(X+=" "),Z=Z.parentCtx}return X+="]",X}}class Q1{constructor(U){this.cachedHashCode=U}isEmpty(){return this===Q1.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===Q1.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(U){U.update(this.cachedHashCode)}}Q1.EMPTY=null,Q1.EMPTY_RETURN_STATE=2147483647,Q1.globalNodeCount=1,Q1.id=Q1.globalNodeCount,Q1.trace_atn_sim=!1;class T6 extends Q1{constructor(U,Q){let Z=new u2;return Z.update(U,Q),super(Z.finish()),this.parents=U,this.returnStates=Q,this}isEmpty(){return this.returnStates[0]===Q1.EMPTY_RETURN_STATE}getParent(U){return this.parents[U]}getReturnState(U){return this.returnStates[U]}equals(U){return this===U||U instanceof T6&&this.hashCode()===U.hashCode()&&E4(this.returnStates,U.returnStates)&&E4(this.parents,U.parents)}toString(){if(this.isEmpty())return"[]";{let U="[";for(let Q=0;Q<this.returnStates.length;Q++)Q>0&&(U+=", "),this.returnStates[Q]!==Q1.EMPTY_RETURN_STATE?(U+=this.returnStates[Q],this.parents[Q]!==null?U=U+" "+this.parents[Q]:U+="null"):U+="$";return U+"]"}}get length(){return this.returnStates.length}}class k2 extends Q1{constructor(U,Q){let Z=0,X=new u2;U!==null?X.update(U,Q):X.update(1),Z=X.finish(),super(Z),this.parentCtx=U,this.returnState=Q}getParent(U){return this.parentCtx}getReturnState(U){return this.returnState}equals(U){return this===U||U instanceof k2&&this.hashCode()===U.hashCode()&&this.returnState===U.returnState&&(this.parentCtx==null?U.parentCtx==null:this.parentCtx.equals(U.parentCtx))}toString(){let U=this.parentCtx===null?"":this.parentCtx.toString();return U.length===0?this.returnState===Q1.EMPTY_RETURN_STATE?"$":""+this.returnState:this.returnState+" "+U}get length(){return 1}static create(U,Q){return Q===Q1.EMPTY_RETURN_STATE&&U===null?Q1.EMPTY:new k2(U,Q)}}class C5 extends k2{constructor(){super(null,Q1.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(U){return null}getReturnState(U){return this.returnState}equals(U){return this===U}toString(){return"$"}}Q1.EMPTY=new C5;class k4{constructor(U,Q){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=U||TX,this.equalsFunction=Q||KX}set(U,Q){this._expand();let Z=this._getSlot(U),X=this.buckets[Z];if(!X)return X=[[U,Q]],this.buckets[Z]=X,this.itemCount++,Q;let J=X.find((Y)=>this.equalsFunction(Y[0],U),this);if(J){let Y=J[1];return J[1]=Q,Y}return X.push([U,Q]),this.itemCount++,Q}containsKey(U){let Q=this._getBucket(U);return!!Q&&!!Q.find((Z)=>this.equalsFunction(Z[0],U),this)}get(U){let Q=this._getBucket(U);if(!Q)return null;let Z=Q.find((X)=>this.equalsFunction(X[0],U),this);return Z?Z[1]:null}entries(){return this.buckets.filter((U)=>U!=null).flat(1)}getKeys(){return this.entries().map((U)=>U[0])}getValues(){return this.entries().map((U)=>U[1])}toString(){return"["+this.entries().map((U)=>"{"+U[0]+":"+U[1]+"}").join(", ")+"]"}get length(){return this.itemCount}_getSlot(U){return this.hashFunction(U)&this.buckets.length-1}_getBucket(U){return this.buckets[this._getSlot(U)]}_expand(){if(this.itemCount<=this.threshold)return;let U=this.buckets,Q=2*this.buckets.length;this.buckets=Array(Q),this.threshold=Math.floor(0.75*Q);for(let Z of U)if(Z)for(let X of Z){let J=this._getSlot(X[0]),Y=this.buckets[J];Y||(Y=[],this.buckets[J]=Y),Y.push(X)}}}function m9(U,Q){if(Q==null&&(Q=v6.EMPTY),Q.parentCtx===null||Q===v6.EMPTY)return Q1.EMPTY;let Z=m9(U,Q.parentCtx),X=U.states[Q.invokingState].transitions[0];return k2.create(Z,X.followState.stateNumber)}function DX(U,Q,Z){if(U.isEmpty())return U;let X=Z.get(U)||null;if(X!==null)return X;if(X=Q.get(U),X!==null)return Z.set(U,X),X;let J=!1,Y=[];for(let L=0;L<Y.length;L++){let z=DX(U.getParent(L),Q,Z);if(J||z!==U.getParent(L)){if(!J){Y=[];for(let D=0;D<U.length;D++)Y[D]=U.getParent(D);J=!0}Y[L]=z}}if(!J)return Q.add(U),Z.set(U,U),U;let G=null;return G=Y.length===0?Q1.EMPTY:Y.length===1?k2.create(Y[0],U.getReturnState(0)):new T6(Y,U.returnStates),Q.add(G),Z.set(G,G),Z.set(U,G),G}function g9(U,Q,Z,X){if(U===Q)return U;if(U instanceof k2&&Q instanceof k2)return function(J,Y,G,L){if(L!==null){let D=L.get(J,Y);if(D!==null)return D;if(D=L.get(Y,J),D!==null)return D}let z=function(D,S,H){if(H){if(D===Q1.EMPTY)return Q1.EMPTY;if(S===Q1.EMPTY)return Q1.EMPTY}else{if(D===Q1.EMPTY&&S===Q1.EMPTY)return Q1.EMPTY;if(D===Q1.EMPTY){let q=[S.returnState,Q1.EMPTY_RETURN_STATE],E=[S.parentCtx,null];return new T6(E,q)}if(S===Q1.EMPTY){let q=[D.returnState,Q1.EMPTY_RETURN_STATE],E=[D.parentCtx,null];return new T6(E,q)}}return null}(J,Y,G);if(z!==null)return L!==null&&L.set(J,Y,z),z;if(J.returnState===Y.returnState){let D=g9(J.parentCtx,Y.parentCtx,G,L);if(D===J.parentCtx)return J;if(D===Y.parentCtx)return Y;let S=k2.create(D,J.returnState);return L!==null&&L.set(J,Y,S),S}{let D=null;if((J===Y||J.parentCtx!==null&&J.parentCtx===Y.parentCtx)&&(D=J.parentCtx),D!==null){let E=[J.returnState,Y.returnState];J.returnState>Y.returnState&&(E[0]=Y.returnState,E[1]=J.returnState);let P=new T6([D,D],E);return L!==null&&L.set(J,Y,P),P}let S=[J.returnState,Y.returnState],H=[J.parentCtx,Y.parentCtx];J.returnState>Y.returnState&&(S[0]=Y.returnState,S[1]=J.returnState,H=[Y.parentCtx,J.parentCtx]);let q=new T6(H,S);return L!==null&&L.set(J,Y,q),q}}(U,Q,Z,X);if(Z){if(U instanceof C5)return U;if(Q instanceof C5)return Q}return U instanceof k2&&(U=new T6([U.getParent()],[U.returnState])),Q instanceof k2&&(Q=new T6([Q.getParent()],[Q.returnState])),function(J,Y,G,L){if(L!==null){let P=L.get(J,Y);if(P!==null)return Q1.trace_atn_sim&&console.log("mergeArrays a="+J+",b="+Y+" -> previous"),P;if(P=L.get(Y,J),P!==null)return Q1.trace_atn_sim&&console.log("mergeArrays a="+J+",b="+Y+" -> previous"),P}let z=0,D=0,S=0,H=Array(J.returnStates.length+Y.returnStates.length).fill(0),q=Array(J.returnStates.length+Y.returnStates.length).fill(null);for(;z<J.returnStates.length&&D<Y.returnStates.length;){let P=J.parents[z],k=Y.parents[D];if(J.returnStates[z]===Y.returnStates[D]){let _=J.returnStates[z];_===Q1.EMPTY_RETURN_STATE&&P===null&&k===null||P!==null&&k!==null&&P===k?(q[S]=P,H[S]=_):(q[S]=g9(P,k,G,L),H[S]=_),z+=1,D+=1}else J.returnStates[z]<Y.returnStates[D]?(q[S]=P,H[S]=J.returnStates[z],z+=1):(q[S]=k,H[S]=Y.returnStates[D],D+=1);S+=1}if(z<J.returnStates.length)for(let P=z;P<J.returnStates.length;P++)q[S]=J.parents[P],H[S]=J.returnStates[P],S+=1;else for(let P=D;P<Y.returnStates.length;P++)q[S]=Y.parents[P],H[S]=Y.returnStates[P],S+=1;if(S<q.length){if(S===1){let P=k2.create(q[0],H[0]);return L!==null&&L.set(J,Y,P),P}q=q.slice(0,S),H=H.slice(0,S)}let E=new T6(q,H);return E.equals(J)?(L!==null&&L.set(J,Y,J),Q1.trace_atn_sim&&console.log("mergeArrays a="+J+",b="+Y+" -> a"),J):E.equals(Y)?(L!==null&&L.set(J,Y,Y),Q1.trace_atn_sim&&console.log("mergeArrays a="+J+",b="+Y+" -> b"),Y):(function(P){let k=new k4;for(let _=0;_<P.length;_++){let j=P[_];k.containsKey(j)||k.set(j,j)}for(let _=0;_<P.length;_++)P[_]=k.get(P[_])}(q),L!==null&&L.set(J,Y,E),Q1.trace_atn_sim&&console.log("mergeArrays a="+J+",b="+Y+" -> "+E),E)}(U,Q,Z,X)}class _2{constructor(){this.data=new Uint32Array(1)}set(U){_2._checkIndex(U),this._resize(U),this.data[U>>>5]|=1<<U%32}get(U){_2._checkIndex(U);let Q=U>>>5;return!(Q>=this.data.length||!(this.data[Q]&1<<U%32))}clear(U){_2._checkIndex(U);let Q=U>>>5;Q<this.data.length&&(this.data[Q]&=~(1<<U))}or(U){let Q=Math.min(this.data.length,U.data.length);for(let Z=0;Z<Q;++Z)this.data[Z]|=U.data[Z];if(this.data.length<U.data.length){this._resize((U.data.length<<5)-1);let Z=U.data.length;for(let X=Q;X<Z;++X)this.data[X]=U.data[X]}}values(){let U=Array(this.length),Q=0,Z=this.data.length;for(let X=0;X<Z;++X){let J=this.data[X];for(;J!==0;){let Y=J&-J;U[Q++]=(X<<5)+_2._bitCount(Y-1),J^=Y}}return U}minValue(){for(let U=0;U<this.data.length;++U){let Q=this.data[U];if(Q!==0){let Z=0;for(;!(1&Q);)Z++,Q>>=1;return Z+32*U}}return 0}hashCode(){return u2.hashStuff(this.values())}equals(U){return U instanceof _2&&E4(this.data,U.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.data.map((U)=>_2._bitCount(U)).reduce((U,Q)=>U+Q,0)}_resize(U){let Q=U+32>>>5;if(Q<=this.data.length)return;let Z=new Uint32Array(Q);Z.set(this.data),Z.fill(0,this.data.length),this.data=Z}static _checkIndex(U){if(U<0)throw RangeError("index cannot be negative")}static _bitCount(U){return U=(U=(858993459&(U-=U>>1&1431655765))+(U>>2&858993459))+(U>>4)&252645135,U+=U>>8,0+(U+=U>>16)&63}}class U4{constructor(U){this.atn=U}getDecisionLookahead(U){if(U===null)return null;let Q=U.transitions.length,Z=[];for(let X=0;X<Q;X++){Z[X]=new x2;let J=new y2,Y=!1;this._LOOK(U.transition(X).target,null,Q1.EMPTY,Z[X],J,new _2,Y,!1),(Z[X].length===0||Z[X].contains(U4.HIT_PRED))&&(Z[X]=null)}return Z}LOOK(U,Q,Z){let X=new x2,J=(Z=Z||null)!==null?m9(U.atn,Z):null;return this._LOOK(U,Q,J,X,new y2,new _2,!0,!0),X}_LOOK(U,Q,Z,X,J,Y,G,L){let z=new f1({state:U,alt:0,context:Z},null);if(!J.has(z)){if(J.add(z),U===Q){if(Z===null)return void X.addOne(l0.EPSILON);if(Z.isEmpty()&&L)return void X.addOne(l0.EOF)}if(U instanceof E2){if(Z===null)return void X.addOne(l0.EPSILON);if(Z.isEmpty()&&L)return void X.addOne(l0.EOF);if(Z!==Q1.EMPTY){let D=Y.get(U.ruleIndex);try{Y.clear(U.ruleIndex);for(let S=0;S<Z.length;S++){let H=this.atn.states[Z.getReturnState(S)];this._LOOK(H,Q,Z.getParent(S),X,J,Y,G,L)}}finally{D&&Y.set(U.ruleIndex)}return}}for(let D=0;D<U.transitions.length;D++){let S=U.transitions[D];if(S.constructor===G7){if(Y.get(S.target.ruleIndex))continue;let H=k2.create(Z,S.followState.stateNumber);try{Y.set(S.target.ruleIndex),this._LOOK(S.target,Q,H,X,J,Y,G,L)}finally{Y.clear(S.target.ruleIndex)}}else if(S instanceof w5)G?this._LOOK(S.target,Q,Z,X,J,Y,G,L):X.addOne(U4.HIT_PRED);else if(S.isEpsilon)this._LOOK(S.target,Q,Z,X,J,Y,G,L);else if(S.constructor===d9)X.addRange(l0.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);else{let H=S.label;H!==null&&(S instanceof N5&&(H=H.complement(l0.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),X.addSet(H))}}}}}U4.HIT_PRED=l0.INVALID_TYPE;class _1{constructor(U,Q){this.grammarType=U,this.maxTokenType=Q,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(U,Q){return new U4(this).LOOK(U,null,Q)}nextTokensNoContext(U){return U.nextTokenWithinRule!==null||(U.nextTokenWithinRule=this.nextTokensInContext(U,null),U.nextTokenWithinRule.readOnly=!0),U.nextTokenWithinRule}nextTokens(U,Q){return Q===void 0?this.nextTokensNoContext(U):this.nextTokensInContext(U,Q)}addState(U){U!==null&&(U.atn=this,U.stateNumber=this.states.length),this.states.push(U)}removeState(U){this.states[U.stateNumber]=null}defineDecisionState(U){return this.decisionToState.push(U),U.decision=this.decisionToState.length-1,U.decision}getDecisionState(U){return this.decisionToState.length===0?null:this.decisionToState[U]}getExpectedTokens(U,Q){if(U<0||U>=this.states.length)throw"Invalid state number.";let Z=this.states[U],X=this.nextTokens(Z);if(!X.contains(l0.EPSILON))return X;let J=new x2;for(J.addSet(X),J.removeOne(l0.EPSILON);Q!==null&&Q.invokingState>=0&&X.contains(l0.EPSILON);){let Y=this.states[Q.invokingState].transitions[0];X=this.nextTokens(Y.followState),J.addSet(X),J.removeOne(l0.EPSILON),Q=Q.parentCtx}return X.contains(l0.EPSILON)&&J.addOne(l0.EOF),J}}_1.INVALID_ALT_NUMBER=0;class f9 extends s0{constructor(){super(),this.stateType=s0.BASIC}}class Q4 extends s0{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}}class t6 extends Q4{constructor(){return super(),this.endState=null,this}}class z5 extends s0{constructor(){return super(),this.stateType=s0.BLOCK_END,this.startState=null,this}}class s6 extends s0{constructor(){return super(),this.stateType=s0.LOOP_END,this.loopBackState=null,this}}class p9 extends s0{constructor(){return super(),this.stateType=s0.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}}class HX extends Q4{constructor(){return super(),this.stateType=s0.TOKEN_START,this}}class v9 extends Q4{constructor(){return super(),this.stateType=s0.PLUS_LOOP_BACK,this}}class S5 extends s0{constructor(){return super(),this.stateType=s0.STAR_LOOP_BACK,this}}class f6 extends Q4{constructor(){return super(),this.stateType=s0.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}}class M5 extends t6{constructor(){return super(),this.stateType=s0.PLUS_BLOCK_START,this.loopBackState=null,this}}class q5 extends t6{constructor(){return super(),this.stateType=s0.STAR_BLOCK_START,this}}class h9 extends t6{constructor(){return super(),this.stateType=s0.BLOCK_START,this}}class E5 extends n0{constructor(U,Q){super(U),this.label_=Q,this.label=this.makeLabel(),this.serializationType=n0.ATOM}makeLabel(){let U=new x2;return U.addOne(this.label_),U}matches(U,Q,Z){return this.label_===U}toString(){return this.label_}}class FX extends n0{constructor(U,Q,Z){super(U),this.serializationType=n0.RANGE,this.start=Q,this.stop=Z,this.label=this.makeLabel()}makeLabel(){let U=new x2;return U.addRange(this.start,this.stop),U}matches(U,Q,Z){return U>=this.start&&U<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}class r9 extends n0{constructor(U,Q,Z,X){super(U),this.serializationType=n0.ACTION,this.ruleIndex=Q,this.actionIndex=Z===void 0?-1:Z,this.isCtxDependent=X!==void 0&&X,this.isEpsilon=!0}matches(U,Q,Z){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}}class M4 extends n0{constructor(U,Q){super(U),this.serializationType=n0.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=Q}matches(U,Q,Z){return!1}toString(){return"epsilon"}}class y5 extends H1{constructor(U,Q,Z){super(),this.ruleIndex=U===void 0?-1:U,this.predIndex=Q===void 0?-1:Q,this.isCtxDependent=Z!==void 0&&Z}evaluate(U,Q){let Z=this.isCtxDependent?Q:null;return U.sempred(Z,this.ruleIndex,this.predIndex)}updateHashCode(U){U.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(U){return this===U||U instanceof y5&&this.ruleIndex===U.ruleIndex&&this.predIndex===U.predIndex&&this.isCtxDependent===U.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}H1.NONE=new y5;class n9 extends w5{constructor(U,Q,Z,X){super(U),this.serializationType=n0.PREDICATE,this.ruleIndex=Q,this.predIndex=Z,this.isCtxDependent=X,this.isEpsilon=!0}matches(U,Q,Z){return!1}getPredicate(){return new y5(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}}class x5 extends H1{constructor(U){super(),this.precedence=U===void 0?0:U}evaluate(U,Q){return U.precpred(Q,this.precedence)}evalPrecedence(U,Q){return U.precpred(Q,this.precedence)?H1.NONE:null}compareTo(U){return this.precedence-U.precedence}updateHashCode(U){U.update(this.precedence)}equals(U){return this===U||U instanceof x5&&this.precedence===U.precedence}toString(){return"{"+this.precedence+">=prec}?"}}H1.PrecedencePredicate=x5;class RX extends w5{constructor(U,Q){super(U),this.serializationType=n0.PRECEDENCE,this.precedence=Q,this.isEpsilon=!0}matches(U,Q,Z){return!1}getPredicate(){return new x5(this.precedence)}toString(){return this.precedence+" >= _p"}}class C4{constructor(U){U===void 0&&(U=null),this.readOnly=!1,this.verifyATN=U===null||U.verifyATN,this.generateRuleBypassTransitions=U!==null&&U.generateRuleBypassTransitions}}C4.defaultOptions=new C4,C4.defaultOptions.readOnly=!0;class K6{constructor(U){this.actionType=U,this.isPositionDependent=!1}hashCode(){let U=new u2;return this.updateHashCode(U),U.finish()}updateHashCode(U){U.update(this.actionType)}equals(U){return this===U}}class P5 extends K6{constructor(){super(6)}execute(U){U.skip()}toString(){return"skip"}}P5.INSTANCE=new P5;class s9 extends K6{constructor(U){super(0),this.channel=U}execute(U){U._channel=this.channel}updateHashCode(U){U.update(this.actionType,this.channel)}equals(U){return this===U||U instanceof s9&&this.channel===U.channel}toString(){return"channel("+this.channel+")"}}class i9 extends K6{constructor(U,Q){super(1),this.ruleIndex=U,this.actionIndex=Q,this.isPositionDependent=!0}execute(U){U.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(U){U.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(U){return this===U||U instanceof i9&&this.ruleIndex===U.ruleIndex&&this.actionIndex===U.actionIndex}}class k5 extends K6{constructor(){super(3)}execute(U){U.more()}toString(){return"more"}}k5.INSTANCE=new k5;class a9 extends K6{constructor(U){super(7),this.type=U}execute(U){U.type=this.type}updateHashCode(U){U.update(this.actionType,this.type)}equals(U){return this===U||U instanceof a9&&this.type===U.type}toString(){return"type("+this.type+")"}}class t9 extends K6{constructor(U){super(5),this.mode=U}execute(U){U.pushMode(this.mode)}updateHashCode(U){U.update(this.actionType,this.mode)}equals(U){return this===U||U instanceof t9&&this.mode===U.mode}toString(){return"pushMode("+this.mode+")"}}class _5 extends K6{constructor(){super(4)}execute(U){U.popMode()}toString(){return"popMode"}}_5.INSTANCE=new _5;class e9 extends K6{constructor(U){super(2),this.mode=U}execute(U){U.setMode(this.mode)}updateHashCode(U){U.update(this.actionType,this.mode)}equals(U){return this===U||U instanceof e9&&this.mode===U.mode}toString(){return"mode("+this.mode+")"}}function R5(U,Q){let Z=[];return Z[U-1]=Q,Z.map(function(X){return Q})}class g5{constructor(U){U==null&&(U=C4.defaultOptions),this.deserializationOptions=U,this.stateFactories=null,this.actionFactories=null}deserialize(U){let Q=this.reset(U);this.checkVersion(Q),Q&&this.skipUUID();let Z=this.readATN();this.readStates(Z,Q),this.readRules(Z,Q),this.readModes(Z);let X=[];return this.readSets(Z,X,this.readInt.bind(this)),Q&&this.readSets(Z,X,this.readInt32.bind(this)),this.readEdges(Z,X),this.readDecisions(Z),this.readLexerActions(Z,Q),this.markPrecedenceDecisions(Z),this.verifyATN(Z),this.deserializationOptions.generateRuleBypassTransitions&&Z.grammarType===1&&(this.generateRuleBypassTransitions(Z),this.verifyATN(Z)),Z}reset(U){if((U.charCodeAt?U.charCodeAt(0):U[0])===3){let Q=function(X){let J=X.charCodeAt(0);return J>1?J-2:J+65534},Z=U.split("").map(Q);return Z[0]=U.charCodeAt(0),this.data=Z,this.pos=0,!0}return this.data=U,this.pos=0,!1}skipUUID(){let U=0;for(;U++<8;)this.readInt()}checkVersion(U){let Q=this.readInt();if(!U&&Q!==4)throw"Could not deserialize ATN with version "+Q+" (expected 4)."}readATN(){let U=this.readInt(),Q=this.readInt();return new _1(U,Q)}readStates(U,Q){let Z,X,J,Y=[],G=[],L=this.readInt();for(let S=0;S<L;S++){let H=this.readInt();if(H===s0.INVALID_TYPE){U.addState(null);continue}let q=this.readInt();Q&&q===65535&&(q=-1);let E=this.stateFactory(H,q);if(H===s0.LOOP_END){let P=this.readInt();Y.push([E,P])}else if(E instanceof t6){let P=this.readInt();G.push([E,P])}U.addState(E)}for(Z=0;Z<Y.length;Z++)X=Y[Z],X[0].loopBackState=U.states[X[1]];for(Z=0;Z<G.length;Z++)X=G[Z],X[0].endState=U.states[X[1]];let z=this.readInt();for(Z=0;Z<z;Z++)J=this.readInt(),U.states[J].nonGreedy=!0;let D=this.readInt();for(Z=0;Z<D;Z++)J=this.readInt(),U.states[J].isPrecedenceRule=!0}readRules(U,Q){let Z,X=this.readInt();for(U.grammarType===0&&(U.ruleToTokenType=R5(X,0)),U.ruleToStartState=R5(X,0),Z=0;Z<X;Z++){let J=this.readInt();if(U.ruleToStartState[Z]=U.states[J],U.grammarType===0){let Y=this.readInt();Q&&Y===65535&&(Y=l0.EOF),U.ruleToTokenType[Z]=Y}}for(U.ruleToStopState=R5(X,0),Z=0;Z<U.states.length;Z++){let J=U.states[Z];J instanceof E2&&(U.ruleToStopState[J.ruleIndex]=J,U.ruleToStartState[J.ruleIndex].stopState=J)}}readModes(U){let Q=this.readInt();for(let Z=0;Z<Q;Z++){let X=this.readInt();U.modeToStartState.push(U.states[X])}}readSets(U,Q,Z){let X=this.readInt();for(let J=0;J<X;J++){let Y=new x2;Q.push(Y);let G=this.readInt();this.readInt()!==0&&Y.addOne(-1);for(let L=0;L<G;L++){let z=Z(),D=Z();Y.addRange(z,D)}}}readEdges(U,Q){let Z,X,J,Y,G,L=this.readInt();for(Z=0;Z<L;Z++){let z=this.readInt(),D=this.readInt(),S=this.readInt(),H=this.readInt(),q=this.readInt(),E=this.readInt();Y=this.edgeFactory(U,S,z,D,H,q,E,Q),U.states[z].addTransition(Y)}for(Z=0;Z<U.states.length;Z++)for(J=U.states[Z],X=0;X<J.transitions.length;X++){let z=J.transitions[X];if(!(z instanceof G7))continue;let D=-1;U.ruleToStartState[z.target.ruleIndex].isPrecedenceRule&&z.precedence===0&&(D=z.target.ruleIndex),Y=new M4(z.followState,D),U.ruleToStopState[z.target.ruleIndex].addTransition(Y)}for(Z=0;Z<U.states.length;Z++){if(J=U.states[Z],J instanceof t6){if(J.endState===null)throw"IllegalState";if(J.endState.startState!==null)throw"IllegalState";J.endState.startState=J}if(J instanceof v9)for(X=0;X<J.transitions.length;X++)G=J.transitions[X].target,G instanceof M5&&(G.loopBackState=J);else if(J instanceof S5)for(X=0;X<J.transitions.length;X++)G=J.transitions[X].target,G instanceof f6&&(G.loopBackState=J)}}readDecisions(U){let Q=this.readInt();for(let Z=0;Z<Q;Z++){let X=this.readInt(),J=U.states[X];U.decisionToState.push(J),J.decision=Z}}readLexerActions(U,Q){if(U.grammarType===0){let Z=this.readInt();U.lexerActions=R5(Z,null);for(let X=0;X<Z;X++){let J=this.readInt(),Y=this.readInt();Q&&Y===65535&&(Y=-1);let G=this.readInt();Q&&G===65535&&(G=-1),U.lexerActions[X]=this.lexerActionFactory(J,Y,G)}}}generateRuleBypassTransitions(U){let Q,Z=U.ruleToStartState.length;for(Q=0;Q<Z;Q++)U.ruleToTokenType[Q]=U.maxTokenType+Q+1;for(Q=0;Q<Z;Q++)this.generateRuleBypassTransition(U,Q)}generateRuleBypassTransition(U,Q){let Z,X,J=new h9;J.ruleIndex=Q,U.addState(J);let Y=new z5;Y.ruleIndex=Q,U.addState(Y),J.endState=Y,U.defineDecisionState(J),Y.startState=J;let G=null,L=null;if(U.ruleToStartState[Q].isPrecedenceRule){for(L=null,Z=0;Z<U.states.length;Z++)if(X=U.states[Z],this.stateIsEndStateFor(X,Q)){L=X,G=X.loopBackState.transitions[0];break}if(G===null)throw"Couldn't identify final state of the precedence rule prefix section."}else L=U.ruleToStopState[Q];for(Z=0;Z<U.states.length;Z++){X=U.states[Z];for(let H=0;H<X.transitions.length;H++){let q=X.transitions[H];q!==G&&q.target===L&&(q.target=Y)}}let z=U.ruleToStartState[Q],D=z.transitions.length;for(;D>0;)J.addTransition(z.transitions[D-1]),z.transitions=z.transitions.slice(-1);U.ruleToStartState[Q].addTransition(new M4(J)),Y.addTransition(new M4(L));let S=new f9;U.addState(S),S.addTransition(new E5(Y,U.ruleToTokenType[Q])),J.addTransition(new M4(S))}stateIsEndStateFor(U,Q){if(U.ruleIndex!==Q)return null;if(!(U instanceof f6))return null;let Z=U.transitions[U.transitions.length-1].target;return Z instanceof s6&&Z.epsilonOnlyTransitions&&Z.transitions[0].target instanceof E2?U:null}markPrecedenceDecisions(U){for(let Q=0;Q<U.states.length;Q++){let Z=U.states[Q];if(Z instanceof f6&&U.ruleToStartState[Z.ruleIndex].isPrecedenceRule){let X=Z.transitions[Z.transitions.length-1].target;X instanceof s6&&X.epsilonOnlyTransitions&&X.transitions[0].target instanceof E2&&(Z.isPrecedenceDecision=!0)}}}verifyATN(U){if(this.deserializationOptions.verifyATN)for(let Q=0;Q<U.states.length;Q++){let Z=U.states[Q];if(Z!==null)if(this.checkCondition(Z.epsilonOnlyTransitions||Z.transitions.length<=1),Z instanceof M5)this.checkCondition(Z.loopBackState!==null);else if(Z instanceof f6)if(this.checkCondition(Z.loopBackState!==null),this.checkCondition(Z.transitions.length===2),Z.transitions[0].target instanceof q5)this.checkCondition(Z.transitions[1].target instanceof s6),this.checkCondition(!Z.nonGreedy);else{if(!(Z.transitions[0].target instanceof s6))throw"IllegalState";this.checkCondition(Z.transitions[1].target instanceof q5),this.checkCondition(Z.nonGreedy)}else Z instanceof S5?(this.checkCondition(Z.transitions.length===1),this.checkCondition(Z.transitions[0].target instanceof f6)):Z instanceof s6?this.checkCondition(Z.loopBackState!==null):Z instanceof p9?this.checkCondition(Z.stopState!==null):Z instanceof t6?this.checkCondition(Z.endState!==null):Z instanceof z5?this.checkCondition(Z.startState!==null):Z instanceof Q4?this.checkCondition(Z.transitions.length<=1||Z.decision>=0):this.checkCondition(Z.transitions.length<=1||Z instanceof E2)}}checkCondition(U,Q){if(!U)throw Q==null&&(Q="IllegalState"),Q}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(U,Q,Z,X,J,Y,G,L){let z=U.states[X];switch(Q){case n0.EPSILON:return new M4(z);case n0.RANGE:return new FX(z,G!==0?l0.EOF:J,Y);case n0.RULE:return new G7(U.states[J],Y,G,z);case n0.PREDICATE:return new n9(z,J,Y,G!==0);case n0.PRECEDENCE:return new RX(z,J);case n0.ATOM:return new E5(z,G!==0?l0.EOF:J);case n0.ACTION:return new r9(z,J,Y,G!==0);case n0.SET:return new B5(z,L[J]);case n0.NOT_SET:return new N5(z,L[J]);case n0.WILDCARD:return new d9(z);default:throw"The specified transition type: "+Q+" is not valid."}}stateFactory(U,Q){if(this.stateFactories===null){let Z=[];Z[s0.INVALID_TYPE]=null,Z[s0.BASIC]=()=>new f9,Z[s0.RULE_START]=()=>new p9,Z[s0.BLOCK_START]=()=>new h9,Z[s0.PLUS_BLOCK_START]=()=>new M5,Z[s0.STAR_BLOCK_START]=()=>new q5,Z[s0.TOKEN_START]=()=>new HX,Z[s0.RULE_STOP]=()=>new E2,Z[s0.BLOCK_END]=()=>new z5,Z[s0.STAR_LOOP_BACK]=()=>new S5,Z[s0.STAR_LOOP_ENTRY]=()=>new f6,Z[s0.PLUS_LOOP_BACK]=()=>new v9,Z[s0.LOOP_END]=()=>new s6,this.stateFactories=Z}if(U>this.stateFactories.length||this.stateFactories[U]===null)throw"The specified state type "+U+" is not valid.";{let Z=this.stateFactories[U]();if(Z!==null)return Z.ruleIndex=Q,Z}}lexerActionFactory(U,Q,Z){if(this.actionFactories===null){let X=[];X[0]=(J,Y)=>new s9(J),X[1]=(J,Y)=>new i9(J,Y),X[2]=(J,Y)=>new e9(J),X[3]=(J,Y)=>k5.INSTANCE,X[4]=(J,Y)=>_5.INSTANCE,X[5]=(J,Y)=>new t9(J),X[6]=(J,Y)=>P5.INSTANCE,X[7]=(J,Y)=>new a9(J),this.actionFactories=X}if(U>this.actionFactories.length||this.actionFactories[U]===null)throw"The specified lexer action type "+U+" is not valid.";return this.actionFactories[U](Q,Z)}}class _4{syntaxError(U,Q,Z,X,J,Y){}reportAmbiguity(U,Q,Z,X,J,Y,G){}reportAttemptingFullContext(U,Q,Z,X,J,Y){}reportContextSensitivity(U,Q,Z,X,J,Y){}}class A5 extends _4{constructor(){super()}syntaxError(U,Q,Z,X,J,Y){console.error("line "+Z+":"+X+" "+J)}}A5.INSTANCE=new A5;class zX extends _4{constructor(U){if(super(),U===null)throw"delegates";return this.delegates=U,this}syntaxError(U,Q,Z,X,J,Y){this.delegates.map((G)=>G.syntaxError(U,Q,Z,X,J,Y))}reportAmbiguity(U,Q,Z,X,J,Y,G){this.delegates.map((L)=>L.reportAmbiguity(U,Q,Z,X,J,Y,G))}reportAttemptingFullContext(U,Q,Z,X,J,Y){this.delegates.map((G)=>G.reportAttemptingFullContext(U,Q,Z,X,J,Y))}reportContextSensitivity(U,Q,Z,X,J,Y){this.delegates.map((G)=>G.reportContextSensitivity(U,Q,Z,X,J,Y))}}class I7{constructor(){this._listeners=[A5.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(U){U!=="4.13.2"&&console.log("ANTLR runtime and generated code versions disagree: 4.13.2!="+U)}addErrorListener(U){this._listeners.push(U)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){let U=this.getLiteralNames(),Q=this.getSymbolicNames(),Z=U.length>Q.length?U.length:Q.length;this.tokenNames=[];for(let X=0;X<Z;X++)this.tokenNames[X]=U[X]||Q[X]||"<INVALID"}return this.tokenNames}getTokenTypeMap(){let U=this.getTokenNames();if(U===null)throw"The current recognizer does not provide a list of token names.";let Q=this.tokenTypeMapCache[U];return Q===void 0&&(Q=U.reduce(function(Z,X,J){Z[X]=J}),Q.EOF=l0.EOF,this.tokenTypeMapCache[U]=Q),Q}getRuleIndexMap(){let U=this.ruleNames;if(U===null)throw"The current recognizer does not provide a list of rule names.";let Q=this.ruleIndexMapCache[U];return Q===void 0&&(Q=U.reduce(function(Z,X,J){Z[X]=J}),this.ruleIndexMapCache[U]=Q),Q}getTokenType(U){let Q=this.getTokenTypeMap()[U];return Q!==void 0?Q:l0.INVALID_TYPE}getErrorHeader(U){return"line "+U.getOffendingToken().line+":"+U.getOffendingToken().column}getTokenErrorDisplay(U){if(U===null)return"<no token>";let Q=U.text;return Q===null&&(Q=U.type===l0.EOF?"<EOF>":"<"+U.type+">"),Q=Q.replace(`
|
|
17
|
+
`,"\\n").replace("\r","\\r").replace("\t","\\t"),"'"+Q+"'"}getErrorListenerDispatch(){return console.warn("Calling deprecated method in Recognizer class: getErrorListenerDispatch()"),this.getErrorListener()}getErrorListener(){return new zX(this._listeners)}sempred(U,Q,Z){return!0}precpred(U,Q){return!0}get atn(){return this._interp.atn}get state(){return this._stateNumber}set state(U){this._stateNumber=U}}I7.tokenTypeMapCache={},I7.ruleIndexMapCache={};class S6 extends l0{constructor(U,Q,Z,X,J){super(),this.source=U!==void 0?U:S6.EMPTY_SOURCE,this.type=Q!==void 0?Q:null,this.channel=Z!==void 0?Z:l0.DEFAULT_CHANNEL,this.start=X!==void 0?X:-1,this.stop=J!==void 0?J:-1,this.tokenIndex=-1,this.source[0]!==null?(this.line=U[0].line,this.column=U[0].column):this.column=-1}clone(){let U=new S6(this.source,this.type,this.channel,this.start,this.stop);return U.tokenIndex=this.tokenIndex,U.line=this.line,U.column=this.column,U.text=this.text,U}cloneWithType(U){let Q=new S6(this.source,U,this.channel,this.start,this.stop);return Q.tokenIndex=this.tokenIndex,Q.line=this.line,Q.column=this.column,U===l0.EOF&&(Q.text=""),Q}toString(){let U=this.text;return U=U!==null?U.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t"):"<no text>","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+U+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}get text(){if(this._text!==null)return this._text;let U=this.getInputStream();if(U===null)return null;let Q=U.size;return this.start<Q&&this.stop<Q?U.getText(this.start,this.stop):"<EOF>"}set text(U){this._text=U}}S6.EMPTY_SOURCE=[null,null];class SX{}class j5 extends SX{constructor(U){super(),this.copyText=U!==void 0&&U}create(U,Q,Z,X,J,Y,G,L){let z=new S6(U,Q,X,J,Y);return z.line=G,z.column=L,Z!==null?z.text=Z:this.copyText&&U[1]!==null&&(z.text=U[1].getText(J,Y)),z}createThin(U,Q){let Z=new S6(null,U);return Z.text=Q,Z}}j5.DEFAULT=new j5;class q6 extends Error{constructor(U){super(U.message),Error.captureStackTrace&&Error.captureStackTrace(this,q6),this.message=U.message,this.recognizer=U.recognizer,this.input=U.input,this.ctx=U.ctx,this.offendingToken=null,this.offendingState=-1,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}}class f5 extends q6{constructor(U,Q,Z,X){super({message:"",recognizer:U,input:Q,ctx:null}),this.startIndex=Z,this.deadEndConfigs=X}toString(){let U="";return this.startIndex>=0&&this.startIndex<this.input.size&&(U=this.input.getText(new K1(this.startIndex,this.startIndex))),"LexerNoViableAltException"+U}}class B1 extends I7{constructor(U){super(),this._input=U,this._factory=j5.DEFAULT,this._tokenFactorySourcePair=[this,U],this._interp=null,this._token=null,this._tokenStartCharIndex=-1,this._tokenStartLine=-1,this._tokenStartColumn=-1,this._hitEOF=!1,this._channel=l0.DEFAULT_CHANNEL,this._type=l0.INVALID_TYPE,this._modeStack=[],this._mode=B1.DEFAULT_MODE,this._text=null}reset(){this._input!==null&&this._input.seek(0),this._token=null,this._type=l0.INVALID_TYPE,this._channel=l0.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=B1.DEFAULT_MODE,this._modeStack=[],this._interp.reset()}nextToken(){if(this._input===null)throw"nextToken requires a non-null input stream.";let U=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=l0.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this._interp.column,this._tokenStartLine=this._interp.line,this._text=null;let Q=!1;for(;;){this._type=l0.INVALID_TYPE;let Z=B1.SKIP;try{Z=this._interp.match(this._input,this._mode)}catch(X){if(!(X instanceof q6))throw console.log(X.stack),X;this.notifyListeners(X),this.recover(X)}if(this._input.LA(1)===l0.EOF&&(this._hitEOF=!0),this._type===l0.INVALID_TYPE&&(this._type=Z),this._type===B1.SKIP){Q=!0;break}if(this._type!==B1.MORE)break}if(!Q)return this._token===null&&this.emit(),this._token}}finally{this._input.release(U)}}skip(){this._type=B1.SKIP}more(){this._type=B1.MORE}mode(U){console.warn("Calling deprecated method in Lexer class: mode(...)"),this.setMode(U)}setMode(U){this._mode=U}getMode(){return this._mode}getModeStack(){return this._modeStack}pushMode(U){this._interp.debug&&console.log("pushMode "+U),this._modeStack.push(this._mode),this.setMode(U)}popMode(){if(this._modeStack.length===0)throw"Empty Stack";return this._interp.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.setMode(this._modeStack.pop()),this._mode}emitToken(U){this._token=U}emit(){let U=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(U),U}emitEOF(){let U=this.column,Q=this.line,Z=this._factory.create(this._tokenFactorySourcePair,l0.EOF,null,l0.DEFAULT_CHANNEL,this._input.index,this._input.index-1,Q,U);return this.emitToken(Z),Z}getCharIndex(){return this._input.index}getAllTokens(){let U=[],Q=this.nextToken();for(;Q.type!==l0.EOF;)U.push(Q),Q=this.nextToken();return U}notifyListeners(U){let Q=this._tokenStartCharIndex,Z=this._input.index,X=this._input.getText(Q,Z),J="token recognition error at: '"+this.getErrorDisplay(X)+"'";this.getErrorListener().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,J,U)}getErrorDisplay(U){let Q=[];for(let Z=0;Z<U.length;Z++)Q.push(U[Z]);return Q.join("")}getErrorDisplayForChar(U){return U.charCodeAt(0)===l0.EOF?"<EOF>":U===`
|
|
18
|
+
`?"\\n":U==="\t"?"\\t":U==="\r"?"\\r":U}getCharErrorDisplay(U){return"'"+this.getErrorDisplayForChar(U)+"'"}recover(U){this._input.LA(1)!==l0.EOF&&(U instanceof f5?this._interp.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(U){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=U,this._tokenFactorySourcePair=[this,this._input]}get sourceName(){return this._input.sourceName}get type(){return this._type}set type(U){this._type=U}get line(){return this._interp.line}set line(U){this._interp.line=U}get column(){return this._interp.column}set column(U){this._interp.column=U}get text(){return this._text!==null?this._text:this._interp.getText(this._input)}set text(U){this._text=U}}function KT(U){return U.hashCodeForConfigSet()}function WT(U,Q){return U===Q||U!==null&&Q!==null&&U.equalsForConfigSet(Q)}B1.DEFAULT_MODE=0,B1.MORE=-2,B1.SKIP=-3,B1.DEFAULT_TOKEN_CHANNEL=l0.DEFAULT_CHANNEL,B1.HIDDEN=l0.HIDDEN_CHANNEL,B1.MIN_CHAR_VALUE=0,B1.MAX_CHAR_VALUE=1114111;class P2{constructor(U){this.configLookup=new y2(KT,WT),this.fullCtx=U===void 0||U,this.readOnly=!1,this.configs=[],this.uniqueAlt=0,this.conflictingAlts=null,this.hasSemanticContext=!1,this.dipsIntoOuterContext=!1,this.cachedHashCode=-1}add(U,Q){if(Q===void 0&&(Q=null),this.readOnly)throw"This set is readonly";U.semanticContext!==H1.NONE&&(this.hasSemanticContext=!0),U.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);let Z=this.configLookup.getOrAdd(U);if(Z===U)return this.cachedHashCode=-1,this.configs.push(U),!0;let X=!this.fullCtx,J=g9(Z.context,U.context,X,Q);return Z.reachesIntoOuterContext=Math.max(Z.reachesIntoOuterContext,U.reachesIntoOuterContext),U.precedenceFilterSuppressed&&(Z.precedenceFilterSuppressed=!0),Z.context=J,!0}getStates(){let U=new y2;for(let Q=0;Q<this.configs.length;Q++)U.add(this.configs[Q].state);return U}getPredicates(){let U=[];for(let Q=0;Q<this.configs.length;Q++){let Z=this.configs[Q].semanticContext;Z!==H1.NONE&&U.push(Z.semanticContext)}return U}optimizeConfigs(U){if(this.readOnly)throw"This set is readonly";if(this.configLookup.length!==0)for(let Q=0;Q<this.configs.length;Q++){let Z=this.configs[Q];Z.context=U.getCachedContext(Z.context)}}addAll(U){for(let Q=0;Q<U.length;Q++)this.add(U[Q]);return!1}equals(U){return this===U||U instanceof P2&&E4(this.configs,U.configs)&&this.fullCtx===U.fullCtx&&this.uniqueAlt===U.uniqueAlt&&this.conflictingAlts===U.conflictingAlts&&this.hasSemanticContext===U.hasSemanticContext&&this.dipsIntoOuterContext===U.dipsIntoOuterContext}hashCode(){let U=new u2;return U.update(this.configs),U.finish()}updateHashCode(U){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),U.update(this.cachedHashCode)):U.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(U){if(this.configLookup===null)throw"This method is not implemented for readonly sets.";return this.configLookup.contains(U)}containsFast(U){if(this.configLookup===null)throw"This method is not implemented for readonly sets.";return this.configLookup.containsFast(U)}clear(){if(this.readOnly)throw"This set is readonly";this.configs=[],this.cachedHashCode=-1,this.configLookup=new y2}setReadonly(U){this.readOnly=U,U&&(this.configLookup=null)}toString(){return z6(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==_1.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}}class M6{constructor(U,Q){return U===null&&(U=-1),Q===null&&(Q=new P2),this.stateNumber=U,this.configs=Q,this.edges=null,this.isAcceptState=!1,this.prediction=0,this.lexerActionExecutor=null,this.requiresFullContext=!1,this.predicates=null,this}getAltSet(){let U=new y2;if(this.configs!==null)for(let Q=0;Q<this.configs.length;Q++){let Z=this.configs[Q];U.add(Z.alt)}return U.length===0?null:U}equals(U){return this===U||U instanceof M6&&this.configs.equals(U.configs)}toString(){let U=this.stateNumber+":"+this.configs;return this.isAcceptState&&(U+="=>",this.predicates!==null?U+=this.predicates:U+=this.prediction),U}hashCode(){let U=new u2;return U.update(this.configs),U.finish()}}class e2{constructor(U,Q){return this.atn=U,this.sharedContextCache=Q,this}getCachedContext(U){if(this.sharedContextCache===null)return U;let Q=new k4;return DX(U,this.sharedContextCache,Q)}}e2.ERROR=new M6(2147483647,new P2);class c9 extends P2{constructor(){super(),this.configLookup=new y2}}class w2 extends f1{constructor(U,Q){super(U,Q);let Z=U.lexerActionExecutor||null;return this.lexerActionExecutor=Z||(Q!==null?Q.lexerActionExecutor:null),this.passedThroughNonGreedyDecision=Q!==null&&this.checkNonGreedyDecision(Q,this.state),this.hashCodeForConfigSet=w2.prototype.hashCode,this.equalsForConfigSet=w2.prototype.equals,this}updateHashCode(U){U.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(U){return this===U||U instanceof w2&&this.passedThroughNonGreedyDecision===U.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(U.lexerActionExecutor):!U.lexerActionExecutor)&&super.equals(U)}checkNonGreedyDecision(U,Q){return U.passedThroughNonGreedyDecision||Q instanceof Q4&&Q.nonGreedy}}class J7 extends K6{constructor(U,Q){super(Q.actionType),this.offset=U,this.action=Q,this.isPositionDependent=!0}execute(U){this.action.execute(U)}updateHashCode(U){U.update(this.actionType,this.offset,this.action)}equals(U){return this===U||U instanceof J7&&this.offset===U.offset&&this.action===U.action}}class q4{constructor(U){return this.lexerActions=U===null?[]:U,this.cachedHashCode=u2.hashStuff(U),this}fixOffsetBeforeMatch(U){let Q=null;for(let Z=0;Z<this.lexerActions.length;Z++)!this.lexerActions[Z].isPositionDependent||this.lexerActions[Z]instanceof J7||(Q===null&&(Q=this.lexerActions.concat([])),Q[Z]=new J7(U,this.lexerActions[Z]));return Q===null?this:new q4(Q)}execute(U,Q,Z){let X=!1,J=Q.index;try{for(let Y=0;Y<this.lexerActions.length;Y++){let G=this.lexerActions[Y];if(G instanceof J7){let L=G.offset;Q.seek(Z+L),G=G.action,X=Z+L!==J}else G.isPositionDependent&&(Q.seek(J),X=!1);G.execute(U)}}finally{X&&Q.seek(J)}}hashCode(){return this.cachedHashCode}updateHashCode(U){U.update(this.cachedHashCode)}equals(U){if(this===U)return!0;if(U instanceof q4){if(this.cachedHashCode!=U.cachedHashCode)return!1;if(this.lexerActions.length!=U.lexerActions.length)return!1;{let Q=this.lexerActions.length;for(let Z=0;Z<Q;++Z)if(!this.lexerActions[Z].equals(U.lexerActions[Z]))return!1;return!0}}return!1}static append(U,Q){if(U===null)return new q4([Q]);let Z=U.lexerActions.concat([Q]);return new q4(Z)}}function GX(U){U.index=-1,U.line=0,U.column=-1,U.dfaState=null}class MX{constructor(){GX(this)}reset(){GX(this)}}class j1 extends e2{constructor(U,Q,Z,X){super(Q,X),this.decisionToDFA=Z,this.recog=U,this.startIndex=-1,this.line=1,this.column=0,this.mode=B1.DEFAULT_MODE,this.prevAccept=new MX}copyState(U){this.column=U.column,this.line=U.line,this.mode=U.mode,this.startIndex=U.startIndex}match(U,Q){this.mode=Q;let Z=U.mark();try{this.startIndex=U.index,this.prevAccept.reset();let X=this.decisionToDFA[Q];return X.s0===null?this.matchATN(U):this.execATN(U,X.s0)}finally{U.release(Z)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=B1.DEFAULT_MODE}matchATN(U){let Q=this.atn.modeToStartState[this.mode];j1.debug&&console.log("matchATN mode "+this.mode+" start: "+Q);let Z=this.mode,X=this.computeStartState(U,Q),J=X.hasSemanticContext;X.hasSemanticContext=!1;let Y=this.addDFAState(X);J||(this.decisionToDFA[this.mode].s0=Y);let G=this.execATN(U,Y);return j1.debug&&console.log("DFA after matchATN: "+this.decisionToDFA[Z].toLexerString()),G}execATN(U,Q){j1.debug&&console.log("start state closure="+Q.configs),Q.isAcceptState&&this.captureSimState(this.prevAccept,U,Q);let Z=U.LA(1),X=Q;for(;;){j1.debug&&console.log("execATN loop starting closure: "+X.configs);let J=this.getExistingTargetState(X,Z);if(J===null&&(J=this.computeTargetState(U,X,Z)),J===e2.ERROR)break;if(Z!==l0.EOF&&this.consume(U),J.isAcceptState&&(this.captureSimState(this.prevAccept,U,J),Z===l0.EOF))break;Z=U.LA(1),X=J}return this.failOrAccept(this.prevAccept,U,X.configs,Z)}getExistingTargetState(U,Q){if(U.edges===null||Q<j1.MIN_DFA_EDGE||Q>j1.MAX_DFA_EDGE)return null;let Z=U.edges[Q-j1.MIN_DFA_EDGE];return Z===void 0&&(Z=null),j1.debug&&Z!==null&&console.log("reuse state "+U.stateNumber+" edge to "+Z.stateNumber),Z}computeTargetState(U,Q,Z){let X=new c9;return this.getReachableConfigSet(U,Q.configs,X,Z),X.items.length===0?(X.hasSemanticContext||this.addDFAEdge(Q,Z,e2.ERROR),e2.ERROR):this.addDFAEdge(Q,Z,null,X)}failOrAccept(U,Q,Z,X){if(this.prevAccept.dfaState!==null){let J=U.dfaState.lexerActionExecutor;return this.accept(Q,J,this.startIndex,U.index,U.line,U.column),U.dfaState.prediction}if(X===l0.EOF&&Q.index===this.startIndex)return l0.EOF;throw new f5(this.recog,Q,this.startIndex,Z)}getReachableConfigSet(U,Q,Z,X){let J=_1.INVALID_ALT_NUMBER;for(let Y=0;Y<Q.items.length;Y++){let G=Q.items[Y],L=G.alt===J;if(!L||!G.passedThroughNonGreedyDecision){j1.debug&&console.log(`testing %s at %s
|
|
19
|
+
`,this.getTokenName(X),G.toString(this.recog,!0));for(let z=0;z<G.state.transitions.length;z++){let D=G.state.transitions[z],S=this.getReachableTarget(D,X);if(S!==null){let H=G.lexerActionExecutor;H!==null&&(H=H.fixOffsetBeforeMatch(U.index-this.startIndex));let q=X===l0.EOF,E=new w2({state:S,lexerActionExecutor:H},G);this.closure(U,E,Z,L,!0,q)&&(J=G.alt)}}}}}accept(U,Q,Z,X,J,Y){j1.debug&&console.log(`ACTION %s
|
|
20
|
+
`,Q),U.seek(X),this.line=J,this.column=Y,Q!==null&&this.recog!==null&&Q.execute(this.recog,U,Z)}getReachableTarget(U,Q){return U.matches(Q,0,B1.MAX_CHAR_VALUE)?U.target:null}computeStartState(U,Q){let Z=Q1.EMPTY,X=new c9;for(let J=0;J<Q.transitions.length;J++){let Y=Q.transitions[J].target,G=new w2({state:Y,alt:J+1,context:Z},null);this.closure(U,G,X,!1,!1,!1)}return X}closure(U,Q,Z,X,J,Y){let G=null;if(j1.debug&&console.log("closure("+Q.toString(this.recog,!0)+")"),Q.state instanceof E2){if(j1.debug&&(this.recog!==null?console.log(`closure at %s rule stop %s
|
|
21
|
+
`,this.recog.ruleNames[Q.state.ruleIndex],Q):console.log(`closure at rule stop %s
|
|
22
|
+
`,Q)),Q.context===null||Q.context.hasEmptyPath()){if(Q.context===null||Q.context.isEmpty())return Z.add(Q),!0;Z.add(new w2({state:Q.state,context:Q1.EMPTY},Q)),X=!0}if(Q.context!==null&&!Q.context.isEmpty()){for(let L=0;L<Q.context.length;L++)if(Q.context.getReturnState(L)!==Q1.EMPTY_RETURN_STATE){let z=Q.context.getParent(L),D=this.atn.states[Q.context.getReturnState(L)];G=new w2({state:D,context:z},Q),X=this.closure(U,G,Z,X,J,Y)}}return X}Q.state.epsilonOnlyTransitions||X&&Q.passedThroughNonGreedyDecision||Z.add(Q);for(let L=0;L<Q.state.transitions.length;L++){let z=Q.state.transitions[L];G=this.getEpsilonTarget(U,Q,z,Z,J,Y),G!==null&&(X=this.closure(U,G,Z,X,J,Y))}return X}getEpsilonTarget(U,Q,Z,X,J,Y){let G=null;if(Z.serializationType===n0.RULE){let L=k2.create(Q.context,Z.followState.stateNumber);G=new w2({state:Z.target,context:L},Q)}else{if(Z.serializationType===n0.PRECEDENCE)throw"Precedence predicates are not supported in lexers.";if(Z.serializationType===n0.PREDICATE)j1.debug&&console.log("EVAL rule "+Z.ruleIndex+":"+Z.predIndex),X.hasSemanticContext=!0,this.evaluatePredicate(U,Z.ruleIndex,Z.predIndex,J)&&(G=new w2({state:Z.target},Q));else if(Z.serializationType===n0.ACTION)if(Q.context===null||Q.context.hasEmptyPath()){let L=q4.append(Q.lexerActionExecutor,this.atn.lexerActions[Z.actionIndex]);G=new w2({state:Z.target,lexerActionExecutor:L},Q)}else G=new w2({state:Z.target},Q);else Z.serializationType===n0.EPSILON?G=new w2({state:Z.target},Q):Z.serializationType!==n0.ATOM&&Z.serializationType!==n0.RANGE&&Z.serializationType!==n0.SET||Y&&Z.matches(l0.EOF,0,B1.MAX_CHAR_VALUE)&&(G=new w2({state:Z.target},Q))}return G}evaluatePredicate(U,Q,Z,X){if(this.recog===null)return!0;if(!X)return this.recog.sempred(null,Q,Z);let J=this.column,Y=this.line,G=U.index,L=U.mark();try{return this.consume(U),this.recog.sempred(null,Q,Z)}finally{this.column=J,this.line=Y,U.seek(G),U.release(L)}}captureSimState(U,Q,Z){U.index=Q.index,U.line=this.line,U.column=this.column,U.dfaState=Z}addDFAEdge(U,Q,Z,X){if(Z===void 0&&(Z=null),X===void 0&&(X=null),Z===null&&X!==null){let J=X.hasSemanticContext;if(X.hasSemanticContext=!1,Z=this.addDFAState(X),J)return Z}return Q<j1.MIN_DFA_EDGE||Q>j1.MAX_DFA_EDGE||(j1.debug&&console.log("EDGE "+U+" -> "+Z+" upon "+Q),U.edges===null&&(U.edges=[]),U.edges[Q-j1.MIN_DFA_EDGE]=Z),Z}addDFAState(U){let Q=new M6(null,U),Z=null;for(let G=0;G<U.items.length;G++){let L=U.items[G];if(L.state instanceof E2){Z=L;break}}Z!==null&&(Q.isAcceptState=!0,Q.lexerActionExecutor=Z.lexerActionExecutor,Q.prediction=this.atn.ruleToTokenType[Z.state.ruleIndex]);let X=this.decisionToDFA[this.mode],J=X.states.get(Q);if(J!==null)return J;let Y=Q;return Y.stateNumber=X.states.length,U.setReadonly(!0),Y.configs=U,X.states.add(Y),Y}getDFA(U){return this.decisionToDFA[U]}getText(U){return U.getText(this.startIndex,U.index-1)}consume(U){U.LA(1)===10?(this.line+=1,this.column=0):this.column+=1,U.consume()}getTokenName(U){return U===-1?"EOF":"'"+String.fromCharCode(U)+"'"}}j1.debug=!1,j1.dfa_debug=!1,j1.MIN_DFA_EDGE=0,j1.MAX_DFA_EDGE=127;class U3{constructor(U,Q){this.alt=Q,this.pred=U}toString(){return"("+this.pred+", "+this.alt+")"}}class qX{constructor(){this.data={}}get(U){return this.data["k-"+U]||null}set(U,Q){this.data["k-"+U]=Q}values(){return Object.keys(this.data).filter((U)=>U.startsWith("k-")).map((U)=>this.data[U],this)}}var Y6={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(U,Q){if(Y6.allConfigsInRuleStopStates(Q))return!0;if(U===Y6.SLL&&Q.hasSemanticContext){let X=new P2;for(let J=0;J<Q.items.length;J++){let Y=Q.items[J];Y=new f1({semanticContext:H1.NONE},Y),X.add(Y)}Q=X}let Z=Y6.getConflictingAltSubsets(Q);return Y6.hasConflictingAltSet(Z)&&!Y6.hasStateAssociatedWithOneAlt(Q)},hasConfigInRuleStopState:function(U){for(let Q=0;Q<U.items.length;Q++)if(U.items[Q].state instanceof E2)return!0;return!1},allConfigsInRuleStopStates:function(U){for(let Q=0;Q<U.items.length;Q++)if(!(U.items[Q].state instanceof E2))return!1;return!0},resolvesToJustOneViableAlt:function(U){return Y6.getSingleViableAlt(U)},allSubsetsConflict:function(U){return!Y6.hasNonConflictingAltSet(U)},hasNonConflictingAltSet:function(U){for(let Q=0;Q<U.length;Q++)if(U[Q].length===1)return!0;return!1},hasConflictingAltSet:function(U){for(let Q=0;Q<U.length;Q++)if(U[Q].length>1)return!0;return!1},allSubsetsEqual:function(U){let Q=null;for(let Z=0;Z<U.length;Z++){let X=U[Z];if(Q===null)Q=X;else if(X!==Q)return!1}return!0},getUniqueAlt:function(U){let Q=Y6.getAlts(U);return Q.length===1?Q.minValue():_1.INVALID_ALT_NUMBER},getAlts:function(U){let Q=new _2;return U.map(function(Z){Q.or(Z)}),Q},getConflictingAltSubsets:function(U){let Q=new k4;return Q.hashFunction=function(Z){u2.hashStuff(Z.state.stateNumber,Z.context)},Q.equalsFunction=function(Z,X){return Z.state.stateNumber===X.state.stateNumber&&Z.context.equals(X.context)},U.items.map(function(Z){let X=Q.get(Z);X===null&&(X=new _2,Q.set(Z,X)),X.set(Z.alt)}),Q.getValues()},getStateToAltMap:function(U){let Q=new qX;return U.items.map(function(Z){let X=Q.get(Z.state);X===null&&(X=new _2,Q.set(Z.state,X)),X.set(Z.alt)}),Q},hasStateAssociatedWithOneAlt:function(U){let Q=Y6.getStateToAltMap(U).values();for(let Z=0;Z<Q.length;Z++)if(Q[Z].length===1)return!0;return!1},getSingleViableAlt:function(U){let Q=null;for(let Z=0;Z<U.length;Z++){let X=U[Z].minValue();if(Q===null)Q=X;else if(Q!==X)return _1.INVALID_ALT_NUMBER}return Q}},I2=Y6;class T7 extends q6{constructor(U,Q,Z,X,J,Y){Y=Y||U._ctx,X=X||U.getCurrentToken(),Z=Z||U.getCurrentToken(),Q=Q||U.getInputStream(),super({message:"",recognizer:U,input:Q,ctx:Y}),this.deadEndConfigs=J,this.startToken=Z,this.offendingToken=X}}class CX{constructor(U){this.defaultMapCtor=U||k4,this.cacheMap=new this.defaultMapCtor}get(U,Q){let Z=this.cacheMap.get(U)||null;return Z===null?null:Z.get(Q)||null}set(U,Q,Z){let X=this.cacheMap.get(U)||null;X===null&&(X=new this.defaultMapCtor,this.cacheMap.set(U,X)),X.set(Q,Z)}}class Q3 extends e2{constructor(U,Q,Z,X){super(Q,X),this.parser=U,this.decisionToDFA=Z,this.predictionMode=I2.LL,this._input=null,this._startIndex=0,this._outerContext=null,this._dfa=null,this.mergeCache=null,this.debug=!1,this.debug_closure=!1,this.debug_add=!1,this.trace_atn_sim=!1,this.dfa_debug=!1,this.retry_debug=!1}reset(){}adaptivePredict(U,Q,Z){(this.debug||this.trace_atn_sim)&&console.log("adaptivePredict decision "+Q+" exec LA(1)=="+this.getLookaheadName(U)+" line "+U.LT(1).line+":"+U.LT(1).column),this._input=U,this._startIndex=U.index,this._outerContext=Z;let X=this.decisionToDFA[Q];this._dfa=X;let J=U.mark(),Y=U.index;try{let G;if(G=X.precedenceDfa?X.getPrecedenceStartState(this.parser.getPrecedence()):X.s0,G===null){Z===null&&(Z=v6.EMPTY),this.debug&&console.log("predictATN decision "+X.decision+" exec LA(1)=="+this.getLookaheadName(U)+", outerContext="+Z.toString(this.parser.ruleNames));let z=!1,D=this.computeStartState(X.atnStartState,v6.EMPTY,z);X.precedenceDfa?(X.s0.configs=D,D=this.applyPrecedenceFilter(D),G=this.addDFAState(X,new M6(null,D)),X.setPrecedenceStartState(this.parser.getPrecedence(),G)):(G=this.addDFAState(X,new M6(null,D)),X.s0=G)}let L=this.execATN(X,G,U,Y,Z);return this.debug&&console.log("DFA after predictATN: "+X.toString(this.parser.literalNames,this.parser.symbolicNames)),L}finally{this._dfa=null,this.mergeCache=null,U.seek(Y),U.release(J)}}execATN(U,Q,Z,X,J){let Y;(this.debug||this.trace_atn_sim)&&console.log("execATN decision "+U.decision+", DFA state "+Q+", LA(1)=="+this.getLookaheadName(Z)+" line "+Z.LT(1).line+":"+Z.LT(1).column);let G=Q;this.debug&&console.log("s0 = "+Q);let L=Z.LA(1);for(;;){let z=this.getExistingTargetState(G,L);if(z===null&&(z=this.computeTargetState(U,G,L)),z===e2.ERROR){let D=this.noViableAlt(Z,J,G.configs,X);if(Z.seek(X),Y=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(G.configs,J),Y!==_1.INVALID_ALT_NUMBER)return Y;throw D}if(z.requiresFullContext&&this.predictionMode!==I2.SLL){let D=null;if(z.predicates!==null){this.debug&&console.log("DFA state has preds in DFA sim LL failover");let q=Z.index;if(q!==X&&Z.seek(X),D=this.evalSemanticContext(z.predicates,J,!0),D.length===1)return this.debug&&console.log("Full LL avoided"),D.minValue();q!==X&&Z.seek(q)}this.dfa_debug&&console.log("ctx sensitive state "+J+" in "+z);let S=!0,H=this.computeStartState(U.atnStartState,J,S);return this.reportAttemptingFullContext(U,D,z.configs,X,Z.index),Y=this.execATNWithFullContext(U,z,H,Z,X,J),Y}if(z.isAcceptState){if(z.predicates===null)return z.prediction;let D=Z.index;Z.seek(X);let S=this.evalSemanticContext(z.predicates,J,!0);if(S.length===0)throw this.noViableAlt(Z,J,z.configs,X);return S.length===1||this.reportAmbiguity(U,z,X,D,!1,S,z.configs),S.minValue()}G=z,L!==l0.EOF&&(Z.consume(),L=Z.LA(1))}}getExistingTargetState(U,Q){let Z=U.edges;return Z===null?null:Z[Q+1]||null}computeTargetState(U,Q,Z){let X=this.computeReachSet(Q.configs,Z,!1);if(X===null)return this.addDFAEdge(U,Q,Z,e2.ERROR),e2.ERROR;let J=new M6(null,X),Y=this.getUniqueAlt(X);if(this.debug){let G=I2.getConflictingAltSubsets(X);console.log("SLL altSubSets="+z6(G)+", configs="+X+", predict="+Y+", allSubsetsConflict="+I2.allSubsetsConflict(G)+", conflictingAlts="+this.getConflictingAlts(X))}return Y!==_1.INVALID_ALT_NUMBER?(J.isAcceptState=!0,J.configs.uniqueAlt=Y,J.prediction=Y):I2.hasSLLConflictTerminatingPrediction(this.predictionMode,X)&&(J.configs.conflictingAlts=this.getConflictingAlts(X),J.requiresFullContext=!0,J.isAcceptState=!0,J.prediction=J.configs.conflictingAlts.minValue()),J.isAcceptState&&J.configs.hasSemanticContext&&(this.predicateDFAState(J,this.atn.getDecisionState(U.decision)),J.predicates!==null&&(J.prediction=_1.INVALID_ALT_NUMBER)),J=this.addDFAEdge(U,Q,Z,J),J}predicateDFAState(U,Q){let Z=Q.transitions.length,X=this.getConflictingAltsOrUniqueAlt(U.configs),J=this.getPredsForAmbigAlts(X,U.configs,Z);J!==null?(U.predicates=this.getPredicatePredictions(X,J),U.prediction=_1.INVALID_ALT_NUMBER):U.prediction=X.minValue()}execATNWithFullContext(U,Q,Z,X,J,Y){(this.debug||this.trace_atn_sim)&&console.log("execATNWithFullContext "+Z);let G,L=!1,z=Z;X.seek(J);let D=X.LA(1),S=-1;for(;;){if(G=this.computeReachSet(z,D,!0),G===null){let q=this.noViableAlt(X,Y,z,J);X.seek(J);let E=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(z,Y);if(E!==_1.INVALID_ALT_NUMBER)return E;throw q}let H=I2.getConflictingAltSubsets(G);if(this.debug&&console.log("LL altSubSets="+H+", predict="+I2.getUniqueAlt(H)+", resolvesToJustOneViableAlt="+I2.resolvesToJustOneViableAlt(H)),G.uniqueAlt=this.getUniqueAlt(G),G.uniqueAlt!==_1.INVALID_ALT_NUMBER){S=G.uniqueAlt;break}if(this.predictionMode!==I2.LL_EXACT_AMBIG_DETECTION){if(S=I2.resolvesToJustOneViableAlt(H),S!==_1.INVALID_ALT_NUMBER)break}else if(I2.allSubsetsConflict(H)&&I2.allSubsetsEqual(H)){L=!0,S=I2.getSingleViableAlt(H);break}z=G,D!==l0.EOF&&(X.consume(),D=X.LA(1))}return G.uniqueAlt!==_1.INVALID_ALT_NUMBER?(this.reportContextSensitivity(U,S,G,J,X.index),S):(this.reportAmbiguity(U,Q,J,X.index,L,null,G),S)}computeReachSet(U,Q,Z){this.debug&&console.log("in computeReachSet, starting closure: "+U),this.mergeCache===null&&(this.mergeCache=new CX);let X=new P2(Z),J=null;for(let G=0;G<U.items.length;G++){let L=U.items[G];if(this.debug&&console.log("testing "+this.getTokenName(Q)+" at "+L),L.state instanceof E2)(Z||Q===l0.EOF)&&(J===null&&(J=[]),J.push(L),this.debug_add&&console.log("added "+L+" to skippedStopStates"));else for(let z=0;z<L.state.transitions.length;z++){let D=L.state.transitions[z],S=this.getReachableTarget(D,Q);if(S!==null){let H=new f1({state:S},L);X.add(H,this.mergeCache),this.debug_add&&console.log("added "+H+" to intermediate")}}}let Y=null;if(J===null&&Q!==l0.EOF&&(X.items.length===1||this.getUniqueAlt(X)!==_1.INVALID_ALT_NUMBER)&&(Y=X),Y===null){Y=new P2(Z);let G=new y2,L=Q===l0.EOF;for(let z=0;z<X.items.length;z++)this.closure(X.items[z],Y,G,!1,Z,L)}if(Q===l0.EOF&&(Y=this.removeAllConfigsNotInRuleStopState(Y,Y===X)),!(J===null||Z&&I2.hasConfigInRuleStopState(Y)))for(let G=0;G<J.length;G++)Y.add(J[G],this.mergeCache);return this.trace_atn_sim&&console.log("computeReachSet "+U+" -> "+Y),Y.items.length===0?null:Y}removeAllConfigsNotInRuleStopState(U,Q){if(I2.allConfigsInRuleStopStates(U))return U;let Z=new P2(U.fullCtx);for(let X=0;X<U.items.length;X++){let J=U.items[X];if(J.state instanceof E2)Z.add(J,this.mergeCache);else if(Q&&J.state.epsilonOnlyTransitions&&this.atn.nextTokens(J.state).contains(l0.EPSILON)){let Y=this.atn.ruleToStopState[J.state.ruleIndex];Z.add(new f1({state:Y},J),this.mergeCache)}}return Z}computeStartState(U,Q,Z){let X=m9(this.atn,Q),J=new P2(Z);this.trace_atn_sim&&console.log("computeStartState from ATN state "+U+" initialContext="+X.toString(this.parser));for(let Y=0;Y<U.transitions.length;Y++){let G=U.transitions[Y].target,L=new f1({state:G,alt:Y+1,context:X},null),z=new y2;this.closure(L,J,z,!0,Z,!1)}return J}applyPrecedenceFilter(U){let Q,Z=[],X=new P2(U.fullCtx);for(let J=0;J<U.items.length;J++){if(Q=U.items[J],Q.alt!==1)continue;let Y=Q.semanticContext.evalPrecedence(this.parser,this._outerContext);Y!==null&&(Z[Q.state.stateNumber]=Q.context,Y!==Q.semanticContext?X.add(new f1({semanticContext:Y},Q),this.mergeCache):X.add(Q,this.mergeCache))}for(let J=0;J<U.items.length;J++)if(Q=U.items[J],Q.alt!==1){if(!Q.precedenceFilterSuppressed){let Y=Z[Q.state.stateNumber]||null;if(Y!==null&&Y.equals(Q.context))continue}X.add(Q,this.mergeCache)}return X}getReachableTarget(U,Q){return U.matches(Q,0,this.atn.maxTokenType)?U.target:null}getPredsForAmbigAlts(U,Q,Z){let X=[];for(let Y=0;Y<Q.items.length;Y++){let G=Q.items[Y];U.get(G.alt)&&(X[G.alt]=H1.orContext(X[G.alt]||null,G.semanticContext))}let J=0;for(let Y=1;Y<Z+1;Y++){let G=X[Y]||null;G===null?X[Y]=H1.NONE:G!==H1.NONE&&(J+=1)}return J===0&&(X=null),this.debug&&console.log("getPredsForAmbigAlts result "+z6(X)),X}getPredicatePredictions(U,Q){let Z=[],X=!1;for(let J=1;J<Q.length;J++){let Y=Q[J];U!==null&&U.get(J)&&Z.push(new U3(Y,J)),Y!==H1.NONE&&(X=!0)}return X?Z:null}getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(U,Q){let Z=this.splitAccordingToSemanticValidity(U,Q),X=Z[0],J=Z[1],Y=this.getAltThatFinishedDecisionEntryRule(X);return Y!==_1.INVALID_ALT_NUMBER||J.items.length>0&&(Y=this.getAltThatFinishedDecisionEntryRule(J),Y!==_1.INVALID_ALT_NUMBER)?Y:_1.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(U){let Q=[];for(let Z=0;Z<U.items.length;Z++){let X=U.items[Z];(X.reachesIntoOuterContext>0||X.state instanceof E2&&X.context.hasEmptyPath())&&Q.indexOf(X.alt)<0&&Q.push(X.alt)}return Q.length===0?_1.INVALID_ALT_NUMBER:Math.min.apply(null,Q)}splitAccordingToSemanticValidity(U,Q){let Z=new P2(U.fullCtx),X=new P2(U.fullCtx);for(let J=0;J<U.items.length;J++){let Y=U.items[J];Y.semanticContext!==H1.NONE?Y.semanticContext.evaluate(this.parser,Q)?Z.add(Y):X.add(Y):Z.add(Y)}return[Z,X]}evalSemanticContext(U,Q,Z){let X=new _2;for(let J=0;J<U.length;J++){let Y=U[J];if(Y.pred===H1.NONE){if(X.set(Y.alt),!Z)break;continue}let G=Y.pred.evaluate(this.parser,Q);if((this.debug||this.dfa_debug)&&console.log("eval pred "+Y+"="+G),G&&((this.debug||this.dfa_debug)&&console.log("PREDICT "+Y.alt),X.set(Y.alt),!Z))break}return X}closure(U,Q,Z,X,J,Y){this.closureCheckingStopState(U,Q,Z,X,J,0,Y)}closureCheckingStopState(U,Q,Z,X,J,Y,G){if((this.trace_atn_sim||this.debug_closure)&&console.log("closure("+U.toString(this.parser,!0)+")"),U.state instanceof E2){if(!U.context.isEmpty()){for(let L=0;L<U.context.length;L++){if(U.context.getReturnState(L)===Q1.EMPTY_RETURN_STATE){if(J){Q.add(new f1({state:U.state,context:Q1.EMPTY},U),this.mergeCache);continue}this.debug&&console.log("FALLING off rule "+this.getRuleName(U.state.ruleIndex)),this.closure_(U,Q,Z,X,J,Y,G);continue}let z=this.atn.states[U.context.getReturnState(L)],D=U.context.getParent(L),S={state:z,alt:U.alt,context:D,semanticContext:U.semanticContext},H=new f1(S,null);H.reachesIntoOuterContext=U.reachesIntoOuterContext,this.closureCheckingStopState(H,Q,Z,X,J,Y-1,G)}return}if(J)return void Q.add(U,this.mergeCache);this.debug&&console.log("FALLING off rule "+this.getRuleName(U.state.ruleIndex))}this.closure_(U,Q,Z,X,J,Y,G)}closure_(U,Q,Z,X,J,Y,G){let L=U.state;L.epsilonOnlyTransitions||Q.add(U,this.mergeCache);for(let z=0;z<L.transitions.length;z++){if(z===0&&this.canDropLoopEntryEdgeInLeftRecursiveRule(U))continue;let D=L.transitions[z],S=X&&!(D instanceof r9),H=this.getEpsilonTarget(U,D,S,Y===0,J,G);if(H!==null){let q=Y;if(U.state instanceof E2){if(this._dfa!==null&&this._dfa.precedenceDfa&&D.outermostPrecedenceReturn===this._dfa.atnStartState.ruleIndex&&(H.precedenceFilterSuppressed=!0),H.reachesIntoOuterContext+=1,Z.getOrAdd(H)!==H)continue;Q.dipsIntoOuterContext=!0,q-=1,this.debug&&console.log("dips into outer ctx: "+H)}else{if(!D.isEpsilon&&Z.getOrAdd(H)!==H)continue;D instanceof G7&&q>=0&&(q+=1)}this.closureCheckingStopState(H,Q,Z,S,J,q,G)}}}canDropLoopEntryEdgeInLeftRecursiveRule(U){let Q=U.state;if(Q.stateType!==s0.STAR_LOOP_ENTRY)return!1;if(Q.stateType!==s0.STAR_LOOP_ENTRY||!Q.isPrecedenceDecision||U.context.isEmpty()||U.context.hasEmptyPath())return!1;let Z=U.context.length;for(let Y=0;Y<Z;Y++)if(this.atn.states[U.context.getReturnState(Y)].ruleIndex!==Q.ruleIndex)return!1;let X=Q.transitions[0].target.endState.stateNumber,J=this.atn.states[X];for(let Y=0;Y<Z;Y++){let G=U.context.getReturnState(Y),L=this.atn.states[G];if(L.transitions.length!==1||!L.transitions[0].isEpsilon)return!1;let z=L.transitions[0].target;if(!(L.stateType===s0.BLOCK_END&&z===Q||L===J||z===J||z.stateType===s0.BLOCK_END&&z.transitions.length===1&&z.transitions[0].isEpsilon&&z.transitions[0].target===Q))return!1}return!0}getRuleName(U){return this.parser!==null&&U>=0?this.parser.ruleNames[U]:"<rule "+U+">"}getEpsilonTarget(U,Q,Z,X,J,Y){switch(Q.serializationType){case n0.RULE:return this.ruleTransition(U,Q);case n0.PRECEDENCE:return this.precedenceTransition(U,Q,Z,X,J);case n0.PREDICATE:return this.predTransition(U,Q,Z,X,J);case n0.ACTION:return this.actionTransition(U,Q);case n0.EPSILON:return new f1({state:Q.target},U);case n0.ATOM:case n0.RANGE:case n0.SET:return Y&&Q.matches(l0.EOF,0,1)?new f1({state:Q.target},U):null;default:return null}}actionTransition(U,Q){if(this.debug){let Z=Q.actionIndex===-1?65535:Q.actionIndex;console.log("ACTION edge "+Q.ruleIndex+":"+Z)}return new f1({state:Q.target},U)}precedenceTransition(U,Q,Z,X,J){this.debug&&(console.log("PRED (collectPredicates="+Z+") "+Q.precedence+">=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+z6(this.parser.getRuleInvocationStack())));let Y=null;if(Z&&X)if(J){let G=this._input.index;this._input.seek(this._startIndex);let L=Q.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(G),L&&(Y=new f1({state:Q.target},U))}else{let G=H1.andContext(U.semanticContext,Q.getPredicate());Y=new f1({state:Q.target,semanticContext:G},U)}else Y=new f1({state:Q.target},U);return this.debug&&console.log("config from pred transition="+Y),Y}predTransition(U,Q,Z,X,J){this.debug&&(console.log("PRED (collectPredicates="+Z+") "+Q.ruleIndex+":"+Q.predIndex+", ctx dependent="+Q.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+z6(this.parser.getRuleInvocationStack())));let Y=null;if(Z&&(Q.isCtxDependent&&X||!Q.isCtxDependent))if(J){let G=this._input.index;this._input.seek(this._startIndex);let L=Q.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(G),L&&(Y=new f1({state:Q.target},U))}else{let G=H1.andContext(U.semanticContext,Q.getPredicate());Y=new f1({state:Q.target,semanticContext:G},U)}else Y=new f1({state:Q.target},U);return this.debug&&console.log("config from pred transition="+Y),Y}ruleTransition(U,Q){this.debug&&console.log("CALL rule "+this.getRuleName(Q.target.ruleIndex)+", ctx="+U.context);let Z=Q.followState,X=k2.create(U.context,Z.stateNumber);return new f1({state:Q.target,context:X},U)}getConflictingAlts(U){let Q=I2.getConflictingAltSubsets(U);return I2.getAlts(Q)}getConflictingAltsOrUniqueAlt(U){let Q=null;return U.uniqueAlt!==_1.INVALID_ALT_NUMBER?(Q=new _2,Q.set(U.uniqueAlt)):Q=U.conflictingAlts,Q}getTokenName(U){if(U===l0.EOF)return"EOF";if(this.parser!==null&&this.parser.literalNames!==null){if(!(U>=this.parser.literalNames.length&&U>=this.parser.symbolicNames.length))return(this.parser.literalNames[U]||this.parser.symbolicNames[U])+"<"+U+">";console.log(U+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+U}getLookaheadName(U){return this.getTokenName(U.LA(1))}dumpDeadEndConfigs(U){console.log("dead end configs: ");let Q=U.getDeadEndConfigs();for(let Z=0;Z<Q.length;Z++){let X=Q[Z],J="no edges";if(X.state.transitions.length>0){let Y=X.state.transitions[0];Y instanceof E5?J="Atom "+this.getTokenName(Y.label):Y instanceof B5&&(J=(Y instanceof N5?"~":"")+"Set "+Y.set)}console.error(X.toString(this.parser,!0)+":"+J)}}noViableAlt(U,Q,Z,X){return new T7(this.parser,U,U.get(X),U.LT(1),Z,Q)}getUniqueAlt(U){let Q=_1.INVALID_ALT_NUMBER;for(let Z=0;Z<U.items.length;Z++){let X=U.items[Z];if(Q===_1.INVALID_ALT_NUMBER)Q=X.alt;else if(X.alt!==Q)return _1.INVALID_ALT_NUMBER}return Q}addDFAEdge(U,Q,Z,X){if(this.debug&&console.log("EDGE "+Q+" -> "+X+" upon "+this.getTokenName(Z)),X===null)return null;if(X=this.addDFAState(U,X),Q===null||Z<-1||Z>this.atn.maxTokenType)return X;if(Q.edges===null&&(Q.edges=[]),Q.edges[Z+1]=X,this.debug){let J=this.parser===null?null:this.parser.literalNames,Y=this.parser===null?null:this.parser.symbolicNames;console.log(`DFA=
|
|
23
|
+
`+U.toString(J,Y))}return X}addDFAState(U,Q){if(Q===e2.ERROR)return Q;let Z=U.states.get(Q);return Z!==null?(this.trace_atn_sim&&console.log("addDFAState "+Q+" exists"),Z):(Q.stateNumber=U.states.length,Q.configs.readOnly||(Q.configs.optimizeConfigs(this),Q.configs.setReadonly(!0)),this.trace_atn_sim&&console.log("addDFAState new "+Q),U.states.add(Q),this.debug&&console.log("adding new DFA state: "+Q),Q)}reportAttemptingFullContext(U,Q,Z,X,J){if(this.debug||this.retry_debug){let Y=new K1(X,J+1);console.log("reportAttemptingFullContext decision="+U.decision+":"+Z+", input="+this.parser.getTokenStream().getText(Y))}this.parser!==null&&this.parser.getErrorListener().reportAttemptingFullContext(this.parser,U,X,J,Q,Z)}reportContextSensitivity(U,Q,Z,X,J){if(this.debug||this.retry_debug){let Y=new K1(X,J+1);console.log("reportContextSensitivity decision="+U.decision+":"+Z+", input="+this.parser.getTokenStream().getText(Y))}this.parser!==null&&this.parser.getErrorListener().reportContextSensitivity(this.parser,U,X,J,Q,Z)}reportAmbiguity(U,Q,Z,X,J,Y,G){if(this.debug||this.retry_debug){let L=new K1(Z,X+1);console.log("reportAmbiguity "+Y+":"+G+", input="+this.parser.getTokenStream().getText(L))}this.parser!==null&&this.parser.getErrorListener().reportAmbiguity(this.parser,U,Z,X,J,Y,G)}}class Z3{constructor(){this.cache=new k4}add(U){if(U===Q1.EMPTY)return Q1.EMPTY;let Q=this.cache.get(U)||null;return Q!==null?Q:(this.cache.set(U,U),U)}get(U){return this.cache.get(U)||null}get length(){return this.cache.length}}var OT={ATN:_1,ATNDeserializer:g5,LexerATNSimulator:j1,ParserATNSimulator:Q3,PredictionMode:I2,PredictionContextCache:Z3};class p5{constructor(U,Q,Z){this.dfa=U,this.literalNames=Q||[],this.symbolicNames=Z||[]}toString(){if(this.dfa.s0===null)return null;let U="",Q=this.dfa.sortedStates();for(let Z=0;Z<Q.length;Z++){let X=Q[Z];if(X.edges!==null){let J=X.edges.length;for(let Y=0;Y<J;Y++){let G=X.edges[Y]||null;G!==null&&G.stateNumber!==2147483647&&(U=U.concat(this.getStateString(X)),U=U.concat("-"),U=U.concat(this.getEdgeLabel(Y)),U=U.concat("->"),U=U.concat(this.getStateString(G)),U=U.concat(`
|
|
24
|
+
`))}}}return U.length===0?null:U}getEdgeLabel(U){return U===0?"EOF":this.literalNames!==null||this.symbolicNames!==null?this.literalNames[U-1]||this.symbolicNames[U-1]:String.fromCharCode(U-1)}getStateString(U){let Q=(U.isAcceptState?":":"")+"s"+U.stateNumber+(U.requiresFullContext?"^":"");return U.isAcceptState?U.predicates!==null?Q+"=>"+z6(U.predicates):Q+"=>"+U.prediction.toString():Q}}class X3 extends p5{constructor(U){super(U,null)}getEdgeLabel(U){return"'"+String.fromCharCode(U)+"'"}}class J3{constructor(U,Q){if(Q===void 0&&(Q=0),this.atnStartState=U,this.decision=Q,this._states=new y2,this.s0=null,this.precedenceDfa=!1,U instanceof f6&&U.isPrecedenceDecision){this.precedenceDfa=!0;let Z=new M6(null,new P2);Z.edges=[],Z.isAcceptState=!1,Z.requiresFullContext=!1,this.s0=Z}}getPrecedenceStartState(U){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return U<0||U>=this.s0.edges.length?null:this.s0.edges[U]||null}setPrecedenceStartState(U,Q){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";U<0||(this.s0.edges[U]=Q)}setPrecedenceDfa(U){if(this.precedenceDfa!==U){if(this._states=new y2,U){let Q=new M6(null,new P2);Q.edges=[],Q.isAcceptState=!1,Q.requiresFullContext=!1,this.s0=Q}else this.s0=null;this.precedenceDfa=U}}sortedStates(){return this._states.values().sort(function(U,Q){return U.stateNumber-Q.stateNumber})}toString(U,Q){return U=U||null,Q=Q||null,this.s0===null?"":new p5(this,U,Q).toString()}toLexerString(){return this.s0===null?"":new X3(this).toString()}get states(){return this._states}}var LT={DFA:J3,DFASerializer:p5,LexerDFASerializer:X3,PredPrediction:U3},VT={PredictionContext:Q1},DT={Interval:K1,IntervalSet:x2};class v5{visitTerminal(U){}visitErrorNode(U){}enterEveryRule(U){}exitEveryRule(U){}}class G3{visit(U){return Array.isArray(U)?U.map(function(Q){return Q.accept(this)},this):U.accept(this)}visitChildren(U){return U.children?this.visit(U.children):null}visitTerminal(U){}visitErrorNode(U){}}class $7{walk(U,Q){if(Q instanceof Y7||Q.isErrorNode!==void 0&&Q.isErrorNode())U.visitErrorNode(Q);else if(Q instanceof U6)U.visitTerminal(Q);else{this.enterRule(U,Q);for(let Z=0;Z<Q.getChildCount();Z++){let X=Q.getChild(Z);this.walk(U,X)}this.exitRule(U,Q)}}enterRule(U,Q){let Z=Q.ruleContext;U.enterEveryRule(Z),Z.enterRule(U)}exitRule(U,Q){let Z=Q.ruleContext;Z.exitRule(U),U.exitEveryRule(Z)}}$7.DEFAULT=new $7;var HT={Trees:VX,RuleNode:P4,ErrorNode:Y7,TerminalNode:U6,ParseTreeListener:v5,ParseTreeVisitor:G3,ParseTreeWalker:$7};class e6 extends q6{constructor(U){super({message:"",recognizer:U,input:U.getInputStream(),ctx:U._ctx}),this.offendingToken=U.getCurrentToken()}}class h5 extends q6{constructor(U,Q,Z){super({message:FT(Q,Z||null),recognizer:U,input:U.getInputStream(),ctx:U._ctx});let X=U._interp.atn.states[U.state].transitions[0];X instanceof n9?(this.ruleIndex=X.ruleIndex,this.predicateIndex=X.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=Q,this.offendingToken=U.getCurrentToken()}}function FT(U,Q){return Q!==null?Q:"failed predicate: {"+U+"}?"}class I3 extends _4{constructor(U){super(),U=U||!0,this.exactOnly=U}reportAmbiguity(U,Q,Z,X,J,Y,G){if(this.exactOnly&&!J)return;let L="reportAmbiguity d="+this.getDecisionDescription(U,Q)+": ambigAlts="+this.getConflictingAlts(Y,G)+", input='"+U.getTokenStream().getText(new K1(Z,X))+"'";U.notifyErrorListeners(L)}reportAttemptingFullContext(U,Q,Z,X,J,Y){let G="reportAttemptingFullContext d="+this.getDecisionDescription(U,Q)+", input='"+U.getTokenStream().getText(new K1(Z,X))+"'";U.notifyErrorListeners(G)}reportContextSensitivity(U,Q,Z,X,J,Y){let G="reportContextSensitivity d="+this.getDecisionDescription(U,Q)+", input='"+U.getTokenStream().getText(new K1(Z,X))+"'";U.notifyErrorListeners(G)}getDecisionDescription(U,Q){let Z=Q.decision,X=Q.atnStartState.ruleIndex,J=U.ruleNames;if(X<0||X>=J.length)return""+Z;let Y=J[X]||null;return Y===null||Y.length===0?""+Z:`${Z} (${Y})`}getConflictingAlts(U,Q){if(U!==null)return U;let Z=new _2;for(let X=0;X<Q.items.length;X++)Z.set(Q.items[X].alt);return`{${Z.values().join(", ")}}`}}class $3 extends Error{constructor(){super(),Error.captureStackTrace(this,$3)}}class EX{reset(U){}recoverInline(U){}recover(U,Q){}sync(U){}inErrorRecoveryMode(U){}reportError(U){}}class K7 extends EX{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(U){this.endErrorCondition(U)}beginErrorCondition(U){this.errorRecoveryMode=!0}inErrorRecoveryMode(U){return this.errorRecoveryMode}endErrorCondition(U){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(U){this.endErrorCondition(U)}reportError(U,Q){this.inErrorRecoveryMode(U)||(this.beginErrorCondition(U),Q instanceof T7?this.reportNoViableAlternative(U,Q):Q instanceof e6?this.reportInputMismatch(U,Q):Q instanceof h5?this.reportFailedPredicate(U,Q):(console.log("unknown recognition error type: "+Q.constructor.name),console.log(Q.stack),U.notifyErrorListeners(Q.getOffendingToken(),Q.getMessage(),Q)))}recover(U,Q){this.lastErrorIndex===U.getInputStream().index&&this.lastErrorStates!==null&&this.lastErrorStates.indexOf(U.state)>=0&&U.consume(),this.lastErrorIndex=U._input.index,this.lastErrorStates===null&&(this.lastErrorStates=[]),this.lastErrorStates.push(U.state);let Z=this.getErrorRecoverySet(U);this.consumeUntil(U,Z)}sync(U){if(this.inErrorRecoveryMode(U))return;let Q=U._interp.atn.states[U.state],Z=U.getTokenStream().LA(1),X=U.atn.nextTokens(Q);if(X.contains(Z))return this.nextTokensContext=null,void(this.nextTokenState=s0.INVALID_STATE_NUMBER);if(X.contains(l0.EPSILON))this.nextTokensContext===null&&(this.nextTokensContext=U._ctx,this.nextTokensState=U._stateNumber);else switch(Q.stateType){case s0.BLOCK_START:case s0.STAR_BLOCK_START:case s0.PLUS_BLOCK_START:case s0.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(U)!==null)return;throw new e6(U);case s0.PLUS_LOOP_BACK:case s0.STAR_LOOP_BACK:{this.reportUnwantedToken(U);let J=new x2;J.addSet(U.getExpectedTokens());let Y=J.addSet(this.getErrorRecoverySet(U));this.consumeUntil(U,Y)}}}reportNoViableAlternative(U,Q){let Z=U.getTokenStream(),X;X=Z!==null?Q.startToken.type===l0.EOF?"<EOF>":Z.getText(new K1(Q.startToken.tokenIndex,Q.offendingToken.tokenIndex)):"<unknown input>";let J="no viable alternative at input "+this.escapeWSAndQuote(X);U.notifyErrorListeners(J,Q.offendingToken,Q)}reportInputMismatch(U,Q){let Z="mismatched input "+this.getTokenErrorDisplay(Q.offendingToken)+" expecting "+Q.getExpectedTokens().toString(U.literalNames,U.symbolicNames);U.notifyErrorListeners(Z,Q.offendingToken,Q)}reportFailedPredicate(U,Q){let Z="rule "+U.ruleNames[U._ctx.ruleIndex]+" "+Q.message;U.notifyErrorListeners(Z,Q.offendingToken,Q)}reportUnwantedToken(U){if(this.inErrorRecoveryMode(U))return;this.beginErrorCondition(U);let Q=U.getCurrentToken(),Z="extraneous input "+this.getTokenErrorDisplay(Q)+" expecting "+this.getExpectedTokens(U).toString(U.literalNames,U.symbolicNames);U.notifyErrorListeners(Z,Q,null)}reportMissingToken(U){if(this.inErrorRecoveryMode(U))return;this.beginErrorCondition(U);let Q=U.getCurrentToken(),Z="missing "+this.getExpectedTokens(U).toString(U.literalNames,U.symbolicNames)+" at "+this.getTokenErrorDisplay(Q);U.notifyErrorListeners(Z,Q,null)}recoverInline(U){let Q=this.singleTokenDeletion(U);if(Q!==null)return U.consume(),Q;if(this.singleTokenInsertion(U))return this.getMissingSymbol(U);throw new e6(U)}singleTokenInsertion(U){let Q=U.getTokenStream().LA(1),Z=U._interp.atn,X=Z.states[U.state].transitions[0].target;return!!Z.nextTokens(X,U._ctx).contains(Q)&&(this.reportMissingToken(U),!0)}singleTokenDeletion(U){let Q=U.getTokenStream().LA(2);if(this.getExpectedTokens(U).contains(Q)){this.reportUnwantedToken(U),U.consume();let Z=U.getCurrentToken();return this.reportMatch(U),Z}return null}getMissingSymbol(U){let Q=U.getCurrentToken(),Z=this.getExpectedTokens(U).first(),X;X=Z===l0.EOF?"<missing EOF>":"<missing "+U.literalNames[Z]+">";let J=Q,Y=U.getTokenStream().LT(-1);return J.type===l0.EOF&&Y!==null&&(J=Y),U.getTokenFactory().create(J.source,Z,X,l0.DEFAULT_CHANNEL,-1,-1,J.line,J.column)}getExpectedTokens(U){return U.getExpectedTokens()}getTokenErrorDisplay(U){if(U===null)return"<no token>";let Q=U.text;return Q===null&&(Q=U.type===l0.EOF?"<EOF>":"<"+U.type+">"),this.escapeWSAndQuote(Q)}escapeWSAndQuote(U){return"'"+(U=(U=(U=U.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(U){let Q=U._interp.atn,Z=U._ctx,X=new x2;for(;Z!==null&&Z.invokingState>=0;){let J=Q.states[Z.invokingState].transitions[0],Y=Q.nextTokens(J.followState);X.addSet(Y),Z=Z.parentCtx}return X.removeOne(l0.EPSILON),X}consumeUntil(U,Q){let Z=U.getTokenStream().LA(1);for(;Z!==l0.EOF&&!Q.contains(Z);)U.consume(),Z=U.getTokenStream().LA(1)}}class Y3 extends K7{constructor(){super()}recover(U,Q){let Z=U._ctx;for(;Z!==null;)Z.exception=Q,Z=Z.parentCtx;throw new $3(Q)}recoverInline(U){this.recover(U,new e6(U))}sync(U){}}var RT={RecognitionException:q6,NoViableAltException:T7,LexerNoViableAltException:f5,InputMismatchException:e6,FailedPredicateException:h5,DiagnosticErrorListener:I3,BailErrorStrategy:Y3,DefaultErrorStrategy:K7,ErrorListener:_4};class p6{constructor(U,Q){if(this.name="<empty>",this.strdata=U,this.decodeToUnicodeCodePoints=Q||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let Z=0;Z<this.strdata.length;){let X=this.strdata.codePointAt(Z);this.data.push(X),Z+=X<=65535?1:2}else{this.data=Array(this.strdata.length);for(let Z=0;Z<this.strdata.length;Z++)this.data[Z]=this.strdata.charCodeAt(Z)}this._size=this.data.length}reset(){this._index=0}consume(){if(this._index>=this._size)throw"cannot consume EOF";this._index+=1}LA(U){if(U===0)return 0;U<0&&(U+=1);let Q=this._index+U-1;return Q<0||Q>=this._size?l0.EOF:this.data[Q]}LT(U){return this.LA(U)}mark(){return-1}release(U){}seek(U){U<=this._index?this._index=U:this._index=Math.min(U,this._size)}getText(U,Q){if(Q>=this._size&&(Q=this._size-1),U>=this._size)return"";if(this.decodeToUnicodeCodePoints){let Z="";for(let X=U;X<=Q;X++)Z+=String.fromCodePoint(this.data[X]);return Z}return this.strdata.slice(U,Q+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}class c5 extends p6{constructor(U,Q){super(U,Q)}}var IX=a6(763),$X=typeof process<"u"&&process.versions!=null&&process.versions.node!=null;class u9 extends c5{static fromPath(U,Q,Z){if(!$X)throw Error("FileStream is only available when running in Node!");IX.readFile(U,Q,function(X,J){let Y=null;J!==null&&(Y=new p6(J,!0)),Z(X,Y)})}constructor(U,Q,Z){if(!$X)throw Error("FileStream is only available when running in Node!");super(IX.readFileSync(U,Q||"utf-8"),Z),this.fileName=U}}var PX={fromString:function(U){return new p6(U,!0)},fromBlob:function(U,Q,Z,X){let J=new window.FileReader;J.onload=function(Y){let G=new p6(Y.target.result,!0);Z(G)},J.onerror=X,J.readAsText(U,Q)},fromBuffer:function(U,Q){return new p6(U.toString(Q),!0)},fromPath:function(U,Q,Z){u9.fromPath(U,Q,Z)},fromPathSync:function(U,Q){return new u9(U,Q)}},zT={arrayToString:z6,stringToCharArray:function(U){let Q=new Uint16Array(U.length);for(let Z=0;Z<U.length;Z++)Q[Z]=U.charCodeAt(Z);return Q}};class kX{}class T3 extends kX{constructor(U){super(),this.tokenSource=U,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(U){}reset(){this.seek(0)}seek(U){this.lazyInit(),this.index=this.adjustSeekIndex(U)}get size(){return this.tokens.length}get(U){return this.lazyInit(),this.tokens[U]}consume(){let U=!1;if(U=this.index>=0&&(this.fetchedEOF?this.index<this.tokens.length-1:this.index<this.tokens.length),!U&&this.LA(1)===l0.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.adjustSeekIndex(this.index+1))}sync(U){let Q=U-this.tokens.length+1;return!(Q>0)||this.fetch(Q)>=Q}fetch(U){if(this.fetchedEOF)return 0;for(let Q=0;Q<U;Q++){let Z=this.tokenSource.nextToken();if(Z.tokenIndex=this.tokens.length,this.tokens.push(Z),Z.type===l0.EOF)return this.fetchedEOF=!0,Q+1}return U}getTokens(U,Q,Z){if(Z===void 0&&(Z=null),U<0||Q<0)return null;this.lazyInit();let X=[];Q>=this.tokens.length&&(Q=this.tokens.length-1);for(let J=U;J<Q;J++){let Y=this.tokens[J];if(Y.type===l0.EOF)break;(Z===null||Z.contains(Y.type))&&X.push(Y)}return X}LA(U){return this.LT(U).type}LB(U){return this.index-U<0?null:this.tokens[this.index-U]}LT(U){if(this.lazyInit(),U===0)return null;if(U<0)return this.LB(-U);let Q=this.index+U-1;return this.sync(Q),Q>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[Q]}adjustSeekIndex(U){return U}lazyInit(){this.index===-1&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(U){this.tokenSource=U,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(U,Q){if(this.sync(U),U>=this.tokens.length)return-1;let Z=this.tokens[U];for(;Z.channel!==Q;){if(Z.type===l0.EOF)return-1;U+=1,this.sync(U),Z=this.tokens[U]}return U}previousTokenOnChannel(U,Q){for(;U>=0&&this.tokens[U].channel!==Q;)U-=1;return U}getHiddenTokensToRight(U,Q){if(Q===void 0&&(Q=-1),this.lazyInit(),U<0||U>=this.tokens.length)throw U+" not in 0.."+this.tokens.length-1;let Z=this.nextTokenOnChannel(U+1,B1.DEFAULT_TOKEN_CHANNEL),X=U+1,J=Z===-1?this.tokens.length-1:Z;return this.filterForChannel(X,J,Q)}getHiddenTokensToLeft(U,Q){if(Q===void 0&&(Q=-1),this.lazyInit(),U<0||U>=this.tokens.length)throw U+" not in 0.."+this.tokens.length-1;let Z=this.previousTokenOnChannel(U-1,B1.DEFAULT_TOKEN_CHANNEL);if(Z===U-1)return null;let X=Z+1,J=U-1;return this.filterForChannel(X,J,Q)}filterForChannel(U,Q,Z){let X=[];for(let J=U;J<Q+1;J++){let Y=this.tokens[J];Z===-1?Y.channel!==B1.DEFAULT_TOKEN_CHANNEL&&X.push(Y):Y.channel===Z&&X.push(Y)}return X.length===0?null:X}getSourceName(){return this.tokenSource.getSourceName()}getText(U){this.lazyInit(),this.fill(),U||(U=new K1(0,this.tokens.length-1));let Q=U.start;Q instanceof l0&&(Q=Q.tokenIndex);let Z=U.stop;if(Z instanceof l0&&(Z=Z.tokenIndex),Q===null||Z===null||Q<0||Z<0)return"";Z>=this.tokens.length&&(Z=this.tokens.length-1);let X="";for(let J=Q;J<Z+1;J++){let Y=this.tokens[J];if(Y.type===l0.EOF)break;X+=Y.text}return X}fill(){for(this.lazyInit();this.fetch(1000)===1000;);}}Object.defineProperty(T3,"size",{get:function(){return this.tokens.length}});class K3 extends T3{constructor(U,Q){super(U),this.channel=Q===void 0?l0.DEFAULT_CHANNEL:Q}adjustSeekIndex(U){return this.nextTokenOnChannel(U,this.channel)}LB(U){if(U===0||this.index-U<0)return null;let Q=this.index,Z=1;for(;Z<=U;)Q=this.previousTokenOnChannel(Q-1,this.channel),Z+=1;return Q<0?null:this.tokens[Q]}LT(U){if(this.lazyInit(),U===0)return null;if(U<0)return this.LB(-U);let Q=this.index,Z=1;for(;Z<U;)this.sync(Q+1)&&(Q=this.nextTokenOnChannel(Q+1,this.channel)),Z+=1;return this.tokens[Q]}getNumberOfOnChannelTokens(){let U=0;this.fill();for(let Q=0;Q<this.tokens.length;Q++){let Z=this.tokens[Q];if(Z.channel===this.channel&&(U+=1),Z.type===l0.EOF)break}return U}}class _X extends v5{constructor(U){super(),this.parser=U}enterEveryRule(U){console.log("enter "+this.parser.ruleNames[U.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(U){console.log("consume "+U.symbol+" rule "+this.parser.ruleNames[this.parser._ctx.ruleIndex])}exitEveryRule(U){console.log("exit "+this.parser.ruleNames[U.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}}class u5 extends I7{constructor(U){super(),this._input=null,this._errHandler=new K7,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(U)}reset(){this._input!==null&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this._interp!==null&&this._interp.reset()}match(U){let Q=this.getCurrentToken();return Q.type===U?(this._errHandler.reportMatch(this),this.consume()):(Q=this._errHandler.recoverInline(this),this.buildParseTrees&&Q.tokenIndex===-1&&this._ctx.addErrorNode(Q)),Q}matchWildcard(){let U=this.getCurrentToken();return U.type>0?(this._errHandler.reportMatch(this),this.consume()):(U=this._errHandler.recoverInline(this),this.buildParseTrees&&U.tokenIndex===-1&&this._ctx.addErrorNode(U)),U}getParseListeners(){return this._parseListeners||[]}addParseListener(U){if(U===null)throw"listener";this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(U)}removeParseListener(U){if(this._parseListeners!==null){let Q=this._parseListeners.indexOf(U);Q>=0&&this._parseListeners.splice(Q,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){let U=this._ctx;this._parseListeners.forEach(function(Q){Q.enterEveryRule(U),U.enterRule(Q)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){let U=this._ctx;this._parseListeners.slice(0).reverse().forEach(function(Q){U.exitRule(Q),Q.exitEveryRule(U)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(U){this._input.tokenSource._factory=U}getATNWithBypassAlts(){let U=this.getSerializedATN();if(U===null)throw"The current parser does not support an ATN with bypass alternatives.";let Q=this.bypassAltsAtnCache[U];if(Q===null){let Z=new C4;Z.generateRuleBypassTransitions=!0,Q=new g5(Z).deserialize(U),this.bypassAltsAtnCache[U]=Q}return Q}getInputStream(){return this.getTokenStream()}setInputStream(U){this.setTokenStream(U)}getTokenStream(){return this._input}setTokenStream(U){this._input=null,this.reset(),this._input=U}get syntaxErrorsCount(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(U,Q,Z){Z=Z||null,(Q=Q||null)===null&&(Q=this.getCurrentToken()),this._syntaxErrors+=1;let{line:X,column:J}=Q;this.getErrorListener().syntaxError(this,Q,X,J,U,Z)}consume(){let U=this.getCurrentToken();U.type!==l0.EOF&&this.getInputStream().consume();let Q=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||Q){let Z;Z=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(U):this._ctx.addTokenNode(U),Z.invokingState=this.state,Q&&this._parseListeners.forEach(function(X){Z instanceof Y7||Z.isErrorNode!==void 0&&Z.isErrorNode()?X.visitErrorNode(Z):Z instanceof U6&&X.visitTerminal(Z)})}return U}addContextToParseTree(){this._ctx.parentCtx!==null&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(U,Q,Z){this.state=Q,this._ctx=U,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(U,Q){U.setAltNumber(Q),this.buildParseTrees&&this._ctx!==U&&this._ctx.parentCtx!==null&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(U)),this._ctx=U}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(U,Q,Z,X){this.state=Q,this._precedenceStack.push(X),this._ctx=U,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(U,Q,Z){let X=this._ctx;X.parentCtx=U,X.invokingState=Q,X.stop=this._input.LT(-1),this._ctx=U,this._ctx.start=X.start,this.buildParseTrees&&this._ctx.addChild(X),this.triggerEnterRuleEvent()}unrollRecursionContexts(U){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);let Q=this._ctx,Z=this.getParseListeners();if(Z!==null&&Z.length>0)for(;this._ctx!==U;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=U;Q.parentCtx=U,this.buildParseTrees&&U!==null&&U.addChild(Q)}getInvokingContext(U){let Q=this._ctx;for(;Q!==null;){if(Q.ruleIndex===U)return Q;Q=Q.parentCtx}return null}precpred(U,Q){return Q>=this._precedenceStack[this._precedenceStack.length-1]}inContext(U){return!1}isExpectedToken(U){let Q=this._interp.atn,Z=this._ctx,X=Q.states[this.state],J=Q.nextTokens(X);if(J.contains(U))return!0;if(!J.contains(l0.EPSILON))return!1;for(;Z!==null&&Z.invokingState>=0&&J.contains(l0.EPSILON);){let Y=Q.states[Z.invokingState].transitions[0];if(J=Q.nextTokens(Y.followState),J.contains(U))return!0;Z=Z.parentCtx}return!(!J.contains(l0.EPSILON)||U!==l0.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){let U=this._interp.atn,Q=U.states[this.state];return U.nextTokens(Q)}getRuleIndex(U){let Q=this.getRuleIndexMap()[U];return Q!==null?Q:-1}getRuleInvocationStack(U){(U=U||null)===null&&(U=this._ctx);let Q=[];for(;U!==null;){let Z=U.ruleIndex;Z<0?Q.push("n/a"):Q.push(this.ruleNames[Z]),U=U.parentCtx}return Q}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let U=!1;for(let Q=0;Q<this._interp.decisionToDFA.length;Q++){let Z=this._interp.decisionToDFA[Q];Z.states.length>0&&(U&&console.log(),this.printer.println("Decision "+Z.decision+":"),this.printer.print(Z.toString(this.literalNames,this.symbolicNames)),U=!0)}}getSourceName(){return this._input.getSourceName()}setTrace(U){U?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new _X(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}u5.bypassAltsAtnCache={};class W3 extends U6{constructor(U){super(),this.parentCtx=null,this.symbol=U}getChild(U){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return K1.INVALID_INTERVAL;let U=this.symbol.tokenIndex;return new K1(U,U)}getChildCount(){return 0}accept(U){return U.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===l0.EOF?"<EOF>":this.symbol.text}}class b9 extends W3{constructor(U){super(U)}isErrorNode(){return!0}accept(U){return U.visitErrorNode(this)}}class b5 extends v6{constructor(U,Q){super(U,Q),this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(U){this.parentCtx=U.parentCtx,this.invokingState=U.invokingState,this.children=null,this.start=U.start,this.stop=U.stop,U.children&&(this.children=[],U.children.map(function(Q){Q instanceof b9&&(this.children.push(Q),Q.parentCtx=this)},this))}enterRule(U){}exitRule(U){}addChild(U){return this.children===null&&(this.children=[]),this.children.push(U),U}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(U){let Q=new W3(U);return this.addChild(Q),Q.parentCtx=this,Q}addErrorNode(U){let Q=new b9(U);return this.addChild(Q),Q.parentCtx=this,Q}getChild(U,Q){if(Q=Q||null,this.children===null||U<0||U>=this.children.length)return null;if(Q===null)return this.children[U];for(let Z=0;Z<this.children.length;Z++){let X=this.children[Z];if(X instanceof Q){if(U===0)return X;U-=1}}return null}getToken(U,Q){if(this.children===null||Q<0||Q>=this.children.length)return null;for(let Z=0;Z<this.children.length;Z++){let X=this.children[Z];if(X instanceof U6&&X.symbol.type===U){if(Q===0)return X;Q-=1}}return null}getTokens(U){if(this.children===null)return[];{let Q=[];for(let Z=0;Z<this.children.length;Z++){let X=this.children[Z];X instanceof U6&&X.symbol.type===U&&Q.push(X)}return Q}}getTypedRuleContext(U,Q){return this.getChild(Q,U)}getTypedRuleContexts(U){if(this.children===null)return[];{let Q=[];for(let Z=0;Z<this.children.length;Z++){let X=this.children[Z];X instanceof U&&Q.push(X)}return Q}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?K1.INVALID_INTERVAL:new K1(this.start.tokenIndex,this.stop.tokenIndex)}}v6.EMPTY=new b5;class R6{static DEFAULT_PROGRAM_NAME="default";constructor(U){this.tokens=U,this.programs=new Map}getTokenStream(){return this.tokens}insertAfter(U,Q){let Z,X=arguments.length>2&&arguments[2]!==void 0?arguments[2]:R6.DEFAULT_PROGRAM_NAME;Z=typeof U=="number"?U:U.tokenIndex;let J=this.getProgram(X),Y=new l9(this.tokens,Z,J.length,Q);J.push(Y)}insertBefore(U,Q){let Z,X=arguments.length>2&&arguments[2]!==void 0?arguments[2]:R6.DEFAULT_PROGRAM_NAME;Z=typeof U=="number"?U:U.tokenIndex;let J=this.getProgram(X),Y=new i6(this.tokens,Z,J.length,Q);J.push(Y)}replaceSingle(U,Q){let Z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:R6.DEFAULT_PROGRAM_NAME;this.replace(U,U,Q,Z)}replace(U,Q,Z){let X=arguments.length>3&&arguments[3]!==void 0?arguments[3]:R6.DEFAULT_PROGRAM_NAME;if(typeof U!="number"&&(U=U.tokenIndex),typeof Q!="number"&&(Q=Q.tokenIndex),U>Q||U<0||Q<0||Q>=this.tokens.size)throw RangeError(`replace: range invalid: ${U}..${Q}(size=${this.tokens.size})`);let J=this.getProgram(X),Y=new Q7(this.tokens,U,Q,J.length,Z);J.push(Y)}delete(U,Q){let Z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:R6.DEFAULT_PROGRAM_NAME;Q===void 0&&(Q=U),this.replace(U,Q,null,Z)}getProgram(U){let Q=this.programs.get(U);return Q==null&&(Q=this.initializeProgram(U)),Q}initializeProgram(U){let Q=[];return this.programs.set(U,Q),Q}getText(U){let Q,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R6.DEFAULT_PROGRAM_NAME;Q=U instanceof K1?U:new K1(0,this.tokens.size-1),typeof U=="string"&&(Z=U);let X=this.programs.get(Z),J=Q.start,Y=Q.stop;if(Y>this.tokens.size-1&&(Y=this.tokens.size-1),J<0&&(J=0),X==null||X.length===0)return this.tokens.getText(new K1(J,Y));let G=[],L=this.reduceToSingleOperationPerIndex(X),z=J;for(;z<=Y&&z<this.tokens.size;){let D=L.get(z);L.delete(z);let S=this.tokens.get(z);D==null?(S.type!==l0.EOF&&G.push(String(S.text)),z++):z=D.execute(G)}if(Y===this.tokens.size-1)for(let D of L.values())D.index>=this.tokens.size-1&&G.push(D.text.toString());return G.join("")}reduceToSingleOperationPerIndex(U){for(let Z=0;Z<U.length;Z++){let X=U[Z];if(X==null)continue;if(!(X instanceof Q7))continue;let J=X,Y=this.getKindOfOps(U,i6,Z);for(let L of Y)L.index===J.index?(U[L.instructionIndex]=void 0,J.text=L.text.toString()+(J.text!=null?J.text.toString():"")):L.index>J.index&&L.index<=J.lastIndex&&(U[L.instructionIndex]=void 0);let G=this.getKindOfOps(U,Q7,Z);for(let L of G){if(L.index>=J.index&&L.lastIndex<=J.lastIndex){U[L.instructionIndex]=void 0;continue}let z=L.lastIndex<J.index||L.index>J.lastIndex;if(L.text!=null||J.text!=null||z){if(!z)throw Error(`replace op boundaries of ${J} overlap with previous ${L}`)}else U[L.instructionIndex]=void 0,J.index=Math.min(L.index,J.index),J.lastIndex=Math.max(L.lastIndex,J.lastIndex)}}for(let Z=0;Z<U.length;Z++){let X=U[Z];if(X==null)continue;if(!(X instanceof i6))continue;let J=X,Y=this.getKindOfOps(U,i6,Z);for(let L of Y)L.index===J.index&&(L instanceof l9?(J.text=this.catOpText(L.text,J.text),U[L.instructionIndex]=void 0):L instanceof i6&&(J.text=this.catOpText(J.text,L.text),U[L.instructionIndex]=void 0));let G=this.getKindOfOps(U,Q7,Z);for(let L of G)if(J.index!==L.index){if(J.index>=L.index&&J.index<=L.lastIndex)throw Error(`insert op ${J} within boundaries of previous ${L}`)}else L.text=this.catOpText(J.text,L.text),U[Z]=void 0}let Q=new Map;for(let Z of U)if(Z!=null){if(Q.get(Z.index)!=null)throw Error("should only be one op per index");Q.set(Z.index,Z)}return Q}catOpText(U,Q){let Z="",X="";return U!=null&&(Z=U.toString()),Q!=null&&(X=Q.toString()),Z+X}getKindOfOps(U,Q,Z){return U.slice(0,Z).filter((X)=>X&&X instanceof Q)}}class O3{constructor(U,Q,Z,X){this.tokens=U,this.instructionIndex=Z,this.index=Q,this.text=X===void 0?"":X}toString(){let U=this.constructor.name,Q=U.indexOf("$");return U=U.substring(Q+1,U.length),"<"+U+"@"+this.tokens.get(this.index)+':"'+this.text+'">'}}class i6 extends O3{constructor(U,Q,Z,X){super(U,Q,Z,X)}execute(U){return this.text&&U.push(this.text.toString()),this.tokens.get(this.index).type!==l0.EOF&&U.push(String(this.tokens.get(this.index).text)),this.index+1}}class l9 extends i6{constructor(U,Q,Z,X){super(U,Q+1,Z,X)}}class Q7 extends O3{constructor(U,Q,Z,X,J){super(U,Q,X,J),this.lastIndex=Z}execute(U){return this.text&&U.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"<DeleteOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+">":"<ReplaceOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+':"'+this.text+'">'}}var ST={atn:OT,dfa:LT,context:VT,misc:DT,tree:HT,error:RT,Token:l0,CommonToken:S6,CharStreams:PX,CharStream:p6,InputStream:c5,CommonTokenStream:K3,Lexer:B1,Parser:u5,ParserRuleContext:b5,Interval:K1,IntervalSet:x2,LL1Analyzer:U4,Utils:zT,TokenStreamRewriter:R6},$2=W1.MG,l5=W1.fr,fF=W1.sR,pF=W1.Zo,L3=W1.iH,vF=W1.rt,AX=W1.jB,d5=W1.M8,hF=W1.$t,cF=W1.aq,jX=W1.pG,BX=W1.eP,uF=W1.KU,bF=W1.zW,lF=W1.IX,dF=W1.mY,oF=W1.a7,NX=W1.JG,wX=W1.ay,W6=W1.X2,mF=W1.WU,yX=W1.Uw,rF=W1.gw,xX=W1.iX,gX=W1.re,P0=W1.Pg,o5=W1.tD,nF=W1.R$,k0=W1.Dj,sF=W1.m7,iF=W1.NZ,aF=W1.xo,c1=W1.ou,tF=W1.qC,eF=W1.mD,UR=W1.Ay;class m5 extends yX{visitStart;visitStart_script;visitStart_expression;visitStart_comments;visitStatements;visitStatement;visitCompound_statement;visitSimple_statements;visitTrailing_structure_statements;visitSimple_statement;visitCompound_assignment;visitCompound_variable_initialization;visitCompound_name_initialization;visitCompound_tuple_initialization;visitCompound_reassignment;visitCompound_augassignment;visitFunction_declaration;visitParameter_list;visitParameter_definition;visitMethod_declaration;visitMethod_parameter_list;visitMethod_parameter_definition;visitType_declaration;visitField_definitions;visitField_definition;visitEnum_declaration;visitEnum_definitions;visitEnum_definition;visitStructure;visitStructure_statement;visitStructure_expression;visitIf_structure;visitElif_structure;visitIf_tail;visitElse_block;visitFor_structure;visitFor_structure_to;visitFor_structure_in;visitFor_iterator;visitWhile_structure;visitSwitch_structure;visitSwitch_cases;visitSwitch_pattern_case;visitSwitch_default_case;visitLocal_block;visitIndented_local_block;visitInline_local_block;visitSimple_assignment;visitSimple_variable_initialization;visitSimple_name_initialization;visitSimple_tuple_initialization;visitSimple_reassignment;visitSimple_augassignment;visitExpression;visitExpression_statement;visitConditional_expression;visitDisjunction_expression;visitConjunction_expression;visitBitwise_or_expression;visitBitwise_xor_expression;visitBitwise_and_expression;visitEquality_expression;visitEquality_trailing_pair;visitEqual_trailing_pair;visitNot_equal_trailing_pair;visitInequality_expression;visitInequality_trailing_pair;visitLess_than_equal_trailing_pair;visitLess_than_trailing_pair;visitGreater_than_equal_trailing_pair;visitGreater_than_trailing_pair;visitShift_expression;visitShift_op;visitAdditive_expression;visitAdditive_op;visitMultiplicative_expression;visitMultiplicative_op;visitUnary_expression;visitUnary_op;visitPrimary_expression_attribute;visitPrimary_expression_call;visitPrimary_expression_fallback;visitPrimary_expression_subscript;visitArgument_list;visitArgument_definition;visitSubscript_slice;visitAtomic_expression;visitLiteral_expression;visitLiteral_number;visitLiteral_string;visitLiteral_bool;visitLiteral_color;visitGrouped_expression;visitTuple_expression;visitImport_statement;visitBreak_statement;visitContinue_statement;visitVariable_declaration;visitTuple_declaration;visitDeclaration_mode;visitAssignment_target;visitAssignment_target_attribute;visitAssignment_target_subscript;visitAssignment_target_name;visitAssignment_target_group;visitAugassign_op;visitType_specification;visitType_qualifier;visitAttributed_type_name;visitTemplate_spec_suffix;visitArray_type_suffix;visitType_argument_list;visitName;visitName_load;visitName_store;visitComments;visitComment}var Q6={kind:"Load"},W7={kind:"Store"},fX={kind:"Var"},V3={kind:"VarIp"},D3={kind:"Add"},pX={kind:"Sub"},H3={kind:"Mult"},vX={kind:"Div"},hX={kind:"Mod"},F3={kind:"UAdd"},cX={kind:"USub"},uX={kind:"Not"},bX={kind:"Invert"},lX={kind:"Eq"},dX={kind:"NotEq"},oX={kind:"Lt"},mX={kind:"LtE"},rX={kind:"Gt"},nX={kind:"GtE"},sX={kind:"And"},iX={kind:"Or"};function aX(U=[],Q=[]){return{kind:"Script",body:U,annotations:Q}}function tX(U){return{kind:"Expression",body:U}}function O7(U){return{kind:"Expr",value:U}}function eX(U,Q=[]){return{kind:"Call",func:U,args:Q}}function R3(U,Q=Q6){return{kind:"Name",id:U,ctx:Q}}function UJ(U,Q=null){return{kind:"Constant",value:U,kind_lit:Q}}function QJ(U,Q=null){return{kind:"Arg",value:U,name:Q}}function z3(U,Q,Z=Q6){return{kind:"Attribute",value:U,attr:Q,ctx:Z}}function S3(U,Q=null,Z=Q6){return{kind:"Subscript",value:U,slice:Q,ctx:Z}}function M3(U,Q,Z){return{kind:"BinOp",left:U,op:Q,right:Z}}function ZJ(U,Q){return{kind:"UnaryOp",op:U,operand:Q}}function A4(U,Q,Z=null,X=null,J=null,Y=[]){return{kind:"Assign",target:U,value:Q,type:Z,mode:X,export:J,annotations:Y}}function q3(U,Q){return{kind:"ReAssign",target:U,value:Q}}function C3(U,Q=[],Z=[],X=null,J=null,Y=[]){return{kind:"FunctionDef",name:U,args:Q,body:Z,method:X,export:J,annotations:Y}}function XJ(U,Q=[],Z=null,X=[]){return{kind:"TypeDef",name:U,body:Q,export:Z,annotations:X}}function JJ(U,Q=[],Z=null,X=[]){return{kind:"EnumDef",name:U,body:Q,export:Z,annotations:X}}function E3(U,Q=null,Z=null){return{kind:"Param",name:U,default:Q,type:Z}}function P3(U,Q,Z){return{kind:"Compare",left:U,ops:Q,comparators:Z}}function k3(U,Q=[],Z=[]){return{kind:"If",test:U,body:Q,orelse:Z}}function r5(U,Q=W7){return{kind:"Tuple",elts:U,ctx:Q}}function GJ(U,Q,Z){return{kind:"Conditional",test:U,body:Q,orelse:Z}}function IJ(U,Q,Z,X,J=null){return{kind:"ForTo",target:U,start:Q,end:Z,body:X,step:J}}function $J(U,Q,Z){return{kind:"ForIn",target:U,iter:Q,body:Z}}function YJ(U,Q=[]){return{kind:"While",test:U,body:Q}}function TJ(U=[],Q=null){return{kind:"Switch",cases:U,subject:Q}}function _3(U=[],Q=null){return{kind:"Case",body:U,pattern:Q}}function A3(U,Q=[]){return{kind:"BoolOp",op:U,values:Q}}function KJ(){return{kind:"Break"}}function WJ(){return{kind:"Continue"}}function OJ(U,Q,Z,X=null){return{kind:"Import",namespace:U,name:Q,version:Z,alias:X}}function t0(U,Q){let Z=Q.start,X=Q.stop??Q.start;if(Z)U.lineno=Z.line,U.col_offset=Z.column;if(X){U.end_lineno=X.line;let J=X.text??"";U.end_col_offset=X.column+J.length}}function MT(U){let Q=U.replaceAll("_","");if(/^0[xX]/.test(Q))return Number.parseInt(Q,16);if(/^0[bB]/.test(Q))return Number.parseInt(Q.slice(2),2);if(/^0[oO]/.test(Q))return Number.parseInt(Q.slice(2),8);return Number(Q)}function qT(U){let Q="";for(let Z=0;Z<U.length;Z++){let X=U[Z];if(X!=="\\"||Z+1>=U.length){Q+=X;continue}let J=U[++Z];switch(J){case"n":Q+=`
|
|
25
|
+
`;break;case"r":Q+="\r";break;case"t":Q+="\t";break;case"\\":case"'":case'"':Q+=J;break;default:Q+=J;break}}return Q}function CT(U){if(U.startsWith('"""')&&U.endsWith('"""')||U.startsWith("'''")&&U.endsWith("'''"))return U.slice(3,-3);if(U.length>=2){let Q=U[0];if((Q==='"'||Q==="'")&&U.endsWith(Q))return qT(U.slice(1,-1))}return U}function C6(U){while(Array.isArray(U)&&U.length===1)U=U[0];if(Array.isArray(U))return U.map(C6);return U}function Z6(U){if(U==null||typeof U!=="object")return!1;if(!("symbol"in U))return!1;return U.symbol!=null}function R1(U){return U!=null&&typeof U==="object"&&"ruleIndex"in U&&typeof U.ruleIndex==="number"}function LJ(U){if(U.kind==="Name"||U.kind==="Attribute"||U.kind==="Subscript")U.ctx=W7;return U}class j3 extends m5{visitChildren(U){let Q=U.children??[],Z=[];for(let X of Q){if(!R1(X))continue;let J=X.accept;if(typeof J!=="function")continue;let Y=C6(J.call(X,this));if(Y!==void 0&&Y!==null)Z.push(Y)}if(Z.length===0)return;if(Z.length===1)return Z[0];return Z}visitStart_script=(U)=>{let Q=U.statements(),Z=Q?this.visit(Q):[];return aX(Z)};visitStart_expression=(U)=>{return tX(this.visit(U.expression()))};visitStatements=(U)=>{let Q=[];for(let Z of U.statement_list()){let X=C6(this.visit(Z));if(Array.isArray(X))Q.push(...X);else if(X)Q.push(X)}return Q};visitStatement=(U)=>{let Q=U.compound_statement(),Z=U.simple_statements(),X=U.trailing_structure_statements();if(Q)return[this.visit(Q)];if(Z)return this.visit(Z);if(X)return this.visit(X);return[]};visitSimple_statements=(U)=>{return U.simple_statement_list().map((Q)=>this.visit(Q))};visitExpression_statement=(U)=>{let Q=O7(this.visit(U.expression()));return t0(Q,U),Q};visitConditional_expression=(U)=>{let Q=this.visit(U.disjunction_expression());if(Z6(U.QUESTION())){let Z=this.visit(U.expression(0)),X=this.visit(U.expression(1)),J=GJ(Q,Z,X);return t0(J,U),J}return Q};visitDisjunction_expression=(U)=>{let Q=U.conjunction_expression_list()??[];if(Q.length>1){let Z=Q.map((J)=>this.visit(J)),X=A3(iX,Z);return t0(X,U),X}return this.visit(Q[0])};visitConjunction_expression=(U)=>{let Q=U.bitwise_or_expression_list()??[];if(Q.length>1){let Z=Q.map((J)=>this.visit(J)),X=A3(sX,Z);return t0(X,U),X}return this.visit(Q[0])};visitAdditive_expression=(U)=>{if(U.additive_op()){let Q=M3(this.visit(U.additive_expression()),this.visit(U.additive_op()),this.visit(U.multiplicative_expression()));return t0(Q,U),Q}return this.visit(U.multiplicative_expression())};visitAdditive_op=(U)=>{if(U.PLUS())return D3;if(U.MINUS())return pX;return D3};visitMultiplicative_expression=(U)=>{if(U.multiplicative_op()){let Q=M3(this.visit(U.multiplicative_expression()),this.visit(U.multiplicative_op()),this.visit(U.unary_expression()));return t0(Q,U),Q}return this.visit(U.unary_expression())};visitMultiplicative_op=(U)=>{if(U.STAR())return H3;if(U.SLASH())return vX;if(U.PERCENT())return hX;return H3};visitUnary_expression=(U)=>{if(U.unary_op()){let Q=ZJ(this.visit(U.unary_op()),this.visit(U.unary_expression()));return t0(Q,U),Q}return this.visit(U.primary_expression())};visitUnary_op=(U)=>{if(U.NOT())return uX;if(U.PLUS())return F3;if(U.MINUS())return cX;if(U.TILDE())return bX;return F3};visitPrimary_expression_call=(U)=>{let Q=this.visit(U.primary_expression()),Z=U.argument_list(),X=R1(Z)?ET(this.visit(Z)):[],J=eX(Q,X);return t0(J,U),J};visitPrimary_expression_attribute=(U)=>{let Q=this.visit(U.primary_expression()),Z=this.visit(U.name_load()),X=z3(Q,Z.id,Q6);return t0(X,U),X};visitPrimary_expression_subscript=(U)=>{let Q=this.visit(U.primary_expression()),Z=this.visit(U.subscript_slice()),X=S3(Q,Z,Q6);return t0(X,U),X};visitArgument_list=(U)=>{return U.argument_definition_list().map((Q)=>this.visit(Q))};visitArgument_definition=(U)=>{let Q=U.name_store(),Z=null;if(R1(Q)&&Z6(U.EQUAL())){let J=this.visit(Q);if(typeof J==="string")Z=J;else if(kT(J))Z=J.id;else{let Y=Q.getText();Z=Y.length>0?Y:null}}let X=QJ(this.visit(U.expression()),Z);return t0(X,U),X};visitSubscript_slice=(U)=>{let Q=U.expression_list().map((X)=>this.visit(X));if(Q.length<=1)return Q[0];let Z=r5(Q,Q6);return t0(Z,U),Z};visitLiteral_expression=(U)=>{let Q=U.getChild(0),Z=this.visit(Q),X=UJ(Z);if(t0(X,U),R1(U.literal_color()))X.kind_lit="#";return X};visitLiteral_number=(U)=>{return MT(U.getText())};visitLiteral_string=(U)=>{return CT(U.getText())};visitLiteral_bool=(U)=>{if(U.TRUE())return!0;if(U.FALSE())return!1;return!1};visitLiteral_color=(U)=>{return U.getText()};visitName=(U)=>{return U.getText()};visitName_load=(U)=>{let Q=R3(U.name().getText(),Q6);return t0(Q,U),Q};visitName_store=(U)=>{let Q=R3(U.name().getText(),W7);return t0(Q,U),Q};visitGrouped_expression=(U)=>{return this.visit(U.expression())};visitTuple_expression=(U)=>{let Q=(U.expression_list()??[]).map((X)=>this.visit(X)),Z=r5(Q,Q6);return t0(Z,U),Z};visitType_specification=(U)=>{let Q=this.visit(U.attributed_type_name());if(R1(U.array_type_suffix())){let Z=S3(Q,null,Q6);t0(Z,U),Z.lineno=Q.lineno,Z.col_offset=Q.col_offset,Q=Z}return Q};visitAttributed_type_name=(U)=>{let Q=(U.name_load_list()??[]).map((X)=>this.visit(X));if(Q.length===0)return;let Z=Q[0];for(let X=1;X<Q.length;X++){let J=Q[X],Y=z3(Z,J.id,Q6);Y.lineno=Z.lineno,Y.col_offset=Z.col_offset,Y.end_lineno=J.end_lineno??null,Y.end_col_offset=J.end_col_offset??null,Z=Y}return Z};visitSimple_name_initialization=(U)=>{let Q=this.visit(U.variable_declaration());if(Q.value=this.visit(U.expression()),Z6(U.EXPORT()))Q.export=1;return t0(Q,U),Q};visitCompound_name_initialization=(U)=>{let Q=this.visit(U.variable_declaration()),Z=U.structure_expression();if(R1(Z))Q.value=this.visit(Z);if(Z6(U.EXPORT()))Q.export=1;return t0(Q,U),Q};visitCompound_tuple_initialization=(U)=>{let Q=this.visit(U.tuple_declaration()),Z=this.visit(U.structure_expression()),X=A4(Q,Z);return t0(X,U),X};visitCompound_reassignment=(U)=>{let Q=LJ(this.visit(U.primary_expression())),Z=this.visit(U.structure_expression()),X=q3(Q,Z);return t0(X,U),X};visitStructure_expression=(U)=>{return this.visit(U.structure())};visitTrailing_structure_statements=(U)=>{let Q=[];for(let Y of U.simple_statement_list()??[]){let G=C6(this.visit(Y));if(Array.isArray(G))Q.push(...G);else if(G)Q.push(G)}let Z=this.visit(U.structure()),X=O7(Z),J=U.structure();if(R1(J))t0(X,J);else t0(X,U);return Q.push(X),Q};visitSimple_tuple_initialization=(U)=>{let Q=this.visit(U.tuple_declaration()),Z=this.visit(U.expression()),X=A4(Q,Z);return t0(X,U),X};visitSimple_reassignment=(U)=>{let Q=LJ(this.visit(U.primary_expression())),Z=this.visit(U.expression()),X=q3(Q,Z);return t0(X,U),X};visitVariable_declaration=(U)=>{let Q=this.visit(U.name_store()),Z=U.type_specification(),X=U.declaration_mode(),J=R1(Z)?this.visit(Z)??null:null,Y=R1(X)?this.visit(X)??null:null,G=A4(Q,null,J,Y);return t0(G,U),G};visitTuple_declaration=(U)=>{let Q=U.name_store_list().map((X)=>this.visit(X)),Z=r5(Q,W7);return t0(Z,U),Z};visitDeclaration_mode=(U)=>{if(Z6(U.VARIP()))return V3;if(Z6(U.VAR()))return fX;return};visitFunction_declaration=(U)=>{let Q=this.visit(U.name()),Z=U.parameter_list(),X=R1(Z)?VJ(this.visit(Z)):[],J=g2(this.visit(U.local_block())),Y=Z6(U.EXPORT())?1:0,G=C3(Q,X,J,0,Y);return t0(G,U),G};visitParameter_list=(U)=>{return U.parameter_definition_list().map((Q)=>this.visit(Q))};visitParameter_definition=(U)=>{let Q=this.visit(U.name_store()),Z=U.expression(),X=U.type_specification(),J=R1(Z)?this.visit(Z)??null:null,Y=R1(X)?this.visit(X)??null:null,G=E3(Q.id,J,Y);return t0(G,U),G};visitMethod_declaration=(U)=>{let Q=this.visit(U.name()),Z=U.method_parameter_list(),X=R1(Z)?VJ(this.visit(Z)):[],J=g2(this.visit(U.local_block())),Y=Z6(U.EXPORT())?1:0,G=C3(Q,X,J,1,Y);return t0(G,U),G};visitMethod_parameter_list=(U)=>{return U.method_parameter_definition_list().map((Q)=>this.visit(Q))};visitMethod_parameter_definition=(U)=>{let Q=U.type_specification(),Z=U.name_store();if(R1(Q)&&R1(Z)){let X=this.visit(Q)??null,J=this.visit(Z),Y=E3(J.id,null,X);return t0(Y,U),Y}return this.visit(U.parameter_definition())};visitType_declaration=(U)=>{let Q=this.visit(U.name()),Z=g2(this.visit(U.field_definitions())),X=Z6(U.EXPORT())?1:0,J=XJ(Q,Z,X);return t0(J,U),J};visitEnum_declaration=(U)=>{let Q=this.visit(U.name()),Z=g2(this.visit(U.enum_definitions())),X=Z6(U.EXPORT())?1:0,J=JJ(Q,Z,X);return t0(J,U),J};visitField_definitions=(U)=>{return U.field_definition_list().map((Q)=>this.visit(Q))};visitField_definition=(U)=>{let Q=this.visit(U.name_store()),Z=U.expression(),X=U.type_specification(),J=R1(Z)?this.visit(Z)??null:null,Y=R1(X)?this.visit(X)??null:null,G=Z6(U.VARIP())?V3:null,L=A4(Q,J,Y,G);return t0(L,U),L};visitEnum_definitions=(U)=>{return U.enum_definition_list().map((Q)=>this.visit(Q))};visitEnum_definition=(U)=>{let Q=this.visit(U.name_store()),Z=U.expression(),X=R1(Z)?this.visit(Z)??null:null,J=A4(Q,X);return t0(J,U),J};visitStructure_statement=(U)=>{let Q=O7(this.visit(U.structure()));return t0(Q,U),Q};visitIf_structure=(U)=>{let Q=this.visit(U.expression()),Z=g2(this.visit(U.local_block())),X=U.if_tail(),J=R1(X)?g2(this.visit(X)):[],Y=k3(Q,Z,J);return t0(Y,U),Y};visitFor_structure=(U)=>{let Q=U.for_structure_to();if(R1(Q))return this.visit(Q);let Z=U.for_structure_in();if(R1(Z))return this.visit(Z);return this.visitChildren(U)};visitFor_iterator=(U)=>{let Q=U.tuple_declaration();if(R1(Q))return this.visit(Q);return this.visit(U.name_store())};visitFor_structure_to=(U)=>{let Q=this.visit(U.for_iterator()),Z=this.visit(U.expression(0)),X=this.visit(U.expression(1)),J=U.expression(2),Y=R1(J)?this.visit(J)??null:null,G=g2(this.visit(U.local_block())),L=IJ(Q,Z,X,G,Y);return t0(L,U),L};visitFor_structure_in=(U)=>{let Q=this.visit(U.for_iterator()),Z=this.visit(U.expression()),X=g2(this.visit(U.local_block())),J=$J(Q,Z,X);return t0(J,U),J};visitWhile_structure=(U)=>{let Q=this.visit(U.expression()),Z=g2(this.visit(U.local_block())),X=YJ(Q,Z);return t0(X,U),X};visitSwitch_structure=(U)=>{let Q=PT(this.visit(U.switch_cases())),Z=U.expression(),X=R1(Z)?this.visit(Z)??null:null,J=TJ(Q,X);return t0(J,U),J};visitSwitch_cases=(U)=>{let Q=(U.switch_pattern_case_list()??[]).map((X)=>this.visit(X)),Z=U.switch_default_case();if(R1(Z))Q.push(this.visit(Z));return Q};visitSwitch_pattern_case=(U)=>{let Q=g2(this.visit(U.local_block())),Z=this.visit(U.expression()),X=_3(Q,Z);return t0(X,U),X};visitSwitch_default_case=(U)=>{let Q=g2(this.visit(U.local_block())),Z=_3(Q,null);return t0(Z,U),Z};visitElif_structure=(U)=>{let Q=this.visit(U.expression()),Z=g2(this.visit(U.local_block())),X=U.if_tail(),J=R1(X)?g2(this.visit(X)):[],Y=k3(Q,Z,J);t0(Y,U);let G=O7(Y);return t0(G,U),[G]};visitIf_tail=(U)=>{let Q=U.elif_structure();if(R1(Q))return this.visit(Q);let Z=U.else_block();if(R1(Z))return this.visit(Z);return[]};visitElse_block=(U)=>{return this.visit(U.local_block())};visitLocal_block=(U)=>{let Q=U.indented_local_block();if(R1(Q))return this.visit(Q);let Z=U.inline_local_block();if(R1(Z))return this.visit(Z);return[]};visitIndented_local_block=(U)=>{return this.visit(U.statements())};visitInline_local_block=(U)=>{return g2(this.visit(U.statement()))};visitEquality_expression=(U)=>{let Q=this.visit(U.inequality_expression()),Z=U.equality_trailing_pair_list()??[];if(Z.length===0)return Q;let X=[],J=[];for(let G of Z){let L=this.visit(G);X.push(L[0]),J.push(L[1])}let Y=P3(Q,X,J);return t0(Y,U),Y};visitEqual_trailing_pair=(U)=>{return[lX,this.visit(U.inequality_expression())]};visitNot_equal_trailing_pair=(U)=>{return[dX,this.visit(U.inequality_expression())]};visitInequality_expression=(U)=>{let Q=this.visit(U.shift_expression()),Z=U.inequality_trailing_pair_list()??[];if(Z.length===0)return Q;let X=[],J=[];for(let G of Z){let L=C6(this.visit(G));X.push(L[0]),J.push(L[1])}let Y=P3(Q,X,J);return t0(Y,U),Y};visitLess_than_equal_trailing_pair=(U)=>{return[mX,this.visit(U.shift_expression())]};visitLess_than_trailing_pair=(U)=>{return[oX,this.visit(U.shift_expression())]};visitGreater_than_equal_trailing_pair=(U)=>{return[nX,this.visit(U.shift_expression())]};visitGreater_than_trailing_pair=(U)=>{return[rX,this.visit(U.shift_expression())]};visitBreak_statement=(U)=>{let Q=KJ();return t0(Q,U),Q};visitContinue_statement=(U)=>{let Q=WJ();return t0(Q,U),Q};visitImport_statement=(U)=>{let Q=String(this.visit(U.name(0))??""),Z=String(this.visit(U.name(1))??""),X=this.visit(U.literal_number()),J=typeof X==="number"&&Number.isFinite(X)?Math.trunc(X):1,Y=U.AS()?U.name(2):void 0,G=Y?String(this.visit(Y)??""):null,L=OJ(Q,Z,J,G||null);return t0(L,U),L}}function g2(U){let Q=C6(U);if(Q==null)return[];if(Array.isArray(Q))return Q.filter(Boolean);return[Q]}function VJ(U){let Q=C6(U);if(Q==null)return[];if(Array.isArray(Q))return Q.filter(Boolean);return[Q]}function ET(U){let Q=C6(U);if(Q==null)return[];if(Array.isArray(Q))return Q.filter(Boolean);return[Q]}function PT(U){let Q=C6(U);if(Q==null)return[];if(Array.isArray(Q))return Q.filter(Boolean);return[Q]}function kT(U){return U!=null&&typeof U==="object"&&U.kind==="Name"&&typeof U.id==="string"}function n5(U,Q){if(U==null)return"None";if(typeof U==="boolean")return U?"True":"False";if(typeof U==="string")return JSON.stringify(U);if(typeof U==="number")return String(U);if(Array.isArray(U))return`[${U.map((Z)=>n5(Z,Q)).join(", ")}]`;if(typeof U==="object"&&U!==null&&"kind"in U)return B3(U,{annotate_fields:Q});return String(U)}var _T=new Set(["kind","lineno","col_offset","end_lineno","end_col_offset","kind_lit"]);function B3(U,Q={}){let Z=Q.annotate_fields!==!1,X=U,J=[];for(let[Y,G]of Object.entries(X)){if(_T.has(Y))continue;if(Y==="annotations"&&Array.isArray(G)&&G.length===0)continue;if(G===void 0)continue;let L=n5(G,Z);J.push(Z?`${Y}=${L}`:L)}if(U.kind==="Constant"&&X.kind_lit)J.push(Z?`kind=${n5(X.kind_lit,Z)}`:n5(X.kind_lit,Z));return`${U.kind}(${J.join(", ")})`}var DJ={Add:"+",Sub:"-",Mult:"*",Div:"/",Mod:"%"},HJ={UAdd:"+",USub:"-",Not:"not ",Invert:"~"},AT={Eq:"==",NotEq:"!=",Lt:"<",LtE:"<=",Gt:">",GtE:">="},jT={And:"and",Or:"or"};function BT(U){if(U.includes(`
|
|
26
|
+
`)||U.includes("\r")){if(!U.includes('"""'))return`"""${U}"""`;if(!U.includes("'''"))return`'''${U}'''`}return JSON.stringify(U)}function J1(U){switch(U.kind){case"Name":return U.id;case"Constant":return jJ(U);case"Call":return NJ(U);case"Attribute":return`${J1(U.value)}.${U.attr}`;case"Subscript":return`${J1(U.value)}[${SJ(U.slice)}]`;case"BinOp":return`${J1(U.left)} ${DJ[U.op.kind]??"?"} ${J1(U.right)}`;case"UnaryOp":return`${HJ[U.op.kind]??""}${J1(U.operand)}`;case"Compare":return FJ(U);case"If":return RJ(U);case"Tuple":return zJ(U);case"Conditional":return MJ(U);case"ForTo":return CJ(U);case"ForIn":return EJ(U);case"While":return PJ(U);case"Switch":return _J(U);case"BoolOp":return AJ(U)}}function FJ(U){let Q=J1(U.left);for(let Z=0;Z<U.ops.length;Z++)Q+=` ${AT[U.ops[Z].kind]??"??"} ${J1(U.comparators[Z])}`;return Q}function RJ(U){let Q=U.body.map(Z4).join("; ");if(U.orelse.length===0)return`if ${J1(U.test)}
|
|
27
|
+
${Q}`;let Z=U.orelse.map(Z4).join("; ");return`if ${J1(U.test)}
|
|
28
|
+
${Q}
|
|
14
29
|
else
|
|
15
|
-
${
|
|
16
|
-
`))return` ${
|
|
17
|
-
${
|
|
30
|
+
${Z}`}function zJ(U){return`[${U.elts.map(J1).join(", ")}]`}function SJ(U){if(U==null)return"";if(U.kind==="Tuple")return U.elts.map(J1).join(", ");return J1(U)}function MJ(U){return`${J1(U.test)} ? ${J1(U.body)} : ${J1(U.orelse)}`}function qJ(U){if(!U.length)return"";let Q=U.map(Z4);if(Q.length===1&&!Q[0].includes(`
|
|
31
|
+
`))return` ${Q[0]}`;return Q.map((Z)=>`
|
|
32
|
+
${Z.replaceAll(`
|
|
18
33
|
`,`
|
|
19
|
-
`)}`).join("")}function
|
|
20
|
-
${
|
|
34
|
+
`)}`).join("")}function CJ(U){let Q=`for ${J1(U.target)} = ${J1(U.start)} to ${J1(U.end)}`;if(U.step)Q+=` by ${J1(U.step)}`;return Q+qJ(U.body)}function EJ(U){return`for ${J1(U.target)} in ${J1(U.iter)}${qJ(U.body)}`}function N3(U){if(!U.length)return"";return U.map((Q)=>`
|
|
35
|
+
${Z4(Q).replaceAll(`
|
|
21
36
|
`,`
|
|
22
|
-
`)}`).join("")}function
|
|
23
|
-
`))return` ${
|
|
24
|
-
${
|
|
37
|
+
`)}`).join("")}function PJ(U){return`while ${J1(U.test)}${N3(U.body)}`}function NT(U){if(!U.length)return"";if(U.length===1&&U[0].kind==="Expr")return` ${J1(U[0].value)}`;let Q=U.map(Z4);if(Q.length===1&&!Q[0].includes(`
|
|
38
|
+
`))return` ${Q[0]}`;return Q.map((Z)=>`
|
|
39
|
+
${Z.replaceAll(`
|
|
25
40
|
`,`
|
|
26
|
-
`)}`).join("")}function
|
|
27
|
-
${
|
|
41
|
+
`)}`).join("")}function kJ(U){return(U.pattern?`${J1(U.pattern)} =>`:"=>")+NT(U.body)}function _J(U){let Q=U.subject?`switch ${J1(U.subject)}`:"switch";if(!U.cases.length)return Q;return Q+U.cases.map((Z)=>`
|
|
42
|
+
${kJ(Z).replaceAll(`
|
|
28
43
|
`,`
|
|
29
|
-
`)}`).join("")}function
|
|
44
|
+
`)}`).join("")}function AJ(U){let Q=jT[U.op.kind]??"and";return U.values.map(J1).join(` ${Q} `)}function jJ(U){if(U.kind_lit)return String(U.value);let Q=U.value;if(Q===!0)return"true";if(Q===!1)return"false";if(Q===null||Q===void 0)return"na";if(typeof Q==="string")return BT(Q);return String(Q)}function BJ(U){let Q=J1(U.value);return U.name?`${U.name}=${Q}`:Q}function wT(U){if(U==null)return[];return Array.isArray(U)?U:[U]}function NJ(U){return`${J1(U.func)}(${wT(U.args).map(BJ).join(", ")})`}function wJ(U){let Q=`import ${U.namespace}/${U.name}/${U.version}`;return U.alias?`${Q} as ${U.alias}`:Q}function Z4(U){if(U==null||typeof U!=="object")return"";if(U.kind==="Expr")return J1(U.value);if(U.kind==="Assign")return pJ(U);if(U.kind==="ReAssign")return vJ(U);if(U.kind==="FunctionDef")return fJ(U);if(U.kind==="TypeDef")return xJ(U);if(U.kind==="EnumDef")return gJ(U);if(U.kind==="Import")return wJ(U);if(U.kind==="Break")return"break";if(U.kind==="Continue")return"continue";return""}function yT(U){if(U==null)return[];return Array.isArray(U)?U:[U]}function yJ(U){let Q=U.name;if(U.type)Q=`${J1(U.type)} ${Q}`;if(U.default)Q+=`=${J1(U.default)}`;return Q}function xJ(U){let Q=[];if(U.export)Q.push("export");Q.push("type"),Q.push(U.name);let Z=`${Q.join(" ")}${N3(U.body)}`;if(U.annotations.length)return`${U.annotations.join(`
|
|
30
45
|
`)}
|
|
31
|
-
${
|
|
46
|
+
${Z}`;return Z}function gJ(U){let Q=[];if(U.export)Q.push("export");Q.push("enum"),Q.push(U.name);let Z=`${Q.join(" ")}${N3(U.body)}`;if(U.annotations.length)return`${U.annotations.join(`
|
|
32
47
|
`)}
|
|
33
|
-
${
|
|
34
|
-
${
|
|
48
|
+
${Z}`;return Z}function fJ(U){let Q=[];if(U.export)Q.push("export");if(U.method)Q.push("method");Q.push(`${U.name}(${yT(U.args).map(yJ).join(", ")}) =>`);let Z=Q.join(" "),X=U.body,J;if(X.length===1&&X[0].kind==="Expr")J=`${Z} ${J1(X[0].value)}`;else if(!X.length)J=Z;else J=`${Z}${X.map((Y)=>`
|
|
49
|
+
${Z4(Y).replaceAll(`
|
|
35
50
|
`,`
|
|
36
|
-
`)}`).join("")}`;if(
|
|
51
|
+
`)}`).join("")}`;if(U.annotations.length)return`${U.annotations.join(`
|
|
37
52
|
`)}
|
|
38
|
-
${
|
|
53
|
+
${J}`;return J}function pJ(U){let Q=[];if(U.export)Q.push("export");if(U.mode)Q.push(U.mode.kind==="VarIp"?"varip":"var");if(U.type)Q.push(J1(U.type));Q.push(J1(U.target));let Z=Q.join(" "),X=U.value==null?Z:`${Z} = ${J1(U.value)}`;if(U.annotations.length)return`${U.annotations.join(`
|
|
39
54
|
`)}
|
|
40
|
-
${
|
|
41
|
-
`)}if(
|
|
42
|
-
`)&&!T.includes("\r")){this._addPendingToken(this._currentToken);return}let L=T.replace(CL,"$1");if(L=L.replace(PL,""),T.length===L.length)this._addPendingToken(this._currentToken);else{let I=this._currentToken.clone();this._currentToken.text=L,this._addPendingToken(this._currentToken),this._hideAndAddPendingToken(I)}}_insertTrailingTokens(){let T=this._lastPendingTokenTypeFromDefaultChannel;if(T!==this.C.NEWLINE&&T!==this.C.DEDENT)this._createAndAddPendingToken(this.C.NEWLINE,L0.DEFAULT_CHANNEL,null,this._followingToken);this._insertIndentOrDedentToken(0)}_handleEOFToken(){if(this._lastPendingTokenTypeFromDefaultChannel>0)this._insertTrailingTokens();this._addPendingToken(this._currentToken)}_reportLexerError(T,L){this.getErrorListener().syntaxError(this,L.type,L.line,L.column,T,void 0)}reset(){this._resetInternalStates(),super.reset()}}class S0 extends L2{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static OR=20;static SERIES=21;static SIMPLE=22;static SWITCH=23;static TO=24;static TYPE=25;static TRUE=26;static VAR=27;static VARIP=28;static WHILE=29;static LPAR=30;static RPAR=31;static LSQB=32;static RSQB=33;static LSHIFT=34;static RSHIFT=35;static LESSEQUAL=36;static GREATEREQUAL=37;static EQEQUAL=38;static NOTEQUAL=39;static LESS=40;static GREATER=41;static EQUAL=42;static RARROW=43;static DOT=44;static COMMA=45;static COLON=46;static QUESTION=47;static TILDE=48;static AMP=49;static PIPE=50;static CARET=51;static PLUS=52;static MINUS=53;static STAR=54;static SLASH=55;static PERCENT=56;static PLUSEQUAL=57;static MINEQUAL=58;static STAREQUAL=59;static SLASHEQUAL=60;static PERCENTEQUAL=61;static COLONEQUAL=62;static NAME=63;static NUMBER=64;static STRING=65;static COLOR=66;static NEWLINE=67;static WS=68;static COMMENT=69;static UNICODE_NOISE=70;static ERROR_TOKEN=71;static EOF=L0.EOF;static COMMENT_CHANNEL=2;static channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN","COMMENT_CHANNEL"];static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static modeNames=["DEFAULT_MODE"];static ruleNames=["AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","HASH_COMMENT","BACKTICKS","UNICODE_NOISE","ERROR_TOKEN","TRIPLE_DQ_STRING","TRIPLE_SQ_STRING","STRING_LITERAL","SINGLE_QUOTED_STRING","DOUBLE_QUOTED_STRING","STRING_ITEM_FOR_SINGLE_QUOTE","STRING_ITEM_FOR_DOUBLE_QUOTE","STRING_CHAR_NO_SINGLE_QUOTE","STRING_CHAR_NO_DOUBLE_QUOTE","STRING_ESCAPE_SEQ","COLOR_LITERAL","COLOR_LITERAL_RGBA","COLOR_LITERAL_RGB","NUMBER_LITERAL","INTEGER","DEC_INTEGER","BIN_INTEGER","OCT_INTEGER","HEX_INTEGER","NON_ZERO_DIGIT","DIGIT","BIN_DIGIT","OCT_DIGIT","HEX_DIGIT","FLOAT_NUMBER","POINT_FLOAT","EXPONENT_FLOAT","DIGIT_PART","FRACTION","EXPONENT","IMAG_NUMBER","OS_INDEPENDENT_NL","ID_START","ID_CONTINUE"];constructor(T){super(T);this._interp=new c3(this,S0._ATN,S0.DecisionsToDFA,new n6)}get grammarFileName(){return"PinescriptLexer.g4"}get literalNames(){return S0.literalNames}get symbolicNames(){return S0.symbolicNames}get ruleNames(){return S0.ruleNames}get serializedATN(){return S0._serializedATN}get channelNames(){return S0.channelNames}get modeNames(){return S0.modeNames}static _serializedATN=[4,0,71,729,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1,53,1,53,1,54,1,54,1,54,1,55,1,55,1,55,1,56,1,56,1,56,1,57,1,57,1,57,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60,5,60,434,8,60,10,60,12,60,437,9,60,1,61,1,61,1,62,1,62,1,63,1,63,1,64,1,64,1,65,4,65,448,8,65,11,65,12,65,449,1,65,1,65,1,66,1,66,1,66,1,66,5,66,458,8,66,10,66,12,66,461,9,66,1,66,1,66,1,67,1,67,1,67,5,67,468,8,67,10,67,12,67,471,9,67,1,67,1,67,5,67,475,8,67,10,67,12,67,478,9,67,3,67,480,8,67,1,67,1,67,1,67,1,68,4,68,486,8,68,11,68,12,68,487,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,510,8,71,10,71,12,71,513,9,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,532,8,72,10,72,12,72,535,9,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,3,73,545,8,73,1,74,1,74,5,74,549,8,74,10,74,12,74,552,9,74,1,74,1,74,1,75,1,75,5,75,558,8,75,10,75,12,75,561,9,75,1,75,1,75,1,76,1,76,3,76,567,8,76,1,77,1,77,3,77,571,8,77,1,78,1,78,1,79,1,79,1,80,1,80,1,80,1,81,1,81,3,81,582,8,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,3,84,605,8,84,1,85,1,85,1,85,1,85,3,85,611,8,85,1,86,1,86,3,86,615,8,86,1,86,5,86,618,8,86,10,86,12,86,621,9,86,1,86,1,86,3,86,625,8,86,1,86,5,86,628,8,86,10,86,12,86,631,9,86,3,86,633,8,86,1,87,1,87,1,87,3,87,638,8,87,1,87,4,87,641,8,87,11,87,12,87,642,1,88,1,88,1,88,3,88,648,8,88,1,88,4,88,651,8,88,11,88,12,88,652,1,89,1,89,1,89,3,89,658,8,89,1,89,4,89,661,8,89,11,89,12,89,662,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1,93,1,94,1,94,3,94,675,8,94,1,95,1,95,3,95,679,8,95,1,96,3,96,682,8,96,1,96,1,96,1,96,1,96,3,96,688,8,96,1,97,1,97,3,97,692,8,97,1,97,1,97,1,98,1,98,3,98,698,8,98,1,98,5,98,701,8,98,10,98,12,98,704,9,98,1,99,1,99,1,99,1,100,1,100,3,100,711,8,100,1,100,1,100,1,101,1,101,3,101,717,8,101,1,101,1,101,1,102,3,102,722,8,102,1,102,1,102,1,103,1,103,1,104,1,104,0,0,105,1,3,3,4,5,5,7,6,9,7,11,8,13,9,15,10,17,11,19,12,21,13,23,14,25,15,27,16,29,17,31,18,33,19,35,20,37,21,39,22,41,23,43,24,45,25,47,26,49,27,51,28,53,29,55,30,57,31,59,32,61,33,63,34,65,35,67,36,69,37,71,38,73,39,75,40,77,41,79,42,81,43,83,44,85,45,87,46,89,47,91,48,93,49,95,50,97,51,99,52,101,53,103,54,105,55,107,56,109,57,111,58,113,59,115,60,117,61,119,62,121,63,123,64,125,65,127,66,129,67,131,68,133,69,135,0,137,0,139,70,141,71,143,0,145,0,147,0,149,0,151,0,153,0,155,0,157,0,159,0,161,0,163,0,165,0,167,0,169,0,171,0,173,0,175,0,177,0,179,0,181,0,183,0,185,0,187,0,189,0,191,0,193,0,195,0,197,0,199,0,201,0,203,0,205,0,207,0,209,0,1,0,20,3,0,9,9,12,12,32,32,2,0,10,10,13,13,5,0,10,10,13,13,48,57,65,70,97,102,7,0,183,183,8211,8212,8216,8217,8220,8221,8226,8226,8592,8595,8656,8659,1,0,34,34,1,0,39,39,2,0,39,39,92,92,2,0,34,34,92,92,2,0,66,66,98,98,2,0,79,79,111,111,2,0,88,88,120,120,1,0,49,57,1,0,48,57,1,0,48,55,2,0,65,70,97,102,2,0,69,69,101,101,2,0,43,43,45,45,2,0,74,74,106,106,660,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73474,73474,73476,73488,73490,73523,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124112,124139,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,706,0,48,57,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1632,1641,1646,1647,1649,1747,1749,1749,1765,1766,1774,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1984,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2406,2415,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2534,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2662,2671,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2790,2799,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2918,2927,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3046,3055,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3174,3183,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3302,3311,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3430,3439,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3558,3567,3585,3632,3634,3635,3648,3654,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3792,3801,3804,3807,3840,3840,3872,3881,3904,3911,3913,3948,3976,3980,4096,4138,4159,4169,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4240,4249,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6112,6121,6160,6169,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6678,6688,6740,6784,6793,6800,6809,6823,6823,6917,6963,6981,6988,6992,7001,7043,7072,7086,7141,7168,7203,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43216,43225,43250,43255,43259,43259,43261,43262,43264,43301,43312,43334,43360,43388,43396,43442,43471,43481,43488,43492,43494,43518,43520,43560,43584,43586,43588,43595,43600,43609,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65296,65305,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,68912,68921,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69734,69743,69745,69746,69749,69749,69763,69807,69840,69864,69872,69881,69891,69926,69942,69951,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70096,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70384,70393,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70736,70745,70751,70753,70784,70831,70852,70853,70855,70855,70864,70873,71040,71086,71128,71131,71168,71215,71236,71236,71248,71257,71296,71338,71352,71352,71360,71369,71424,71450,71472,71481,71488,71494,71680,71723,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72016,72025,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72784,72793,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73040,73049,73056,73061,73063,73064,73066,73097,73112,73112,73120,73129,73440,73458,73474,73474,73476,73488,73490,73523,73552,73561,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92928,92975,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123200,123209,123214,123214,123536,123565,123584,123627,123632,123641,124112,124139,124144,124153,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,741,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,1,211,1,0,0,0,3,215,1,0,0,0,5,218,1,0,0,0,7,224,1,0,0,0,9,227,1,0,0,0,11,233,1,0,0,0,13,242,1,0,0,0,15,247,1,0,0,0,17,252,1,0,0,0,19,259,1,0,0,0,21,265,1,0,0,0,23,269,1,0,0,0,25,272,1,0,0,0,27,279,1,0,0,0,29,282,1,0,0,0,31,288,1,0,0,0,33,295,1,0,0,0,35,299,1,0,0,0,37,302,1,0,0,0,39,309,1,0,0,0,41,316,1,0,0,0,43,323,1,0,0,0,45,326,1,0,0,0,47,331,1,0,0,0,49,336,1,0,0,0,51,340,1,0,0,0,53,346,1,0,0,0,55,352,1,0,0,0,57,354,1,0,0,0,59,356,1,0,0,0,61,358,1,0,0,0,63,360,1,0,0,0,65,363,1,0,0,0,67,366,1,0,0,0,69,369,1,0,0,0,71,372,1,0,0,0,73,375,1,0,0,0,75,378,1,0,0,0,77,380,1,0,0,0,79,382,1,0,0,0,81,384,1,0,0,0,83,387,1,0,0,0,85,389,1,0,0,0,87,391,1,0,0,0,89,393,1,0,0,0,91,395,1,0,0,0,93,397,1,0,0,0,95,399,1,0,0,0,97,401,1,0,0,0,99,403,1,0,0,0,101,405,1,0,0,0,103,407,1,0,0,0,105,409,1,0,0,0,107,411,1,0,0,0,109,413,1,0,0,0,111,416,1,0,0,0,113,419,1,0,0,0,115,422,1,0,0,0,117,425,1,0,0,0,119,428,1,0,0,0,121,431,1,0,0,0,123,438,1,0,0,0,125,440,1,0,0,0,127,442,1,0,0,0,129,444,1,0,0,0,131,447,1,0,0,0,133,453,1,0,0,0,135,464,1,0,0,0,137,485,1,0,0,0,139,492,1,0,0,0,141,496,1,0,0,0,143,498,1,0,0,0,145,520,1,0,0,0,147,544,1,0,0,0,149,546,1,0,0,0,151,555,1,0,0,0,153,566,1,0,0,0,155,570,1,0,0,0,157,572,1,0,0,0,159,574,1,0,0,0,161,576,1,0,0,0,163,581,1,0,0,0,165,583,1,0,0,0,167,593,1,0,0,0,169,604,1,0,0,0,171,610,1,0,0,0,173,632,1,0,0,0,175,634,1,0,0,0,177,644,1,0,0,0,179,654,1,0,0,0,181,664,1,0,0,0,183,666,1,0,0,0,185,668,1,0,0,0,187,670,1,0,0,0,189,674,1,0,0,0,191,678,1,0,0,0,193,687,1,0,0,0,195,691,1,0,0,0,197,695,1,0,0,0,199,705,1,0,0,0,201,708,1,0,0,0,203,716,1,0,0,0,205,721,1,0,0,0,207,725,1,0,0,0,209,727,1,0,0,0,211,212,5,97,0,0,212,213,5,110,0,0,213,214,5,100,0,0,214,2,1,0,0,0,215,216,5,97,0,0,216,217,5,115,0,0,217,4,1,0,0,0,218,219,5,98,0,0,219,220,5,114,0,0,220,221,5,101,0,0,221,222,5,97,0,0,222,223,5,107,0,0,223,6,1,0,0,0,224,225,5,98,0,0,225,226,5,121,0,0,226,8,1,0,0,0,227,228,5,99,0,0,228,229,5,111,0,0,229,230,5,110,0,0,230,231,5,115,0,0,231,232,5,116,0,0,232,10,1,0,0,0,233,234,5,99,0,0,234,235,5,111,0,0,235,236,5,110,0,0,236,237,5,116,0,0,237,238,5,105,0,0,238,239,5,110,0,0,239,240,5,117,0,0,240,241,5,101,0,0,241,12,1,0,0,0,242,243,5,101,0,0,243,244,5,108,0,0,244,245,5,115,0,0,245,246,5,101,0,0,246,14,1,0,0,0,247,248,5,101,0,0,248,249,5,110,0,0,249,250,5,117,0,0,250,251,5,109,0,0,251,16,1,0,0,0,252,253,5,101,0,0,253,254,5,120,0,0,254,255,5,112,0,0,255,256,5,111,0,0,256,257,5,114,0,0,257,258,5,116,0,0,258,18,1,0,0,0,259,260,5,102,0,0,260,261,5,97,0,0,261,262,5,108,0,0,262,263,5,115,0,0,263,264,5,101,0,0,264,20,1,0,0,0,265,266,5,102,0,0,266,267,5,111,0,0,267,268,5,114,0,0,268,22,1,0,0,0,269,270,5,105,0,0,270,271,5,102,0,0,271,24,1,0,0,0,272,273,5,105,0,0,273,274,5,109,0,0,274,275,5,112,0,0,275,276,5,111,0,0,276,277,5,114,0,0,277,278,5,116,0,0,278,26,1,0,0,0,279,280,5,105,0,0,280,281,5,110,0,0,281,28,1,0,0,0,282,283,5,105,0,0,283,284,5,110,0,0,284,285,5,112,0,0,285,286,5,117,0,0,286,287,5,116,0,0,287,30,1,0,0,0,288,289,5,109,0,0,289,290,5,101,0,0,290,291,5,116,0,0,291,292,5,104,0,0,292,293,5,111,0,0,293,294,5,100,0,0,294,32,1,0,0,0,295,296,5,110,0,0,296,297,5,111,0,0,297,298,5,116,0,0,298,34,1,0,0,0,299,300,5,111,0,0,300,301,5,114,0,0,301,36,1,0,0,0,302,303,5,115,0,0,303,304,5,101,0,0,304,305,5,114,0,0,305,306,5,105,0,0,306,307,5,101,0,0,307,308,5,115,0,0,308,38,1,0,0,0,309,310,5,115,0,0,310,311,5,105,0,0,311,312,5,109,0,0,312,313,5,112,0,0,313,314,5,108,0,0,314,315,5,101,0,0,315,40,1,0,0,0,316,317,5,115,0,0,317,318,5,119,0,0,318,319,5,105,0,0,319,320,5,116,0,0,320,321,5,99,0,0,321,322,5,104,0,0,322,42,1,0,0,0,323,324,5,116,0,0,324,325,5,111,0,0,325,44,1,0,0,0,326,327,5,116,0,0,327,328,5,121,0,0,328,329,5,112,0,0,329,330,5,101,0,0,330,46,1,0,0,0,331,332,5,116,0,0,332,333,5,114,0,0,333,334,5,117,0,0,334,335,5,101,0,0,335,48,1,0,0,0,336,337,5,118,0,0,337,338,5,97,0,0,338,339,5,114,0,0,339,50,1,0,0,0,340,341,5,118,0,0,341,342,5,97,0,0,342,343,5,114,0,0,343,344,5,105,0,0,344,345,5,112,0,0,345,52,1,0,0,0,346,347,5,119,0,0,347,348,5,104,0,0,348,349,5,105,0,0,349,350,5,108,0,0,350,351,5,101,0,0,351,54,1,0,0,0,352,353,5,40,0,0,353,56,1,0,0,0,354,355,5,41,0,0,355,58,1,0,0,0,356,357,5,91,0,0,357,60,1,0,0,0,358,359,5,93,0,0,359,62,1,0,0,0,360,361,5,60,0,0,361,362,5,60,0,0,362,64,1,0,0,0,363,364,5,62,0,0,364,365,5,62,0,0,365,66,1,0,0,0,366,367,5,60,0,0,367,368,5,61,0,0,368,68,1,0,0,0,369,370,5,62,0,0,370,371,5,61,0,0,371,70,1,0,0,0,372,373,5,61,0,0,373,374,5,61,0,0,374,72,1,0,0,0,375,376,5,33,0,0,376,377,5,61,0,0,377,74,1,0,0,0,378,379,5,60,0,0,379,76,1,0,0,0,380,381,5,62,0,0,381,78,1,0,0,0,382,383,5,61,0,0,383,80,1,0,0,0,384,385,5,61,0,0,385,386,5,62,0,0,386,82,1,0,0,0,387,388,5,46,0,0,388,84,1,0,0,0,389,390,5,44,0,0,390,86,1,0,0,0,391,392,5,58,0,0,392,88,1,0,0,0,393,394,5,63,0,0,394,90,1,0,0,0,395,396,5,126,0,0,396,92,1,0,0,0,397,398,5,38,0,0,398,94,1,0,0,0,399,400,5,124,0,0,400,96,1,0,0,0,401,402,5,94,0,0,402,98,1,0,0,0,403,404,5,43,0,0,404,100,1,0,0,0,405,406,5,45,0,0,406,102,1,0,0,0,407,408,5,42,0,0,408,104,1,0,0,0,409,410,5,47,0,0,410,106,1,0,0,0,411,412,5,37,0,0,412,108,1,0,0,0,413,414,5,43,0,0,414,415,5,61,0,0,415,110,1,0,0,0,416,417,5,45,0,0,417,418,5,61,0,0,418,112,1,0,0,0,419,420,5,42,0,0,420,421,5,61,0,0,421,114,1,0,0,0,422,423,5,47,0,0,423,424,5,61,0,0,424,116,1,0,0,0,425,426,5,37,0,0,426,427,5,61,0,0,427,118,1,0,0,0,428,429,5,58,0,0,429,430,5,61,0,0,430,120,1,0,0,0,431,435,3,207,103,0,432,434,3,209,104,0,433,432,1,0,0,0,434,437,1,0,0,0,435,433,1,0,0,0,435,436,1,0,0,0,436,122,1,0,0,0,437,435,1,0,0,0,438,439,3,169,84,0,439,124,1,0,0,0,440,441,3,147,73,0,441,126,1,0,0,0,442,443,3,163,81,0,443,128,1,0,0,0,444,445,3,205,102,0,445,130,1,0,0,0,446,448,7,0,0,0,447,446,1,0,0,0,448,449,1,0,0,0,449,447,1,0,0,0,449,450,1,0,0,0,450,451,1,0,0,0,451,452,6,65,0,0,452,132,1,0,0,0,453,454,5,47,0,0,454,455,5,47,0,0,455,459,1,0,0,0,456,458,8,1,0,0,457,456,1,0,0,0,458,461,1,0,0,0,459,457,1,0,0,0,459,460,1,0,0,0,460,462,1,0,0,0,461,459,1,0,0,0,462,463,6,66,1,0,463,134,1,0,0,0,464,479,5,35,0,0,465,469,7,0,0,0,466,468,8,1,0,0,467,466,1,0,0,0,468,471,1,0,0,0,469,467,1,0,0,0,469,470,1,0,0,0,470,480,1,0,0,0,471,469,1,0,0,0,472,476,8,2,0,0,473,475,8,1,0,0,474,473,1,0,0,0,475,478,1,0,0,0,476,474,1,0,0,0,476,477,1,0,0,0,477,480,1,0,0,0,478,476,1,0,0,0,479,465,1,0,0,0,479,472,1,0,0,0,480,481,1,0,0,0,481,482,6,67,2,0,482,483,6,67,1,0,483,136,1,0,0,0,484,486,5,96,0,0,485,484,1,0,0,0,486,487,1,0,0,0,487,485,1,0,0,0,487,488,1,0,0,0,488,489,1,0,0,0,489,490,6,68,2,0,490,491,6,68,1,0,491,138,1,0,0,0,492,493,7,3,0,0,493,494,1,0,0,0,494,495,6,69,0,0,495,140,1,0,0,0,496,497,9,0,0,0,497,142,1,0,0,0,498,499,5,34,0,0,499,500,5,34,0,0,500,501,5,34,0,0,501,511,1,0,0,0,502,510,8,4,0,0,503,504,5,34,0,0,504,510,8,4,0,0,505,506,5,34,0,0,506,507,5,34,0,0,507,508,1,0,0,0,508,510,8,4,0,0,509,502,1,0,0,0,509,503,1,0,0,0,509,505,1,0,0,0,510,513,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,514,1,0,0,0,513,511,1,0,0,0,514,515,5,34,0,0,515,516,5,34,0,0,516,517,5,34,0,0,517,518,1,0,0,0,518,519,6,71,3,0,519,144,1,0,0,0,520,521,5,39,0,0,521,522,5,39,0,0,522,523,5,39,0,0,523,533,1,0,0,0,524,532,8,5,0,0,525,526,5,39,0,0,526,532,8,5,0,0,527,528,5,39,0,0,528,529,5,39,0,0,529,530,1,0,0,0,530,532,8,5,0,0,531,524,1,0,0,0,531,525,1,0,0,0,531,527,1,0,0,0,532,535,1,0,0,0,533,531,1,0,0,0,533,534,1,0,0,0,534,536,1,0,0,0,535,533,1,0,0,0,536,537,5,39,0,0,537,538,5,39,0,0,538,539,5,39,0,0,539,540,1,0,0,0,540,541,6,72,3,0,541,146,1,0,0,0,542,545,3,149,74,0,543,545,3,151,75,0,544,542,1,0,0,0,544,543,1,0,0,0,545,148,1,0,0,0,546,550,5,39,0,0,547,549,3,153,76,0,548,547,1,0,0,0,549,552,1,0,0,0,550,548,1,0,0,0,550,551,1,0,0,0,551,553,1,0,0,0,552,550,1,0,0,0,553,554,5,39,0,0,554,150,1,0,0,0,555,559,5,34,0,0,556,558,3,155,77,0,557,556,1,0,0,0,558,561,1,0,0,0,559,557,1,0,0,0,559,560,1,0,0,0,560,562,1,0,0,0,561,559,1,0,0,0,562,563,5,34,0,0,563,152,1,0,0,0,564,567,3,157,78,0,565,567,3,161,80,0,566,564,1,0,0,0,566,565,1,0,0,0,567,154,1,0,0,0,568,571,3,159,79,0,569,571,3,161,80,0,570,568,1,0,0,0,570,569,1,0,0,0,571,156,1,0,0,0,572,573,8,6,0,0,573,158,1,0,0,0,574,575,8,7,0,0,575,160,1,0,0,0,576,577,5,92,0,0,577,578,9,0,0,0,578,162,1,0,0,0,579,582,3,165,82,0,580,582,3,167,83,0,581,579,1,0,0,0,581,580,1,0,0,0,582,164,1,0,0,0,583,584,5,35,0,0,584,585,3,189,94,0,585,586,3,189,94,0,586,587,3,189,94,0,587,588,3,189,94,0,588,589,3,189,94,0,589,590,3,189,94,0,590,591,3,189,94,0,591,592,3,189,94,0,592,166,1,0,0,0,593,594,5,35,0,0,594,595,3,189,94,0,595,596,3,189,94,0,596,597,3,189,94,0,597,598,3,189,94,0,598,599,3,189,94,0,599,600,3,189,94,0,600,168,1,0,0,0,601,605,3,171,85,0,602,605,3,191,95,0,603,605,3,203,101,0,604,601,1,0,0,0,604,602,1,0,0,0,604,603,1,0,0,0,605,170,1,0,0,0,606,611,3,173,86,0,607,611,3,175,87,0,608,611,3,177,88,0,609,611,3,179,89,0,610,606,1,0,0,0,610,607,1,0,0,0,610,608,1,0,0,0,610,609,1,0,0,0,611,172,1,0,0,0,612,619,3,181,90,0,613,615,5,95,0,0,614,613,1,0,0,0,614,615,1,0,0,0,615,616,1,0,0,0,616,618,3,183,91,0,617,614,1,0,0,0,618,621,1,0,0,0,619,617,1,0,0,0,619,620,1,0,0,0,620,633,1,0,0,0,621,619,1,0,0,0,622,629,5,48,0,0,623,625,5,95,0,0,624,623,1,0,0,0,624,625,1,0,0,0,625,626,1,0,0,0,626,628,3,183,91,0,627,624,1,0,0,0,628,631,1,0,0,0,629,627,1,0,0,0,629,630,1,0,0,0,630,633,1,0,0,0,631,629,1,0,0,0,632,612,1,0,0,0,632,622,1,0,0,0,633,174,1,0,0,0,634,635,5,48,0,0,635,640,7,8,0,0,636,638,5,95,0,0,637,636,1,0,0,0,637,638,1,0,0,0,638,639,1,0,0,0,639,641,3,185,92,0,640,637,1,0,0,0,641,642,1,0,0,0,642,640,1,0,0,0,642,643,1,0,0,0,643,176,1,0,0,0,644,645,5,48,0,0,645,650,7,9,0,0,646,648,5,95,0,0,647,646,1,0,0,0,647,648,1,0,0,0,648,649,1,0,0,0,649,651,3,187,93,0,650,647,1,0,0,0,651,652,1,0,0,0,652,650,1,0,0,0,652,653,1,0,0,0,653,178,1,0,0,0,654,655,5,48,0,0,655,660,7,10,0,0,656,658,5,95,0,0,657,656,1,0,0,0,657,658,1,0,0,0,658,659,1,0,0,0,659,661,3,189,94,0,660,657,1,0,0,0,661,662,1,0,0,0,662,660,1,0,0,0,662,663,1,0,0,0,663,180,1,0,0,0,664,665,7,11,0,0,665,182,1,0,0,0,666,667,7,12,0,0,667,184,1,0,0,0,668,669,2,48,49,0,669,186,1,0,0,0,670,671,7,13,0,0,671,188,1,0,0,0,672,675,3,183,91,0,673,675,7,14,0,0,674,672,1,0,0,0,674,673,1,0,0,0,675,190,1,0,0,0,676,679,3,193,96,0,677,679,3,195,97,0,678,676,1,0,0,0,678,677,1,0,0,0,679,192,1,0,0,0,680,682,3,197,98,0,681,680,1,0,0,0,681,682,1,0,0,0,682,683,1,0,0,0,683,688,3,199,99,0,684,685,3,197,98,0,685,686,5,46,0,0,686,688,1,0,0,0,687,681,1,0,0,0,687,684,1,0,0,0,688,194,1,0,0,0,689,692,3,197,98,0,690,692,3,193,96,0,691,689,1,0,0,0,691,690,1,0,0,0,692,693,1,0,0,0,693,694,3,201,100,0,694,196,1,0,0,0,695,702,3,183,91,0,696,698,5,95,0,0,697,696,1,0,0,0,697,698,1,0,0,0,698,699,1,0,0,0,699,701,3,183,91,0,700,697,1,0,0,0,701,704,1,0,0,0,702,700,1,0,0,0,702,703,1,0,0,0,703,198,1,0,0,0,704,702,1,0,0,0,705,706,5,46,0,0,706,707,3,197,98,0,707,200,1,0,0,0,708,710,7,15,0,0,709,711,7,16,0,0,710,709,1,0,0,0,710,711,1,0,0,0,711,712,1,0,0,0,712,713,3,197,98,0,713,202,1,0,0,0,714,717,3,191,95,0,715,717,3,197,98,0,716,714,1,0,0,0,716,715,1,0,0,0,717,718,1,0,0,0,718,719,7,17,0,0,719,204,1,0,0,0,720,722,5,13,0,0,721,720,1,0,0,0,721,722,1,0,0,0,722,723,1,0,0,0,723,724,5,10,0,0,724,206,1,0,0,0,725,726,7,18,0,0,726,208,1,0,0,0,727,728,7,19,0,0,728,210,1,0,0,0,41,0,435,449,459,469,476,479,487,509,511,531,533,544,550,559,566,570,581,604,610,614,619,624,629,632,637,642,647,652,657,662,674,678,681,687,691,697,702,710,716,721,4,0,1,0,0,2,0,7,69,0,7,65,0];static __ATN;static get _ATN(){if(!S0.__ATN)S0.__ATN=new s6().deserialize(S0._serializedATN);return S0.__ATN}static DecisionsToDFA=S0._ATN.decisionToState.map((T,L)=>new a6(T,L))}class I2 extends d3{constructor(T){super(T)}isEqualToCurrentTokenText(T){return this.getCurrentToken().text===T}isNotEqualToCurrentTokenText(T){return!this.isEqualToCurrentTokenText(T)}}class S extends I2{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static OR=20;static SERIES=21;static SIMPLE=22;static SWITCH=23;static TO=24;static TYPE=25;static TRUE=26;static VAR=27;static VARIP=28;static WHILE=29;static LPAR=30;static RPAR=31;static LSQB=32;static RSQB=33;static LSHIFT=34;static RSHIFT=35;static LESSEQUAL=36;static GREATEREQUAL=37;static EQEQUAL=38;static NOTEQUAL=39;static LESS=40;static GREATER=41;static EQUAL=42;static RARROW=43;static DOT=44;static COMMA=45;static COLON=46;static QUESTION=47;static TILDE=48;static AMP=49;static PIPE=50;static CARET=51;static PLUS=52;static MINUS=53;static STAR=54;static SLASH=55;static PERCENT=56;static PLUSEQUAL=57;static MINEQUAL=58;static STAREQUAL=59;static SLASHEQUAL=60;static PERCENTEQUAL=61;static COLONEQUAL=62;static NAME=63;static NUMBER=64;static STRING=65;static COLOR=66;static NEWLINE=67;static WS=68;static COMMENT=69;static UNICODE_NOISE=70;static ERROR_TOKEN=71;static EOF=L0.EOF;static RULE_start=0;static RULE_start_script=1;static RULE_start_expression=2;static RULE_start_comments=3;static RULE_statements=4;static RULE_statement=5;static RULE_compound_statement=6;static RULE_simple_statements=7;static RULE_trailing_structure_statements=8;static RULE_simple_statement=9;static RULE_compound_assignment=10;static RULE_compound_variable_initialization=11;static RULE_compound_name_initialization=12;static RULE_compound_tuple_initialization=13;static RULE_compound_reassignment=14;static RULE_compound_augassignment=15;static RULE_function_declaration=16;static RULE_parameter_list=17;static RULE_parameter_definition=18;static RULE_method_declaration=19;static RULE_method_parameter_list=20;static RULE_method_parameter_definition=21;static RULE_type_declaration=22;static RULE_field_definitions=23;static RULE_field_definition=24;static RULE_enum_declaration=25;static RULE_enum_definitions=26;static RULE_enum_definition=27;static RULE_structure=28;static RULE_structure_statement=29;static RULE_structure_expression=30;static RULE_if_structure=31;static RULE_elif_structure=32;static RULE_if_tail=33;static RULE_else_block=34;static RULE_for_structure=35;static RULE_for_structure_to=36;static RULE_for_structure_in=37;static RULE_for_iterator=38;static RULE_while_structure=39;static RULE_switch_structure=40;static RULE_switch_cases=41;static RULE_switch_pattern_case=42;static RULE_switch_default_case=43;static RULE_local_block=44;static RULE_indented_local_block=45;static RULE_inline_local_block=46;static RULE_simple_assignment=47;static RULE_simple_variable_initialization=48;static RULE_simple_name_initialization=49;static RULE_simple_tuple_initialization=50;static RULE_simple_reassignment=51;static RULE_simple_augassignment=52;static RULE_expression=53;static RULE_expression_statement=54;static RULE_conditional_expression=55;static RULE_disjunction_expression=56;static RULE_conjunction_expression=57;static RULE_bitwise_or_expression=58;static RULE_bitwise_xor_expression=59;static RULE_bitwise_and_expression=60;static RULE_equality_expression=61;static RULE_equality_trailing_pair=62;static RULE_equal_trailing_pair=63;static RULE_not_equal_trailing_pair=64;static RULE_inequality_expression=65;static RULE_inequality_trailing_pair=66;static RULE_less_than_equal_trailing_pair=67;static RULE_less_than_trailing_pair=68;static RULE_greater_than_equal_trailing_pair=69;static RULE_greater_than_trailing_pair=70;static RULE_shift_expression=71;static RULE_shift_op=72;static RULE_additive_expression=73;static RULE_additive_op=74;static RULE_multiplicative_expression=75;static RULE_multiplicative_op=76;static RULE_unary_expression=77;static RULE_unary_op=78;static RULE_primary_expression=79;static RULE_argument_list=80;static RULE_argument_definition=81;static RULE_subscript_slice=82;static RULE_atomic_expression=83;static RULE_literal_expression=84;static RULE_literal_number=85;static RULE_literal_string=86;static RULE_literal_bool=87;static RULE_literal_color=88;static RULE_grouped_expression=89;static RULE_tuple_expression=90;static RULE_import_statement=91;static RULE_break_statement=92;static RULE_continue_statement=93;static RULE_variable_declaration=94;static RULE_tuple_declaration=95;static RULE_declaration_mode=96;static RULE_assignment_target=97;static RULE_assignment_target_attribute=98;static RULE_assignment_target_subscript=99;static RULE_assignment_target_name=100;static RULE_assignment_target_group=101;static RULE_augassign_op=102;static RULE_type_specification=103;static RULE_type_qualifier=104;static RULE_attributed_type_name=105;static RULE_template_spec_suffix=106;static RULE_array_type_suffix=107;static RULE_type_argument_list=108;static RULE_name=109;static RULE_name_load=110;static RULE_name_store=111;static RULE_comments=112;static RULE_comment=113;static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static ruleNames=["start","start_script","start_expression","start_comments","statements","statement","compound_statement","simple_statements","trailing_structure_statements","simple_statement","compound_assignment","compound_variable_initialization","compound_name_initialization","compound_tuple_initialization","compound_reassignment","compound_augassignment","function_declaration","parameter_list","parameter_definition","method_declaration","method_parameter_list","method_parameter_definition","type_declaration","field_definitions","field_definition","enum_declaration","enum_definitions","enum_definition","structure","structure_statement","structure_expression","if_structure","elif_structure","if_tail","else_block","for_structure","for_structure_to","for_structure_in","for_iterator","while_structure","switch_structure","switch_cases","switch_pattern_case","switch_default_case","local_block","indented_local_block","inline_local_block","simple_assignment","simple_variable_initialization","simple_name_initialization","simple_tuple_initialization","simple_reassignment","simple_augassignment","expression","expression_statement","conditional_expression","disjunction_expression","conjunction_expression","bitwise_or_expression","bitwise_xor_expression","bitwise_and_expression","equality_expression","equality_trailing_pair","equal_trailing_pair","not_equal_trailing_pair","inequality_expression","inequality_trailing_pair","less_than_equal_trailing_pair","less_than_trailing_pair","greater_than_equal_trailing_pair","greater_than_trailing_pair","shift_expression","shift_op","additive_expression","additive_op","multiplicative_expression","multiplicative_op","unary_expression","unary_op","primary_expression","argument_list","argument_definition","subscript_slice","atomic_expression","literal_expression","literal_number","literal_string","literal_bool","literal_color","grouped_expression","tuple_expression","import_statement","break_statement","continue_statement","variable_declaration","tuple_declaration","declaration_mode","assignment_target","assignment_target_attribute","assignment_target_subscript","assignment_target_name","assignment_target_group","augassign_op","type_specification","type_qualifier","attributed_type_name","template_spec_suffix","array_type_suffix","type_argument_list","name","name_load","name_store","comments","comment"];get grammarFileName(){return"PinescriptParser.g4"}get literalNames(){return S.literalNames}get symbolicNames(){return S.symbolicNames}get ruleNames(){return S.ruleNames}get serializedATN(){return S._serializedATN}createFailedPredicateException(T,L){return new p3(this,T,L)}constructor(T){super(T);this._interp=new l3(this,S._ATN,S.DecisionsToDFA,new n6)}start(){let T=new a8(this,this._ctx,this.state);this.enterRule(T,0,S.RULE_start);try{this.enterOuterAlt(T,1),this.state=228,this.start_script()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}start_script(){let T=new p4(this,this._ctx,this.state);this.enterRule(T,2,S.RULE_start_script);let L;try{this.enterOuterAlt(T,1);{if(this.state=231,this._errHandler.sync(this),L=this._input.LA(1),(L-4&-32)===0&&(1<<L-4&402583519)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0)this.state=230,this.statements();this.state=233,this.match(S.EOF)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}start_expression(){let T=new n8(this,this._ctx,this.state);this.enterRule(T,4,S.RULE_start_expression);let L;try{this.enterOuterAlt(T,1);{if(this.state=235,this.expression(),this.state=237,this._errHandler.sync(this),L=this._input.LA(1),L===67)this.state=236,this.match(S.NEWLINE);this.state=239,this.match(S.EOF)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}start_comments(){let T=new t8(this,this._ctx,this.state);this.enterRule(T,6,S.RULE_start_comments);let L;try{this.enterOuterAlt(T,1);{if(this.state=242,this._errHandler.sync(this),L=this._input.LA(1),L===69)this.state=241,this.comments();this.state=244,this.match(S.EOF)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}statements(){let T=new Z2(this,this._ctx,this.state);this.enterRule(T,8,S.RULE_statements);let L;try{this.enterOuterAlt(T,1);{this.state=247,this._errHandler.sync(this),L=this._input.LA(1);do this.state=246,this.statement(),this.state=249,this._errHandler.sync(this),L=this._input.LA(1);while((L-4&-32)===0&&(1<<L-4&402583519)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}statement(){let T=new I6(this,this._ctx,this.state);this.enterRule(T,10,S.RULE_statement);try{switch(this.state=254,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,4,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=251,this.compound_statement();break;case 2:this.enterOuterAlt(T,2),this.state=252,this.simple_statements();break;case 3:this.enterOuterAlt(T,3),this.state=253,this.trailing_structure_statements();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_statement(){let T=new x4(this,this._ctx,this.state);this.enterRule(T,12,S.RULE_compound_statement);try{switch(this.state=262,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,5,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=256,this.compound_assignment();break;case 2:this.enterOuterAlt(T,2),this.state=257,this.type_declaration();break;case 3:this.enterOuterAlt(T,3),this.state=258,this.enum_declaration();break;case 4:this.enterOuterAlt(T,4),this.state=259,this.structure_statement();break;case 5:this.enterOuterAlt(T,5),this.state=260,this.method_declaration();break;case 6:this.enterOuterAlt(T,6),this.state=261,this.function_declaration();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_statements(){let T=new c4(this,this._ctx,this.state);this.enterRule(T,14,S.RULE_simple_statements);let L;try{let I;this.enterOuterAlt(T,1);{this.state=264,this.simple_statement(),this.state=269,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,6,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=265,this.match(S.COMMA),this.state=266,this.simple_statement();this.state=271,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,6,this._ctx)}if(this.state=273,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=272,this.match(S.COMMA);this.state=275,this.match(S.NEWLINE)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}trailing_structure_statements(){let T=new m4(this,this._ctx,this.state);this.enterRule(T,16,S.RULE_trailing_structure_statements);try{let L;this.enterOuterAlt(T,1);{this.state=277,this.simple_statement(),this.state=282,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,8,this._ctx);while(L!==2&&L!==U0.INVALID_ALT_NUMBER){if(L===1)this.state=278,this.match(S.COMMA),this.state=279,this.simple_statement();this.state=284,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,8,this._ctx)}this.state=285,this.match(S.COMMA),this.state=286,this.structure()}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_statement(){let T=new y1(this,this._ctx,this.state);this.enterRule(T,18,S.RULE_simple_statement);try{switch(this.state=293,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,9,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=288,this.simple_assignment();break;case 2:this.enterOuterAlt(T,2),this.state=289,this.expression_statement();break;case 3:this.enterOuterAlt(T,3),this.state=290,this.import_statement();break;case 4:this.enterOuterAlt(T,4),this.state=291,this.break_statement();break;case 5:this.enterOuterAlt(T,5),this.state=292,this.continue_statement();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_assignment(){let T=new d4(this,this._ctx,this.state);this.enterRule(T,20,S.RULE_compound_assignment);try{switch(this.state=298,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,10,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=295,this.compound_variable_initialization();break;case 2:this.enterOuterAlt(T,2),this.state=296,this.compound_reassignment();break;case 3:this.enterOuterAlt(T,3),this.state=297,this.compound_augassignment();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_variable_initialization(){let T=new l4(this,this._ctx,this.state);this.enterRule(T,22,S.RULE_compound_variable_initialization);try{switch(this.state=302,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 21:case 22:case 24:case 25:case 27:case 28:case 63:this.enterOuterAlt(T,1),this.state=300,this.compound_name_initialization();break;case 32:this.enterOuterAlt(T,2),this.state=301,this.compound_tuple_initialization();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_name_initialization(){let T=new o4(this,this._ctx,this.state);this.enterRule(T,24,S.RULE_compound_name_initialization);let L;try{this.enterOuterAlt(T,1);{if(this.state=305,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=304,this.match(S.EXPORT);this.state=307,this.variable_declaration(),this.state=308,this.match(S.EQUAL),this.state=309,this.structure_expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}compound_tuple_initialization(){let T=new v4(this,this._ctx,this.state);this.enterRule(T,26,S.RULE_compound_tuple_initialization);try{this.enterOuterAlt(T,1),this.state=311,this.tuple_declaration(),this.state=312,this.match(S.EQUAL),this.state=313,this.structure_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_reassignment(){let T=new i4(this,this._ctx,this.state);this.enterRule(T,28,S.RULE_compound_reassignment);try{this.enterOuterAlt(T,1),this.state=315,this.primary_expression(0),this.state=316,this.match(S.COLONEQUAL),this.state=317,this.structure_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_augassignment(){let T=new r4(this,this._ctx,this.state);this.enterRule(T,30,S.RULE_compound_augassignment);try{this.enterOuterAlt(T,1),this.state=319,this.primary_expression(0),this.state=320,this.augassign_op(),this.state=321,this.structure_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}function_declaration(){let T=new s4(this,this._ctx,this.state);this.enterRule(T,32,S.RULE_function_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=324,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=323,this.match(S.EXPORT);switch(this.state=327,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,14,this._ctx)){case 1:this.state=326,this.type_specification();break}if(this.state=329,this.name(),this.state=330,this.match(S.LPAR),this.state=332,this._errHandler.sync(this),L=this._input.LA(1),(L&-32)===0&&(1<<L&57017552)!==0||L===63)this.state=331,this.parameter_list();this.state=334,this.match(S.RPAR),this.state=335,this.match(S.RARROW),this.state=336,this.local_block()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}parameter_list(){let T=new a4(this,this._ctx,this.state);this.enterRule(T,34,S.RULE_parameter_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=338,this.parameter_definition(),this.state=343,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,16,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=339,this.match(S.COMMA),this.state=340,this.parameter_definition();this.state=345,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,16,this._ctx)}if(this.state=347,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=346,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}parameter_definition(){let T=new _6(this,this._ctx,this.state);this.enterRule(T,36,S.RULE_parameter_definition);let L;try{this.enterOuterAlt(T,1);{switch(this.state=350,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,18,this._ctx)){case 1:this.state=349,this.type_specification();break}if(this.state=352,this.name_store(),this.state=355,this._errHandler.sync(this),L=this._input.LA(1),L===42)this.state=353,this.match(S.EQUAL),this.state=354,this.expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}method_declaration(){let T=new n4(this,this._ctx,this.state);this.enterRule(T,38,S.RULE_method_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=358,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=357,this.match(S.EXPORT);switch(this.state=360,this.match(S.METHOD),this.state=362,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,21,this._ctx)){case 1:this.state=361,this.type_specification();break}if(this.state=364,this.name(),this.state=365,this.match(S.LPAR),this.state=367,this._errHandler.sync(this),L=this._input.LA(1),(L&-32)===0&&(1<<L&57017552)!==0||L===63)this.state=366,this.method_parameter_list();this.state=369,this.match(S.RPAR),this.state=370,this.match(S.RARROW),this.state=371,this.local_block()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}method_parameter_list(){let T=new t4(this,this._ctx,this.state);this.enterRule(T,40,S.RULE_method_parameter_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=373,this.method_parameter_definition(),this.state=378,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,23,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=374,this.match(S.COMMA),this.state=375,this.method_parameter_definition();this.state=380,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,23,this._ctx)}if(this.state=382,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=381,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}method_parameter_definition(){let T=new _2(this,this._ctx,this.state);this.enterRule(T,42,S.RULE_method_parameter_definition);try{switch(this.state=388,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,25,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=384,this.type_specification(),this.state=385,this.name_store();break;case 2:this.enterOuterAlt(T,2),this.state=387,this.parameter_definition();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}type_declaration(){let T=new e4(this,this._ctx,this.state);this.enterRule(T,44,S.RULE_type_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=391,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=390,this.match(S.EXPORT);this.state=393,this.match(S.TYPE),this.state=394,this.name(),this.state=395,this.match(S.NEWLINE),this.state=396,this.match(S.INDENT),this.state=397,this.field_definitions(),this.state=398,this.match(S.DEDENT)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}field_definitions(){let T=new T7(this,this._ctx,this.state);this.enterRule(T,46,S.RULE_field_definitions);let L;try{this.enterOuterAlt(T,1);{this.state=401,this._errHandler.sync(this),L=this._input.LA(1);do this.state=400,this.field_definition(),this.state=403,this._errHandler.sync(this),L=this._input.LA(1);while((L&-32)===0&&(1<<L&325453008)!==0||L===63)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}field_definition(){let T=new R2(this,this._ctx,this.state);this.enterRule(T,48,S.RULE_field_definition);let L;try{this.enterOuterAlt(T,1);{if(this.state=406,this._errHandler.sync(this),L=this._input.LA(1),L===28)this.state=405,this.match(S.VARIP);if(this.state=408,this.type_specification(),this.state=409,this.name_store(),this.state=412,this._errHandler.sync(this),L=this._input.LA(1),L===42)this.state=410,this.match(S.EQUAL),this.state=411,this.expression();this.state=414,this.match(S.NEWLINE)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}enum_declaration(){let T=new L7(this,this._ctx,this.state);this.enterRule(T,50,S.RULE_enum_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=417,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=416,this.match(S.EXPORT);this.state=419,this.match(S.ENUM),this.state=420,this.name(),this.state=421,this.match(S.NEWLINE),this.state=422,this.match(S.INDENT),this.state=423,this.enum_definitions(),this.state=424,this.match(S.DEDENT)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}enum_definitions(){let T=new I7(this,this._ctx,this.state);this.enterRule(T,52,S.RULE_enum_definitions);let L;try{this.enterOuterAlt(T,1);{this.state=427,this._errHandler.sync(this),L=this._input.LA(1);do this.state=426,this.enum_definition(),this.state=429,this._errHandler.sync(this),L=this._input.LA(1);while((L&-32)===0&&(1<<L&57017552)!==0||L===63)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}enum_definition(){let T=new $2(this,this._ctx,this.state);this.enterRule(T,54,S.RULE_enum_definition);let L;try{this.enterOuterAlt(T,1);{if(this.state=431,this.name_store(),this.state=434,this._errHandler.sync(this),L=this._input.LA(1),L===42)this.state=432,this.match(S.EQUAL),this.state=433,this.expression();this.state=436,this.match(S.NEWLINE)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}structure(){let T=new U6(this,this._ctx,this.state);this.enterRule(T,56,S.RULE_structure);try{switch(this.state=442,this._errHandler.sync(this),this._input.LA(1)){case 14:this.enterOuterAlt(T,1),this.state=438,this.if_structure();break;case 13:this.enterOuterAlt(T,2),this.state=439,this.for_structure();break;case 29:this.enterOuterAlt(T,3),this.state=440,this.while_structure();break;case 23:this.enterOuterAlt(T,4),this.state=441,this.switch_structure();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}structure_statement(){let T=new _7(this,this._ctx,this.state);this.enterRule(T,58,S.RULE_structure_statement);try{this.enterOuterAlt(T,1),this.state=444,this.structure()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}structure_expression(){let T=new w1(this,this._ctx,this.state);this.enterRule(T,60,S.RULE_structure_expression);try{this.enterOuterAlt(T,1),this.state=446,this.structure()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}if_structure(){let T=new R7(this,this._ctx,this.state);this.enterRule(T,62,S.RULE_if_structure);try{switch(this.enterOuterAlt(T,1),this.state=448,this.match(S.IF),this.state=449,this.expression(),this.state=450,this.local_block(),this.state=452,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,34,this._ctx)){case 1:this.state=451,this.if_tail();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}elif_structure(){let T=new $7(this,this._ctx,this.state);this.enterRule(T,64,S.RULE_elif_structure);try{switch(this.enterOuterAlt(T,1),this.state=454,this.match(S.ELSE),this.state=455,this.match(S.IF),this.state=456,this.expression(),this.state=457,this.local_block(),this.state=459,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,35,this._ctx)){case 1:this.state=458,this.if_tail();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}if_tail(){let T=new W2(this,this._ctx,this.state);this.enterRule(T,66,S.RULE_if_tail);try{switch(this.state=463,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,36,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=461,this.elif_structure();break;case 2:this.enterOuterAlt(T,2),this.state=462,this.else_block();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}else_block(){let T=new G7(this,this._ctx,this.state);this.enterRule(T,68,S.RULE_else_block);try{this.enterOuterAlt(T,1),this.state=465,this.match(S.ELSE),this.state=466,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_structure(){let T=new Q7(this,this._ctx,this.state);this.enterRule(T,70,S.RULE_for_structure);try{switch(this.state=470,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,37,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=468,this.for_structure_to();break;case 2:this.enterOuterAlt(T,2),this.state=469,this.for_structure_in();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_structure_to(){let T=new U7(this,this._ctx,this.state);this.enterRule(T,72,S.RULE_for_structure_to);try{this.enterOuterAlt(T,1);{switch(this.state=472,this.match(S.FOR),this.state=473,this.for_iterator(),this.state=474,this.match(S.EQUAL),this.state=475,this.expression(),this.state=476,this.match(S.TO),this.state=477,this.expression(),this.state=480,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,38,this._ctx)){case 1:this.state=478,this.match(S.BY),this.state=479,this.expression();break}this.state=482,this.local_block()}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_structure_in(){let T=new S7(this,this._ctx,this.state);this.enterRule(T,74,S.RULE_for_structure_in);try{this.enterOuterAlt(T,1),this.state=484,this.match(S.FOR),this.state=485,this.for_iterator(),this.state=486,this.match(S.IN),this.state=487,this.expression(),this.state=488,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_iterator(){let T=new D2(this,this._ctx,this.state);this.enterRule(T,76,S.RULE_for_iterator);try{switch(this.state=495,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,39,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=490,this.type_specification(),this.state=491,this.name_store();break;case 2:this.enterOuterAlt(T,2),this.state=493,this.name_store();break;case 3:this.enterOuterAlt(T,3),this.state=494,this.tuple_declaration();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}while_structure(){let T=new O7(this,this._ctx,this.state);this.enterRule(T,78,S.RULE_while_structure);try{this.enterOuterAlt(T,1),this.state=497,this.match(S.WHILE),this.state=498,this.expression(),this.state=499,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}switch_structure(){let T=new J7(this,this._ctx,this.state);this.enterRule(T,80,S.RULE_switch_structure);let L;try{this.enterOuterAlt(T,1);{if(this.state=501,this.match(S.SWITCH),this.state=503,this._errHandler.sync(this),L=this._input.LA(1),(L-4&-32)===0&&(1<<L-4&343335245)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0)this.state=502,this.expression();this.state=505,this.match(S.NEWLINE),this.state=506,this.match(S.INDENT),this.state=507,this.switch_cases(),this.state=508,this.match(S.DEDENT)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}switch_cases(){let T=new Z7(this,this._ctx,this.state);this.enterRule(T,82,S.RULE_switch_cases);let L;try{this.enterOuterAlt(T,1);{this.state=511,this._errHandler.sync(this),L=this._input.LA(1);do this.state=510,this.switch_pattern_case(),this.state=513,this._errHandler.sync(this),L=this._input.LA(1);while((L-4&-32)===0&&(1<<L-4&343335245)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0);if(this.state=516,this._errHandler.sync(this),L=this._input.LA(1),L===43)this.state=515,this.switch_default_case()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}switch_pattern_case(){let T=new G2(this,this._ctx,this.state);this.enterRule(T,84,S.RULE_switch_pattern_case);try{this.enterOuterAlt(T,1),this.state=518,this.expression(),this.state=519,this.match(S.RARROW),this.state=520,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}switch_default_case(){let T=new W7(this,this._ctx,this.state);this.enterRule(T,86,S.RULE_switch_default_case);try{this.enterOuterAlt(T,1),this.state=522,this.match(S.RARROW),this.state=523,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}local_block(){let T=new C0(this,this._ctx,this.state);this.enterRule(T,88,S.RULE_local_block);try{switch(this.state=527,this._errHandler.sync(this),this._input.LA(1)){case 67:this.enterOuterAlt(T,1),this.state=525,this.indented_local_block();break;case 4:case 5:case 6:case 7:case 8:case 10:case 11:case 12:case 13:case 14:case 15:case 17:case 18:case 19:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 32:case 48:case 52:case 53:case 63:case 64:case 65:case 66:this.enterOuterAlt(T,2),this.state=526,this.inline_local_block();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}indented_local_block(){let T=new D7(this,this._ctx,this.state);this.enterRule(T,90,S.RULE_indented_local_block);try{this.enterOuterAlt(T,1),this.state=529,this.match(S.NEWLINE),this.state=530,this.match(S.INDENT),this.state=531,this.statements(),this.state=532,this.match(S.DEDENT)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}inline_local_block(){let T=new K7(this,this._ctx,this.state);this.enterRule(T,92,S.RULE_inline_local_block);try{this.enterOuterAlt(T,1),this.state=534,this.statement()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_assignment(){let T=new Y7(this,this._ctx,this.state);this.enterRule(T,94,S.RULE_simple_assignment);try{switch(this.state=539,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,44,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=536,this.simple_variable_initialization();break;case 2:this.enterOuterAlt(T,2),this.state=537,this.simple_reassignment();break;case 3:this.enterOuterAlt(T,3),this.state=538,this.simple_augassignment();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_variable_initialization(){let T=new X7(this,this._ctx,this.state);this.enterRule(T,96,S.RULE_simple_variable_initialization);try{switch(this.state=543,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 21:case 22:case 24:case 25:case 27:case 28:case 63:this.enterOuterAlt(T,1),this.state=541,this.simple_name_initialization();break;case 32:this.enterOuterAlt(T,2),this.state=542,this.simple_tuple_initialization();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_name_initialization(){let T=new B7(this,this._ctx,this.state);this.enterRule(T,98,S.RULE_simple_name_initialization);let L;try{this.enterOuterAlt(T,1);{if(this.state=546,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=545,this.match(S.EXPORT);this.state=548,this.variable_declaration(),this.state=549,this.match(S.EQUAL),this.state=550,this.expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}simple_tuple_initialization(){let T=new z7(this,this._ctx,this.state);this.enterRule(T,100,S.RULE_simple_tuple_initialization);try{this.enterOuterAlt(T,1),this.state=552,this.tuple_declaration(),this.state=553,this.match(S.EQUAL),this.state=554,this.expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_reassignment(){let T=new H7(this,this._ctx,this.state);this.enterRule(T,102,S.RULE_simple_reassignment);let L;try{this.enterOuterAlt(T,1);{if(this.state=556,this.primary_expression(0),this.state=557,L=this._input.LA(1),!(L===42||L===62))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume();this.state=558,this.expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}simple_augassignment(){let T=new V7(this,this._ctx,this.state);this.enterRule(T,104,S.RULE_simple_augassignment);try{this.enterOuterAlt(T,1),this.state=560,this.primary_expression(0),this.state=561,this.augassign_op(),this.state=562,this.expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}expression(){let T=new r(this,this._ctx,this.state);this.enterRule(T,106,S.RULE_expression);try{this.enterOuterAlt(T,1),this.state=564,this.conditional_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}expression_statement(){let T=new F7(this,this._ctx,this.state);this.enterRule(T,108,S.RULE_expression_statement);try{this.enterOuterAlt(T,1),this.state=566,this.expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}conditional_expression(){let T=new q7(this,this._ctx,this.state);this.enterRule(T,110,S.RULE_conditional_expression);let L;try{if(this.enterOuterAlt(T,1),this.state=568,this.disjunction_expression(),this.state=574,this._errHandler.sync(this),L=this._input.LA(1),L===47)this.state=569,this.match(S.QUESTION),this.state=570,this.expression(),this.state=571,this.match(S.COLON),this.state=572,this.expression()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}disjunction_expression(){let T=new k7(this,this._ctx,this.state);this.enterRule(T,112,S.RULE_disjunction_expression);let L;try{this.enterOuterAlt(T,1);{this.state=576,this.conjunction_expression(),this.state=581,this._errHandler.sync(this),L=this._input.LA(1);while(L===20)this.state=577,this.match(S.OR),this.state=578,this.conjunction_expression(),this.state=583,this._errHandler.sync(this),L=this._input.LA(1)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}conjunction_expression(){let T=new Q2(this,this._ctx,this.state);this.enterRule(T,114,S.RULE_conjunction_expression);let L;try{this.enterOuterAlt(T,1);{this.state=584,this.bitwise_or_expression(0),this.state=589,this._errHandler.sync(this),L=this._input.LA(1);while(L===3)this.state=585,this.match(S.AND),this.state=586,this.bitwise_or_expression(0),this.state=591,this._errHandler.sync(this),L=this._input.LA(1)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}bitwise_or_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new b1(this,this._ctx,I),R=_,$=116;this.enterRecursionRule(_,116,S.RULE_bitwise_or_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=593,this.bitwise_xor_expression(0),this._ctx.stop=this._input.LT(-1),this.state=600,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,50,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new b1(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_bitwise_or_expression),this.state=595,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=596,this.match(S.PIPE),this.state=597,this.bitwise_xor_expression(0)}}this.state=602,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,50,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}bitwise_xor_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new R6(this,this._ctx,I),R=_,$=118;this.enterRecursionRule(_,118,S.RULE_bitwise_xor_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=604,this.bitwise_and_expression(0),this._ctx.stop=this._input.LT(-1),this.state=611,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,51,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new R6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_bitwise_xor_expression),this.state=606,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=607,this.match(S.CARET),this.state=608,this.bitwise_and_expression(0)}}this.state=613,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,51,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}bitwise_and_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new $6(this,this._ctx,I),R=_,$=120;this.enterRecursionRule(_,120,S.RULE_bitwise_and_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=615,this.equality_expression(),this._ctx.stop=this._input.LT(-1),this.state=622,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,52,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new $6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_bitwise_and_expression),this.state=617,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=618,this.match(S.AMP),this.state=619,this.equality_expression()}}this.state=624,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,52,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}equality_expression(){let T=new M7(this,this._ctx,this.state);this.enterRule(T,122,S.RULE_equality_expression);try{let L;this.enterOuterAlt(T,1);{this.state=625,this.inequality_expression(),this.state=629,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,53,this._ctx);while(L!==2&&L!==U0.INVALID_ALT_NUMBER){if(L===1)this.state=626,this.equality_trailing_pair();this.state=631,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,53,this._ctx)}}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}equality_trailing_pair(){let T=new U2(this,this._ctx,this.state);this.enterRule(T,124,S.RULE_equality_trailing_pair);try{switch(this.state=634,this._errHandler.sync(this),this._input.LA(1)){case 38:this.enterOuterAlt(T,1),this.state=632,this.equal_trailing_pair();break;case 39:this.enterOuterAlt(T,2),this.state=633,this.not_equal_trailing_pair();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}equal_trailing_pair(){let T=new E7(this,this._ctx,this.state);this.enterRule(T,126,S.RULE_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=636,this.match(S.EQEQUAL),this.state=637,this.inequality_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}not_equal_trailing_pair(){let T=new j7(this,this._ctx,this.state);this.enterRule(T,128,S.RULE_not_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=639,this.match(S.NOTEQUAL),this.state=640,this.inequality_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}inequality_expression(){let T=new S6(this,this._ctx,this.state);this.enterRule(T,130,S.RULE_inequality_expression);try{let L;this.enterOuterAlt(T,1);{this.state=642,this.shift_expression(0),this.state=646,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,55,this._ctx);while(L!==2&&L!==U0.INVALID_ALT_NUMBER){if(L===1)this.state=643,this.inequality_trailing_pair();this.state=648,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,55,this._ctx)}}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}inequality_trailing_pair(){let T=new S2(this,this._ctx,this.state);this.enterRule(T,132,S.RULE_inequality_trailing_pair);try{switch(this.state=653,this._errHandler.sync(this),this._input.LA(1)){case 36:this.enterOuterAlt(T,1),this.state=649,this.less_than_equal_trailing_pair();break;case 40:this.enterOuterAlt(T,2),this.state=650,this.less_than_trailing_pair();break;case 37:this.enterOuterAlt(T,3),this.state=651,this.greater_than_equal_trailing_pair();break;case 41:this.enterOuterAlt(T,4),this.state=652,this.greater_than_trailing_pair();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}less_than_equal_trailing_pair(){let T=new C7(this,this._ctx,this.state);this.enterRule(T,134,S.RULE_less_than_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=655,this.match(S.LESSEQUAL),this.state=656,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}less_than_trailing_pair(){let T=new P7(this,this._ctx,this.state);this.enterRule(T,136,S.RULE_less_than_trailing_pair);try{this.enterOuterAlt(T,1),this.state=658,this.match(S.LESS),this.state=659,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}greater_than_equal_trailing_pair(){let T=new N7(this,this._ctx,this.state);this.enterRule(T,138,S.RULE_greater_than_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=661,this.match(S.GREATEREQUAL),this.state=662,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}greater_than_trailing_pair(){let T=new y7(this,this._ctx,this.state);this.enterRule(T,140,S.RULE_greater_than_trailing_pair);try{this.enterOuterAlt(T,1),this.state=664,this.match(S.GREATER),this.state=665,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}shift_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new a0(this,this._ctx,I),R=_,$=142;this.enterRecursionRule(_,142,S.RULE_shift_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=668,this.additive_expression(0),this._ctx.stop=this._input.LT(-1),this.state=676,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,57,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new a0(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_shift_expression),this.state=670,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=671,this.shift_op(),this.state=672,this.additive_expression(0)}}this.state=678,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,57,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}shift_op(){let T=new b7(this,this._ctx,this.state);this.enterRule(T,144,S.RULE_shift_op);let L;try{if(this.enterOuterAlt(T,1),this.state=679,L=this._input.LA(1),!(L===34||L===35))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}additive_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new G6(this,this._ctx,I),R=_,$=146;this.enterRecursionRule(_,146,S.RULE_additive_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=682,this.multiplicative_expression(0),this._ctx.stop=this._input.LT(-1),this.state=690,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,58,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new G6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_additive_expression),this.state=684,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=685,this.additive_op(),this.state=686,this.multiplicative_expression(0)}}this.state=692,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,58,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}additive_op(){let T=new h7(this,this._ctx,this.state);this.enterRule(T,148,S.RULE_additive_op);let L;try{if(this.enterOuterAlt(T,1),this.state=693,L=this._input.LA(1),!(L===52||L===53))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}multiplicative_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new Q6(this,this._ctx,I),R=_,$=150;this.enterRecursionRule(_,150,S.RULE_multiplicative_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=696,this.unary_expression(),this._ctx.stop=this._input.LT(-1),this.state=704,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,59,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new Q6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_multiplicative_expression),this.state=698,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=699,this.multiplicative_op(),this.state=700,this.unary_expression()}}this.state=706,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,59,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}multiplicative_op(){let T=new w7(this,this._ctx,this.state);this.enterRule(T,152,S.RULE_multiplicative_op);let L;try{if(this.enterOuterAlt(T,1),this.state=707,L=this._input.LA(1),!((L-54&-32)===0&&(1<<L-54&7)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}unary_expression(){let T=new K2(this,this._ctx,this.state);this.enterRule(T,154,S.RULE_unary_expression);try{switch(this.state=713,this._errHandler.sync(this),this._input.LA(1)){case 19:case 48:case 52:case 53:this.enterOuterAlt(T,1),this.state=709,this.unary_op(),this.state=710,this.unary_expression();break;case 4:case 6:case 7:case 10:case 12:case 17:case 18:case 21:case 22:case 24:case 25:case 26:case 30:case 32:case 63:case 64:case 65:case 66:this.enterOuterAlt(T,2),this.state=712,this.primary_expression(0);break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}unary_op(){let T=new A7(this,this._ctx,this.state);this.enterRule(T,156,S.RULE_unary_op);let L;try{if(this.enterOuterAlt(T,1),this.state=715,L=this._input.LA(1),!(L===19||(L-48&-32)===0&&(1<<L-48&49)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}primary_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new O0(this,this._ctx,I),R=_,$=158;this.enterRecursionRule(_,158,S.RULE_primary_expression,T);let G;try{let Q;this.enterOuterAlt(_,1);{_=new L9(this,_),this._ctx=_,R=_,this.state=718,this.atomic_expression(),this._ctx.stop=this._input.LT(-1),this.state=739,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,64,this._ctx);while(Q!==2&&Q!==U0.INVALID_ALT_NUMBER){if(Q===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();switch(R=_,this.state=737,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,63,this._ctx)){case 1:{if(_=new e8(this,new O0(this,L,I)),this.pushNewRecursionContext(_,$,S.RULE_primary_expression),this.state=720,!this.precpred(this._ctx,4))throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");this.state=721,this.match(S.DOT),this.state=722,this.name_load()}break;case 2:{if(_=new T9(this,new O0(this,L,I)),this.pushNewRecursionContext(_,$,S.RULE_primary_expression),this.state=723,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");if(this.state=725,this._errHandler.sync(this),G=this._input.LA(1),G===40)this.state=724,this.template_spec_suffix();if(this.state=727,this.match(S.LPAR),this.state=729,this._errHandler.sync(this),G=this._input.LA(1),(G-4&-32)===0&&(1<<G-4&343335245)!==0||(G-48&-32)===0&&(1<<G-48&491569)!==0)this.state=728,this.argument_list();this.state=731,this.match(S.RPAR)}break;case 3:{if(_=new I9(this,new O0(this,L,I)),this.pushNewRecursionContext(_,$,S.RULE_primary_expression),this.state=732,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=733,this.match(S.LSQB),this.state=734,this.subscript_slice(),this.state=735,this.match(S.RSQB)}break}}this.state=741,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,64,this._ctx)}}}catch(Q){if(Q instanceof q)_.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.unrollRecursionContexts(L)}return _}argument_list(){let T=new u7(this,this._ctx,this.state);this.enterRule(T,160,S.RULE_argument_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=742,this.argument_definition(),this.state=747,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,65,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=743,this.match(S.COMMA),this.state=744,this.argument_definition();this.state=749,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,65,this._ctx)}if(this.state=751,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=750,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}argument_definition(){let T=new O2(this,this._ctx,this.state);this.enterRule(T,162,S.RULE_argument_definition);try{this.enterOuterAlt(T,1);{switch(this.state=756,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,67,this._ctx)){case 1:this.state=753,this.name_store(),this.state=754,this.match(S.EQUAL);break}this.state=758,this.expression()}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}subscript_slice(){let T=new Y2(this,this._ctx,this.state);this.enterRule(T,164,S.RULE_subscript_slice);let L;try{let I;this.enterOuterAlt(T,1);{this.state=760,this.expression(),this.state=765,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,68,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=761,this.match(S.COMMA),this.state=762,this.expression();this.state=767,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,68,this._ctx)}if(this.state=769,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=768,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}atomic_expression(){let T=new g7(this,this._ctx,this.state);this.enterRule(T,166,S.RULE_atomic_expression);try{switch(this.state=775,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 17:case 18:case 21:case 22:case 24:case 25:case 63:this.enterOuterAlt(T,1),this.state=771,this.name_load();break;case 12:case 26:case 64:case 65:case 66:this.enterOuterAlt(T,2),this.state=772,this.literal_expression();break;case 30:this.enterOuterAlt(T,3),this.state=773,this.grouped_expression();break;case 32:this.enterOuterAlt(T,4),this.state=774,this.tuple_expression();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_expression(){let T=new f7(this,this._ctx,this.state);this.enterRule(T,168,S.RULE_literal_expression);try{switch(this.state=781,this._errHandler.sync(this),this._input.LA(1)){case 64:this.enterOuterAlt(T,1),this.state=777,this.literal_number();break;case 65:this.enterOuterAlt(T,2),this.state=778,this.literal_string();break;case 12:case 26:this.enterOuterAlt(T,3),this.state=779,this.literal_bool();break;case 66:this.enterOuterAlt(T,4),this.state=780,this.literal_color();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_number(){let T=new X2(this,this._ctx,this.state);this.enterRule(T,170,S.RULE_literal_number);try{this.enterOuterAlt(T,1),this.state=783,this.match(S.NUMBER)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_string(){let T=new p7(this,this._ctx,this.state);this.enterRule(T,172,S.RULE_literal_string);try{this.enterOuterAlt(T,1),this.state=785,this.match(S.STRING)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_bool(){let T=new x7(this,this._ctx,this.state);this.enterRule(T,174,S.RULE_literal_bool);let L;try{if(this.enterOuterAlt(T,1),this.state=787,L=this._input.LA(1),!(L===12||L===26))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}literal_color(){let T=new c7(this,this._ctx,this.state);this.enterRule(T,176,S.RULE_literal_color);try{this.enterOuterAlt(T,1),this.state=789,this.match(S.COLOR)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}grouped_expression(){let T=new m7(this,this._ctx,this.state);this.enterRule(T,178,S.RULE_grouped_expression);try{this.enterOuterAlt(T,1),this.state=791,this.match(S.LPAR),this.state=792,this.expression(),this.state=793,this.match(S.RPAR)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}tuple_expression(){let T=new d7(this,this._ctx,this.state);this.enterRule(T,180,S.RULE_tuple_expression);let L;try{let I;this.enterOuterAlt(T,1);{if(this.state=795,this.match(S.LSQB),this.state=807,this._errHandler.sync(this),L=this._input.LA(1),(L-4&-32)===0&&(1<<L-4&343335245)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0){this.state=796,this.expression(),this.state=801,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,72,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=797,this.match(S.COMMA),this.state=798,this.expression();this.state=803,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,72,this._ctx)}if(this.state=805,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=804,this.match(S.COMMA)}this.state=809,this.match(S.RSQB)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}import_statement(){let T=new l7(this,this._ctx,this.state);this.enterRule(T,182,S.RULE_import_statement);let L;try{if(this.enterOuterAlt(T,1),this.state=811,this.match(S.IMPORT),this.state=812,this.name(),this.state=813,this.match(S.SLASH),this.state=814,this.name(),this.state=815,this.match(S.SLASH),this.state=816,this.literal_number(),this.state=819,this._errHandler.sync(this),L=this._input.LA(1),L===4)this.state=817,this.match(S.AS),this.state=818,this.name()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}break_statement(){let T=new o7(this,this._ctx,this.state);this.enterRule(T,184,S.RULE_break_statement);try{this.enterOuterAlt(T,1),this.state=821,this.match(S.BREAK)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}continue_statement(){let T=new v7(this,this._ctx,this.state);this.enterRule(T,186,S.RULE_continue_statement);try{this.enterOuterAlt(T,1),this.state=823,this.match(S.CONTINUE)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}variable_declaration(){let T=new B2(this,this._ctx,this.state);this.enterRule(T,188,S.RULE_variable_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=826,this._errHandler.sync(this),L=this._input.LA(1),L===27||L===28)this.state=825,this.declaration_mode();switch(this.state=829,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,77,this._ctx)){case 1:this.state=828,this.type_specification();break}this.state=831,this.name_store()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}tuple_declaration(){let T=new O6(this,this._ctx,this.state);this.enterRule(T,190,S.RULE_tuple_declaration);let L;try{let I;this.enterOuterAlt(T,1);{this.state=833,this.match(S.LSQB),this.state=834,this.name_store(),this.state=839,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,78,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=835,this.match(S.COMMA),this.state=836,this.name_store();this.state=841,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,78,this._ctx)}if(this.state=843,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=842,this.match(S.COMMA);this.state=845,this.match(S.RSQB)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}declaration_mode(){let T=new i7(this,this._ctx,this.state);this.enterRule(T,192,S.RULE_declaration_mode);let L;try{if(this.enterOuterAlt(T,1),this.state=847,L=this._input.LA(1),!(L===27||L===28))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}assignment_target(){let T=new r7(this,this._ctx,this.state);this.enterRule(T,194,S.RULE_assignment_target);try{switch(this.state=853,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,80,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=849,this.assignment_target_attribute();break;case 2:this.enterOuterAlt(T,2),this.state=850,this.assignment_target_subscript();break;case 3:this.enterOuterAlt(T,3),this.state=851,this.assignment_target_name();break;case 4:this.enterOuterAlt(T,4),this.state=852,this.assignment_target_group();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_attribute(){let T=new s7(this,this._ctx,this.state);this.enterRule(T,196,S.RULE_assignment_target_attribute);try{this.enterOuterAlt(T,1),this.state=855,this.primary_expression(0),this.state=856,this.match(S.DOT),this.state=857,this.name_store()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_subscript(){let T=new a7(this,this._ctx,this.state);this.enterRule(T,198,S.RULE_assignment_target_subscript);try{this.enterOuterAlt(T,1),this.state=859,this.primary_expression(0),this.state=860,this.match(S.LSQB),this.state=861,this.subscript_slice(),this.state=862,this.match(S.RSQB)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_name(){let T=new n7(this,this._ctx,this.state);this.enterRule(T,200,S.RULE_assignment_target_name);try{this.enterOuterAlt(T,1),this.state=864,this.name_store()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_group(){let T=new t7(this,this._ctx,this.state);this.enterRule(T,202,S.RULE_assignment_target_group);try{this.enterOuterAlt(T,1),this.state=866,this.match(S.LPAR),this.state=867,this.assignment_target(),this.state=868,this.match(S.RPAR)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}augassign_op(){let T=new z2(this,this._ctx,this.state);this.enterRule(T,204,S.RULE_augassign_op);let L;try{if(this.enterOuterAlt(T,1),this.state=870,L=this._input.LA(1),!((L-57&-32)===0&&(1<<L-57&31)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}type_specification(){let T=new w0(this,this._ctx,this.state);this.enterRule(T,206,S.RULE_type_specification);let L;try{this.enterOuterAlt(T,1);{switch(this.state=873,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,81,this._ctx)){case 1:this.state=872,this.type_qualifier();break}if(this.state=875,this.attributed_type_name(),this.state=877,this._errHandler.sync(this),L=this._input.LA(1),L===40)this.state=876,this.template_spec_suffix();if(this.state=880,this._errHandler.sync(this),L=this._input.LA(1),L===32)this.state=879,this.array_type_suffix()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}type_qualifier(){let T=new e7(this,this._ctx,this.state);this.enterRule(T,208,S.RULE_type_qualifier);let L;try{if(this.enterOuterAlt(T,1),this.state=882,L=this._input.LA(1),!((L&-32)===0&&(1<<L&6422656)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}attributed_type_name(){let T=new T5(this,this._ctx,this.state);this.enterRule(T,210,S.RULE_attributed_type_name);let L;try{this.enterOuterAlt(T,1);{this.state=884,this.name_load(),this.state=889,this._errHandler.sync(this),L=this._input.LA(1);while(L===44)this.state=885,this.match(S.DOT),this.state=886,this.name_load(),this.state=891,this._errHandler.sync(this),L=this._input.LA(1)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}template_spec_suffix(){let T=new H2(this,this._ctx,this.state);this.enterRule(T,212,S.RULE_template_spec_suffix);let L;try{this.enterOuterAlt(T,1);{if(this.state=892,this.match(S.LESS),this.state=894,this._errHandler.sync(this),L=this._input.LA(1),(L&-32)===0&&(1<<L&57017552)!==0||L===63)this.state=893,this.type_argument_list();this.state=896,this.match(S.GREATER)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}array_type_suffix(){let T=new L5(this,this._ctx,this.state);this.enterRule(T,214,S.RULE_array_type_suffix);try{this.enterOuterAlt(T,1),this.state=898,this.match(S.LSQB),this.state=899,this.match(S.RSQB)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}type_argument_list(){let T=new I5(this,this._ctx,this.state);this.enterRule(T,216,S.RULE_type_argument_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=901,this.type_specification(),this.state=906,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,86,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=902,this.match(S.COMMA),this.state=903,this.type_specification();this.state=908,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,86,this._ctx)}if(this.state=910,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=909,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}name(){let T=new c0(this,this._ctx,this.state);this.enterRule(T,218,S.RULE_name);let L;try{if(this.enterOuterAlt(T,1),this.state=912,L=this._input.LA(1),!((L&-32)===0&&(1<<L&57017552)!==0||L===63))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}name_load(){let T=new h1(this,this._ctx,this.state);this.enterRule(T,220,S.RULE_name_load);try{this.enterOuterAlt(T,1),this.state=914,this.name()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}name_store(){let T=new M0(this,this._ctx,this.state);this.enterRule(T,222,S.RULE_name_store);try{this.enterOuterAlt(T,1),this.state=916,this.name()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}comments(){let T=new _5(this,this._ctx,this.state);this.enterRule(T,224,S.RULE_comments);let L;try{this.enterOuterAlt(T,1);{this.state=919,this._errHandler.sync(this),L=this._input.LA(1);do this.state=918,this.comment(),this.state=921,this._errHandler.sync(this),L=this._input.LA(1);while(L===69)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}comment(){let T=new J2(this,this._ctx,this.state);this.enterRule(T,226,S.RULE_comment);try{this.enterOuterAlt(T,1),this.state=923,this.match(S.COMMENT)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}sempred(T,L,I){switch(L){case 58:return this.bitwise_or_expression_sempred(T,I);case 59:return this.bitwise_xor_expression_sempred(T,I);case 60:return this.bitwise_and_expression_sempred(T,I);case 71:return this.shift_expression_sempred(T,I);case 73:return this.additive_expression_sempred(T,I);case 75:return this.multiplicative_expression_sempred(T,I);case 79:return this.primary_expression_sempred(T,I)}return!0}bitwise_or_expression_sempred(T,L){switch(L){case 0:return this.precpred(this._ctx,2)}return!0}bitwise_xor_expression_sempred(T,L){switch(L){case 1:return this.precpred(this._ctx,2)}return!0}bitwise_and_expression_sempred(T,L){switch(L){case 2:return this.precpred(this._ctx,2)}return!0}shift_expression_sempred(T,L){switch(L){case 3:return this.precpred(this._ctx,2)}return!0}additive_expression_sempred(T,L){switch(L){case 4:return this.precpred(this._ctx,2)}return!0}multiplicative_expression_sempred(T,L){switch(L){case 5:return this.precpred(this._ctx,2)}return!0}primary_expression_sempred(T,L){switch(L){case 6:return this.precpred(this._ctx,4);case 7:return this.precpred(this._ctx,3);case 8:return this.precpred(this._ctx,2)}return!0}static _serializedATN=[4,1,71,926,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,1,0,1,0,1,1,3,1,232,8,1,1,1,1,1,1,2,1,2,3,2,238,8,2,1,2,1,2,1,3,3,3,243,8,3,1,3,1,3,1,4,4,4,248,8,4,11,4,12,4,249,1,5,1,5,1,5,3,5,255,8,5,1,6,1,6,1,6,1,6,1,6,1,6,3,6,263,8,6,1,7,1,7,1,7,5,7,268,8,7,10,7,12,7,271,9,7,1,7,3,7,274,8,7,1,7,1,7,1,8,1,8,1,8,5,8,281,8,8,10,8,12,8,284,9,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,3,9,294,8,9,1,10,1,10,1,10,3,10,299,8,10,1,11,1,11,3,11,303,8,11,1,12,3,12,306,8,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,3,16,325,8,16,1,16,3,16,328,8,16,1,16,1,16,1,16,3,16,333,8,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,5,17,342,8,17,10,17,12,17,345,9,17,1,17,3,17,348,8,17,1,18,3,18,351,8,18,1,18,1,18,1,18,3,18,356,8,18,1,19,3,19,359,8,19,1,19,1,19,3,19,363,8,19,1,19,1,19,1,19,3,19,368,8,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,5,20,377,8,20,10,20,12,20,380,9,20,1,20,3,20,383,8,20,1,21,1,21,1,21,1,21,3,21,389,8,21,1,22,3,22,392,8,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,4,23,402,8,23,11,23,12,23,403,1,24,3,24,407,8,24,1,24,1,24,1,24,1,24,3,24,413,8,24,1,24,1,24,1,25,3,25,418,8,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,4,26,428,8,26,11,26,12,26,429,1,27,1,27,1,27,3,27,435,8,27,1,27,1,27,1,28,1,28,1,28,1,28,3,28,443,8,28,1,29,1,29,1,30,1,30,1,31,1,31,1,31,1,31,3,31,453,8,31,1,32,1,32,1,32,1,32,1,32,3,32,460,8,32,1,33,1,33,3,33,464,8,33,1,34,1,34,1,34,1,35,1,35,3,35,471,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,481,8,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,3,38,496,8,38,1,39,1,39,1,39,1,39,1,40,1,40,3,40,504,8,40,1,40,1,40,1,40,1,40,1,40,1,41,4,41,512,8,41,11,41,12,41,513,1,41,3,41,517,8,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,44,1,44,3,44,528,8,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,47,1,47,1,47,3,47,540,8,47,1,48,1,48,3,48,544,8,48,1,49,3,49,547,8,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,53,1,53,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,3,55,575,8,55,1,56,1,56,1,56,5,56,580,8,56,10,56,12,56,583,9,56,1,57,1,57,1,57,5,57,588,8,57,10,57,12,57,591,9,57,1,58,1,58,1,58,1,58,1,58,1,58,5,58,599,8,58,10,58,12,58,602,9,58,1,59,1,59,1,59,1,59,1,59,1,59,5,59,610,8,59,10,59,12,59,613,9,59,1,60,1,60,1,60,1,60,1,60,1,60,5,60,621,8,60,10,60,12,60,624,9,60,1,61,1,61,5,61,628,8,61,10,61,12,61,631,9,61,1,62,1,62,3,62,635,8,62,1,63,1,63,1,63,1,64,1,64,1,64,1,65,1,65,5,65,645,8,65,10,65,12,65,648,9,65,1,66,1,66,1,66,1,66,3,66,654,8,66,1,67,1,67,1,67,1,68,1,68,1,68,1,69,1,69,1,69,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,675,8,71,10,71,12,71,678,9,71,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,5,73,689,8,73,10,73,12,73,692,9,73,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,5,75,703,8,75,10,75,12,75,706,9,75,1,76,1,76,1,77,1,77,1,77,1,77,3,77,714,8,77,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,3,79,726,8,79,1,79,1,79,3,79,730,8,79,1,79,1,79,1,79,1,79,1,79,1,79,5,79,738,8,79,10,79,12,79,741,9,79,1,80,1,80,1,80,5,80,746,8,80,10,80,12,80,749,9,80,1,80,3,80,752,8,80,1,81,1,81,1,81,3,81,757,8,81,1,81,1,81,1,82,1,82,1,82,5,82,764,8,82,10,82,12,82,767,9,82,1,82,3,82,770,8,82,1,83,1,83,1,83,1,83,3,83,776,8,83,1,84,1,84,1,84,1,84,3,84,782,8,84,1,85,1,85,1,86,1,86,1,87,1,87,1,88,1,88,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,5,90,800,8,90,10,90,12,90,803,9,90,1,90,3,90,806,8,90,3,90,808,8,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,3,91,820,8,91,1,92,1,92,1,93,1,93,1,94,3,94,827,8,94,1,94,3,94,830,8,94,1,94,1,94,1,95,1,95,1,95,1,95,5,95,838,8,95,10,95,12,95,841,9,95,1,95,3,95,844,8,95,1,95,1,95,1,96,1,96,1,97,1,97,1,97,1,97,3,97,854,8,97,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,101,1,101,1,101,1,101,1,102,1,102,1,103,3,103,874,8,103,1,103,1,103,3,103,878,8,103,1,103,3,103,881,8,103,1,104,1,104,1,105,1,105,1,105,5,105,888,8,105,10,105,12,105,891,9,105,1,106,1,106,3,106,895,8,106,1,106,1,106,1,107,1,107,1,107,1,108,1,108,1,108,5,108,905,8,108,10,108,12,108,908,9,108,1,108,3,108,911,8,108,1,109,1,109,1,110,1,110,1,111,1,111,1,112,4,112,920,8,112,11,112,12,112,921,1,113,1,113,1,113,0,7,116,118,120,142,146,150,158,114,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,0,10,2,0,42,42,62,62,1,0,34,35,1,0,52,53,1,0,54,56,3,0,19,19,48,48,52,53,2,0,12,12,26,26,1,0,27,28,1,0,57,61,3,0,7,7,17,17,21,22,7,0,4,4,6,7,10,10,17,18,21,22,24,25,63,63,922,0,228,1,0,0,0,2,231,1,0,0,0,4,235,1,0,0,0,6,242,1,0,0,0,8,247,1,0,0,0,10,254,1,0,0,0,12,262,1,0,0,0,14,264,1,0,0,0,16,277,1,0,0,0,18,293,1,0,0,0,20,298,1,0,0,0,22,302,1,0,0,0,24,305,1,0,0,0,26,311,1,0,0,0,28,315,1,0,0,0,30,319,1,0,0,0,32,324,1,0,0,0,34,338,1,0,0,0,36,350,1,0,0,0,38,358,1,0,0,0,40,373,1,0,0,0,42,388,1,0,0,0,44,391,1,0,0,0,46,401,1,0,0,0,48,406,1,0,0,0,50,417,1,0,0,0,52,427,1,0,0,0,54,431,1,0,0,0,56,442,1,0,0,0,58,444,1,0,0,0,60,446,1,0,0,0,62,448,1,0,0,0,64,454,1,0,0,0,66,463,1,0,0,0,68,465,1,0,0,0,70,470,1,0,0,0,72,472,1,0,0,0,74,484,1,0,0,0,76,495,1,0,0,0,78,497,1,0,0,0,80,501,1,0,0,0,82,511,1,0,0,0,84,518,1,0,0,0,86,522,1,0,0,0,88,527,1,0,0,0,90,529,1,0,0,0,92,534,1,0,0,0,94,539,1,0,0,0,96,543,1,0,0,0,98,546,1,0,0,0,100,552,1,0,0,0,102,556,1,0,0,0,104,560,1,0,0,0,106,564,1,0,0,0,108,566,1,0,0,0,110,568,1,0,0,0,112,576,1,0,0,0,114,584,1,0,0,0,116,592,1,0,0,0,118,603,1,0,0,0,120,614,1,0,0,0,122,625,1,0,0,0,124,634,1,0,0,0,126,636,1,0,0,0,128,639,1,0,0,0,130,642,1,0,0,0,132,653,1,0,0,0,134,655,1,0,0,0,136,658,1,0,0,0,138,661,1,0,0,0,140,664,1,0,0,0,142,667,1,0,0,0,144,679,1,0,0,0,146,681,1,0,0,0,148,693,1,0,0,0,150,695,1,0,0,0,152,707,1,0,0,0,154,713,1,0,0,0,156,715,1,0,0,0,158,717,1,0,0,0,160,742,1,0,0,0,162,756,1,0,0,0,164,760,1,0,0,0,166,775,1,0,0,0,168,781,1,0,0,0,170,783,1,0,0,0,172,785,1,0,0,0,174,787,1,0,0,0,176,789,1,0,0,0,178,791,1,0,0,0,180,795,1,0,0,0,182,811,1,0,0,0,184,821,1,0,0,0,186,823,1,0,0,0,188,826,1,0,0,0,190,833,1,0,0,0,192,847,1,0,0,0,194,853,1,0,0,0,196,855,1,0,0,0,198,859,1,0,0,0,200,864,1,0,0,0,202,866,1,0,0,0,204,870,1,0,0,0,206,873,1,0,0,0,208,882,1,0,0,0,210,884,1,0,0,0,212,892,1,0,0,0,214,898,1,0,0,0,216,901,1,0,0,0,218,912,1,0,0,0,220,914,1,0,0,0,222,916,1,0,0,0,224,919,1,0,0,0,226,923,1,0,0,0,228,229,3,2,1,0,229,1,1,0,0,0,230,232,3,8,4,0,231,230,1,0,0,0,231,232,1,0,0,0,232,233,1,0,0,0,233,234,5,0,0,1,234,3,1,0,0,0,235,237,3,106,53,0,236,238,5,67,0,0,237,236,1,0,0,0,237,238,1,0,0,0,238,239,1,0,0,0,239,240,5,0,0,1,240,5,1,0,0,0,241,243,3,224,112,0,242,241,1,0,0,0,242,243,1,0,0,0,243,244,1,0,0,0,244,245,5,0,0,1,245,7,1,0,0,0,246,248,3,10,5,0,247,246,1,0,0,0,248,249,1,0,0,0,249,247,1,0,0,0,249,250,1,0,0,0,250,9,1,0,0,0,251,255,3,12,6,0,252,255,3,14,7,0,253,255,3,16,8,0,254,251,1,0,0,0,254,252,1,0,0,0,254,253,1,0,0,0,255,11,1,0,0,0,256,263,3,20,10,0,257,263,3,44,22,0,258,263,3,50,25,0,259,263,3,58,29,0,260,263,3,38,19,0,261,263,3,32,16,0,262,256,1,0,0,0,262,257,1,0,0,0,262,258,1,0,0,0,262,259,1,0,0,0,262,260,1,0,0,0,262,261,1,0,0,0,263,13,1,0,0,0,264,269,3,18,9,0,265,266,5,45,0,0,266,268,3,18,9,0,267,265,1,0,0,0,268,271,1,0,0,0,269,267,1,0,0,0,269,270,1,0,0,0,270,273,1,0,0,0,271,269,1,0,0,0,272,274,5,45,0,0,273,272,1,0,0,0,273,274,1,0,0,0,274,275,1,0,0,0,275,276,5,67,0,0,276,15,1,0,0,0,277,282,3,18,9,0,278,279,5,45,0,0,279,281,3,18,9,0,280,278,1,0,0,0,281,284,1,0,0,0,282,280,1,0,0,0,282,283,1,0,0,0,283,285,1,0,0,0,284,282,1,0,0,0,285,286,5,45,0,0,286,287,3,56,28,0,287,17,1,0,0,0,288,294,3,94,47,0,289,294,3,108,54,0,290,294,3,182,91,0,291,294,3,184,92,0,292,294,3,186,93,0,293,288,1,0,0,0,293,289,1,0,0,0,293,290,1,0,0,0,293,291,1,0,0,0,293,292,1,0,0,0,294,19,1,0,0,0,295,299,3,22,11,0,296,299,3,28,14,0,297,299,3,30,15,0,298,295,1,0,0,0,298,296,1,0,0,0,298,297,1,0,0,0,299,21,1,0,0,0,300,303,3,24,12,0,301,303,3,26,13,0,302,300,1,0,0,0,302,301,1,0,0,0,303,23,1,0,0,0,304,306,5,11,0,0,305,304,1,0,0,0,305,306,1,0,0,0,306,307,1,0,0,0,307,308,3,188,94,0,308,309,5,42,0,0,309,310,3,60,30,0,310,25,1,0,0,0,311,312,3,190,95,0,312,313,5,42,0,0,313,314,3,60,30,0,314,27,1,0,0,0,315,316,3,158,79,0,316,317,5,62,0,0,317,318,3,60,30,0,318,29,1,0,0,0,319,320,3,158,79,0,320,321,3,204,102,0,321,322,3,60,30,0,322,31,1,0,0,0,323,325,5,11,0,0,324,323,1,0,0,0,324,325,1,0,0,0,325,327,1,0,0,0,326,328,3,206,103,0,327,326,1,0,0,0,327,328,1,0,0,0,328,329,1,0,0,0,329,330,3,218,109,0,330,332,5,30,0,0,331,333,3,34,17,0,332,331,1,0,0,0,332,333,1,0,0,0,333,334,1,0,0,0,334,335,5,31,0,0,335,336,5,43,0,0,336,337,3,88,44,0,337,33,1,0,0,0,338,343,3,36,18,0,339,340,5,45,0,0,340,342,3,36,18,0,341,339,1,0,0,0,342,345,1,0,0,0,343,341,1,0,0,0,343,344,1,0,0,0,344,347,1,0,0,0,345,343,1,0,0,0,346,348,5,45,0,0,347,346,1,0,0,0,347,348,1,0,0,0,348,35,1,0,0,0,349,351,3,206,103,0,350,349,1,0,0,0,350,351,1,0,0,0,351,352,1,0,0,0,352,355,3,222,111,0,353,354,5,42,0,0,354,356,3,106,53,0,355,353,1,0,0,0,355,356,1,0,0,0,356,37,1,0,0,0,357,359,5,11,0,0,358,357,1,0,0,0,358,359,1,0,0,0,359,360,1,0,0,0,360,362,5,18,0,0,361,363,3,206,103,0,362,361,1,0,0,0,362,363,1,0,0,0,363,364,1,0,0,0,364,365,3,218,109,0,365,367,5,30,0,0,366,368,3,40,20,0,367,366,1,0,0,0,367,368,1,0,0,0,368,369,1,0,0,0,369,370,5,31,0,0,370,371,5,43,0,0,371,372,3,88,44,0,372,39,1,0,0,0,373,378,3,42,21,0,374,375,5,45,0,0,375,377,3,42,21,0,376,374,1,0,0,0,377,380,1,0,0,0,378,376,1,0,0,0,378,379,1,0,0,0,379,382,1,0,0,0,380,378,1,0,0,0,381,383,5,45,0,0,382,381,1,0,0,0,382,383,1,0,0,0,383,41,1,0,0,0,384,385,3,206,103,0,385,386,3,222,111,0,386,389,1,0,0,0,387,389,3,36,18,0,388,384,1,0,0,0,388,387,1,0,0,0,389,43,1,0,0,0,390,392,5,11,0,0,391,390,1,0,0,0,391,392,1,0,0,0,392,393,1,0,0,0,393,394,5,25,0,0,394,395,3,218,109,0,395,396,5,67,0,0,396,397,5,1,0,0,397,398,3,46,23,0,398,399,5,2,0,0,399,45,1,0,0,0,400,402,3,48,24,0,401,400,1,0,0,0,402,403,1,0,0,0,403,401,1,0,0,0,403,404,1,0,0,0,404,47,1,0,0,0,405,407,5,28,0,0,406,405,1,0,0,0,406,407,1,0,0,0,407,408,1,0,0,0,408,409,3,206,103,0,409,412,3,222,111,0,410,411,5,42,0,0,411,413,3,106,53,0,412,410,1,0,0,0,412,413,1,0,0,0,413,414,1,0,0,0,414,415,5,67,0,0,415,49,1,0,0,0,416,418,5,11,0,0,417,416,1,0,0,0,417,418,1,0,0,0,418,419,1,0,0,0,419,420,5,10,0,0,420,421,3,218,109,0,421,422,5,67,0,0,422,423,5,1,0,0,423,424,3,52,26,0,424,425,5,2,0,0,425,51,1,0,0,0,426,428,3,54,27,0,427,426,1,0,0,0,428,429,1,0,0,0,429,427,1,0,0,0,429,430,1,0,0,0,430,53,1,0,0,0,431,434,3,222,111,0,432,433,5,42,0,0,433,435,3,106,53,0,434,432,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,437,5,67,0,0,437,55,1,0,0,0,438,443,3,62,31,0,439,443,3,70,35,0,440,443,3,78,39,0,441,443,3,80,40,0,442,438,1,0,0,0,442,439,1,0,0,0,442,440,1,0,0,0,442,441,1,0,0,0,443,57,1,0,0,0,444,445,3,56,28,0,445,59,1,0,0,0,446,447,3,56,28,0,447,61,1,0,0,0,448,449,5,14,0,0,449,450,3,106,53,0,450,452,3,88,44,0,451,453,3,66,33,0,452,451,1,0,0,0,452,453,1,0,0,0,453,63,1,0,0,0,454,455,5,9,0,0,455,456,5,14,0,0,456,457,3,106,53,0,457,459,3,88,44,0,458,460,3,66,33,0,459,458,1,0,0,0,459,460,1,0,0,0,460,65,1,0,0,0,461,464,3,64,32,0,462,464,3,68,34,0,463,461,1,0,0,0,463,462,1,0,0,0,464,67,1,0,0,0,465,466,5,9,0,0,466,467,3,88,44,0,467,69,1,0,0,0,468,471,3,72,36,0,469,471,3,74,37,0,470,468,1,0,0,0,470,469,1,0,0,0,471,71,1,0,0,0,472,473,5,13,0,0,473,474,3,76,38,0,474,475,5,42,0,0,475,476,3,106,53,0,476,477,5,24,0,0,477,480,3,106,53,0,478,479,5,6,0,0,479,481,3,106,53,0,480,478,1,0,0,0,480,481,1,0,0,0,481,482,1,0,0,0,482,483,3,88,44,0,483,73,1,0,0,0,484,485,5,13,0,0,485,486,3,76,38,0,486,487,5,16,0,0,487,488,3,106,53,0,488,489,3,88,44,0,489,75,1,0,0,0,490,491,3,206,103,0,491,492,3,222,111,0,492,496,1,0,0,0,493,496,3,222,111,0,494,496,3,190,95,0,495,490,1,0,0,0,495,493,1,0,0,0,495,494,1,0,0,0,496,77,1,0,0,0,497,498,5,29,0,0,498,499,3,106,53,0,499,500,3,88,44,0,500,79,1,0,0,0,501,503,5,23,0,0,502,504,3,106,53,0,503,502,1,0,0,0,503,504,1,0,0,0,504,505,1,0,0,0,505,506,5,67,0,0,506,507,5,1,0,0,507,508,3,82,41,0,508,509,5,2,0,0,509,81,1,0,0,0,510,512,3,84,42,0,511,510,1,0,0,0,512,513,1,0,0,0,513,511,1,0,0,0,513,514,1,0,0,0,514,516,1,0,0,0,515,517,3,86,43,0,516,515,1,0,0,0,516,517,1,0,0,0,517,83,1,0,0,0,518,519,3,106,53,0,519,520,5,43,0,0,520,521,3,88,44,0,521,85,1,0,0,0,522,523,5,43,0,0,523,524,3,88,44,0,524,87,1,0,0,0,525,528,3,90,45,0,526,528,3,92,46,0,527,525,1,0,0,0,527,526,1,0,0,0,528,89,1,0,0,0,529,530,5,67,0,0,530,531,5,1,0,0,531,532,3,8,4,0,532,533,5,2,0,0,533,91,1,0,0,0,534,535,3,10,5,0,535,93,1,0,0,0,536,540,3,96,48,0,537,540,3,102,51,0,538,540,3,104,52,0,539,536,1,0,0,0,539,537,1,0,0,0,539,538,1,0,0,0,540,95,1,0,0,0,541,544,3,98,49,0,542,544,3,100,50,0,543,541,1,0,0,0,543,542,1,0,0,0,544,97,1,0,0,0,545,547,5,11,0,0,546,545,1,0,0,0,546,547,1,0,0,0,547,548,1,0,0,0,548,549,3,188,94,0,549,550,5,42,0,0,550,551,3,106,53,0,551,99,1,0,0,0,552,553,3,190,95,0,553,554,5,42,0,0,554,555,3,106,53,0,555,101,1,0,0,0,556,557,3,158,79,0,557,558,7,0,0,0,558,559,3,106,53,0,559,103,1,0,0,0,560,561,3,158,79,0,561,562,3,204,102,0,562,563,3,106,53,0,563,105,1,0,0,0,564,565,3,110,55,0,565,107,1,0,0,0,566,567,3,106,53,0,567,109,1,0,0,0,568,574,3,112,56,0,569,570,5,47,0,0,570,571,3,106,53,0,571,572,5,46,0,0,572,573,3,106,53,0,573,575,1,0,0,0,574,569,1,0,0,0,574,575,1,0,0,0,575,111,1,0,0,0,576,581,3,114,57,0,577,578,5,20,0,0,578,580,3,114,57,0,579,577,1,0,0,0,580,583,1,0,0,0,581,579,1,0,0,0,581,582,1,0,0,0,582,113,1,0,0,0,583,581,1,0,0,0,584,589,3,116,58,0,585,586,5,3,0,0,586,588,3,116,58,0,587,585,1,0,0,0,588,591,1,0,0,0,589,587,1,0,0,0,589,590,1,0,0,0,590,115,1,0,0,0,591,589,1,0,0,0,592,593,6,58,-1,0,593,594,3,118,59,0,594,600,1,0,0,0,595,596,10,2,0,0,596,597,5,50,0,0,597,599,3,118,59,0,598,595,1,0,0,0,599,602,1,0,0,0,600,598,1,0,0,0,600,601,1,0,0,0,601,117,1,0,0,0,602,600,1,0,0,0,603,604,6,59,-1,0,604,605,3,120,60,0,605,611,1,0,0,0,606,607,10,2,0,0,607,608,5,51,0,0,608,610,3,120,60,0,609,606,1,0,0,0,610,613,1,0,0,0,611,609,1,0,0,0,611,612,1,0,0,0,612,119,1,0,0,0,613,611,1,0,0,0,614,615,6,60,-1,0,615,616,3,122,61,0,616,622,1,0,0,0,617,618,10,2,0,0,618,619,5,49,0,0,619,621,3,122,61,0,620,617,1,0,0,0,621,624,1,0,0,0,622,620,1,0,0,0,622,623,1,0,0,0,623,121,1,0,0,0,624,622,1,0,0,0,625,629,3,130,65,0,626,628,3,124,62,0,627,626,1,0,0,0,628,631,1,0,0,0,629,627,1,0,0,0,629,630,1,0,0,0,630,123,1,0,0,0,631,629,1,0,0,0,632,635,3,126,63,0,633,635,3,128,64,0,634,632,1,0,0,0,634,633,1,0,0,0,635,125,1,0,0,0,636,637,5,38,0,0,637,638,3,130,65,0,638,127,1,0,0,0,639,640,5,39,0,0,640,641,3,130,65,0,641,129,1,0,0,0,642,646,3,142,71,0,643,645,3,132,66,0,644,643,1,0,0,0,645,648,1,0,0,0,646,644,1,0,0,0,646,647,1,0,0,0,647,131,1,0,0,0,648,646,1,0,0,0,649,654,3,134,67,0,650,654,3,136,68,0,651,654,3,138,69,0,652,654,3,140,70,0,653,649,1,0,0,0,653,650,1,0,0,0,653,651,1,0,0,0,653,652,1,0,0,0,654,133,1,0,0,0,655,656,5,36,0,0,656,657,3,142,71,0,657,135,1,0,0,0,658,659,5,40,0,0,659,660,3,142,71,0,660,137,1,0,0,0,661,662,5,37,0,0,662,663,3,142,71,0,663,139,1,0,0,0,664,665,5,41,0,0,665,666,3,142,71,0,666,141,1,0,0,0,667,668,6,71,-1,0,668,669,3,146,73,0,669,676,1,0,0,0,670,671,10,2,0,0,671,672,3,144,72,0,672,673,3,146,73,0,673,675,1,0,0,0,674,670,1,0,0,0,675,678,1,0,0,0,676,674,1,0,0,0,676,677,1,0,0,0,677,143,1,0,0,0,678,676,1,0,0,0,679,680,7,1,0,0,680,145,1,0,0,0,681,682,6,73,-1,0,682,683,3,150,75,0,683,690,1,0,0,0,684,685,10,2,0,0,685,686,3,148,74,0,686,687,3,150,75,0,687,689,1,0,0,0,688,684,1,0,0,0,689,692,1,0,0,0,690,688,1,0,0,0,690,691,1,0,0,0,691,147,1,0,0,0,692,690,1,0,0,0,693,694,7,2,0,0,694,149,1,0,0,0,695,696,6,75,-1,0,696,697,3,154,77,0,697,704,1,0,0,0,698,699,10,2,0,0,699,700,3,152,76,0,700,701,3,154,77,0,701,703,1,0,0,0,702,698,1,0,0,0,703,706,1,0,0,0,704,702,1,0,0,0,704,705,1,0,0,0,705,151,1,0,0,0,706,704,1,0,0,0,707,708,7,3,0,0,708,153,1,0,0,0,709,710,3,156,78,0,710,711,3,154,77,0,711,714,1,0,0,0,712,714,3,158,79,0,713,709,1,0,0,0,713,712,1,0,0,0,714,155,1,0,0,0,715,716,7,4,0,0,716,157,1,0,0,0,717,718,6,79,-1,0,718,719,3,166,83,0,719,739,1,0,0,0,720,721,10,4,0,0,721,722,5,44,0,0,722,738,3,220,110,0,723,725,10,3,0,0,724,726,3,212,106,0,725,724,1,0,0,0,725,726,1,0,0,0,726,727,1,0,0,0,727,729,5,30,0,0,728,730,3,160,80,0,729,728,1,0,0,0,729,730,1,0,0,0,730,731,1,0,0,0,731,738,5,31,0,0,732,733,10,2,0,0,733,734,5,32,0,0,734,735,3,164,82,0,735,736,5,33,0,0,736,738,1,0,0,0,737,720,1,0,0,0,737,723,1,0,0,0,737,732,1,0,0,0,738,741,1,0,0,0,739,737,1,0,0,0,739,740,1,0,0,0,740,159,1,0,0,0,741,739,1,0,0,0,742,747,3,162,81,0,743,744,5,45,0,0,744,746,3,162,81,0,745,743,1,0,0,0,746,749,1,0,0,0,747,745,1,0,0,0,747,748,1,0,0,0,748,751,1,0,0,0,749,747,1,0,0,0,750,752,5,45,0,0,751,750,1,0,0,0,751,752,1,0,0,0,752,161,1,0,0,0,753,754,3,222,111,0,754,755,5,42,0,0,755,757,1,0,0,0,756,753,1,0,0,0,756,757,1,0,0,0,757,758,1,0,0,0,758,759,3,106,53,0,759,163,1,0,0,0,760,765,3,106,53,0,761,762,5,45,0,0,762,764,3,106,53,0,763,761,1,0,0,0,764,767,1,0,0,0,765,763,1,0,0,0,765,766,1,0,0,0,766,769,1,0,0,0,767,765,1,0,0,0,768,770,5,45,0,0,769,768,1,0,0,0,769,770,1,0,0,0,770,165,1,0,0,0,771,776,3,220,110,0,772,776,3,168,84,0,773,776,3,178,89,0,774,776,3,180,90,0,775,771,1,0,0,0,775,772,1,0,0,0,775,773,1,0,0,0,775,774,1,0,0,0,776,167,1,0,0,0,777,782,3,170,85,0,778,782,3,172,86,0,779,782,3,174,87,0,780,782,3,176,88,0,781,777,1,0,0,0,781,778,1,0,0,0,781,779,1,0,0,0,781,780,1,0,0,0,782,169,1,0,0,0,783,784,5,64,0,0,784,171,1,0,0,0,785,786,5,65,0,0,786,173,1,0,0,0,787,788,7,5,0,0,788,175,1,0,0,0,789,790,5,66,0,0,790,177,1,0,0,0,791,792,5,30,0,0,792,793,3,106,53,0,793,794,5,31,0,0,794,179,1,0,0,0,795,807,5,32,0,0,796,801,3,106,53,0,797,798,5,45,0,0,798,800,3,106,53,0,799,797,1,0,0,0,800,803,1,0,0,0,801,799,1,0,0,0,801,802,1,0,0,0,802,805,1,0,0,0,803,801,1,0,0,0,804,806,5,45,0,0,805,804,1,0,0,0,805,806,1,0,0,0,806,808,1,0,0,0,807,796,1,0,0,0,807,808,1,0,0,0,808,809,1,0,0,0,809,810,5,33,0,0,810,181,1,0,0,0,811,812,5,15,0,0,812,813,3,218,109,0,813,814,5,55,0,0,814,815,3,218,109,0,815,816,5,55,0,0,816,819,3,170,85,0,817,818,5,4,0,0,818,820,3,218,109,0,819,817,1,0,0,0,819,820,1,0,0,0,820,183,1,0,0,0,821,822,5,5,0,0,822,185,1,0,0,0,823,824,5,8,0,0,824,187,1,0,0,0,825,827,3,192,96,0,826,825,1,0,0,0,826,827,1,0,0,0,827,829,1,0,0,0,828,830,3,206,103,0,829,828,1,0,0,0,829,830,1,0,0,0,830,831,1,0,0,0,831,832,3,222,111,0,832,189,1,0,0,0,833,834,5,32,0,0,834,839,3,222,111,0,835,836,5,45,0,0,836,838,3,222,111,0,837,835,1,0,0,0,838,841,1,0,0,0,839,837,1,0,0,0,839,840,1,0,0,0,840,843,1,0,0,0,841,839,1,0,0,0,842,844,5,45,0,0,843,842,1,0,0,0,843,844,1,0,0,0,844,845,1,0,0,0,845,846,5,33,0,0,846,191,1,0,0,0,847,848,7,6,0,0,848,193,1,0,0,0,849,854,3,196,98,0,850,854,3,198,99,0,851,854,3,200,100,0,852,854,3,202,101,0,853,849,1,0,0,0,853,850,1,0,0,0,853,851,1,0,0,0,853,852,1,0,0,0,854,195,1,0,0,0,855,856,3,158,79,0,856,857,5,44,0,0,857,858,3,222,111,0,858,197,1,0,0,0,859,860,3,158,79,0,860,861,5,32,0,0,861,862,3,164,82,0,862,863,5,33,0,0,863,199,1,0,0,0,864,865,3,222,111,0,865,201,1,0,0,0,866,867,5,30,0,0,867,868,3,194,97,0,868,869,5,31,0,0,869,203,1,0,0,0,870,871,7,7,0,0,871,205,1,0,0,0,872,874,3,208,104,0,873,872,1,0,0,0,873,874,1,0,0,0,874,875,1,0,0,0,875,877,3,210,105,0,876,878,3,212,106,0,877,876,1,0,0,0,877,878,1,0,0,0,878,880,1,0,0,0,879,881,3,214,107,0,880,879,1,0,0,0,880,881,1,0,0,0,881,207,1,0,0,0,882,883,7,8,0,0,883,209,1,0,0,0,884,889,3,220,110,0,885,886,5,44,0,0,886,888,3,220,110,0,887,885,1,0,0,0,888,891,1,0,0,0,889,887,1,0,0,0,889,890,1,0,0,0,890,211,1,0,0,0,891,889,1,0,0,0,892,894,5,40,0,0,893,895,3,216,108,0,894,893,1,0,0,0,894,895,1,0,0,0,895,896,1,0,0,0,896,897,5,41,0,0,897,213,1,0,0,0,898,899,5,32,0,0,899,900,5,33,0,0,900,215,1,0,0,0,901,906,3,206,103,0,902,903,5,45,0,0,903,905,3,206,103,0,904,902,1,0,0,0,905,908,1,0,0,0,906,904,1,0,0,0,906,907,1,0,0,0,907,910,1,0,0,0,908,906,1,0,0,0,909,911,5,45,0,0,910,909,1,0,0,0,910,911,1,0,0,0,911,217,1,0,0,0,912,913,7,9,0,0,913,219,1,0,0,0,914,915,3,218,109,0,915,221,1,0,0,0,916,917,3,218,109,0,917,223,1,0,0,0,918,920,3,226,113,0,919,918,1,0,0,0,920,921,1,0,0,0,921,919,1,0,0,0,921,922,1,0,0,0,922,225,1,0,0,0,923,924,5,69,0,0,924,227,1,0,0,0,89,231,237,242,249,254,262,269,273,282,293,298,302,305,324,327,332,343,347,350,355,358,362,367,378,382,388,391,403,406,412,417,429,434,442,452,459,463,470,480,495,503,513,516,527,539,543,546,574,581,589,600,611,622,629,634,646,653,676,690,704,713,725,729,737,739,747,751,756,765,769,775,781,801,805,807,819,826,829,839,843,853,873,877,880,889,894,906,910,921];static __ATN;static get _ATN(){if(!S.__ATN)S.__ATN=new s6().deserialize(S._serializedATN);return S.__ATN}static DecisionsToDFA=S._ATN.decisionToState.map((T,L)=>new a6(T,L))}class a8 extends F{constructor(T,L,I){super(L,I);this.parser=T}start_script(){return this.getTypedRuleContext(p4,0)}get ruleIndex(){return S.RULE_start}accept(T){if(T.visitStart)return T.visitStart(this);else return T.visitChildren(this)}}class p4 extends F{constructor(T,L,I){super(L,I);this.parser=T}EOF(){return this.getToken(S.EOF,0)}statements(){return this.getTypedRuleContext(Z2,0)}get ruleIndex(){return S.RULE_start_script}accept(T){if(T.visitStart_script)return T.visitStart_script(this);else return T.visitChildren(this)}}class n8 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}EOF(){return this.getToken(S.EOF,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}get ruleIndex(){return S.RULE_start_expression}accept(T){if(T.visitStart_expression)return T.visitStart_expression(this);else return T.visitChildren(this)}}class t8 extends F{constructor(T,L,I){super(L,I);this.parser=T}EOF(){return this.getToken(S.EOF,0)}comments(){return this.getTypedRuleContext(_5,0)}get ruleIndex(){return S.RULE_start_comments}accept(T){if(T.visitStart_comments)return T.visitStart_comments(this);else return T.visitChildren(this)}}class Z2 extends F{constructor(T,L,I){super(L,I);this.parser=T}statement_list(){return this.getTypedRuleContexts(I6)}statement(T){return this.getTypedRuleContext(I6,T)}get ruleIndex(){return S.RULE_statements}accept(T){if(T.visitStatements)return T.visitStatements(this);else return T.visitChildren(this)}}class I6 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_statement(){return this.getTypedRuleContext(x4,0)}simple_statements(){return this.getTypedRuleContext(c4,0)}trailing_structure_statements(){return this.getTypedRuleContext(m4,0)}get ruleIndex(){return S.RULE_statement}accept(T){if(T.visitStatement)return T.visitStatement(this);else return T.visitChildren(this)}}class x4 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_assignment(){return this.getTypedRuleContext(d4,0)}type_declaration(){return this.getTypedRuleContext(e4,0)}enum_declaration(){return this.getTypedRuleContext(L7,0)}structure_statement(){return this.getTypedRuleContext(_7,0)}method_declaration(){return this.getTypedRuleContext(n4,0)}function_declaration(){return this.getTypedRuleContext(s4,0)}get ruleIndex(){return S.RULE_compound_statement}accept(T){if(T.visitCompound_statement)return T.visitCompound_statement(this);else return T.visitChildren(this)}}class c4 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_statement_list(){return this.getTypedRuleContexts(y1)}simple_statement(T){return this.getTypedRuleContext(y1,T)}NEWLINE(){return this.getToken(S.NEWLINE,0)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_simple_statements}accept(T){if(T.visitSimple_statements)return T.visitSimple_statements(this);else return T.visitChildren(this)}}class m4 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_statement_list(){return this.getTypedRuleContexts(y1)}simple_statement(T){return this.getTypedRuleContext(y1,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}structure(){return this.getTypedRuleContext(U6,0)}get ruleIndex(){return S.RULE_trailing_structure_statements}accept(T){if(T.visitTrailing_structure_statements)return T.visitTrailing_structure_statements(this);else return T.visitChildren(this)}}class y1 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_assignment(){return this.getTypedRuleContext(Y7,0)}expression_statement(){return this.getTypedRuleContext(F7,0)}import_statement(){return this.getTypedRuleContext(l7,0)}break_statement(){return this.getTypedRuleContext(o7,0)}continue_statement(){return this.getTypedRuleContext(v7,0)}get ruleIndex(){return S.RULE_simple_statement}accept(T){if(T.visitSimple_statement)return T.visitSimple_statement(this);else return T.visitChildren(this)}}class d4 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_variable_initialization(){return this.getTypedRuleContext(l4,0)}compound_reassignment(){return this.getTypedRuleContext(i4,0)}compound_augassignment(){return this.getTypedRuleContext(r4,0)}get ruleIndex(){return S.RULE_compound_assignment}accept(T){if(T.visitCompound_assignment)return T.visitCompound_assignment(this);else return T.visitChildren(this)}}class l4 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_name_initialization(){return this.getTypedRuleContext(o4,0)}compound_tuple_initialization(){return this.getTypedRuleContext(v4,0)}get ruleIndex(){return S.RULE_compound_variable_initialization}accept(T){if(T.visitCompound_variable_initialization)return T.visitCompound_variable_initialization(this);else return T.visitChildren(this)}}class o4 extends F{constructor(T,L,I){super(L,I);this.parser=T}variable_declaration(){return this.getTypedRuleContext(B2,0)}EQUAL(){return this.getToken(S.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_compound_name_initialization}accept(T){if(T.visitCompound_name_initialization)return T.visitCompound_name_initialization(this);else return T.visitChildren(this)}}class v4 extends F{constructor(T,L,I){super(L,I);this.parser=T}tuple_declaration(){return this.getTypedRuleContext(O6,0)}EQUAL(){return this.getToken(S.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}get ruleIndex(){return S.RULE_compound_tuple_initialization}accept(T){if(T.visitCompound_tuple_initialization)return T.visitCompound_tuple_initialization(this);else return T.visitChildren(this)}}class i4 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}COLONEQUAL(){return this.getToken(S.COLONEQUAL,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}get ruleIndex(){return S.RULE_compound_reassignment}accept(T){if(T.visitCompound_reassignment)return T.visitCompound_reassignment(this);else return T.visitChildren(this)}}class r4 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}augassign_op(){return this.getTypedRuleContext(z2,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}get ruleIndex(){return S.RULE_compound_augassignment}accept(T){if(T.visitCompound_augassignment)return T.visitCompound_augassignment(this);else return T.visitChildren(this)}}class s4 extends F{constructor(T,L,I){super(L,I);this.parser=T}name(){return this.getTypedRuleContext(c0,0)}LPAR(){return this.getToken(S.LPAR,0)}RPAR(){return this.getToken(S.RPAR,0)}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}EXPORT(){return this.getToken(S.EXPORT,0)}type_specification(){return this.getTypedRuleContext(w0,0)}parameter_list(){return this.getTypedRuleContext(a4,0)}get ruleIndex(){return S.RULE_function_declaration}accept(T){if(T.visitFunction_declaration)return T.visitFunction_declaration(this);else return T.visitChildren(this)}}class a4 extends F{constructor(T,L,I){super(L,I);this.parser=T}parameter_definition_list(){return this.getTypedRuleContexts(_6)}parameter_definition(T){return this.getTypedRuleContext(_6,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_parameter_list}accept(T){if(T.visitParameter_list)return T.visitParameter_list(this);else return T.visitChildren(this)}}class _6 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}type_specification(){return this.getTypedRuleContext(w0,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_parameter_definition}accept(T){if(T.visitParameter_definition)return T.visitParameter_definition(this);else return T.visitChildren(this)}}class n4 extends F{constructor(T,L,I){super(L,I);this.parser=T}METHOD(){return this.getToken(S.METHOD,0)}name(){return this.getTypedRuleContext(c0,0)}LPAR(){return this.getToken(S.LPAR,0)}RPAR(){return this.getToken(S.RPAR,0)}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}EXPORT(){return this.getToken(S.EXPORT,0)}type_specification(){return this.getTypedRuleContext(w0,0)}method_parameter_list(){return this.getTypedRuleContext(t4,0)}get ruleIndex(){return S.RULE_method_declaration}accept(T){if(T.visitMethod_declaration)return T.visitMethod_declaration(this);else return T.visitChildren(this)}}class t4 extends F{constructor(T,L,I){super(L,I);this.parser=T}method_parameter_definition_list(){return this.getTypedRuleContexts(_2)}method_parameter_definition(T){return this.getTypedRuleContext(_2,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_method_parameter_list}accept(T){if(T.visitMethod_parameter_list)return T.visitMethod_parameter_list(this);else return T.visitChildren(this)}}class _2 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification(){return this.getTypedRuleContext(w0,0)}name_store(){return this.getTypedRuleContext(M0,0)}parameter_definition(){return this.getTypedRuleContext(_6,0)}get ruleIndex(){return S.RULE_method_parameter_definition}accept(T){if(T.visitMethod_parameter_definition)return T.visitMethod_parameter_definition(this);else return T.visitChildren(this)}}class e4 extends F{constructor(T,L,I){super(L,I);this.parser=T}TYPE(){return this.getToken(S.TYPE,0)}name(){return this.getTypedRuleContext(c0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}field_definitions(){return this.getTypedRuleContext(T7,0)}DEDENT(){return this.getToken(S.DEDENT,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_type_declaration}accept(T){if(T.visitType_declaration)return T.visitType_declaration(this);else return T.visitChildren(this)}}class T7 extends F{constructor(T,L,I){super(L,I);this.parser=T}field_definition_list(){return this.getTypedRuleContexts(R2)}field_definition(T){return this.getTypedRuleContext(R2,T)}get ruleIndex(){return S.RULE_field_definitions}accept(T){if(T.visitField_definitions)return T.visitField_definitions(this);else return T.visitChildren(this)}}class R2 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification(){return this.getTypedRuleContext(w0,0)}name_store(){return this.getTypedRuleContext(M0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}VARIP(){return this.getToken(S.VARIP,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_field_definition}accept(T){if(T.visitField_definition)return T.visitField_definition(this);else return T.visitChildren(this)}}class L7 extends F{constructor(T,L,I){super(L,I);this.parser=T}ENUM(){return this.getToken(S.ENUM,0)}name(){return this.getTypedRuleContext(c0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}enum_definitions(){return this.getTypedRuleContext(I7,0)}DEDENT(){return this.getToken(S.DEDENT,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_enum_declaration}accept(T){if(T.visitEnum_declaration)return T.visitEnum_declaration(this);else return T.visitChildren(this)}}class I7 extends F{constructor(T,L,I){super(L,I);this.parser=T}enum_definition_list(){return this.getTypedRuleContexts($2)}enum_definition(T){return this.getTypedRuleContext($2,T)}get ruleIndex(){return S.RULE_enum_definitions}accept(T){if(T.visitEnum_definitions)return T.visitEnum_definitions(this);else return T.visitChildren(this)}}class $2 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_enum_definition}accept(T){if(T.visitEnum_definition)return T.visitEnum_definition(this);else return T.visitChildren(this)}}class U6 extends F{constructor(T,L,I){super(L,I);this.parser=T}if_structure(){return this.getTypedRuleContext(R7,0)}for_structure(){return this.getTypedRuleContext(Q7,0)}while_structure(){return this.getTypedRuleContext(O7,0)}switch_structure(){return this.getTypedRuleContext(J7,0)}get ruleIndex(){return S.RULE_structure}accept(T){if(T.visitStructure)return T.visitStructure(this);else return T.visitChildren(this)}}class _7 extends F{constructor(T,L,I){super(L,I);this.parser=T}structure(){return this.getTypedRuleContext(U6,0)}get ruleIndex(){return S.RULE_structure_statement}accept(T){if(T.visitStructure_statement)return T.visitStructure_statement(this);else return T.visitChildren(this)}}class w1 extends F{constructor(T,L,I){super(L,I);this.parser=T}structure(){return this.getTypedRuleContext(U6,0)}get ruleIndex(){return S.RULE_structure_expression}accept(T){if(T.visitStructure_expression)return T.visitStructure_expression(this);else return T.visitChildren(this)}}class R7 extends F{constructor(T,L,I){super(L,I);this.parser=T}IF(){return this.getToken(S.IF,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}if_tail(){return this.getTypedRuleContext(W2,0)}get ruleIndex(){return S.RULE_if_structure}accept(T){if(T.visitIf_structure)return T.visitIf_structure(this);else return T.visitChildren(this)}}class $7 extends F{constructor(T,L,I){super(L,I);this.parser=T}ELSE(){return this.getToken(S.ELSE,0)}IF(){return this.getToken(S.IF,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}if_tail(){return this.getTypedRuleContext(W2,0)}get ruleIndex(){return S.RULE_elif_structure}accept(T){if(T.visitElif_structure)return T.visitElif_structure(this);else return T.visitChildren(this)}}class W2 extends F{constructor(T,L,I){super(L,I);this.parser=T}elif_structure(){return this.getTypedRuleContext($7,0)}else_block(){return this.getTypedRuleContext(G7,0)}get ruleIndex(){return S.RULE_if_tail}accept(T){if(T.visitIf_tail)return T.visitIf_tail(this);else return T.visitChildren(this)}}class G7 extends F{constructor(T,L,I){super(L,I);this.parser=T}ELSE(){return this.getToken(S.ELSE,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_else_block}accept(T){if(T.visitElse_block)return T.visitElse_block(this);else return T.visitChildren(this)}}class Q7 extends F{constructor(T,L,I){super(L,I);this.parser=T}for_structure_to(){return this.getTypedRuleContext(U7,0)}for_structure_in(){return this.getTypedRuleContext(S7,0)}get ruleIndex(){return S.RULE_for_structure}accept(T){if(T.visitFor_structure)return T.visitFor_structure(this);else return T.visitChildren(this)}}class U7 extends F{constructor(T,L,I){super(L,I);this.parser=T}FOR(){return this.getToken(S.FOR,0)}for_iterator(){return this.getTypedRuleContext(D2,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}TO(){return this.getToken(S.TO,0)}local_block(){return this.getTypedRuleContext(C0,0)}BY(){return this.getToken(S.BY,0)}get ruleIndex(){return S.RULE_for_structure_to}accept(T){if(T.visitFor_structure_to)return T.visitFor_structure_to(this);else return T.visitChildren(this)}}class S7 extends F{constructor(T,L,I){super(L,I);this.parser=T}FOR(){return this.getToken(S.FOR,0)}for_iterator(){return this.getTypedRuleContext(D2,0)}IN(){return this.getToken(S.IN,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_for_structure_in}accept(T){if(T.visitFor_structure_in)return T.visitFor_structure_in(this);else return T.visitChildren(this)}}class D2 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification(){return this.getTypedRuleContext(w0,0)}name_store(){return this.getTypedRuleContext(M0,0)}tuple_declaration(){return this.getTypedRuleContext(O6,0)}get ruleIndex(){return S.RULE_for_iterator}accept(T){if(T.visitFor_iterator)return T.visitFor_iterator(this);else return T.visitChildren(this)}}class O7 extends F{constructor(T,L,I){super(L,I);this.parser=T}WHILE(){return this.getToken(S.WHILE,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_while_structure}accept(T){if(T.visitWhile_structure)return T.visitWhile_structure(this);else return T.visitChildren(this)}}class J7 extends F{constructor(T,L,I){super(L,I);this.parser=T}SWITCH(){return this.getToken(S.SWITCH,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}switch_cases(){return this.getTypedRuleContext(Z7,0)}DEDENT(){return this.getToken(S.DEDENT,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_switch_structure}accept(T){if(T.visitSwitch_structure)return T.visitSwitch_structure(this);else return T.visitChildren(this)}}class Z7 extends F{constructor(T,L,I){super(L,I);this.parser=T}switch_pattern_case_list(){return this.getTypedRuleContexts(G2)}switch_pattern_case(T){return this.getTypedRuleContext(G2,T)}switch_default_case(){return this.getTypedRuleContext(W7,0)}get ruleIndex(){return S.RULE_switch_cases}accept(T){if(T.visitSwitch_cases)return T.visitSwitch_cases(this);else return T.visitChildren(this)}}class G2 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_switch_pattern_case}accept(T){if(T.visitSwitch_pattern_case)return T.visitSwitch_pattern_case(this);else return T.visitChildren(this)}}class W7 extends F{constructor(T,L,I){super(L,I);this.parser=T}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_switch_default_case}accept(T){if(T.visitSwitch_default_case)return T.visitSwitch_default_case(this);else return T.visitChildren(this)}}class C0 extends F{constructor(T,L,I){super(L,I);this.parser=T}indented_local_block(){return this.getTypedRuleContext(D7,0)}inline_local_block(){return this.getTypedRuleContext(K7,0)}get ruleIndex(){return S.RULE_local_block}accept(T){if(T.visitLocal_block)return T.visitLocal_block(this);else return T.visitChildren(this)}}class D7 extends F{constructor(T,L,I){super(L,I);this.parser=T}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}statements(){return this.getTypedRuleContext(Z2,0)}DEDENT(){return this.getToken(S.DEDENT,0)}get ruleIndex(){return S.RULE_indented_local_block}accept(T){if(T.visitIndented_local_block)return T.visitIndented_local_block(this);else return T.visitChildren(this)}}class K7 extends F{constructor(T,L,I){super(L,I);this.parser=T}statement(){return this.getTypedRuleContext(I6,0)}get ruleIndex(){return S.RULE_inline_local_block}accept(T){if(T.visitInline_local_block)return T.visitInline_local_block(this);else return T.visitChildren(this)}}class Y7 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_variable_initialization(){return this.getTypedRuleContext(X7,0)}simple_reassignment(){return this.getTypedRuleContext(H7,0)}simple_augassignment(){return this.getTypedRuleContext(V7,0)}get ruleIndex(){return S.RULE_simple_assignment}accept(T){if(T.visitSimple_assignment)return T.visitSimple_assignment(this);else return T.visitChildren(this)}}class X7 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_name_initialization(){return this.getTypedRuleContext(B7,0)}simple_tuple_initialization(){return this.getTypedRuleContext(z7,0)}get ruleIndex(){return S.RULE_simple_variable_initialization}accept(T){if(T.visitSimple_variable_initialization)return T.visitSimple_variable_initialization(this);else return T.visitChildren(this)}}class B7 extends F{constructor(T,L,I){super(L,I);this.parser=T}variable_declaration(){return this.getTypedRuleContext(B2,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_simple_name_initialization}accept(T){if(T.visitSimple_name_initialization)return T.visitSimple_name_initialization(this);else return T.visitChildren(this)}}class z7 extends F{constructor(T,L,I){super(L,I);this.parser=T}tuple_declaration(){return this.getTypedRuleContext(O6,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_simple_tuple_initialization}accept(T){if(T.visitSimple_tuple_initialization)return T.visitSimple_tuple_initialization(this);else return T.visitChildren(this)}}class H7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}expression(){return this.getTypedRuleContext(r,0)}COLONEQUAL(){return this.getToken(S.COLONEQUAL,0)}EQUAL(){return this.getToken(S.EQUAL,0)}get ruleIndex(){return S.RULE_simple_reassignment}accept(T){if(T.visitSimple_reassignment)return T.visitSimple_reassignment(this);else return T.visitChildren(this)}}class V7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}augassign_op(){return this.getTypedRuleContext(z2,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_simple_augassignment}accept(T){if(T.visitSimple_augassignment)return T.visitSimple_augassignment(this);else return T.visitChildren(this)}}class r extends F{constructor(T,L,I){super(L,I);this.parser=T}conditional_expression(){return this.getTypedRuleContext(q7,0)}get ruleIndex(){return S.RULE_expression}accept(T){if(T.visitExpression)return T.visitExpression(this);else return T.visitChildren(this)}}class F7 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_expression_statement}accept(T){if(T.visitExpression_statement)return T.visitExpression_statement(this);else return T.visitChildren(this)}}class q7 extends F{constructor(T,L,I){super(L,I);this.parser=T}disjunction_expression(){return this.getTypedRuleContext(k7,0)}QUESTION(){return this.getToken(S.QUESTION,0)}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}COLON(){return this.getToken(S.COLON,0)}get ruleIndex(){return S.RULE_conditional_expression}accept(T){if(T.visitConditional_expression)return T.visitConditional_expression(this);else return T.visitChildren(this)}}class k7 extends F{constructor(T,L,I){super(L,I);this.parser=T}conjunction_expression_list(){return this.getTypedRuleContexts(Q2)}conjunction_expression(T){return this.getTypedRuleContext(Q2,T)}OR_list(){return this.getTokens(S.OR)}OR(T){return this.getToken(S.OR,T)}get ruleIndex(){return S.RULE_disjunction_expression}accept(T){if(T.visitDisjunction_expression)return T.visitDisjunction_expression(this);else return T.visitChildren(this)}}class Q2 extends F{constructor(T,L,I){super(L,I);this.parser=T}bitwise_or_expression_list(){return this.getTypedRuleContexts(b1)}bitwise_or_expression(T){return this.getTypedRuleContext(b1,T)}AND_list(){return this.getTokens(S.AND)}AND(T){return this.getToken(S.AND,T)}get ruleIndex(){return S.RULE_conjunction_expression}accept(T){if(T.visitConjunction_expression)return T.visitConjunction_expression(this);else return T.visitChildren(this)}}class b1 extends F{constructor(T,L,I){super(L,I);this.parser=T}bitwise_xor_expression(){return this.getTypedRuleContext(R6,0)}bitwise_or_expression(){return this.getTypedRuleContext(b1,0)}PIPE(){return this.getToken(S.PIPE,0)}get ruleIndex(){return S.RULE_bitwise_or_expression}accept(T){if(T.visitBitwise_or_expression)return T.visitBitwise_or_expression(this);else return T.visitChildren(this)}}class R6 extends F{constructor(T,L,I){super(L,I);this.parser=T}bitwise_and_expression(){return this.getTypedRuleContext($6,0)}bitwise_xor_expression(){return this.getTypedRuleContext(R6,0)}CARET(){return this.getToken(S.CARET,0)}get ruleIndex(){return S.RULE_bitwise_xor_expression}accept(T){if(T.visitBitwise_xor_expression)return T.visitBitwise_xor_expression(this);else return T.visitChildren(this)}}class $6 extends F{constructor(T,L,I){super(L,I);this.parser=T}equality_expression(){return this.getTypedRuleContext(M7,0)}bitwise_and_expression(){return this.getTypedRuleContext($6,0)}AMP(){return this.getToken(S.AMP,0)}get ruleIndex(){return S.RULE_bitwise_and_expression}accept(T){if(T.visitBitwise_and_expression)return T.visitBitwise_and_expression(this);else return T.visitChildren(this)}}class M7 extends F{constructor(T,L,I){super(L,I);this.parser=T}inequality_expression(){return this.getTypedRuleContext(S6,0)}equality_trailing_pair_list(){return this.getTypedRuleContexts(U2)}equality_trailing_pair(T){return this.getTypedRuleContext(U2,T)}get ruleIndex(){return S.RULE_equality_expression}accept(T){if(T.visitEquality_expression)return T.visitEquality_expression(this);else return T.visitChildren(this)}}class U2 extends F{constructor(T,L,I){super(L,I);this.parser=T}equal_trailing_pair(){return this.getTypedRuleContext(E7,0)}not_equal_trailing_pair(){return this.getTypedRuleContext(j7,0)}get ruleIndex(){return S.RULE_equality_trailing_pair}accept(T){if(T.visitEquality_trailing_pair)return T.visitEquality_trailing_pair(this);else return T.visitChildren(this)}}class E7 extends F{constructor(T,L,I){super(L,I);this.parser=T}EQEQUAL(){return this.getToken(S.EQEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(S6,0)}get ruleIndex(){return S.RULE_equal_trailing_pair}accept(T){if(T.visitEqual_trailing_pair)return T.visitEqual_trailing_pair(this);else return T.visitChildren(this)}}class j7 extends F{constructor(T,L,I){super(L,I);this.parser=T}NOTEQUAL(){return this.getToken(S.NOTEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(S6,0)}get ruleIndex(){return S.RULE_not_equal_trailing_pair}accept(T){if(T.visitNot_equal_trailing_pair)return T.visitNot_equal_trailing_pair(this);else return T.visitChildren(this)}}class S6 extends F{constructor(T,L,I){super(L,I);this.parser=T}shift_expression(){return this.getTypedRuleContext(a0,0)}inequality_trailing_pair_list(){return this.getTypedRuleContexts(S2)}inequality_trailing_pair(T){return this.getTypedRuleContext(S2,T)}get ruleIndex(){return S.RULE_inequality_expression}accept(T){if(T.visitInequality_expression)return T.visitInequality_expression(this);else return T.visitChildren(this)}}class S2 extends F{constructor(T,L,I){super(L,I);this.parser=T}less_than_equal_trailing_pair(){return this.getTypedRuleContext(C7,0)}less_than_trailing_pair(){return this.getTypedRuleContext(P7,0)}greater_than_equal_trailing_pair(){return this.getTypedRuleContext(N7,0)}greater_than_trailing_pair(){return this.getTypedRuleContext(y7,0)}get ruleIndex(){return S.RULE_inequality_trailing_pair}accept(T){if(T.visitInequality_trailing_pair)return T.visitInequality_trailing_pair(this);else return T.visitChildren(this)}}class C7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LESSEQUAL(){return this.getToken(S.LESSEQUAL,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_less_than_equal_trailing_pair}accept(T){if(T.visitLess_than_equal_trailing_pair)return T.visitLess_than_equal_trailing_pair(this);else return T.visitChildren(this)}}class P7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LESS(){return this.getToken(S.LESS,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_less_than_trailing_pair}accept(T){if(T.visitLess_than_trailing_pair)return T.visitLess_than_trailing_pair(this);else return T.visitChildren(this)}}class N7 extends F{constructor(T,L,I){super(L,I);this.parser=T}GREATEREQUAL(){return this.getToken(S.GREATEREQUAL,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_greater_than_equal_trailing_pair}accept(T){if(T.visitGreater_than_equal_trailing_pair)return T.visitGreater_than_equal_trailing_pair(this);else return T.visitChildren(this)}}class y7 extends F{constructor(T,L,I){super(L,I);this.parser=T}GREATER(){return this.getToken(S.GREATER,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_greater_than_trailing_pair}accept(T){if(T.visitGreater_than_trailing_pair)return T.visitGreater_than_trailing_pair(this);else return T.visitChildren(this)}}class a0 extends F{constructor(T,L,I){super(L,I);this.parser=T}additive_expression(){return this.getTypedRuleContext(G6,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}shift_op(){return this.getTypedRuleContext(b7,0)}get ruleIndex(){return S.RULE_shift_expression}accept(T){if(T.visitShift_expression)return T.visitShift_expression(this);else return T.visitChildren(this)}}class b7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSHIFT(){return this.getToken(S.LSHIFT,0)}RSHIFT(){return this.getToken(S.RSHIFT,0)}get ruleIndex(){return S.RULE_shift_op}accept(T){if(T.visitShift_op)return T.visitShift_op(this);else return T.visitChildren(this)}}class G6 extends F{constructor(T,L,I){super(L,I);this.parser=T}multiplicative_expression(){return this.getTypedRuleContext(Q6,0)}additive_expression(){return this.getTypedRuleContext(G6,0)}additive_op(){return this.getTypedRuleContext(h7,0)}get ruleIndex(){return S.RULE_additive_expression}accept(T){if(T.visitAdditive_expression)return T.visitAdditive_expression(this);else return T.visitChildren(this)}}class h7 extends F{constructor(T,L,I){super(L,I);this.parser=T}PLUS(){return this.getToken(S.PLUS,0)}MINUS(){return this.getToken(S.MINUS,0)}get ruleIndex(){return S.RULE_additive_op}accept(T){if(T.visitAdditive_op)return T.visitAdditive_op(this);else return T.visitChildren(this)}}class Q6 extends F{constructor(T,L,I){super(L,I);this.parser=T}unary_expression(){return this.getTypedRuleContext(K2,0)}multiplicative_expression(){return this.getTypedRuleContext(Q6,0)}multiplicative_op(){return this.getTypedRuleContext(w7,0)}get ruleIndex(){return S.RULE_multiplicative_expression}accept(T){if(T.visitMultiplicative_expression)return T.visitMultiplicative_expression(this);else return T.visitChildren(this)}}class w7 extends F{constructor(T,L,I){super(L,I);this.parser=T}STAR(){return this.getToken(S.STAR,0)}SLASH(){return this.getToken(S.SLASH,0)}PERCENT(){return this.getToken(S.PERCENT,0)}get ruleIndex(){return S.RULE_multiplicative_op}accept(T){if(T.visitMultiplicative_op)return T.visitMultiplicative_op(this);else return T.visitChildren(this)}}class K2 extends F{constructor(T,L,I){super(L,I);this.parser=T}unary_op(){return this.getTypedRuleContext(A7,0)}unary_expression(){return this.getTypedRuleContext(K2,0)}primary_expression(){return this.getTypedRuleContext(O0,0)}get ruleIndex(){return S.RULE_unary_expression}accept(T){if(T.visitUnary_expression)return T.visitUnary_expression(this);else return T.visitChildren(this)}}class A7 extends F{constructor(T,L,I){super(L,I);this.parser=T}NOT(){return this.getToken(S.NOT,0)}PLUS(){return this.getToken(S.PLUS,0)}MINUS(){return this.getToken(S.MINUS,0)}TILDE(){return this.getToken(S.TILDE,0)}get ruleIndex(){return S.RULE_unary_op}accept(T){if(T.visitUnary_op)return T.visitUnary_op(this);else return T.visitChildren(this)}}class O0 extends F{constructor(T,L,I){super(L,I);this.parser=T}get ruleIndex(){return S.RULE_primary_expression}copyFrom(T){super.copyFrom(T)}}class e8 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}primary_expression(){return this.getTypedRuleContext(O0,0)}DOT(){return this.getToken(S.DOT,0)}name_load(){return this.getTypedRuleContext(h1,0)}accept(T){if(T.visitPrimary_expression_attribute)return T.visitPrimary_expression_attribute(this);else return T.visitChildren(this)}}class T9 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}primary_expression(){return this.getTypedRuleContext(O0,0)}LPAR(){return this.getToken(S.LPAR,0)}RPAR(){return this.getToken(S.RPAR,0)}template_spec_suffix(){return this.getTypedRuleContext(H2,0)}argument_list(){return this.getTypedRuleContext(u7,0)}accept(T){if(T.visitPrimary_expression_call)return T.visitPrimary_expression_call(this);else return T.visitChildren(this)}}class L9 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}atomic_expression(){return this.getTypedRuleContext(g7,0)}accept(T){if(T.visitPrimary_expression_fallback)return T.visitPrimary_expression_fallback(this);else return T.visitChildren(this)}}class I9 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}primary_expression(){return this.getTypedRuleContext(O0,0)}LSQB(){return this.getToken(S.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(Y2,0)}RSQB(){return this.getToken(S.RSQB,0)}accept(T){if(T.visitPrimary_expression_subscript)return T.visitPrimary_expression_subscript(this);else return T.visitChildren(this)}}class u7 extends F{constructor(T,L,I){super(L,I);this.parser=T}argument_definition_list(){return this.getTypedRuleContexts(O2)}argument_definition(T){return this.getTypedRuleContext(O2,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_argument_list}accept(T){if(T.visitArgument_list)return T.visitArgument_list(this);else return T.visitChildren(this)}}class O2 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}name_store(){return this.getTypedRuleContext(M0,0)}EQUAL(){return this.getToken(S.EQUAL,0)}get ruleIndex(){return S.RULE_argument_definition}accept(T){if(T.visitArgument_definition)return T.visitArgument_definition(this);else return T.visitChildren(this)}}class Y2 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_subscript_slice}accept(T){if(T.visitSubscript_slice)return T.visitSubscript_slice(this);else return T.visitChildren(this)}}class g7 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_load(){return this.getTypedRuleContext(h1,0)}literal_expression(){return this.getTypedRuleContext(f7,0)}grouped_expression(){return this.getTypedRuleContext(m7,0)}tuple_expression(){return this.getTypedRuleContext(d7,0)}get ruleIndex(){return S.RULE_atomic_expression}accept(T){if(T.visitAtomic_expression)return T.visitAtomic_expression(this);else return T.visitChildren(this)}}class f7 extends F{constructor(T,L,I){super(L,I);this.parser=T}literal_number(){return this.getTypedRuleContext(X2,0)}literal_string(){return this.getTypedRuleContext(p7,0)}literal_bool(){return this.getTypedRuleContext(x7,0)}literal_color(){return this.getTypedRuleContext(c7,0)}get ruleIndex(){return S.RULE_literal_expression}accept(T){if(T.visitLiteral_expression)return T.visitLiteral_expression(this);else return T.visitChildren(this)}}class X2 extends F{constructor(T,L,I){super(L,I);this.parser=T}NUMBER(){return this.getToken(S.NUMBER,0)}get ruleIndex(){return S.RULE_literal_number}accept(T){if(T.visitLiteral_number)return T.visitLiteral_number(this);else return T.visitChildren(this)}}class p7 extends F{constructor(T,L,I){super(L,I);this.parser=T}STRING(){return this.getToken(S.STRING,0)}get ruleIndex(){return S.RULE_literal_string}accept(T){if(T.visitLiteral_string)return T.visitLiteral_string(this);else return T.visitChildren(this)}}class x7 extends F{constructor(T,L,I){super(L,I);this.parser=T}TRUE(){return this.getToken(S.TRUE,0)}FALSE(){return this.getToken(S.FALSE,0)}get ruleIndex(){return S.RULE_literal_bool}accept(T){if(T.visitLiteral_bool)return T.visitLiteral_bool(this);else return T.visitChildren(this)}}class c7 extends F{constructor(T,L,I){super(L,I);this.parser=T}COLOR(){return this.getToken(S.COLOR,0)}get ruleIndex(){return S.RULE_literal_color}accept(T){if(T.visitLiteral_color)return T.visitLiteral_color(this);else return T.visitChildren(this)}}class m7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LPAR(){return this.getToken(S.LPAR,0)}expression(){return this.getTypedRuleContext(r,0)}RPAR(){return this.getToken(S.RPAR,0)}get ruleIndex(){return S.RULE_grouped_expression}accept(T){if(T.visitGrouped_expression)return T.visitGrouped_expression(this);else return T.visitChildren(this)}}class d7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSQB(){return this.getToken(S.LSQB,0)}RSQB(){return this.getToken(S.RSQB,0)}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_tuple_expression}accept(T){if(T.visitTuple_expression)return T.visitTuple_expression(this);else return T.visitChildren(this)}}class l7 extends F{constructor(T,L,I){super(L,I);this.parser=T}IMPORT(){return this.getToken(S.IMPORT,0)}name_list(){return this.getTypedRuleContexts(c0)}name(T){return this.getTypedRuleContext(c0,T)}SLASH_list(){return this.getTokens(S.SLASH)}SLASH(T){return this.getToken(S.SLASH,T)}literal_number(){return this.getTypedRuleContext(X2,0)}AS(){return this.getToken(S.AS,0)}get ruleIndex(){return S.RULE_import_statement}accept(T){if(T.visitImport_statement)return T.visitImport_statement(this);else return T.visitChildren(this)}}class o7 extends F{constructor(T,L,I){super(L,I);this.parser=T}BREAK(){return this.getToken(S.BREAK,0)}get ruleIndex(){return S.RULE_break_statement}accept(T){if(T.visitBreak_statement)return T.visitBreak_statement(this);else return T.visitChildren(this)}}class v7 extends F{constructor(T,L,I){super(L,I);this.parser=T}CONTINUE(){return this.getToken(S.CONTINUE,0)}get ruleIndex(){return S.RULE_continue_statement}accept(T){if(T.visitContinue_statement)return T.visitContinue_statement(this);else return T.visitChildren(this)}}class B2 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}declaration_mode(){return this.getTypedRuleContext(i7,0)}type_specification(){return this.getTypedRuleContext(w0,0)}get ruleIndex(){return S.RULE_variable_declaration}accept(T){if(T.visitVariable_declaration)return T.visitVariable_declaration(this);else return T.visitChildren(this)}}class O6 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSQB(){return this.getToken(S.LSQB,0)}name_store_list(){return this.getTypedRuleContexts(M0)}name_store(T){return this.getTypedRuleContext(M0,T)}RSQB(){return this.getToken(S.RSQB,0)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_tuple_declaration}accept(T){if(T.visitTuple_declaration)return T.visitTuple_declaration(this);else return T.visitChildren(this)}}class i7 extends F{constructor(T,L,I){super(L,I);this.parser=T}VARIP(){return this.getToken(S.VARIP,0)}VAR(){return this.getToken(S.VAR,0)}get ruleIndex(){return S.RULE_declaration_mode}accept(T){if(T.visitDeclaration_mode)return T.visitDeclaration_mode(this);else return T.visitChildren(this)}}class r7 extends F{constructor(T,L,I){super(L,I);this.parser=T}assignment_target_attribute(){return this.getTypedRuleContext(s7,0)}assignment_target_subscript(){return this.getTypedRuleContext(a7,0)}assignment_target_name(){return this.getTypedRuleContext(n7,0)}assignment_target_group(){return this.getTypedRuleContext(t7,0)}get ruleIndex(){return S.RULE_assignment_target}accept(T){if(T.visitAssignment_target)return T.visitAssignment_target(this);else return T.visitChildren(this)}}class s7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}DOT(){return this.getToken(S.DOT,0)}name_store(){return this.getTypedRuleContext(M0,0)}get ruleIndex(){return S.RULE_assignment_target_attribute}accept(T){if(T.visitAssignment_target_attribute)return T.visitAssignment_target_attribute(this);else return T.visitChildren(this)}}class a7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}LSQB(){return this.getToken(S.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(Y2,0)}RSQB(){return this.getToken(S.RSQB,0)}get ruleIndex(){return S.RULE_assignment_target_subscript}accept(T){if(T.visitAssignment_target_subscript)return T.visitAssignment_target_subscript(this);else return T.visitChildren(this)}}class n7 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}get ruleIndex(){return S.RULE_assignment_target_name}accept(T){if(T.visitAssignment_target_name)return T.visitAssignment_target_name(this);else return T.visitChildren(this)}}class t7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LPAR(){return this.getToken(S.LPAR,0)}assignment_target(){return this.getTypedRuleContext(r7,0)}RPAR(){return this.getToken(S.RPAR,0)}get ruleIndex(){return S.RULE_assignment_target_group}accept(T){if(T.visitAssignment_target_group)return T.visitAssignment_target_group(this);else return T.visitChildren(this)}}class z2 extends F{constructor(T,L,I){super(L,I);this.parser=T}STAREQUAL(){return this.getToken(S.STAREQUAL,0)}SLASHEQUAL(){return this.getToken(S.SLASHEQUAL,0)}PERCENTEQUAL(){return this.getToken(S.PERCENTEQUAL,0)}PLUSEQUAL(){return this.getToken(S.PLUSEQUAL,0)}MINEQUAL(){return this.getToken(S.MINEQUAL,0)}get ruleIndex(){return S.RULE_augassign_op}accept(T){if(T.visitAugassign_op)return T.visitAugassign_op(this);else return T.visitChildren(this)}}class w0 extends F{constructor(T,L,I){super(L,I);this.parser=T}attributed_type_name(){return this.getTypedRuleContext(T5,0)}type_qualifier(){return this.getTypedRuleContext(e7,0)}template_spec_suffix(){return this.getTypedRuleContext(H2,0)}array_type_suffix(){return this.getTypedRuleContext(L5,0)}get ruleIndex(){return S.RULE_type_specification}accept(T){if(T.visitType_specification)return T.visitType_specification(this);else return T.visitChildren(this)}}class e7 extends F{constructor(T,L,I){super(L,I);this.parser=T}CONST(){return this.getToken(S.CONST,0)}INPUT(){return this.getToken(S.INPUT,0)}SIMPLE(){return this.getToken(S.SIMPLE,0)}SERIES(){return this.getToken(S.SERIES,0)}get ruleIndex(){return S.RULE_type_qualifier}accept(T){if(T.visitType_qualifier)return T.visitType_qualifier(this);else return T.visitChildren(this)}}class T5 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_load_list(){return this.getTypedRuleContexts(h1)}name_load(T){return this.getTypedRuleContext(h1,T)}DOT_list(){return this.getTokens(S.DOT)}DOT(T){return this.getToken(S.DOT,T)}get ruleIndex(){return S.RULE_attributed_type_name}accept(T){if(T.visitAttributed_type_name)return T.visitAttributed_type_name(this);else return T.visitChildren(this)}}class H2 extends F{constructor(T,L,I){super(L,I);this.parser=T}LESS(){return this.getToken(S.LESS,0)}GREATER(){return this.getToken(S.GREATER,0)}type_argument_list(){return this.getTypedRuleContext(I5,0)}get ruleIndex(){return S.RULE_template_spec_suffix}accept(T){if(T.visitTemplate_spec_suffix)return T.visitTemplate_spec_suffix(this);else return T.visitChildren(this)}}class L5 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSQB(){return this.getToken(S.LSQB,0)}RSQB(){return this.getToken(S.RSQB,0)}get ruleIndex(){return S.RULE_array_type_suffix}accept(T){if(T.visitArray_type_suffix)return T.visitArray_type_suffix(this);else return T.visitChildren(this)}}class I5 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification_list(){return this.getTypedRuleContexts(w0)}type_specification(T){return this.getTypedRuleContext(w0,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_type_argument_list}accept(T){if(T.visitType_argument_list)return T.visitType_argument_list(this);else return T.visitChildren(this)}}class c0 extends F{constructor(T,L,I){super(L,I);this.parser=T}NAME(){return this.getToken(S.NAME,0)}TYPE(){return this.getToken(S.TYPE,0)}METHOD(){return this.getToken(S.METHOD,0)}CONST(){return this.getToken(S.CONST,0)}INPUT(){return this.getToken(S.INPUT,0)}SIMPLE(){return this.getToken(S.SIMPLE,0)}SERIES(){return this.getToken(S.SERIES,0)}ENUM(){return this.getToken(S.ENUM,0)}AS(){return this.getToken(S.AS,0)}BY(){return this.getToken(S.BY,0)}TO(){return this.getToken(S.TO,0)}get ruleIndex(){return S.RULE_name}accept(T){if(T.visitName)return T.visitName(this);else return T.visitChildren(this)}}class h1 extends F{constructor(T,L,I){super(L,I);this.parser=T}name(){return this.getTypedRuleContext(c0,0)}get ruleIndex(){return S.RULE_name_load}accept(T){if(T.visitName_load)return T.visitName_load(this);else return T.visitChildren(this)}}class M0 extends F{constructor(T,L,I){super(L,I);this.parser=T}name(){return this.getTypedRuleContext(c0,0)}get ruleIndex(){return S.RULE_name_store}accept(T){if(T.visitName_store)return T.visitName_store(this);else return T.visitChildren(this)}}class _5 extends F{constructor(T,L,I){super(L,I);this.parser=T}comment_list(){return this.getTypedRuleContexts(J2)}comment(T){return this.getTypedRuleContext(J2,T)}get ruleIndex(){return S.RULE_comments}accept(T){if(T.visitComments)return T.visitComments(this);else return T.visitChildren(this)}}class J2 extends F{constructor(T,L,I){super(L,I);this.parser=T}COMMENT(){return this.getToken(S.COMMENT,0)}get ruleIndex(){return S.RULE_comment}accept(T){if(T.visitComment)return T.visitComment(this);else return T.visitChildren(this)}}class J6 extends Error{name="PinescriptSyntaxError";lineno;col_offset;constructor(T,L=null,I=null){super(T);this.lineno=L,this.col_offset=I}}class Z6 extends f3{static INSTANCE=new Z6;syntaxError(T,L,I,_,R,$){throw new J6(`${R} (${I}:${_})`,I,_)}}function NL(T,L){if(T.kind!=="Script")return;let I=T;L.fill();let _=[];for(let R of L.tokens){if(R==null||R.type!==S0.COMMENT)continue;let $=(R.text??"").trim();if($.startsWith("//@"))_.push($)}if(_.length)I.annotations=_}function V2(T,L="<unknown>",I="exec"){if(I!=="exec"&&I!=="eval")throw Error(`invalid argument mode: ${I}`);let _=H4.fromString(T),R=new S0(_),$=new g3(R),G=new S($),Q=Z6.INSTANCE;R.removeErrorListeners(),G.removeErrorListeners(),R.addErrorListener(Q),G.addErrorListener(Q);let U=I==="exec"?G.start_script():G.start_expression(),J=new u4().visit(U);if(!J||typeof J!=="object"||!("kind"in J))throw new J6("parse produced no AST");if(I==="exec"&&T.includes("@"))NL(J,$);return J}function yL(T){let L=H4.fromString(T),I=new S0(L);I.removeErrorListeners(),I.addErrorListener(Z6.INSTANCE);let _=[];for(;;){let R=I.nextToken();if(_.push(R),R.type===L0.EOF)break}return _}function R5(T,L){if(!Number.isFinite(T))return null;let I=Math.trunc(T);if(I<0)I=L+I;if(I<0||I>=L)return null;return I}function A1(T){return T!==null&&Number.isFinite(T)}function _9(T){return T!==null&&T!==0}function $5(T,L){if(T===null)return!1;if(L===null)return!0;return T<L}function G5(T,L){if(T===null&&L===null)return!0;if(T===null||L===null)return!1;return T===L}function W6(T){let L=0;for(let I of T)L+=I;return L/T.length}class G0{cells=[];constructor(T,L){if(T===void 0)return;if(!Number.isFinite(T)||T<0)return;let I=Math.min(Math.trunc(T),1e6),_=L===void 0?null:L;for(let R=0;R<I;R++)this.cells.push(_)}size(){return this.cells.length}get(T){let L=R5(T,this.cells.length);return L===null?null:this.cells[L]}set(T,L){let I=R5(T,this.cells.length);if(I===null)return;this.cells[I]=L}push(T){if(this.cells.length>=1e6)return;this.cells.push(T)}pop(){if(this.cells.length===0)return null;return this.cells.pop()}unshift(T){if(this.cells.length>=1e6)return;this.cells.unshift(T)}shift(){if(this.cells.length===0)return null;return this.cells.shift()}clear(){this.cells.length=0}includes(T){return this.cells.includes(T)}first(){return this.cells.length===0?null:this.cells[0]}last(){return this.cells.length===0?null:this.cells[this.cells.length-1]}insert(T,L){if(this.cells.length>=1e6)return;if(!Number.isFinite(T))return;let I=Math.trunc(T);if(I<0)I=this.cells.length+I;if(I<0)I=0;if(I>this.cells.length)I=this.cells.length;this.cells.splice(I,0,L)}remove(T){let L=R5(T,this.cells.length);if(L===null)return null;return this.cells.splice(L,1)[0]}fill(T){for(let L=0;L<this.cells.length;L++)this.cells[L]=T}slice(T,L){let I=this.cells.length,_=Number.isFinite(T)?Math.trunc(T):0,R=L===void 0||!Number.isFinite(L)?I:Math.trunc(L);if(_<0)_=0;let $=new G0;if(R<_)return $;for(let G of this.cells.slice(_,R))$.push(G);return $}copy(){let T=new G0;for(let L of this.cells)T.push(L);return T}reverse(){this.cells.reverse()}sort(T="asc"){this.cells.sort((L,I)=>{if(L===null&&I===null)return 0;if(L===null)return 1;if(I===null)return-1;return T==="desc"?I-L:L-I})}indexof(T){for(let L=0;L<this.cells.length;L++)if(Object.is(this.cells[L],T))return L;return-1}avg(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=0;for(let I of T)L+=I;return L/T.length}min(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I<L)L=I;return L}max(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I>L)L=I;return L}sum(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=0;for(let I of T)L+=I;return L}join(T=","){return this.cells.map((L)=>L===null?"":String(L)).join(T)}static from(...T){let L=new G0,I=Math.min(T.length,1e6);for(let _=0;_<I;_++)L.push(T[_]);return L}lastIndexOf(T){for(let L=this.cells.length-1;L>=0;L--)if(Object.is(this.cells[L],T))return L;return-1}concat(T){for(let L of T.cells){if(this.cells.length>=1e6)break;this.cells.push(L)}return this}abs(){let T=new G0;for(let L of this.cells)T.push(L===null?null:Math.abs(L));return T}every(){for(let T of this.cells)if(!_9(T))return!1;return!0}some(){for(let T of this.cells)if(_9(T))return!0;return!1}median(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T.slice().sort((_,R)=>_-R),I=L.length>>1;if(L.length%2===1)return L[I];return(L[I-1]+L[I])/2}range(){let T=this.max(),L=this.min();if(T===null||L===null)return null;return T-L}mode(){let T=new Map,L=null,I=0;for(let _ of this.cells){if(!A1(_))continue;let R=(T.get(_)??0)+1;if(T.set(_,R),R>I)I=R,L=_}return L}binarySearch(T){return this.binarySearchBy(T,"any")}binarySearchLeftmost(T){if(T===null||this.cells.some((L)=>L===null)){let L=this.indexof(T);return typeof L==="number"?L:-1}return this.binarySearchBy(T,"left")}binarySearchRightmost(T){if(T===null||this.cells.some((L)=>L===null)){let L=this.lastIndexOf(T);return typeof L==="number"?L:-1}return this.binarySearchBy(T,"right")}stdev(T=!0){let L=this.finiteSkip();if(L.length<2)return null;let I=W6(L),_=0;for(let G of L)_+=(G-I)**2;let R=T?L.length:L.length-1;if(R<=0)return null;let $=Math.sqrt(_/R);return Number.isFinite($)?$:null}variance(T=!0){let L=this.finiteSkip();if(L.length<2)return null;let I=W6(L),_=0;for(let G of L)_+=(G-I)**2;let R=T?L.length:L.length-1;if(R<=0)return null;let $=_/R;return Number.isFinite($)?$:null}covariance(T,L=!0){let I=this.finiteSkip(),_=T.finiteSkip(),R=Math.min(I.length,_.length);if(R<2)return null;let $=I.slice(0,R),G=_.slice(0,R),Q=W6($),U=W6(G),O=0;for(let B=0;B<R;B++)O+=($[B]-Q)*(G[B]-U);let J=L?R:R-1;if(J<=0)return null;let D=O/J;return Number.isFinite(D)?D:null}percentileLinearInterpolation(T){if(!Number.isFinite(T)||T<0||T>100)return null;let L=this.finiteSkip().sort((G,Q)=>G-Q);if(L.length===0)return null;let I=L.length,_=T/100*(I-1),R=Math.trunc(_),$=_-R;if(R>=I-1)return L[I-1];if(R<0)return L[0];return L[R]*(1-$)+L[R+1]*$}percentileNearestRank(T){if(!Number.isFinite(T)||T<0||T>100)return null;let L=this.finiteSkip().sort((R,$)=>R-$);if(L.length===0)return null;let I=L.length,_=Math.max(1,Math.trunc(T/100*I+0.5));return L[Math.min(_,I)-1]}percentrank(T){if(!A1(T))return null;let L=this.finiteSkip();if(L.length===0)return null;if(L.length===1)return 0;let I=0;for(let _ of L)if(_<=T)I+=1;return(I-1)/(L.length-1)*100}standardize(){let T=this.finiteSkip();if(T.length<2)return null;let L=W6(T),I=0;for(let $ of T)I+=($-L)**2;let _=Math.sqrt(I/(T.length-1));if(_===0||!Number.isFinite(_))return null;let R=new G0;for(let $ of this.cells)R.push(A1($)?($-L)/_:null);return R}sortIndices(T="asc"){let L=[],I=[];for(let R=0;R<this.cells.length;R++){let $=this.cells[R];if(!A1($)){I.push(R);continue}L.push({key:$,idx:R})}let _=T==="desc";return L.sort((R,$)=>{let G=R.key-$.key;if(G!==0)return _?-G:G;return R.idx-$.idx}),L.map((R)=>R.idx).concat(I)}binarySearchBy(T,L){let I=this.cells,_=I.length;if(L==="left"){let G=0,Q=_;while(G<Q){let U=Math.trunc((G+Q)/2);if($5(I[U],T))G=U+1;else Q=U}if(G<_&&G5(I[G],T))return G;return-1}if(L==="right"){let G=0,Q=_;while(G<Q){let U=Math.trunc((G+Q)/2);if($5(T,I[U]))Q=U;else G=U+1}if(G>0&&G5(I[G-1],T))return G-1;return-1}let R=0,$=_-1;while(R<=$){let G=Math.trunc((R+$)/2),Q=I[G];if(G5(Q,T))return G;if($5(Q,T))R=G+1;else $=G-1}return-1}finiteAll(){let T=[];for(let L of this.cells){if(!A1(L))return null;T.push(L)}return T}finiteSkip(){let T=[];for(let L of this.cells)if(A1(L))T.push(L);return T}toValues(){return this.cells.slice()}}var bL=/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function A0(T){return typeof T==="number"&&Number.isFinite(T)}function X1(T){return Math.max(0,Math.min(255,Math.round(T)))}function R9(T,L,I,_){return{r:X1(T),g:X1(L),b:X1(I),a:X1(_)}}function Q5(T){if(typeof T!=="object"||T===null)return!1;let L=T;return A0(L.r)&&A0(L.g)&&A0(L.b)&&A0(L.a)}function hL(T){return 255*(1-Math.max(0,Math.min(100,T))/100)}function wL(T){return Math.max(0,Math.min(100,Math.round((1-T/255)*100)))}function U5(T){if(typeof T!=="string")return null;let L=bL.exec(T.trim());if(!L)return null;let I=L[1],_=parseInt(I.slice(0,2),16),R=parseInt(I.slice(2,4),16),$=parseInt(I.slice(4,6),16),G=I.length===8?parseInt(I.slice(6,8),16):255;if(![_,R,$,G].every((Q)=>Number.isFinite(Q)))return null;return{r:_,g:R,b:$,a:G}}function S5(T,L,I,_){if(!A0(T)||!A0(L)||!A0(I))return null;let R=A0(_)?hL(_):255;return R9(T,L,I,R)}function $9(T,L,I,_){return S5(T,L,I,_)}function G9(T,L,I,_,R){if(!A0(T)||!A0(L)||!A0(I))return null;if(!Q5(_)||!Q5(R))return null;let $=I-L,G=$===0?0:Math.max(0,Math.min(1,(T-L)/$));return R9(_.r+(R.r-_.r)*G,_.g+(R.g-_.g)*G,_.b+(R.b-_.b)*G,_.a+(R.a-_.a)*G)}var AL={red:{r:255,g:0,b:0,a:255},green:{r:0,g:128,b:0,a:255},blue:{r:0,g:0,b:255,a:255},black:{r:0,g:0,b:0,a:255},white:{r:255,g:255,b:255,a:255},gray:{r:128,g:128,b:128,a:255},grey:{r:128,g:128,b:128,a:255},silver:{r:192,g:192,b:192,a:255},yellow:{r:255,g:255,b:0,a:255},orange:{r:255,g:165,b:0,a:255},purple:{r:128,g:0,b:128,a:255},aqua:{r:0,g:255,b:255,a:255},fuchsia:{r:255,g:0,b:255,a:255},lime:{r:0,g:255,b:0,a:255},maroon:{r:128,g:0,b:0,a:255},navy:{r:0,g:0,b:128,a:255},olive:{r:128,g:128,b:0,a:255},teal:{r:0,g:128,b:128,a:255}};function O5(T){if(typeof T!=="string")return null;let L=T.trim().toLowerCase();if(L.startsWith("color."))L=L.slice(6);let I=AL[L];return I?{...I}:null}function u1(T){if(Q5(T))return T;if(typeof T!=="string")return null;return U5(T)??O5(T)}function Q9(T){let L=u1(T);return L?X1(L.r):null}function U9(T){let L=u1(T);return L?X1(L.g):null}function S9(T){let L=u1(T);return L?X1(L.b):null}function O9(T){let L=u1(T);return L?wL(L.a):null}class m0{name;fields;methods=new Map;isExported=!1;constructor(T,L){this.name=T;this.fields=L.map((I)=>({name:I.name,default:I.default??null}))}addMethod(T,L){this.methods.set(T,L)}getMethod(T){return this.methods.get(T)}cloneType(){let T=new m0(this.name,this.fields.map((L)=>({name:L.name,default:L.default})));T.isExported=this.isExported;for(let[L,I]of this.methods)T.addMethod(L,I);return T}newInstance(T){let L=new R1(this);if(T){for(let I of this.fields)if(Object.hasOwn(T,I.name))L.set(I.name,T[I.name])}return L}}class R1{type;typeName;values=new Map;constructor(T){this.type=T,this.typeName=T.name;for(let L of T.fields)this.values.set(L.name,L.default??null)}get(T){return this.values.has(T)?this.values.get(T):null}set(T,L){if(!this.values.has(T))return;this.values.set(T,L)}getMethod(T){return this.type.getMethod(T)}}class $1{enumName;name;value;constructor(T,L,I){this.enumName=T;this.name=L;this.value=I}equals(T){return T instanceof $1&&T.enumName===this.enumName&&T.name===this.name}toString(){return this.name}}class g1{name;members;constructor(T,L){this.name=T;this.members=L}}function J9(T,L){return new m0(T,L)}function Z9(T,L){let I=new Map;for(let _ of L)I.set(_,new $1(T,_));return new g1(T,I)}var uL=new Set(["request.security","request.security_lower_tf","request.dividends","request.earnings","request.splits","request.financial","request.economic","request.quandl","request.currency_rate","request.seed","request.footprint"]),gL=null,J5=60,Z5=1440,W5=10080,D6=43200,fL={H:J5,"1H":J5,D:Z5,"1D":Z5,W:W5,"1W":W5,M:D6,MO:D6,"1M":D6,"1MO":D6};function Y9(T){return T!=null&&uL.has(T)}function B1(T){if(T==null)return null;let L=T.trim();if(L==="")return null;if(/^\d+$/.test(L)){let G=Number(L);return G>0?G:null}let I=L.toUpperCase(),_=fL[I];if(_!=null)return _;let R=/^(\d+)(MO|H|D|W|M)$/.exec(I);if(R==null)return null;let $=Number(R[1]);if(!($>0))return null;switch(R[2]){case"MO":return $*D6;case"H":return $*J5;case"D":return $*Z5;case"W":return $*W5;case"M":return $;default:return null}}function pL(T){return typeof T==="number"&&Number.isFinite(T)?T:null}function q2(T,L,I,_){let R=I??{};if(!X9(R.symbol,T??""))return null;let $=pL(_),G=B1(R.timeframe),Q=B1(L);if(G!=null&&Q!=null&&G>Q)return $;return $}function xL(T,L){let I=B1(T),_=B1(L);return I!=null&&_!=null&&I<_}function cL(T,L,I,_){let R=I??{};if(!X9(R.symbol,T??""))return null;if(xL(R.timeframe,L))return null;return q2(T,L,R,_)}function X9(T,L){let I=(T??"").trim();if(I==="")return!0;return W9(I)===W9(L)}function W9(T){let L=T.trim().toUpperCase(),I=L.lastIndexOf(":");return I>=0?L.slice(I+1):L}function mL(){return null}function dL(T,L){let[I,_]=iL(T,L);if(I!==""&&I===_)return 1;return null}function lL(T){return gL=rL(T??0),null}function k2(T,L,I={}){if(T==="request.security"){let{sec:_,value:R}=D9(I);return q2(L.symbol,L.timeframe??null,_,R)}if(T==="request.security_lower_tf"){let{sec:_,value:R}=D9(I);return cL(L.symbol,L.timeframe??null,_,R)}if(T==="request.currency_rate"){let[_,R]=oL(I);return dL(_,R)}if(T==="request.seed")return lL(vL(I));return mL()}function D5(T){return!Array.isArray(T)}function D9(T){if(!D5(T))return{sec:{symbol:F2(T[0]),timeframe:F2(T[1]),expression:T[2]},value:sL(T[2])};return{sec:{symbol:T.symbol,timeframe:T.timeframe,expression:T.expression},value:T.sameSymbolValue??null}}function oL(T){if(!D5(T))return[F2(T[0]),F2(T[1])];let L=T.from??T.from_currency??null,I=T.to??T.to_currency??null;return[L,I]}function vL(T){if(!D5(T))return T[0]??0;return T.seed??0}function iL(T,L){let I=(T??"").trim().toUpperCase(),_=(L??"").trim().toUpperCase();if(_!=="")return[I,_];let R=I.indexOf("/");if(R>=0)return[I.slice(0,R),I.slice(R+1)];if(/^[A-Z]{6}$/.test(I))return[I.slice(0,3),I.slice(3)];return[I,_]}function rL(T){if(typeof T==="number"&&Number.isFinite(T))return Math.trunc(T);if(typeof T==="string"){let L=Number(T);if(T.trim()!==""&&Number.isFinite(L))return Math.trunc(L);return K9(T)}if(T==null)return 0;return K9(String(T))}function K9(T){let L=2166136261;for(let I=0;I<T.length;I++)L^=T.charCodeAt(I),L=Math.imul(L,16777619);return L>>>0}function F2(T){if(T==null)return null;return typeof T==="string"?T:String(T)}function sL(T){if(T==null)return null;if(typeof T==="number")return Number.isFinite(T)?T:null;return null}var M2=60,K5=86400,Y5=604800,X5=2592000;function B9(T){let L=B1(T);return L==null?null:L*M2}function z9(T){if(!Number.isFinite(T)||T<=0)return null;if(T<=M2)return"1";if(T<=K5){let I=Math.ceil(T/M2);return I>=K5/M2?"D":String(I)}if(T<=Y5){let I=Math.ceil(T/K5);if(I>=7)return"W";return I<=1?"D":`${I}D`}if(T<=X5){let I=Math.ceil(T/Y5);if(I*Y5>=X5)return"M";return I<=1?"W":`${I}W`}let L=Math.ceil(T/X5);return L<=1?"M":`${L}M`}function H9(T){if(B5(T)||z5(T)||H5(T))return!1;return B1(T)!=null}function B5(T){let L=V5(T);if(L==null||/^\d+$/.test(L))return!1;return L==="D"||L==="DAY"||L==="DAYS"||/^\d+D$/.test(L)}function z5(T){let L=V5(T);if(L==null||/^\d+$/.test(L))return!1;return L==="W"||L==="WEEK"||L==="WEEKS"||/^\d+W$/.test(L)}function H5(T){let L=V5(T);if(L==null||/^\d+$/.test(L))return!1;return L==="M"||L==="1M"||L==="MO"||L==="MONTH"||L==="MONTHS"||/^\d+MO$/.test(L)}function V9(T){if(T==null||T==="")return 1;let L=T.trim().match(/^(\d+)/);return L?Number(L[1]):1}function V5(T){if(T==null)return null;let L=T.trim().toUpperCase();return L===""?null:L}function n0(T){return typeof T==="number"&&Number.isFinite(T)}function E2(T,L,I){if(T==null||typeof T!=="number"||!Number.isFinite(T))return L;return Math.max(1,Math.min(I,Math.trunc(T)))}function F9(T){return n0(T)?T:0}function F5(T){if(T==null||typeof T!=="object"||Array.isArray(T))return;return{...T}}function Y0(T,L,I){if(n0(I))T[L]=I}function F0(T,L,I){T[L]=I}function aL(T,L){if(!n0(T)||!n0(L))return;return`${T},${L}`}class j2{items=[];byId=new Map;nextId=0;maxLines=50;maxLabels=50;maxBoxes=50;maxPolylines=50;constructor(T){if(T!=null)this.configure(T)}configure(T){if(T==null||typeof T!=="object")return;if(T.max_lines_count!==void 0)this.maxLines=E2(T.max_lines_count,this.maxLines,500);if(T.max_labels_count!==void 0)this.maxLabels=E2(T.max_labels_count,this.maxLabels,500);if(T.max_boxes_count!==void 0)this.maxBoxes=E2(T.max_boxes_count,this.maxBoxes,500);if(T.max_polylines_count!==void 0)this.maxPolylines=E2(T.max_polylines_count,this.maxPolylines,100);this.gc("line",this.maxLines),this.gc("label",this.maxLabels),this.gc("box",this.maxBoxes),this.gc("polyline",this.maxPolylines)}get(T){return this.byId.get(T)}all(T){return this.items.filter((L)=>L.kind===T&&!L.deleted)}lineNew(T,L){return this.push("line",T,{extra:L,cap:this.maxLines})}labelNew(T,L){return this.push("label",T,{text:L,cap:this.maxLabels})}boxNew(T){return this.push("box",T,{cap:this.maxBoxes})}tableNew(T){return this.push("table",T)}polylineNew(T){return this.push("polyline",T,{cap:this.maxPolylines})}linefillNew(T,L,I){let _={},R=F5(L);if(R!=null)Object.assign(_,R);else{if(n0(L))_.id1=L;if(n0(I))_.id2=I}return this.push("linefill",T,{extra:Object.keys(_).length?_:void 0})}alert(T,L){this.items.push({kind:"alert",bar:F9(T),text:L==null?"":String(L)})}lineSetXy(T,L,I,_,R){let $=this.extraOf(T);if(!$)return;Y0($,"x1",L),Y0($,"y1",I),Y0($,"x2",_),Y0($,"y2",R)}lineSetXy1(T,L,I){let _=this.extraOf(T);if(!_)return;Y0(_,"x1",L),Y0(_,"y1",I)}lineSetXy2(T,L,I){let _=this.extraOf(T);if(!_)return;Y0(_,"x2",L),Y0(_,"y2",I)}labelSetText(T,L){let I=this.byId.get(T);if(!I)return;I.text=L==null?"":String(L)}labelSetXy(T,L,I){let _=this.extraOf(T);if(!_)return;Y0(_,"x",L),Y0(_,"y",I)}boxSet(T,L){let I=this.byId.get(T),_=F5(L);if(!I||_==null)return;I.extra={...I.extra??{},..._}}boxSetCorners(T,L,I,_,R){let $=this.extraOf(T,"box");if(!$)return;Y0($,"left",L),Y0($,"top",I),Y0($,"right",_),Y0($,"bottom",R)}lineSetColor(T,L){let I=this.extraOf(T,"line");if(!I)return;F0(I,"color",L)}lineSetWidth(T,L){let I=this.extraOf(T,"line");if(!I)return;Y0(I,"width",L)}lineSetStyle(T,L){let I=this.extraOf(T,"line");if(!I)return;F0(I,"style",L)}lineSetExtend(T,L){let I=this.extraOf(T,"line");if(!I)return;F0(I,"extend",L)}lineGetX1(T){return this.lineGetNum(T,"x1")}lineGetY1(T){return this.lineGetNum(T,"y1")}lineGetX2(T){return this.lineGetNum(T,"x2")}lineGetY2(T){return this.lineGetNum(T,"y2")}getX1(T){return this.extraNum(T,"x1")}getY1(T){return this.extraNum(T,"y1")}getX2(T){return this.extraNum(T,"x2")}getY2(T){return this.extraNum(T,"y2")}labelGetX(T){let L=this.byId.get(T);if(!L||L.kind!=="label")return null;return this.extraNum(T,"x")}labelGetY(T){let L=this.byId.get(T);if(!L||L.kind!=="label")return null;return this.extraNum(T,"y")}labelGetText(T){let L=this.byId.get(T);if(!L||L.kind!=="label")return null;if(L.text!==void 0)return L.text;let I=L.extra?.text;return I==null?null:String(I)}lineGetPrice(T,L){if(!n0(L))return null;let I=this.lineGetNum(T,"x1"),_=this.lineGetNum(T,"y1"),R=this.lineGetNum(T,"x2"),$=this.lineGetNum(T,"y2");if(I==null||_==null||R==null||$==null)return null;if(I===R)return _;let G=(L-I)/(R-I);return _+G*($-_)}labelSetColor(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"color",L)}labelSetStyle(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"style",L)}labelSetSize(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"size",L)}labelSetTextalign(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"textalign",L)}labelSetTooltip(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"tooltip",L)}boxSetBgcolor(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"bgcolor",L)}boxSetBorderColor(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"border_color",L)}boxSetText(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"text",L==null?"":String(L))}boxSetExtend(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"extend",L)}tableCell(T,L,I,_){this.upsertCell(T,L,I,_,_!==void 0)}tableCellSetText(T,L,I,_){this.upsertCell(T,L,I,_,!0)}tableSetPosition(T,L){let I=this.extraOf(T,"table");if(!I)return;F0(I,"position",L)}linefillSetColor(T,L){let I=this.extraOf(T,"linefill");if(!I)return;F0(I,"color",L)}exportForApi(){let T=[];for(let L of this.items){if(L.deleted)continue;let I={kind:L.kind,bar:L.bar};if(L.text!==void 0)I.text=L.text;if(L.extra!==void 0)I.extra={...L.extra};T.push(I)}return T}lineDelete(T){this.markDeleted(T)}labelDelete(T){this.markDeleted(T)}boxDelete(T){this.markDeleted(T)}push(T,L,I){let _=this.nextId++,R={kind:T,bar:F9(L)};if(I?.text!==void 0&&I.text!==null)R.text=String(I.text);let $=F5(I?.extra);if($!==void 0)R.extra=$;if(this.items.push(R),this.byId.set(_,R),I?.cap!=null)this.gc(T,I.cap);return _}extraOf(T,L){let I=this.byId.get(T);if(!I)return;if(L!=null&&I.kind!==L)return;if(I.extra==null)I.extra={};return I.extra}lineGetNum(T,L){let I=this.byId.get(T);if(!I||I.kind!=="line")return null;let _=I.extra?.[L];return n0(_)?_:null}extraNum(T,L){let I=this.byId.get(T);if(!I)return null;let _=I.extra?.[L];return n0(_)?_:null}upsertCell(T,L,I,_,R){let $=this.extraOf(T,"table"),G=aL(L,I);if(!$||G==null)return;let Q=$.cells,U=Q!=null&&typeof Q==="object"&&!Array.isArray(Q)?Q:{};if(U!==Q)$.cells=U;let O=U[G],J=O!=null&&typeof O==="object"&&!Array.isArray(O)?O:{};if(R)J.text=_==null?"":String(_);else if(J.text===void 0)J.text="";U[G]=J}markDeleted(T){let L=this.byId.get(T);if(!L)return;L.deleted=!0}gc(T,L){let I=L>0?L:50,_=0;for(let $ of this.items)if($.kind===T&&!$.deleted)_++;let R=_-I;if(R<=0)return;for(let $=0;$<this.items.length&&R>0;){let G=this.items[$];if(G.kind===T&&!G.deleted)G.deleted=!0,this.items.splice($,1),this.forget(G),R--;else $++}}forget(T){for(let[L,I]of this.byId)if(I===T){this.byId.delete(L);return}}}class C2{records=[];info(T,L){this.records.push({level:"INFO",bar:T,message:L})}warning(T,L){this.records.push({level:"WARNING",bar:T,message:L})}error(T,L){this.records.push({level:"ERROR",bar:T,message:L})}clear(){this.records.length=0}snapshot(){return this.records.slice()}}class q5 extends Error{name="RuntimeError";constructor(T){super(T)}}function k5(T){throw new q5(T)}function M5(T){if(T.length===0)return"";let L=T[0];if(typeof L==="string"&&T.length>1&&/\{[0-9]/.test(L))return L.replace(/\{(\d+)\}/g,(I,_)=>q9(T[Number(_)+1]));return T.map(q9).join(" ")}function q9(T){if(T==null)return"na";if(typeof T==="number"&&!Number.isFinite(T))return"na";return String(T)}class I0{symbol;session;adjust;heikinashi=!1;renko=!1;kagi=!1;linebreak=!1;pointfigure=!1;constructor(T,L,I){this.symbol=T;this.session=L;this.adjust=I}toString(){return this.symbol}}function E5(T,L,I){return new I0(T,L,I)}function j5(T){let L=new I0(typeof T==="string"?T:String(T));return L.heikinashi=!0,L}function C5(T){return new I0(T)}function P5(T){let L=new I0(T);return L.renko=!0,L}function N5(T){let L=new I0(typeof T==="string"?T:String(T));return L.kagi=!0,L}function y5(T){let L=new I0(typeof T==="string"?T:String(T));return L.linebreak=!0,L}function b5(T){let L=new I0(typeof T==="string"?T:String(T));return L.pointfigure=!0,L}function h5(T,L){let I=typeof T==="string"?new I0(T):T,_=new I0(L?.symbol??I.symbol,L?.session??I.session,L?.adjust??L?.adjustment??I.adjust);return _.heikinashi=I.heikinashi,_.renko=I.renko,_.kagi=I.kagi,_.linebreak=I.linebreak,_.pointfigure=I.pointfigure,_}var nL=new Set(["input","input.bool","input.int","input.float","input.price","input.string","input.symbol","input.session","input.source","input.time","input.timeframe","input.color","input.enum","input.text_area"]);function k9(T){return T!=null&&nL.has(T)}function tL(T,L={}){if(L.defval!==void 0)return L.defval;return T[0]}function M9(T,L,I={}){let _=tL(L,I);switch(T){case"input.bool":return _==null?!1:Boolean(_);case"input.int":case"input.time":return TI(_,0);case"input.float":case"input.price":return E9(_,0);case"input.string":case"input.symbol":case"input.session":case"input.source":case"input.timeframe":case"input.color":case"input.enum":case"input.text_area":return _==null?"":String(_);default:return eL(_)}}function w5(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number")return Number.isFinite(T)?T:null;let L=Number(T);return Number.isFinite(L)?L:null}function eL(T){if(T==null)return null;if(typeof T==="boolean"||typeof T==="string")return T;if(typeof T==="number")return Number.isFinite(T)?T:null;return null}function E9(T,L){if(typeof T==="number"&&Number.isFinite(T))return T;if(typeof T==="boolean")return T?1:0;if(typeof T==="string"&&T!==""){let I=Number(T);if(Number.isFinite(I))return I}return L}function TI(T,L){return Math.trunc(E9(T,L))}function s(T){return T!==null&&Number.isFinite(T)?T:null}function _0(T){return Number.isFinite(T)?T:null}function j9(T){return T>=0?Math.round(T):-Math.round(-T)}function C9(T){let L=s(T);return L===null?null:Math.abs(L)}function P9(T){let L=s(T);if(L===null)return null;if(L>0)return 1;if(L<0)return-1;return 0}function N9(T){let L=s(T);if(L===null||L<0)return null;return _0(Math.sqrt(L))}function y9(T,L){let I=s(T);if(I===null||I<=0)return null;if(L===void 0)return _0(Math.log(I));let _=s(L);if(_===null||_<=0||_===1)return null;return _0(Math.log(I)/Math.log(_))}function b9(T){let L=s(T);if(L===null||L<=0)return null;return _0(Math.log10(L))}function h9(T){let L=s(T);return L===null?null:_0(Math.exp(L))}function w9(T,L){let I=s(T),_=s(L);if(I===null||_===null)return null;return _0(Math.pow(I,_))}function A9(...T){if(T.length===0)return null;let L=-1/0;for(let I of T){let _=s(I);if(_===null)return null;if(_>L)L=_}return _0(L)}function u9(...T){if(T.length===0)return null;let L=1/0;for(let I of T){let _=s(I);if(_===null)return null;if(_<L)L=_}return _0(L)}function g9(T,L){let I=s(T);if(I===null)return null;if(L===void 0)return j9(I);let _=s(L);if(_===null)return null;let R=10**Math.trunc(_);if(!Number.isFinite(R))return null;return _0(j9(I*R)/R)}function f9(T){let L=s(T);return L===null?null:Math.floor(L)}function p9(T){let L=s(T);return L===null?null:Math.ceil(L)}function x9(...T){if(T.length===0)return null;let L=0;for(let I of T){let _=s(I);if(_===null)return null;L+=_}return _0(L/T.length)}function c9(...T){if(T.length===0)return null;let L=0;for(let I of T){let _=s(I);if(_===null)return null;L+=_}return _0(L)}function P2(T,L){let I=s(T);return I===null?null:_0(L(I))}function m9(T){return P2(T,Math.sin)}function d9(T){return P2(T,Math.cos)}function l9(T){return P2(T,Math.tan)}function o9(T){let L=s(T);if(L===null||L<-1||L>1)return null;return _0(Math.asin(L))}function v9(T){let L=s(T);if(L===null||L<-1||L>1)return null;return _0(Math.acos(L))}function i9(T){return P2(T,Math.atan)}function r9(T){let L=s(T);return L===null?null:_0(L*180/Math.PI)}function s9(T){let L=s(T);return L===null?null:_0(L*Math.PI/180)}function a9(T){if(T===null)return null;return Number.isFinite(T)?1:0}function n9(T,L=0.01){let I=s(T),_=s(L);if(I===null||_===null||_<=0)return I===null?null:_0(Number(I.toFixed(8)));return _0(Math.round(I/_)*_)}function t9(T,L,I=Math.random){if(T===void 0&&L===void 0)return _0(I());if(L===void 0){let $=s(T);if($===null)return null;return _0($*I())}let _=s(T),R=s(L);if(_===null||R===null)return null;return _0(_+(R-_)*I())}function K6(T){let L=Number.isFinite(T)?Math.trunc(T/1000):0;if(L<-62167219200)L=-62167219200;else if(L>253402300799)L=253402300799;let I=Math.trunc(L/86400),_=L%86400;if(_<0)I-=1,_+=86400;let R=Math.trunc(_/3600);_%=3600;let $=Math.trunc(_/60),G=_%60,U=(((I+3)%7+7)%7+1)%7+1,O=I+719468,J=Math.trunc((O>=0?O:O-146096)/146097),D=O-J*146097,B=Math.trunc((D-Math.trunc(D/1460)+Math.trunc(D/36524)-Math.trunc(D/146096))/365),H=B+J*400,z=D-(365*B+Math.trunc(B/4)-Math.trunc(B/100)),X=Math.trunc((5*z+2)/153),k=z-Math.trunc((153*X+2)/5)+1,C=X<10?X+3:X-9;return{year:H+(C<=2?1:0),month:C,dayofmonth:k,hour:R,minute:$,second:G,dayofweek:U}}var e9=86400000,f5=86400,TT={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function z1(T,L){return Math.floor(T/L)}function _T(T,L){return(T%L+L)%L}function c5(T,L,I){T-=L<=2?1:0;let _=z1(T>=0?T:T-399,400),R=T-_*400,$=z1(153*(L+(L>2?-3:9))+2,5)+I-1,G=R*365+z1(R,4)-z1(R,100)+$;return _*146097+G-719468}function LI(T){return T%4===0&&(T%100!==0||T%400===0)}function II(T,L){if(L===2)return LI(T)?29:28;return L===4||L===6||L===9||L===11?30:31}function _I(T,L,I,_,R,$){return(c5(T,L,I)*f5+_*3600+R*60+$)*1000}function RI(T,L){let I=T,_=L;if(_===0)_=1;else if(_<1||_>12){let R=_-1;I+=z1(R,12),_=_T(R,12)+1}if(I<1)I=1;else if(I>9999)I=9999;return[I,_]}function y2(T){if(T==null)return null;if(typeof T==="number")return Number.isFinite(T)?Math.trunc(T):null;if(typeof T==="string"){let L=T.trim();if(!L)return null;let I=Number(L);return Number.isFinite(I)?Math.trunc(I):null}return null}function A5(T,L=0){if(T==null)return L;if(typeof T==="number")return Number.isFinite(T)?Math.trunc(T):L;if(typeof T==="string"){let I=T.trim();if(!I)return L;let _=Number(I);return Number.isFinite(_)?Math.trunc(_):L}return L}function f1(T,L,I){return(T==="+"?1:-1)*(L*60+I)}function u5(T,L){if(!L||L.length>4||!/^\d+$/.test(L))return null;if(L.length<=2)return f1(T,Number(L),0);let I=L.padStart(4,"0");return f1(T,Number(I.slice(0,2)),Number(I.slice(2)))}function $I(T){let L=T.trim();if(!L||/^(?:syminfo\.timezone|UTC|utc|Etc\/UTC|GMT|gmt)$/.test(L))return 0;let I=/^(?:(?:UTC|GMT)\s*)?([+-])\s*(\d{1,2})(?::(\d{2})|(\d{2}))?$/i.exec(L);if(!I)return 0;return f1(I[1],Number(I[2]),Number(I[3]||I[4]||0))}function LT(T){let L=T.trim().replace(/\s+/g," ");return L=L.replace(/\b0000-/,"0001-"),L=L.replace(/(\d{4}-\d{2}-\d{2}):(\d{1,2}:\d{2})/,"$1 $2"),L=L.replace(/(\d)([A-Za-z]{3,})/g,"$1 $2"),L=L.replace(/\bSept\b/gi,"Sep"),L=L.replace(/\bJanv\b/gi,"Jan"),L}function GI(T){let L=0,I=/^(?:UTC|GMT)\s+/i.exec(T);if(I)T=T.slice(I[0].length).trim();let _=/\s*(?:GMT|UTC)\s*([+-])(\d{1,2})(?::?(\d{2}))?\s*$/i.exec(T);if(_&&_.index!==void 0)return L=f1(_[1],Number(_[2]),_[3]?Number(_[3]):0),{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/Z\s*$/i.exec(T),_&&T.length>1&&_.index!==void 0)return{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/\s+([+-])(\d{1,2}):(\d{2})\s*$/.exec(T),_&&_.index!==void 0)return L=f1(_[1],Number(_[2]),Number(_[3])),{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/\s+([+-])(\d{1,4})\s*$/.exec(T),_&&_.index!==void 0){let R=u5(_[1],_[2]);if(R!=null)return{date:T.slice(0,_.index).trim(),offsetMin:R}}if(_=/(?<=\d)([+-])(\d{2}):(\d{2})\s*$/.exec(T),_&&_.index!==void 0)return L=f1(_[1],Number(_[2]),Number(_[3])),{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/(?<=\d)([+-])(\d{4})\s*$/.exec(T),_&&_.index!==void 0){let R=u5(_[1],_[2]);if(R!=null)return{date:T.slice(0,_.index).trim(),offsetMin:R}}if(_=/(?<=\d)([+-])(\d{2})\s*$/.exec(T),_&&_.index!==void 0){let R=T.slice(0,_.index);if(/\d{1,2}:\d{2}$/.test(R)||R.endsWith("T")||/T\d/.test(R)){let $=u5(_[1],_[2]);if($!=null)return{date:R.trim(),offsetMin:$}}}return{date:T.replace(/\s+(?:GMT|UTC)\s*$/i,"").trim(),offsetMin:L}}function N2(T,L,I,_,R,$){if(T<1||T>9999)return null;if(L<1||L>12)return null;if(I<1||I>II(T,L))return null;if(_<0||_>23||R<0||R>59||$<0||$>59)return null;return _I(T,L,I,_,R,$)}function QI(T){let L=/^([A-Za-z]+)\s+(\d{1,2}),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T);if(L){let I=TT[L[1].toLowerCase()];if(I==null)return null;return N2(Number(L[3]),I,Number(L[2]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0))}if(L=/^(\d{1,2})\s+([A-Za-z]+),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T),L){let I=TT[L[2].toLowerCase()];if(I==null)return null;return N2(Number(L[3]),I,Number(L[1]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0))}if(L=/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T),L)return N2(Number(L[1]),Number(L[2]),Number(L[3]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0));if(L=/^(\d{4})\s+(\d{1,2})\s+(\d{1,2})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T),L)return N2(Number(L[1]),Number(L[2]),Number(L[3]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0));return null}function IT(T,L){let I=QI(T);if(I==null)return null;return I-L*60000}function RT(T,L,I){return c5(T,L,I)+719163}function g5(T){let L=RT(T,1,1),I=_T(L+6,7),_=L-I;if(I>3)_+=7;return _}function UI(T,L,I){let _=RT(T,L,I),R=g5(T),$=z1(_-R,7);if($<0)R=g5(T-1),$=z1(_-R,7);else if($>=52&&_>=g5(T+1))$=0;return $+1}function p5(T,L,I,_=0,R=0,$=0,G){let Q=y2(T),U=y2(L),O=y2(I);if(Q==null||U==null||O==null)return null;let J=A5(_,0),D=A5(R,0),B=A5($,0),[H,z]=RI(Q,U),k=c5(H,z,1)*f5+(O-1)*f5+J*3600+D*60+B;if(G!=null&&Number.isFinite(G))k-=Math.trunc(G)*60;return k*1000}function x5(T){let L=T.trim();if(!L)return null;let I=LT(L),_=IT(I,0);if(_!=null)return _;let R=GI(I),$=LT(R.date);if(!$)return null;return IT($,R.offsetMin)}function m5(...T){let L=T.length;if(L===0)return null;if(L===1){let I=T[0];if(typeof I==="string")return x5(I);return y2(I)}if(typeof T[0]==="string"){let I=T[0].trim(),_=I!==""&&/^[+-]?\d+(?:\.\d+)?$/.test(I);if(L>=4&&!_)return p5(T[1],T[2],T[3],L>4?T[4]:0,L>5?T[5]:0,L>6?T[6]:0,$I(T[0]));if(L<4)return x5(T[0])}if(L>=3)return p5(T[0],T[1],T[2],L>3?T[3]:0,L>4?T[4]:0,L>5?T[5]:0);return null}function d5(T){if(!Number.isFinite(T))return null;let L=K6(T);return UI(L.year,L.month,L.dayofmonth)}function l5(T){if(!Number.isFinite(T))return null;return Math.floor(T/e9)*e9}function o5(T){if(T==null||typeof T!=="object"||Array.isArray(T))return!1;let L=Object.getPrototypeOf(T);return L===Object.prototype||L===null}function Y6(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number"){if(!Number.isFinite(T))return null;return Math.trunc(T)}if(typeof T==="bigint"){let L=Number(T);if(!Number.isFinite(L))return null;return Math.trunc(L)}if(typeof T==="string"){let L=T.trim();if(!/^[+-]?\d+$/.test(L))return null;let I=Number(L);if(!Number.isFinite(I))return null;return Math.trunc(I)}return null}function $T(T,L,I){let _=T.slice();for(let[R,$]of Object.entries(L)){let G=I.indexOf(R);if(G<0)continue;while(_.length<=G)_.push(null);if(G<T.length&&T[G]!=null)continue;_[G]=$}return _}function GT(T,L){if(L!==void 0)return{args:T,kwargs:L};if(T.length===0)return{args:[],kwargs:{}};if(T.length===1&&o5(T[0]))return{args:[],kwargs:T[0]};if(Array.isArray(T[0])&&(T.length===1||T.length===2)&&(T[1]===void 0||o5(T[1])))return{args:T[0],kwargs:T[1]??{}};let I=T[T.length-1];if(T.length>1&&o5(I))return{args:T.slice(0,-1),kwargs:I};return{args:T,kwargs:{}}}function QT(T,L){let I=["dimension_x","dimension_y","index_x","index_y"],_={dim_x:"dimension_x",dim_y:"dimension_y",ix:"index_x",iy:"index_y"},R={};for(let[O,J]of Object.entries(L))R[_[O]??O]=J;let $=$T(T,R,I);if($.length<4)return null;let G=Y6($[1]),Q=Y6($[2]),U=Y6($[3]);if(G==null||Q==null||U==null)return null;return Q*G+U}function UT(T,L){let I=["dimension_x","dimension_y","index"],_={dim_x:"dimension_x",dim_y:"dimension_y",i:"index"},R={};for(let[J,D]of Object.entries(L))R[_[J]??J]=D;let $=$T(T,R,I);if($.length<3)return null;let G=Y6($[1]),Q=Y6($[2]);if(G==null||Q==null||G===0)return null;let U=Math.floor(Q/G),O=(Q%G+G)%G;return[U,O]}function SI(...T){let L=GT(T);return QT(L.args,L.kwargs)}function OI(...T){let L=GT(T);return UT(L.args,L.kwargs)}var G1={index_2d_to_1d:SI,index_1d_to_2d:OI};function JI(T,L=[],I={}){if(T==="index_2d_to_1d")return QT(L,I);if(T==="index_1d_to_2d")return UT(L,I);let _=G1[T];if(_==null)return;return _(L,I)}function ZI(T){if(T==null)return new Map;if(T instanceof Map)return T;return new Map(Object.entries(T))}class H1{title;namespace;version;exports;kinds;resolveStubs;constructor(T,L){this.title=T,this.namespace=L?.namespace??null,this.version=L?.version??null,this.exports=ZI(L?.exports),this.kinds=new Map,this.resolveStubs=L?.resolveStubs===!0}get(T){if(this.exports.has(T))return this.exports.get(T);if(this.resolveStubs&&Object.hasOwn(G1,T))return G1[T];return}has(T){if(this.exports.has(T))return!0;return this.resolveStubs&&Object.hasOwn(G1,T)}setExport(T,L){this.putExport(T,L,"const")}exportType(T,L){this.putExport(T,L,"type")}exportEnum(T,L){this.putExport(T,L,"enum")}exportFn(T,L){this.putExport(T,L,"fn")}kindOf(T){let L=this.kinds.get(T);if(L!==void 0)return L;if(this.resolveStubs&&Object.hasOwn(G1,T))return"fn";return}allExports(){let T={};for(let[L,I]of this.exports)T[L]=I;return T}putExport(T,L,I){this.exports.set(T,L),this.kinds.set(T,I)}}function v5(T){return new H1(T,{resolveStubs:!0})}function b2(T,L,I){return`${T}\x00${L}\x00${Math.trunc(I)}`}class X6{byPath=new Map;byTitle=new Map;sources=new Map;register(T){if(this.byTitle.set(T.title,T),T.namespace!=null&&T.version!=null)this.byPath.set(b2(T.namespace,T.title,T.version),T)}registerSource(T,L,I,_){this.sources.set(b2(T,L,Math.trunc(I)),_)}getSource(T,L,I){return this.sources.get(b2(T,L,Math.trunc(I)))??null}lookup(T){let{namespace:L,name:I,version:_}=T;if(L!=null&&_!=null){let R=this.byPath.get(b2(L,I,_));if(R!=null)return R}return this.byTitle.get(I)??null}clear(){this.byPath.clear(),this.byTitle.clear(),this.sources.clear()}}var K=null;class p1{data=[];push(T){this.data.push(T)}setCurrent(T){if(this.data.length===0)this.data.push(T);else this.data[this.data.length-1]=T}get current(){return this.data.length===0?null:this.data[this.data.length-1]}get(T){if(typeof T!=="number"||!Number.isFinite(T)||T<0)return null;let L=this.data.length;if(L===0)return null;let I=L-1-Math.trunc(T);if(I<0||I>=L)return null;let _=this.data[I];if(_==null)return null;if(typeof _==="number"&&!Number.isFinite(_))return null;return _}get length(){return this.data.length}}function i(T){if(T==null)return null;return typeof T==="string"?T:String(T)}function r5(T){return i(T)??""}function OT(T){let L=i(T);return L==null?null:L.length}function JT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.includes(_)}function ZT(T){let L=i(T);return L==null?null:L.toUpperCase()}function WT(T){let L=i(T);return L==null?null:L.toLowerCase()}function DT(T,L,I,_){if(T==null)return null;let R=i(T)??"",$=i(L)??"",G=i(I)??"",Q=typeof _==="number"&&Number.isFinite(_)?Math.trunc(_):0;if(Q<0)return R;if($===""){if(Q>R.length)return R;return R.slice(0,Q)+G+R.slice(Q)}let U=0;for(let O=0;O<=Q;O++){let J=R.indexOf($,U);if(J<0)return R;if(O===Q)return R.slice(0,J)+G+R.slice(J+$.length);U=J+$.length}return R}function i5(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number")return Number.isFinite(T)?Math.trunc(T):null;if(typeof T==="string"){let L=Number(T.trim());return Number.isFinite(L)?Math.trunc(L):null}return null}function WI(T){if(T===0)return"0";let L=T.toPrecision(6);if(/[eE]/.test(L))return L.replace(/\.?0+([eE])/,"$1");return String(Number(L))}function KT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.startsWith(_)}function YT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.endsWith(_)}function XT(T,L,I){if(T==null)return null;let _=i(T)??"";if(L==null)return null;let R=i5(L);if(R==null)return null;if(I===void 0)return _.slice(R);if(I==null)return null;let $=i5(I);if($==null)return null;return _.slice(R,$)}var DI=1e6;function BT(T,L){if(T==null||L==null)return null;let I=i(T)??"",_=i5(L);if(_==null)return null;if(_<0)_=0;if(I.length>0&&_>Math.floor(DI/I.length))return null;return I.repeat(_)}function zT(T){let L=i(T);return L==null?null:L.trim()}function HT(T,L){let I=T==null?"":i(T)??"";if(L===void 0||L==null){let R=I.trim();return R===""?[]:R.split(/\s+/)}let _=i(L)??"";if(_==="")return[...I];return I.split(_)}function VT(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number")return Number.isFinite(T)?T:null;let L=(i(T)??"").trim();if(!L)return null;let I=Number(L);return Number.isFinite(I)?I:null}function FT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.indexOf(_)}function qT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;try{let R=I.match(new RegExp(_));return R==null?null:R[0]}catch{return null}}var ST="yyyy-MM-dd'T'HH:mm:ssZ",KI=["January","February","March","April","May","June","July","August","September","October","November","December"],YI=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Q1(T){return T<10?`0${T}`:String(T)}function XI(T){let L=new Date(T);return{year:L.getUTCFullYear(),month:L.getUTCMonth()+1,day:L.getUTCDate(),hour:L.getUTCHours(),minute:L.getUTCMinutes(),second:L.getUTCSeconds()}}function BI(T){let L=T;if(Array.isArray(L))L=L.length?L[L.length-1]:null;if(typeof L!=="string")return 0;let I=L.trim();if(!I||I==="syminfo.timezone"||I==="UTC"||I==="utc"||I==="Etc/UTC"||I==="GMT")return 0;if(I.toUpperCase().includes("GMT")||I.startsWith("UTC+")||I.startsWith("UTC-")||I.startsWith("utc+")||I.startsWith("utc-")){let _=I.toUpperCase().replaceAll("GMT","").replaceAll("UTC","").trim();if(!_||!/^[+-]?\d+$/.test(_))return 0;let R=Number.parseInt(_,10);return Number.isFinite(R)?R:0}return 0}function zI(T){let L=T;if(L!=null&&typeof L==="object"&&"current"in L)L=L.current;if(L==null||typeof L==="boolean"||typeof L==="string")return null;if(typeof L!=="number"||!Number.isFinite(L))return null;let I=Math.trunc(L);if(I>0&&I<10000000000)I*=1000;return I}function HI(T){return`${T>=0?"+":"-"}${Q1(Math.abs(T))}00`}function VI(T){if(T===0)return"UTC";return`UTC${T>=0?"+":"-"}${Q1(Math.abs(T))}:00`}function kT(T,L,I){let _=zI(T);if(_==null)return"NaN";let R=L==null?ST:i(L)??ST,$=BI(I),G=XI(_+$*3600000),Q=(G.hour-1)%12+1,U={yyyy:String(G.year),yy:String(G.year).slice(-2),MMMM:KI[G.month-1]??"",MMM:YI[G.month-1]??"",MM:Q1(G.month),M:String(G.month),dd:Q1(G.day),d:String(G.day),HH:Q1(G.hour),H:String(G.hour),hh:Q1(Q),h:String(Q),mm:Q1(G.minute),m:String(G.minute),ss:Q1(G.second),s:String(G.second),a:G.hour<12?"AM":"PM",zzz:VI($),z:HI($)},O=R;for(let J of Object.keys(U).sort((D,B)=>B.length-D.length))O=O.split(J).join(U[J]);return O.replaceAll("'","")}function MT(T,...L){if(T==null)return"NaN";return(typeof T==="string"?T:String(T)).replace(/\{([^{}]+)\}/g,(_,R)=>{let $=R.split(",").map((J)=>J.trim()),G=Number.parseInt($[0]??"",10);if(!Number.isFinite(G))return _;if(G<0||G>=L.length)return"";let Q=L[G];if(Q==null)return"NaN";let U=($[1]??"").toLowerCase(),O=$[2]??"";if(U===""||U==="string")return String(Q);if(U==="number"){let J=typeof Q==="number"?Q:Number(Q);if(!Number.isFinite(J))return String(Q);if(O){if(O.includes(".")){let D=O.split(".",2)[1].length;return J.toFixed(D)}return String(Math.trunc(J))}return WI(J)}if(U==="integer"){let J=typeof Q==="number"?Q:Number(Q);if(!Number.isFinite(J))return String(Q);return String(Math.trunc(J))}return String(Q)})}function ET(T,L){if(T==null)return null;if(!Array.isArray(T))return null;let I=L==null?"":i(L)??"";return T.map((_)=>_==null?"":String(_)).join(I)}function FI(T,L,I){if(L==="")return T;return T.split(L).join(I)}function jT(T,L,I){if(T==null)return null;let _=i(T)??"",R=i(L)??"",$=i(I)??"";return FI(_,R,$)}function E(T){return typeof T==="number"&&Number.isFinite(T)}function CT(T){return E(T)?T:null}function qI(T,L,I,_){let{limit:R,stop:$,direction:G}=T;if(R!=null&&$!=null){if(G==="long"&&I>=$&&_<=R)return R;if(G==="short"&&_<=$&&I>=R)return R;return null}if(R!=null){if(G==="long"&&_<=R)return Math.min(R,L);if(G==="short"&&I>=R)return Math.max(R,L);return null}if($!=null){if(G==="long"&&I>=$)return Math.max($,L);if(G==="short"&&_<=$)return Math.min($,L);return null}return null}function PT(T,L){return E(T)?T:L}function NT(T){if(T==null||!E(T))return;return Math.max(0,Math.trunc(T))}function h2(T){if(T===1||T==="1")return"long";if(T===-1||T==="-1")return"short";let L=String(T??"").toLowerCase();if(L.includes("long"))return"long";if(L.includes("short"))return"short";return"long"}function yT(T){let L=Math.trunc(T);if(L>10000000000)return Math.trunc(L/86400000);if(L>1e7)return Math.trunc(L/86400);return L}function kI(T){let L=String(T??"none").trim().toLowerCase();if(L==="cancel"||L==="oca.cancel"||L==="strategy.oca.cancel")return"cancel";if(L==="reduce"||L==="oca.reduce"||L==="strategy.oca.reduce")return"reduce";return"none"}class s5{events=[];position={qty:0,avgPrice:null};fills=[];pending=[];openTrades=[];closedTrades=[];commissionPaid=0;realizedPnl=0;closedCount=0;wintrades=0;losstrades=0;eventrades=0;grossprofit=0;grossloss=0;initialCapital=1e6;allow_entry_in="all";max_position_size_percent;max_drawdown_risk;max_drawdown_risk_percent;max_cons_loss_days;max_intraday_loss=Number.POSITIVE_INFINITY;max_intraday_filled_orders;entries_blocked=!1;consecutive_loss_days=0;get opentrades(){return this.openTrades.length}get closedtrades(){return this.closedTrades.length}commission;slippage;pyramiding;sameDirAdds=0;lastTradeDay=null;dayPnl=0;fillsDay=null;dayFilledOrders=0;equityPeak;equityTrough;maxDrawdownAbs=0;maxDdPercent=0;maxRunupAbs=0;maxRuPercent=0;maxHeldAll=0;maxHeldLong=0;maxHeldShort=0;constructor(T){this.commission=PT(T?.commission,0),this.slippage=PT(T?.slippage,0),this.pyramiding=NT(T?.pyramiding),this.equityPeak=this.initialCapital,this.equityTrough=this.initialCapital}equity(T){this.ensureSanePosition();let L=this.position.qty,I=this.position.avgPrice,_=E(this.realizedPnl)?this.realizedPnl:0,R=E(this.commissionPaid)?this.commissionPaid:0,$=L===0||!E(I)||!E(T)?0:L*(T-I),G=this.initialCapital+_-R+$;return this.trackEquityCurve(G),G}closedTrade(T){return this.pickTrade(this.closedTrades,T)}openTrade(T){return this.pickTrade(this.openTrades,T)}closedEntryBar(T){return this.closedTrade(T)?.entryBar??null}closedEntryPrice(T){return this.closedTrade(T)?.entryPrice??null}closedExitBar(T){return this.closedTrade(T)?.exitBar??null}closedExitPrice(T){return this.closedTrade(T)?.exitPrice??null}closedProfit(T){let L=this.closedTrade(T);return L!=null&&L.profit!==void 0?L.profit:null}closedSize(T){return this.closedTrade(T)?.qty??null}closedId(T){return this.closedTrade(T)?.id??null}closedCommission(T){return this.closedTrade(T)?.commission??null}openEntryBar(T){return this.openTrade(T)?.entryBar??null}openEntryPrice(T){return this.openTrade(T)?.entryPrice??null}openSize(T){return this.openTrade(T)?.qty??null}openId(T){return this.openTrade(T)?.id??null}openProfit(T,L){let I=this.openTrade(T);if(I==null||!E(L))return null;return this.markProfit(I,L)}avgTrade(){let T=this.closedTrades.length;return T===0?0:(this.grossprofit-this.grossloss)/T}avgWinningTrade(){return this.wintrades===0?0:this.grossprofit/this.wintrades}avgLosingTrade(){return this.losstrades===0?0:this.grossloss/this.losstrades}netprofit(){return E(this.realizedPnl)?this.realizedPnl:0}netprofitPercent(T){return this.pctOfInitial(this.netprofit())}openprofit(T){this.ensureSanePosition();let L=this.position.qty,I=this.position.avgPrice;if(L===0||!E(I)||!E(T))return 0;return L*(T-I)}openprofitPercent(T){return this.pctOfInitial(this.openprofit(T))}grossprofitPercent(){return this.pctOfInitial(this.grossprofit)}grosslossPercent(){return this.pctOfInitial(this.grossloss)}avgTradePercent(){return this.pctOfInitial(this.avgTrade())}avgWinningTradePercent(){return this.pctOfInitial(this.avgWinningTrade())}avgLosingTradePercent(){return this.pctOfInitial(this.avgLosingTrade())}maxDrawdown(){return this.maxDrawdownAbs}maxDrawdownPercent(){return this.maxDdPercent}maxRunup(){return this.maxRunupAbs}maxRunupPercent(){return this.maxRuPercent}percentProfitable(){let T=this.closedTrades.length;return T===0?0:100*this.wintrades/T}profitFactor(){let T=this.grossprofit,L=this.grossloss;if(!E(T)||!E(L))return 0;if(L>0)return T/L;return T>0?999.99:0}maxContractsHeldAll(){return this.maxHeldAll}maxContractsHeldLong(){return this.maxHeldLong}maxContractsHeldShort(){return this.maxHeldShort}summary(T){return{netprofit:this.netprofit(),netprofitPercent:this.netprofitPercent(T),openprofit:this.openprofit(T),equity:this.equity(T),wintrades:this.wintrades,losstrades:this.losstrades,eventrades:this.eventrades,closedtrades:this.closedtrades,opentrades:this.opentrades,grossprofit:this.grossprofit,grossloss:this.grossloss,avgTrade:this.avgTrade(),avgWinningTrade:this.avgWinningTrade(),avgLosingTrade:this.avgLosingTrade(),percentProfitable:this.percentProfitable(),profitFactor:this.profitFactor(),maxDrawdown:this.maxDrawdown(),maxDrawdownPercent:this.maxDrawdownPercent(),maxRunup:this.maxRunup(),maxRunupPercent:this.maxRunupPercent(),initialCapital:this.initialCapital}}markOpenTrades(T,L,I){if(this.openTrades.length===0)return;for(let _ of this.openTrades){let R=_.direction==="long"?E(T)?T:I:E(L)?L:I,$=_.direction==="long"?E(L)?L:I:E(T)?T:I;if(E(R)){let G=this.markProfit(_,R);if(G>0)_.max_runup=Math.max(_.max_runup??0,G)}if(E($)){let G=this.markProfit(_,$);if(G<0)_.max_drawdown=Math.max(_.max_drawdown??0,-G)}}}configure(T){if(E(T.commission))this.commission=T.commission;if(E(T.slippage))this.slippage=T.slippage;if(T.pyramiding!==void 0){let L=NT(T.pyramiding);if(L!==void 0||T.pyramiding==null)this.pyramiding=L}}riskAllowEntryIn(T="all"){let L=String(T??"all").replace(/strategy\./gi,"").trim().toLowerCase();this.allow_entry_in=L==="long"||L==="short"||L==="all"?L:"all"}riskMaxPositionSize(T){if(T==null||!E(T)||T<=0)return;this.max_position_size_percent=T}riskMaxDrawdown(T,L="absolute"){if(T==null||!E(T)||T<0)return;let I=String(L??"absolute").replace(/strategy\./gi,"").trim().toLowerCase();if(I==="percent"||I==="percentage"||I==="percent_of_equity"||I==="%")this.max_drawdown_risk_percent=T;else this.max_drawdown_risk=T}riskMaxConsLossDays(T){if(T==null||!E(T))return;let L=Math.trunc(T);if(L<0)return;this.max_cons_loss_days=L}riskMaxIntradayLoss(T){if(T==null||!E(T)||T<0)return;this.max_intraday_loss=T}riskMaxIntradayFilledOrders(T){if(T==null||!E(T))return;let L=Math.trunc(T);if(L<0)return;this.max_intraday_filled_orders=L}noteClosedTradeDay(T,L){if(!E(T)||!E(L))return;let I=yT(T);if(this.lastTradeDay==null||I!==this.lastTradeDay){if(this.lastTradeDay!=null){if(this.dayPnl<0)this.consecutive_loss_days+=1;else if(this.dayPnl>0)this.consecutive_loss_days=0}this.lastTradeDay=I,this.dayPnl=0}if(this.dayPnl+=L,this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)this.entries_blocked=!0;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)this.entries_blocked=!0}}entry(T,L,I,_){let R={type:"entry",id:String(L??""),direction:h2(I),bar:E(T)?T:0};if(_!==void 0)R.qty=_;this.events.push(R)}close(T,L){this.events.push({type:"close",id:String(L??""),bar:E(T)?T:0})}exit(T,L){this.events.push({type:"exit",id:String(L??""),bar:E(T)?T:0})}cancel(T,L){this.dropPending(String(L??"")),this.events.push({type:"cancel",id:String(L??""),bar:E(T)?T:0})}closeAll(T,L){let I=E(T)?T:0;if(this.dropPending(),E(L)&&this.position.qty!==0)this.flattenAt(I,"close_all",L);this.events.push({type:"close_all",id:"",bar:I})}cancelAll(T){this.dropPending(),this.events.push({type:"cancel_all",id:"",bar:E(T)?T:0})}placeEntry(T,L,I,_,R){let $=CT(R?.limit),G=CT(R?.stop);if($==null&&G==null){if(E(R?.price)){let z=h2(I),X=E(R?.time)?R.time:T;if(this.updateEquityExtremes(R.price),!this.riskAllowsEntry(z,X))return;this.fillEntry(T,L,I,_,R.price,R)}else this.entry(T,L,I,_);return}let Q=h2(I),U=E(_)?Math.abs(_):Number.NaN,O=E(T)?T:0,J=String(L??"");if(this.entry(O,J,Q,E(U)?U:_),!E(U)||U===0)return;let D={id:J,direction:Q,qty:U,limit:$,stop:G,bar:O},B=R?.oca_name==null||R.oca_name===""?void 0:String(R.oca_name),H=kI(R?.oca_type);if(B!==void 0)D.oca_name=B;if(H!=="none")D.oca_type=H;this.upsertPending(D)}order(T,L,I,_,R){this.placeEntry(T,L,I,_,R)}processPending(T,L){if(this.pending.length===0||L==null)return[];if(!(E(L.open)||E(L.high)||E(L.low)||E(L.close)))return[];let _=E(T)?T:0,R=E(L.close)?L.close:E(L.open)?L.open:E(L.high)?L.high:L.low,$=E(L.open)?L.open:R,G=E(L.high)?L.high:Math.max($,R),Q=E(L.low)?L.low:Math.min($,R),U=[];for(let O of this.pending.slice()){if(!this.pending.some((B)=>B.id===O.id))continue;let J=qI(O,$,G,Q);if(J==null)continue;if(this.dropPending(O.id),this.applyEntryFill(_,O.id,O.direction,O.qty,J,!1)){let B=Math.abs(this.fills.at(-1)?.qty??O.qty);this.ocaAfterFill(O,B,_),this.events.push({type:"fill",id:O.id,direction:O.direction,qty:B,bar:_}),U.push(O.id)}}return U}fillEntry(T,L,I,_,R,$){this.applyEntryFill(T,L,I,_,R,!0,$)}fillClose(T,L,I,_){this.ensureSanePosition();let R=E(T)?T:0,$=String(L??"");if(this.position.qty!==0){if(!E(I))return;this.flattenAt(R,$,I,_?.time)}this.close(R,$)}applyEntryFill(T,L,I,_,R,$,G){if(this.ensureSanePosition(),!E(_)||_===0||!E(R))return!1;let Q=Math.abs(_);if(!E(Q)||Q===0)return!1;let U=h2(I),O=E(T)?T:0,J=String(L??""),D=E(G?.time)?G.time:O;if(this.updateEquityExtremes(R),!this.riskAllowsEntry(U,D))return!1;let B=this.capQtyByMaxPosition(Q,R);if(!E(B)||B<=0)return!1;let H=U==="long"?B:-B;if(this.position.qty!==0&&Math.sign(this.position.qty)!==Math.sign(H)){if(!this.flattenAt(O,J,R,G?.time))return!1;this.close(O,J)}else if(this.position.qty!==0&&this.pyramiding!==void 0&&this.sameDirAdds>=this.pyramiding)return!1;if(this.position.qty!==0)this.sameDirAdds++;else this.sameDirAdds=0;if(this.addPosition(O,J,H,R,G),this.noteFilledOrder(D),this.updateEquityExtremes(R),$)this.entry(O,J,U,B);return!0}upsertPending(T){let L=this.pending.findIndex((I)=>I.id===T.id);if(L>=0)this.pending[L]=T;else this.pending.push(T)}dropPending(T){if(T===void 0){this.pending.length=0;return}for(let L=this.pending.length-1;L>=0;L--)if(this.pending[L].id===T)this.pending.splice(L,1)}addPosition(T,L,I,_,R){if(!E(I)||I===0||!E(_))return;let $=this.position.qty,G=Math.abs($),Q=Math.abs(I),U=I>0?"buy":"sell",O=this.recordFill(T,L,U,Q,_);if(!E(O))return;let J=this.fillFee(Q,O),D=this.position.avgPrice;this.position.avgPrice=G===0||!E(D)?O:(D*G+O*Q)/(G+Q);let B=$+I;if(this.position.qty=E(B)&&B!==0?B:0,this.position.qty===0){this.position.avgPrice=null;return}let H=this.position.qty>0?"long":"short";this.notePositionSize();let z=R?.comment!=null?String(R.comment):void 0,X=E(R?.time)?R.time:void 0;if(G===0||this.openTrades.length===0){this.openTrades.length=0;let C={id:L,direction:H,qty:Math.abs(this.position.qty),entryBar:T,entryPrice:this.position.avgPrice??O,commission:J};if(X!==void 0)C.entryTime=X;if(z!==void 0)C.comment=z;this.openTrades.push(C);return}let k=this.openTrades[0];k.qty=Math.abs(this.position.qty),k.entryPrice=this.position.avgPrice??O,k.commission+=J}flattenAt(T,L,I,_){let R=this.position.qty;if(R===0||!E(R)||!E(I))return!1;let $=R>0?"sell":"buy",G=Math.abs(R),Q=this.recordFill(T,L,$,G,I);if(!E(Q))return!1;let U=this.position.avgPrice,O=E(U)?U:Q,J=R*(Q-O);if(E(J))this.realizedPnl+=J;let D=E(_)?_:T;return this.closeOpenTrades(T,L,Q,G,R>0?"long":"short",O,D),this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.closedCount+=1,this.noteFilledOrder(D),this.updateEquityExtremes(Q),!0}ensureSanePosition(){let T=this.position.qty,L=this.position.avgPrice;if(!E(T)||T!==0&&!E(L))this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.openTrades.length=0}closeOpenTrades(T,L,I,_,R,$,G){if(this.openTrades.length===0&&_>0)this.openTrades.push({id:L,direction:R,qty:_,entryBar:T,entryPrice:$,commission:0});let Q=this.openTrades.reduce((O,J)=>O+J.qty,0),U=this.fillFee(_,I);for(let O of this.openTrades){let J=Q>0?O.qty/Q:1,D=U*J,B=this.markProfit(O,I)-D,H={id:O.id,direction:O.direction,qty:O.qty,entryBar:O.entryBar,entryPrice:O.entryPrice,exitBar:T,exitPrice:I,profit:B,commission:O.commission+D};if(O.entryTime!==void 0)H.entryTime=O.entryTime;if(O.comment!==void 0)H.comment=O.comment;if(O.max_runup!==void 0)H.max_runup=O.max_runup;if(O.max_drawdown!==void 0)H.max_drawdown=O.max_drawdown;this.closedTrades.push(H),this.noteClosedProfit(B),this.noteClosedTradeDay(E(G)?G:T,B)}this.openTrades.length=0}noteClosedProfit(T){if(!E(T))return;if(T>0)this.grossprofit+=T,this.wintrades+=1;else if(T<0)this.grossloss+=-T,this.losstrades+=1;else this.eventrades+=1}markProfit(T,L){return(T.direction==="long"?1:-1)*(L-T.entryPrice)*T.qty-T.commission}fillFee(T,L){let I=E(this.commission)?this.commission:0,_=Math.abs(T)*Math.abs(L)*I;return E(_)?_:0}pickTrade(T,L){if(!E(L)||!Number.isInteger(L)||L<0||L>=T.length)return null;return T[L]??null}riskAllowsEntry(T,L){let I=(this.allow_entry_in||"all").toLowerCase().replace(/strategy\./g,"");if(I==="long"&&T!=="long")return!1;if(I==="short"&&T!=="short")return!1;if(this.entries_blocked)return!1;if(this.max_drawdown_risk!=null&&this.maxDrawdownAbs>=this.max_drawdown_risk)return this.entries_blocked=!0,!1;if(this.max_drawdown_risk_percent!=null&&this.maxDdPercent>=this.max_drawdown_risk_percent)return this.entries_blocked=!0,!1;if(this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)return this.entries_blocked=!0,!1;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)return this.entries_blocked=!0,!1}if(this.max_intraday_filled_orders!=null){if(this.rollFillDay(L),this.dayFilledOrders>=this.max_intraday_filled_orders)return!1}return!0}capQtyByMaxPosition(T,L){let I=this.max_position_size_percent;if(I==null||I<=0||!E(L)||L<=0)return T;let R=this.equity(L)*(I/100)/L;if(!E(R)||R<0)return 0;return Math.min(T,R)}updateEquityExtremes(T){this.equity(T)}trackEquityCurve(T){if(!E(T))return;if(T>this.equityPeak)this.equityPeak=T;if(T<this.equityTrough)this.equityTrough=T;let L=this.equityPeak-T;if(L>this.maxDrawdownAbs){if(this.maxDrawdownAbs=L,this.equityPeak>0)this.maxDdPercent=100*L/this.equityPeak}let I=T-this.equityTrough;if(I>this.maxRunupAbs){if(this.maxRunupAbs=I,this.equityTrough>0)this.maxRuPercent=100*I/this.equityTrough}}pctOfInitial(T){let L=this.initialCapital;if(!E(L)||L<=0||!E(T))return 0;return 100*T/L}notePositionSize(){let T=Math.abs(this.position.qty);if(!E(T)||T===0)return;if(T>this.maxHeldAll)this.maxHeldAll=T;if(this.position.qty>0&&T>this.maxHeldLong)this.maxHeldLong=T;if(this.position.qty<0&&T>this.maxHeldShort)this.maxHeldShort=T}rollFillDay(T){let L=yT(E(T)?T:0);if(this.fillsDay==null||L!==this.fillsDay)this.fillsDay=L,this.dayFilledOrders=0}noteFilledOrder(T){this.rollFillDay(T),this.dayFilledOrders+=1}ocaAfterFill(T,L,I){let _=T.oca_name,R=T.oca_type??"none";if(!_||R==="none")return;for(let $ of this.pending.slice()){if($.id===T.id||$.oca_name!==_)continue;if(R==="cancel")this.dropPending($.id),this.events.push({type:"cancel",id:$.id,bar:I});else if(R==="reduce"){if($.qty=Math.max(0,$.qty-L),$.qty<=0.000000000001)this.dropPending($.id),this.events.push({type:"cancel",id:$.id,bar:I})}}}recordFill(T,L,I,_,R){let $=E(this.slippage)?this.slippage:0,G=I==="buy"?R+$:R-$;if(!E(G)||!E(_)||_===0)return Number.NaN;this.fills.push({bar:T,id:L,side:I,qty:_,price:G});let Q=E(this.commission)?this.commission:0,U=Math.abs(_)*Math.abs(G)*Q;if(E(U))this.commissionPaid+=U;return G}}function w2(T){if(typeof T==="string")return`s:${T}`;if(typeof T==="number"&&Number.isFinite(T))return`n:${Object.is(T,-0)?0:T}`;return null}function bT(T){return T.startsWith("s:")?T.slice(2):Number(T.slice(2))}class V1{data=new Map;order=[];size(){return this.data.size}put(T,L){let I=w2(T);if(I==null)return;if(!this.data.has(I))this.order.push(I);this.data.set(I,L)}get(T){let L=w2(T);if(L==null)return null;return this.data.has(L)?this.data.get(L):null}contains(T){let L=w2(T);return L!=null&&this.data.has(L)}remove(T){let L=w2(T);if(L==null||!this.data.has(L))return null;let I=this.data.get(L);this.data.delete(L);let _=this.order.indexOf(L);if(_>=0)this.order.splice(_,1);return I}clear(){this.data.clear(),this.order.length=0}keys(){return this.order.map(bT)}values(){return this.order.map((T)=>this.data.get(T))}copy(){let T=new V1;for(let L of this.order)T.put(bT(L),this.data.get(L));return T}putAll(T){if(!(T instanceof V1))return;let L=T.keys(),I=T.values();for(let _=0;_<L.length;_++)this.put(L[_],I[_])}}function E0(T,L){if(!Number.isFinite(T))return null;let I=Math.trunc(T);if(I<0||I>=L)return null;return I}function hT(T){if(!Number.isFinite(T)||T<0)return 0;return Math.min(Math.trunc(T),1e6)}function B6(T,L){if(T<=0||L<=0)return!0;return L<=Math.floor(1e6/T)}function wT(T,L){let I=[],_=T??[];for(let R=0;R<L;R++)I.push(R<_.length?_[R]:null);return I}function a5(T){let L=[];for(let I=0;I<T.length;I++)L.push(T[I].slice());return L}function A2(T,L,I,_){let R=T+_,$=T*_-L*I,G=R*R-4*$;if(G>=0){let U=Math.sqrt(G);return[(R+U)/2,(R-U)/2]}let Q=R/2;return[Q,Q]}function MI(T,L,I,_){if((T-_)*(T-_)+4*L*I<0)return _;let[R,$]=A2(T,L,I,_);return Math.abs(R-_)<Math.abs($-_)?R:$}function EI(T){let L=T.length,I=T[0].length,_=a5(T),R=[];for(let Q=0;Q<I;Q++){let U=[];for(let O=0;O<I;O++)U.push(Q===O?1:0);R.push(U)}for(let Q=0;Q<50;Q++){let U=!1;for(let O=0;O<I-1;O++)for(let J=O+1;J<I;J++){let D=0,B=0,H=0;for(let d=0;d<L;d++){let J0=_[d][O],X0=_[d][J];D+=J0*J0,B+=X0*X0,H+=J0*X0}if(!Number.isFinite(D)||!Number.isFinite(B)||!Number.isFinite(H))return null;let z=0.000000000000001*Math.sqrt(Math.max(D*B,0));if(Math.abs(H)<=z)continue;U=!0;let X=(B-D)/(2*H),k=(X>=0?1:-1)/(Math.abs(X)+Math.hypot(1,X)),C=1/Math.sqrt(1+k*k),u=C*k;for(let d=0;d<L;d++){let J0=_[d][O],X0=_[d][J];_[d][O]=C*J0-u*X0,_[d][J]=u*J0+C*X0}for(let d=0;d<I;d++){let J0=R[d][O],X0=R[d][J];R[d][O]=C*J0-u*X0,R[d][J]=u*J0+C*X0}}if(!U)break}let $=[],G=[];for(let Q=0;Q<L;Q++){let U=[];for(let O=0;O<I;O++)U.push(0);G.push(U)}for(let Q=0;Q<I;Q++){let U=0;for(let O=0;O<L;O++)U+=_[O][Q]*_[O][Q];if(U=Math.sqrt(U),!Number.isFinite(U))return null;if($.push(U),U>0)for(let O=0;O<L;O++)G[O][Q]=_[O][Q]/U}return{u:G,s:$,v:R}}function jI(T){let L=T.length;for(let I=0;I<L-2;I++){let _=0;for(let O=I+2;O<L;O++)_+=T[O][I]*T[O][I];if(_<0.000000000000000000000000000001)continue;let R=_+T[I+1][I]*T[I+1][I];if(R=Math.sqrt(R),R<0.000000000000000000000000000001)continue;let $=T[I+1][I],G=($>=0?1:-1)*R,Q=[$+G];for(let O=I+2;O<L;O++)Q.push(T[O][I]);let U=0;for(let O of Q)U+=O*O;if(U=Math.sqrt(U),U<0.000000000000000000000000000001)continue;for(let O=0;O<Q.length;O++)Q[O]/=U;for(let O=I;O<L;O++){let J=0;for(let D=0;D<Q.length;D++)J+=Q[D]*T[I+1+D][O];J*=2;for(let D=0;D<Q.length;D++)T[I+1+D][O]-=J*Q[D]}for(let O=0;O<L;O++){let J=0;for(let D=0;D<Q.length;D++)J+=T[O][I+1+D]*Q[D];J*=2;for(let D=0;D<Q.length;D++)T[O][I+1+D]-=J*Q[D]}T[I+1][I]=-G;for(let O=I+2;O<L;O++)T[O][I]=0}}function CI(T,L,I){let _=[];for(let R=0;R<L;R++)T[R][R]-=I;for(let R=0;R<L-1;R++){let $=T[R][R],G=T[R+1][R],Q=Math.hypot($,G),U=Q>0?$/Q:1,O=Q>0?G/Q:0;_.push({c:U,s:O});for(let J=R;J<L;J++){let D=U*T[R][J]+O*T[R+1][J],B=-O*T[R][J]+U*T[R+1][J];T[R][J]=D,T[R+1][J]=B}}for(let R=0;R<L-1;R++){let{c:$,s:G}=_[R];for(let Q=0;Q<=R+1&&Q<L;Q++){let U=$*T[Q][R]+G*T[Q][R+1],O=-G*T[Q][R]+$*T[Q][R+1];T[Q][R]=U,T[Q][R+1]=O}}for(let R=0;R<L;R++)T[R][R]+=I}function AT(T){let L=T.length;if(L===0)return[];if(L===1){let Q=T[0][0];return Number.isFinite(Q)?[Q]:null}if(L===2){let Q=A2(T[0][0],T[0][1],T[1][0],T[1][1]);if(!Number.isFinite(Q[0])||!Number.isFinite(Q[1]))return null;return[Q[0],Q[1]]}let I=a5(T);jI(I);let _=[],R=L,$=40*L*L,G=0;while(R>0){if(++G>$)return null;if(R===1){let J=I[0][0];if(!Number.isFinite(J))return null;_.push(J);break}if(R===2){let J=A2(I[0][0],I[0][1],I[1][0],I[1][1]);if(!Number.isFinite(J[0])||!Number.isFinite(J[1]))return null;_.push(J[0],J[1]);break}let Q=Math.abs(I[R-1][R-1])+Math.abs(I[R-2][R-2]);if(Math.abs(I[R-1][R-2])<=0.00000000000001*Math.max(1,Q)){let J=I[R-1][R-1];if(!Number.isFinite(J))return null;_.push(J),R--;continue}let U=Math.abs(I[R-2][R-2])+Math.abs(I[R-3][R-3]);if(Math.abs(I[R-2][R-3])<=0.00000000000001*Math.max(1,U)){let J=A2(I[R-2][R-2],I[R-2][R-1],I[R-1][R-2],I[R-1][R-1]);if(!Number.isFinite(J[0])||!Number.isFinite(J[1]))return null;_.push(J[0],J[1]),R-=2;continue}let O=MI(I[R-2][R-2],I[R-2][R-1],I[R-1][R-2],I[R-1][R-1]);if(G%10===0)O+=Math.abs(I[R-1][R-2])+Math.abs(I[R-2][R-3]);if(!Number.isFinite(O))return null;CI(I,R,O);for(let J=0;J<R;J++)for(let D=0;D<J-1;D++)I[J][D]=0}return _}function PI(T){let L=T.length;if(L===0)return[];let I=a5(T),_=0;for(let D=0;D<L;D++)for(let B=0;B<L;B++){let H=I[D][B];if(!Number.isFinite(H))return null;if(Math.abs(H)>_)_=Math.abs(H)}let R=Math.max(0.00000000000001,0.000000000001*_),$=Array(L).fill(-1),G=Array(L).fill(!1),Q=0;for(let D=0;D<L&&Q<L;D++){let B=Q,H=Math.abs(I[Q][D]);for(let X=Q+1;X<L;X++){let k=Math.abs(I[X][D]);if(k>H)H=k,B=X}if(H<R)continue;if(B!==Q){let X=I[Q];I[Q]=I[B],I[B]=X}let z=I[Q][D];for(let X=D;X<L;X++)I[Q][X]/=z;for(let X=0;X<L;X++){if(X===Q)continue;let k=I[X][D];if(k===0)continue;for(let C=D;C<L;C++)I[X][C]-=k*I[Q][C]}$[Q]=D,G[D]=!0,Q++}let U=-1;for(let D=0;D<L;D++)if(!G[D]){U=D;break}if(U<0)return null;let O=Array(L).fill(0);O[U]=1;for(let D=L-1;D>=0;D--){let B=$[D];if(B<0)continue;let H=0;for(let z=0;z<L;z++){if(z===B)continue;H+=I[D][z]*O[z]}O[B]=-H}let J=0;for(let D of O){if(!Number.isFinite(D))return null;J+=D*D}if(J=Math.sqrt(J),!(J>R))return null;for(let D=0;D<L;D++)O[D]/=J;return O}class e{cells=[];nRows;nCols;constructor(T,L,I){let _=hT(T),R=hT(L);if(_>0&&R>Math.floor(1e6/_))_=0,R=0;this.nRows=_,this.nCols=R;let $=I===void 0?null:I;for(let G=0;G<this.nRows;G++){let Q=[];for(let U=0;U<this.nCols;U++)Q.push($);this.cells.push(Q)}}rows(){return this.nRows}columns(){return this.nCols}get(T,L){let I=E0(T,this.nRows),_=E0(L,this.nCols);if(I===null||_===null)return null;return this.cells[I][_]}set(T,L,I){let _=E0(T,this.nRows),R=E0(L,this.nCols);if(_===null||R===null)return;this.cells[_][R]=I}fill(T){for(let L=0;L<this.nRows;L++){let I=this.cells[L];for(let _=0;_<this.nCols;_++)I[_]=T}}transpose(){let T=new e(this.nCols,this.nRows);for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++)T.set(I,L,this.cells[L][I]);return T}row(T){let L=E0(T,this.nRows);return L===null?[]:this.cells[L].slice()}col(T){let L=E0(T,this.nCols);if(L===null)return[];let I=[];for(let _=0;_<this.nRows;_++)I.push(this.cells[_][L]);return I}copy(){let T=new e(this.nRows,this.nCols);for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++)T.set(L,I,this.cells[L][I]);return T}elementsCount(){return this.nRows*this.nCols}isSquare(){return this.nRows===this.nCols&&this.nRows>0}sum(){let T=this.finiteAll();if(T===null)return null;let L=0;for(let I of T)L+=I;return L}avg(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=0;for(let I of T)L+=I;return L/T.length}min(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I<L)L=I;return L}max(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I>L)L=I;return L}trace(){if(!this.isSquare())return null;let T=0;for(let L=0;L<this.nRows;L++){let I=this.cells[L][L];if(I===null||!Number.isFinite(I))return null;T+=I}return T}det(){if(!this.isSquare())return null;let T=this.nRows;if(T===0)return null;let L=[];for(let R=0;R<T;R++){let $=[];for(let G=0;G<T;G++){let Q=this.cells[R][G];if(Q===null||!Number.isFinite(Q))return null;$.push(Q)}L.push($)}if(T===1)return L[0][0];if(T===2){let R=L[0][0]*L[1][1]-L[0][1]*L[1][0];return Number.isFinite(R)?R:null}let I=1;for(let R=0;R<T;R++){let $=R,G=Math.abs(L[R][R]);for(let U=R+1;U<T;U++){let O=Math.abs(L[U][R]);if(O>G)G=O,$=U}if(G===0)return 0;if($!==R){let U=L[R];L[R]=L[$],L[$]=U,I=-I}let Q=L[R][R];for(let U=R+1;U<T;U++){let O=L[U][R]/Q;for(let J=R;J<T;J++)L[U][J]-=O*L[R][J]}}let _=I;for(let R=0;R<T;R++)_*=L[R][R];return Number.isFinite(_)?_:null}mult(T){if(typeof T==="number"){if(!Number.isFinite(T))return null;let R=new e(this.nRows,this.nCols);for(let $=0;$<this.nRows;$++)for(let G=0;G<this.nCols;G++){let Q=this.cells[$][G];if(Q===null||!Number.isFinite(Q)){R.set($,G,null);continue}let U=Q*T;R.set($,G,Number.isFinite(U)?U:null)}return R}if(this.nCols!==T.nRows)return null;let L=this.asFiniteGrid(),I=T.asFiniteGrid();if(L===null||I===null)return null;let _=new e(this.nRows,T.nCols,0);for(let R=0;R<this.nRows;R++)for(let $=0;$<T.nCols;$++){let G=0;for(let Q=0;Q<this.nCols;Q++)G+=L[R][Q]*I[Q][$];if(!Number.isFinite(G))return null;_.set(R,$,G)}return _}inv(){if(this.nRows!==this.nCols)return null;let T=this.nRows;if(T===0)return new e(0,0);let L=this.asFiniteGrid();if(L===null)return null;let I=[];for(let $=0;$<T;$++){let G=L[$].slice();for(let Q=0;Q<T;Q++)G.push($===Q?1:0);I.push(G)}let _=0.000000000001;for(let $=0;$<T;$++){let G=$,Q=Math.abs(I[$][$]);for(let O=$+1;O<T;O++){let J=Math.abs(I[O][$]);if(J>Q)Q=J,G=O}if(Q<_)return null;if(G!==$){let O=I[$];I[$]=I[G],I[G]=O}let U=I[$][$];for(let O=0;O<2*T;O++)I[$][O]/=U;for(let O=0;O<T;O++){if(O===$)continue;let J=I[O][$];if(J===0)continue;for(let D=0;D<2*T;D++)I[O][D]-=J*I[$][D]}}let R=new e(T,T,0);for(let $=0;$<T;$++)for(let G=0;G<T;G++){let Q=I[$][T+G];if(!Number.isFinite(Q))return null;R.set($,G,Q)}return R}pow(T){if(this.nRows!==this.nCols)return null;if(!Number.isFinite(T))return null;let L=Math.trunc(T);if(L===0)return e.eye(this.nRows);if(L<0){let $=this.inv();return $===null?null:$.pow(-L)}if(this.asFiniteGrid()===null)return null;let I=e.eye(this.nRows),_=this.copy(),R=L;while(R>0){if(R%2===1){if(I=I.mult(_),I===null)return null}if(R=Math.trunc(R/2),R>0){if(_=_.mult(_),_===null)return null}}return I}kron(T){let L=this.asFiniteGrid(),I=T.asFiniteGrid();if(L===null||I===null)return null;let{nRows:_,nCols:R}=T,$=new e(this.nRows*_,this.nCols*R,0);for(let G=0;G<this.nRows;G++)for(let Q=0;Q<this.nCols;Q++){let U=L[G][Q];for(let O=0;O<_;O++)for(let J=0;J<R;J++){let D=U*I[O][J];$.set(G*_+O,Q*R+J,Number.isFinite(D)?D:null)}}return $}isZero(){for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=this.cells[T][L];if(I===null)continue;if(I!==0)return!1}return!0}isIdentity(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=T===L?1:0,_=this.cells[T][L];if(_===null||_!==I)return!1}return!0}isDiagonal(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){if(T===L)continue;let I=this.cells[T][L];if(I!==null&&I!==0)return!1}return!0}isSymmetric(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=T+1;L<this.nCols;L++)if(this.cells[T][L]!==this.cells[L][T])return!1;return!0}isAntisymmetric(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=this.cells[T][L],_=this.cells[L][T];if(T===L){if(I!==null&&I!==0)return!1;continue}if(I!==null&&_!==null){if(I!==-_)return!1}else if(I!==_)return!1}return!0}isTriangular(){if(this.nRows!==this.nCols)return!1;let T=!0,L=!0;for(let I=0;I<this.nRows;I++)for(let _=0;_<this.nCols;_++){let R=this.cells[I][_],$=R!==null&&R!==0;if(I>_&&$)T=!1;if(I<_&&$)L=!1}return T||L}swapRows(T,L){let I=E0(T,this.nRows),_=E0(L,this.nRows);if(I===null||_===null||I===_)return;let R=this.cells[I];this.cells[I]=this.cells[_],this.cells[_]=R}swapColumns(T,L){let I=E0(T,this.nCols),_=E0(L,this.nCols);if(I===null||_===null||I===_)return;for(let R of this.cells){let $=R[I];R[I]=R[_],R[_]=$}}addRow(T,L){let I=this.nRows===0&&this.nCols===0,_=I?L?.length??0:this.nCols;if(!B6(this.nRows+1,_))return;if(T!==void 0){if(!Number.isFinite(T))return;if(Math.trunc(T)<0)return}let R=wT(L,_);if(I)this.nCols=_;let $=T===void 0?this.nRows:Math.trunc(T);if($>=this.nRows)this.cells.push(R);else this.cells.splice($,0,R);this.nRows+=1}addCol(T,L){if(this.nRows===0&&this.nCols===0){let R=L?.length??0;if(!B6(R,R===0?0:1))return;for(let $ of L??[])this.cells.push([$]);this.nRows=R,this.nCols=R===0?0:1;return}if(!B6(this.nRows,this.nCols+1))return;if(T!==void 0){if(!Number.isFinite(T))return;if(Math.trunc(T)<0)return}let I=wT(L,this.nRows),_=T===void 0?this.nCols:Math.min(Math.trunc(T),this.nCols);for(let R=0;R<this.nRows;R++)this.cells[R].splice(_,0,I[R]);this.nCols+=1}removeRow(T){let L=E0(T,this.nRows);if(L===null)return;this.cells.splice(L,1),this.nRows-=1}removeCol(T){let L=E0(T,this.nCols);if(L===null)return;for(let I of this.cells)I.splice(L,1);this.nCols-=1}reshape(T,L){if(!Number.isFinite(T)||!Number.isFinite(L))return null;let I=Math.trunc(T),_=Math.trunc(L);if(I<0||_<0)return null;if(I*_!==this.nRows*this.nCols)return null;if(!B6(I,_))return null;let R=this.flatten(),$=new e(I,_);for(let G=0;G<I;G++)for(let Q=0;Q<_;Q++)$.set(G,Q,R[G*_+Q]);return $}concat(T){if(this.nCols!==T.nCols)return null;let L=this.nRows+T.nRows,I=this.nCols;if(!B6(L,I))return null;let _=new e(L,I);for(let R=0;R<this.nRows;R++)for(let $=0;$<I;$++)_.set(R,$,this.cells[R][$]);for(let R=0;R<T.nRows;R++)for(let $=0;$<I;$++)_.set(this.nRows+R,$,T.cells[R][$]);return _}submatrix(T,L,I,_){if(!Number.isFinite(T)||!Number.isFinite(L)||!Number.isFinite(I)||!Number.isFinite(_))return null;let R=Math.trunc(T),$=Math.trunc(L),G=Math.trunc(I),Q=Math.trunc(_);if(!(0<=R&&R<=$&&$<=this.nRows))return null;if(!(0<=G&&G<=Q&&Q<=this.nCols))return null;let U=new e($-R,Q-G);for(let O=R;O<$;O++)for(let J=G;J<Q;J++)U.set(O-R,J-G,this.cells[O][J]);return U}reverse(){this.cells.reverse();for(let T of this.cells)T.reverse()}sort(T=0,L="asc"){if(this.nRows===0)return;let I=E0(T,this.nCols);if(I===null)return;let _=L==="desc",R=[],$=[];for(let G of this.cells){let Q=G[I];if(Q===null||!Number.isFinite(Q))$.push(G);else R.push(G)}R.sort((G,Q)=>{let U=G[I]-Q[I];return _?-U:U}),this.cells.length=0;for(let G of R)this.cells.push(G);for(let G of $)this.cells.push(G)}median(){let T=[];for(let I=0;I<this.nRows;I++)for(let _=0;_<this.nCols;_++){let R=this.cells[I][_];if(R!==null&&Number.isFinite(R))T.push(R)}if(T.length===0)return null;T.sort((I,_)=>I-_);let L=Math.floor(T.length/2);if(T.length%2===1)return T[L];return(T[L-1]+T[L])/2}mode(){let T=new Map,L=null,I=0;for(let _=0;_<this.nRows;_++)for(let R=0;R<this.nCols;R++){let $=this.cells[_][R];if($===null||!Number.isFinite($))continue;let G=(T.get($)??0)+1;if(T.set($,G),G>I)L=$,I=G}return L}isBinary(){for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=this.cells[T][L];if(I!==0&&I!==1)return!1}return!0}isStochastic(){for(let T=0;T<this.nRows;T++){let L=0;for(let I=0;I<this.nCols;I++){let _=this.cells[T][I];if(_===null||!Number.isFinite(_)||_<0)return!1;L+=_}if(Math.abs(L-1)>0.000000001)return!1}return!0}isAntidiagonal(){if(this.nRows!==this.nCols)return!1;let T=this.nRows;for(let L=0;L<T;L++)for(let I=0;I<T;I++){if(L+I===T-1)continue;let _=this.cells[L][I];if(_!==null&&_!==0)return!1}return!0}diff(T){if(this.nRows!==T.nRows||this.nCols!==T.nCols)return null;let L=new e(this.nRows,this.nCols);for(let I=0;I<this.nRows;I++)for(let _=0;_<this.nCols;_++){let R=this.cells[I][_],$=T.cells[I][_];if(R===null||$===null||!Number.isFinite(R)||!Number.isFinite($)){L.set(I,_,null);continue}let G=R-$;L.set(I,_,Number.isFinite(G)?G:null)}return L}rank(){if(this.nRows===0||this.nCols===0)return 0;let T=this.asFiniteGrid();if(T===null)return null;let L=this.nRows,I=this.nCols,_=[];for(let G=0;G<L;G++)_.push(T[G].slice());let R=0.000000000001,$=0;for(let G=0;G<I&&$<L;G++){let Q=$,U=Math.abs(_[$][G]);for(let J=$+1;J<L;J++){let D=Math.abs(_[J][G]);if(D>U)U=D,Q=J}if(U<R)continue;if(Q!==$){let J=_[$];_[$]=_[Q],_[Q]=J}let O=_[$][G];for(let J=$+1;J<L;J++){let D=_[J][G]/O;for(let B=G;B<I;B++)_[J][B]-=D*_[$][B]}$++}return $}pinv(){if(this.nRows===0||this.nCols===0)return new e(this.nCols,this.nRows);let T=this.asFiniteGrid();if(T===null)return null;let L=EI(T);if(L===null)return null;let{u:I,s:_,v:R}=L,$=this.nRows,G=this.nCols,Q=0;for(let D of _){if(!Number.isFinite(D))return null;if(D>Q)Q=D}let U=0.000000000001*Q*Math.max($,G),O=[];for(let D of _)O.push(D>U?1/D:0);let J=new e(G,$,0);for(let D=0;D<G;D++)for(let B=0;B<$;B++){let H=0;for(let z=0;z<G;z++)H+=R[D][z]*O[z]*I[B][z];if(!Number.isFinite(H))return null;J.set(D,B,H)}return J}eigenvalues(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return[];let T=this.asFiniteGrid();if(T===null)return null;return AT(T)}eigenvectors(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return new e(0,0);let T=this.asFiniteGrid();if(T===null)return null;let L=AT(T);if(L===null)return null;let I=this.nRows,_=new e(I,I,0);for(let R=0;R<I;R++){let $=L[R],G=[];for(let U=0;U<I;U++){let O=T[U].slice();O[U]-=$,G.push(O)}let Q=PI(G);if(Q===null)return null;for(let U=0;U<I;U++){let O=Q[U];if(!Number.isFinite(O))return null;_.set(U,R,O)}}return _}static eye(T){let L=new e(T,T,0);for(let I=0;I<T;I++)L.set(I,I,1);return L}asFiniteGrid(){let T=[];for(let L=0;L<this.nRows;L++){let I=[];for(let _=0;_<this.nCols;_++){let R=this.cells[L][_];if(R===null||!Number.isFinite(R))return null;I.push(R)}T.push(I)}return T}finiteAll(){let T=[];for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++){let _=this.cells[L][I];if(_===null||!Number.isFinite(_))return null;T.push(_)}return T}flatten(){let T=[];for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++)T.push(this.cells[L][I]);return T}}function j(T){return T!==null&&Number.isFinite(T)?T:null}var NI=0.000000001;function m(T){if(!Number.isFinite(T)||T<=0)return null;let L=Math.round(T),I=Math.abs(T-L)<=NI?L:Math.floor(T);return I>0?I:null}function uT(T,L,I){let _=1/I;if(!T.started){if(L===null)return null;T.started=!0}if(!T.seeded){if(L!==null)T.seedBuf.push(L);if(T.seedBuf.length<I)return null;let R=T.seedBuf.reduce(($,G)=>$+G,0)/I;return T.rma=R,T.seeded=!0,T.seedBuf=[],R}if(L===null)return T.rma;return T.rma=_*L+(1-_)*(T.rma??L),T.rma}class u2{smaSites=new Map;emaSites=new Map;rmaSites=new Map;atrSites=new Map;rsiSites=new Map;trSites=new Map;highestSites=new Map;lowestSites=new Map;stdevSites=new Map;changeSites=new Map;wmaSites=new Map;sumSites=new Map;rocSites=new Map;vwmaSites=new Map;cciSites=new Map;crossoverSites=new Map;crossunderSites=new Map;linregSites=new Map;vwapSites=new Map;risingSites=new Map;fallingSites=new Map;almaSites=new Map;cmoSites=new Map;kamaSites=new Map;obvSites=new Map;pivotHighSites=new Map;pivotLowSites=new Map;mfiSites=new Map;sarSites=new Map;adxSites=new Map;dmiSites=new Map;correlationSites=new Map;highestBarsSites=new Map;lowestBarsSites=new Map;swmaSites=new Map;cogSites=new Map;tsiSites=new Map;devSites=new Map;varianceSites=new Map;medianSites=new Map;modeSites=new Map;percentrankSites=new Map;percentileNearestSites=new Map;percentileLinearSites=new Map;cumSites=new Map;barssinceSites=new Map;valuewhenSites=new Map;accdistSites=new Map;pvtSites=new Map;wadSites=new Map;nviSites=new Map;pviSites=new Map;wvadSites=new Map;sma(T,L,I){let _=m(I);if(_===null)return null;let R=this.smaSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,count:0},this.smaSites.set(T,R);let $=j(L);if(R.window.length===_){let G=R.window.shift();if(G!==null)R.sum-=G,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.count+=1;if(R.window.length<_||R.count!==_)return null;return R.sum/_}ema(T,L,I){let _=m(I);if(_===null)return null;let R=this.emaSites.get(T);if(R===void 0||R.period!==_)R={period:_,ema:null,seeded:!1,seedBuf:[]},this.emaSites.set(T,R);let $=j(L),G=2/(_+1);if(!R.seeded){if($===null)return null;if(R.seedBuf.push($),R.seedBuf.length<_)return null;let Q=R.seedBuf.reduce((U,O)=>U+O,0)/_;return R.ema=Q,R.seeded=!0,R.seedBuf=[],Q}if($===null)return R.ema;return R.ema=R.ema==null?$:G*$+(1-G)*R.ema,R.ema}rma(T,L,I){let _=m(I);if(_===null)return null;let R=this.rmaSites.get(T);if(R===void 0||R.period!==_)R={period:_,rma:null,seeded:!1,started:!1,seedBuf:[]},this.rmaSites.set(T,R);return uT(R,j(L),_)}atr(T,L,I,_,R){let $=m(R);if($===null)return null;let G=this.atrSites.get(T);if(G===void 0||G.period!==$)G={period:$,prevClose:null,rma:{period:$,rma:null,seeded:!1,started:!1,seedBuf:[]}},this.atrSites.set(T,G);let Q=G.prevClose;if(G.prevClose=j(_),Q===null)return null;let U=j(L),O=j(I),J=j(_);if(U===null||O===null||J===null)return null;let D=Math.max(U-O,Math.abs(U-Q),Math.abs(O-Q));return uT(G.rma,D,$)}rsi(T,L,I){let _=m(I);if(_===null)return null;let R=this.rsiSites.get(T);if(R===void 0||R.period!==_)R={period:_,prev:null,gainSeed:[],lossSeed:[],avgGain:null,avgLoss:null,seeded:!1},this.rsiSites.set(T,R);let $=j(L);if($===null)return null;let G=R.prev;if(R.prev=$,G===null)return null;let Q=$-G,U=Q>0?Q:0,O=Q<0?-Q:0,J=1/_;if(!R.seeded){if(R.gainSeed.push(U),R.lossSeed.push(O),R.gainSeed.length<_)return null;let B=0,H=0;for(let z=0;z<_;z++)B+=R.gainSeed[z],H+=R.lossSeed[z];R.avgGain=B/_,R.avgLoss=H/_,R.seeded=!0,R.gainSeed=[],R.lossSeed=[]}else R.avgGain=J*U+(1-J)*R.avgGain,R.avgLoss=J*O+(1-J)*R.avgLoss;if(R.avgLoss===0)return 100;return 100-100/(1+R.avgGain/R.avgLoss)}kc(T,L,I,_,R,$){let G=m(R);if(G===null)return{mid:null,up:null,lo:null};let Q=this.ema(`${T}:ema`,_,G),U=this.atr(`${T}:atr`,L,I,_,G);if(Q===null)return{mid:null,up:null,lo:null};let O=(U??0)*$;return{mid:Q,up:Q+O,lo:Q-O}}supertrend(T,L,I,_,R,$){let G=m($),Q=G===null?null:this.atr(`${T}:atr`,L,I,_,G),U=Q===null||!Number.isFinite(Q)?0:Q,O=j(L)??0,J=j(I)??0,D=j(_)??O,B=(O+J)/2,H=B+R*U,z=B-R*U,X=D>=B?-1:1;return{st:X<0?z:H,dir:X}}tr(T,L,I,_){let R=this.trSites.get(T);if(R===void 0)R={prevClose:null},this.trSites.set(T,R);let $=R.prevClose;if(R.prevClose=j(_),$===null)return null;let G=j(L),Q=j(I);if(G===null||Q===null)return null;return Math.max(G-Q,Math.abs(G-$),Math.abs(Q-$))}highest(T,L,I){let _=m(I);if(_===null)return null;let R=this.highestSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.highestSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=null;for(let G of R.window)if(G!==null&&($===null||G>$))$=G;return $}lowest(T,L,I){let _=m(I);if(_===null)return null;let R=this.lowestSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.lowestSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=null;for(let G of R.window)if(G!==null&&($===null||G<$))$=G;return $}stdev(T,L,I){let _=m(I);if(_===null||_<=1)return null;let R=this.stdevSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,sumsq:0,count:0},this.stdevSites.set(T,R);let $=j(L);if(R.window.length===_){let Q=R.window.shift();if(Q!==null)R.sum-=Q,R.sumsq-=Q*Q,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.sumsq+=$*$,R.count+=1;if(R.window.length<_||R.count!==_)return null;let G=(R.sumsq-R.sum*R.sum/_)/(_-1);if(G<0)G=0;return Math.sqrt(G)}change(T,L,I=1){if(!Number.isFinite(I)||I<0)return null;let _=Math.trunc(I),R=j(L);if(_===0)return R===null?null:0;let $=this.changeSites.get(T);if($===void 0||$.length!==_)$={length:_,window:[]},this.changeSites.set(T,$);if($.window.length===_+1)$.window.shift();if($.window.push(R),$.window.length<=_)return null;let G=$.window[$.window.length-1],Q=$.window[0];if(G===null||Q===null)return null;return G-Q}wma(T,L,I){let _=m(I);if(_===null)return null;let R=this.wmaSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.wmaSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=0;for(let G=0;G<_;G++){let Q=R.window[G];if(Q==null)return null;$+=Q*(G+1)}return $/(_*(_+1)/2)}crossover(T,L,I){return this.crossStep(this.crossoverSites,T,L,I,!1)}crossunder(T,L,I){return this.crossStep(this.crossunderSites,T,L,I,!0)}macd(T,L,I=12,_=26,R=9){let $=this.ema(`${T}:fast`,L,I),G=this.ema(`${T}:slow`,L,_),Q=$===null||G===null?null:$-G,U=this.ema(`${T}:signal`,Q,R),O=Q!==null&&U!==null&&Number.isFinite(Q)&&Number.isFinite(U)?Q-U:null;return{macd:Q,signal:U,hist:O}}bb(T,L,I,_=2){let R=this.sma(`${T}:sma`,L,I),$=this.stdev(`${T}:stdev`,L,I);if(R===null||$===null)return{mid:null,up:null,lo:null};return{mid:R,up:R+_*$,lo:R-_*$}}sum(T,L,I){let _=m(I);if(_===null)return null;let R=this.sumSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,count:0},this.sumSites.set(T,R);let $=j(L);if(R.window.length===_){let G=R.window.shift();if(G!==null)R.sum-=G,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.count+=1;if(R.window.length<_||R.count!==_)return null;return R.sum}roc(T,L,I){if(!Number.isFinite(I)||I<=0)return null;let _=Math.trunc(I),R=j(L);if(_<=0)return null;let $=this.rocSites.get(T);if($===void 0||$.length!==_)$={length:_,window:[]},this.rocSites.set(T,$);if($.window.length===_+1)$.window.shift();if($.window.push(R),$.window.length<=_)return null;let G=$.window[$.window.length-1],Q=$.window[0];if(G===null||Q===null||Q===0)return null;return 100*(G-Q)/Q}mom(T,L,I){return this.change(T,L,I)}vwma(T,L,I,_){let R=m(_);if(R===null)return null;let $=this.vwmaSites.get(T);if($===void 0||$.period!==R)$={period:R,srcWindow:[],volWindow:[],sumPv:0,sumV:0,naCount:0},this.vwmaSites.set(T,$);let G=j(L),Q=j(I);if($.srcWindow.length===R){let U=$.srcWindow.shift(),O=$.volWindow.shift();if(U===null||O===null)$.naCount-=1;else $.sumPv-=U*O,$.sumV-=O}if($.srcWindow.push(G),$.volWindow.push(Q),G===null||Q===null)$.naCount+=1;else $.sumPv+=G*Q,$.sumV+=Q;if($.srcWindow.length<R||$.naCount>0||$.sumV===0)return null;return $.sumPv/$.sumV}cci(T,L,I){let _=m(I);if(_===null)return null;let R=this.cciSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.cciSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=0;for(let O of R.window){if(O==null)return null;$+=O}let G=$/_,Q=0;for(let O of R.window)Q+=Math.abs(O-G);let U=Q/_;if(U===0)return null;return(R.window[_-1]-G)/(0.015*U)}willr(T,L,I,_,R){let $=m(R);if($===null)return null;let G=this.highest(`${T}:hh`,L,$),Q=this.lowest(`${T}:ll`,I,$),U=j(_);if(G===null||Q===null||U===null||G===Q)return null;return-100*(G-U)/(G-Q)}stoch(T,L,I,_,R){let $=m(R);if($===null)return null;let G=this.highest(`${T}:hh`,I,$),Q=this.lowest(`${T}:ll`,_,$),U=j(L);if(G===null||Q===null||U===null||G===Q)return null;return 100*(U-Q)/(G-Q)}linreg(T,L,I,_=0){let R=m(I);if(R===null||R<2)return null;let $=Number.isFinite(_)?Math.trunc(_):0,G=this.linregSites.get(T);if(G===void 0||G.period!==R||G.offset!==$)G={period:R,offset:$,window:[]},this.linregSites.set(T,G);if(G.window.length===R)G.window.shift();if(G.window.push(j(L)),G.window.length<R)return null;let Q=0;for(let H of G.window){if(H==null)return null;Q+=H}let U=(R-1)/2,O=Q/R,J=0,D=0;for(let H=0;H<R;H++){let z=H-U;J+=z*(G.window[H]-O),D+=z*z}if(D===0)return O;let B=J/D;return O+B*(R-1-$-U)}vwap(T,L,I){let _=this.vwapSites.get(T);if(_===void 0)_={cumPv:0,cumV:0,value:null},this.vwapSites.set(T,_);let R=j(L);if(R===null)return _.value;let $=j(I)??0;return _.cumPv+=R*$,_.cumV+=$,_.value=_.cumV!==0?_.cumPv/_.cumV:R,_.value}rising(T,L,I){return this.riseFallStep(this.risingSites,T,L,I,!1)}falling(T,L,I){return this.riseFallStep(this.fallingSites,T,L,I,!0)}riseFallStep(T,L,I,_,R){let $=m(_);if($===null)return 0;let G=T.get(L);if(G===void 0||G.length!==$)G={length:$,prev:null,streak:0,started:!1},T.set(L,G);let Q=j(I);if(!G.started)return G.prev=Q,G.started=!0,G.streak=0,0;let U=G.prev,O=Q!==null&&U!==null&&(R?Q<U:Q>U);return G.streak=O?G.streak+1:0,G.prev=Q,G.streak>=$?1:0}crossStep(T,L,I,_,R){let $=T.get(L);if($===void 0)$={prevA:null,prevB:null,started:!1},T.set(L,$);let G=j(I),Q=j(_),U=0;if($.started&&$.prevA!==null&&$.prevB!==null&&G!==null&&Q!==null)U=(R?$.prevA>=$.prevB&&G<Q:$.prevA<=$.prevB&&G>Q)?1:0;return $.prevA=G,$.prevB=Q,$.started=!0,U}cross(T,L,I){let _=this.crossover(`${T}:up`,L,I),R=this.crossunder(`${T}:down`,L,I);return _===1||R===1?1:0}bbw(T,L,I,_=2){let R=this.bb(T,L,I,_);if(R.mid===null||R.up===null||R.lo===null||R.mid===0)return null;return(R.up-R.lo)/R.mid}dema(T,L,I){let _=this.ema(`${T}:e1`,L,I),R=this.ema(`${T}:e2`,_,I);if(_===null||R===null)return null;return 2*_-R}tema(T,L,I){let _=this.ema(`${T}:e1`,L,I),R=this.ema(`${T}:e2`,_,I),$=this.ema(`${T}:e3`,R,I);if(_===null||R===null||$===null)return null;return 3*_-3*R+$}highestbars(T,L,I){return this.extremeBars(this.highestBarsSites,T,L,I,!0)}lowestbars(T,L,I){return this.extremeBars(this.lowestBarsSites,T,L,I,!1)}extremeBars(T,L,I,_,R){let $=m(_);if($===null)return null;let G=T.get(L);if(G===void 0||G.period!==$)G={period:$,window:[]},T.set(L,G);if(G.window.length===$)G.window.shift();if(G.window.push(j(I)),G.window.length<$)return null;let Q=-1,U=null;for(let O=0;O<G.window.length;O++){let J=G.window[O];if(J===null)continue;if(U===null||(R?J>U:J<U))U=J,Q=O}if(Q<0)return null;return Q-(G.window.length-1)}alma(T,L,I,_=0.85,R=6){let $=m(I);if($===null)return null;if(!Number.isFinite(_)||!Number.isFinite(R))return null;let G=_,Q=R,U=this.almaSites.get(T);if(U===void 0||U.period!==$||U.offset!==G||U.sigma!==Q){let J=G*($-1),D=Q===0?0:$/Q,B=[],H=0;for(let z=0;z<$;z++){let X=D===0?1:Math.exp(-((z-J)**2)/(2*D*D));B.push(X),H+=X}U={period:$,offset:G,sigma:Q,window:[],weights:B,wsum:H},this.almaSites.set(T,U)}if(U.window.length===$)U.window.shift();if(U.window.push(j(L)),U.window.length<$||U.wsum===0)return null;let O=0;for(let J=0;J<$;J++){let D=U.window[J];if(D==null)return null;O+=D*U.weights[J]}return O/U.wsum}cmo(T,L,I){let _=m(I);if(_===null)return null;let R=this.cmoSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],up:0,down:0},this.cmoSites.set(T,R);let $=j(L);if(R.window.length===_+1){let U=R.window[0],O=R.window[1];if(U!==null&&O!==null){let J=O-U;if(J>0)R.up-=J;else R.down-=-J}R.window.shift()}let G=R.window.length===0?null:R.window[R.window.length-1];if(R.window.push($),G!==null&&$!==null){let U=$-G;if(U>0)R.up+=U;else R.down+=-U}if(R.window.length<_+1)return null;let Q=R.up+R.down;if(Q===0)return 0;return 100*(R.up-R.down)/Q}kama(T,L,I,_=2,R=30){let $=m(I);if($===null)return null;let G=Number.isFinite(_)?Math.trunc(_):2,Q=Number.isFinite(R)?Math.trunc(R):30;if(G===-1||Q===-1)return null;let U=this.kamaSites.get(T);if(U===void 0||U.period!==$||U.fast!==G||U.slow!==Q)U={period:$,fast:G,slow:Q,prices:[],diffs:[],vol:0,kama:null,seeded:!1,bars:0},this.kamaSites.set(T,U);let O=j(L);if(O===null)return null;let J=U.prices.length===0?null:U.prices[U.prices.length-1];if(U.prices.length===$+1)U.prices.shift();if(U.prices.push(O),U.bars+=1,J!==null){let X=Math.abs(O-J);if(U.diffs.length===$)U.vol-=U.diffs.shift();U.diffs.push(X),U.vol+=X}if(!U.seeded){if(U.bars<$)return null;return U.kama=O,U.seeded=!0,null}let D=U.prices[0],B=Math.abs(O-D),H=U.vol,z;if(H!==0){let X=B/H,k=2/(G+1),C=2/(Q+1),u=X*(k-C)+C;z=u*u}else z=(2/(Q+1))**2;return U.kama=(U.kama??O)+z*(O-(U.kama??O)),U.kama}obv(T,L,I){let _=this.obvSites.get(T);if(_===void 0)_={prev:null,obv:0,bars:0},this.obvSites.set(T,_);let R=j(L),$=j(I)??0;if(_.bars+=1,_.bars<3)return _.prev=R,0;if(R!==null&&_.prev!==null){if(R>_.prev)_.obv+=$;else if(R<_.prev)_.obv-=$}return _.prev=R,_.obv}pivothigh(T,L,I,_){return this.pivotStep(this.pivotHighSites,T,L,I,_,!0)}pivotlow(T,L,I,_){return this.pivotStep(this.pivotLowSites,T,L,I,_,!1)}pivotStep(T,L,I,_,R,$){if(!Number.isFinite(_)||!Number.isFinite(R)||_<0||R<0)return null;let G=Math.trunc(_),Q=Math.trunc(R),U=T.get(L);if(U===void 0||U.left!==G||U.right!==Q)U={left:G,right:Q,window:[],n:0},T.set(L,U);let O=G+1;if(U.window.length===O)U.window.shift();if(U.window.push(j(I)),U.n+=1,U.n<=G+Q||U.window.length<O)return null;let J=U.window[U.window.length-1];if(J===null)return null;for(let D=1;D<=G;D++){let B=U.window[U.window.length-1-D];if(B===null)continue;if($?B>=J:B<=J)return null}return J}hma(T,L,I){let _=m(I);if(_===null)return null;let R=Math.max(1,Math.trunc(_/2)),$=Math.max(1,Math.trunc(Math.sqrt(_))),G=this.wma(`${T}:half`,L,R),Q=this.wma(`${T}:full`,L,_),U=G===null||Q===null?null:2*G-Q;return this.wma(`${T}:sqrt`,U,$)}mfi(T,L,I,_,R,$){let G=m($);if(G===null)return null;let Q=this.mfiSites.get(T);if(Q===void 0||Q.period!==G)Q={period:G,tps:[],mfs:[]},this.mfiSites.set(T,Q);let U=j(L),O=j(I),J=j(_);if(Q.tps.length===G+1)Q.tps.shift(),Q.mfs.shift();if(U===null||O===null||J===null)return Q.tps.push(null),Q.mfs.push(null),null;let D=j(R)??0,B=(U+O+J)/3;if(Q.tps.push(B),Q.mfs.push(B*D),Q.tps.length<=G)return null;let H=0,z=0,X=Q.tps.length-G;for(let C=X;C<Q.tps.length;C++){let u=Q.tps[C],d=Q.tps[C-1],J0=Q.mfs[C];if(u===null||d===null||J0===null)return null;if(u>d)H+=J0;else if(u<d)z+=J0}if(z===0)return H===0?50:100;return 100-100/(1+H/z)}sar(T,L,I,_=0.02,R=0.02,$=0.2){if(!Number.isFinite(_)||!Number.isFinite(R)||!Number.isFinite($))return null;let G=_,Q=R,U=$,O=this.sarSites.get(T);if(O===void 0||O.start!==G||O.increment!==Q||O.maximum!==U)O={start:G,increment:Q,maximum:U,started:!1,sar:null,ep:null,trend:1,af:G},this.sarSites.set(T,O);let J=j(L),D=j(I);if(!O.started){if(J===null||D===null)return null;return O.started=!0,O.sar=D,O.ep=J,O.trend=1,O.af=G,D}let{sar:B,ep:H}=O;if(B===null||J===null||D===null||H===null)return B;let{trend:z,af:X}=O,k=H,C;if(z===1){if(C=B+X*(k-B),J>k)k=J,X=Math.min(X+Q,U);if(C>D)z=-1,C=k,k=D,X=G}else{if(C=B-X*(B-k),D<k)k=D,X=Math.min(X+Q,U);if(C<J)z=1,C=k,k=J,X=G}return O.sar=C,O.ep=k,O.trend=z,O.af=X,Number.isFinite(C)?C:null}adx(T,L,I,_,R){let $=m(R);if($===null)return 0;let G=this.adxSites.get(T);if(G===void 0||G.period!==$)G={period:$,prevH:null,prevL:null,prevC:null,n:0},this.adxSites.set(T,G);let Q,U,O;if(G.prevH===null||G.prevL===null||G.prevC===null)Q=null,U=null,O=null;else{let X=L!==null&&Number.isFinite(L)?L:Number.NaN,k=I!==null&&Number.isFinite(I)?I:Number.NaN,C=Math.max(X-k,Math.abs(X-G.prevC),Math.abs(k-G.prevC));Q=Number.isFinite(C)?C:null;let u=X-G.prevH,d=G.prevL-k;U=u>d&&u>0?u:0,O=d>u&&d>0?d:0}G.prevH=j(L),G.prevL=j(I),G.prevC=j(_),G.n+=1;let J=this.rma(`${T}:tr`,Q,$),D=this.rma(`${T}:pdm`,U,$),B=this.rma(`${T}:mdm`,O,$);if(G.n<$)return 0;if(J===null)return 0;let H;if(D===null||B===null)H=null;else{let X=J!==0?100*D/J:0,k=J!==0?100*B/J:0,C=X+k;H=C!==0?100*Math.abs(X-k)/C:0}let z=this.rma(`${T}:dx`,H,$);return z===null?0:z}dmi(T,L,I,_,R,$){let G=m(R);if(G===null)return{plus:null,minus:null,adx:null};let Q=this.dmiSites.get(T);if(Q===void 0||Q.diLen!==G)Q={diLen:G,prevH:null,prevL:null,prevC:null},this.dmiSites.set(T,Q);let U,O,J;if(Q.prevH===null||Q.prevL===null||Q.prevC===null)U=null,O=0,J=0;else{let C=j(L)??0,u=j(I)??0,d=Q.prevH,J0=Q.prevL,X0=Q.prevC;U=Math.max(C-u,Math.abs(C-X0),Math.abs(u-X0));let T1=C-d,q6=J0-u;O=T1>q6&&T1>0?T1:0,J=q6>T1&&q6>0?q6:0}Q.prevH=j(L),Q.prevL=j(I),Q.prevC=j(_);let D=this.rma(`${T}:tr`,U,G),B=this.rma(`${T}:pdm`,O,G),H=this.rma(`${T}:mdm`,J,G),z,X;if(D===null)z=null,X=null;else if(D===0)z=0,X=0;else z=100*(B??0)/D,X=100*(H??0)/D;let k=this.adx(`${T}:adx`,L,I,_,$);return{plus:z,minus:X,adx:k}}correlation(T,L,I,_){let R=m(_);if(R===null||R<2)return null;let $=this.correlationSites.get(T);if($===void 0||$.length!==R)$={length:R,a:[],b:[]},this.correlationSites.set(T,$);if($.a.length===R)$.a.shift(),$.b.shift();if($.a.push(j(L)),$.b.push(j(I)),$.a.length<R)return null;let G=[],Q=[];for(let k=0;k<R;k++){let C=$.a[k],u=$.b[k];if(C!==null&&u!==null)G.push(C),Q.push(u)}if(G.length<2)return null;let U=G.length,O=0,J=0;for(let k=0;k<U;k++)O+=G[k],J+=Q[k];O/=U,J/=U;let D=0,B=0,H=0;for(let k=0;k<U;k++){let C=G[k]-O,u=Q[k]-J;D+=C*u,B+=C*C,H+=u*u}let z=Math.sqrt(B),X=Math.sqrt(H);if(z===0||X===0)return null;return D/(z*X)}accdist(T,L,I,_,R){let $=this.accdistSites.get(T);if($===void 0)$={ad:0},this.accdistSites.set(T,$);let G=j(L),Q=j(I),U=j(_);if(G===null||Q===null||U===null)return $.ad;let O=j(R)??0,J=G-Q,D=J===0?0:(U-Q-(G-U))/J;return $.ad+=D*O,$.ad}pvt(T,L,I){let _=this.pvtSites.get(T);if(_===void 0)_={pvt:0,prev:null},this.pvtSites.set(T,_);let R=j(L),$=_.prev;if($!==null&&$!==0&&R!==null){let G=j(I)??0;_.pvt+=G*(R-$)/$}if(R!==null)_.prev=R;return _.pvt}wad(T,L,I,_){let R=this.wadSites.get(T);if(R===void 0)R={wad:0,prev:null,started:!1},this.wadSites.set(T,R);let $=j(L),G=j(I),Q=j(_);if($===null||G===null||Q===null)return R.wad;if(!R.started)return R.started=!0,R.prev=Q,R.wad;let U=R.prev;if(U!==null){if(Q>U)R.wad+=Q-G;else if(Q<U)R.wad-=$-Q}return R.prev=Q,R.wad}nvi(T,L,I){return this.volIndexStep(this.nviSites,T,L,I,(_,R)=>_<R)}pvi(T,L,I){return this.volIndexStep(this.pviSites,T,L,I,(_,R)=>_>R)}volIndexStep(T,L,I,_,R){let $=T.get(L);if($===void 0)$={value:1000,prevClose:null,prevVol:null,started:!1},T.set(L,$);let G=j(I),Q=j(_)??0;if(!$.started){if($.started=!0,G!==null)$.prevClose=G;return $.prevVol=Q,$.value}if(G!==null&&$.prevClose!==null&&R(Q,$.prevVol??0)){let U=$.prevClose!==0?(G-$.prevClose)/$.prevClose:0,O=$.value*(1+U);if(Number.isFinite(O))$.value=O}if(G!==null)$.prevClose=G;return $.prevVol=Q,$.value}iii(T,L,I,_,R){let $=j(L),G=j(I),Q=j(_);if($===null||G===null||Q===null)return null;let U=$-G;if(U===0)return 0;let O=j(R)??0;return(2*Q-$-G)/U*O}wvad(T,L,I,_,R,$){let G=this.wvadSites.get(T);if(G===void 0)G={value:0},this.wvadSites.set(T,G);let Q=j(L),U=j(I),O=j(_),J=j(R);if(Q===null||U===null||O===null||J===null)return G.value;let D=U-O,B=j($)??0;if(D!==0)G.value+=(J-Q)/D*B;return G.value}pivotPoints(T,L,I,_,R){let $=j(L),G=j(I),Q=j(_);if($===null||G===null||Q===null)return{pp:null,r1:null,s1:null,r2:null,s2:null};let U=($+G+Q)/3,O=$-G;return{pp:U,r1:2*U-G,s1:2*U-$,r2:U+O,s2:U-O}}swma(T,L,I){let R=I===void 0||Number.isNaN(I)?4:m(I);if(R===null)return null;let $=this.swmaSites.get(T);if($===void 0||$.period!==R){let Q=[],U=0;for(let O=0;O<R;O++){let J=O<R>>1?O+1:O>R-1>>1?R-O:(R>>1)+1;Q.push(J),U+=J}$={period:R,window:[],weights:Q,wsum:U},this.swmaSites.set(T,$)}if($.window.length===R)$.window.shift();if($.window.push(j(L)),$.window.length<R||$.wsum===0)return null;let G=0;for(let Q=0;Q<R;Q++){let U=$.window[Q];if(U==null)return null;G+=U*$.weights[Q]}return G/$.wsum}cog(T,L,I){let _=m(I);if(_===null)return null;let R=this.cogSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.cogSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=0,G=0;for(let Q=0;Q<_;Q++){let U=R.window[_-1-Q];if(U===null)continue;$+=(Q+1)*U,G+=U}if(G===0)return null;return-$/G}tsi(T,L,I,_){let R=m(I),$=m(_);if(R===null||$===null)return null;let G=this.tsiSites.get(T);if(G===void 0||G.longPeriod!==R||G.shortPeriod!==$)G={longPeriod:R,shortPeriod:$,prev:null,nBars:0,value:null},this.tsiSites.set(T,G);let Q=j(L);G.nBars+=1;let U=G.prev;if(G.prev=Q,U===null||Q===null){if(G.nBars<R+$)return G.value=null,null;return G.value}let O=Q-U,J=`${T}:${R}:${$}`,D=this.ema(`${J}:mom`,O,R),B=this.ema(`${J}:mom2`,D,$),H=this.ema(`${J}:abs`,Math.abs(O),R),z=this.ema(`${J}:abs2`,H,$);if(G.nBars<R+$)return G.value=null,null;if(z===null||z===0)return G.value=z===0?0:null,G.value;if(B===null)return G.value=null,null;return G.value=100*(B/z),G.value}kcw(T,L,I,_,R,$){let G=this.kc(T,L,I,_,R,$);if(G.mid===null||G.up===null||G.lo===null||G.mid===0)return null;return(G.up-G.lo)/G.mid}dev(T,L,I){let _=m(I);if(_===null)return null;let R=this.devSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,count:0},this.devSites.set(T,R);let $=j(L);if(R.window.length===_){let U=R.window.shift();if(U!==null)R.sum-=U,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.count+=1;if(R.window.length<_||R.count!==_)return null;let G=R.sum/_,Q=0;for(let U of R.window){if(U===null)return null;Q+=Math.abs(U-G)}return Q/_}variance(T,L,I){let _=m(I);if(_===null||_<=1)return null;let R=this.varianceSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,sumsq:0,count:0},this.varianceSites.set(T,R);let $=j(L);if(R.window.length===_){let Q=R.window.shift();if(Q!==null)R.sum-=Q,R.sumsq-=Q*Q,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.sumsq+=$*$,R.count+=1;if(R.window.length<_||R.count!==_)return null;let G=(R.sumsq-R.sum*R.sum/_)/(_-1);if(G<0)G=0;return G}median(T,L,I){let _=m(I);if(_===null)return null;let R=this.medianSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.medianSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=[];for(let Q of R.window)if(Q!==null)$.push(Q);if($.length===0)return null;$.sort((Q,U)=>Q-U);let G=$.length>>1;if($.length%2===1)return $[G];return($[G-1]+$[G])/2}mode(T,L,I){let _=m(I);if(_===null)return null;let R=this.modeSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.modeSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=new Map,G=null,Q=0;for(let U of R.window){if(U===null)continue;let O=($.get(U)??0)+1;if($.set(U,O),O>Q)Q=O,G=U}return G}percentrank(T,L,I){let _=m(I);if(_===null)return null;let R=this.percentrankSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.percentrankSites.set(T,R);let $=j(L);if(R.window.length===_)R.window.shift();if(R.window.push($),R.window.length<_)return null;let G=[];for(let U of R.window)if(U!==null)G.push(U);if(G.length<2)return 50;if($===null)return null;let Q=0;for(let U of G)if(U<$)Q+=1;return Q/G.length*100}percentileNearest(T,L,I,_){return this.percentileStep(this.percentileNearestSites,T,L,I,_,!1)}percentileLinear(T,L,I,_){return this.percentileStep(this.percentileLinearSites,T,L,I,_,!0)}percentileStep(T,L,I,_,R,$){let G=m(_);if(G===null||!Number.isFinite(R))return null;let Q=T.get(L);if(Q===void 0||Q.period!==G||Q.percentage!==R)Q={period:G,percentage:R,window:[]},T.set(L,Q);if(Q.window.length===G)Q.window.shift();if(Q.window.push(j(I)),Q.window.length<G)return null;let U=[];for(let D of Q.window)if(D!==null)U.push(D);if(U.length===0)return null;U.sort((D,B)=>D-B);let O=U.length;if($){if(O===1)return U[0];let D=R/100*(O-1),B=Math.trunc(D),H=Math.min(B+1,O-1),z=D-B;return U[B]*(1-z)+U[H]*z}let J=Math.trunc(R/100*O+0.999999);if(J<1)J=1;if(J>O)J=O;return U[J-1]}cum(T,L){let I=this.cumSites.get(T);if(I===void 0)I={total:0},this.cumSites.set(T,I);let _=j(L);return I.total+=_??0,I.total}barssince(T,L){let I=this.barssinceSites.get(T);if(I===void 0)I={everTrue:!1,barsSince:0},this.barssinceSites.set(T,I);let _=j(L);if(_!==null&&_!==0)return I.everTrue=!0,I.barsSince=0,0;return I.barsSince+=1,I.everTrue?I.barsSince:null}valuewhen(T,L,I,_=0){if(!Number.isFinite(_)||_<0)return null;let R=Math.trunc(_),$=this.valuewhenSites.get(T);if($===void 0||$.occurrence!==R)$={occurrence:R,hits:[]},this.valuewhenSites.set(T,$);let G=j(L);if(G!==null&&G!==0){if($.hits.length===R+1)$.hits.shift();$.hits.push(j(I))}if($.hits.length<=R)return null;return $.hits[$.hits.length-1-R]}range(T,L,I){let _=this.highest(`${T}:hi`,L,I),R=this.lowest(`${T}:lo`,L,I);if(_===null||R===null)return null;return _-R}max(T,L,I){return this.highest(T,L,I)}min(T,L,I){return this.lowest(T,L,I)}}var m1=Object.freeze({__loop:"break"}),d1=Object.freeze({__loop:"continue"}),yI=1e4,L3=1e6;class Q3{symbol;inputs;broker;timeframe;libraries;constructor(T="AAPL",L){this.symbol=T;this.inputs=L?.inputs??{},this.broker=L?.broker??{},this.timeframe=L?.timeframe??null,this.libraries=L?.libraries??new X6}registerLibrarySource(T,L,I,_){this.libraries.registerSource(T,L,I,_)}run(T,L,I){let _;try{_=V2(T)}catch($){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:x2($),error_kind:"parse"}}let R=I&&!G_(I)?I:void 0;try{return xT(_,L,{symbol:this.symbol,inputs:Q_(this.inputs,I),broker:R?.broker??this.broker,timeframe:R?.timeframe??this.timeframe,libraries:R?.libraries??this.libraries})}catch($){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:x2($),error_kind:"runtime"}}}stream(T){return new U3(this,T)}async runProvider(T,L,I){let _=await L.fetch({symbol:this.symbol,timeframe:I?.timeframe??this.timeframe,limit:I?.limit});return this.run(T,_,I)}}class U3{runtime;source;bars=[];barHandlers=[];errorHandlers=[];endHandlers=[];closed=!1;constructor(T,L){this.runtime=T;this.source=L}on(T,L){if(T==="bar")this.barHandlers.push(L);else if(T==="error")this.errorHandlers.push(L);else this.endHandlers.push(L);return this}push(T){if(this.closed)return;this.bars.push(T);try{let L=this.runtime.run(this.source,this.bars);for(let I of this.barHandlers)I(L);return L}catch(L){let I=L instanceof Error?L:Error(String(L));for(let _ of this.errorHandlers)_(I);return}}close(){this.closed=!0;let T=this.runtime.run(this.source,this.bars);for(let L of this.endHandlers)L(T);return T}}function bI(T,L){let I=new Q3().run(T,L);if(I.error)throw Error(I.error);return{plots:I.plots}}function xT(T,L,I){let R=(T.kind==="Script"?T:null)?.body??[],$={},G=[],Q=null,U="indicator",O={ctx:{},series:new Map,varInited:new Set,barIndex:0,ta:new u2,callSites:new WeakMap,plotKeys:new WeakMap,nextSite:0,plots:$,plot_meta:G,book:new s5(I?.broker),drawings:new j2,symbol:I?.symbol??"AAPL",timeframe:I?.timeframe??null,inputs:I?.inputs??{},inputStore:new Map,udfs:new Map,udfSites:new Map,frames:[],barCount:L.length,lastBarTime:L.length===0?0:L[L.length-1].time??(L.length-1)*60000,logs:new C2,barTimes:L.map((H,z)=>H.time??z*60000),libraries:I?.libraries??new X6,pendingExports:new Map},J=L.length,D;try{for(let H=0;H<J;H++){wI(O,L[H],H),O.book.processPending(H,{open:V(O.ctx.open)??void 0,high:V(O.ctx.high)??void 0,low:V(O.ctx.low)??void 0,close:V(O.ctx.close)??void 0}),O.book.markOpenTrades(V(O.ctx.high)??V(O.ctx.close)??0,V(O.ctx.low)??V(O.ctx.close)??0,V(O.ctx.close)??0);try{for(let z of R){let X=iT(z);if(X){if(Q==null)Q=X.name;if(X.kind==="strategy")U="strategy",dI(z,O);else if(X.kind==="library")U="library",I3(z,O);else I3(z,O);continue}U1(z,O)}if(H===0&&U==="library"&&Q)rT(O,Q)}catch(z){if(z===m1||z===d1)continue;D={error:x2(z),error_kind:"runtime"};break}}}catch(H){if(H!==m1&&H!==d1)D={error:x2(H),error_kind:"runtime"}}let B=G[0]?.title;return{series:$,plots:B?$[B]??[]:[],plot_meta:G,count:J,script_name:Q,script_type:U,mode:"interpret",events:O.book.events,fills:S_(O.book),drawings:O_(O.drawings),logs:O.logs.records.length?O.logs.records:void 0,plot_data:hI($,O.barTimes),...U==="strategy"||O.book.fills.length>0?{strategy:O.book.summary(V(O.ctx.close)??0)}:{},...D??{}}}function hI(T,L){let I={};for(let[_,R]of Object.entries(T))I[_]={data:R.map(($,G)=>{let Q=L[G];return Q==null?{value:$}:{value:$,time:Q}})};return I}function x1(T,L,I){T.ctx[L]=I;let _=T.series.get(L);if(!_)_=new p1,T.series.set(L,_);_.push(I)}function wI(T,L,I){T.barIndex=I;let _=L.open??0,R=L.high??0,$=L.low??0,G=L.close??0,Q=L.volume??1,U=L.time??I*60000;x1(T,"open",_),x1(T,"high",R),x1(T,"low",$),x1(T,"close",G),x1(T,"volume",Q),x1(T,"time",U),T.ctx.bar_index=I,T.ctx.last_bar_index=T.barCount-1,T.ctx.last_bar_time=T.lastBarTime,g2(T,"hl2",(R+$)/2),g2(T,"hlc3",(R+$+G)/3),g2(T,"ohlc4",(_+R+$+G)/4),g2(T,"hlcc4",(R+$+G+G)/4);let O=K6(U);T.ctx.year=O.year,T.ctx.month=O.month,T.ctx.dayofmonth=O.dayofmonth,T.ctx.dayofweek=O.dayofweek,T.ctx.hour=O.hour,T.ctx.minute=O.minute,T.ctx.second=O.second;for(let J of T.varInited){let D=T.series.get(J);if(D==null)continue;if(D.length===I)D.push(D.current);T.ctx[J]=D.current}}function g2(T,L,I){T.ctx[L]=I;let _=T.series.get(L);if(!_)_=new p1,T.series.set(L,_);if(_.length===T.barIndex)_.push(I);else if(_.length===T.barIndex+1)_.setCurrent(I);else{while(_.length<T.barIndex)_.push(K);_.push(I)}}function cT(T){if(T.kind==="Name")return T.id;if(T.kind==="Attribute"){let L=cT(T.value);return L?`${L}.${T.attr}`:T.attr}return null}function S3(T){if(T.func.kind==="Name")return T.func.id;return cT(T.func)}function $0(T){if(T==null)return[];return Array.isArray(T)?T:[T]}function mT(T){for(let L of $0(T))if(L.value.kind==="Constant"&&typeof L.value.value==="string")return L.value.value;return null}function q0(T){if(T.name!=null&&T.name!=="")return T.name;let L=T;if(typeof L.arg==="string"&&L.arg!=="")return L.arg;if(typeof L.keyword==="string"&&L.keyword!=="")return L.keyword;return dT(T)?.name??null}function dT(T){if(T.name!=null&&T.name!=="")return null;let L=T.value;if((L.kind==="Assign"||L.kind==="ReAssign")&&L.target?.kind==="Name"&&L.value!=null)return{name:L.target.id,value:L.value};return null}function H6(T){return dT(T)?.value??T.value}function lT(T,L){for(let I of $0(T)){if(q0(I)!==L)continue;let _=H6(I);if(_.kind==="Constant"&&typeof _.value==="string")return _.value}return null}function O3(T,L){let I=L.callSites.get(T);if(I!=null)return I;let R=`${T.lineno!=null&&T.col_offset!=null?`${T.lineno}:${T.col_offset}`:""}#${L.nextSite++}`;return L.callSites.set(T,R),R}function W(T,L,I){let _=$0(T);for(let $ of _){let G=q0($);if(G!=null&&I.includes(G))return H6($)}let R=0;for(let $ of _){if(q0($)!=null)continue;if(R===L)return $.value;R++}return}function AI(T){if(T==="hline")return"hline";if(T==="plotshape")return"shape";if(T==="plotchar")return"char";if(T==="plotarrow")return"arrow";if(T==="bgcolor")return"bgcolor";if(T==="barcolor")return"barcolor";return"plot"}function uI(T,L){let I=lT(T,"title");if(I!=null){let $=I.trim();if($)return $}let _=[];for(let $ of T){if(q0($)!=null)continue;_.push($)}if(_.length>1){let $=H6(_[1]);if($.kind==="Constant"&&typeof $.value==="string"){let G=$.value.trim();if(G)return G}}let R=mT(T.slice(1));if(R!=null){let $=R.trim();if($)return $}return AI(L)}function gI(T,L,I){let _=T.plotKeys.get(L);if(_!=null)return _;let R=I.trim()||"plot",$=R,G=2;while(Object.prototype.hasOwnProperty.call(T.plots,$))$=`${R}_${G++}`;return T.plotKeys.set(L,$),$}function f2(T){return T.mode?.kind==="Var"}function J3(T){return typeof T==="object"&&T!==null&&T.__tuple===!0}function t0(T){return{__tuple:!0,elts:T}}function fI(T){return T===null||typeof T==="number"&&Number.isFinite(T)}function oT(T){return T.frames.length>0?T.frames[T.frames.length-1]:null}function pI(T){return oT(T)?.varInited??T.varInited}function c1(T,L){for(let I=T.frames.length-1;I>=0;I--){let _=T.frames[I].ctx;if(Object.prototype.hasOwnProperty.call(_,L))return _[L]}if(Object.prototype.hasOwnProperty.call(T.ctx,L))return T.ctx[L];return}function xI(T,L){for(let I=T.frames.length-1;I>=0;I--){let _=T.frames[I].series.get(L);if(_)return _}return T.series.get(L)}function j0(T,L,I){let _=typeof I==="number"&&!Number.isFinite(I)?K:I,R=oT(T),$=R?R.ctx:T.ctx,G=R?R.series:T.series;if($[L]=_,!fI(_))return;let Q=G.get(L);if(!Q)Q=new p1,G.set(L,Q);if(Q.length===T.barIndex+1)Q.setCurrent(_);else{while(Q.length<T.barIndex)Q.push(K);Q.push(_)}}function vT(T,L,I){if(!J3(L))return;let _=Math.min(T.elts.length,L.elts.length);for(let R=0;R<_;R++){let $=T.elts[R];if($?.kind==="Name")j0(I,$.id,Y(L.elts[R]))}}function cI(T,L){if(T.value==null)return K;let I=pI(L);if(T.target.kind==="Tuple"){if(f2(T)){if(T.target.elts.some((Q)=>Q.kind==="Name"&&I.has(Q.id))||L.barIndex!==0&&T.target.elts.some((Q)=>Q.kind==="Name"&&c1(L,Q.id)!==void 0)){for(let Q of T.target.elts)if(Q.kind==="Name")I.add(Q.id);return K}}let $=Z(T.value,L);if(vT(T.target,$,L),f2(T)){for(let G of T.target.elts)if(G.kind==="Name")I.add(G.id)}return $}if(T.target.kind!=="Name")return K;let _=T.target.id;if(f2(T)&&(I.has(_)||L.barIndex!==0&&c1(L,_)!==void 0)){I.add(_);let $=c1(L,_);return $===void 0?K:$}let R=Z(T.value,L);if(j0(L,_,R),f2(T))I.add(_);if(T.export)L.pendingExports.set(_,R);return R}function mI(T,L){if(T.target.kind==="Tuple"){let _=Z(T.value,L);return vT(T.target,_,L),_}if(T.target.kind==="Attribute"){let _=Z(T.target.value,L),R=Z(T.value,L);if(_ instanceof R1)return _.set(T.target.attr,R),R;return K}if(T.target.kind!=="Name")return K;let I=Z(T.value,L);return j0(L,T.target.id,I),I}function dI(T,L){if(T.kind!=="Expr"||T.value?.kind!=="Call")return;let I={},_=Y(Z(W(T.value.args,-1,["commission","commission_value"]),L)),R=Y(Z(W(T.value.args,-1,["slippage"]),L)),$=Y(Z(W(T.value.args,-1,["pyramiding"]),L));if(_!=null)I.commission=_;if(R!=null)I.slippage=R;if($!=null)I.pyramiding=Math.trunc($);if(Object.keys(I).length)L.book.configure(I);let G=Y(Z(W(T.value.args,-1,["initial_capital"]),L));if(G!=null&&Number.isFinite(G))L.book.initialCapital=G;I3(T,L)}function I3(T,L){if(T.kind!=="Expr"||T.value?.kind!=="Call")return;let I=Y(Z(W(T.value.args,-1,["max_lines_count"]),L)),_=Y(Z(W(T.value.args,-1,["max_labels_count"]),L)),R=Y(Z(W(T.value.args,-1,["max_boxes_count"]),L)),$=Y(Z(W(T.value.args,-1,["max_polylines_count"]),L));if(I==null&&_==null&&R==null&&$==null)return;L.drawings.configure({max_lines_count:I??void 0,max_labels_count:_??void 0,max_boxes_count:R??void 0,max_polylines_count:$??void 0})}function iT(T){if(T.kind!=="Expr"||T.value?.kind!=="Call")return null;let L=S3(T.value);if(L!=="indicator"&&L!=="strategy"&&L!=="library")return null;return{name:mT(T.value.args),kind:L}}function U1(T,L){if(T.kind==="FunctionDef")return N_(T,L),K;if(T.kind==="TypeDef")return y_(T,L),K;if(T.kind==="EnumDef")return b_(T,L),K;if(T.kind==="Import")return g_(T,L),K;if(T.kind==="Assign")return cI(T,L);if(T.kind==="ReAssign")return mI(T,L);if(T.kind==="Break")throw m1;if(T.kind==="Continue")throw d1;if(T.kind==="Switch"||T.kind==="While"||T.kind==="If")return Z(T,L);if(T.kind!=="Expr"||!("value"in T)||T.value==null)return K;let I=T.value;if(I.kind==="Call"){let _=S3(I);if(_==="indicator"||_==="strategy"||_==="library")return K;if(_==="plot"||_==="plotshape"||_==="hline"||_==="plotchar"||_==="plotarrow"||_==="bgcolor"||_==="barcolor"){let R=$0(I.args),$=uI(R,_),G=gI(L,I,$),Q=W(I.args,0,["series","source"])??R[0]?.value,U=Y(Z(Q,L));if(!L.plots[G])L.plots[G]=[],L.plot_meta.push({title:G});let O=L.plots[G];while(O.length<L.barIndex)O.push(null);return O.push(U),U}}return Z(I,L)}function e0(T){return T!=null&&T!==0}function Z(T,L){if(T==null)return K;switch(T.kind){case"Name":{let I=c1(L,T.id);return I===void 0?K:I}case"Constant":{let I=T.value;if(typeof I==="number")return Number.isFinite(I)?I:K;if(typeof I==="string")return I;if(I===!0)return 1;if(I===!1)return 0;return K}case"BinOp":{let I=Z(T.left,L),_=Z(T.right,L);if(T.op.kind==="Add"&&(typeof I==="string"||typeof _==="string"))return _3(I)+_3(_);let R=Y(I),$=Y(_);if(R==null||$==null)return K;switch(T.op.kind){case"Add":return R+$;case"Sub":return R-$;case"Mult":return R*$;case"Div":return $===0?K:R/$;case"Mod":return $===0?K:R%$}return K}case"UnaryOp":{let I=Y(Z(T.operand,L));if(T.op.kind==="Not")return e0(I)?0:1;if(I==null)return K;if(T.op.kind==="USub")return-I;if(T.op.kind==="UAdd")return I;if(T.op.kind==="Invert")return~Math.trunc(I);return K}case"Subscript":{let I=Y(Z(T.slice??void 0,L));if(I==null||!Number.isFinite(I))return K;let _=Math.trunc(I);if(_<0)return K;if(T.value.kind==="Name"){let R=xI(L,T.value.id);if(R)return R.get(_)}return K}case"Call":return eI(T,L);case"Compare":{let I=Z(T.left,L);for(let _=0;_<T.ops.length;_++){let R=Z(T.comparators[_],L),$=tI(I,T.ops[_].kind,R);if($==null)return K;if(!$)return 0;I=R}return 1}case"If":{let I=Y(Z(T.test,L)),_=e0(I)?T.body:T.orelse,R=K;for(let $ of _)R=U1($,L);return R}case"Attribute":return aI(T,L);case"Conditional":return lI(T,L);case"ForTo":return oI(T,L);case"Tuple":return t0(T.elts.map((I)=>Z(I,L)));case"ForIn":return sI(T,L);case"While":return vI(T,L);case"Switch":return iI(T,L);case"BoolOp":return rI(T,L)}}function lI(T,L){let I=Y(Z(T.test,L));return e0(I)?Z(T.body,L):Z(T.orelse,L)}function oI(T,L){let I=Y(Z(T.start,L)),_=Y(Z(T.end,L));if(I==null||_==null||!Number.isFinite(I)||!Number.isFinite(_))return K;let R;if(T.step!=null){let D=Y(Z(T.step,L));if(D==null||!Number.isFinite(D)||D===0)return K;if(R=Math.trunc(D),R===0)return K}else R=I<=_?1:-1;let $=Math.trunc(I),G=Math.trunc(_),Q=T.target.kind==="Name"?T.target.id:null,U=K,O=0,J=(D)=>{if(Q)j0(L,Q,D);try{for(let B of T.body)U=U1(B,L)}catch(B){if(B===m1)return"break";if(B===d1)return"ok";throw B}return"ok"};if(R>0)for(let D=$;D<=G;D+=R){if(++O>L3)break;if(J(D)==="break")break}else for(let D=$;D>=G;D+=R){if(++O>L3)break;if(J(D)==="break")break}return U}function vI(T,L){let I=K,_=0;while(e0(Y(Z(T.test,L)))){if(++_>yI)break;try{for(let R of V6(T.body))I=U1(R,L)}catch(R){if(R===m1)break;if(R===d1)continue;throw R}}return I}function iI(T,L){let I=Array.isArray(T.cases)?T.cases:[],_=T.subject!=null,R=_?Z(T.subject,L):null;for(let $ of I){if($.pattern==null)return n5($.body,L);if(_){let G=Z($.pattern,L);if(R3(G,R))return n5($.body,L)}else if(e0(Y(Z($.pattern,L))))return n5($.body,L)}return K}function n5(T,L){let I=K;for(let _ of V6(T))I=U1(_,L);return I}function rI(T,L){let I=T.values??[],_=typeof T.op==="string"?T.op:T.op?.kind;if(_==="And"){for(let R of I){let $=Y(Z(R,L));if($==null)return K;if(!e0($))return 0}return 1}if(_==="Or"){let R=!1;for(let $ of I){let G=Y(Z($,L));if(G==null){R=!0;continue}if(e0(G))return 1}return R?K:0}return K}function sI(T,L){let I=Z(T.iter,L),_=[];if(J3(I))_=I.elts;else if(I instanceof G0)_=I.toValues();let R=T.target.kind==="Name"?T.target.id:null,$=K,G=Math.min(_.length,L3);for(let Q=0;Q<G;Q++){let U=_[Q];if(R)j0(L,R,U);try{for(let O of T.body)$=U1(O,L)}catch(O){if(O===m1)break;if(O===d1)continue;throw O}}return $}function aI(T,L){if(T.value.kind==="Name"){if(T.value.id==="strategy"){if(T.attr==="long"||T.attr==="short")return T.attr;if(T.attr==="position_size")return L.book.position.qty;if(T.attr==="position_avg_price")return L.book.position.avgPrice;if(T.attr==="netprofit")return L.book.realizedPnl;if(T.attr==="openprofit"){let _=L.book.position.qty,R=L.book.position.avgPrice,$=V(L.ctx.close);if(_===0||R==null||$==null)return 0;return _*($-R)}if(T.attr==="equity")return L.book.equity(V(L.ctx.close)??0);if(T.attr==="opentrades")return L.book.opentrades;if(T.attr==="closedtrades")return L.book.closedtrades;if(T.attr==="wintrades")return L.book.wintrades;if(T.attr==="losstrades")return L.book.losstrades;if(T.attr==="eventrades")return L.book.eventrades;if(T.attr==="grossprofit")return L.book.grossprofit;if(T.attr==="grossloss")return L.book.grossloss;if(T.attr==="avg_trade")return L.book.avgTrade();if(T.attr==="avg_winning_trade")return L.book.avgWinningTrade();if(T.attr==="avg_losing_trade")return L.book.avgLosingTrade();if(T.attr==="netprofit_percent")return L.book.netprofitPercent(V(L.ctx.close)??0);if(T.attr==="openprofit_percent")return L.book.openprofitPercent(V(L.ctx.close)??0);if(T.attr==="grossprofit_percent")return L.book.grossprofitPercent();if(T.attr==="grossloss_percent")return L.book.grosslossPercent();if(T.attr==="avg_trade_percent")return L.book.avgTradePercent();if(T.attr==="avg_winning_trade_percent")return L.book.avgWinningTradePercent();if(T.attr==="avg_losing_trade_percent")return L.book.avgLosingTradePercent();if(T.attr==="max_drawdown")return L.book.maxDrawdown();if(T.attr==="max_drawdown_percent")return L.book.maxDrawdownPercent();if(T.attr==="max_runup")return L.book.maxRunup();if(T.attr==="max_runup_percent")return L.book.maxRunupPercent();if(T.attr==="percent_profitable"||T.attr==="winrate")return L.book.percentProfitable();if(T.attr==="profitfactor"||T.attr==="profit_factor")return L.book.profitFactor();if(T.attr==="initial_capital")return L.book.initialCapital;if(T.attr==="commission")return 0;if(T.attr==="cash")return"cash";if(T.attr==="fixed")return"fixed";if(T.attr==="percent_of_equity")return"percent_of_equity"}if(T.value.id==="syminfo"){if(T.attr==="ticker"||T.attr==="tickerid")return L.symbol;if(T.attr==="timezone")return"Etc/UTC";if(T.attr==="currency")return"USD";if(T.attr==="mintick")return 0.01;if(T.attr==="type")return"stock"}if(T.value.id==="timeframe"){if(T.attr==="period")return L.timeframe??"";if(T.attr==="multiplier")return V9(L.timeframe);if(T.attr==="isintraday")return H9(L.timeframe)?1:0;if(T.attr==="isdaily")return B5(L.timeframe)?1:0;if(T.attr==="isweekly")return z5(L.timeframe)?1:0;if(T.attr==="ismonthly")return H5(L.timeframe)?1:0}if(T.value.id==="color"){let _=O5(T.attr);if(_)return _}if(T.value.id==="barstate"){let _=L.barIndex===L.barCount-1;if(T.attr==="isfirst")return L.barIndex===0?1:0;if(T.attr==="islast")return _?1:0;if(T.attr==="ishistory")return _?0:1;if(T.attr==="isconfirmed")return 1;if(T.attr==="isnew")return 1;if(T.attr==="isrealtime")return 0;if(T.attr==="islastconfirmedhistory")return _?1:0}if(T.value.id==="session"){if(T.attr==="regular")return"regular";if(T.attr==="extended")return"extended";if(T.attr==="ismarket")return 1;if(T.attr==="ispremarket"||T.attr==="ispostmarket")return 0;if(T.attr==="isfirstbar"||T.attr==="isfirstbar_regular")return L.barIndex===0?1:0;if(T.attr==="islastbar"||T.attr==="islastbar_regular")return L.barIndex===L.barCount-1?1:0}if(T.value.id==="chart"){if(T.attr==="is_heikinashi"||T.attr==="is_renko"||T.attr==="is_kagi")return 0;if(T.attr==="fg_color")return"#ffffff";if(T.attr==="bg_color")return"#131722"}if(T.value.id==="ta"){let _=nI(T.attr,L);if(_!==void 0)return _}}let I=Z(T.value,L);if(I instanceof R1){let _=I.get(T.attr);if(typeof _==="number"||_===null||typeof _==="string")return _;if(_ instanceof R1||_ instanceof $1)return _;return K}if(I instanceof m0&&T.attr==="new")return I;if(I instanceof g1)return I.members.get(T.attr)??K;if(I instanceof H1){let _=I.get(T.attr);if(_===void 0)return K;if(c2(_))return _;if(typeof _==="function")return K;return _}return K}function nI(T,L){let I=L.ta,_=`attr:ta.${T}`;if(T==="accdist"||T==="ad")return I.accdist(_,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close),V(L.ctx.volume));if(T==="obv"&&typeof I.obv==="function")return I.obv.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));if(T==="tr"&&typeof I.tr==="function")return I.tr.call(L.ta,_,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close));if(T==="vwap"&&typeof I.vwap==="function"){let R=V(L.ctx.high),$=V(L.ctx.low),G=V(L.ctx.close),Q=R!=null&&$!=null&&G!=null?(R+$+G)/3:G;return I.vwap.call(L.ta,_,Q,V(L.ctx.volume))}if(T==="pvt"&&typeof I.pvt==="function")return I.pvt.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));if(T==="nvi"&&typeof I.nvi==="function")return I.nvi.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));if(T==="pvi"&&typeof I.pvi==="function")return I.pvi.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));return}function gT(T,L){if(T==null)return"long";if(T.kind==="Constant"&&typeof T.value==="string")return T.value;let I=Z(T,L);if(typeof I==="string")return I;let _=Y(I);if(_===1)return"long";if(_===-1)return"short";return"long"}function z6(T){if(T==null)return"entry";if(T.kind==="Constant"&&typeof T.value==="string")return T.value;if(T.kind==="Name")return T.id;return"entry"}function _3(T){if(typeof T==="string")return T;if(T instanceof I0)return T.toString();let L=Y(T);return L==null?"na":String(L)}function F1(T){if(T==null)return!0;if(typeof T==="number")return!Number.isFinite(T);return!1}function R3(T,L){if(F1(T)&&F1(L))return!0;if(F1(T)||F1(L))return!1;if(T instanceof $1)return T.equals(L);if(L instanceof $1)return L.equals(T);if(typeof T==="string"||typeof L==="string")return T===L;if(typeof T==="number"&&typeof L==="number")return T===L;return T===L}function tI(T,L,I){let _=F1(T),R=F1(I);switch(L){case"Eq":return R3(T,I);case"NotEq":if(_||R)return!1;return!R3(T,I);case"Lt":case"LtE":case"Gt":case"GtE":{let $=Y(T),G=Y(I);if($==null||G==null)return!1;if(L==="Lt")return $<G;if(L==="LtE")return $<=G;if(L==="Gt")return $>G;return $>=G}default:return null}}function eI(T,L){if(T.func.kind==="Attribute"){let X=Z(T.func.value,L);if(X instanceof H1)return u_(X,T.func.attr,T,L);if(X instanceof R1){let k=X.getMethod(T.func.attr);if(k&&c2(k.body))return G3(k.body,T,L,X)}if(X instanceof m0&&T.func.attr==="new"){let k={};for(let C of $0(T.args)){let u=q0(C);if(u)k[u]=Z(C.value,L)}return X.newInstance(k)}}let I=S3(T),_=O3(T,L);if(I==="ta.sma"||I==="sma")return L.ta.sma(_,b(T,L),g(T,L,1));if(I==="ta.ema"||I==="ema")return L.ta.ema(_,b(T,L),g(T,L,1));if(I==="ta.rsi"||I==="rsi")return L.ta.rsi(_,b(T,L),g(T,L,1));if(I==="ta.rma"||I==="rma")return L.ta.rma(_,b(T,L),g(T,L,1));if(I==="ta.atr"||I==="atr"){let X=g(T,L,0);return L.ta.atr(_,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close),X)}if(I==="ta.kc"||I==="kc")return T_(T,L,_);if(I==="ta.supertrend"||I==="supertrend")return L_(T,L,_);if(I==="ta.tr"||I==="tr")return I_(T,L,_);let R=z_(I,T,L,_);if(R!==void 0)return R;let $=B_(I,T,L);if($!==void 0)return $;if(k9(I))return W_(T,L,I);if(Y9(I)||I==="request.security")return X_(I,T,L);let G=V_(I,T,L);if(G!==void 0)return G;let Q=C_(I,T,L);if(Q!==void 0)return Q;let U=P_(I,T,L);if(U!==void 0)return U;if(I==="na"){let X=W(T.args,0,["x","source"]);if(X==null)return K;return F1(Z(X,L))?1:0}if(I==="iff"){let X=Y(Z(W(T.args,0,["condition","cond"]),L));if(X==null)return K;return e0(X)?Z(W(T.args,1,["then","if_true"]),L):Z(W(T.args,2,["else","if_false"]),L)}if(I==="fixnan"){let X=Y(Z(W(T.args,0,["source","x"]),L));return X==null?0:X}if(I==="int"){let X=Y(Z(W(T.args,0,["x","source"]),L));return X==null?K:Math.trunc(X)}if(I==="float")return Y(Z(W(T.args,0,["x","source"]),L));if(I==="bool"){let X=Y(Z(W(T.args,0,["x","source"]),L));return e0(X)?1:0}if(I==="string"||I==="str")return _3(Z(W(T.args,0,["x","source"]),L));if(I==="log.info"||I==="log.warning"||I==="log.error"){let X=$0(T.args).map((C)=>{let u=Z(C.value,L);if(u instanceof I0)return u.toString();return typeof u==="string"?u:Y(u)}),k=M5(X);if(I==="log.info")L.logs.info(L.barIndex,k);else if(I==="log.warning")L.logs.warning(L.barIndex,k);else L.logs.error(L.barIndex,k);return K}let O=A_(I,T,L);if(O!==void 0)return O;if(I==="timeframe.in_seconds"){let X=p(W(T.args,0,["timeframe","period"]),L)??L.timeframe;return B9(X)}if(I==="timeframe.from_seconds"){let X=Y(Z(W(T.args,0,["seconds"]),L));return X==null?K:z9(X)}if(I==="runtime.error"){let X=$0(T.args).map((k)=>{let C=Z(k.value,L);return typeof C==="string"?C:Y(C)});k5(M5(X)||"runtime.error")}if(I==="ticker.new"){let X=p(W(T.args,0,["symbol"]),L)??L.symbol,k=p(W(T.args,1,["session"]),L)??void 0;return E5(X,k)}if(I==="ticker.heikinashi"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return j5(k)}if(I==="ticker.standard"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return C5(k)}if(I==="ticker.renko"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return P5(k)}if(I==="ticker.kagi"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return N5(k)}if(I==="ticker.linebreak"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return y5(k)}if(I==="ticker.pointfigure"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return b5(k)}if(I==="ticker.modify"){let X=Z(W(T.args,0,["ticker","tickerid"]),L),k=X instanceof I0?X:typeof X==="string"?X:L.symbol;return h5(k,{symbol:p(W(T.args,1,["symbol"]),L)??void 0,session:p(W(T.args,2,["session"]),L)??void 0,adjust:p(W(T.args,3,["adjust","adjustment"]),L)??void 0})}let J=F_(I,T,L);if(J!==void 0)return J;let D=M_(I,T,L);if(D!==void 0)return D;let B=E_(I,T,L);if(B!==void 0)return B;if(I==="nz"){let X=Y(Z(W(T.args,0,["source","x"]),L)),k=Y(Z(W(T.args,1,["replacement"]),L));return X==null?k??0:X}if(I==="strategy.entry"){let X=z6(W(T.args,0,["id"])),k=gT(W(T.args,1,["direction"]),L),C=W(T.args,2,["qty"]),u=C==null?1:Y(Z(C,L)),d=u==null||!Number.isFinite(u)?Number.NaN:u,J0=Y(Z(W(T.args,-1,["limit"]),L)),X0=Y(Z(W(T.args,-1,["stop"]),L)),T1=V(L.ctx.close);return L.book.placeEntry(L.barIndex,X,k,d,{limit:J0,stop:X0,price:T1==null||!Number.isFinite(T1)?void 0:T1,time:V(L.ctx.time)??void 0,oca_name:p(W(T.args,-1,["oca_name"]),L),oca_type:p(W(T.args,-1,["oca_type"]),L)}),K}if(I==="strategy.close"){let X=z6(W(T.args,0,["id"])),k=V(L.ctx.close);if(L.book.position.qty!==0&&k!=null)L.book.fillClose(L.barIndex,X,k,{time:V(L.ctx.time)??void 0});else L.book.close(L.barIndex,X);return K}if(I==="strategy.exit")return L.book.exit(L.barIndex,z6(W(T.args,0,["id"]))),K;if(I==="strategy.close_all")return L.book.closeAll(L.barIndex,V(L.ctx.close)??void 0),K;if(I==="strategy.cancel")return L.book.cancel(L.barIndex,z6(W(T.args,0,["id"]))),K;if(I==="strategy.cancel_all")return L.book.cancelAll(L.barIndex),K;if(I==="strategy.order"){let X=z6(W(T.args,0,["id"])),k=gT(W(T.args,1,["direction"]),L),C=Y(Z(W(T.args,2,["qty"]),L)),u=C==null||!Number.isFinite(C)?Number.NaN:C;return L.book.order(L.barIndex,X,k,u,{limit:Y(Z(W(T.args,-1,["limit"]),L)),stop:Y(Z(W(T.args,-1,["stop"]),L)),price:V(L.ctx.close)??void 0,time:V(L.ctx.time)??void 0,oca_name:p(W(T.args,-1,["oca_name"]),L),oca_type:p(W(T.args,-1,["oca_type"]),L)}),K}let H=D_(I,T,L);if(H!==void 0)return H;let z=K_(I,T,L);if(z!==void 0)return z;if(I!=null&&I.endsWith(".new")){let X=I.slice(0,-4),k=c1(L,X);if(k instanceof m0){let C={};for(let u of $0(T.args)){let d=q0(u);if(d)C[d]=Z(u.value,L)}return k.newInstance(C)}}if(I!=null){let X=L.udfs.get(I);if(X)return G3(X,T,L)}return K}function T_(T,L,I){let _=$0(T.args).filter((J)=>q0(J)==null),R=V(L.ctx.high),$=V(L.ctx.low),G=b(T,L),Q=g(T,L,1),U=$3(T,L,2,["mult","multiplier"],1);if(_.length>=4)R=Y(Z(_[0].value,L)),$=Y(Z(_[1].value,L)),G=Y(Z(_[2].value,L)),Q=g(T,L,3),U=$3(T,L,4,["mult","multiplier"],1);let O=__(L,I,R,$,G,Q,U);return t0([O.mid,O.up,O.lo])}function L_(T,L,I){let _=$3(T,L,0,["factor"],3),R=$_(T,L,1,["atrPeriod","length"],10),$=R_(L,I,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close),_,R);return t0([$.st,$.dir])}function I_(T,L,I){let _=$0(T.args).filter((R)=>q0(R)==null);if(_.length>=3)return fT(L,I,Y(Z(_[0].value,L)),Y(Z(_[1].value,L)),Y(Z(_[2].value,L)));return fT(L,I,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close))}function __(T,L,I,_,R,$,G){let Q=T.ta.kc;if(typeof Q==="function")return Q.call(T.ta,L,I,_,R,$,G);let U=T.ta.ema(`${L}:ema`,R,$),O=T.ta.atr(`${L}:atr`,I,_,R,$);if(U==null)return{mid:null,up:null,lo:null};let J=(O??0)*G;return{mid:U,up:U+J,lo:U-J}}function R_(T,L,I,_,R,$,G){let Q=T.ta.supertrend;if(typeof Q==="function")return Q.call(T.ta,L,I,_,R,$,G);let U=T.ta.atr(`${L}:atr`,I,_,R,G),O=U==null||!Number.isFinite(U)?0:U,J=I??0,D=_??0,B=R??J,H=(J+D)/2,z=H+$*O,X=H-$*O,k=B>=H?-1:1;return{st:k<0?X:z,dir:k}}function fT(T,L,I,_,R){let $=T.ta.tr;if(typeof $==="function")return $.call(T.ta,L,I,_,R);return T.ta.atr(L,I,_,R,1)==null&&T.barIndex===0?K:K}function V(T){if(T===void 0)return K;return Y(T)}function b(T,L){return Y(Z(W(T.args,0,["source","series"]),L))}function g(T,L,I){let _=Y(Z(W(T.args,I,["length"]),L));return _==null||!Number.isFinite(_)?0:_}function $_(T,L,I,_,R){let $=Y(Z(W(T.args,I,_),L));return $==null||!Number.isFinite($)?R:$}function $3(T,L,I,_,R){let $=Y(Z(W(T.args,I,_),L));return $==null||!Number.isFinite($)?R:$}function Y(T){if(T==null)return K;if(typeof T==="number")return Number.isFinite(T)?T:K;return K}function x2(T){if(T instanceof Error)return(T.message||T.name||"runtime error").split(`
|
|
43
|
-
`)
|
|
44
|
-
`)[0].trim()||"runtime error";return"runtime error"}function G_(T){return!("inputs"in T)&&!("broker"in T)&&!("timeframe"in T)&&!("libraries"in T)}function Q_(T,L){let I=U_(L);if(I==null)return T;return{...T,...I}}function U_(T){if(T==null||typeof T!=="object")return;if("inputs"in T){let L=T.inputs;if(L!=null&&typeof L==="object"&&!Array.isArray(L))return L;return}return T}function S_(T){let L=T.fills;if(L==null||L.length===0)return;return L.map((I)=>({type:"fill",...I}))}function O_(T){return T.items.length===0?void 0:T.items}function J_(T){let L=lT(T.args,"title");if(L!=null)return L;let I=$0(T.args),_=0;for(let R of I){if(q0(R)!=null)continue;if(_===1&&R.value.kind==="Constant"&&typeof R.value.value==="string")return R.value.value;_++}return null}function Z_(T,L){if(T.kind==="Constant")return T.value;let I=Z(T,L);if(typeof I==="string")return I;return Y(I)}function W_(T,L,I){let _=J_(T),R=_??O3(T,L),$=L.inputStore.get(R);if($!==void 0)return w5($);let G=[],Q={};for(let O of $0(T.args)){let J=Z_(H6(O),L),D=q0(O);if(D!=null)Q[D]=J;else G.push(J)}let U=M9(I,G,Q);if(_!=null&&L.inputs[_]!==void 0)U=L.inputs[_];return L.inputStore.set(R,U),w5(U)}function p(T,L){if(T==null)return null;if(T.kind==="Constant"&&typeof T.value==="string")return T.value;let I=Z(T,L);return typeof I==="string"?I:null}function D_(T,L,I){if(T==null||!T.startsWith("strategy.risk."))return;let _=I.book;if(T==="strategy.risk.allow_entry_in"){let R=Z(W(L.args,0,["value"]),I);return _.riskAllowEntryIn(typeof R==="string"?R:Y(R)),K}if(T==="strategy.risk.max_position_size")return _.riskMaxPositionSize(Y(Z(W(L.args,0,["percent","value"]),I))),K;if(T==="strategy.risk.max_drawdown"){let R=Y(Z(W(L.args,0,["value"]),I)),$=Z(W(L.args,1,["type"]),I);return _.riskMaxDrawdown(R,typeof $==="string"?$:Y($)),K}if(T==="strategy.risk.max_cons_loss_days")return _.riskMaxConsLossDays(Y(Z(W(L.args,0,["days","value"]),I))),K;if(T==="strategy.risk.max_intraday_loss")return _.riskMaxIntradayLoss(Y(Z(W(L.args,0,["percent","value"]),I))),K;if(T==="strategy.risk.max_intraday_filled_orders")return _.riskMaxIntradayFilledOrders(Y(Z(W(L.args,0,["max","max_orders","value"]),I))),K;return}function K_(T,L,I){if(T==null||!T.startsWith("strategy."))return;let _=Y(Z(W(L.args,0,["trade_num","trade_index","index"]),I)),R=_==null?0:Math.trunc(_),$=V(I.ctx.close)??0,G=I.book;switch(T){case"strategy.closedtrades.entry_bar_index":return G.closedEntryBar(R);case"strategy.closedtrades.entry_price":return G.closedEntryPrice(R);case"strategy.closedtrades.exit_bar_index":return G.closedExitBar(R);case"strategy.closedtrades.exit_price":return G.closedExitPrice(R);case"strategy.closedtrades.profit":return G.closedProfit(R);case"strategy.closedtrades.size":return G.closedSize(R);case"strategy.closedtrades.entry_id":case"strategy.closedtrades.exit_id":return G.closedId(R);case"strategy.closedtrades.commission":return G.closedCommission(R);case"strategy.opentrades.entry_bar_index":return G.openEntryBar(R);case"strategy.opentrades.entry_price":return G.openEntryPrice(R);case"strategy.opentrades.size":return G.openSize(R);case"strategy.opentrades.entry_id":return G.openId(R);case"strategy.opentrades.profit":return G.openProfit(R,$);default:return}}function Y_(T,L){let I=p(W(T.args,0,["symbol"]),L),_=p(W(T.args,1,["timeframe"]),L),R=W(T.args,2,["expression"]),$=Y(Z(R,L));return q2(L.symbol,L.timeframe,{symbol:I,timeframe:_,expression:R},$)}function X_(T,L,I){if(T==="request.security"||T==="request.security_lower_tf")return Y_(L,I);let _={symbol:I.symbol,timeframe:I.timeframe};if(T==="request.currency_rate"){let $=p(W(L.args,0,["from","from_currency"]),I),G=p(W(L.args,1,["to","to_currency"]),I),Q=k2(T,_,{from:$,to:G});return typeof Q==="number"||Q===null?Q:K}if(T==="request.seed"){let $=Y(Z(W(L.args,0,["seed"]),I)),G=k2(T,_,{seed:$});return typeof G==="number"||G===null?G:K}let R=k2(T,_,{});return typeof R==="number"||R===null?R:K}function B_(T,L,I){if(T==="math.abs"||T==="abs")return C9(R0(L,I,0,["number","x"]));if(T==="math.max"||T==="max")return A9(...p2(L,I));if(T==="math.min"||T==="min")return u9(...p2(L,I));if(T==="math.sqrt"||T==="sqrt")return N9(R0(L,I,0,["number","x"]));if(T==="math.log"||T==="log")return y9(R0(L,I,0,["number","x"]));if(T==="math.log10"||T==="log10")return b9(R0(L,I,0,["number","x"]));if(T==="math.exp"||T==="exp")return h9(R0(L,I,0,["number","x"]));if(T==="math.pow"||T==="pow")return w9(R0(L,I,0,["base","number","x"]),R0(L,I,1,["exponent","exp","y"]));if(T==="math.round"||T==="round"){let _=W(L.args,1,["precision"]);return g9(R0(L,I,0,["number","x"]),_==null?void 0:Y(Z(_,I)))}if(T==="math.floor"||T==="floor")return f9(R0(L,I,0,["number","x"]));if(T==="math.ceil"||T==="ceil")return p9(R0(L,I,0,["number","x"]));if(T==="math.sign"||T==="sign")return P9(R0(L,I,0,["number","x"]));if(T==="math.avg"||T==="avg")return x9(...p2(L,I));if(T==="math.sum"){let _=Z(W(L.args,0,["source","id","array"]),I),R=w(_);if(R)return R.sum();return c9(...p2(L,I))}if(T==="math.sin"||T==="sin")return m9(R0(L,I,0,["angle","x"]));if(T==="math.cos"||T==="cos")return d9(R0(L,I,0,["angle","x"]));if(T==="math.tan"||T==="tan")return l9(R0(L,I,0,["angle","x"]));if(T==="math.asin"||T==="asin")return o9(R0(L,I,0,["x"]));if(T==="math.acos"||T==="acos")return v9(R0(L,I,0,["x"]));if(T==="math.atan"||T==="atan")return i9(R0(L,I,0,["x"]));if(T==="math.todegrees")return r9(R0(L,I,0,["radians","x"]));if(T==="math.toradians")return s9(R0(L,I,0,["degrees","x"]));if(T==="math.isfinite")return a9(R0(L,I,0,["number","x"]));if(T==="math.random"){let _=W(L.args,0,["min"]),R=W(L.args,1,["max"]);return t9(_==null?void 0:Y(Z(_,I)),R==null?void 0:Y(Z(R,I)))}if(T==="math.round_to_mintick"){let _=typeof I.ctx["syminfo.mintick"]==="number"?I.ctx["syminfo.mintick"]:0.01;return n9(R0(L,I,0,["number","x"]),_)}return}function R0(T,L,I,_){return Y(Z(W(T.args,I,_),L))}function p2(T,L){return $0(T.args).map((I)=>Y(Z(I.value,L)))}function l(T,L,I,_,R){let $=W(T.args,I,_);if($==null)return R;let G=Y(Z($,L));return G==null||!Number.isFinite(G)?R:G}function z_(T,L,I,_){let R=I.ta;if(T==="ta.highest"||T==="highest"){if(typeof R.highest!=="function")return K;return R.highest.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.lowest"||T==="lowest"){if(typeof R.lowest!=="function")return K;return R.lowest.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.stdev"||T==="stdev"){if(typeof R.stdev!=="function")return K;return R.stdev.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.change"||T==="change"){if(typeof R.change!=="function")return K;return R.change.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.wma"||T==="wma"){if(typeof R.wma!=="function")return K;return R.wma.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.crossover"||T==="crossover"){if(typeof R.crossover!=="function")return K;return R.crossover.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)))}if(T==="ta.crossunder"||T==="crossunder"){if(typeof R.crossunder!=="function")return K;return R.crossunder.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)))}if(T==="ta.macd"||T==="macd"){if(typeof R.macd!=="function")return K;let $=R.macd.call(I.ta,_,b(L,I),l(L,I,1,["fastlen","fastLength","fast"],12),l(L,I,2,["slowlen","slowLength","slow"],26),l(L,I,3,["signal","signalLength","siglen"],9));return t0([$.macd,$.signal,$.hist])}if(T==="ta.bb"||T==="bb"){if(typeof R.bb!=="function")return K;let $=R.bb.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["mult","multiplier"],2));return t0([$.mid,$.up,$.lo])}if(T==="ta.sum"||T==="sum"){if(typeof R.sum!=="function")return K;return R.sum.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.roc"||T==="roc"){if(typeof R.roc!=="function")return K;return R.roc.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.mom"||T==="mom"){if(typeof R.mom!=="function")return K;return R.mom.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.vwma"||T==="vwma"){if(typeof R.vwma!=="function")return K;return R.vwma.call(I.ta,_,b(L,I),V(I.ctx.volume),g(L,I,1))}if(T==="ta.cci"||T==="cci"){if(typeof R.cci!=="function")return K;let $=V(I.ctx.high),G=V(I.ctx.low),Q=b(L,I),U=$!=null&&G!=null&&Q!=null?($+G+Q)/3:Q;return R.cci.call(I.ta,_,U,g(L,I,1))}if(T==="ta.wpr"||T==="wpr"){if(typeof R.willr!=="function")return K;return R.willr.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),g(L,I,0))}if(T==="ta.willr"||T==="willr"){if(typeof R.willr!=="function")return K;return R.willr.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),g(L,I,0))}if(T==="ta.stoch"||T==="stoch"){if(typeof R.stoch!=="function")return K;let $=$0(L.args).filter((Q)=>q0(Q)==null),G=W(L.args,1,["high"]);if(G==null&&$.length<=1)return R.stoch.call(I.ta,_,V(I.ctx.close),V(I.ctx.high),V(I.ctx.low),g(L,I,0));return R.stoch.call(I.ta,_,b(L,I),Y(Z(G,I)),Y(Z(W(L.args,2,["low"]),I)),g(L,I,3))}if(T==="ta.linreg"||T==="linreg"){if(typeof R.linreg!=="function")return K;return R.linreg.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["offset"],0))}if(T==="ta.vwap"||T==="vwap"){if(typeof R.vwap!=="function")return K;let $=W(L.args,0,["source","series"]),G=$!=null?Y(Z($,I)):H_(I);return R.vwap.call(I.ta,_,G,V(I.ctx.volume))}if(T==="ta.rising"||T==="rising"){if(typeof R.rising!=="function")return K;return R.rising.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.falling"||T==="falling"){if(typeof R.falling!=="function")return K;return R.falling.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.cross"||T==="cross"){if(typeof R.cross!=="function")return K;return R.cross.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)))}if(T==="ta.bbw"||T==="bbw"){if(typeof R.bbw!=="function")return K;return R.bbw.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["mult","multiplier"],2))}if(T==="ta.dema"||T==="dema"){if(typeof R.dema!=="function")return K;return R.dema.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.tema"||T==="tema"){if(typeof R.tema!=="function")return K;return R.tema.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.highestbars"||T==="highestbars"){if(typeof R.highestbars!=="function")return K;return R.highestbars.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.lowestbars"||T==="lowestbars"){if(typeof R.lowestbars!=="function")return K;return R.lowestbars.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.alma"||T==="alma"){if(typeof R.alma!=="function")return K;return R.alma.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["offset"],0.85),l(L,I,3,["sigma"],6))}if(T==="ta.cmo"||T==="cmo"){if(typeof R.cmo!=="function")return K;return R.cmo.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.kama"||T==="kama"){if(typeof R.kama!=="function")return K;return R.kama.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["fastLength","fast","fastlen"],2),l(L,I,3,["slowLength","slow","slowlen"],30))}if(T==="ta.accdist"||T==="accdist"||T==="ta.ad"||T==="ad"){let $=W(L.args,0,["high"]),G=W(L.args,1,["low"]),Q=W(L.args,2,["close"]),U=W(L.args,3,["volume"]);return I.ta.accdist(_,$==null?V(I.ctx.high):Y(Z($,I)),G==null?V(I.ctx.low):Y(Z(G,I)),Q==null?V(I.ctx.close):Y(Z(Q,I)),U==null?V(I.ctx.volume):Y(Z(U,I)))}if(T==="ta.obv"||T==="obv"){if(typeof R.obv!=="function")return K;let $=W(L.args,0,["source","close"]),G=W(L.args,1,["volume"]),Q=$==null?V(I.ctx.close):Y(Z($,I)),U=G==null?V(I.ctx.volume):Y(Z(G,I));return R.obv.call(I.ta,_,Q,U)}if(T==="ta.pivothigh"||T==="pivothigh"){if(typeof R.pivothigh!=="function")return K;return R.pivothigh.call(I.ta,_,b(L,I),l(L,I,1,["leftbars","left"],5),l(L,I,2,["rightbars","right"],5))}if(T==="ta.pivotlow"||T==="pivotlow"){if(typeof R.pivotlow!=="function")return K;return R.pivotlow.call(I.ta,_,b(L,I),l(L,I,1,["leftbars","left"],5),l(L,I,2,["rightbars","right"],5))}if(T==="ta.hma"||T==="hma"){if(typeof R.hma!=="function")return K;return R.hma.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.mfi"||T==="mfi"){if(typeof R.mfi!=="function")return K;let $=$0(L.args).filter((G)=>G.name==null);if($.length<=1)return R.mfi.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume),g(L,I,0));if($.length===2)return R.mfi.call(I.ta,_,b(L,I),b(L,I),b(L,I),V(I.ctx.volume),g(L,I,1));return R.mfi.call(I.ta,_,Y(Z(W(L.args,0,["high"]),I)),Y(Z(W(L.args,1,["low"]),I)),Y(Z(W(L.args,2,["close"]),I)),Y(Z(W(L.args,3,["volume"]),I)),g(L,I,4))}if(T==="ta.sar"||T==="sar"){if(typeof R.sar!=="function")return K;return R.sar.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),l(L,I,0,["start"],0.02),l(L,I,1,["increment"],0.02),l(L,I,2,["maximum","max"],0.2))}if(T==="ta.dmi"||T==="dmi"){if(typeof R.dmi!=="function")return K;let $=R.dmi.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),l(L,I,0,["diLength","length"],14),l(L,I,1,["adxSmoothing","adxlen"],14));return t0([$.plus,$.minus,$.adx])}if(T==="ta.adx"||T==="adx"){if(typeof R.adx!=="function")return K;return R.adx.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),l(L,I,0,["length"],14))}if(T==="ta.correlation"||T==="correlation"){if(typeof R.correlation!=="function")return K;return R.correlation.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)),g(L,I,2))}if(T==="ta.swma"||T==="swma"){if(typeof R.swma!=="function")return K;let $=W(L.args,1,["length"]);return R.swma.call(I.ta,_,b(L,I),$==null?void 0:g(L,I,1))}if(T==="ta.cog"||T==="cog"){if(typeof R.cog!=="function")return K;return R.cog.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.tsi"||T==="tsi"){if(typeof R.tsi!=="function")return K;if($0(L.args).filter((G)=>G.name==null).length===2)return R.tsi.call(I.ta,_,V(I.ctx.close),l(L,I,1,["long","long_length"],25),l(L,I,0,["short","short_length"],13));return R.tsi.call(I.ta,_,b(L,I),l(L,I,2,["long","long_length"],25),l(L,I,1,["short","short_length"],13))}if(T==="ta.kcw"||T==="kcw"){if(typeof R.kcw!=="function")return K;return R.kcw.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),g(L,I,0),l(L,I,1,["mult","multiplier"],2))}if(T==="ta.dev"||T==="dev"){if(typeof R.dev!=="function")return K;return R.dev.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.variance"||T==="variance"){if(typeof R.variance!=="function")return K;return R.variance.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.median"||T==="median"){if(typeof R.median!=="function")return K;return R.median.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.mode"||T==="mode"){if(typeof R.mode!=="function")return K;return R.mode.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.percentrank"||T==="percentrank"){if(typeof R.percentrank!=="function")return K;return R.percentrank.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.percentile_nearest_rank"){if(typeof R.percentileNearest!=="function")return K;return R.percentileNearest.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["percentage","percent"],50))}if(T==="ta.percentile_linear_interpolation"){if(typeof R.percentileLinear!=="function")return K;return R.percentileLinear.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["percentage","percent"],50))}if(T==="ta.cum"||T==="cum"){if(typeof R.cum!=="function")return K;return R.cum.call(I.ta,_,b(L,I))}if(T==="ta.barssince"||T==="barssince"){if(typeof R.barssince!=="function")return K;return R.barssince.call(I.ta,_,Y(Z(W(L.args,0,["condition","cond"]),I)))}if(T==="ta.valuewhen"||T==="valuewhen"){if(typeof R.valuewhen!=="function")return K;return R.valuewhen.call(I.ta,_,Y(Z(W(L.args,0,["condition","cond"]),I)),Y(Z(W(L.args,1,["source"]),I)),l(L,I,2,["occurrence"],0))}if(T==="ta.range"){if(typeof R.range!=="function")return K;return R.range.call(I.ta,_,b(L,I),g(L,I,1))}if((T==="ta.max"||T==="ta.min")&&typeof R.max==="function")return(T==="ta.max"?R.max:R.min).call(I.ta,_,b(L,I),g(L,I,1));if(T==="ta.accdist"||T==="accdist"){if(typeof R.accdist!=="function")return K;return R.accdist.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.pvt"||T==="pvt"){if(typeof R.pvt!=="function")return K;return R.pvt.call(I.ta,_,V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.wad"||T==="wad"){if(typeof R.wad!=="function")return K;return R.wad.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close))}if(T==="ta.nvi"||T==="nvi"){if(typeof R.nvi!=="function")return K;return R.nvi.call(I.ta,_,V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.pvi"||T==="pvi"){if(typeof R.pvi!=="function")return K;return R.pvi.call(I.ta,_,V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.iii"||T==="iii"){if(typeof R.iii!=="function")return K;return R.iii.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.wvad"||T==="wvad"){if(typeof R.wvad!=="function")return K;return R.wvad.call(I.ta,_,V(I.ctx.open),V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.pivot_point_levels"){if(typeof R.pivotPoints!=="function")return K;let $=R.pivotPoints.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close));return t0([$.pp,$.r1,$.s1,$.r2,$.s2])}return}function H_(T){let L=V(T.ctx.high),I=V(T.ctx.low),_=V(T.ctx.close);if(L==null||I==null||_==null)return _??L??I;return(L+I+_)/3}function w(T){if(T instanceof G0)return T;if(T&&typeof T==="object"&&"__array"in T){let L=T.elts,I=new G0;for(let _ of L)I.push(Y(_));return I}return null}function V_(T,L,I){if(T==="array.new_float"||T==="array.new"||T==="array.new_int"){let _=Y(Z(W(L.args,0,["size"]),I))??0,R=Y(Z(W(L.args,1,["initial_value"]),I));return new G0(_,R)}if(T==="array.push"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["value"]),I));return _?.push(R),K}if(T==="array.get"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I));return _?_.get(R??0):K}if(T==="array.set"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I)),$=Y(Z(W(L.args,2,["value"]),I));if(_&&R!=null)_.set(R,$);return K}if(T==="array.size"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.size():K}if(T==="array.pop"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.pop():K}if(T==="array.clear")return w(Z(W(L.args,0,["id"]),I))?.clear(),K;if(T==="array.unshift")return w(Z(W(L.args,0,["id"]),I))?.unshift(Y(Z(W(L.args,1,["value"]),I))),K;if(T==="array.shift"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.shift():K}if(T==="array.includes")return w(Z(W(L.args,0,["id"]),I))?.includes(Y(Z(W(L.args,1,["value"]),I)))?1:0;if(T==="array.first"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.first():K}if(T==="array.last"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.last():K}if(T==="array.insert"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I)),$=Y(Z(W(L.args,2,["value"]),I));if(_&&R!=null)_.insert(R,$);return K}if(T==="array.remove"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I));return _&&R!=null?_.remove(R):K}if(T==="array.fill")return w(Z(W(L.args,0,["id"]),I))?.fill(Y(Z(W(L.args,1,["value"]),I))),K;if(T==="array.slice"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index_from","from"]),I))??0,$=W(L.args,2,["index_to","to"]),G=$==null?void 0:Y(Z($,I))??void 0;return _?_.slice(R,G):K}if(T==="array.copy"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.copy():K}if(T==="array.reverse")return w(Z(W(L.args,0,["id"]),I))?.reverse(),K;if(T==="array.sort"){let _=w(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["order"]),I),$=typeof R==="string"&&R.toLowerCase().includes("desc")?"desc":"asc";return _?.sort($),K}if(T==="array.indexof"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.indexof(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.avg"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.avg():K}if(T==="array.min"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.min():K}if(T==="array.max"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.max():K}if(T==="array.sum"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.sum():K}if(T==="array.join"){let _=w(Z(W(L.args,0,["id"]),I)),R=p(W(L.args,1,["separator","sep"]),I);return _?_.join(R??","):K}if(T==="array.new_bool"||T==="array.new_string"){let _=Y(Z(W(L.args,0,["size"]),I))??0,R=Y(Z(W(L.args,1,["initial_value"]),I));return new G0(_,R)}if(T==="array.from"){let _=new G0;for(let R of $0(L.args))_.push(Y(Z(R.value,I)));return _}if(T==="array.lastindexof"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.lastIndexOf(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.concat"){let _=w(Z(W(L.args,0,["id"]),I)),R=w(Z(W(L.args,1,["other","id2"]),I));return _&&R?_.concat(R):K}if(T==="array.abs"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.abs():K}if(T==="array.every"){let _=w(Z(W(L.args,0,["id"]),I));return _&&_.every()?1:0}if(T==="array.some"){let _=w(Z(W(L.args,0,["id"]),I));return _&&_.some()?1:0}if(T==="array.median"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.median():K}if(T==="array.range"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.range():K}if(T==="array.mode"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.mode():K}if(T==="array.binary_search"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.binarySearch(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.binary_search_leftmost"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.binarySearchLeftmost(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.binary_search_rightmost"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.binarySearchRightmost(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.stdev"){let _=w(Z(W(L.args,0,["id"]),I)),R=t5(L,I);return _?_.stdev(R):K}if(T==="array.variance"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.variance(t5(L,I)):K}if(T==="array.covariance"){let _=w(Z(W(L.args,0,["id"]),I)),R=w(Z(W(L.args,1,["id2","other"]),I));return _&&R?_.covariance(R,t5(L,I,2)):K}if(T==="array.percentile_linear_interpolation"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["percentage","percent"]),I));return _&&R!=null?_.percentileLinearInterpolation(R):K}if(T==="array.percentile_nearest_rank"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["percentage","percent"]),I));return _&&R!=null?_.percentileNearestRank(R):K}if(T==="array.percentrank"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.percentrank(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.standardize"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.standardize():K}if(T==="array.sort_indices"){let _=w(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["order"]),I),$=typeof R==="string"&&R.toLowerCase().includes("desc")?"desc":"asc";if(!_)return K;let G=_.sortIndices($);if(G==null)return K;let Q=new G0;for(let U of G)Q.push(U);return Q}return}function t5(T,L,I=1){let _=Y(Z(W(T.args,I,["biased"]),L));if(_==null)return!0;return _!==0}function u0(T){return T instanceof V1?T:null}function F_(T,L,I){if(T==="map.new"||T==="map.new<float,float>"||T==="map.new_string_float")return new V1;if(T==="map.put"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I),$=Y(Z(W(L.args,2,["value"]),I));return _?.put(typeof R==="string"||typeof R==="number"?R:Y(R),$),K}if(T==="map.get"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I);return _?_.get(typeof R==="string"||typeof R==="number"?R:Y(R)):K}if(T==="map.contains"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I);return _?.contains(typeof R==="string"||typeof R==="number"?R:Y(R))?1:0}if(T==="map.size"){let _=u0(Z(W(L.args,0,["id"]),I));return _?_.size():K}if(T==="map.remove"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I);return _?_.remove(typeof R==="string"||typeof R==="number"?R:Y(R)):K}if(T==="map.clear")return u0(Z(W(L.args,0,["id"]),I))?.clear(),K;if(T==="map.put_all"){let _=u0(Z(W(L.args,0,["id"]),I)),R=u0(Z(W(L.args,1,["id2","other"]),I));if(_&&R)_.putAll(R);return K}if(T==="map.keys"){let _=u0(Z(W(L.args,0,["id"]),I));if(!_)return K;let R=new G0;for(let $ of _.keys())R.push(typeof $==="number"?$:null);return R}if(T==="map.values"){let _=u0(Z(W(L.args,0,["id"]),I));if(!_)return K;let R=new G0;for(let $ of _.values())R.push($);return R}if(T==="map.copy"){let _=u0(Z(W(L.args,0,["id"]),I));return _?_.copy():K}return}function q_(T){if(T==null||!T.startsWith("matrix."))return null;let L=T.indexOf("<");return L>=0?T.slice(0,L):T}function y(T){return T instanceof e?T:null}function k_(T){return T==="matrix.new"||T.startsWith("matrix.new_")}function M_(T,L,I){let _=q_(T);if(_==null)return;if(k_(_)){let R=Y(Z(W(L.args,0,["rows"]),I))??0,$=Y(Z(W(L.args,1,["columns","cols"]),I))??0,G=W(L.args,2,["initial_value","initial"]),Q=G==null?void 0:Y(Z(G,I));return new e(R,$,Q)}if(_==="matrix.get"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row"]),I)),G=Y(Z(W(L.args,2,["column","col"]),I));return R?R.get($??0,G??0):K}if(_==="matrix.set"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row"]),I)),G=Y(Z(W(L.args,2,["column","col"]),I)),Q=Y(Z(W(L.args,3,["value"]),I));if(R&&$!=null&&G!=null)R.set($,G,Q);return K}if(_==="matrix.rows"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.rows():K}if(_==="matrix.columns"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.columns():K}if(_==="matrix.fill"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["value"]),I));return R?.fill($),K}if(_==="matrix.transpose"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.transpose():K}if(_==="matrix.copy"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.copy():K}if(_==="matrix.elements_count"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.elementsCount():K}if(_==="matrix.is_square"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isSquare()?1:0}if(_==="matrix.sum"||_==="matrix.sum_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.sum():K}if(_==="matrix.avg"||_==="matrix.avg_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.avg():K}if(_==="matrix.min"||_==="matrix.min_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.min():K}if(_==="matrix.max"||_==="matrix.max_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.max():K}if(_==="matrix.trace"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.trace():K}if(_==="matrix.det"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.det():K}if(_==="matrix.row"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row","index"]),I));if(!R||$==null)return K;let G=new G0;for(let Q of R.row($))G.push(Q);return G}if(_==="matrix.col"||_==="matrix.column"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","col","index"]),I));if(!R||$==null)return K;let G=new G0;for(let Q of R.col($))G.push(Q);return G}if(_==="matrix.mult"){let R=y(Z(W(L.args,0,["id"]),I)),$=Z(W(L.args,1,["other","matrix_2"]),I);if(!R)return K;let G=y($);return G?R.mult(G):R.mult(Y($)??0)}if(_==="matrix.inv"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.inv():K}if(_==="matrix.pinv"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.pinv():K}if(_==="matrix.eigenvalues"){let $=y(Z(W(L.args,0,["id"]),I))?.eigenvalues();if($==null)return K;let G=new G0;for(let Q of $)G.push(Q);return G}if(_==="matrix.eigenvectors"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.eigenvectors():K}if(_==="matrix.pow"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["power","n"]),I));return R&&$!=null?R.pow($):K}if(_==="matrix.kron"){let R=y(Z(W(L.args,0,["id"]),I)),$=y(Z(W(L.args,1,["other"]),I));return R&&$?R.kron($):K}if(_==="matrix.diff"){let R=y(Z(W(L.args,0,["id"]),I)),$=y(Z(W(L.args,1,["other"]),I));return R&&$?R.diff($):K}if(_==="matrix.rank"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.rank():K}if(_==="matrix.swap_rows"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row1","i"]),I)),G=Y(Z(W(L.args,2,["row2","j"]),I));if(R&&$!=null&&G!=null)R.swapRows($,G);return K}if(_==="matrix.swap_columns"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column1","i"]),I)),G=Y(Z(W(L.args,2,["column2","j"]),I));if(R&&$!=null&&G!=null)R.swapColumns($,G);return K}if(_==="matrix.is_zero"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isZero()?1:0}if(_==="matrix.is_identity"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isIdentity()?1:0}if(_==="matrix.is_diagonal"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isDiagonal()?1:0}if(_==="matrix.is_symmetric"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isSymmetric()?1:0}if(_==="matrix.is_antisymmetric"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isAntisymmetric()?1:0}if(_==="matrix.is_triangular"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isTriangular()?1:0}if(_==="matrix.add_row"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row","index"]),I)),G=w(Z(W(L.args,2,["array"]),I));return R?.addRow($??void 0,G?.toValues()),K}if(_==="matrix.add_col"||_==="matrix.add_column"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","index"]),I)),G=w(Z(W(L.args,2,["array"]),I));return R?.addCol($??void 0,G?.toValues()),K}if(_==="matrix.remove_row"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row","index"]),I));if(R&&$!=null)R.removeRow($);return K}if(_==="matrix.remove_col"||_==="matrix.remove_column"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","index"]),I));if(R&&$!=null)R.removeCol($);return K}if(_==="matrix.reshape"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["rows"]),I)),G=Y(Z(W(L.args,2,["columns","cols"]),I));return R&&$!=null&&G!=null?R.reshape($,G):K}if(_==="matrix.concat"){let R=y(Z(W(L.args,0,["id"]),I)),$=y(Z(W(L.args,1,["other"]),I));return R&&$?R.concat($):K}if(_==="matrix.submatrix"){let R=y(Z(W(L.args,0,["id"]),I));if(!R)return K;return R.submatrix(Y(Z(W(L.args,1,["from_row"]),I))??0,Y(Z(W(L.args,2,["to_row"]),I))??R.rows(),Y(Z(W(L.args,3,["from_column","from_col"]),I))??0,Y(Z(W(L.args,4,["to_column","to_col"]),I))??R.columns())}if(_==="matrix.reverse")return y(Z(W(L.args,0,["id"]),I))?.reverse(),K;if(_==="matrix.sort"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","col"]),I))??0,G=Z(W(L.args,2,["order"]),I),Q=typeof G==="string"&&G.toLowerCase().includes("desc")?"desc":"asc";return R?.sort($,Q),K}if(_==="matrix.median"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.median():K}if(_==="matrix.mode"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.mode():K}if(_==="matrix.is_binary"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isBinary()?1:0}if(_==="matrix.is_stochastic"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isStochastic()?1:0}if(_==="matrix.is_antidiagonal"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isAntidiagonal()?1:0}return}function E_(T,L,I){if(T==="line.new")return I.drawings.lineNew(I.barIndex);if(T==="label.new"){let _=p(W(L.args,2,["text"]),I);return I.drawings.labelNew(I.barIndex,_??void 0)}if(T==="box.new")return I.drawings.boxNew(I.barIndex);if(T==="alert"){let _=j_(W(L.args,0,["message"]),I);return I.drawings.alert(I.barIndex,_),K}if(T==="table.new")return I.drawings.tableNew(I.barIndex);if(T==="polyline.new")return I.drawings.polylineNew(I.barIndex);if(T==="linefill.new"){let _=Y(Z(W(L.args,0,["id1"]),I)),R=Y(Z(W(L.args,1,["id2"]),I));return I.drawings.linefillNew(I.barIndex,_==null?void 0:_,R==null?void 0:R)}if(T==="line.set_xy"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.lineSetXy(_,Y(Z(W(L.args,1,["x1"]),I))??0,Y(Z(W(L.args,2,["y1"]),I))??0,Y(Z(W(L.args,3,["x2"]),I))??0,Y(Z(W(L.args,4,["y2"]),I))??0);return K}if(T==="label.set_text"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.labelSetText(_,p(W(L.args,1,["text"]),I)??"");return K}if(T==="line.delete"||T==="label.delete"||T==="box.delete"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)if(T==="line.delete")I.drawings.lineDelete(_);else if(T==="label.delete")I.drawings.labelDelete(_);else I.drawings.boxDelete(_);return K}if(T==="line.set_color"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.lineSetColor(_,p(W(L.args,1,["color"]),I)??"");return K}if(T==="line.get_price"){let _=Y(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["x"]),I));return _!=null&&R!=null?I.drawings.lineGetPrice(_,R):K}if(T==="line.get_x1"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getX1(_):K}if(T==="line.get_y1"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getY1(_):K}if(T==="line.get_x2"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getX2(_):K}if(T==="line.get_y2"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getY2(_):K}if(T==="label.get_text"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.labelGetText(_):K}if(T==="label.set_xy"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.labelSetXy(_,Y(Z(W(L.args,1,["x"]),I))??0,Y(Z(W(L.args,2,["y"]),I))??0);return K}if(T==="box.set_lefttop"||T==="box.set_corners"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.boxSetCorners(_,Y(Z(W(L.args,1,["left","x1"]),I))??0,Y(Z(W(L.args,2,["top","y1"]),I))??0,Y(Z(W(L.args,3,["right","x2"]),I))??0,Y(Z(W(L.args,4,["bottom","y2"]),I))??0);return K}if(T==="label.set_color"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.labelSetColor(_,p(W(L.args,1,["color"]),I)??"");return K}if(T==="table.cell"){let _=Y(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["column"]),I)),$=Y(Z(W(L.args,2,["row"]),I)),G=p(W(L.args,3,["text"]),I)??void 0;if(_!=null&&R!=null&&$!=null)I.drawings.tableCell(_,R,$,G);return K}return}function j_(T,L){if(T==null)return"";let I=Z(T,L);if(typeof I==="string")return I;let _=Y(I);return _==null?"":String(_)}function C_(T,L,I){if(T==="color.r"||T==="color.g"||T==="color.b"||T==="color.t"){let _=Z(W(L.args,0,["color"]),I),R=typeof _==="string"?_:_&&typeof _==="object"&&("r"in _)?_:null;if(T==="color.r")return Q9(R);if(T==="color.g")return U9(R);if(T==="color.b")return S9(R);return O9(R)}if(T==="color.rgb")return $9(Y(Z(W(L.args,0,["red","r"]),I)),Y(Z(W(L.args,1,["green","g"]),I)),Y(Z(W(L.args,2,["blue","b"]),I)),Y(Z(W(L.args,3,["transp","t"]),I))??void 0);if(T==="color.from_gradient"){let _=Z(W(L.args,3,["color1"]),I),R=Z(W(L.args,4,["color2"]),I),$=(G)=>{if(G&&typeof G==="object"&&"r"in G&&"g"in G)return G;if(typeof G==="string")return U5(G);return null};return G9(Y(Z(W(L.args,0,["value"]),I)),Y(Z(W(L.args,1,["bottom_value","bottom"]),I)),Y(Z(W(L.args,2,["top_value","top"]),I)),$(_)??{r:0,g:0,b:0,a:255},$(R)??{r:255,g:255,b:255,a:255})}if(T==="color.new"||T==="color"){let _=Z(W(L.args,0,["color"]),I),R=u1(_);if(!R)return K;let $=Y(Z(W(L.args,1,["transp"]),I));return S5(R.r,R.g,R.b,$??void 0)}return}function P_(T,L,I){if(T==="str.tostring"||T==="str.tostring"){let _=Z(W(L.args,0,["value","source"]),I);if(typeof _==="string")return _;let R=Y(_);return r5(R)}if(T==="str.length"){let _=Z(W(L.args,0,["string","source"]),I);return OT(typeof _==="string"?_:null)}if(T==="str.contains"){let _=Z(W(L.args,0,["source"]),I),R=Z(W(L.args,1,["str"]),I),$=JT(typeof _==="string"?_:null,typeof R==="string"?R:null);return $==null?K:$?1:0}if(T==="str.upper"){let _=Z(W(L.args,0,["source"]),I);return ZT(typeof _==="string"?_:null)}if(T==="str.lower"){let _=Z(W(L.args,0,["source"]),I);return WT(typeof _==="string"?_:null)}if(T==="str.replace"){let _=Z(W(L.args,0,["source"]),I),R=Z(W(L.args,1,["target"]),I),$=Z(W(L.args,2,["replacement"]),I),G=Y(Z(W(L.args,3,["occurrence"]),I));return DT(typeof _==="string"?_:null,typeof R==="string"?R:null,typeof $==="string"?$:null,G)}if(T==="str.replace_all"){let _=Z(W(L.args,0,["source"]),I),R=Z(W(L.args,1,["target"]),I),$=Z(W(L.args,2,["replacement"]),I);return jT(typeof _==="string"?_:null,typeof R==="string"?R:null,typeof $==="string"?$:null)}if(T==="str.startswith"){let _=KT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["str"]),I));return _==null?K:_?1:0}if(T==="str.endswith"){let _=YT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["str"]),I));return _==null?K:_?1:0}if(T==="str.substring"){let _=W(L.args,2,["end_pos","end"]);return XT(p(W(L.args,0,["source"]),I),Y(Z(W(L.args,1,["begin_pos","begin"]),I)),_==null?void 0:Y(Z(_,I)))}if(T==="str.repeat")return BT(p(W(L.args,0,["source"]),I),Y(Z(W(L.args,1,["n","times"]),I)));if(T==="str.trim")return zT(p(W(L.args,0,["source"]),I));if(T==="str.split"){let _=HT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["separator","sep"]),I));return _==null?K:t0(_)}if(T==="str.tonumber"||T==="tonumber")return VT(p(W(L.args,0,["source","string"]),I));if(T==="tostring"){let _=Z(W(L.args,0,["value","source"]),I);return typeof _==="string"?_:r5(Y(_))}if(T==="str.pos")return FT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["str","substr"]),I));if(T==="str.match")return qT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["regex","pattern"]),I));if(T==="str.format_time")return kT(Y(Z(W(L.args,0,["time","timestamp"]),I))??Z(W(L.args,0,["time","timestamp"]),I),p(W(L.args,1,["format"]),I),p(W(L.args,2,["timezone"]),I));if(T==="str.format"){let _=p(W(L.args,0,["formatString","format"]),I),R=$0(L.args).slice(1).map(($)=>{let G=Z($.value,I);return typeof G==="string"?G:Y(G)});return MT(_,...R)}if(T==="str.join"){let _=Z(W(L.args,0,["array","parts"]),I),R=p(W(L.args,1,["separator","sep"]),I),$=J3(_)?_.elts.map((G)=>typeof G==="string"?G:G==null?null:String(Y(G))):null;return $?ET($,R):K}return}function e5(T){if(T==null)return[];return Array.isArray(T)?T:[T]}function V6(T){if(T==null)return[];return Array.isArray(T)?T:[T]}function N_(T,L){if(L.barIndex!==0)return;let I={__udf:!0,params:e5(T.args),body:V6(T.body)};if(L.udfs.set(T.name,I),T.export)L.pendingExports.set(T.name,I);if(T.method){let _=e5(T.args)[0],R=w_(_?.type??null),$=R!=null?c1(L,R):void 0;if($ instanceof m0)$.addMethod(T.name,{name:T.name,params:e5(T.args).map((G)=>({name:G.name})),body:I,exported:Boolean(T.export)})}}function y_(T,L){if(L.barIndex!==0)return;let I=[];for(let R of V6(T.body)){if(R.kind!=="Assign")continue;let $=R;if($.target.kind!=="Name")continue;I.push({name:$.target.id,default:$.value==null?null:Z($.value,L)})}let _=J9(T.name,I);if(j0(L,T.name,_),T.export)L.pendingExports.set(T.name,_)}function b_(T,L){if(L.barIndex!==0)return;let I=[];for(let R of V6(T.body))if(R.kind==="Assign"){let $=R.target;if($.kind==="Name")I.push($.id)}else if(R.kind==="Expr"&&R.value?.kind==="Name")I.push(R.value.id);let _=Z9(T.name,I);if(j0(L,T.name,_),T.export)L.pendingExports.set(T.name,_)}function h_(T,L){let I=T.udfSites.get(L);if(!I)I={ctx:{},series:new Map,varInited:new Set},T.udfSites.set(L,I);for(let _ of I.varInited){let R=I.series.get(_);if(R==null)continue;while(R.length<T.barIndex)R.push(R.current);if(R.length===T.barIndex)R.push(R.current);I.ctx[_]=R.current}T.frames.push(I)}function w_(T){if(T==null)return null;if(T.kind==="Name")return T.id;if(T.kind==="Attribute")return T.attr;return null}function G3(T,L,I,_){let R=$0(L.args),$=new Set;h_(I,O3(L,I));try{let G=0;if(_!==void 0){let U=T.params[G++];if(U)j0(I,U.name,_),$.add(U.name)}for(let U of R){if(q0(U)!=null)continue;let O=T.params[G++];if(O)j0(I,O.name,Z(U.value,I)),$.add(O.name)}for(let U of R){let O=q0(U);if(O==null)continue;if(T.params.some((J)=>J.name===O))j0(I,O,Z(H6(U),I)),$.add(O)}for(let U of T.params)if(!$.has(U.name)&&U.default!=null)j0(I,U.name,Z(U.default,I));let Q=K;for(let U of T.body){let O=U1(U,I);if(U.kind==="Expr"||U.kind==="Assign"||U.kind==="ReAssign")Q=O}return Q}finally{I.frames.pop()}}function c2(T){return typeof T==="object"&&T!==null&&T.__udf===!0}function A_(T,L,I){if(T==="timestamp"){let R=$0(L.args).map(($)=>{let G=Z($.value,I);return typeof G==="string"?G:Y(G)});return m5(...R)}let _=T==="year"||T==="month"||T==="dayofmonth"||T==="dayofweek"||T==="hour"||T==="minute"||T==="second"?T:null;if(_!=null){let R=T3(L,I);if(R==null)return K;return K6(R)[_]}if(T==="weekofyear"){let R=T3(L,I);return R==null?K:d5(R)}if(T==="time_tradingday"){let R=T3(L,I);return R==null?K:l5(R)}return}function T3(T,L){let I=W(T.args,0,["time","timestamp"]);if(I==null)return V(L.ctx.time);return Y(Z(I,L))}function u_(T,L,I,_){let R=T.get(L);if(R===void 0){let $=G1[L];if($)return pT($,I,_);return K}if(c2(R))return G3(R,I,_);if(typeof R==="function")return pT(R,I,_);return R}function pT(T,L,I){let _=[],R={};for(let G of $0(L.args)){let Q=q0(G),U=Z(G.value,I),O=typeof U==="string"?U:Y(U);if(Q)R[Q]=O;else _.push(O)}let $=Object.keys(R).length>0?T(_,R):T(..._);if($==null)return K;if(typeof $==="number"&&Number.isFinite($))return $;if(typeof $==="string")return $;if(Array.isArray($)&&$.every((G)=>typeof G==="number"&&Number.isFinite(G)))return t0($.map((G)=>G));return K}function g_(T,L){if(L.barIndex!==0)return;let I=T.alias||T.name,_=L.libraries.lookup({namespace:T.namespace,name:T.name,version:T.version});if(_==null){let R=L.libraries.getSource(T.namespace,T.name,T.version);if(R!=null){if(f_(L,R,T.name),_=L.libraries.lookup({namespace:T.namespace,name:T.name,version:T.version}),_==null){if(_=L.libraries.lookup({name:T.name}),_!=null)_.namespace=T.namespace,_.version=T.version,L.libraries.register(_)}}}if(_==null){let R=v5(T.name);R.namespace=T.namespace,R.version=T.version,j0(L,I,R);return}if(_.namespace==null)_.namespace=T.namespace;if(_.version==null)_.version=T.version;j0(L,I,_)}function f_(T,L,I){let _;try{_=V2(L)}catch{return}if(_.kind!=="Script")return;let R=_,$=new Map(T.pendingExports);T.pendingExports.clear();let G=null;for(let U of R.body){let O=iT(U);if(O){if(O.kind==="library"&&O.name)G=O.name;continue}let J=U.kind;if(J==="FunctionDef"||J==="TypeDef"||J==="EnumDef"||J==="Import"||J==="Assign")U1(U,T)}let Q=G??I;if(Q)rT(T,Q);T.pendingExports=$}function rT(T,L){let _=T.libraries.lookup({name:L})??new H1(L);for(let[R,$]of T.pendingExports)if(c2($))_.exportFn(R,$);else if($ instanceof m0)$.isExported=!0,_.exportType(R,$);else if($ instanceof g1)_.exportEnum(R,$);else _.setExport(R,$);T.libraries.register(_),T.pendingExports.clear()}class F6 extends Error{status;constructor(T,L){super(T);this.name="ProviderError",this.status=L}}class sT{bars;constructor(T){this.bars=T}async fetch(T){let L=T.limit;if(L==null||L>=this.bars.length)return this.bars.slice();return this.bars.slice(-L)}}class aT{feeds;constructor(T){this.feeds=T}async fetch(T){let L=T.timeframe,I=L!=null&&L!==""?`${T.symbol}:${L}`:void 0,_=(I!==void 0?this.feeds[I]:void 0)??this.feeds[T.symbol]??[];return TL(_,T.limit)}}class nT{url;fetchImpl;mapFn;headers;fetchBars;constructor(T){this.url=T.url,this.fetchImpl=T.fetch??globalThis.fetch.bind(globalThis),this.mapFn=T.map??tT,this.headers=T.headers,this.fetchBars=T.fetchBars}async fetch(T){let L=this.fetchBars?await this.fetchBars(T):await this.getJson(T);return TL(this.mapFn(L),T.limit)}async getJson(T){if(this.url==null)throw new F6("JsonBarProvider requires `url` or `fetchBars`");let L=this.url(T),I=await this.fetchImpl(L,{method:"GET",headers:this.headers});if(!I.ok)throw new F6(`HTTP ${I.status}${I.statusText?` ${I.statusText}`:""}`.trim(),I.status);try{return await I.json()}catch(_){let R=_ instanceof Error?_.message:String(_);throw new F6(`invalid JSON: ${R}`,I.status)}}}var p_=["open","high","low","close","volume","time"];function tT(T){let L=x_(T);if(L==null)return[];let I=[];for(let _ of L){let R=c_(_);if(R!=null)I.push(R)}return I}function x_(T){if(Array.isArray(T))return T;if(T!=null&&typeof T==="object"){let L=T;if(Array.isArray(L.bars))return L.bars;if(Array.isArray(L.data))return L.data}return null}function c_(T){if(T==null||typeof T!=="object")return null;if(Array.isArray(T))return m_(T);let L=T,I={};return P0(I,"time",L.time??L.t),P0(I,"open",L.open??L.o),P0(I,"high",L.high??L.h),P0(I,"low",L.low??L.l),P0(I,"close",L.close??L.c),P0(I,"volume",L.volume??L.v),eT(I)?I:null}function m_(T){if(T.length<5)return null;let L={};if(P0(L,"time",T[0]),P0(L,"open",T[1]),P0(L,"high",T[2]),P0(L,"low",T[3]),P0(L,"close",T[4]),T.length>5)P0(L,"volume",T[5]);return eT(L)?L:null}function P0(T,L,I){let _=l_(I);if(_===void 0)return;T[L]=L==="time"?d_(_):_}function d_(T){return T<1000000000000?T*1000:T}function l_(T){return typeof T==="number"&&Number.isFinite(T)?T:void 0}function eT(T){return p_.some((L)=>T[L]!==void 0)}function TL(T,L){if(L==null||L>=T.length)return T.slice();return T.slice(-L)}export{d5 as weekOfYear,K6 as utcPartsFromMs,r8 as unparse,yL as tokenize,p5 as timestampFromComponents,m5 as timestamp,l5 as timeTradingDay,C5 as tickerStandard,P5 as tickerRenko,b5 as tickerPointfigure,E5 as tickerNew,h5 as tickerModify,y5 as tickerLinebreak,N5 as tickerKagi,j5 as tickerHeikinashi,k5 as runtimeError,x5 as parseTimestampString,V2 as parse,tT as mapJsonBars,xT as interpretTree,bI as interpret,g4 as dump,v5 as createStubModule,JI as applyStubExport,m0 as UdtType,R1 as UdtInstance,I0 as TickerId,u2 as TaEngine,aT as StaticMapProvider,G1 as STUB_KNOWN_EXPORTS,U3 as RuntimeStream,q5 as RuntimeError,Q3 as Runtime,F6 as ProviderError,J6 as PinescriptSyntaxError,p1 as PineSeries,e as PineMatrix,V1 as PineMap,G0 as PineArray,K as NA,sT as MemoryProvider,C2 as LogBook,X6 as LibraryRegistry,H1 as LibraryModule,nT as JsonBarProvider,g1 as EnumType,$1 as EnumMember,j2 as DrawingBook};
|
|
55
|
+
${X}`;return X}function vJ(U){return`${J1(U.target)} := ${J1(U.value)}`}function hJ(U){if(U.kind==="Script"){let Q=U,Z=[];for(let X of Q.annotations)Z.push(X);for(let X of Q.body)Z.push(Z4(X));return Z.join(`
|
|
56
|
+
`)}if(U.kind==="Expression")return J1(U.body);if(U.kind==="Expr")return J1(U.value);if(U.kind==="Assign")return pJ(U);if(U.kind==="ReAssign")return vJ(U);if(U.kind==="FunctionDef")return fJ(U);if(U.kind==="TypeDef")return xJ(U);if(U.kind==="EnumDef")return gJ(U);if(U.kind==="Param")return yJ(U);if(U.kind==="Var")return"var";if(U.kind==="VarIp")return"varip";if(U.kind==="Call")return NJ(U);if(U.kind==="Name")return U.id;if(U.kind==="Constant")return jJ(U);if(U.kind==="Arg")return BJ(U);if(U.kind==="Attribute"){let Q=U;return`${J1(Q.value)}.${Q.attr}`}if(U.kind==="Subscript"){let Q=U;return`${J1(Q.value)}[${SJ(Q.slice)}]`}if(U.kind==="BinOp"){let Q=U;return`${J1(Q.left)} ${DJ[Q.op.kind]??"?"} ${J1(Q.right)}`}if(U.kind==="UnaryOp"){let Q=U;return`${HJ[Q.op.kind]??""}${J1(Q.operand)}`}if(U.kind==="Compare")return FJ(U);if(U.kind==="If")return RJ(U);if(U.kind==="Tuple")return zJ(U);if(U.kind==="Conditional")return MJ(U);if(U.kind==="ForTo")return CJ(U);if(U.kind==="ForIn")return EJ(U);if(U.kind==="While")return PJ(U);if(U.kind==="Switch")return _J(U);if(U.kind==="Case")return kJ(U);if(U.kind==="BoolOp")return AJ(U);if(U.kind==="Import")return wJ(U);if(U.kind==="Break")return"break";if(U.kind==="Continue")return"continue";return""}var xT=/(\r?\n)+/g,gT=/(\r?\n)(\s)+/g;function cJ(U){return U==null?c1.INVALID_TYPE:U.type}class s5 extends NX{static _operator_types=null;_operators;_tabLength=4;_indentLength=4;_currentToken=null;_followingToken=null;_pendingTokens=[];_pendingHead=0;_lastPendingTokenType=0;_lastPendingTokenTypeFromDefaultChannel=0;_numOpens=0;_indentLengthStack=[];_inputStarted=!1;constructor(U){super(U);let Q=this.constructor,Z=Q._operator_types;if(Z==null)Z=new Set([Q.AND,Q.COLON,Q.COLONEQUAL,Q.COMMA,Q.EQEQUAL,Q.EQUAL,Q.GREATER,Q.GREATEREQUAL,Q.LESS,Q.LESSEQUAL,Q.MINEQUAL,Q.MINUS,Q.NOTEQUAL,Q.OR,Q.PERCENT,Q.PERCENTEQUAL,Q.PLUS,Q.PLUSEQUAL,Q.QUESTION,Q.SLASH,Q.SLASHEQUAL,Q.STAR,Q.STAREQUAL,Q.AMP,Q.PIPE,Q.CARET,Q.LSHIFT,Q.RSHIFT,Q.TILDE]),Q._operator_types=Z;this._operators=Z}get C(){return this.constructor}_resetInternalStates(){this._currentToken=null,this._followingToken=null,this._pendingTokens=[],this._pendingHead=0,this._lastPendingTokenType=0,this._lastPendingTokenTypeFromDefaultChannel=0,this._numOpens=0,this._indentLengthStack=[],this._inputStarted=!1}nextToken(){return this._checkNextToken(),this._popPendingToken()}_checkNextToken(){if(this._lastPendingTokenType===c1.EOF)return;if(this._setNextInternalTokens(),!this._inputStarted)this._handleStartOfInputIfNecessary();let U=this._currentToken,Q=U.type,Z=this.C;if(Q===Z.LPAR||Q===Z.LSQB)this._numOpens+=1,this._addPendingToken(U);else if(Q===Z.RPAR||Q===Z.RSQB)this._numOpens-=1,this._addPendingToken(U);else if(Q===Z.NEWLINE)this._handleNEWLINEToken();else if(Q===Z.STRING)this._handleSTRINGToken();else if(Q===Z.ERROR_TOKEN){let X="token recognition error at: '"+U.text+"'";this._reportLexerError(X,U),this._addPendingToken(U)}else if(Q===c1.EOF)this._handleEOFToken();else this._addPendingToken(U)}_setNextInternalTokens(){this._currentToken=this._followingToken==null?super.nextToken():this._followingToken,this._followingToken=this._currentToken.type===c1.EOF?this._currentToken:super.nextToken()}_handleStartOfInputIfNecessary(){if(this._inputStarted)return;this._inputStarted=!0,this._indentLengthStack.push(0);while(this._currentToken.type!==c1.EOF){if(this._currentToken.channel===c1.DEFAULT_CHANNEL)if(this._currentToken.type===this.C.NEWLINE)this._hideAndAddPendingToken(this._currentToken);else{this._checkLeadingIndentIfAny();return}else this._addPendingToken(this._currentToken);this._setNextInternalTokens()}}_checkLeadingIndentIfAny(){if(this._lastPendingTokenType===this.C.WS){let U=this._pendingTokens[this._pendingTokens.length-1];if(this._getIndentationLength(U.text??"")!==0)this._reportLexerError("first statement indented",this._currentToken),this._createAndAddPendingToken(this.C.INDENT,c1.DEFAULT_CHANNEL,"first statement indented",this._currentToken)}}_getIndentationLength(U){let Q=0,Z=this._tabLength;for(let X of U)if(X===" ")Q+=1;else if(X==="\t")Q+=Z;else if(X==="\f")Q=0;return Q}_createAndAddPendingToken(U,Q,Z,X){let J=X.clone();J.type=U,J.channel=Q,J.stop=X.start-1;let Y=this.C.symbolicNames??this.getSymbolicNames();J.text=Z==null?"<"+String(Y?.[U]??U)+">":Z,this._addPendingToken(J)}_addPendingToken(U){if(this._lastPendingTokenType=U.type,U.channel===c1.DEFAULT_CHANNEL)this._lastPendingTokenTypeFromDefaultChannel=this._lastPendingTokenType;this._pendingTokens.push(U)}_hideAndAddPendingToken(U){U.channel=c1.HIDDEN_CHANNEL,this._addPendingToken(U)}_popPendingToken(){let U=this._pendingTokens[this._pendingHead];if(this._pendingHead+=1,this._pendingHead>32&&this._pendingHead*2>this._pendingTokens.length)this._pendingTokens=this._pendingTokens.slice(this._pendingHead),this._pendingHead=0;return U}_handleNEWLINEToken(){if(this._numOpens>0||this._operators.has(this._lastPendingTokenTypeFromDefaultChannel)){this._hideAndAddPendingToken(this._currentToken);return}let U=this._currentToken,Q=cJ(this._followingToken),Z=Q===this.C.WS;if(Z)this._setNextInternalTokens(),Q=cJ(this._followingToken);if(Q===this.C.NEWLINE||Q===this.C.COMMENT){if(this._hideAndAddPendingToken(U),Z)this._addPendingToken(this._currentToken)}else if(Z){let X=Q===c1.EOF?0:this._getIndentationLength(this._currentToken.text??"");if(X%this._indentLength===0)this._addPendingToken(U),this._addPendingToken(this._currentToken),this._insertIndentOrDedentToken(X);else this._hideAndAddPendingToken(U),this._addPendingToken(this._currentToken)}else this._addPendingToken(U),this._insertIndentOrDedentToken(0)}_insertIndentOrDedentToken(U){let Q=this._indentLengthStack[this._indentLengthStack.length-1]??0;if(U>Q)this._createAndAddPendingToken(this.C.INDENT,c1.DEFAULT_CHANNEL,null,this._followingToken),this._indentLengthStack.push(U);else while(U<Q)if(this._indentLengthStack.pop(),Q=this._indentLengthStack[this._indentLengthStack.length-1]??0,U<=Q)this._createAndAddPendingToken(this.C.DEDENT,c1.DEFAULT_CHANNEL,null,this._followingToken);else this._reportLexerError("inconsistent dedent",this._followingToken),this._createAndAddPendingToken(this.C.ERROR_TOKEN,c1.DEFAULT_CHANNEL,"inconsistent dedent",this._followingToken)}_handleSTRINGToken(){let U=this._currentToken.text??"";if(U.startsWith('"""')||U.startsWith("'''")){this._addPendingToken(this._currentToken);return}if(!U.includes(`
|
|
57
|
+
`)&&!U.includes("\r")){this._addPendingToken(this._currentToken);return}let Q=U.replace(xT,"$1");if(Q=Q.replace(gT,""),U.length===Q.length)this._addPendingToken(this._currentToken);else{let Z=this._currentToken.clone();this._currentToken.text=Q,this._addPendingToken(this._currentToken),this._hideAndAddPendingToken(Z)}}_insertTrailingTokens(){let U=this._lastPendingTokenTypeFromDefaultChannel;if(U!==this.C.NEWLINE&&U!==this.C.DEDENT)this._createAndAddPendingToken(this.C.NEWLINE,c1.DEFAULT_CHANNEL,null,this._followingToken);this._insertIndentOrDedentToken(0)}_handleEOFToken(){if(this._lastPendingTokenTypeFromDefaultChannel>0)this._insertTrailingTokens();this._addPendingToken(this._currentToken)}_reportLexerError(U,Q){this.getErrorListener().syntaxError(this,Q.type,Q.line,Q.column,U,void 0)}reset(){this._resetInternalStates(),super.reset()}}class Y2 extends s5{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static OR=20;static SERIES=21;static SIMPLE=22;static SWITCH=23;static TO=24;static TYPE=25;static TRUE=26;static VAR=27;static VARIP=28;static WHILE=29;static LPAR=30;static RPAR=31;static LSQB=32;static RSQB=33;static LSHIFT=34;static RSHIFT=35;static LESSEQUAL=36;static GREATEREQUAL=37;static EQEQUAL=38;static NOTEQUAL=39;static LESS=40;static GREATER=41;static EQUAL=42;static RARROW=43;static DOT=44;static COMMA=45;static COLON=46;static QUESTION=47;static TILDE=48;static AMP=49;static PIPE=50;static CARET=51;static PLUS=52;static MINUS=53;static STAR=54;static SLASH=55;static PERCENT=56;static PLUSEQUAL=57;static MINEQUAL=58;static STAREQUAL=59;static SLASHEQUAL=60;static PERCENTEQUAL=61;static COLONEQUAL=62;static NAME=63;static NUMBER=64;static STRING=65;static COLOR=66;static NEWLINE=67;static WS=68;static COMMENT=69;static UNICODE_NOISE=70;static ERROR_TOKEN=71;static EOF=c1.EOF;static COMMENT_CHANNEL=2;static channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN","COMMENT_CHANNEL"];static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static modeNames=["DEFAULT_MODE"];static ruleNames=["AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","HASH_COMMENT","BACKTICKS","UNICODE_NOISE","ERROR_TOKEN","TRIPLE_DQ_STRING","TRIPLE_SQ_STRING","STRING_LITERAL","SINGLE_QUOTED_STRING","DOUBLE_QUOTED_STRING","STRING_ITEM_FOR_SINGLE_QUOTE","STRING_ITEM_FOR_DOUBLE_QUOTE","STRING_CHAR_NO_SINGLE_QUOTE","STRING_CHAR_NO_DOUBLE_QUOTE","STRING_ESCAPE_SEQ","COLOR_LITERAL","COLOR_LITERAL_RGBA","COLOR_LITERAL_RGB","NUMBER_LITERAL","INTEGER","DEC_INTEGER","BIN_INTEGER","OCT_INTEGER","HEX_INTEGER","NON_ZERO_DIGIT","DIGIT","BIN_DIGIT","OCT_DIGIT","HEX_DIGIT","FLOAT_NUMBER","POINT_FLOAT","EXPONENT_FLOAT","DIGIT_PART","FRACTION","EXPONENT","IMAG_NUMBER","OS_INDEPENDENT_NL","ID_START","ID_CONTINUE"];constructor(U){super(U);this._interp=new wX(this,Y2._ATN,Y2.DecisionsToDFA,new o5)}get grammarFileName(){return"PinescriptLexer.g4"}get literalNames(){return Y2.literalNames}get symbolicNames(){return Y2.symbolicNames}get ruleNames(){return Y2.ruleNames}get serializedATN(){return Y2._serializedATN}get channelNames(){return Y2.channelNames}get modeNames(){return Y2.modeNames}static _serializedATN=[4,0,71,729,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1,53,1,53,1,54,1,54,1,54,1,55,1,55,1,55,1,56,1,56,1,56,1,57,1,57,1,57,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60,5,60,434,8,60,10,60,12,60,437,9,60,1,61,1,61,1,62,1,62,1,63,1,63,1,64,1,64,1,65,4,65,448,8,65,11,65,12,65,449,1,65,1,65,1,66,1,66,1,66,1,66,5,66,458,8,66,10,66,12,66,461,9,66,1,66,1,66,1,67,1,67,1,67,5,67,468,8,67,10,67,12,67,471,9,67,1,67,1,67,5,67,475,8,67,10,67,12,67,478,9,67,3,67,480,8,67,1,67,1,67,1,67,1,68,4,68,486,8,68,11,68,12,68,487,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,510,8,71,10,71,12,71,513,9,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,532,8,72,10,72,12,72,535,9,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,3,73,545,8,73,1,74,1,74,5,74,549,8,74,10,74,12,74,552,9,74,1,74,1,74,1,75,1,75,5,75,558,8,75,10,75,12,75,561,9,75,1,75,1,75,1,76,1,76,3,76,567,8,76,1,77,1,77,3,77,571,8,77,1,78,1,78,1,79,1,79,1,80,1,80,1,80,1,81,1,81,3,81,582,8,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,3,84,605,8,84,1,85,1,85,1,85,1,85,3,85,611,8,85,1,86,1,86,3,86,615,8,86,1,86,5,86,618,8,86,10,86,12,86,621,9,86,1,86,1,86,3,86,625,8,86,1,86,5,86,628,8,86,10,86,12,86,631,9,86,3,86,633,8,86,1,87,1,87,1,87,3,87,638,8,87,1,87,4,87,641,8,87,11,87,12,87,642,1,88,1,88,1,88,3,88,648,8,88,1,88,4,88,651,8,88,11,88,12,88,652,1,89,1,89,1,89,3,89,658,8,89,1,89,4,89,661,8,89,11,89,12,89,662,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1,93,1,94,1,94,3,94,675,8,94,1,95,1,95,3,95,679,8,95,1,96,3,96,682,8,96,1,96,1,96,1,96,1,96,3,96,688,8,96,1,97,1,97,3,97,692,8,97,1,97,1,97,1,98,1,98,3,98,698,8,98,1,98,5,98,701,8,98,10,98,12,98,704,9,98,1,99,1,99,1,99,1,100,1,100,3,100,711,8,100,1,100,1,100,1,101,1,101,3,101,717,8,101,1,101,1,101,1,102,3,102,722,8,102,1,102,1,102,1,103,1,103,1,104,1,104,0,0,105,1,3,3,4,5,5,7,6,9,7,11,8,13,9,15,10,17,11,19,12,21,13,23,14,25,15,27,16,29,17,31,18,33,19,35,20,37,21,39,22,41,23,43,24,45,25,47,26,49,27,51,28,53,29,55,30,57,31,59,32,61,33,63,34,65,35,67,36,69,37,71,38,73,39,75,40,77,41,79,42,81,43,83,44,85,45,87,46,89,47,91,48,93,49,95,50,97,51,99,52,101,53,103,54,105,55,107,56,109,57,111,58,113,59,115,60,117,61,119,62,121,63,123,64,125,65,127,66,129,67,131,68,133,69,135,0,137,0,139,70,141,71,143,0,145,0,147,0,149,0,151,0,153,0,155,0,157,0,159,0,161,0,163,0,165,0,167,0,169,0,171,0,173,0,175,0,177,0,179,0,181,0,183,0,185,0,187,0,189,0,191,0,193,0,195,0,197,0,199,0,201,0,203,0,205,0,207,0,209,0,1,0,20,3,0,9,9,12,12,32,32,2,0,10,10,13,13,5,0,10,10,13,13,48,57,65,70,97,102,7,0,183,183,8211,8212,8216,8217,8220,8221,8226,8226,8592,8595,8656,8659,1,0,34,34,1,0,39,39,2,0,39,39,92,92,2,0,34,34,92,92,2,0,66,66,98,98,2,0,79,79,111,111,2,0,88,88,120,120,1,0,49,57,1,0,48,57,1,0,48,55,2,0,65,70,97,102,2,0,69,69,101,101,2,0,43,43,45,45,2,0,74,74,106,106,660,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73474,73474,73476,73488,73490,73523,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124112,124139,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,706,0,48,57,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1632,1641,1646,1647,1649,1747,1749,1749,1765,1766,1774,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1984,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2406,2415,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2534,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2662,2671,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2790,2799,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2918,2927,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3046,3055,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3174,3183,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3302,3311,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3430,3439,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3558,3567,3585,3632,3634,3635,3648,3654,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3792,3801,3804,3807,3840,3840,3872,3881,3904,3911,3913,3948,3976,3980,4096,4138,4159,4169,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4240,4249,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6112,6121,6160,6169,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6678,6688,6740,6784,6793,6800,6809,6823,6823,6917,6963,6981,6988,6992,7001,7043,7072,7086,7141,7168,7203,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43216,43225,43250,43255,43259,43259,43261,43262,43264,43301,43312,43334,43360,43388,43396,43442,43471,43481,43488,43492,43494,43518,43520,43560,43584,43586,43588,43595,43600,43609,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65296,65305,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,68912,68921,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69734,69743,69745,69746,69749,69749,69763,69807,69840,69864,69872,69881,69891,69926,69942,69951,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70096,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70384,70393,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70736,70745,70751,70753,70784,70831,70852,70853,70855,70855,70864,70873,71040,71086,71128,71131,71168,71215,71236,71236,71248,71257,71296,71338,71352,71352,71360,71369,71424,71450,71472,71481,71488,71494,71680,71723,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72016,72025,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72784,72793,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73040,73049,73056,73061,73063,73064,73066,73097,73112,73112,73120,73129,73440,73458,73474,73474,73476,73488,73490,73523,73552,73561,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92928,92975,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123200,123209,123214,123214,123536,123565,123584,123627,123632,123641,124112,124139,124144,124153,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,741,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,1,211,1,0,0,0,3,215,1,0,0,0,5,218,1,0,0,0,7,224,1,0,0,0,9,227,1,0,0,0,11,233,1,0,0,0,13,242,1,0,0,0,15,247,1,0,0,0,17,252,1,0,0,0,19,259,1,0,0,0,21,265,1,0,0,0,23,269,1,0,0,0,25,272,1,0,0,0,27,279,1,0,0,0,29,282,1,0,0,0,31,288,1,0,0,0,33,295,1,0,0,0,35,299,1,0,0,0,37,302,1,0,0,0,39,309,1,0,0,0,41,316,1,0,0,0,43,323,1,0,0,0,45,326,1,0,0,0,47,331,1,0,0,0,49,336,1,0,0,0,51,340,1,0,0,0,53,346,1,0,0,0,55,352,1,0,0,0,57,354,1,0,0,0,59,356,1,0,0,0,61,358,1,0,0,0,63,360,1,0,0,0,65,363,1,0,0,0,67,366,1,0,0,0,69,369,1,0,0,0,71,372,1,0,0,0,73,375,1,0,0,0,75,378,1,0,0,0,77,380,1,0,0,0,79,382,1,0,0,0,81,384,1,0,0,0,83,387,1,0,0,0,85,389,1,0,0,0,87,391,1,0,0,0,89,393,1,0,0,0,91,395,1,0,0,0,93,397,1,0,0,0,95,399,1,0,0,0,97,401,1,0,0,0,99,403,1,0,0,0,101,405,1,0,0,0,103,407,1,0,0,0,105,409,1,0,0,0,107,411,1,0,0,0,109,413,1,0,0,0,111,416,1,0,0,0,113,419,1,0,0,0,115,422,1,0,0,0,117,425,1,0,0,0,119,428,1,0,0,0,121,431,1,0,0,0,123,438,1,0,0,0,125,440,1,0,0,0,127,442,1,0,0,0,129,444,1,0,0,0,131,447,1,0,0,0,133,453,1,0,0,0,135,464,1,0,0,0,137,485,1,0,0,0,139,492,1,0,0,0,141,496,1,0,0,0,143,498,1,0,0,0,145,520,1,0,0,0,147,544,1,0,0,0,149,546,1,0,0,0,151,555,1,0,0,0,153,566,1,0,0,0,155,570,1,0,0,0,157,572,1,0,0,0,159,574,1,0,0,0,161,576,1,0,0,0,163,581,1,0,0,0,165,583,1,0,0,0,167,593,1,0,0,0,169,604,1,0,0,0,171,610,1,0,0,0,173,632,1,0,0,0,175,634,1,0,0,0,177,644,1,0,0,0,179,654,1,0,0,0,181,664,1,0,0,0,183,666,1,0,0,0,185,668,1,0,0,0,187,670,1,0,0,0,189,674,1,0,0,0,191,678,1,0,0,0,193,687,1,0,0,0,195,691,1,0,0,0,197,695,1,0,0,0,199,705,1,0,0,0,201,708,1,0,0,0,203,716,1,0,0,0,205,721,1,0,0,0,207,725,1,0,0,0,209,727,1,0,0,0,211,212,5,97,0,0,212,213,5,110,0,0,213,214,5,100,0,0,214,2,1,0,0,0,215,216,5,97,0,0,216,217,5,115,0,0,217,4,1,0,0,0,218,219,5,98,0,0,219,220,5,114,0,0,220,221,5,101,0,0,221,222,5,97,0,0,222,223,5,107,0,0,223,6,1,0,0,0,224,225,5,98,0,0,225,226,5,121,0,0,226,8,1,0,0,0,227,228,5,99,0,0,228,229,5,111,0,0,229,230,5,110,0,0,230,231,5,115,0,0,231,232,5,116,0,0,232,10,1,0,0,0,233,234,5,99,0,0,234,235,5,111,0,0,235,236,5,110,0,0,236,237,5,116,0,0,237,238,5,105,0,0,238,239,5,110,0,0,239,240,5,117,0,0,240,241,5,101,0,0,241,12,1,0,0,0,242,243,5,101,0,0,243,244,5,108,0,0,244,245,5,115,0,0,245,246,5,101,0,0,246,14,1,0,0,0,247,248,5,101,0,0,248,249,5,110,0,0,249,250,5,117,0,0,250,251,5,109,0,0,251,16,1,0,0,0,252,253,5,101,0,0,253,254,5,120,0,0,254,255,5,112,0,0,255,256,5,111,0,0,256,257,5,114,0,0,257,258,5,116,0,0,258,18,1,0,0,0,259,260,5,102,0,0,260,261,5,97,0,0,261,262,5,108,0,0,262,263,5,115,0,0,263,264,5,101,0,0,264,20,1,0,0,0,265,266,5,102,0,0,266,267,5,111,0,0,267,268,5,114,0,0,268,22,1,0,0,0,269,270,5,105,0,0,270,271,5,102,0,0,271,24,1,0,0,0,272,273,5,105,0,0,273,274,5,109,0,0,274,275,5,112,0,0,275,276,5,111,0,0,276,277,5,114,0,0,277,278,5,116,0,0,278,26,1,0,0,0,279,280,5,105,0,0,280,281,5,110,0,0,281,28,1,0,0,0,282,283,5,105,0,0,283,284,5,110,0,0,284,285,5,112,0,0,285,286,5,117,0,0,286,287,5,116,0,0,287,30,1,0,0,0,288,289,5,109,0,0,289,290,5,101,0,0,290,291,5,116,0,0,291,292,5,104,0,0,292,293,5,111,0,0,293,294,5,100,0,0,294,32,1,0,0,0,295,296,5,110,0,0,296,297,5,111,0,0,297,298,5,116,0,0,298,34,1,0,0,0,299,300,5,111,0,0,300,301,5,114,0,0,301,36,1,0,0,0,302,303,5,115,0,0,303,304,5,101,0,0,304,305,5,114,0,0,305,306,5,105,0,0,306,307,5,101,0,0,307,308,5,115,0,0,308,38,1,0,0,0,309,310,5,115,0,0,310,311,5,105,0,0,311,312,5,109,0,0,312,313,5,112,0,0,313,314,5,108,0,0,314,315,5,101,0,0,315,40,1,0,0,0,316,317,5,115,0,0,317,318,5,119,0,0,318,319,5,105,0,0,319,320,5,116,0,0,320,321,5,99,0,0,321,322,5,104,0,0,322,42,1,0,0,0,323,324,5,116,0,0,324,325,5,111,0,0,325,44,1,0,0,0,326,327,5,116,0,0,327,328,5,121,0,0,328,329,5,112,0,0,329,330,5,101,0,0,330,46,1,0,0,0,331,332,5,116,0,0,332,333,5,114,0,0,333,334,5,117,0,0,334,335,5,101,0,0,335,48,1,0,0,0,336,337,5,118,0,0,337,338,5,97,0,0,338,339,5,114,0,0,339,50,1,0,0,0,340,341,5,118,0,0,341,342,5,97,0,0,342,343,5,114,0,0,343,344,5,105,0,0,344,345,5,112,0,0,345,52,1,0,0,0,346,347,5,119,0,0,347,348,5,104,0,0,348,349,5,105,0,0,349,350,5,108,0,0,350,351,5,101,0,0,351,54,1,0,0,0,352,353,5,40,0,0,353,56,1,0,0,0,354,355,5,41,0,0,355,58,1,0,0,0,356,357,5,91,0,0,357,60,1,0,0,0,358,359,5,93,0,0,359,62,1,0,0,0,360,361,5,60,0,0,361,362,5,60,0,0,362,64,1,0,0,0,363,364,5,62,0,0,364,365,5,62,0,0,365,66,1,0,0,0,366,367,5,60,0,0,367,368,5,61,0,0,368,68,1,0,0,0,369,370,5,62,0,0,370,371,5,61,0,0,371,70,1,0,0,0,372,373,5,61,0,0,373,374,5,61,0,0,374,72,1,0,0,0,375,376,5,33,0,0,376,377,5,61,0,0,377,74,1,0,0,0,378,379,5,60,0,0,379,76,1,0,0,0,380,381,5,62,0,0,381,78,1,0,0,0,382,383,5,61,0,0,383,80,1,0,0,0,384,385,5,61,0,0,385,386,5,62,0,0,386,82,1,0,0,0,387,388,5,46,0,0,388,84,1,0,0,0,389,390,5,44,0,0,390,86,1,0,0,0,391,392,5,58,0,0,392,88,1,0,0,0,393,394,5,63,0,0,394,90,1,0,0,0,395,396,5,126,0,0,396,92,1,0,0,0,397,398,5,38,0,0,398,94,1,0,0,0,399,400,5,124,0,0,400,96,1,0,0,0,401,402,5,94,0,0,402,98,1,0,0,0,403,404,5,43,0,0,404,100,1,0,0,0,405,406,5,45,0,0,406,102,1,0,0,0,407,408,5,42,0,0,408,104,1,0,0,0,409,410,5,47,0,0,410,106,1,0,0,0,411,412,5,37,0,0,412,108,1,0,0,0,413,414,5,43,0,0,414,415,5,61,0,0,415,110,1,0,0,0,416,417,5,45,0,0,417,418,5,61,0,0,418,112,1,0,0,0,419,420,5,42,0,0,420,421,5,61,0,0,421,114,1,0,0,0,422,423,5,47,0,0,423,424,5,61,0,0,424,116,1,0,0,0,425,426,5,37,0,0,426,427,5,61,0,0,427,118,1,0,0,0,428,429,5,58,0,0,429,430,5,61,0,0,430,120,1,0,0,0,431,435,3,207,103,0,432,434,3,209,104,0,433,432,1,0,0,0,434,437,1,0,0,0,435,433,1,0,0,0,435,436,1,0,0,0,436,122,1,0,0,0,437,435,1,0,0,0,438,439,3,169,84,0,439,124,1,0,0,0,440,441,3,147,73,0,441,126,1,0,0,0,442,443,3,163,81,0,443,128,1,0,0,0,444,445,3,205,102,0,445,130,1,0,0,0,446,448,7,0,0,0,447,446,1,0,0,0,448,449,1,0,0,0,449,447,1,0,0,0,449,450,1,0,0,0,450,451,1,0,0,0,451,452,6,65,0,0,452,132,1,0,0,0,453,454,5,47,0,0,454,455,5,47,0,0,455,459,1,0,0,0,456,458,8,1,0,0,457,456,1,0,0,0,458,461,1,0,0,0,459,457,1,0,0,0,459,460,1,0,0,0,460,462,1,0,0,0,461,459,1,0,0,0,462,463,6,66,1,0,463,134,1,0,0,0,464,479,5,35,0,0,465,469,7,0,0,0,466,468,8,1,0,0,467,466,1,0,0,0,468,471,1,0,0,0,469,467,1,0,0,0,469,470,1,0,0,0,470,480,1,0,0,0,471,469,1,0,0,0,472,476,8,2,0,0,473,475,8,1,0,0,474,473,1,0,0,0,475,478,1,0,0,0,476,474,1,0,0,0,476,477,1,0,0,0,477,480,1,0,0,0,478,476,1,0,0,0,479,465,1,0,0,0,479,472,1,0,0,0,480,481,1,0,0,0,481,482,6,67,2,0,482,483,6,67,1,0,483,136,1,0,0,0,484,486,5,96,0,0,485,484,1,0,0,0,486,487,1,0,0,0,487,485,1,0,0,0,487,488,1,0,0,0,488,489,1,0,0,0,489,490,6,68,2,0,490,491,6,68,1,0,491,138,1,0,0,0,492,493,7,3,0,0,493,494,1,0,0,0,494,495,6,69,0,0,495,140,1,0,0,0,496,497,9,0,0,0,497,142,1,0,0,0,498,499,5,34,0,0,499,500,5,34,0,0,500,501,5,34,0,0,501,511,1,0,0,0,502,510,8,4,0,0,503,504,5,34,0,0,504,510,8,4,0,0,505,506,5,34,0,0,506,507,5,34,0,0,507,508,1,0,0,0,508,510,8,4,0,0,509,502,1,0,0,0,509,503,1,0,0,0,509,505,1,0,0,0,510,513,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,514,1,0,0,0,513,511,1,0,0,0,514,515,5,34,0,0,515,516,5,34,0,0,516,517,5,34,0,0,517,518,1,0,0,0,518,519,6,71,3,0,519,144,1,0,0,0,520,521,5,39,0,0,521,522,5,39,0,0,522,523,5,39,0,0,523,533,1,0,0,0,524,532,8,5,0,0,525,526,5,39,0,0,526,532,8,5,0,0,527,528,5,39,0,0,528,529,5,39,0,0,529,530,1,0,0,0,530,532,8,5,0,0,531,524,1,0,0,0,531,525,1,0,0,0,531,527,1,0,0,0,532,535,1,0,0,0,533,531,1,0,0,0,533,534,1,0,0,0,534,536,1,0,0,0,535,533,1,0,0,0,536,537,5,39,0,0,537,538,5,39,0,0,538,539,5,39,0,0,539,540,1,0,0,0,540,541,6,72,3,0,541,146,1,0,0,0,542,545,3,149,74,0,543,545,3,151,75,0,544,542,1,0,0,0,544,543,1,0,0,0,545,148,1,0,0,0,546,550,5,39,0,0,547,549,3,153,76,0,548,547,1,0,0,0,549,552,1,0,0,0,550,548,1,0,0,0,550,551,1,0,0,0,551,553,1,0,0,0,552,550,1,0,0,0,553,554,5,39,0,0,554,150,1,0,0,0,555,559,5,34,0,0,556,558,3,155,77,0,557,556,1,0,0,0,558,561,1,0,0,0,559,557,1,0,0,0,559,560,1,0,0,0,560,562,1,0,0,0,561,559,1,0,0,0,562,563,5,34,0,0,563,152,1,0,0,0,564,567,3,157,78,0,565,567,3,161,80,0,566,564,1,0,0,0,566,565,1,0,0,0,567,154,1,0,0,0,568,571,3,159,79,0,569,571,3,161,80,0,570,568,1,0,0,0,570,569,1,0,0,0,571,156,1,0,0,0,572,573,8,6,0,0,573,158,1,0,0,0,574,575,8,7,0,0,575,160,1,0,0,0,576,577,5,92,0,0,577,578,9,0,0,0,578,162,1,0,0,0,579,582,3,165,82,0,580,582,3,167,83,0,581,579,1,0,0,0,581,580,1,0,0,0,582,164,1,0,0,0,583,584,5,35,0,0,584,585,3,189,94,0,585,586,3,189,94,0,586,587,3,189,94,0,587,588,3,189,94,0,588,589,3,189,94,0,589,590,3,189,94,0,590,591,3,189,94,0,591,592,3,189,94,0,592,166,1,0,0,0,593,594,5,35,0,0,594,595,3,189,94,0,595,596,3,189,94,0,596,597,3,189,94,0,597,598,3,189,94,0,598,599,3,189,94,0,599,600,3,189,94,0,600,168,1,0,0,0,601,605,3,171,85,0,602,605,3,191,95,0,603,605,3,203,101,0,604,601,1,0,0,0,604,602,1,0,0,0,604,603,1,0,0,0,605,170,1,0,0,0,606,611,3,173,86,0,607,611,3,175,87,0,608,611,3,177,88,0,609,611,3,179,89,0,610,606,1,0,0,0,610,607,1,0,0,0,610,608,1,0,0,0,610,609,1,0,0,0,611,172,1,0,0,0,612,619,3,181,90,0,613,615,5,95,0,0,614,613,1,0,0,0,614,615,1,0,0,0,615,616,1,0,0,0,616,618,3,183,91,0,617,614,1,0,0,0,618,621,1,0,0,0,619,617,1,0,0,0,619,620,1,0,0,0,620,633,1,0,0,0,621,619,1,0,0,0,622,629,5,48,0,0,623,625,5,95,0,0,624,623,1,0,0,0,624,625,1,0,0,0,625,626,1,0,0,0,626,628,3,183,91,0,627,624,1,0,0,0,628,631,1,0,0,0,629,627,1,0,0,0,629,630,1,0,0,0,630,633,1,0,0,0,631,629,1,0,0,0,632,612,1,0,0,0,632,622,1,0,0,0,633,174,1,0,0,0,634,635,5,48,0,0,635,640,7,8,0,0,636,638,5,95,0,0,637,636,1,0,0,0,637,638,1,0,0,0,638,639,1,0,0,0,639,641,3,185,92,0,640,637,1,0,0,0,641,642,1,0,0,0,642,640,1,0,0,0,642,643,1,0,0,0,643,176,1,0,0,0,644,645,5,48,0,0,645,650,7,9,0,0,646,648,5,95,0,0,647,646,1,0,0,0,647,648,1,0,0,0,648,649,1,0,0,0,649,651,3,187,93,0,650,647,1,0,0,0,651,652,1,0,0,0,652,650,1,0,0,0,652,653,1,0,0,0,653,178,1,0,0,0,654,655,5,48,0,0,655,660,7,10,0,0,656,658,5,95,0,0,657,656,1,0,0,0,657,658,1,0,0,0,658,659,1,0,0,0,659,661,3,189,94,0,660,657,1,0,0,0,661,662,1,0,0,0,662,660,1,0,0,0,662,663,1,0,0,0,663,180,1,0,0,0,664,665,7,11,0,0,665,182,1,0,0,0,666,667,7,12,0,0,667,184,1,0,0,0,668,669,2,48,49,0,669,186,1,0,0,0,670,671,7,13,0,0,671,188,1,0,0,0,672,675,3,183,91,0,673,675,7,14,0,0,674,672,1,0,0,0,674,673,1,0,0,0,675,190,1,0,0,0,676,679,3,193,96,0,677,679,3,195,97,0,678,676,1,0,0,0,678,677,1,0,0,0,679,192,1,0,0,0,680,682,3,197,98,0,681,680,1,0,0,0,681,682,1,0,0,0,682,683,1,0,0,0,683,688,3,199,99,0,684,685,3,197,98,0,685,686,5,46,0,0,686,688,1,0,0,0,687,681,1,0,0,0,687,684,1,0,0,0,688,194,1,0,0,0,689,692,3,197,98,0,690,692,3,193,96,0,691,689,1,0,0,0,691,690,1,0,0,0,692,693,1,0,0,0,693,694,3,201,100,0,694,196,1,0,0,0,695,702,3,183,91,0,696,698,5,95,0,0,697,696,1,0,0,0,697,698,1,0,0,0,698,699,1,0,0,0,699,701,3,183,91,0,700,697,1,0,0,0,701,704,1,0,0,0,702,700,1,0,0,0,702,703,1,0,0,0,703,198,1,0,0,0,704,702,1,0,0,0,705,706,5,46,0,0,706,707,3,197,98,0,707,200,1,0,0,0,708,710,7,15,0,0,709,711,7,16,0,0,710,709,1,0,0,0,710,711,1,0,0,0,711,712,1,0,0,0,712,713,3,197,98,0,713,202,1,0,0,0,714,717,3,191,95,0,715,717,3,197,98,0,716,714,1,0,0,0,716,715,1,0,0,0,717,718,1,0,0,0,718,719,7,17,0,0,719,204,1,0,0,0,720,722,5,13,0,0,721,720,1,0,0,0,721,722,1,0,0,0,722,723,1,0,0,0,723,724,5,10,0,0,724,206,1,0,0,0,725,726,7,18,0,0,726,208,1,0,0,0,727,728,7,19,0,0,728,210,1,0,0,0,41,0,435,449,459,469,476,479,487,509,511,531,533,544,550,559,566,570,581,604,610,614,619,624,629,632,637,642,647,652,657,662,674,678,681,687,691,697,702,710,716,721,4,0,1,0,0,2,0,7,69,0,7,65,0];static __ATN;static get _ATN(){if(!Y2.__ATN)Y2.__ATN=new l5().deserialize(Y2._serializedATN);return Y2.__ATN}static DecisionsToDFA=Y2._ATN.decisionToState.map((U,Q)=>new d5(U,Q))}class i5 extends xX{constructor(U){super(U)}isEqualToCurrentTokenText(U){return this.getCurrentToken().text===U}isNotEqualToCurrentTokenText(U){return!this.isEqualToCurrentTokenText(U)}}class w extends i5{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static OR=20;static SERIES=21;static SIMPLE=22;static SWITCH=23;static TO=24;static TYPE=25;static TRUE=26;static VAR=27;static VARIP=28;static WHILE=29;static LPAR=30;static RPAR=31;static LSQB=32;static RSQB=33;static LSHIFT=34;static RSHIFT=35;static LESSEQUAL=36;static GREATEREQUAL=37;static EQEQUAL=38;static NOTEQUAL=39;static LESS=40;static GREATER=41;static EQUAL=42;static RARROW=43;static DOT=44;static COMMA=45;static COLON=46;static QUESTION=47;static TILDE=48;static AMP=49;static PIPE=50;static CARET=51;static PLUS=52;static MINUS=53;static STAR=54;static SLASH=55;static PERCENT=56;static PLUSEQUAL=57;static MINEQUAL=58;static STAREQUAL=59;static SLASHEQUAL=60;static PERCENTEQUAL=61;static COLONEQUAL=62;static NAME=63;static NUMBER=64;static STRING=65;static COLOR=66;static NEWLINE=67;static WS=68;static COMMENT=69;static UNICODE_NOISE=70;static ERROR_TOKEN=71;static EOF=c1.EOF;static RULE_start=0;static RULE_start_script=1;static RULE_start_expression=2;static RULE_start_comments=3;static RULE_statements=4;static RULE_statement=5;static RULE_compound_statement=6;static RULE_simple_statements=7;static RULE_trailing_structure_statements=8;static RULE_simple_statement=9;static RULE_compound_assignment=10;static RULE_compound_variable_initialization=11;static RULE_compound_name_initialization=12;static RULE_compound_tuple_initialization=13;static RULE_compound_reassignment=14;static RULE_compound_augassignment=15;static RULE_function_declaration=16;static RULE_parameter_list=17;static RULE_parameter_definition=18;static RULE_method_declaration=19;static RULE_method_parameter_list=20;static RULE_method_parameter_definition=21;static RULE_type_declaration=22;static RULE_field_definitions=23;static RULE_field_definition=24;static RULE_enum_declaration=25;static RULE_enum_definitions=26;static RULE_enum_definition=27;static RULE_structure=28;static RULE_structure_statement=29;static RULE_structure_expression=30;static RULE_if_structure=31;static RULE_elif_structure=32;static RULE_if_tail=33;static RULE_else_block=34;static RULE_for_structure=35;static RULE_for_structure_to=36;static RULE_for_structure_in=37;static RULE_for_iterator=38;static RULE_while_structure=39;static RULE_switch_structure=40;static RULE_switch_cases=41;static RULE_switch_pattern_case=42;static RULE_switch_default_case=43;static RULE_local_block=44;static RULE_indented_local_block=45;static RULE_inline_local_block=46;static RULE_simple_assignment=47;static RULE_simple_variable_initialization=48;static RULE_simple_name_initialization=49;static RULE_simple_tuple_initialization=50;static RULE_simple_reassignment=51;static RULE_simple_augassignment=52;static RULE_expression=53;static RULE_expression_statement=54;static RULE_conditional_expression=55;static RULE_disjunction_expression=56;static RULE_conjunction_expression=57;static RULE_bitwise_or_expression=58;static RULE_bitwise_xor_expression=59;static RULE_bitwise_and_expression=60;static RULE_equality_expression=61;static RULE_equality_trailing_pair=62;static RULE_equal_trailing_pair=63;static RULE_not_equal_trailing_pair=64;static RULE_inequality_expression=65;static RULE_inequality_trailing_pair=66;static RULE_less_than_equal_trailing_pair=67;static RULE_less_than_trailing_pair=68;static RULE_greater_than_equal_trailing_pair=69;static RULE_greater_than_trailing_pair=70;static RULE_shift_expression=71;static RULE_shift_op=72;static RULE_additive_expression=73;static RULE_additive_op=74;static RULE_multiplicative_expression=75;static RULE_multiplicative_op=76;static RULE_unary_expression=77;static RULE_unary_op=78;static RULE_primary_expression=79;static RULE_argument_list=80;static RULE_argument_definition=81;static RULE_subscript_slice=82;static RULE_atomic_expression=83;static RULE_literal_expression=84;static RULE_literal_number=85;static RULE_literal_string=86;static RULE_literal_bool=87;static RULE_literal_color=88;static RULE_grouped_expression=89;static RULE_tuple_expression=90;static RULE_import_statement=91;static RULE_break_statement=92;static RULE_continue_statement=93;static RULE_variable_declaration=94;static RULE_tuple_declaration=95;static RULE_declaration_mode=96;static RULE_assignment_target=97;static RULE_assignment_target_attribute=98;static RULE_assignment_target_subscript=99;static RULE_assignment_target_name=100;static RULE_assignment_target_group=101;static RULE_augassign_op=102;static RULE_type_specification=103;static RULE_type_qualifier=104;static RULE_attributed_type_name=105;static RULE_template_spec_suffix=106;static RULE_array_type_suffix=107;static RULE_type_argument_list=108;static RULE_name=109;static RULE_name_load=110;static RULE_name_store=111;static RULE_comments=112;static RULE_comment=113;static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static ruleNames=["start","start_script","start_expression","start_comments","statements","statement","compound_statement","simple_statements","trailing_structure_statements","simple_statement","compound_assignment","compound_variable_initialization","compound_name_initialization","compound_tuple_initialization","compound_reassignment","compound_augassignment","function_declaration","parameter_list","parameter_definition","method_declaration","method_parameter_list","method_parameter_definition","type_declaration","field_definitions","field_definition","enum_declaration","enum_definitions","enum_definition","structure","structure_statement","structure_expression","if_structure","elif_structure","if_tail","else_block","for_structure","for_structure_to","for_structure_in","for_iterator","while_structure","switch_structure","switch_cases","switch_pattern_case","switch_default_case","local_block","indented_local_block","inline_local_block","simple_assignment","simple_variable_initialization","simple_name_initialization","simple_tuple_initialization","simple_reassignment","simple_augassignment","expression","expression_statement","conditional_expression","disjunction_expression","conjunction_expression","bitwise_or_expression","bitwise_xor_expression","bitwise_and_expression","equality_expression","equality_trailing_pair","equal_trailing_pair","not_equal_trailing_pair","inequality_expression","inequality_trailing_pair","less_than_equal_trailing_pair","less_than_trailing_pair","greater_than_equal_trailing_pair","greater_than_trailing_pair","shift_expression","shift_op","additive_expression","additive_op","multiplicative_expression","multiplicative_op","unary_expression","unary_op","primary_expression","argument_list","argument_definition","subscript_slice","atomic_expression","literal_expression","literal_number","literal_string","literal_bool","literal_color","grouped_expression","tuple_expression","import_statement","break_statement","continue_statement","variable_declaration","tuple_declaration","declaration_mode","assignment_target","assignment_target_attribute","assignment_target_subscript","assignment_target_name","assignment_target_group","augassign_op","type_specification","type_qualifier","attributed_type_name","template_spec_suffix","array_type_suffix","type_argument_list","name","name_load","name_store","comments","comment"];get grammarFileName(){return"PinescriptParser.g4"}get literalNames(){return w.literalNames}get symbolicNames(){return w.symbolicNames}get ruleNames(){return w.ruleNames}get serializedATN(){return w._serializedATN}createFailedPredicateException(U,Q){return new BX(this,U,Q)}constructor(U){super(U);this._interp=new gX(this,w._ATN,w.DecisionsToDFA,new o5)}start(){let U=new uJ(this,this._ctx,this.state);this.enterRule(U,0,w.RULE_start);try{this.enterOuterAlt(U,1),this.state=228,this.start_script()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}start_script(){let U=new w3(this,this._ctx,this.state);this.enterRule(U,2,w.RULE_start_script);let Q;try{this.enterOuterAlt(U,1);{if(this.state=231,this._errHandler.sync(this),Q=this._input.LA(1),(Q-4&-32)===0&&(1<<Q-4&402583519)!==0||(Q-48&-32)===0&&(1<<Q-48&491569)!==0)this.state=230,this.statements();this.state=233,this.match(w.EOF)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}start_expression(){let U=new bJ(this,this._ctx,this.state);this.enterRule(U,4,w.RULE_start_expression);let Q;try{this.enterOuterAlt(U,1);{if(this.state=235,this.expression(),this.state=237,this._errHandler.sync(this),Q=this._input.LA(1),Q===67)this.state=236,this.match(w.NEWLINE);this.state=239,this.match(w.EOF)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}start_comments(){let U=new lJ(this,this._ctx,this.state);this.enterRule(U,6,w.RULE_start_comments);let Q;try{this.enterOuterAlt(U,1);{if(this.state=242,this._errHandler.sync(this),Q=this._input.LA(1),Q===69)this.state=241,this.comments();this.state=244,this.match(w.EOF)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}statements(){let U=new I8(this,this._ctx,this.state);this.enterRule(U,8,w.RULE_statements);let Q;try{this.enterOuterAlt(U,1);{this.state=247,this._errHandler.sync(this),Q=this._input.LA(1);do this.state=246,this.statement(),this.state=249,this._errHandler.sync(this),Q=this._input.LA(1);while((Q-4&-32)===0&&(1<<Q-4&402583519)!==0||(Q-48&-32)===0&&(1<<Q-48&491569)!==0)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}statement(){let U=new L7(this,this._ctx,this.state);this.enterRule(U,10,w.RULE_statement);try{switch(this.state=254,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,4,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=251,this.compound_statement();break;case 2:this.enterOuterAlt(U,2),this.state=252,this.simple_statements();break;case 3:this.enterOuterAlt(U,3),this.state=253,this.trailing_structure_statements();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}compound_statement(){let U=new y3(this,this._ctx,this.state);this.enterRule(U,12,w.RULE_compound_statement);try{switch(this.state=262,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,5,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=256,this.compound_assignment();break;case 2:this.enterOuterAlt(U,2),this.state=257,this.type_declaration();break;case 3:this.enterOuterAlt(U,3),this.state=258,this.enum_declaration();break;case 4:this.enterOuterAlt(U,4),this.state=259,this.structure_statement();break;case 5:this.enterOuterAlt(U,5),this.state=260,this.method_declaration();break;case 6:this.enterOuterAlt(U,6),this.state=261,this.function_declaration();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}simple_statements(){let U=new x3(this,this._ctx,this.state);this.enterRule(U,14,w.RULE_simple_statements);let Q;try{let Z;this.enterOuterAlt(U,1);{this.state=264,this.simple_statement(),this.state=269,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,6,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=265,this.match(w.COMMA),this.state=266,this.simple_statement();this.state=271,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,6,this._ctx)}if(this.state=273,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=272,this.match(w.COMMA);this.state=275,this.match(w.NEWLINE)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}trailing_structure_statements(){let U=new g3(this,this._ctx,this.state);this.enterRule(U,16,w.RULE_trailing_structure_statements);try{let Q;this.enterOuterAlt(U,1);{this.state=277,this.simple_statement(),this.state=282,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,8,this._ctx);while(Q!==2&&Q!==$2.INVALID_ALT_NUMBER){if(Q===1)this.state=278,this.match(w.COMMA),this.state=279,this.simple_statement();this.state=284,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,8,this._ctx)}this.state=285,this.match(w.COMMA),this.state=286,this.structure()}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}simple_statement(){let U=new j4(this,this._ctx,this.state);this.enterRule(U,18,w.RULE_simple_statement);try{switch(this.state=293,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,9,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=288,this.simple_assignment();break;case 2:this.enterOuterAlt(U,2),this.state=289,this.expression_statement();break;case 3:this.enterOuterAlt(U,3),this.state=290,this.import_statement();break;case 4:this.enterOuterAlt(U,4),this.state=291,this.break_statement();break;case 5:this.enterOuterAlt(U,5),this.state=292,this.continue_statement();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}compound_assignment(){let U=new f3(this,this._ctx,this.state);this.enterRule(U,20,w.RULE_compound_assignment);try{switch(this.state=298,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,10,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=295,this.compound_variable_initialization();break;case 2:this.enterOuterAlt(U,2),this.state=296,this.compound_reassignment();break;case 3:this.enterOuterAlt(U,3),this.state=297,this.compound_augassignment();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}compound_variable_initialization(){let U=new p3(this,this._ctx,this.state);this.enterRule(U,22,w.RULE_compound_variable_initialization);try{switch(this.state=302,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 21:case 22:case 24:case 25:case 27:case 28:case 63:this.enterOuterAlt(U,1),this.state=300,this.compound_name_initialization();break;case 32:this.enterOuterAlt(U,2),this.state=301,this.compound_tuple_initialization();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}compound_name_initialization(){let U=new v3(this,this._ctx,this.state);this.enterRule(U,24,w.RULE_compound_name_initialization);let Q;try{this.enterOuterAlt(U,1);{if(this.state=305,this._errHandler.sync(this),Q=this._input.LA(1),Q===11)this.state=304,this.match(w.EXPORT);this.state=307,this.variable_declaration(),this.state=308,this.match(w.EQUAL),this.state=309,this.structure_expression()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}compound_tuple_initialization(){let U=new h3(this,this._ctx,this.state);this.enterRule(U,26,w.RULE_compound_tuple_initialization);try{this.enterOuterAlt(U,1),this.state=311,this.tuple_declaration(),this.state=312,this.match(w.EQUAL),this.state=313,this.structure_expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}compound_reassignment(){let U=new c3(this,this._ctx,this.state);this.enterRule(U,28,w.RULE_compound_reassignment);try{this.enterOuterAlt(U,1),this.state=315,this.primary_expression(0),this.state=316,this.match(w.COLONEQUAL),this.state=317,this.structure_expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}compound_augassignment(){let U=new u3(this,this._ctx,this.state);this.enterRule(U,30,w.RULE_compound_augassignment);try{this.enterOuterAlt(U,1),this.state=319,this.primary_expression(0),this.state=320,this.augassign_op(),this.state=321,this.structure_expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}function_declaration(){let U=new b3(this,this._ctx,this.state);this.enterRule(U,32,w.RULE_function_declaration);let Q;try{this.enterOuterAlt(U,1);{if(this.state=324,this._errHandler.sync(this),Q=this._input.LA(1),Q===11)this.state=323,this.match(w.EXPORT);switch(this.state=327,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,14,this._ctx)){case 1:this.state=326,this.type_specification();break}if(this.state=329,this.name(),this.state=330,this.match(w.LPAR),this.state=332,this._errHandler.sync(this),Q=this._input.LA(1),(Q&-32)===0&&(1<<Q&57017552)!==0||Q===63)this.state=331,this.parameter_list();this.state=334,this.match(w.RPAR),this.state=335,this.match(w.RARROW),this.state=336,this.local_block()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}parameter_list(){let U=new l3(this,this._ctx,this.state);this.enterRule(U,34,w.RULE_parameter_list);let Q;try{let Z;this.enterOuterAlt(U,1);{this.state=338,this.parameter_definition(),this.state=343,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,16,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=339,this.match(w.COMMA),this.state=340,this.parameter_definition();this.state=345,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,16,this._ctx)}if(this.state=347,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=346,this.match(w.COMMA)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}parameter_definition(){let U=new V7(this,this._ctx,this.state);this.enterRule(U,36,w.RULE_parameter_definition);let Q;try{this.enterOuterAlt(U,1);{switch(this.state=350,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,18,this._ctx)){case 1:this.state=349,this.type_specification();break}if(this.state=352,this.name_store(),this.state=355,this._errHandler.sync(this),Q=this._input.LA(1),Q===42)this.state=353,this.match(w.EQUAL),this.state=354,this.expression()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}method_declaration(){let U=new d3(this,this._ctx,this.state);this.enterRule(U,38,w.RULE_method_declaration);let Q;try{this.enterOuterAlt(U,1);{if(this.state=358,this._errHandler.sync(this),Q=this._input.LA(1),Q===11)this.state=357,this.match(w.EXPORT);switch(this.state=360,this.match(w.METHOD),this.state=362,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,21,this._ctx)){case 1:this.state=361,this.type_specification();break}if(this.state=364,this.name(),this.state=365,this.match(w.LPAR),this.state=367,this._errHandler.sync(this),Q=this._input.LA(1),(Q&-32)===0&&(1<<Q&57017552)!==0||Q===63)this.state=366,this.method_parameter_list();this.state=369,this.match(w.RPAR),this.state=370,this.match(w.RARROW),this.state=371,this.local_block()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}method_parameter_list(){let U=new o3(this,this._ctx,this.state);this.enterRule(U,40,w.RULE_method_parameter_list);let Q;try{let Z;this.enterOuterAlt(U,1);{this.state=373,this.method_parameter_definition(),this.state=378,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,23,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=374,this.match(w.COMMA),this.state=375,this.method_parameter_definition();this.state=380,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,23,this._ctx)}if(this.state=382,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=381,this.match(w.COMMA)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}method_parameter_definition(){let U=new a5(this,this._ctx,this.state);this.enterRule(U,42,w.RULE_method_parameter_definition);try{switch(this.state=388,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,25,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=384,this.type_specification(),this.state=385,this.name_store();break;case 2:this.enterOuterAlt(U,2),this.state=387,this.parameter_definition();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}type_declaration(){let U=new m3(this,this._ctx,this.state);this.enterRule(U,44,w.RULE_type_declaration);let Q;try{this.enterOuterAlt(U,1);{if(this.state=391,this._errHandler.sync(this),Q=this._input.LA(1),Q===11)this.state=390,this.match(w.EXPORT);this.state=393,this.match(w.TYPE),this.state=394,this.name(),this.state=395,this.match(w.NEWLINE),this.state=396,this.match(w.INDENT),this.state=397,this.field_definitions(),this.state=398,this.match(w.DEDENT)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}field_definitions(){let U=new r3(this,this._ctx,this.state);this.enterRule(U,46,w.RULE_field_definitions);let Q;try{this.enterOuterAlt(U,1);{this.state=401,this._errHandler.sync(this),Q=this._input.LA(1);do this.state=400,this.field_definition(),this.state=403,this._errHandler.sync(this),Q=this._input.LA(1);while((Q&-32)===0&&(1<<Q&325453008)!==0||Q===63)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}field_definition(){let U=new t5(this,this._ctx,this.state);this.enterRule(U,48,w.RULE_field_definition);let Q;try{this.enterOuterAlt(U,1);{if(this.state=406,this._errHandler.sync(this),Q=this._input.LA(1),Q===28)this.state=405,this.match(w.VARIP);if(this.state=408,this.type_specification(),this.state=409,this.name_store(),this.state=412,this._errHandler.sync(this),Q=this._input.LA(1),Q===42)this.state=410,this.match(w.EQUAL),this.state=411,this.expression();this.state=414,this.match(w.NEWLINE)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}enum_declaration(){let U=new n3(this,this._ctx,this.state);this.enterRule(U,50,w.RULE_enum_declaration);let Q;try{this.enterOuterAlt(U,1);{if(this.state=417,this._errHandler.sync(this),Q=this._input.LA(1),Q===11)this.state=416,this.match(w.EXPORT);this.state=419,this.match(w.ENUM),this.state=420,this.name(),this.state=421,this.match(w.NEWLINE),this.state=422,this.match(w.INDENT),this.state=423,this.enum_definitions(),this.state=424,this.match(w.DEDENT)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}enum_definitions(){let U=new s3(this,this._ctx,this.state);this.enterRule(U,52,w.RULE_enum_definitions);let Q;try{this.enterOuterAlt(U,1);{this.state=427,this._errHandler.sync(this),Q=this._input.LA(1);do this.state=426,this.enum_definition(),this.state=429,this._errHandler.sync(this),Q=this._input.LA(1);while((Q&-32)===0&&(1<<Q&57017552)!==0||Q===63)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}enum_definition(){let U=new e5(this,this._ctx,this.state);this.enterRule(U,54,w.RULE_enum_definition);let Q;try{this.enterOuterAlt(U,1);{if(this.state=431,this.name_store(),this.state=434,this._errHandler.sync(this),Q=this._input.LA(1),Q===42)this.state=432,this.match(w.EQUAL),this.state=433,this.expression();this.state=436,this.match(w.NEWLINE)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}structure(){let U=new z7(this,this._ctx,this.state);this.enterRule(U,56,w.RULE_structure);try{switch(this.state=442,this._errHandler.sync(this),this._input.LA(1)){case 14:this.enterOuterAlt(U,1),this.state=438,this.if_structure();break;case 13:this.enterOuterAlt(U,2),this.state=439,this.for_structure();break;case 29:this.enterOuterAlt(U,3),this.state=440,this.while_structure();break;case 23:this.enterOuterAlt(U,4),this.state=441,this.switch_structure();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}structure_statement(){let U=new i3(this,this._ctx,this.state);this.enterRule(U,58,w.RULE_structure_statement);try{this.enterOuterAlt(U,1),this.state=444,this.structure()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}structure_expression(){let U=new w4(this,this._ctx,this.state);this.enterRule(U,60,w.RULE_structure_expression);try{this.enterOuterAlt(U,1),this.state=446,this.structure()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}if_structure(){let U=new a3(this,this._ctx,this.state);this.enterRule(U,62,w.RULE_if_structure);try{switch(this.enterOuterAlt(U,1),this.state=448,this.match(w.IF),this.state=449,this.expression(),this.state=450,this.local_block(),this.state=452,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,34,this._ctx)){case 1:this.state=451,this.if_tail();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}elif_structure(){let U=new t3(this,this._ctx,this.state);this.enterRule(U,64,w.RULE_elif_structure);try{switch(this.enterOuterAlt(U,1),this.state=454,this.match(w.ELSE),this.state=455,this.match(w.IF),this.state=456,this.expression(),this.state=457,this.local_block(),this.state=459,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,35,this._ctx)){case 1:this.state=458,this.if_tail();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}if_tail(){let U=new $8(this,this._ctx,this.state);this.enterRule(U,66,w.RULE_if_tail);try{switch(this.state=463,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,36,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=461,this.elif_structure();break;case 2:this.enterOuterAlt(U,2),this.state=462,this.else_block();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}else_block(){let U=new e3(this,this._ctx,this.state);this.enterRule(U,68,w.RULE_else_block);try{this.enterOuterAlt(U,1),this.state=465,this.match(w.ELSE),this.state=466,this.local_block()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}for_structure(){let U=new UU(this,this._ctx,this.state);this.enterRule(U,70,w.RULE_for_structure);try{switch(this.state=470,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,37,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=468,this.for_structure_to();break;case 2:this.enterOuterAlt(U,2),this.state=469,this.for_structure_in();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}for_structure_to(){let U=new QU(this,this._ctx,this.state);this.enterRule(U,72,w.RULE_for_structure_to);try{this.enterOuterAlt(U,1);{switch(this.state=472,this.match(w.FOR),this.state=473,this.for_iterator(),this.state=474,this.match(w.EQUAL),this.state=475,this.expression(),this.state=476,this.match(w.TO),this.state=477,this.expression(),this.state=480,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,38,this._ctx)){case 1:this.state=478,this.match(w.BY),this.state=479,this.expression();break}this.state=482,this.local_block()}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}for_structure_in(){let U=new ZU(this,this._ctx,this.state);this.enterRule(U,74,w.RULE_for_structure_in);try{this.enterOuterAlt(U,1),this.state=484,this.match(w.FOR),this.state=485,this.for_iterator(),this.state=486,this.match(w.IN),this.state=487,this.expression(),this.state=488,this.local_block()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}for_iterator(){let U=new Y8(this,this._ctx,this.state);this.enterRule(U,76,w.RULE_for_iterator);try{switch(this.state=495,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,39,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=490,this.type_specification(),this.state=491,this.name_store();break;case 2:this.enterOuterAlt(U,2),this.state=493,this.name_store();break;case 3:this.enterOuterAlt(U,3),this.state=494,this.tuple_declaration();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}while_structure(){let U=new XU(this,this._ctx,this.state);this.enterRule(U,78,w.RULE_while_structure);try{this.enterOuterAlt(U,1),this.state=497,this.match(w.WHILE),this.state=498,this.expression(),this.state=499,this.local_block()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}switch_structure(){let U=new JU(this,this._ctx,this.state);this.enterRule(U,80,w.RULE_switch_structure);let Q;try{this.enterOuterAlt(U,1);{if(this.state=501,this.match(w.SWITCH),this.state=503,this._errHandler.sync(this),Q=this._input.LA(1),(Q-4&-32)===0&&(1<<Q-4&343335245)!==0||(Q-48&-32)===0&&(1<<Q-48&491569)!==0)this.state=502,this.expression();this.state=505,this.match(w.NEWLINE),this.state=506,this.match(w.INDENT),this.state=507,this.switch_cases(),this.state=508,this.match(w.DEDENT)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}switch_cases(){let U=new GU(this,this._ctx,this.state);this.enterRule(U,82,w.RULE_switch_cases);let Q;try{this.enterOuterAlt(U,1);{this.state=511,this._errHandler.sync(this),Q=this._input.LA(1);do this.state=510,this.switch_pattern_case(),this.state=513,this._errHandler.sync(this),Q=this._input.LA(1);while((Q-4&-32)===0&&(1<<Q-4&343335245)!==0||(Q-48&-32)===0&&(1<<Q-48&491569)!==0);if(this.state=516,this._errHandler.sync(this),Q=this._input.LA(1),Q===43)this.state=515,this.switch_default_case()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}switch_pattern_case(){let U=new U8(this,this._ctx,this.state);this.enterRule(U,84,w.RULE_switch_pattern_case);try{this.enterOuterAlt(U,1),this.state=518,this.expression(),this.state=519,this.match(w.RARROW),this.state=520,this.local_block()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}switch_default_case(){let U=new IU(this,this._ctx,this.state);this.enterRule(U,86,w.RULE_switch_default_case);try{this.enterOuterAlt(U,1),this.state=522,this.match(w.RARROW),this.state=523,this.local_block()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}local_block(){let U=new s2(this,this._ctx,this.state);this.enterRule(U,88,w.RULE_local_block);try{switch(this.state=527,this._errHandler.sync(this),this._input.LA(1)){case 67:this.enterOuterAlt(U,1),this.state=525,this.indented_local_block();break;case 4:case 5:case 6:case 7:case 8:case 10:case 11:case 12:case 13:case 14:case 15:case 17:case 18:case 19:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 32:case 48:case 52:case 53:case 63:case 64:case 65:case 66:this.enterOuterAlt(U,2),this.state=526,this.inline_local_block();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}indented_local_block(){let U=new $U(this,this._ctx,this.state);this.enterRule(U,90,w.RULE_indented_local_block);try{this.enterOuterAlt(U,1),this.state=529,this.match(w.NEWLINE),this.state=530,this.match(w.INDENT),this.state=531,this.statements(),this.state=532,this.match(w.DEDENT)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}inline_local_block(){let U=new YU(this,this._ctx,this.state);this.enterRule(U,92,w.RULE_inline_local_block);try{this.enterOuterAlt(U,1),this.state=534,this.statement()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}simple_assignment(){let U=new TU(this,this._ctx,this.state);this.enterRule(U,94,w.RULE_simple_assignment);try{switch(this.state=539,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,44,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=536,this.simple_variable_initialization();break;case 2:this.enterOuterAlt(U,2),this.state=537,this.simple_reassignment();break;case 3:this.enterOuterAlt(U,3),this.state=538,this.simple_augassignment();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}simple_variable_initialization(){let U=new KU(this,this._ctx,this.state);this.enterRule(U,96,w.RULE_simple_variable_initialization);try{switch(this.state=543,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 21:case 22:case 24:case 25:case 27:case 28:case 63:this.enterOuterAlt(U,1),this.state=541,this.simple_name_initialization();break;case 32:this.enterOuterAlt(U,2),this.state=542,this.simple_tuple_initialization();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}simple_name_initialization(){let U=new WU(this,this._ctx,this.state);this.enterRule(U,98,w.RULE_simple_name_initialization);let Q;try{this.enterOuterAlt(U,1);{if(this.state=546,this._errHandler.sync(this),Q=this._input.LA(1),Q===11)this.state=545,this.match(w.EXPORT);this.state=548,this.variable_declaration(),this.state=549,this.match(w.EQUAL),this.state=550,this.expression()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}simple_tuple_initialization(){let U=new OU(this,this._ctx,this.state);this.enterRule(U,100,w.RULE_simple_tuple_initialization);try{this.enterOuterAlt(U,1),this.state=552,this.tuple_declaration(),this.state=553,this.match(w.EQUAL),this.state=554,this.expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}simple_reassignment(){let U=new LU(this,this._ctx,this.state);this.enterRule(U,102,w.RULE_simple_reassignment);let Q;try{this.enterOuterAlt(U,1);{if(this.state=556,this.primary_expression(0),this.state=557,Q=this._input.LA(1),!(Q===42||Q===62))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume();this.state=558,this.expression()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}simple_augassignment(){let U=new VU(this,this._ctx,this.state);this.enterRule(U,104,w.RULE_simple_augassignment);try{this.enterOuterAlt(U,1),this.state=560,this.primary_expression(0),this.state=561,this.augassign_op(),this.state=562,this.expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}expression(){let U=new E1(this,this._ctx,this.state);this.enterRule(U,106,w.RULE_expression);try{this.enterOuterAlt(U,1),this.state=564,this.conditional_expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}expression_statement(){let U=new DU(this,this._ctx,this.state);this.enterRule(U,108,w.RULE_expression_statement);try{this.enterOuterAlt(U,1),this.state=566,this.expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}conditional_expression(){let U=new HU(this,this._ctx,this.state);this.enterRule(U,110,w.RULE_conditional_expression);let Q;try{if(this.enterOuterAlt(U,1),this.state=568,this.disjunction_expression(),this.state=574,this._errHandler.sync(this),Q=this._input.LA(1),Q===47)this.state=569,this.match(w.QUESTION),this.state=570,this.expression(),this.state=571,this.match(w.COLON),this.state=572,this.expression()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}disjunction_expression(){let U=new FU(this,this._ctx,this.state);this.enterRule(U,112,w.RULE_disjunction_expression);let Q;try{this.enterOuterAlt(U,1);{this.state=576,this.conjunction_expression(),this.state=581,this._errHandler.sync(this),Q=this._input.LA(1);while(Q===20)this.state=577,this.match(w.OR),this.state=578,this.conjunction_expression(),this.state=583,this._errHandler.sync(this),Q=this._input.LA(1)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}conjunction_expression(){let U=new Q8(this,this._ctx,this.state);this.enterRule(U,114,w.RULE_conjunction_expression);let Q;try{this.enterOuterAlt(U,1);{this.state=584,this.bitwise_or_expression(0),this.state=589,this._errHandler.sync(this),Q=this._input.LA(1);while(Q===3)this.state=585,this.match(w.AND),this.state=586,this.bitwise_or_expression(0),this.state=591,this._errHandler.sync(this),Q=this._input.LA(1)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}bitwise_or_expression(U){if(U===void 0)U=0;let Q=this._ctx,Z=this.state,X=new B4(this,this._ctx,Z),J=X,Y=116;this.enterRecursionRule(X,116,w.RULE_bitwise_or_expression,U);try{let G;this.enterOuterAlt(X,1);{this.state=593,this.bitwise_xor_expression(0),this._ctx.stop=this._input.LT(-1),this.state=600,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,50,this._ctx);while(G!==2&&G!==$2.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();J=X;{if(X=new B4(this,Q,Z),this.pushNewRecursionContext(X,Y,w.RULE_bitwise_or_expression),this.state=595,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=596,this.match(w.PIPE),this.state=597,this.bitwise_xor_expression(0)}}this.state=602,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,50,this._ctx)}}}catch(G){if(G instanceof k0)X.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(Q)}return X}bitwise_xor_expression(U){if(U===void 0)U=0;let Q=this._ctx,Z=this.state,X=new D7(this,this._ctx,Z),J=X,Y=118;this.enterRecursionRule(X,118,w.RULE_bitwise_xor_expression,U);try{let G;this.enterOuterAlt(X,1);{this.state=604,this.bitwise_and_expression(0),this._ctx.stop=this._input.LT(-1),this.state=611,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,51,this._ctx);while(G!==2&&G!==$2.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();J=X;{if(X=new D7(this,Q,Z),this.pushNewRecursionContext(X,Y,w.RULE_bitwise_xor_expression),this.state=606,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=607,this.match(w.CARET),this.state=608,this.bitwise_and_expression(0)}}this.state=613,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,51,this._ctx)}}}catch(G){if(G instanceof k0)X.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(Q)}return X}bitwise_and_expression(U){if(U===void 0)U=0;let Q=this._ctx,Z=this.state,X=new H7(this,this._ctx,Z),J=X,Y=120;this.enterRecursionRule(X,120,w.RULE_bitwise_and_expression,U);try{let G;this.enterOuterAlt(X,1);{this.state=615,this.equality_expression(),this._ctx.stop=this._input.LT(-1),this.state=622,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,52,this._ctx);while(G!==2&&G!==$2.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();J=X;{if(X=new H7(this,Q,Z),this.pushNewRecursionContext(X,Y,w.RULE_bitwise_and_expression),this.state=617,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=618,this.match(w.AMP),this.state=619,this.equality_expression()}}this.state=624,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,52,this._ctx)}}}catch(G){if(G instanceof k0)X.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(Q)}return X}equality_expression(){let U=new RU(this,this._ctx,this.state);this.enterRule(U,122,w.RULE_equality_expression);try{let Q;this.enterOuterAlt(U,1);{this.state=625,this.inequality_expression(),this.state=629,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,53,this._ctx);while(Q!==2&&Q!==$2.INVALID_ALT_NUMBER){if(Q===1)this.state=626,this.equality_trailing_pair();this.state=631,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,53,this._ctx)}}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}equality_trailing_pair(){let U=new Z8(this,this._ctx,this.state);this.enterRule(U,124,w.RULE_equality_trailing_pair);try{switch(this.state=634,this._errHandler.sync(this),this._input.LA(1)){case 38:this.enterOuterAlt(U,1),this.state=632,this.equal_trailing_pair();break;case 39:this.enterOuterAlt(U,2),this.state=633,this.not_equal_trailing_pair();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}equal_trailing_pair(){let U=new zU(this,this._ctx,this.state);this.enterRule(U,126,w.RULE_equal_trailing_pair);try{this.enterOuterAlt(U,1),this.state=636,this.match(w.EQEQUAL),this.state=637,this.inequality_expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}not_equal_trailing_pair(){let U=new SU(this,this._ctx,this.state);this.enterRule(U,128,w.RULE_not_equal_trailing_pair);try{this.enterOuterAlt(U,1),this.state=639,this.match(w.NOTEQUAL),this.state=640,this.inequality_expression()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}inequality_expression(){let U=new S7(this,this._ctx,this.state);this.enterRule(U,130,w.RULE_inequality_expression);try{let Q;this.enterOuterAlt(U,1);{this.state=642,this.shift_expression(0),this.state=646,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,55,this._ctx);while(Q!==2&&Q!==$2.INVALID_ALT_NUMBER){if(Q===1)this.state=643,this.inequality_trailing_pair();this.state=648,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,55,this._ctx)}}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}inequality_trailing_pair(){let U=new X8(this,this._ctx,this.state);this.enterRule(U,132,w.RULE_inequality_trailing_pair);try{switch(this.state=653,this._errHandler.sync(this),this._input.LA(1)){case 36:this.enterOuterAlt(U,1),this.state=649,this.less_than_equal_trailing_pair();break;case 40:this.enterOuterAlt(U,2),this.state=650,this.less_than_trailing_pair();break;case 37:this.enterOuterAlt(U,3),this.state=651,this.greater_than_equal_trailing_pair();break;case 41:this.enterOuterAlt(U,4),this.state=652,this.greater_than_trailing_pair();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}less_than_equal_trailing_pair(){let U=new MU(this,this._ctx,this.state);this.enterRule(U,134,w.RULE_less_than_equal_trailing_pair);try{this.enterOuterAlt(U,1),this.state=655,this.match(w.LESSEQUAL),this.state=656,this.shift_expression(0)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}less_than_trailing_pair(){let U=new qU(this,this._ctx,this.state);this.enterRule(U,136,w.RULE_less_than_trailing_pair);try{this.enterOuterAlt(U,1),this.state=658,this.match(w.LESS),this.state=659,this.shift_expression(0)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}greater_than_equal_trailing_pair(){let U=new CU(this,this._ctx,this.state);this.enterRule(U,138,w.RULE_greater_than_equal_trailing_pair);try{this.enterOuterAlt(U,1),this.state=661,this.match(w.GREATEREQUAL),this.state=662,this.shift_expression(0)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}greater_than_trailing_pair(){let U=new EU(this,this._ctx,this.state);this.enterRule(U,140,w.RULE_greater_than_trailing_pair);try{this.enterOuterAlt(U,1),this.state=664,this.match(w.GREATER),this.state=665,this.shift_expression(0)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}shift_expression(U){if(U===void 0)U=0;let Q=this._ctx,Z=this.state,X=new E6(this,this._ctx,Z),J=X,Y=142;this.enterRecursionRule(X,142,w.RULE_shift_expression,U);try{let G;this.enterOuterAlt(X,1);{this.state=668,this.additive_expression(0),this._ctx.stop=this._input.LT(-1),this.state=676,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,57,this._ctx);while(G!==2&&G!==$2.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();J=X;{if(X=new E6(this,Q,Z),this.pushNewRecursionContext(X,Y,w.RULE_shift_expression),this.state=670,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=671,this.shift_op(),this.state=672,this.additive_expression(0)}}this.state=678,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,57,this._ctx)}}}catch(G){if(G instanceof k0)X.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(Q)}return X}shift_op(){let U=new PU(this,this._ctx,this.state);this.enterRule(U,144,w.RULE_shift_op);let Q;try{if(this.enterOuterAlt(U,1),this.state=679,Q=this._input.LA(1),!(Q===34||Q===35))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}additive_expression(U){if(U===void 0)U=0;let Q=this._ctx,Z=this.state,X=new F7(this,this._ctx,Z),J=X,Y=146;this.enterRecursionRule(X,146,w.RULE_additive_expression,U);try{let G;this.enterOuterAlt(X,1);{this.state=682,this.multiplicative_expression(0),this._ctx.stop=this._input.LT(-1),this.state=690,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,58,this._ctx);while(G!==2&&G!==$2.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();J=X;{if(X=new F7(this,Q,Z),this.pushNewRecursionContext(X,Y,w.RULE_additive_expression),this.state=684,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=685,this.additive_op(),this.state=686,this.multiplicative_expression(0)}}this.state=692,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,58,this._ctx)}}}catch(G){if(G instanceof k0)X.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(Q)}return X}additive_op(){let U=new kU(this,this._ctx,this.state);this.enterRule(U,148,w.RULE_additive_op);let Q;try{if(this.enterOuterAlt(U,1),this.state=693,Q=this._input.LA(1),!(Q===52||Q===53))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}multiplicative_expression(U){if(U===void 0)U=0;let Q=this._ctx,Z=this.state,X=new R7(this,this._ctx,Z),J=X,Y=150;this.enterRecursionRule(X,150,w.RULE_multiplicative_expression,U);try{let G;this.enterOuterAlt(X,1);{this.state=696,this.unary_expression(),this._ctx.stop=this._input.LT(-1),this.state=704,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,59,this._ctx);while(G!==2&&G!==$2.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();J=X;{if(X=new R7(this,Q,Z),this.pushNewRecursionContext(X,Y,w.RULE_multiplicative_expression),this.state=698,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=699,this.multiplicative_op(),this.state=700,this.unary_expression()}}this.state=706,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,59,this._ctx)}}}catch(G){if(G instanceof k0)X.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(Q)}return X}multiplicative_op(){let U=new _U(this,this._ctx,this.state);this.enterRule(U,152,w.RULE_multiplicative_op);let Q;try{if(this.enterOuterAlt(U,1),this.state=707,Q=this._input.LA(1),!((Q-54&-32)===0&&(1<<Q-54&7)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}unary_expression(){let U=new T8(this,this._ctx,this.state);this.enterRule(U,154,w.RULE_unary_expression);try{switch(this.state=713,this._errHandler.sync(this),this._input.LA(1)){case 19:case 48:case 52:case 53:this.enterOuterAlt(U,1),this.state=709,this.unary_op(),this.state=710,this.unary_expression();break;case 4:case 6:case 7:case 10:case 12:case 17:case 18:case 21:case 22:case 24:case 25:case 26:case 30:case 32:case 63:case 64:case 65:case 66:this.enterOuterAlt(U,2),this.state=712,this.primary_expression(0);break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}unary_op(){let U=new AU(this,this._ctx,this.state);this.enterRule(U,156,w.RULE_unary_op);let Q;try{if(this.enterOuterAlt(U,1),this.state=715,Q=this._input.LA(1),!(Q===19||(Q-48&-32)===0&&(1<<Q-48&49)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}primary_expression(U){if(U===void 0)U=0;let Q=this._ctx,Z=this.state,X=new T2(this,this._ctx,Z),J=X,Y=158;this.enterRecursionRule(X,158,w.RULE_primary_expression,U);let G;try{let L;this.enterOuterAlt(X,1);{X=new mJ(this,X),this._ctx=X,J=X,this.state=718,this.atomic_expression(),this._ctx.stop=this._input.LT(-1),this.state=739,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,64,this._ctx);while(L!==2&&L!==$2.INVALID_ALT_NUMBER){if(L===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();switch(J=X,this.state=737,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,63,this._ctx)){case 1:{if(X=new dJ(this,new T2(this,Q,Z)),this.pushNewRecursionContext(X,Y,w.RULE_primary_expression),this.state=720,!this.precpred(this._ctx,4))throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");this.state=721,this.match(w.DOT),this.state=722,this.name_load()}break;case 2:{if(X=new oJ(this,new T2(this,Q,Z)),this.pushNewRecursionContext(X,Y,w.RULE_primary_expression),this.state=723,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");if(this.state=725,this._errHandler.sync(this),G=this._input.LA(1),G===40)this.state=724,this.template_spec_suffix();if(this.state=727,this.match(w.LPAR),this.state=729,this._errHandler.sync(this),G=this._input.LA(1),(G-4&-32)===0&&(1<<G-4&343335245)!==0||(G-48&-32)===0&&(1<<G-48&491569)!==0)this.state=728,this.argument_list();this.state=731,this.match(w.RPAR)}break;case 3:{if(X=new rJ(this,new T2(this,Q,Z)),this.pushNewRecursionContext(X,Y,w.RULE_primary_expression),this.state=732,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=733,this.match(w.LSQB),this.state=734,this.subscript_slice(),this.state=735,this.match(w.RSQB)}break}}this.state=741,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,64,this._ctx)}}}catch(L){if(L instanceof k0)X.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.unrollRecursionContexts(Q)}return X}argument_list(){let U=new jU(this,this._ctx,this.state);this.enterRule(U,160,w.RULE_argument_list);let Q;try{let Z;this.enterOuterAlt(U,1);{this.state=742,this.argument_definition(),this.state=747,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,65,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=743,this.match(w.COMMA),this.state=744,this.argument_definition();this.state=749,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,65,this._ctx)}if(this.state=751,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=750,this.match(w.COMMA)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}argument_definition(){let U=new J8(this,this._ctx,this.state);this.enterRule(U,162,w.RULE_argument_definition);try{this.enterOuterAlt(U,1);{switch(this.state=756,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,67,this._ctx)){case 1:this.state=753,this.name_store(),this.state=754,this.match(w.EQUAL);break}this.state=758,this.expression()}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}subscript_slice(){let U=new K8(this,this._ctx,this.state);this.enterRule(U,164,w.RULE_subscript_slice);let Q;try{let Z;this.enterOuterAlt(U,1);{this.state=760,this.expression(),this.state=765,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,68,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=761,this.match(w.COMMA),this.state=762,this.expression();this.state=767,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,68,this._ctx)}if(this.state=769,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=768,this.match(w.COMMA)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}atomic_expression(){let U=new BU(this,this._ctx,this.state);this.enterRule(U,166,w.RULE_atomic_expression);try{switch(this.state=775,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 17:case 18:case 21:case 22:case 24:case 25:case 63:this.enterOuterAlt(U,1),this.state=771,this.name_load();break;case 12:case 26:case 64:case 65:case 66:this.enterOuterAlt(U,2),this.state=772,this.literal_expression();break;case 30:this.enterOuterAlt(U,3),this.state=773,this.grouped_expression();break;case 32:this.enterOuterAlt(U,4),this.state=774,this.tuple_expression();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}literal_expression(){let U=new NU(this,this._ctx,this.state);this.enterRule(U,168,w.RULE_literal_expression);try{switch(this.state=781,this._errHandler.sync(this),this._input.LA(1)){case 64:this.enterOuterAlt(U,1),this.state=777,this.literal_number();break;case 65:this.enterOuterAlt(U,2),this.state=778,this.literal_string();break;case 12:case 26:this.enterOuterAlt(U,3),this.state=779,this.literal_bool();break;case 66:this.enterOuterAlt(U,4),this.state=780,this.literal_color();break;default:throw new W6(this)}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}literal_number(){let U=new W8(this,this._ctx,this.state);this.enterRule(U,170,w.RULE_literal_number);try{this.enterOuterAlt(U,1),this.state=783,this.match(w.NUMBER)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}literal_string(){let U=new wU(this,this._ctx,this.state);this.enterRule(U,172,w.RULE_literal_string);try{this.enterOuterAlt(U,1),this.state=785,this.match(w.STRING)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}literal_bool(){let U=new yU(this,this._ctx,this.state);this.enterRule(U,174,w.RULE_literal_bool);let Q;try{if(this.enterOuterAlt(U,1),this.state=787,Q=this._input.LA(1),!(Q===12||Q===26))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}literal_color(){let U=new xU(this,this._ctx,this.state);this.enterRule(U,176,w.RULE_literal_color);try{this.enterOuterAlt(U,1),this.state=789,this.match(w.COLOR)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}grouped_expression(){let U=new gU(this,this._ctx,this.state);this.enterRule(U,178,w.RULE_grouped_expression);try{this.enterOuterAlt(U,1),this.state=791,this.match(w.LPAR),this.state=792,this.expression(),this.state=793,this.match(w.RPAR)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}tuple_expression(){let U=new fU(this,this._ctx,this.state);this.enterRule(U,180,w.RULE_tuple_expression);let Q;try{let Z;this.enterOuterAlt(U,1);{if(this.state=795,this.match(w.LSQB),this.state=807,this._errHandler.sync(this),Q=this._input.LA(1),(Q-4&-32)===0&&(1<<Q-4&343335245)!==0||(Q-48&-32)===0&&(1<<Q-48&491569)!==0){this.state=796,this.expression(),this.state=801,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,72,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=797,this.match(w.COMMA),this.state=798,this.expression();this.state=803,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,72,this._ctx)}if(this.state=805,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=804,this.match(w.COMMA)}this.state=809,this.match(w.RSQB)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}import_statement(){let U=new pU(this,this._ctx,this.state);this.enterRule(U,182,w.RULE_import_statement);let Q;try{if(this.enterOuterAlt(U,1),this.state=811,this.match(w.IMPORT),this.state=812,this.name(),this.state=813,this.match(w.SLASH),this.state=814,this.name(),this.state=815,this.match(w.SLASH),this.state=816,this.literal_number(),this.state=819,this._errHandler.sync(this),Q=this._input.LA(1),Q===4)this.state=817,this.match(w.AS),this.state=818,this.name()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}break_statement(){let U=new vU(this,this._ctx,this.state);this.enterRule(U,184,w.RULE_break_statement);try{this.enterOuterAlt(U,1),this.state=821,this.match(w.BREAK)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}continue_statement(){let U=new hU(this,this._ctx,this.state);this.enterRule(U,186,w.RULE_continue_statement);try{this.enterOuterAlt(U,1),this.state=823,this.match(w.CONTINUE)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}variable_declaration(){let U=new O8(this,this._ctx,this.state);this.enterRule(U,188,w.RULE_variable_declaration);let Q;try{this.enterOuterAlt(U,1);{if(this.state=826,this._errHandler.sync(this),Q=this._input.LA(1),Q===27||Q===28)this.state=825,this.declaration_mode();switch(this.state=829,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,77,this._ctx)){case 1:this.state=828,this.type_specification();break}this.state=831,this.name_store()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}tuple_declaration(){let U=new M7(this,this._ctx,this.state);this.enterRule(U,190,w.RULE_tuple_declaration);let Q;try{let Z;this.enterOuterAlt(U,1);{this.state=833,this.match(w.LSQB),this.state=834,this.name_store(),this.state=839,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,78,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=835,this.match(w.COMMA),this.state=836,this.name_store();this.state=841,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,78,this._ctx)}if(this.state=843,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=842,this.match(w.COMMA);this.state=845,this.match(w.RSQB)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}declaration_mode(){let U=new cU(this,this._ctx,this.state);this.enterRule(U,192,w.RULE_declaration_mode);let Q;try{if(this.enterOuterAlt(U,1),this.state=847,Q=this._input.LA(1),!(Q===27||Q===28))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}assignment_target(){let U=new uU(this,this._ctx,this.state);this.enterRule(U,194,w.RULE_assignment_target);try{switch(this.state=853,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,80,this._ctx)){case 1:this.enterOuterAlt(U,1),this.state=849,this.assignment_target_attribute();break;case 2:this.enterOuterAlt(U,2),this.state=850,this.assignment_target_subscript();break;case 3:this.enterOuterAlt(U,3),this.state=851,this.assignment_target_name();break;case 4:this.enterOuterAlt(U,4),this.state=852,this.assignment_target_group();break}}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}assignment_target_attribute(){let U=new bU(this,this._ctx,this.state);this.enterRule(U,196,w.RULE_assignment_target_attribute);try{this.enterOuterAlt(U,1),this.state=855,this.primary_expression(0),this.state=856,this.match(w.DOT),this.state=857,this.name_store()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}assignment_target_subscript(){let U=new lU(this,this._ctx,this.state);this.enterRule(U,198,w.RULE_assignment_target_subscript);try{this.enterOuterAlt(U,1),this.state=859,this.primary_expression(0),this.state=860,this.match(w.LSQB),this.state=861,this.subscript_slice(),this.state=862,this.match(w.RSQB)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}assignment_target_name(){let U=new dU(this,this._ctx,this.state);this.enterRule(U,200,w.RULE_assignment_target_name);try{this.enterOuterAlt(U,1),this.state=864,this.name_store()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}assignment_target_group(){let U=new oU(this,this._ctx,this.state);this.enterRule(U,202,w.RULE_assignment_target_group);try{this.enterOuterAlt(U,1),this.state=866,this.match(w.LPAR),this.state=867,this.assignment_target(),this.state=868,this.match(w.RPAR)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}augassign_op(){let U=new L8(this,this._ctx,this.state);this.enterRule(U,204,w.RULE_augassign_op);let Q;try{if(this.enterOuterAlt(U,1),this.state=870,Q=this._input.LA(1),!((Q-57&-32)===0&&(1<<Q-57&31)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}type_specification(){let U=new X6(this,this._ctx,this.state);this.enterRule(U,206,w.RULE_type_specification);let Q;try{this.enterOuterAlt(U,1);{switch(this.state=873,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,81,this._ctx)){case 1:this.state=872,this.type_qualifier();break}if(this.state=875,this.attributed_type_name(),this.state=877,this._errHandler.sync(this),Q=this._input.LA(1),Q===40)this.state=876,this.template_spec_suffix();if(this.state=880,this._errHandler.sync(this),Q=this._input.LA(1),Q===32)this.state=879,this.array_type_suffix()}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}type_qualifier(){let U=new mU(this,this._ctx,this.state);this.enterRule(U,208,w.RULE_type_qualifier);let Q;try{if(this.enterOuterAlt(U,1),this.state=882,Q=this._input.LA(1),!((Q&-32)===0&&(1<<Q&6422656)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}attributed_type_name(){let U=new rU(this,this._ctx,this.state);this.enterRule(U,210,w.RULE_attributed_type_name);let Q;try{this.enterOuterAlt(U,1);{this.state=884,this.name_load(),this.state=889,this._errHandler.sync(this),Q=this._input.LA(1);while(Q===44)this.state=885,this.match(w.DOT),this.state=886,this.name_load(),this.state=891,this._errHandler.sync(this),Q=this._input.LA(1)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}template_spec_suffix(){let U=new V8(this,this._ctx,this.state);this.enterRule(U,212,w.RULE_template_spec_suffix);let Q;try{this.enterOuterAlt(U,1);{if(this.state=892,this.match(w.LESS),this.state=894,this._errHandler.sync(this),Q=this._input.LA(1),(Q&-32)===0&&(1<<Q&57017552)!==0||Q===63)this.state=893,this.type_argument_list();this.state=896,this.match(w.GREATER)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}array_type_suffix(){let U=new nU(this,this._ctx,this.state);this.enterRule(U,214,w.RULE_array_type_suffix);try{this.enterOuterAlt(U,1),this.state=898,this.match(w.LSQB),this.state=899,this.match(w.RSQB)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}type_argument_list(){let U=new sU(this,this._ctx,this.state);this.enterRule(U,216,w.RULE_type_argument_list);let Q;try{let Z;this.enterOuterAlt(U,1);{this.state=901,this.type_specification(),this.state=906,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,86,this._ctx);while(Z!==2&&Z!==$2.INVALID_ALT_NUMBER){if(Z===1)this.state=902,this.match(w.COMMA),this.state=903,this.type_specification();this.state=908,this._errHandler.sync(this),Z=this._interp.adaptivePredict(this._input,86,this._ctx)}if(this.state=910,this._errHandler.sync(this),Q=this._input.LA(1),Q===45)this.state=909,this.match(w.COMMA)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}name(){let U=new O6(this,this._ctx,this.state);this.enterRule(U,218,w.RULE_name);let Q;try{if(this.enterOuterAlt(U,1),this.state=912,Q=this._input.LA(1),!((Q&-32)===0&&(1<<Q&57017552)!==0||Q===63))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}name_load(){let U=new N4(this,this._ctx,this.state);this.enterRule(U,220,w.RULE_name_load);try{this.enterOuterAlt(U,1),this.state=914,this.name()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}name_store(){let U=new b2(this,this._ctx,this.state);this.enterRule(U,222,w.RULE_name_store);try{this.enterOuterAlt(U,1),this.state=916,this.name()}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}comments(){let U=new iU(this,this._ctx,this.state);this.enterRule(U,224,w.RULE_comments);let Q;try{this.enterOuterAlt(U,1);{this.state=919,this._errHandler.sync(this),Q=this._input.LA(1);do this.state=918,this.comment(),this.state=921,this._errHandler.sync(this),Q=this._input.LA(1);while(Q===69)}}catch(Z){if(Z instanceof k0)U.exception=Z,this._errHandler.reportError(this,Z),this._errHandler.recover(this,Z);else throw Z}finally{this.exitRule()}return U}comment(){let U=new G8(this,this._ctx,this.state);this.enterRule(U,226,w.RULE_comment);try{this.enterOuterAlt(U,1),this.state=923,this.match(w.COMMENT)}catch(Q){if(Q instanceof k0)U.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.exitRule()}return U}sempred(U,Q,Z){switch(Q){case 58:return this.bitwise_or_expression_sempred(U,Z);case 59:return this.bitwise_xor_expression_sempred(U,Z);case 60:return this.bitwise_and_expression_sempred(U,Z);case 71:return this.shift_expression_sempred(U,Z);case 73:return this.additive_expression_sempred(U,Z);case 75:return this.multiplicative_expression_sempred(U,Z);case 79:return this.primary_expression_sempred(U,Z)}return!0}bitwise_or_expression_sempred(U,Q){switch(Q){case 0:return this.precpred(this._ctx,2)}return!0}bitwise_xor_expression_sempred(U,Q){switch(Q){case 1:return this.precpred(this._ctx,2)}return!0}bitwise_and_expression_sempred(U,Q){switch(Q){case 2:return this.precpred(this._ctx,2)}return!0}shift_expression_sempred(U,Q){switch(Q){case 3:return this.precpred(this._ctx,2)}return!0}additive_expression_sempred(U,Q){switch(Q){case 4:return this.precpred(this._ctx,2)}return!0}multiplicative_expression_sempred(U,Q){switch(Q){case 5:return this.precpred(this._ctx,2)}return!0}primary_expression_sempred(U,Q){switch(Q){case 6:return this.precpred(this._ctx,4);case 7:return this.precpred(this._ctx,3);case 8:return this.precpred(this._ctx,2)}return!0}static _serializedATN=[4,1,71,926,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,1,0,1,0,1,1,3,1,232,8,1,1,1,1,1,1,2,1,2,3,2,238,8,2,1,2,1,2,1,3,3,3,243,8,3,1,3,1,3,1,4,4,4,248,8,4,11,4,12,4,249,1,5,1,5,1,5,3,5,255,8,5,1,6,1,6,1,6,1,6,1,6,1,6,3,6,263,8,6,1,7,1,7,1,7,5,7,268,8,7,10,7,12,7,271,9,7,1,7,3,7,274,8,7,1,7,1,7,1,8,1,8,1,8,5,8,281,8,8,10,8,12,8,284,9,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,3,9,294,8,9,1,10,1,10,1,10,3,10,299,8,10,1,11,1,11,3,11,303,8,11,1,12,3,12,306,8,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,3,16,325,8,16,1,16,3,16,328,8,16,1,16,1,16,1,16,3,16,333,8,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,5,17,342,8,17,10,17,12,17,345,9,17,1,17,3,17,348,8,17,1,18,3,18,351,8,18,1,18,1,18,1,18,3,18,356,8,18,1,19,3,19,359,8,19,1,19,1,19,3,19,363,8,19,1,19,1,19,1,19,3,19,368,8,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,5,20,377,8,20,10,20,12,20,380,9,20,1,20,3,20,383,8,20,1,21,1,21,1,21,1,21,3,21,389,8,21,1,22,3,22,392,8,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,4,23,402,8,23,11,23,12,23,403,1,24,3,24,407,8,24,1,24,1,24,1,24,1,24,3,24,413,8,24,1,24,1,24,1,25,3,25,418,8,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,4,26,428,8,26,11,26,12,26,429,1,27,1,27,1,27,3,27,435,8,27,1,27,1,27,1,28,1,28,1,28,1,28,3,28,443,8,28,1,29,1,29,1,30,1,30,1,31,1,31,1,31,1,31,3,31,453,8,31,1,32,1,32,1,32,1,32,1,32,3,32,460,8,32,1,33,1,33,3,33,464,8,33,1,34,1,34,1,34,1,35,1,35,3,35,471,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,481,8,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,3,38,496,8,38,1,39,1,39,1,39,1,39,1,40,1,40,3,40,504,8,40,1,40,1,40,1,40,1,40,1,40,1,41,4,41,512,8,41,11,41,12,41,513,1,41,3,41,517,8,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,44,1,44,3,44,528,8,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,47,1,47,1,47,3,47,540,8,47,1,48,1,48,3,48,544,8,48,1,49,3,49,547,8,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,53,1,53,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,3,55,575,8,55,1,56,1,56,1,56,5,56,580,8,56,10,56,12,56,583,9,56,1,57,1,57,1,57,5,57,588,8,57,10,57,12,57,591,9,57,1,58,1,58,1,58,1,58,1,58,1,58,5,58,599,8,58,10,58,12,58,602,9,58,1,59,1,59,1,59,1,59,1,59,1,59,5,59,610,8,59,10,59,12,59,613,9,59,1,60,1,60,1,60,1,60,1,60,1,60,5,60,621,8,60,10,60,12,60,624,9,60,1,61,1,61,5,61,628,8,61,10,61,12,61,631,9,61,1,62,1,62,3,62,635,8,62,1,63,1,63,1,63,1,64,1,64,1,64,1,65,1,65,5,65,645,8,65,10,65,12,65,648,9,65,1,66,1,66,1,66,1,66,3,66,654,8,66,1,67,1,67,1,67,1,68,1,68,1,68,1,69,1,69,1,69,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,675,8,71,10,71,12,71,678,9,71,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,5,73,689,8,73,10,73,12,73,692,9,73,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,5,75,703,8,75,10,75,12,75,706,9,75,1,76,1,76,1,77,1,77,1,77,1,77,3,77,714,8,77,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,3,79,726,8,79,1,79,1,79,3,79,730,8,79,1,79,1,79,1,79,1,79,1,79,1,79,5,79,738,8,79,10,79,12,79,741,9,79,1,80,1,80,1,80,5,80,746,8,80,10,80,12,80,749,9,80,1,80,3,80,752,8,80,1,81,1,81,1,81,3,81,757,8,81,1,81,1,81,1,82,1,82,1,82,5,82,764,8,82,10,82,12,82,767,9,82,1,82,3,82,770,8,82,1,83,1,83,1,83,1,83,3,83,776,8,83,1,84,1,84,1,84,1,84,3,84,782,8,84,1,85,1,85,1,86,1,86,1,87,1,87,1,88,1,88,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,5,90,800,8,90,10,90,12,90,803,9,90,1,90,3,90,806,8,90,3,90,808,8,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,3,91,820,8,91,1,92,1,92,1,93,1,93,1,94,3,94,827,8,94,1,94,3,94,830,8,94,1,94,1,94,1,95,1,95,1,95,1,95,5,95,838,8,95,10,95,12,95,841,9,95,1,95,3,95,844,8,95,1,95,1,95,1,96,1,96,1,97,1,97,1,97,1,97,3,97,854,8,97,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,101,1,101,1,101,1,101,1,102,1,102,1,103,3,103,874,8,103,1,103,1,103,3,103,878,8,103,1,103,3,103,881,8,103,1,104,1,104,1,105,1,105,1,105,5,105,888,8,105,10,105,12,105,891,9,105,1,106,1,106,3,106,895,8,106,1,106,1,106,1,107,1,107,1,107,1,108,1,108,1,108,5,108,905,8,108,10,108,12,108,908,9,108,1,108,3,108,911,8,108,1,109,1,109,1,110,1,110,1,111,1,111,1,112,4,112,920,8,112,11,112,12,112,921,1,113,1,113,1,113,0,7,116,118,120,142,146,150,158,114,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,0,10,2,0,42,42,62,62,1,0,34,35,1,0,52,53,1,0,54,56,3,0,19,19,48,48,52,53,2,0,12,12,26,26,1,0,27,28,1,0,57,61,3,0,7,7,17,17,21,22,7,0,4,4,6,7,10,10,17,18,21,22,24,25,63,63,922,0,228,1,0,0,0,2,231,1,0,0,0,4,235,1,0,0,0,6,242,1,0,0,0,8,247,1,0,0,0,10,254,1,0,0,0,12,262,1,0,0,0,14,264,1,0,0,0,16,277,1,0,0,0,18,293,1,0,0,0,20,298,1,0,0,0,22,302,1,0,0,0,24,305,1,0,0,0,26,311,1,0,0,0,28,315,1,0,0,0,30,319,1,0,0,0,32,324,1,0,0,0,34,338,1,0,0,0,36,350,1,0,0,0,38,358,1,0,0,0,40,373,1,0,0,0,42,388,1,0,0,0,44,391,1,0,0,0,46,401,1,0,0,0,48,406,1,0,0,0,50,417,1,0,0,0,52,427,1,0,0,0,54,431,1,0,0,0,56,442,1,0,0,0,58,444,1,0,0,0,60,446,1,0,0,0,62,448,1,0,0,0,64,454,1,0,0,0,66,463,1,0,0,0,68,465,1,0,0,0,70,470,1,0,0,0,72,472,1,0,0,0,74,484,1,0,0,0,76,495,1,0,0,0,78,497,1,0,0,0,80,501,1,0,0,0,82,511,1,0,0,0,84,518,1,0,0,0,86,522,1,0,0,0,88,527,1,0,0,0,90,529,1,0,0,0,92,534,1,0,0,0,94,539,1,0,0,0,96,543,1,0,0,0,98,546,1,0,0,0,100,552,1,0,0,0,102,556,1,0,0,0,104,560,1,0,0,0,106,564,1,0,0,0,108,566,1,0,0,0,110,568,1,0,0,0,112,576,1,0,0,0,114,584,1,0,0,0,116,592,1,0,0,0,118,603,1,0,0,0,120,614,1,0,0,0,122,625,1,0,0,0,124,634,1,0,0,0,126,636,1,0,0,0,128,639,1,0,0,0,130,642,1,0,0,0,132,653,1,0,0,0,134,655,1,0,0,0,136,658,1,0,0,0,138,661,1,0,0,0,140,664,1,0,0,0,142,667,1,0,0,0,144,679,1,0,0,0,146,681,1,0,0,0,148,693,1,0,0,0,150,695,1,0,0,0,152,707,1,0,0,0,154,713,1,0,0,0,156,715,1,0,0,0,158,717,1,0,0,0,160,742,1,0,0,0,162,756,1,0,0,0,164,760,1,0,0,0,166,775,1,0,0,0,168,781,1,0,0,0,170,783,1,0,0,0,172,785,1,0,0,0,174,787,1,0,0,0,176,789,1,0,0,0,178,791,1,0,0,0,180,795,1,0,0,0,182,811,1,0,0,0,184,821,1,0,0,0,186,823,1,0,0,0,188,826,1,0,0,0,190,833,1,0,0,0,192,847,1,0,0,0,194,853,1,0,0,0,196,855,1,0,0,0,198,859,1,0,0,0,200,864,1,0,0,0,202,866,1,0,0,0,204,870,1,0,0,0,206,873,1,0,0,0,208,882,1,0,0,0,210,884,1,0,0,0,212,892,1,0,0,0,214,898,1,0,0,0,216,901,1,0,0,0,218,912,1,0,0,0,220,914,1,0,0,0,222,916,1,0,0,0,224,919,1,0,0,0,226,923,1,0,0,0,228,229,3,2,1,0,229,1,1,0,0,0,230,232,3,8,4,0,231,230,1,0,0,0,231,232,1,0,0,0,232,233,1,0,0,0,233,234,5,0,0,1,234,3,1,0,0,0,235,237,3,106,53,0,236,238,5,67,0,0,237,236,1,0,0,0,237,238,1,0,0,0,238,239,1,0,0,0,239,240,5,0,0,1,240,5,1,0,0,0,241,243,3,224,112,0,242,241,1,0,0,0,242,243,1,0,0,0,243,244,1,0,0,0,244,245,5,0,0,1,245,7,1,0,0,0,246,248,3,10,5,0,247,246,1,0,0,0,248,249,1,0,0,0,249,247,1,0,0,0,249,250,1,0,0,0,250,9,1,0,0,0,251,255,3,12,6,0,252,255,3,14,7,0,253,255,3,16,8,0,254,251,1,0,0,0,254,252,1,0,0,0,254,253,1,0,0,0,255,11,1,0,0,0,256,263,3,20,10,0,257,263,3,44,22,0,258,263,3,50,25,0,259,263,3,58,29,0,260,263,3,38,19,0,261,263,3,32,16,0,262,256,1,0,0,0,262,257,1,0,0,0,262,258,1,0,0,0,262,259,1,0,0,0,262,260,1,0,0,0,262,261,1,0,0,0,263,13,1,0,0,0,264,269,3,18,9,0,265,266,5,45,0,0,266,268,3,18,9,0,267,265,1,0,0,0,268,271,1,0,0,0,269,267,1,0,0,0,269,270,1,0,0,0,270,273,1,0,0,0,271,269,1,0,0,0,272,274,5,45,0,0,273,272,1,0,0,0,273,274,1,0,0,0,274,275,1,0,0,0,275,276,5,67,0,0,276,15,1,0,0,0,277,282,3,18,9,0,278,279,5,45,0,0,279,281,3,18,9,0,280,278,1,0,0,0,281,284,1,0,0,0,282,280,1,0,0,0,282,283,1,0,0,0,283,285,1,0,0,0,284,282,1,0,0,0,285,286,5,45,0,0,286,287,3,56,28,0,287,17,1,0,0,0,288,294,3,94,47,0,289,294,3,108,54,0,290,294,3,182,91,0,291,294,3,184,92,0,292,294,3,186,93,0,293,288,1,0,0,0,293,289,1,0,0,0,293,290,1,0,0,0,293,291,1,0,0,0,293,292,1,0,0,0,294,19,1,0,0,0,295,299,3,22,11,0,296,299,3,28,14,0,297,299,3,30,15,0,298,295,1,0,0,0,298,296,1,0,0,0,298,297,1,0,0,0,299,21,1,0,0,0,300,303,3,24,12,0,301,303,3,26,13,0,302,300,1,0,0,0,302,301,1,0,0,0,303,23,1,0,0,0,304,306,5,11,0,0,305,304,1,0,0,0,305,306,1,0,0,0,306,307,1,0,0,0,307,308,3,188,94,0,308,309,5,42,0,0,309,310,3,60,30,0,310,25,1,0,0,0,311,312,3,190,95,0,312,313,5,42,0,0,313,314,3,60,30,0,314,27,1,0,0,0,315,316,3,158,79,0,316,317,5,62,0,0,317,318,3,60,30,0,318,29,1,0,0,0,319,320,3,158,79,0,320,321,3,204,102,0,321,322,3,60,30,0,322,31,1,0,0,0,323,325,5,11,0,0,324,323,1,0,0,0,324,325,1,0,0,0,325,327,1,0,0,0,326,328,3,206,103,0,327,326,1,0,0,0,327,328,1,0,0,0,328,329,1,0,0,0,329,330,3,218,109,0,330,332,5,30,0,0,331,333,3,34,17,0,332,331,1,0,0,0,332,333,1,0,0,0,333,334,1,0,0,0,334,335,5,31,0,0,335,336,5,43,0,0,336,337,3,88,44,0,337,33,1,0,0,0,338,343,3,36,18,0,339,340,5,45,0,0,340,342,3,36,18,0,341,339,1,0,0,0,342,345,1,0,0,0,343,341,1,0,0,0,343,344,1,0,0,0,344,347,1,0,0,0,345,343,1,0,0,0,346,348,5,45,0,0,347,346,1,0,0,0,347,348,1,0,0,0,348,35,1,0,0,0,349,351,3,206,103,0,350,349,1,0,0,0,350,351,1,0,0,0,351,352,1,0,0,0,352,355,3,222,111,0,353,354,5,42,0,0,354,356,3,106,53,0,355,353,1,0,0,0,355,356,1,0,0,0,356,37,1,0,0,0,357,359,5,11,0,0,358,357,1,0,0,0,358,359,1,0,0,0,359,360,1,0,0,0,360,362,5,18,0,0,361,363,3,206,103,0,362,361,1,0,0,0,362,363,1,0,0,0,363,364,1,0,0,0,364,365,3,218,109,0,365,367,5,30,0,0,366,368,3,40,20,0,367,366,1,0,0,0,367,368,1,0,0,0,368,369,1,0,0,0,369,370,5,31,0,0,370,371,5,43,0,0,371,372,3,88,44,0,372,39,1,0,0,0,373,378,3,42,21,0,374,375,5,45,0,0,375,377,3,42,21,0,376,374,1,0,0,0,377,380,1,0,0,0,378,376,1,0,0,0,378,379,1,0,0,0,379,382,1,0,0,0,380,378,1,0,0,0,381,383,5,45,0,0,382,381,1,0,0,0,382,383,1,0,0,0,383,41,1,0,0,0,384,385,3,206,103,0,385,386,3,222,111,0,386,389,1,0,0,0,387,389,3,36,18,0,388,384,1,0,0,0,388,387,1,0,0,0,389,43,1,0,0,0,390,392,5,11,0,0,391,390,1,0,0,0,391,392,1,0,0,0,392,393,1,0,0,0,393,394,5,25,0,0,394,395,3,218,109,0,395,396,5,67,0,0,396,397,5,1,0,0,397,398,3,46,23,0,398,399,5,2,0,0,399,45,1,0,0,0,400,402,3,48,24,0,401,400,1,0,0,0,402,403,1,0,0,0,403,401,1,0,0,0,403,404,1,0,0,0,404,47,1,0,0,0,405,407,5,28,0,0,406,405,1,0,0,0,406,407,1,0,0,0,407,408,1,0,0,0,408,409,3,206,103,0,409,412,3,222,111,0,410,411,5,42,0,0,411,413,3,106,53,0,412,410,1,0,0,0,412,413,1,0,0,0,413,414,1,0,0,0,414,415,5,67,0,0,415,49,1,0,0,0,416,418,5,11,0,0,417,416,1,0,0,0,417,418,1,0,0,0,418,419,1,0,0,0,419,420,5,10,0,0,420,421,3,218,109,0,421,422,5,67,0,0,422,423,5,1,0,0,423,424,3,52,26,0,424,425,5,2,0,0,425,51,1,0,0,0,426,428,3,54,27,0,427,426,1,0,0,0,428,429,1,0,0,0,429,427,1,0,0,0,429,430,1,0,0,0,430,53,1,0,0,0,431,434,3,222,111,0,432,433,5,42,0,0,433,435,3,106,53,0,434,432,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,437,5,67,0,0,437,55,1,0,0,0,438,443,3,62,31,0,439,443,3,70,35,0,440,443,3,78,39,0,441,443,3,80,40,0,442,438,1,0,0,0,442,439,1,0,0,0,442,440,1,0,0,0,442,441,1,0,0,0,443,57,1,0,0,0,444,445,3,56,28,0,445,59,1,0,0,0,446,447,3,56,28,0,447,61,1,0,0,0,448,449,5,14,0,0,449,450,3,106,53,0,450,452,3,88,44,0,451,453,3,66,33,0,452,451,1,0,0,0,452,453,1,0,0,0,453,63,1,0,0,0,454,455,5,9,0,0,455,456,5,14,0,0,456,457,3,106,53,0,457,459,3,88,44,0,458,460,3,66,33,0,459,458,1,0,0,0,459,460,1,0,0,0,460,65,1,0,0,0,461,464,3,64,32,0,462,464,3,68,34,0,463,461,1,0,0,0,463,462,1,0,0,0,464,67,1,0,0,0,465,466,5,9,0,0,466,467,3,88,44,0,467,69,1,0,0,0,468,471,3,72,36,0,469,471,3,74,37,0,470,468,1,0,0,0,470,469,1,0,0,0,471,71,1,0,0,0,472,473,5,13,0,0,473,474,3,76,38,0,474,475,5,42,0,0,475,476,3,106,53,0,476,477,5,24,0,0,477,480,3,106,53,0,478,479,5,6,0,0,479,481,3,106,53,0,480,478,1,0,0,0,480,481,1,0,0,0,481,482,1,0,0,0,482,483,3,88,44,0,483,73,1,0,0,0,484,485,5,13,0,0,485,486,3,76,38,0,486,487,5,16,0,0,487,488,3,106,53,0,488,489,3,88,44,0,489,75,1,0,0,0,490,491,3,206,103,0,491,492,3,222,111,0,492,496,1,0,0,0,493,496,3,222,111,0,494,496,3,190,95,0,495,490,1,0,0,0,495,493,1,0,0,0,495,494,1,0,0,0,496,77,1,0,0,0,497,498,5,29,0,0,498,499,3,106,53,0,499,500,3,88,44,0,500,79,1,0,0,0,501,503,5,23,0,0,502,504,3,106,53,0,503,502,1,0,0,0,503,504,1,0,0,0,504,505,1,0,0,0,505,506,5,67,0,0,506,507,5,1,0,0,507,508,3,82,41,0,508,509,5,2,0,0,509,81,1,0,0,0,510,512,3,84,42,0,511,510,1,0,0,0,512,513,1,0,0,0,513,511,1,0,0,0,513,514,1,0,0,0,514,516,1,0,0,0,515,517,3,86,43,0,516,515,1,0,0,0,516,517,1,0,0,0,517,83,1,0,0,0,518,519,3,106,53,0,519,520,5,43,0,0,520,521,3,88,44,0,521,85,1,0,0,0,522,523,5,43,0,0,523,524,3,88,44,0,524,87,1,0,0,0,525,528,3,90,45,0,526,528,3,92,46,0,527,525,1,0,0,0,527,526,1,0,0,0,528,89,1,0,0,0,529,530,5,67,0,0,530,531,5,1,0,0,531,532,3,8,4,0,532,533,5,2,0,0,533,91,1,0,0,0,534,535,3,10,5,0,535,93,1,0,0,0,536,540,3,96,48,0,537,540,3,102,51,0,538,540,3,104,52,0,539,536,1,0,0,0,539,537,1,0,0,0,539,538,1,0,0,0,540,95,1,0,0,0,541,544,3,98,49,0,542,544,3,100,50,0,543,541,1,0,0,0,543,542,1,0,0,0,544,97,1,0,0,0,545,547,5,11,0,0,546,545,1,0,0,0,546,547,1,0,0,0,547,548,1,0,0,0,548,549,3,188,94,0,549,550,5,42,0,0,550,551,3,106,53,0,551,99,1,0,0,0,552,553,3,190,95,0,553,554,5,42,0,0,554,555,3,106,53,0,555,101,1,0,0,0,556,557,3,158,79,0,557,558,7,0,0,0,558,559,3,106,53,0,559,103,1,0,0,0,560,561,3,158,79,0,561,562,3,204,102,0,562,563,3,106,53,0,563,105,1,0,0,0,564,565,3,110,55,0,565,107,1,0,0,0,566,567,3,106,53,0,567,109,1,0,0,0,568,574,3,112,56,0,569,570,5,47,0,0,570,571,3,106,53,0,571,572,5,46,0,0,572,573,3,106,53,0,573,575,1,0,0,0,574,569,1,0,0,0,574,575,1,0,0,0,575,111,1,0,0,0,576,581,3,114,57,0,577,578,5,20,0,0,578,580,3,114,57,0,579,577,1,0,0,0,580,583,1,0,0,0,581,579,1,0,0,0,581,582,1,0,0,0,582,113,1,0,0,0,583,581,1,0,0,0,584,589,3,116,58,0,585,586,5,3,0,0,586,588,3,116,58,0,587,585,1,0,0,0,588,591,1,0,0,0,589,587,1,0,0,0,589,590,1,0,0,0,590,115,1,0,0,0,591,589,1,0,0,0,592,593,6,58,-1,0,593,594,3,118,59,0,594,600,1,0,0,0,595,596,10,2,0,0,596,597,5,50,0,0,597,599,3,118,59,0,598,595,1,0,0,0,599,602,1,0,0,0,600,598,1,0,0,0,600,601,1,0,0,0,601,117,1,0,0,0,602,600,1,0,0,0,603,604,6,59,-1,0,604,605,3,120,60,0,605,611,1,0,0,0,606,607,10,2,0,0,607,608,5,51,0,0,608,610,3,120,60,0,609,606,1,0,0,0,610,613,1,0,0,0,611,609,1,0,0,0,611,612,1,0,0,0,612,119,1,0,0,0,613,611,1,0,0,0,614,615,6,60,-1,0,615,616,3,122,61,0,616,622,1,0,0,0,617,618,10,2,0,0,618,619,5,49,0,0,619,621,3,122,61,0,620,617,1,0,0,0,621,624,1,0,0,0,622,620,1,0,0,0,622,623,1,0,0,0,623,121,1,0,0,0,624,622,1,0,0,0,625,629,3,130,65,0,626,628,3,124,62,0,627,626,1,0,0,0,628,631,1,0,0,0,629,627,1,0,0,0,629,630,1,0,0,0,630,123,1,0,0,0,631,629,1,0,0,0,632,635,3,126,63,0,633,635,3,128,64,0,634,632,1,0,0,0,634,633,1,0,0,0,635,125,1,0,0,0,636,637,5,38,0,0,637,638,3,130,65,0,638,127,1,0,0,0,639,640,5,39,0,0,640,641,3,130,65,0,641,129,1,0,0,0,642,646,3,142,71,0,643,645,3,132,66,0,644,643,1,0,0,0,645,648,1,0,0,0,646,644,1,0,0,0,646,647,1,0,0,0,647,131,1,0,0,0,648,646,1,0,0,0,649,654,3,134,67,0,650,654,3,136,68,0,651,654,3,138,69,0,652,654,3,140,70,0,653,649,1,0,0,0,653,650,1,0,0,0,653,651,1,0,0,0,653,652,1,0,0,0,654,133,1,0,0,0,655,656,5,36,0,0,656,657,3,142,71,0,657,135,1,0,0,0,658,659,5,40,0,0,659,660,3,142,71,0,660,137,1,0,0,0,661,662,5,37,0,0,662,663,3,142,71,0,663,139,1,0,0,0,664,665,5,41,0,0,665,666,3,142,71,0,666,141,1,0,0,0,667,668,6,71,-1,0,668,669,3,146,73,0,669,676,1,0,0,0,670,671,10,2,0,0,671,672,3,144,72,0,672,673,3,146,73,0,673,675,1,0,0,0,674,670,1,0,0,0,675,678,1,0,0,0,676,674,1,0,0,0,676,677,1,0,0,0,677,143,1,0,0,0,678,676,1,0,0,0,679,680,7,1,0,0,680,145,1,0,0,0,681,682,6,73,-1,0,682,683,3,150,75,0,683,690,1,0,0,0,684,685,10,2,0,0,685,686,3,148,74,0,686,687,3,150,75,0,687,689,1,0,0,0,688,684,1,0,0,0,689,692,1,0,0,0,690,688,1,0,0,0,690,691,1,0,0,0,691,147,1,0,0,0,692,690,1,0,0,0,693,694,7,2,0,0,694,149,1,0,0,0,695,696,6,75,-1,0,696,697,3,154,77,0,697,704,1,0,0,0,698,699,10,2,0,0,699,700,3,152,76,0,700,701,3,154,77,0,701,703,1,0,0,0,702,698,1,0,0,0,703,706,1,0,0,0,704,702,1,0,0,0,704,705,1,0,0,0,705,151,1,0,0,0,706,704,1,0,0,0,707,708,7,3,0,0,708,153,1,0,0,0,709,710,3,156,78,0,710,711,3,154,77,0,711,714,1,0,0,0,712,714,3,158,79,0,713,709,1,0,0,0,713,712,1,0,0,0,714,155,1,0,0,0,715,716,7,4,0,0,716,157,1,0,0,0,717,718,6,79,-1,0,718,719,3,166,83,0,719,739,1,0,0,0,720,721,10,4,0,0,721,722,5,44,0,0,722,738,3,220,110,0,723,725,10,3,0,0,724,726,3,212,106,0,725,724,1,0,0,0,725,726,1,0,0,0,726,727,1,0,0,0,727,729,5,30,0,0,728,730,3,160,80,0,729,728,1,0,0,0,729,730,1,0,0,0,730,731,1,0,0,0,731,738,5,31,0,0,732,733,10,2,0,0,733,734,5,32,0,0,734,735,3,164,82,0,735,736,5,33,0,0,736,738,1,0,0,0,737,720,1,0,0,0,737,723,1,0,0,0,737,732,1,0,0,0,738,741,1,0,0,0,739,737,1,0,0,0,739,740,1,0,0,0,740,159,1,0,0,0,741,739,1,0,0,0,742,747,3,162,81,0,743,744,5,45,0,0,744,746,3,162,81,0,745,743,1,0,0,0,746,749,1,0,0,0,747,745,1,0,0,0,747,748,1,0,0,0,748,751,1,0,0,0,749,747,1,0,0,0,750,752,5,45,0,0,751,750,1,0,0,0,751,752,1,0,0,0,752,161,1,0,0,0,753,754,3,222,111,0,754,755,5,42,0,0,755,757,1,0,0,0,756,753,1,0,0,0,756,757,1,0,0,0,757,758,1,0,0,0,758,759,3,106,53,0,759,163,1,0,0,0,760,765,3,106,53,0,761,762,5,45,0,0,762,764,3,106,53,0,763,761,1,0,0,0,764,767,1,0,0,0,765,763,1,0,0,0,765,766,1,0,0,0,766,769,1,0,0,0,767,765,1,0,0,0,768,770,5,45,0,0,769,768,1,0,0,0,769,770,1,0,0,0,770,165,1,0,0,0,771,776,3,220,110,0,772,776,3,168,84,0,773,776,3,178,89,0,774,776,3,180,90,0,775,771,1,0,0,0,775,772,1,0,0,0,775,773,1,0,0,0,775,774,1,0,0,0,776,167,1,0,0,0,777,782,3,170,85,0,778,782,3,172,86,0,779,782,3,174,87,0,780,782,3,176,88,0,781,777,1,0,0,0,781,778,1,0,0,0,781,779,1,0,0,0,781,780,1,0,0,0,782,169,1,0,0,0,783,784,5,64,0,0,784,171,1,0,0,0,785,786,5,65,0,0,786,173,1,0,0,0,787,788,7,5,0,0,788,175,1,0,0,0,789,790,5,66,0,0,790,177,1,0,0,0,791,792,5,30,0,0,792,793,3,106,53,0,793,794,5,31,0,0,794,179,1,0,0,0,795,807,5,32,0,0,796,801,3,106,53,0,797,798,5,45,0,0,798,800,3,106,53,0,799,797,1,0,0,0,800,803,1,0,0,0,801,799,1,0,0,0,801,802,1,0,0,0,802,805,1,0,0,0,803,801,1,0,0,0,804,806,5,45,0,0,805,804,1,0,0,0,805,806,1,0,0,0,806,808,1,0,0,0,807,796,1,0,0,0,807,808,1,0,0,0,808,809,1,0,0,0,809,810,5,33,0,0,810,181,1,0,0,0,811,812,5,15,0,0,812,813,3,218,109,0,813,814,5,55,0,0,814,815,3,218,109,0,815,816,5,55,0,0,816,819,3,170,85,0,817,818,5,4,0,0,818,820,3,218,109,0,819,817,1,0,0,0,819,820,1,0,0,0,820,183,1,0,0,0,821,822,5,5,0,0,822,185,1,0,0,0,823,824,5,8,0,0,824,187,1,0,0,0,825,827,3,192,96,0,826,825,1,0,0,0,826,827,1,0,0,0,827,829,1,0,0,0,828,830,3,206,103,0,829,828,1,0,0,0,829,830,1,0,0,0,830,831,1,0,0,0,831,832,3,222,111,0,832,189,1,0,0,0,833,834,5,32,0,0,834,839,3,222,111,0,835,836,5,45,0,0,836,838,3,222,111,0,837,835,1,0,0,0,838,841,1,0,0,0,839,837,1,0,0,0,839,840,1,0,0,0,840,843,1,0,0,0,841,839,1,0,0,0,842,844,5,45,0,0,843,842,1,0,0,0,843,844,1,0,0,0,844,845,1,0,0,0,845,846,5,33,0,0,846,191,1,0,0,0,847,848,7,6,0,0,848,193,1,0,0,0,849,854,3,196,98,0,850,854,3,198,99,0,851,854,3,200,100,0,852,854,3,202,101,0,853,849,1,0,0,0,853,850,1,0,0,0,853,851,1,0,0,0,853,852,1,0,0,0,854,195,1,0,0,0,855,856,3,158,79,0,856,857,5,44,0,0,857,858,3,222,111,0,858,197,1,0,0,0,859,860,3,158,79,0,860,861,5,32,0,0,861,862,3,164,82,0,862,863,5,33,0,0,863,199,1,0,0,0,864,865,3,222,111,0,865,201,1,0,0,0,866,867,5,30,0,0,867,868,3,194,97,0,868,869,5,31,0,0,869,203,1,0,0,0,870,871,7,7,0,0,871,205,1,0,0,0,872,874,3,208,104,0,873,872,1,0,0,0,873,874,1,0,0,0,874,875,1,0,0,0,875,877,3,210,105,0,876,878,3,212,106,0,877,876,1,0,0,0,877,878,1,0,0,0,878,880,1,0,0,0,879,881,3,214,107,0,880,879,1,0,0,0,880,881,1,0,0,0,881,207,1,0,0,0,882,883,7,8,0,0,883,209,1,0,0,0,884,889,3,220,110,0,885,886,5,44,0,0,886,888,3,220,110,0,887,885,1,0,0,0,888,891,1,0,0,0,889,887,1,0,0,0,889,890,1,0,0,0,890,211,1,0,0,0,891,889,1,0,0,0,892,894,5,40,0,0,893,895,3,216,108,0,894,893,1,0,0,0,894,895,1,0,0,0,895,896,1,0,0,0,896,897,5,41,0,0,897,213,1,0,0,0,898,899,5,32,0,0,899,900,5,33,0,0,900,215,1,0,0,0,901,906,3,206,103,0,902,903,5,45,0,0,903,905,3,206,103,0,904,902,1,0,0,0,905,908,1,0,0,0,906,904,1,0,0,0,906,907,1,0,0,0,907,910,1,0,0,0,908,906,1,0,0,0,909,911,5,45,0,0,910,909,1,0,0,0,910,911,1,0,0,0,911,217,1,0,0,0,912,913,7,9,0,0,913,219,1,0,0,0,914,915,3,218,109,0,915,221,1,0,0,0,916,917,3,218,109,0,917,223,1,0,0,0,918,920,3,226,113,0,919,918,1,0,0,0,920,921,1,0,0,0,921,919,1,0,0,0,921,922,1,0,0,0,922,225,1,0,0,0,923,924,5,69,0,0,924,227,1,0,0,0,89,231,237,242,249,254,262,269,273,282,293,298,302,305,324,327,332,343,347,350,355,358,362,367,378,382,388,391,403,406,412,417,429,434,442,452,459,463,470,480,495,503,513,516,527,539,543,546,574,581,589,600,611,622,629,634,646,653,676,690,704,713,725,729,737,739,747,751,756,765,769,775,781,801,805,807,819,826,829,839,843,853,873,877,880,889,894,906,910,921];static __ATN;static get _ATN(){if(!w.__ATN)w.__ATN=new l5().deserialize(w._serializedATN);return w.__ATN}static DecisionsToDFA=w._ATN.decisionToState.map((U,Q)=>new d5(U,Q))}class uJ extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}start_script(){return this.getTypedRuleContext(w3,0)}get ruleIndex(){return w.RULE_start}accept(U){if(U.visitStart)return U.visitStart(this);else return U.visitChildren(this)}}class w3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}EOF(){return this.getToken(w.EOF,0)}statements(){return this.getTypedRuleContext(I8,0)}get ruleIndex(){return w.RULE_start_script}accept(U){if(U.visitStart_script)return U.visitStart_script(this);else return U.visitChildren(this)}}class bJ extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}expression(){return this.getTypedRuleContext(E1,0)}EOF(){return this.getToken(w.EOF,0)}NEWLINE(){return this.getToken(w.NEWLINE,0)}get ruleIndex(){return w.RULE_start_expression}accept(U){if(U.visitStart_expression)return U.visitStart_expression(this);else return U.visitChildren(this)}}class lJ extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}EOF(){return this.getToken(w.EOF,0)}comments(){return this.getTypedRuleContext(iU,0)}get ruleIndex(){return w.RULE_start_comments}accept(U){if(U.visitStart_comments)return U.visitStart_comments(this);else return U.visitChildren(this)}}class I8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}statement_list(){return this.getTypedRuleContexts(L7)}statement(U){return this.getTypedRuleContext(L7,U)}get ruleIndex(){return w.RULE_statements}accept(U){if(U.visitStatements)return U.visitStatements(this);else return U.visitChildren(this)}}class L7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}compound_statement(){return this.getTypedRuleContext(y3,0)}simple_statements(){return this.getTypedRuleContext(x3,0)}trailing_structure_statements(){return this.getTypedRuleContext(g3,0)}get ruleIndex(){return w.RULE_statement}accept(U){if(U.visitStatement)return U.visitStatement(this);else return U.visitChildren(this)}}class y3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}compound_assignment(){return this.getTypedRuleContext(f3,0)}type_declaration(){return this.getTypedRuleContext(m3,0)}enum_declaration(){return this.getTypedRuleContext(n3,0)}structure_statement(){return this.getTypedRuleContext(i3,0)}method_declaration(){return this.getTypedRuleContext(d3,0)}function_declaration(){return this.getTypedRuleContext(b3,0)}get ruleIndex(){return w.RULE_compound_statement}accept(U){if(U.visitCompound_statement)return U.visitCompound_statement(this);else return U.visitChildren(this)}}class x3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}simple_statement_list(){return this.getTypedRuleContexts(j4)}simple_statement(U){return this.getTypedRuleContext(j4,U)}NEWLINE(){return this.getToken(w.NEWLINE,0)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_simple_statements}accept(U){if(U.visitSimple_statements)return U.visitSimple_statements(this);else return U.visitChildren(this)}}class g3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}simple_statement_list(){return this.getTypedRuleContexts(j4)}simple_statement(U){return this.getTypedRuleContext(j4,U)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}structure(){return this.getTypedRuleContext(z7,0)}get ruleIndex(){return w.RULE_trailing_structure_statements}accept(U){if(U.visitTrailing_structure_statements)return U.visitTrailing_structure_statements(this);else return U.visitChildren(this)}}class j4 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}simple_assignment(){return this.getTypedRuleContext(TU,0)}expression_statement(){return this.getTypedRuleContext(DU,0)}import_statement(){return this.getTypedRuleContext(pU,0)}break_statement(){return this.getTypedRuleContext(vU,0)}continue_statement(){return this.getTypedRuleContext(hU,0)}get ruleIndex(){return w.RULE_simple_statement}accept(U){if(U.visitSimple_statement)return U.visitSimple_statement(this);else return U.visitChildren(this)}}class f3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}compound_variable_initialization(){return this.getTypedRuleContext(p3,0)}compound_reassignment(){return this.getTypedRuleContext(c3,0)}compound_augassignment(){return this.getTypedRuleContext(u3,0)}get ruleIndex(){return w.RULE_compound_assignment}accept(U){if(U.visitCompound_assignment)return U.visitCompound_assignment(this);else return U.visitChildren(this)}}class p3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}compound_name_initialization(){return this.getTypedRuleContext(v3,0)}compound_tuple_initialization(){return this.getTypedRuleContext(h3,0)}get ruleIndex(){return w.RULE_compound_variable_initialization}accept(U){if(U.visitCompound_variable_initialization)return U.visitCompound_variable_initialization(this);else return U.visitChildren(this)}}class v3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}variable_declaration(){return this.getTypedRuleContext(O8,0)}EQUAL(){return this.getToken(w.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(w4,0)}EXPORT(){return this.getToken(w.EXPORT,0)}get ruleIndex(){return w.RULE_compound_name_initialization}accept(U){if(U.visitCompound_name_initialization)return U.visitCompound_name_initialization(this);else return U.visitChildren(this)}}class h3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}tuple_declaration(){return this.getTypedRuleContext(M7,0)}EQUAL(){return this.getToken(w.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(w4,0)}get ruleIndex(){return w.RULE_compound_tuple_initialization}accept(U){if(U.visitCompound_tuple_initialization)return U.visitCompound_tuple_initialization(this);else return U.visitChildren(this)}}class c3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}primary_expression(){return this.getTypedRuleContext(T2,0)}COLONEQUAL(){return this.getToken(w.COLONEQUAL,0)}structure_expression(){return this.getTypedRuleContext(w4,0)}get ruleIndex(){return w.RULE_compound_reassignment}accept(U){if(U.visitCompound_reassignment)return U.visitCompound_reassignment(this);else return U.visitChildren(this)}}class u3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}primary_expression(){return this.getTypedRuleContext(T2,0)}augassign_op(){return this.getTypedRuleContext(L8,0)}structure_expression(){return this.getTypedRuleContext(w4,0)}get ruleIndex(){return w.RULE_compound_augassignment}accept(U){if(U.visitCompound_augassignment)return U.visitCompound_augassignment(this);else return U.visitChildren(this)}}class b3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name(){return this.getTypedRuleContext(O6,0)}LPAR(){return this.getToken(w.LPAR,0)}RPAR(){return this.getToken(w.RPAR,0)}RARROW(){return this.getToken(w.RARROW,0)}local_block(){return this.getTypedRuleContext(s2,0)}EXPORT(){return this.getToken(w.EXPORT,0)}type_specification(){return this.getTypedRuleContext(X6,0)}parameter_list(){return this.getTypedRuleContext(l3,0)}get ruleIndex(){return w.RULE_function_declaration}accept(U){if(U.visitFunction_declaration)return U.visitFunction_declaration(this);else return U.visitChildren(this)}}class l3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}parameter_definition_list(){return this.getTypedRuleContexts(V7)}parameter_definition(U){return this.getTypedRuleContext(V7,U)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_parameter_list}accept(U){if(U.visitParameter_list)return U.visitParameter_list(this);else return U.visitChildren(this)}}class V7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name_store(){return this.getTypedRuleContext(b2,0)}type_specification(){return this.getTypedRuleContext(X6,0)}EQUAL(){return this.getToken(w.EQUAL,0)}expression(){return this.getTypedRuleContext(E1,0)}get ruleIndex(){return w.RULE_parameter_definition}accept(U){if(U.visitParameter_definition)return U.visitParameter_definition(this);else return U.visitChildren(this)}}class d3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}METHOD(){return this.getToken(w.METHOD,0)}name(){return this.getTypedRuleContext(O6,0)}LPAR(){return this.getToken(w.LPAR,0)}RPAR(){return this.getToken(w.RPAR,0)}RARROW(){return this.getToken(w.RARROW,0)}local_block(){return this.getTypedRuleContext(s2,0)}EXPORT(){return this.getToken(w.EXPORT,0)}type_specification(){return this.getTypedRuleContext(X6,0)}method_parameter_list(){return this.getTypedRuleContext(o3,0)}get ruleIndex(){return w.RULE_method_declaration}accept(U){if(U.visitMethod_declaration)return U.visitMethod_declaration(this);else return U.visitChildren(this)}}class o3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}method_parameter_definition_list(){return this.getTypedRuleContexts(a5)}method_parameter_definition(U){return this.getTypedRuleContext(a5,U)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_method_parameter_list}accept(U){if(U.visitMethod_parameter_list)return U.visitMethod_parameter_list(this);else return U.visitChildren(this)}}class a5 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}type_specification(){return this.getTypedRuleContext(X6,0)}name_store(){return this.getTypedRuleContext(b2,0)}parameter_definition(){return this.getTypedRuleContext(V7,0)}get ruleIndex(){return w.RULE_method_parameter_definition}accept(U){if(U.visitMethod_parameter_definition)return U.visitMethod_parameter_definition(this);else return U.visitChildren(this)}}class m3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}TYPE(){return this.getToken(w.TYPE,0)}name(){return this.getTypedRuleContext(O6,0)}NEWLINE(){return this.getToken(w.NEWLINE,0)}INDENT(){return this.getToken(w.INDENT,0)}field_definitions(){return this.getTypedRuleContext(r3,0)}DEDENT(){return this.getToken(w.DEDENT,0)}EXPORT(){return this.getToken(w.EXPORT,0)}get ruleIndex(){return w.RULE_type_declaration}accept(U){if(U.visitType_declaration)return U.visitType_declaration(this);else return U.visitChildren(this)}}class r3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}field_definition_list(){return this.getTypedRuleContexts(t5)}field_definition(U){return this.getTypedRuleContext(t5,U)}get ruleIndex(){return w.RULE_field_definitions}accept(U){if(U.visitField_definitions)return U.visitField_definitions(this);else return U.visitChildren(this)}}class t5 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}type_specification(){return this.getTypedRuleContext(X6,0)}name_store(){return this.getTypedRuleContext(b2,0)}NEWLINE(){return this.getToken(w.NEWLINE,0)}VARIP(){return this.getToken(w.VARIP,0)}EQUAL(){return this.getToken(w.EQUAL,0)}expression(){return this.getTypedRuleContext(E1,0)}get ruleIndex(){return w.RULE_field_definition}accept(U){if(U.visitField_definition)return U.visitField_definition(this);else return U.visitChildren(this)}}class n3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}ENUM(){return this.getToken(w.ENUM,0)}name(){return this.getTypedRuleContext(O6,0)}NEWLINE(){return this.getToken(w.NEWLINE,0)}INDENT(){return this.getToken(w.INDENT,0)}enum_definitions(){return this.getTypedRuleContext(s3,0)}DEDENT(){return this.getToken(w.DEDENT,0)}EXPORT(){return this.getToken(w.EXPORT,0)}get ruleIndex(){return w.RULE_enum_declaration}accept(U){if(U.visitEnum_declaration)return U.visitEnum_declaration(this);else return U.visitChildren(this)}}class s3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}enum_definition_list(){return this.getTypedRuleContexts(e5)}enum_definition(U){return this.getTypedRuleContext(e5,U)}get ruleIndex(){return w.RULE_enum_definitions}accept(U){if(U.visitEnum_definitions)return U.visitEnum_definitions(this);else return U.visitChildren(this)}}class e5 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name_store(){return this.getTypedRuleContext(b2,0)}NEWLINE(){return this.getToken(w.NEWLINE,0)}EQUAL(){return this.getToken(w.EQUAL,0)}expression(){return this.getTypedRuleContext(E1,0)}get ruleIndex(){return w.RULE_enum_definition}accept(U){if(U.visitEnum_definition)return U.visitEnum_definition(this);else return U.visitChildren(this)}}class z7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}if_structure(){return this.getTypedRuleContext(a3,0)}for_structure(){return this.getTypedRuleContext(UU,0)}while_structure(){return this.getTypedRuleContext(XU,0)}switch_structure(){return this.getTypedRuleContext(JU,0)}get ruleIndex(){return w.RULE_structure}accept(U){if(U.visitStructure)return U.visitStructure(this);else return U.visitChildren(this)}}class i3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}structure(){return this.getTypedRuleContext(z7,0)}get ruleIndex(){return w.RULE_structure_statement}accept(U){if(U.visitStructure_statement)return U.visitStructure_statement(this);else return U.visitChildren(this)}}class w4 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}structure(){return this.getTypedRuleContext(z7,0)}get ruleIndex(){return w.RULE_structure_expression}accept(U){if(U.visitStructure_expression)return U.visitStructure_expression(this);else return U.visitChildren(this)}}class a3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}IF(){return this.getToken(w.IF,0)}expression(){return this.getTypedRuleContext(E1,0)}local_block(){return this.getTypedRuleContext(s2,0)}if_tail(){return this.getTypedRuleContext($8,0)}get ruleIndex(){return w.RULE_if_structure}accept(U){if(U.visitIf_structure)return U.visitIf_structure(this);else return U.visitChildren(this)}}class t3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}ELSE(){return this.getToken(w.ELSE,0)}IF(){return this.getToken(w.IF,0)}expression(){return this.getTypedRuleContext(E1,0)}local_block(){return this.getTypedRuleContext(s2,0)}if_tail(){return this.getTypedRuleContext($8,0)}get ruleIndex(){return w.RULE_elif_structure}accept(U){if(U.visitElif_structure)return U.visitElif_structure(this);else return U.visitChildren(this)}}class $8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}elif_structure(){return this.getTypedRuleContext(t3,0)}else_block(){return this.getTypedRuleContext(e3,0)}get ruleIndex(){return w.RULE_if_tail}accept(U){if(U.visitIf_tail)return U.visitIf_tail(this);else return U.visitChildren(this)}}class e3 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}ELSE(){return this.getToken(w.ELSE,0)}local_block(){return this.getTypedRuleContext(s2,0)}get ruleIndex(){return w.RULE_else_block}accept(U){if(U.visitElse_block)return U.visitElse_block(this);else return U.visitChildren(this)}}class UU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}for_structure_to(){return this.getTypedRuleContext(QU,0)}for_structure_in(){return this.getTypedRuleContext(ZU,0)}get ruleIndex(){return w.RULE_for_structure}accept(U){if(U.visitFor_structure)return U.visitFor_structure(this);else return U.visitChildren(this)}}class QU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}FOR(){return this.getToken(w.FOR,0)}for_iterator(){return this.getTypedRuleContext(Y8,0)}EQUAL(){return this.getToken(w.EQUAL,0)}expression_list(){return this.getTypedRuleContexts(E1)}expression(U){return this.getTypedRuleContext(E1,U)}TO(){return this.getToken(w.TO,0)}local_block(){return this.getTypedRuleContext(s2,0)}BY(){return this.getToken(w.BY,0)}get ruleIndex(){return w.RULE_for_structure_to}accept(U){if(U.visitFor_structure_to)return U.visitFor_structure_to(this);else return U.visitChildren(this)}}class ZU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}FOR(){return this.getToken(w.FOR,0)}for_iterator(){return this.getTypedRuleContext(Y8,0)}IN(){return this.getToken(w.IN,0)}expression(){return this.getTypedRuleContext(E1,0)}local_block(){return this.getTypedRuleContext(s2,0)}get ruleIndex(){return w.RULE_for_structure_in}accept(U){if(U.visitFor_structure_in)return U.visitFor_structure_in(this);else return U.visitChildren(this)}}class Y8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}type_specification(){return this.getTypedRuleContext(X6,0)}name_store(){return this.getTypedRuleContext(b2,0)}tuple_declaration(){return this.getTypedRuleContext(M7,0)}get ruleIndex(){return w.RULE_for_iterator}accept(U){if(U.visitFor_iterator)return U.visitFor_iterator(this);else return U.visitChildren(this)}}class XU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}WHILE(){return this.getToken(w.WHILE,0)}expression(){return this.getTypedRuleContext(E1,0)}local_block(){return this.getTypedRuleContext(s2,0)}get ruleIndex(){return w.RULE_while_structure}accept(U){if(U.visitWhile_structure)return U.visitWhile_structure(this);else return U.visitChildren(this)}}class JU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}SWITCH(){return this.getToken(w.SWITCH,0)}NEWLINE(){return this.getToken(w.NEWLINE,0)}INDENT(){return this.getToken(w.INDENT,0)}switch_cases(){return this.getTypedRuleContext(GU,0)}DEDENT(){return this.getToken(w.DEDENT,0)}expression(){return this.getTypedRuleContext(E1,0)}get ruleIndex(){return w.RULE_switch_structure}accept(U){if(U.visitSwitch_structure)return U.visitSwitch_structure(this);else return U.visitChildren(this)}}class GU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}switch_pattern_case_list(){return this.getTypedRuleContexts(U8)}switch_pattern_case(U){return this.getTypedRuleContext(U8,U)}switch_default_case(){return this.getTypedRuleContext(IU,0)}get ruleIndex(){return w.RULE_switch_cases}accept(U){if(U.visitSwitch_cases)return U.visitSwitch_cases(this);else return U.visitChildren(this)}}class U8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}expression(){return this.getTypedRuleContext(E1,0)}RARROW(){return this.getToken(w.RARROW,0)}local_block(){return this.getTypedRuleContext(s2,0)}get ruleIndex(){return w.RULE_switch_pattern_case}accept(U){if(U.visitSwitch_pattern_case)return U.visitSwitch_pattern_case(this);else return U.visitChildren(this)}}class IU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}RARROW(){return this.getToken(w.RARROW,0)}local_block(){return this.getTypedRuleContext(s2,0)}get ruleIndex(){return w.RULE_switch_default_case}accept(U){if(U.visitSwitch_default_case)return U.visitSwitch_default_case(this);else return U.visitChildren(this)}}class s2 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}indented_local_block(){return this.getTypedRuleContext($U,0)}inline_local_block(){return this.getTypedRuleContext(YU,0)}get ruleIndex(){return w.RULE_local_block}accept(U){if(U.visitLocal_block)return U.visitLocal_block(this);else return U.visitChildren(this)}}class $U extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}NEWLINE(){return this.getToken(w.NEWLINE,0)}INDENT(){return this.getToken(w.INDENT,0)}statements(){return this.getTypedRuleContext(I8,0)}DEDENT(){return this.getToken(w.DEDENT,0)}get ruleIndex(){return w.RULE_indented_local_block}accept(U){if(U.visitIndented_local_block)return U.visitIndented_local_block(this);else return U.visitChildren(this)}}class YU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}statement(){return this.getTypedRuleContext(L7,0)}get ruleIndex(){return w.RULE_inline_local_block}accept(U){if(U.visitInline_local_block)return U.visitInline_local_block(this);else return U.visitChildren(this)}}class TU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}simple_variable_initialization(){return this.getTypedRuleContext(KU,0)}simple_reassignment(){return this.getTypedRuleContext(LU,0)}simple_augassignment(){return this.getTypedRuleContext(VU,0)}get ruleIndex(){return w.RULE_simple_assignment}accept(U){if(U.visitSimple_assignment)return U.visitSimple_assignment(this);else return U.visitChildren(this)}}class KU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}simple_name_initialization(){return this.getTypedRuleContext(WU,0)}simple_tuple_initialization(){return this.getTypedRuleContext(OU,0)}get ruleIndex(){return w.RULE_simple_variable_initialization}accept(U){if(U.visitSimple_variable_initialization)return U.visitSimple_variable_initialization(this);else return U.visitChildren(this)}}class WU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}variable_declaration(){return this.getTypedRuleContext(O8,0)}EQUAL(){return this.getToken(w.EQUAL,0)}expression(){return this.getTypedRuleContext(E1,0)}EXPORT(){return this.getToken(w.EXPORT,0)}get ruleIndex(){return w.RULE_simple_name_initialization}accept(U){if(U.visitSimple_name_initialization)return U.visitSimple_name_initialization(this);else return U.visitChildren(this)}}class OU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}tuple_declaration(){return this.getTypedRuleContext(M7,0)}EQUAL(){return this.getToken(w.EQUAL,0)}expression(){return this.getTypedRuleContext(E1,0)}get ruleIndex(){return w.RULE_simple_tuple_initialization}accept(U){if(U.visitSimple_tuple_initialization)return U.visitSimple_tuple_initialization(this);else return U.visitChildren(this)}}class LU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}primary_expression(){return this.getTypedRuleContext(T2,0)}expression(){return this.getTypedRuleContext(E1,0)}COLONEQUAL(){return this.getToken(w.COLONEQUAL,0)}EQUAL(){return this.getToken(w.EQUAL,0)}get ruleIndex(){return w.RULE_simple_reassignment}accept(U){if(U.visitSimple_reassignment)return U.visitSimple_reassignment(this);else return U.visitChildren(this)}}class VU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}primary_expression(){return this.getTypedRuleContext(T2,0)}augassign_op(){return this.getTypedRuleContext(L8,0)}expression(){return this.getTypedRuleContext(E1,0)}get ruleIndex(){return w.RULE_simple_augassignment}accept(U){if(U.visitSimple_augassignment)return U.visitSimple_augassignment(this);else return U.visitChildren(this)}}class E1 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}conditional_expression(){return this.getTypedRuleContext(HU,0)}get ruleIndex(){return w.RULE_expression}accept(U){if(U.visitExpression)return U.visitExpression(this);else return U.visitChildren(this)}}class DU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}expression(){return this.getTypedRuleContext(E1,0)}get ruleIndex(){return w.RULE_expression_statement}accept(U){if(U.visitExpression_statement)return U.visitExpression_statement(this);else return U.visitChildren(this)}}class HU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}disjunction_expression(){return this.getTypedRuleContext(FU,0)}QUESTION(){return this.getToken(w.QUESTION,0)}expression_list(){return this.getTypedRuleContexts(E1)}expression(U){return this.getTypedRuleContext(E1,U)}COLON(){return this.getToken(w.COLON,0)}get ruleIndex(){return w.RULE_conditional_expression}accept(U){if(U.visitConditional_expression)return U.visitConditional_expression(this);else return U.visitChildren(this)}}class FU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}conjunction_expression_list(){return this.getTypedRuleContexts(Q8)}conjunction_expression(U){return this.getTypedRuleContext(Q8,U)}OR_list(){return this.getTokens(w.OR)}OR(U){return this.getToken(w.OR,U)}get ruleIndex(){return w.RULE_disjunction_expression}accept(U){if(U.visitDisjunction_expression)return U.visitDisjunction_expression(this);else return U.visitChildren(this)}}class Q8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}bitwise_or_expression_list(){return this.getTypedRuleContexts(B4)}bitwise_or_expression(U){return this.getTypedRuleContext(B4,U)}AND_list(){return this.getTokens(w.AND)}AND(U){return this.getToken(w.AND,U)}get ruleIndex(){return w.RULE_conjunction_expression}accept(U){if(U.visitConjunction_expression)return U.visitConjunction_expression(this);else return U.visitChildren(this)}}class B4 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}bitwise_xor_expression(){return this.getTypedRuleContext(D7,0)}bitwise_or_expression(){return this.getTypedRuleContext(B4,0)}PIPE(){return this.getToken(w.PIPE,0)}get ruleIndex(){return w.RULE_bitwise_or_expression}accept(U){if(U.visitBitwise_or_expression)return U.visitBitwise_or_expression(this);else return U.visitChildren(this)}}class D7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}bitwise_and_expression(){return this.getTypedRuleContext(H7,0)}bitwise_xor_expression(){return this.getTypedRuleContext(D7,0)}CARET(){return this.getToken(w.CARET,0)}get ruleIndex(){return w.RULE_bitwise_xor_expression}accept(U){if(U.visitBitwise_xor_expression)return U.visitBitwise_xor_expression(this);else return U.visitChildren(this)}}class H7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}equality_expression(){return this.getTypedRuleContext(RU,0)}bitwise_and_expression(){return this.getTypedRuleContext(H7,0)}AMP(){return this.getToken(w.AMP,0)}get ruleIndex(){return w.RULE_bitwise_and_expression}accept(U){if(U.visitBitwise_and_expression)return U.visitBitwise_and_expression(this);else return U.visitChildren(this)}}class RU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}inequality_expression(){return this.getTypedRuleContext(S7,0)}equality_trailing_pair_list(){return this.getTypedRuleContexts(Z8)}equality_trailing_pair(U){return this.getTypedRuleContext(Z8,U)}get ruleIndex(){return w.RULE_equality_expression}accept(U){if(U.visitEquality_expression)return U.visitEquality_expression(this);else return U.visitChildren(this)}}class Z8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}equal_trailing_pair(){return this.getTypedRuleContext(zU,0)}not_equal_trailing_pair(){return this.getTypedRuleContext(SU,0)}get ruleIndex(){return w.RULE_equality_trailing_pair}accept(U){if(U.visitEquality_trailing_pair)return U.visitEquality_trailing_pair(this);else return U.visitChildren(this)}}class zU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}EQEQUAL(){return this.getToken(w.EQEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(S7,0)}get ruleIndex(){return w.RULE_equal_trailing_pair}accept(U){if(U.visitEqual_trailing_pair)return U.visitEqual_trailing_pair(this);else return U.visitChildren(this)}}class SU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}NOTEQUAL(){return this.getToken(w.NOTEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(S7,0)}get ruleIndex(){return w.RULE_not_equal_trailing_pair}accept(U){if(U.visitNot_equal_trailing_pair)return U.visitNot_equal_trailing_pair(this);else return U.visitChildren(this)}}class S7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}shift_expression(){return this.getTypedRuleContext(E6,0)}inequality_trailing_pair_list(){return this.getTypedRuleContexts(X8)}inequality_trailing_pair(U){return this.getTypedRuleContext(X8,U)}get ruleIndex(){return w.RULE_inequality_expression}accept(U){if(U.visitInequality_expression)return U.visitInequality_expression(this);else return U.visitChildren(this)}}class X8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}less_than_equal_trailing_pair(){return this.getTypedRuleContext(MU,0)}less_than_trailing_pair(){return this.getTypedRuleContext(qU,0)}greater_than_equal_trailing_pair(){return this.getTypedRuleContext(CU,0)}greater_than_trailing_pair(){return this.getTypedRuleContext(EU,0)}get ruleIndex(){return w.RULE_inequality_trailing_pair}accept(U){if(U.visitInequality_trailing_pair)return U.visitInequality_trailing_pair(this);else return U.visitChildren(this)}}class MU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LESSEQUAL(){return this.getToken(w.LESSEQUAL,0)}shift_expression(){return this.getTypedRuleContext(E6,0)}get ruleIndex(){return w.RULE_less_than_equal_trailing_pair}accept(U){if(U.visitLess_than_equal_trailing_pair)return U.visitLess_than_equal_trailing_pair(this);else return U.visitChildren(this)}}class qU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LESS(){return this.getToken(w.LESS,0)}shift_expression(){return this.getTypedRuleContext(E6,0)}get ruleIndex(){return w.RULE_less_than_trailing_pair}accept(U){if(U.visitLess_than_trailing_pair)return U.visitLess_than_trailing_pair(this);else return U.visitChildren(this)}}class CU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}GREATEREQUAL(){return this.getToken(w.GREATEREQUAL,0)}shift_expression(){return this.getTypedRuleContext(E6,0)}get ruleIndex(){return w.RULE_greater_than_equal_trailing_pair}accept(U){if(U.visitGreater_than_equal_trailing_pair)return U.visitGreater_than_equal_trailing_pair(this);else return U.visitChildren(this)}}class EU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}GREATER(){return this.getToken(w.GREATER,0)}shift_expression(){return this.getTypedRuleContext(E6,0)}get ruleIndex(){return w.RULE_greater_than_trailing_pair}accept(U){if(U.visitGreater_than_trailing_pair)return U.visitGreater_than_trailing_pair(this);else return U.visitChildren(this)}}class E6 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}additive_expression(){return this.getTypedRuleContext(F7,0)}shift_expression(){return this.getTypedRuleContext(E6,0)}shift_op(){return this.getTypedRuleContext(PU,0)}get ruleIndex(){return w.RULE_shift_expression}accept(U){if(U.visitShift_expression)return U.visitShift_expression(this);else return U.visitChildren(this)}}class PU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LSHIFT(){return this.getToken(w.LSHIFT,0)}RSHIFT(){return this.getToken(w.RSHIFT,0)}get ruleIndex(){return w.RULE_shift_op}accept(U){if(U.visitShift_op)return U.visitShift_op(this);else return U.visitChildren(this)}}class F7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}multiplicative_expression(){return this.getTypedRuleContext(R7,0)}additive_expression(){return this.getTypedRuleContext(F7,0)}additive_op(){return this.getTypedRuleContext(kU,0)}get ruleIndex(){return w.RULE_additive_expression}accept(U){if(U.visitAdditive_expression)return U.visitAdditive_expression(this);else return U.visitChildren(this)}}class kU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}PLUS(){return this.getToken(w.PLUS,0)}MINUS(){return this.getToken(w.MINUS,0)}get ruleIndex(){return w.RULE_additive_op}accept(U){if(U.visitAdditive_op)return U.visitAdditive_op(this);else return U.visitChildren(this)}}class R7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}unary_expression(){return this.getTypedRuleContext(T8,0)}multiplicative_expression(){return this.getTypedRuleContext(R7,0)}multiplicative_op(){return this.getTypedRuleContext(_U,0)}get ruleIndex(){return w.RULE_multiplicative_expression}accept(U){if(U.visitMultiplicative_expression)return U.visitMultiplicative_expression(this);else return U.visitChildren(this)}}class _U extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}STAR(){return this.getToken(w.STAR,0)}SLASH(){return this.getToken(w.SLASH,0)}PERCENT(){return this.getToken(w.PERCENT,0)}get ruleIndex(){return w.RULE_multiplicative_op}accept(U){if(U.visitMultiplicative_op)return U.visitMultiplicative_op(this);else return U.visitChildren(this)}}class T8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}unary_op(){return this.getTypedRuleContext(AU,0)}unary_expression(){return this.getTypedRuleContext(T8,0)}primary_expression(){return this.getTypedRuleContext(T2,0)}get ruleIndex(){return w.RULE_unary_expression}accept(U){if(U.visitUnary_expression)return U.visitUnary_expression(this);else return U.visitChildren(this)}}class AU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}NOT(){return this.getToken(w.NOT,0)}PLUS(){return this.getToken(w.PLUS,0)}MINUS(){return this.getToken(w.MINUS,0)}TILDE(){return this.getToken(w.TILDE,0)}get ruleIndex(){return w.RULE_unary_op}accept(U){if(U.visitUnary_op)return U.visitUnary_op(this);else return U.visitChildren(this)}}class T2 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}get ruleIndex(){return w.RULE_primary_expression}copyFrom(U){super.copyFrom(U)}}class dJ extends T2{constructor(U,Q){super(U,Q.parentCtx,Q.invokingState);super.copyFrom(Q)}primary_expression(){return this.getTypedRuleContext(T2,0)}DOT(){return this.getToken(w.DOT,0)}name_load(){return this.getTypedRuleContext(N4,0)}accept(U){if(U.visitPrimary_expression_attribute)return U.visitPrimary_expression_attribute(this);else return U.visitChildren(this)}}class oJ extends T2{constructor(U,Q){super(U,Q.parentCtx,Q.invokingState);super.copyFrom(Q)}primary_expression(){return this.getTypedRuleContext(T2,0)}LPAR(){return this.getToken(w.LPAR,0)}RPAR(){return this.getToken(w.RPAR,0)}template_spec_suffix(){return this.getTypedRuleContext(V8,0)}argument_list(){return this.getTypedRuleContext(jU,0)}accept(U){if(U.visitPrimary_expression_call)return U.visitPrimary_expression_call(this);else return U.visitChildren(this)}}class mJ extends T2{constructor(U,Q){super(U,Q.parentCtx,Q.invokingState);super.copyFrom(Q)}atomic_expression(){return this.getTypedRuleContext(BU,0)}accept(U){if(U.visitPrimary_expression_fallback)return U.visitPrimary_expression_fallback(this);else return U.visitChildren(this)}}class rJ extends T2{constructor(U,Q){super(U,Q.parentCtx,Q.invokingState);super.copyFrom(Q)}primary_expression(){return this.getTypedRuleContext(T2,0)}LSQB(){return this.getToken(w.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(K8,0)}RSQB(){return this.getToken(w.RSQB,0)}accept(U){if(U.visitPrimary_expression_subscript)return U.visitPrimary_expression_subscript(this);else return U.visitChildren(this)}}class jU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}argument_definition_list(){return this.getTypedRuleContexts(J8)}argument_definition(U){return this.getTypedRuleContext(J8,U)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_argument_list}accept(U){if(U.visitArgument_list)return U.visitArgument_list(this);else return U.visitChildren(this)}}class J8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}expression(){return this.getTypedRuleContext(E1,0)}name_store(){return this.getTypedRuleContext(b2,0)}EQUAL(){return this.getToken(w.EQUAL,0)}get ruleIndex(){return w.RULE_argument_definition}accept(U){if(U.visitArgument_definition)return U.visitArgument_definition(this);else return U.visitChildren(this)}}class K8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}expression_list(){return this.getTypedRuleContexts(E1)}expression(U){return this.getTypedRuleContext(E1,U)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_subscript_slice}accept(U){if(U.visitSubscript_slice)return U.visitSubscript_slice(this);else return U.visitChildren(this)}}class BU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name_load(){return this.getTypedRuleContext(N4,0)}literal_expression(){return this.getTypedRuleContext(NU,0)}grouped_expression(){return this.getTypedRuleContext(gU,0)}tuple_expression(){return this.getTypedRuleContext(fU,0)}get ruleIndex(){return w.RULE_atomic_expression}accept(U){if(U.visitAtomic_expression)return U.visitAtomic_expression(this);else return U.visitChildren(this)}}class NU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}literal_number(){return this.getTypedRuleContext(W8,0)}literal_string(){return this.getTypedRuleContext(wU,0)}literal_bool(){return this.getTypedRuleContext(yU,0)}literal_color(){return this.getTypedRuleContext(xU,0)}get ruleIndex(){return w.RULE_literal_expression}accept(U){if(U.visitLiteral_expression)return U.visitLiteral_expression(this);else return U.visitChildren(this)}}class W8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}NUMBER(){return this.getToken(w.NUMBER,0)}get ruleIndex(){return w.RULE_literal_number}accept(U){if(U.visitLiteral_number)return U.visitLiteral_number(this);else return U.visitChildren(this)}}class wU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}STRING(){return this.getToken(w.STRING,0)}get ruleIndex(){return w.RULE_literal_string}accept(U){if(U.visitLiteral_string)return U.visitLiteral_string(this);else return U.visitChildren(this)}}class yU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}TRUE(){return this.getToken(w.TRUE,0)}FALSE(){return this.getToken(w.FALSE,0)}get ruleIndex(){return w.RULE_literal_bool}accept(U){if(U.visitLiteral_bool)return U.visitLiteral_bool(this);else return U.visitChildren(this)}}class xU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}COLOR(){return this.getToken(w.COLOR,0)}get ruleIndex(){return w.RULE_literal_color}accept(U){if(U.visitLiteral_color)return U.visitLiteral_color(this);else return U.visitChildren(this)}}class gU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LPAR(){return this.getToken(w.LPAR,0)}expression(){return this.getTypedRuleContext(E1,0)}RPAR(){return this.getToken(w.RPAR,0)}get ruleIndex(){return w.RULE_grouped_expression}accept(U){if(U.visitGrouped_expression)return U.visitGrouped_expression(this);else return U.visitChildren(this)}}class fU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LSQB(){return this.getToken(w.LSQB,0)}RSQB(){return this.getToken(w.RSQB,0)}expression_list(){return this.getTypedRuleContexts(E1)}expression(U){return this.getTypedRuleContext(E1,U)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_tuple_expression}accept(U){if(U.visitTuple_expression)return U.visitTuple_expression(this);else return U.visitChildren(this)}}class pU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}IMPORT(){return this.getToken(w.IMPORT,0)}name_list(){return this.getTypedRuleContexts(O6)}name(U){return this.getTypedRuleContext(O6,U)}SLASH_list(){return this.getTokens(w.SLASH)}SLASH(U){return this.getToken(w.SLASH,U)}literal_number(){return this.getTypedRuleContext(W8,0)}AS(){return this.getToken(w.AS,0)}get ruleIndex(){return w.RULE_import_statement}accept(U){if(U.visitImport_statement)return U.visitImport_statement(this);else return U.visitChildren(this)}}class vU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}BREAK(){return this.getToken(w.BREAK,0)}get ruleIndex(){return w.RULE_break_statement}accept(U){if(U.visitBreak_statement)return U.visitBreak_statement(this);else return U.visitChildren(this)}}class hU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}CONTINUE(){return this.getToken(w.CONTINUE,0)}get ruleIndex(){return w.RULE_continue_statement}accept(U){if(U.visitContinue_statement)return U.visitContinue_statement(this);else return U.visitChildren(this)}}class O8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name_store(){return this.getTypedRuleContext(b2,0)}declaration_mode(){return this.getTypedRuleContext(cU,0)}type_specification(){return this.getTypedRuleContext(X6,0)}get ruleIndex(){return w.RULE_variable_declaration}accept(U){if(U.visitVariable_declaration)return U.visitVariable_declaration(this);else return U.visitChildren(this)}}class M7 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LSQB(){return this.getToken(w.LSQB,0)}name_store_list(){return this.getTypedRuleContexts(b2)}name_store(U){return this.getTypedRuleContext(b2,U)}RSQB(){return this.getToken(w.RSQB,0)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_tuple_declaration}accept(U){if(U.visitTuple_declaration)return U.visitTuple_declaration(this);else return U.visitChildren(this)}}class cU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}VARIP(){return this.getToken(w.VARIP,0)}VAR(){return this.getToken(w.VAR,0)}get ruleIndex(){return w.RULE_declaration_mode}accept(U){if(U.visitDeclaration_mode)return U.visitDeclaration_mode(this);else return U.visitChildren(this)}}class uU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}assignment_target_attribute(){return this.getTypedRuleContext(bU,0)}assignment_target_subscript(){return this.getTypedRuleContext(lU,0)}assignment_target_name(){return this.getTypedRuleContext(dU,0)}assignment_target_group(){return this.getTypedRuleContext(oU,0)}get ruleIndex(){return w.RULE_assignment_target}accept(U){if(U.visitAssignment_target)return U.visitAssignment_target(this);else return U.visitChildren(this)}}class bU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}primary_expression(){return this.getTypedRuleContext(T2,0)}DOT(){return this.getToken(w.DOT,0)}name_store(){return this.getTypedRuleContext(b2,0)}get ruleIndex(){return w.RULE_assignment_target_attribute}accept(U){if(U.visitAssignment_target_attribute)return U.visitAssignment_target_attribute(this);else return U.visitChildren(this)}}class lU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}primary_expression(){return this.getTypedRuleContext(T2,0)}LSQB(){return this.getToken(w.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(K8,0)}RSQB(){return this.getToken(w.RSQB,0)}get ruleIndex(){return w.RULE_assignment_target_subscript}accept(U){if(U.visitAssignment_target_subscript)return U.visitAssignment_target_subscript(this);else return U.visitChildren(this)}}class dU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name_store(){return this.getTypedRuleContext(b2,0)}get ruleIndex(){return w.RULE_assignment_target_name}accept(U){if(U.visitAssignment_target_name)return U.visitAssignment_target_name(this);else return U.visitChildren(this)}}class oU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LPAR(){return this.getToken(w.LPAR,0)}assignment_target(){return this.getTypedRuleContext(uU,0)}RPAR(){return this.getToken(w.RPAR,0)}get ruleIndex(){return w.RULE_assignment_target_group}accept(U){if(U.visitAssignment_target_group)return U.visitAssignment_target_group(this);else return U.visitChildren(this)}}class L8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}STAREQUAL(){return this.getToken(w.STAREQUAL,0)}SLASHEQUAL(){return this.getToken(w.SLASHEQUAL,0)}PERCENTEQUAL(){return this.getToken(w.PERCENTEQUAL,0)}PLUSEQUAL(){return this.getToken(w.PLUSEQUAL,0)}MINEQUAL(){return this.getToken(w.MINEQUAL,0)}get ruleIndex(){return w.RULE_augassign_op}accept(U){if(U.visitAugassign_op)return U.visitAugassign_op(this);else return U.visitChildren(this)}}class X6 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}attributed_type_name(){return this.getTypedRuleContext(rU,0)}type_qualifier(){return this.getTypedRuleContext(mU,0)}template_spec_suffix(){return this.getTypedRuleContext(V8,0)}array_type_suffix(){return this.getTypedRuleContext(nU,0)}get ruleIndex(){return w.RULE_type_specification}accept(U){if(U.visitType_specification)return U.visitType_specification(this);else return U.visitChildren(this)}}class mU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}CONST(){return this.getToken(w.CONST,0)}INPUT(){return this.getToken(w.INPUT,0)}SIMPLE(){return this.getToken(w.SIMPLE,0)}SERIES(){return this.getToken(w.SERIES,0)}get ruleIndex(){return w.RULE_type_qualifier}accept(U){if(U.visitType_qualifier)return U.visitType_qualifier(this);else return U.visitChildren(this)}}class rU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name_load_list(){return this.getTypedRuleContexts(N4)}name_load(U){return this.getTypedRuleContext(N4,U)}DOT_list(){return this.getTokens(w.DOT)}DOT(U){return this.getToken(w.DOT,U)}get ruleIndex(){return w.RULE_attributed_type_name}accept(U){if(U.visitAttributed_type_name)return U.visitAttributed_type_name(this);else return U.visitChildren(this)}}class V8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LESS(){return this.getToken(w.LESS,0)}GREATER(){return this.getToken(w.GREATER,0)}type_argument_list(){return this.getTypedRuleContext(sU,0)}get ruleIndex(){return w.RULE_template_spec_suffix}accept(U){if(U.visitTemplate_spec_suffix)return U.visitTemplate_spec_suffix(this);else return U.visitChildren(this)}}class nU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}LSQB(){return this.getToken(w.LSQB,0)}RSQB(){return this.getToken(w.RSQB,0)}get ruleIndex(){return w.RULE_array_type_suffix}accept(U){if(U.visitArray_type_suffix)return U.visitArray_type_suffix(this);else return U.visitChildren(this)}}class sU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}type_specification_list(){return this.getTypedRuleContexts(X6)}type_specification(U){return this.getTypedRuleContext(X6,U)}COMMA_list(){return this.getTokens(w.COMMA)}COMMA(U){return this.getToken(w.COMMA,U)}get ruleIndex(){return w.RULE_type_argument_list}accept(U){if(U.visitType_argument_list)return U.visitType_argument_list(this);else return U.visitChildren(this)}}class O6 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}NAME(){return this.getToken(w.NAME,0)}TYPE(){return this.getToken(w.TYPE,0)}METHOD(){return this.getToken(w.METHOD,0)}CONST(){return this.getToken(w.CONST,0)}INPUT(){return this.getToken(w.INPUT,0)}SIMPLE(){return this.getToken(w.SIMPLE,0)}SERIES(){return this.getToken(w.SERIES,0)}ENUM(){return this.getToken(w.ENUM,0)}AS(){return this.getToken(w.AS,0)}BY(){return this.getToken(w.BY,0)}TO(){return this.getToken(w.TO,0)}get ruleIndex(){return w.RULE_name}accept(U){if(U.visitName)return U.visitName(this);else return U.visitChildren(this)}}class N4 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name(){return this.getTypedRuleContext(O6,0)}get ruleIndex(){return w.RULE_name_load}accept(U){if(U.visitName_load)return U.visitName_load(this);else return U.visitChildren(this)}}class b2 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}name(){return this.getTypedRuleContext(O6,0)}get ruleIndex(){return w.RULE_name_store}accept(U){if(U.visitName_store)return U.visitName_store(this);else return U.visitChildren(this)}}class iU extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}comment_list(){return this.getTypedRuleContexts(G8)}comment(U){return this.getTypedRuleContext(G8,U)}get ruleIndex(){return w.RULE_comments}accept(U){if(U.visitComments)return U.visitComments(this);else return U.visitChildren(this)}}class G8 extends P0{constructor(U,Q,Z){super(Q,Z);this.parser=U}COMMENT(){return this.getToken(w.COMMENT,0)}get ruleIndex(){return w.RULE_comment}accept(U){if(U.visitComment)return U.visitComment(this);else return U.visitChildren(this)}}class q7 extends Error{name="PinescriptSyntaxError";lineno;col_offset;constructor(U,Q=null,Z=null){super(U);this.lineno=Q,this.col_offset=Z}}class C7 extends jX{static INSTANCE=new C7;syntaxError(U,Q,Z,X,J,Y){throw new q7(`${J} (${Z}:${X})`,Z,X)}}function fT(U,Q){if(U.kind!=="Script")return;let Z=U;Q.fill();let X=[];for(let J of Q.tokens){if(J==null||J.type!==Y2.COMMENT)continue;let Y=(J.text??"").trim();if(Y.startsWith("//@"))X.push(Y)}if(X.length)Z.annotations=X}function X4(U,Q="<unknown>",Z="exec"){if(Z!=="exec"&&Z!=="eval")throw Error(`invalid argument mode: ${Z}`);let X=L3.fromString(U),J=new Y2(X),Y=new AX(J),G=new w(Y),L=C7.INSTANCE;J.removeErrorListeners(),G.removeErrorListeners(),J.addErrorListener(L),G.addErrorListener(L);let z=Z==="exec"?G.start_script():G.start_expression(),S=new j3().visit(z);if(!S||typeof S!=="object"||!("kind"in S))throw new q7("parse produced no AST");if(Z==="exec"&&U.includes("@"))fT(S,Y);return S}function pT(U){let Q=L3.fromString(U),Z=new Y2(Q);Z.removeErrorListeners(),Z.addErrorListener(C7.INSTANCE);let X=[];for(;;){let J=Z.nextToken();if(X.push(J),J.type===c1.EOF)break}return X}function aU(U,Q){if(!Number.isFinite(U))return null;let Z=Math.trunc(U);if(Z<0)Z=Q+Z;if(Z<0||Z>=Q)return null;return Z}function y4(U){return U!==null&&Number.isFinite(U)}function nJ(U){return U!==null&&U!==0}function tU(U,Q){if(U===null)return!1;if(Q===null)return!0;return U<Q}function eU(U,Q){if(U===null&&Q===null)return!0;if(U===null||Q===null)return!1;return U===Q}function E7(U){let Q=0;for(let Z of U)Q+=Z;return Q/U.length}class N1{cells=[];constructor(U,Q){if(U===void 0)return;if(!Number.isFinite(U)||U<0)return;let Z=Math.min(Math.trunc(U),1e6),X=Q===void 0?null:Q;for(let J=0;J<Z;J++)this.cells.push(X)}size(){return this.cells.length}get(U){let Q=aU(U,this.cells.length);return Q===null?null:this.cells[Q]}set(U,Q){let Z=aU(U,this.cells.length);if(Z===null)return;this.cells[Z]=Q}push(U){if(this.cells.length>=1e6)return;this.cells.push(U)}pop(){if(this.cells.length===0)return null;return this.cells.pop()}unshift(U){if(this.cells.length>=1e6)return;this.cells.unshift(U)}shift(){if(this.cells.length===0)return null;return this.cells.shift()}clear(){this.cells.length=0}includes(U){return this.cells.includes(U)}first(){return this.cells.length===0?null:this.cells[0]}last(){return this.cells.length===0?null:this.cells[this.cells.length-1]}insert(U,Q){if(this.cells.length>=1e6)return;if(!Number.isFinite(U))return;let Z=Math.trunc(U);if(Z<0)Z=this.cells.length+Z;if(Z<0)Z=0;if(Z>this.cells.length)Z=this.cells.length;this.cells.splice(Z,0,Q)}remove(U){let Q=aU(U,this.cells.length);if(Q===null)return null;return this.cells.splice(Q,1)[0]}fill(U){for(let Q=0;Q<this.cells.length;Q++)this.cells[Q]=U}slice(U,Q){let Z=this.cells.length,X=Number.isFinite(U)?Math.trunc(U):0,J=Q===void 0||!Number.isFinite(Q)?Z:Math.trunc(Q);if(X<0)X=0;let Y=new N1;if(J<X)return Y;for(let G of this.cells.slice(X,J))Y.push(G);return Y}copy(){let U=new N1;for(let Q of this.cells)U.push(Q);return U}reverse(){this.cells.reverse()}sort(U="asc"){this.cells.sort((Q,Z)=>{if(Q===null&&Z===null)return 0;if(Q===null)return 1;if(Z===null)return-1;return U==="desc"?Z-Q:Q-Z})}indexof(U){for(let Q=0;Q<this.cells.length;Q++)if(Object.is(this.cells[Q],U))return Q;return-1}avg(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=0;for(let Z of U)Q+=Z;return Q/U.length}min(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=U[0];for(let Z of U)if(Z<Q)Q=Z;return Q}max(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=U[0];for(let Z of U)if(Z>Q)Q=Z;return Q}sum(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=0;for(let Z of U)Q+=Z;return Q}join(U=","){return this.cells.map((Q)=>Q===null?"":String(Q)).join(U)}static from(...U){let Q=new N1,Z=Math.min(U.length,1e6);for(let X=0;X<Z;X++)Q.push(U[X]);return Q}lastIndexOf(U){for(let Q=this.cells.length-1;Q>=0;Q--)if(Object.is(this.cells[Q],U))return Q;return-1}concat(U){for(let Q of U.cells){if(this.cells.length>=1e6)break;this.cells.push(Q)}return this}abs(){let U=new N1;for(let Q of this.cells)U.push(Q===null?null:Math.abs(Q));return U}every(){for(let U of this.cells)if(!nJ(U))return!1;return!0}some(){for(let U of this.cells)if(nJ(U))return!0;return!1}median(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=U.slice().sort((X,J)=>X-J),Z=Q.length>>1;if(Q.length%2===1)return Q[Z];return(Q[Z-1]+Q[Z])/2}range(){let U=this.max(),Q=this.min();if(U===null||Q===null)return null;return U-Q}mode(){let U=new Map,Q=null,Z=0;for(let X of this.cells){if(!y4(X))continue;let J=(U.get(X)??0)+1;if(U.set(X,J),J>Z)Z=J,Q=X}return Q}binarySearch(U){return this.binarySearchBy(U,"any")}binarySearchLeftmost(U){if(U===null||this.cells.some((Q)=>Q===null)){let Q=this.indexof(U);return typeof Q==="number"?Q:-1}return this.binarySearchBy(U,"left")}binarySearchRightmost(U){if(U===null||this.cells.some((Q)=>Q===null)){let Q=this.lastIndexOf(U);return typeof Q==="number"?Q:-1}return this.binarySearchBy(U,"right")}stdev(U=!0){let Q=this.finiteSkip();if(Q.length<2)return null;let Z=E7(Q),X=0;for(let G of Q)X+=(G-Z)**2;let J=U?Q.length:Q.length-1;if(J<=0)return null;let Y=Math.sqrt(X/J);return Number.isFinite(Y)?Y:null}variance(U=!0){let Q=this.finiteSkip();if(Q.length<2)return null;let Z=E7(Q),X=0;for(let G of Q)X+=(G-Z)**2;let J=U?Q.length:Q.length-1;if(J<=0)return null;let Y=X/J;return Number.isFinite(Y)?Y:null}covariance(U,Q=!0){let Z=this.finiteSkip(),X=U.finiteSkip(),J=Math.min(Z.length,X.length);if(J<2)return null;let Y=Z.slice(0,J),G=X.slice(0,J),L=E7(Y),z=E7(G),D=0;for(let q=0;q<J;q++)D+=(Y[q]-L)*(G[q]-z);let S=Q?J:J-1;if(S<=0)return null;let H=D/S;return Number.isFinite(H)?H:null}percentileLinearInterpolation(U){if(!Number.isFinite(U)||U<0||U>100)return null;let Q=this.finiteSkip().sort((G,L)=>G-L);if(Q.length===0)return null;let Z=Q.length,X=U/100*(Z-1),J=Math.trunc(X),Y=X-J;if(J>=Z-1)return Q[Z-1];if(J<0)return Q[0];return Q[J]*(1-Y)+Q[J+1]*Y}percentileNearestRank(U){if(!Number.isFinite(U)||U<0||U>100)return null;let Q=this.finiteSkip().sort((J,Y)=>J-Y);if(Q.length===0)return null;let Z=Q.length,X=Math.max(1,Math.trunc(U/100*Z+0.5));return Q[Math.min(X,Z)-1]}percentrank(U){if(!y4(U))return null;let Q=this.finiteSkip();if(Q.length===0)return null;if(Q.length===1)return 0;let Z=0;for(let X of Q)if(X<=U)Z+=1;return(Z-1)/(Q.length-1)*100}standardize(){let U=this.finiteSkip();if(U.length<2)return null;let Q=E7(U),Z=0;for(let Y of U)Z+=(Y-Q)**2;let X=Math.sqrt(Z/(U.length-1));if(X===0||!Number.isFinite(X))return null;let J=new N1;for(let Y of this.cells)J.push(y4(Y)?(Y-Q)/X:null);return J}sortIndices(U="asc"){let Q=[],Z=[];for(let J=0;J<this.cells.length;J++){let Y=this.cells[J];if(!y4(Y)){Z.push(J);continue}Q.push({key:Y,idx:J})}let X=U==="desc";return Q.sort((J,Y)=>{let G=J.key-Y.key;if(G!==0)return X?-G:G;return J.idx-Y.idx}),Q.map((J)=>J.idx).concat(Z)}binarySearchBy(U,Q){let Z=this.cells,X=Z.length;if(Q==="left"){let G=0,L=X;while(G<L){let z=Math.trunc((G+L)/2);if(tU(Z[z],U))G=z+1;else L=z}if(G<X&&eU(Z[G],U))return G;return-1}if(Q==="right"){let G=0,L=X;while(G<L){let z=Math.trunc((G+L)/2);if(tU(U,Z[z]))L=z;else G=z+1}if(G>0&&eU(Z[G-1],U))return G-1;return-1}let J=0,Y=X-1;while(J<=Y){let G=Math.trunc((J+Y)/2),L=Z[G];if(eU(L,U))return G;if(tU(L,U))J=G+1;else Y=G-1}return-1}finiteAll(){let U=[];for(let Q of this.cells){if(!y4(Q))return null;U.push(Q)}return U}finiteSkip(){let U=[];for(let Q of this.cells)if(y4(Q))U.push(Q);return U}toValues(){return this.cells.slice()}}var vT=/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function J6(U){return typeof U==="number"&&Number.isFinite(U)}function J4(U){return Math.max(0,Math.min(255,Math.round(U)))}function sJ(U,Q,Z,X){return{r:J4(U),g:J4(Q),b:J4(Z),a:J4(X)}}function UQ(U){if(typeof U!=="object"||U===null)return!1;let Q=U;return J6(Q.r)&&J6(Q.g)&&J6(Q.b)&&J6(Q.a)}function hT(U){return 255*(1-Math.max(0,Math.min(100,U))/100)}function cT(U){return Math.max(0,Math.min(100,Math.round((1-U/255)*100)))}function QQ(U){if(typeof U!=="string")return null;let Q=vT.exec(U.trim());if(!Q)return null;let Z=Q[1],X=parseInt(Z.slice(0,2),16),J=parseInt(Z.slice(2,4),16),Y=parseInt(Z.slice(4,6),16),G=Z.length===8?parseInt(Z.slice(6,8),16):255;if(![X,J,Y,G].every((L)=>Number.isFinite(L)))return null;return{r:X,g:J,b:Y,a:G}}function P7(U,Q,Z,X){if(!J6(U)||!J6(Q)||!J6(Z))return null;let J=J6(X)?hT(X):255;return sJ(U,Q,Z,J)}function D8(U,Q,Z,X){return P7(U,Q,Z,X)}function H8(U,Q,Z,X,J){if(!J6(U)||!J6(Q)||!J6(Z))return null;if(!UQ(X)||!UQ(J))return null;let Y=Z-Q,G=Y===0?0:Math.max(0,Math.min(1,(U-Q)/Y));return sJ(X.r+(J.r-X.r)*G,X.g+(J.g-X.g)*G,X.b+(J.b-X.b)*G,X.a+(J.a-X.a)*G)}var uT={red:{r:255,g:0,b:0,a:255},green:{r:0,g:128,b:0,a:255},blue:{r:0,g:0,b:255,a:255},black:{r:0,g:0,b:0,a:255},white:{r:255,g:255,b:255,a:255},gray:{r:128,g:128,b:128,a:255},grey:{r:128,g:128,b:128,a:255},silver:{r:192,g:192,b:192,a:255},yellow:{r:255,g:255,b:0,a:255},orange:{r:255,g:165,b:0,a:255},purple:{r:128,g:0,b:128,a:255},aqua:{r:0,g:255,b:255,a:255},fuchsia:{r:255,g:0,b:255,a:255},lime:{r:0,g:255,b:0,a:255},maroon:{r:128,g:0,b:0,a:255},navy:{r:0,g:0,b:128,a:255},olive:{r:128,g:128,b:0,a:255},teal:{r:0,g:128,b:128,a:255}};function k7(U){if(typeof U!=="string")return null;let Q=U.trim().toLowerCase();if(Q.startsWith("color."))Q=Q.slice(6);let Z=uT[Q];return Z?{...Z}:null}function h6(U){if(UQ(U))return U;if(typeof U!=="string")return null;return QQ(U)??k7(U)}function F8(U){let Q=h6(U);return Q?J4(Q.r):null}function R8(U){let Q=h6(U);return Q?J4(Q.g):null}function z8(U){let Q=h6(U);return Q?J4(Q.b):null}function S8(U){let Q=h6(U);return Q?cT(Q.a):null}class l2{name;fields;methods=new Map;isExported=!1;constructor(U,Q){this.name=U;this.fields=Q.map((Z)=>({name:Z.name,default:Z.default??null}))}addMethod(U,Q){this.methods.set(U,Q)}getMethod(U){return this.methods.get(U)}cloneType(){let U=new l2(this.name,this.fields.map((Q)=>({name:Q.name,default:Q.default})));U.isExported=this.isExported;for(let[Q,Z]of this.methods)U.addMethod(Q,Z);return U}newInstance(U){let Q=new G6(this);if(U){for(let Z of this.fields)if(Object.hasOwn(U,Z.name))Q.set(Z.name,U[Z.name])}return Q}}class G6{type;typeName;values=new Map;constructor(U){this.type=U,this.typeName=U.name;for(let Q of U.fields)this.values.set(Q.name,Q.default??null)}get(U){return this.values.has(U)?this.values.get(U):null}set(U,Q){if(!this.values.has(U))return;this.values.set(U,Q)}getMethod(U){return this.type.getMethod(U)}}class c6{enumName;name;value;constructor(U,Q,Z){this.enumName=U;this.name=Q;this.value=Z}equals(U){return U instanceof c6&&U.enumName===this.enumName&&U.name===this.name}toString(){return this.name}}class x4{name;members;constructor(U,Q){this.name=U;this.members=Q}}function iJ(U,Q){return new l2(U,Q)}function aJ(U,Q){let Z=new Map;for(let X of Q)Z.set(X,new c6(U,X));return new x4(U,Z)}var bT=new Set(["request.security","request.security_lower_tf","request.dividends","request.earnings","request.splits","request.financial","request.economic","request.quandl","request.currency_rate","request.seed","request.footprint"]),lT=null,ZQ=60,XQ=1440,JQ=10080,_7=43200,dT={H:ZQ,"1H":ZQ,D:XQ,"1D":XQ,W:JQ,"1W":JQ,M:_7,MO:_7,"1M":_7,"1MO":_7};function QG(U){return U!=null&&bT.has(U)}function G4(U){if(U==null)return null;let Q=U.trim();if(Q==="")return null;if(/^\d+$/.test(Q)){let G=Number(Q);return G>0?G:null}let Z=Q.toUpperCase(),X=dT[Z];if(X!=null)return X;let J=/^(\d+)(MO|H|D|W|M)$/.exec(Z);if(J==null)return null;let Y=Number(J[1]);if(!(Y>0))return null;switch(J[2]){case"MO":return Y*_7;case"H":return Y*ZQ;case"D":return Y*XQ;case"W":return Y*JQ;case"M":return Y;default:return null}}function oT(U){return typeof U==="number"&&Number.isFinite(U)?U:null}function q8(U,Q,Z,X){let J=Z??{};if(!ZG(J.symbol,U??""))return null;let Y=oT(X),G=G4(J.timeframe),L=G4(Q);if(G!=null&&L!=null&&G>L)return Y;return Y}function mT(U,Q){let Z=G4(U),X=G4(Q);return Z!=null&&X!=null&&Z<X}function rT(U,Q,Z,X){let J=Z??{};if(!ZG(J.symbol,U??""))return null;if(mT(J.timeframe,Q))return null;return q8(U,Q,J,X)}function ZG(U,Q){let Z=(U??"").trim();if(Z==="")return!0;return tJ(Z)===tJ(Q)}function tJ(U){let Q=U.trim().toUpperCase(),Z=Q.lastIndexOf(":");return Z>=0?Q.slice(Z+1):Q}function nT(){return null}function GQ(U,Q){let[Z,X]=tT(U,Q);if(Z!==""&&Z===X)return 1;return null}function sT(U){return lT=eT(U??0),null}function C8(U,Q,Z={}){if(U==="request.security"){let{sec:X,value:J}=eJ(Z);return q8(Q.symbol,Q.timeframe??null,X,J)}if(U==="request.security_lower_tf"){let{sec:X,value:J}=eJ(Z);return rT(Q.symbol,Q.timeframe??null,X,J)}if(U==="request.currency_rate"){let[X,J]=iT(Z);return GQ(X,J)}if(U==="request.seed")return sT(aT(Z));return nT()}function IQ(U){return!Array.isArray(U)}function eJ(U){if(!IQ(U))return{sec:{symbol:M8(U[0]),timeframe:M8(U[1]),expression:U[2]},value:UK(U[2])};return{sec:{symbol:U.symbol,timeframe:U.timeframe,expression:U.expression},value:U.sameSymbolValue??null}}function iT(U){if(!IQ(U))return[M8(U[0]),M8(U[1])];let Q=U.from??U.from_currency??null,Z=U.to??U.to_currency??null;return[Q,Z]}function aT(U){if(!IQ(U))return U[0]??0;return U.seed??0}function tT(U,Q){let Z=(U??"").trim().toUpperCase(),X=(Q??"").trim().toUpperCase();if(X!=="")return[Z,X];let J=Z.indexOf("/");if(J>=0)return[Z.slice(0,J),Z.slice(J+1)];if(/^[A-Z]{6}$/.test(Z))return[Z.slice(0,3),Z.slice(3)];return[Z,X]}function eT(U){if(typeof U==="number"&&Number.isFinite(U))return Math.trunc(U);if(typeof U==="string"){let Q=Number(U);if(U.trim()!==""&&Number.isFinite(Q))return Math.trunc(Q);return UG(U)}if(U==null)return 0;return UG(String(U))}function UG(U){let Q=2166136261;for(let Z=0;Z<U.length;Z++)Q^=U.charCodeAt(Z),Q=Math.imul(Q,16777619);return Q>>>0}function M8(U){if(U==null)return null;return typeof U==="string"?U:String(U)}function UK(U){if(U==null)return null;if(typeof U==="number")return Number.isFinite(U)?U:null;return null}var E8=60,$Q=86400,YQ=604800,TQ=2592000;function P8(U){let Q=G4(U);return Q==null?null:Q*E8}function XG(U){if(!Number.isFinite(U)||U<=0)return null;if(U<=E8)return"1";if(U<=$Q){let Z=Math.ceil(U/E8);return Z>=$Q/E8?"D":String(Z)}if(U<=YQ){let Z=Math.ceil(U/$Q);if(Z>=7)return"W";return Z<=1?"D":`${Z}D`}if(U<=TQ){let Z=Math.ceil(U/YQ);if(Z*YQ>=TQ)return"M";return Z<=1?"W":`${Z}W`}let Q=Math.ceil(U/TQ);return Q<=1?"M":`${Q}M`}function JG(U){if(KQ(U)||WQ(U)||OQ(U))return!1;return G4(U)!=null}function KQ(U){let Q=LQ(U);if(Q==null||/^\d+$/.test(Q))return!1;return Q==="D"||Q==="DAY"||Q==="DAYS"||/^\d+D$/.test(Q)}function WQ(U){let Q=LQ(U);if(Q==null||/^\d+$/.test(Q))return!1;return Q==="W"||Q==="WEEK"||Q==="WEEKS"||/^\d+W$/.test(Q)}function OQ(U){let Q=LQ(U);if(Q==null||/^\d+$/.test(Q))return!1;return Q==="M"||Q==="1M"||Q==="MO"||Q==="MONTH"||Q==="MONTHS"||/^\d+MO$/.test(Q)}function GG(U){if(U==null||U==="")return 1;let Q=U.trim().match(/^(\d+)/);return Q?Number(Q[1]):1}function LQ(U){if(U==null)return null;let Q=U.trim().toUpperCase();return Q===""?null:Q}function P6(U){return typeof U==="number"&&Number.isFinite(U)}function k8(U,Q,Z){if(U==null||typeof U!=="number"||!Number.isFinite(U))return Q;return Math.max(1,Math.min(Z,Math.trunc(U)))}function IG(U){return P6(U)?U:0}function VQ(U){if(U==null||typeof U!=="object"||Array.isArray(U))return;return{...U}}function A2(U,Q,Z){if(P6(Z))U[Q]=Z}function f2(U,Q,Z){U[Q]=Z}function QK(U,Q){if(!P6(U)||!P6(Q))return;return`${U},${Q}`}class g4{items=[];byId=new Map;nextId=0;maxLines=50;maxLabels=50;maxBoxes=50;maxPolylines=50;constructor(U){if(U!=null)this.configure(U)}configure(U){if(U==null||typeof U!=="object")return;if(U.max_lines_count!==void 0)this.maxLines=k8(U.max_lines_count,this.maxLines,500);if(U.max_labels_count!==void 0)this.maxLabels=k8(U.max_labels_count,this.maxLabels,500);if(U.max_boxes_count!==void 0)this.maxBoxes=k8(U.max_boxes_count,this.maxBoxes,500);if(U.max_polylines_count!==void 0)this.maxPolylines=k8(U.max_polylines_count,this.maxPolylines,100);this.gc("line",this.maxLines),this.gc("label",this.maxLabels),this.gc("box",this.maxBoxes),this.gc("polyline",this.maxPolylines)}get(U){return this.byId.get(U)}all(U){return this.items.filter((Q)=>Q.kind===U&&!Q.deleted)}lineNew(U,Q){return this.push("line",U,{extra:Q,cap:this.maxLines})}labelNew(U,Q){return this.push("label",U,{text:Q,cap:this.maxLabels})}boxNew(U){return this.push("box",U,{cap:this.maxBoxes})}tableNew(U){return this.push("table",U)}polylineNew(U){return this.push("polyline",U,{cap:this.maxPolylines})}linefillNew(U,Q,Z){let X={},J=VQ(Q);if(J!=null)Object.assign(X,J);else{if(P6(Q))X.id1=Q;if(P6(Z))X.id2=Z}return this.push("linefill",U,{extra:Object.keys(X).length?X:void 0})}alert(U,Q){this.items.push({kind:"alert",bar:IG(U),text:Q==null?"":String(Q)})}lineSetXy(U,Q,Z,X,J){let Y=this.extraOf(U);if(!Y)return;A2(Y,"x1",Q),A2(Y,"y1",Z),A2(Y,"x2",X),A2(Y,"y2",J)}lineSetXy1(U,Q,Z){let X=this.extraOf(U);if(!X)return;A2(X,"x1",Q),A2(X,"y1",Z)}lineSetXy2(U,Q,Z){let X=this.extraOf(U);if(!X)return;A2(X,"x2",Q),A2(X,"y2",Z)}labelSetText(U,Q){let Z=this.byId.get(U);if(!Z)return;Z.text=Q==null?"":String(Q)}labelSetXy(U,Q,Z){let X=this.extraOf(U);if(!X)return;A2(X,"x",Q),A2(X,"y",Z)}boxSet(U,Q){let Z=this.byId.get(U),X=VQ(Q);if(!Z||X==null)return;Z.extra={...Z.extra??{},...X}}boxSetCorners(U,Q,Z,X,J){let Y=this.extraOf(U,"box");if(!Y)return;A2(Y,"left",Q),A2(Y,"top",Z),A2(Y,"right",X),A2(Y,"bottom",J)}lineSetColor(U,Q){let Z=this.extraOf(U,"line");if(!Z)return;f2(Z,"color",Q)}lineSetWidth(U,Q){let Z=this.extraOf(U,"line");if(!Z)return;A2(Z,"width",Q)}lineSetStyle(U,Q){let Z=this.extraOf(U,"line");if(!Z)return;f2(Z,"style",Q)}lineSetExtend(U,Q){let Z=this.extraOf(U,"line");if(!Z)return;f2(Z,"extend",Q)}lineGetX1(U){return this.lineGetNum(U,"x1")}lineGetY1(U){return this.lineGetNum(U,"y1")}lineGetX2(U){return this.lineGetNum(U,"x2")}lineGetY2(U){return this.lineGetNum(U,"y2")}getX1(U){return this.extraNum(U,"x1")}getY1(U){return this.extraNum(U,"y1")}getX2(U){return this.extraNum(U,"x2")}getY2(U){return this.extraNum(U,"y2")}labelGetX(U){let Q=this.byId.get(U);if(!Q||Q.kind!=="label")return null;return this.extraNum(U,"x")}labelGetY(U){let Q=this.byId.get(U);if(!Q||Q.kind!=="label")return null;return this.extraNum(U,"y")}labelGetText(U){let Q=this.byId.get(U);if(!Q||Q.kind!=="label")return null;if(Q.text!==void 0)return Q.text;let Z=Q.extra?.text;return Z==null?null:String(Z)}lineGetPrice(U,Q){if(!P6(Q))return null;let Z=this.lineGetNum(U,"x1"),X=this.lineGetNum(U,"y1"),J=this.lineGetNum(U,"x2"),Y=this.lineGetNum(U,"y2");if(Z==null||X==null||J==null||Y==null)return null;if(Z===J)return X;let G=(Q-Z)/(J-Z);return X+G*(Y-X)}labelSetColor(U,Q){let Z=this.extraOf(U,"label");if(!Z)return;f2(Z,"color",Q)}labelSetStyle(U,Q){let Z=this.extraOf(U,"label");if(!Z)return;f2(Z,"style",Q)}labelSetSize(U,Q){let Z=this.extraOf(U,"label");if(!Z)return;f2(Z,"size",Q)}labelSetTextalign(U,Q){let Z=this.extraOf(U,"label");if(!Z)return;f2(Z,"textalign",Q)}labelSetTooltip(U,Q){let Z=this.extraOf(U,"label");if(!Z)return;f2(Z,"tooltip",Q)}boxSetBgcolor(U,Q){let Z=this.extraOf(U,"box");if(!Z)return;f2(Z,"bgcolor",Q)}boxSetBorderColor(U,Q){let Z=this.extraOf(U,"box");if(!Z)return;f2(Z,"border_color",Q)}boxSetText(U,Q){let Z=this.extraOf(U,"box");if(!Z)return;f2(Z,"text",Q==null?"":String(Q))}boxSetExtend(U,Q){let Z=this.extraOf(U,"box");if(!Z)return;f2(Z,"extend",Q)}tableCell(U,Q,Z,X){this.upsertCell(U,Q,Z,X,X!==void 0)}tableCellSetText(U,Q,Z,X){this.upsertCell(U,Q,Z,X,!0)}tableSetPosition(U,Q){let Z=this.extraOf(U,"table");if(!Z)return;f2(Z,"position",Q)}linefillSetColor(U,Q){let Z=this.extraOf(U,"linefill");if(!Z)return;f2(Z,"color",Q)}exportForApi(){let U=[];for(let Q of this.items){if(Q.deleted)continue;let Z={kind:Q.kind,bar:Q.bar};if(Q.text!==void 0)Z.text=Q.text;if(Q.extra!==void 0)Z.extra={...Q.extra};U.push(Z)}return U}lineDelete(U){this.markDeleted(U)}labelDelete(U){this.markDeleted(U)}boxDelete(U){this.markDeleted(U)}push(U,Q,Z){let X=this.nextId++,J={kind:U,bar:IG(Q)};if(Z?.text!==void 0&&Z.text!==null)J.text=String(Z.text);let Y=VQ(Z?.extra);if(Y!==void 0)J.extra=Y;if(this.items.push(J),this.byId.set(X,J),Z?.cap!=null)this.gc(U,Z.cap);return X}extraOf(U,Q){let Z=this.byId.get(U);if(!Z)return;if(Q!=null&&Z.kind!==Q)return;if(Z.extra==null)Z.extra={};return Z.extra}lineGetNum(U,Q){let Z=this.byId.get(U);if(!Z||Z.kind!=="line")return null;let X=Z.extra?.[Q];return P6(X)?X:null}extraNum(U,Q){let Z=this.byId.get(U);if(!Z)return null;let X=Z.extra?.[Q];return P6(X)?X:null}upsertCell(U,Q,Z,X,J){let Y=this.extraOf(U,"table"),G=QK(Q,Z);if(!Y||G==null)return;let L=Y.cells,z=L!=null&&typeof L==="object"&&!Array.isArray(L)?L:{};if(z!==L)Y.cells=z;let D=z[G],S=D!=null&&typeof D==="object"&&!Array.isArray(D)?D:{};if(J)S.text=X==null?"":String(X);else if(S.text===void 0)S.text="";z[G]=S}markDeleted(U){let Q=this.byId.get(U);if(!Q)return;Q.deleted=!0}gc(U,Q){let Z=Q>0?Q:50,X=0;for(let Y of this.items)if(Y.kind===U&&!Y.deleted)X++;let J=X-Z;if(J<=0)return;for(let Y=0;Y<this.items.length&&J>0;){let G=this.items[Y];if(G.kind===U&&!G.deleted)G.deleted=!0,this.items.splice(Y,1),this.forget(G),J--;else Y++}}forget(U){for(let[Q,Z]of this.byId)if(Z===U){this.byId.delete(Q);return}}}class f4{records=[];info(U,Q){this.records.push({level:"INFO",bar:U,message:Q})}warning(U,Q){this.records.push({level:"WARNING",bar:U,message:Q})}error(U,Q){this.records.push({level:"ERROR",bar:U,message:Q})}clear(){this.records.length=0}snapshot(){return this.records.slice()}}class DQ extends Error{name="RuntimeError";constructor(U){super(U)}}function HQ(U){throw new DQ(U)}function I4(U){if(U.length===0)return"";let Q=U[0];if(typeof Q==="string"&&U.length>1&&/\{[0-9]/.test(Q))return Q.replace(/\{(\d+)\}/g,(Z,X)=>$G(U[Number(X)+1]));return U.map($G).join(" ")}function $G(U){if(U==null)return"na";if(typeof U==="number"&&!Number.isFinite(U))return"na";return String(U)}class u1{symbol;session;adjust;heikinashi=!1;renko=!1;kagi=!1;linebreak=!1;pointfigure=!1;constructor(U,Q,Z){this.symbol=U;this.session=Q;this.adjust=Z}toString(){return this.symbol}}function FQ(U,Q,Z){return new u1(U,Q,Z)}function RQ(U){let Q=new u1(typeof U==="string"?U:String(U));return Q.heikinashi=!0,Q}function zQ(U){return new u1(U)}function SQ(U){let Q=new u1(U);return Q.renko=!0,Q}function MQ(U){let Q=new u1(typeof U==="string"?U:String(U));return Q.kagi=!0,Q}function qQ(U){let Q=new u1(typeof U==="string"?U:String(U));return Q.linebreak=!0,Q}function CQ(U){let Q=new u1(typeof U==="string"?U:String(U));return Q.pointfigure=!0,Q}function EQ(U,Q){let Z=typeof U==="string"?new u1(U):U,X=new u1(Q?.symbol??Z.symbol,Q?.session??Z.session,Q?.adjust??Q?.adjustment??Z.adjust);return X.heikinashi=Z.heikinashi,X.renko=Z.renko,X.kagi=Z.kagi,X.linebreak=Z.linebreak,X.pointfigure=Z.pointfigure,X}var ZK=new Set(["input","input.bool","input.int","input.float","input.price","input.string","input.symbol","input.session","input.source","input.time","input.timeframe","input.color","input.enum","input.text_area"]);function YG(U){return U!=null&&ZK.has(U)}function XK(U,Q={}){if(Q.defval!==void 0)return Q.defval;return U[0]}function TG(U,Q,Z={}){let X=XK(Q,Z);switch(U){case"input.bool":return X==null?!1:Boolean(X);case"input.int":case"input.time":return GK(X,0);case"input.float":case"input.price":return KG(X,0);case"input.string":case"input.symbol":case"input.session":case"input.source":case"input.timeframe":case"input.color":case"input.enum":case"input.text_area":return X==null?"":String(X);default:return JK(X)}}function PQ(U){if(U==null)return null;if(typeof U==="boolean")return U?1:0;if(typeof U==="number")return Number.isFinite(U)?U:null;let Q=Number(U);return Number.isFinite(Q)?Q:null}function JK(U){if(U==null)return null;if(typeof U==="boolean"||typeof U==="string")return U;if(typeof U==="number")return Number.isFinite(U)?U:null;return null}function KG(U,Q){if(typeof U==="number"&&Number.isFinite(U))return U;if(typeof U==="boolean")return U?1:0;if(typeof U==="string"&&U!==""){let Z=Number(U);if(Number.isFinite(Z))return Z}return Q}function GK(U,Q){return Math.trunc(KG(U,Q))}function P1(U){return U!==null&&Number.isFinite(U)?U:null}function b1(U){return Number.isFinite(U)?U:null}function WG(U){return U>=0?Math.round(U):-Math.round(-U)}function _8(U){let Q=P1(U);return Q===null?null:Math.abs(Q)}function A8(U){let Q=P1(U);if(Q===null)return null;if(Q>0)return 1;if(Q<0)return-1;return 0}function j8(U){let Q=P1(U);if(Q===null||Q<0)return null;return b1(Math.sqrt(Q))}function OG(U,Q){let Z=P1(U);if(Z===null||Z<=0)return null;if(Q===void 0)return b1(Math.log(Z));let X=P1(Q);if(X===null||X<=0||X===1)return null;return b1(Math.log(Z)/Math.log(X))}function B8(U){let Q=P1(U);if(Q===null||Q<=0)return null;return b1(Math.log10(Q))}function N8(U){let Q=P1(U);return Q===null?null:b1(Math.exp(Q))}function w8(U,Q){let Z=P1(U),X=P1(Q);if(Z===null||X===null)return null;return b1(Math.pow(Z,X))}function y8(...U){if(U.length===0)return null;let Q=-1/0;for(let Z of U){let X=P1(Z);if(X===null)return null;if(X>Q)Q=X}return b1(Q)}function x8(...U){if(U.length===0)return null;let Q=1/0;for(let Z of U){let X=P1(Z);if(X===null)return null;if(X<Q)Q=X}return b1(Q)}function g8(U,Q){let Z=P1(U);if(Z===null)return null;if(Q===void 0)return WG(Z);let X=P1(Q);if(X===null)return null;let J=10**Math.trunc(X);if(!Number.isFinite(J))return null;return b1(WG(Z*J)/J)}function f8(U){let Q=P1(U);return Q===null?null:Math.floor(Q)}function p8(U){let Q=P1(U);return Q===null?null:Math.ceil(Q)}function v8(...U){if(U.length===0)return null;let Q=0;for(let Z of U){let X=P1(Z);if(X===null)return null;Q+=X}return b1(Q/U.length)}function LG(...U){if(U.length===0)return null;let Q=0;for(let Z of U){let X=P1(Z);if(X===null)return null;Q+=X}return b1(Q)}function h8(U,Q){let Z=P1(U);return Z===null?null:b1(Q(Z))}function c8(U){return h8(U,Math.sin)}function u8(U){return h8(U,Math.cos)}function b8(U){return h8(U,Math.tan)}function l8(U){let Q=P1(U);if(Q===null||Q<-1||Q>1)return null;return b1(Math.asin(Q))}function d8(U){let Q=P1(U);if(Q===null||Q<-1||Q>1)return null;return b1(Math.acos(Q))}function o8(U){return h8(U,Math.atan)}function m8(U){let Q=P1(U);return Q===null?null:b1(Q*180/Math.PI)}function r8(U){let Q=P1(U);return Q===null?null:b1(Q*Math.PI/180)}function VG(U){if(U===null)return null;return Number.isFinite(U)?1:0}function DG(U,Q=0.01){let Z=P1(U),X=P1(Q);if(Z===null||X===null||X<=0)return Z===null?null:b1(Number(Z.toFixed(8)));return b1(Math.round(Z/X)*X)}function HG(U,Q,Z){if(U===null||!Number.isFinite(U))return null;return U?Q:Z}function FG(U){if(U===null||!Number.isFinite(U))return 0;return U}function RG(U,Q,Z=Math.random){if(U===void 0&&Q===void 0)return b1(Z());if(Q===void 0){let Y=P1(U);if(Y===null)return null;return b1(Y*Z())}let X=P1(U),J=P1(Q);if(X===null||J===null)return null;return b1(X+(J-X)*Z())}function Y4(U){let Q=Number.isFinite(U)?Math.trunc(U/1000):0;if(Q<-62167219200)Q=-62167219200;else if(Q>253402300799)Q=253402300799;let Z=Math.trunc(Q/86400),X=Q%86400;if(X<0)Z-=1,X+=86400;let J=Math.trunc(X/3600);X%=3600;let Y=Math.trunc(X/60),G=X%60,z=(((Z+3)%7+7)%7+1)%7+1,D=Z+719468,S=Math.trunc((D>=0?D:D-146096)/146097),H=D-S*146097,q=Math.trunc((H-Math.trunc(H/1460)+Math.trunc(H/36524)-Math.trunc(H/146096))/365),E=q+S*400,P=H-(365*q+Math.trunc(q/4)-Math.trunc(q/100)),k=Math.trunc((5*P+2)/153),_=P-Math.trunc((153*k+2)/5)+1,j=k<10?k+3:k-9;return{year:E+(j<=2?1:0),month:j,dayofmonth:_,hour:J,minute:Y,second:G,dayofweek:z}}var zG=86400000,jQ=86400,SG={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function $4(U,Q){return Math.floor(U/Q)}function CG(U,Q){return(U%Q+Q)%Q}function wQ(U,Q,Z){U-=Q<=2?1:0;let X=$4(U>=0?U:U-399,400),J=U-X*400,Y=$4(153*(Q+(Q>2?-3:9))+2,5)+Z-1,G=J*365+$4(J,4)-$4(J,100)+Y;return X*146097+G-719468}function IK(U){return U%4===0&&(U%100!==0||U%400===0)}function $K(U,Q){if(Q===2)return IK(U)?29:28;return Q===4||Q===6||Q===9||Q===11?30:31}function YK(U,Q,Z,X,J,Y){return(wQ(U,Q,Z)*jQ+X*3600+J*60+Y)*1000}function TK(U,Q){let Z=U,X=Q;if(X===0)X=1;else if(X<1||X>12){let J=X-1;Z+=$4(J,12),X=CG(J,12)+1}if(Z<1)Z=1;else if(Z>9999)Z=9999;return[Z,X]}function s8(U){if(U==null)return null;if(typeof U==="number")return Number.isFinite(U)?Math.trunc(U):null;if(typeof U==="string"){let Q=U.trim();if(!Q)return null;let Z=Number(Q);return Number.isFinite(Z)?Math.trunc(Z):null}return null}function kQ(U,Q=0){if(U==null)return Q;if(typeof U==="number")return Number.isFinite(U)?Math.trunc(U):Q;if(typeof U==="string"){let Z=U.trim();if(!Z)return Q;let X=Number(Z);return Number.isFinite(X)?Math.trunc(X):Q}return Q}function p4(U,Q,Z){return(U==="+"?1:-1)*(Q*60+Z)}function _Q(U,Q){if(!Q||Q.length>4||!/^\d+$/.test(Q))return null;if(Q.length<=2)return p4(U,Number(Q),0);let Z=Q.padStart(4,"0");return p4(U,Number(Z.slice(0,2)),Number(Z.slice(2)))}function KK(U){let Q=U.trim();if(!Q||/^(?:syminfo\.timezone|UTC|utc|Etc\/UTC|GMT|gmt)$/.test(Q))return 0;let Z=/^(?:(?:UTC|GMT)\s*)?([+-])\s*(\d{1,2})(?::(\d{2})|(\d{2}))?$/i.exec(Q);if(!Z)return 0;return p4(Z[1],Number(Z[2]),Number(Z[3]||Z[4]||0))}function MG(U){let Q=U.trim().replace(/\s+/g," ");return Q=Q.replace(/\b0000-/,"0001-"),Q=Q.replace(/(\d{4}-\d{2}-\d{2}):(\d{1,2}:\d{2})/,"$1 $2"),Q=Q.replace(/(\d)([A-Za-z]{3,})/g,"$1 $2"),Q=Q.replace(/\bSept\b/gi,"Sep"),Q=Q.replace(/\bJanv\b/gi,"Jan"),Q}function WK(U){let Q=0,Z=/^(?:UTC|GMT)\s+/i.exec(U);if(Z)U=U.slice(Z[0].length).trim();let X=/\s*(?:GMT|UTC)\s*([+-])(\d{1,2})(?::?(\d{2}))?\s*$/i.exec(U);if(X&&X.index!==void 0)return Q=p4(X[1],Number(X[2]),X[3]?Number(X[3]):0),{date:U.slice(0,X.index).trim(),offsetMin:Q};if(X=/Z\s*$/i.exec(U),X&&U.length>1&&X.index!==void 0)return{date:U.slice(0,X.index).trim(),offsetMin:Q};if(X=/\s+([+-])(\d{1,2}):(\d{2})\s*$/.exec(U),X&&X.index!==void 0)return Q=p4(X[1],Number(X[2]),Number(X[3])),{date:U.slice(0,X.index).trim(),offsetMin:Q};if(X=/\s+([+-])(\d{1,4})\s*$/.exec(U),X&&X.index!==void 0){let J=_Q(X[1],X[2]);if(J!=null)return{date:U.slice(0,X.index).trim(),offsetMin:J}}if(X=/(?<=\d)([+-])(\d{2}):(\d{2})\s*$/.exec(U),X&&X.index!==void 0)return Q=p4(X[1],Number(X[2]),Number(X[3])),{date:U.slice(0,X.index).trim(),offsetMin:Q};if(X=/(?<=\d)([+-])(\d{4})\s*$/.exec(U),X&&X.index!==void 0){let J=_Q(X[1],X[2]);if(J!=null)return{date:U.slice(0,X.index).trim(),offsetMin:J}}if(X=/(?<=\d)([+-])(\d{2})\s*$/.exec(U),X&&X.index!==void 0){let J=U.slice(0,X.index);if(/\d{1,2}:\d{2}$/.test(J)||J.endsWith("T")||/T\d/.test(J)){let Y=_Q(X[1],X[2]);if(Y!=null)return{date:J.trim(),offsetMin:Y}}}return{date:U.replace(/\s+(?:GMT|UTC)\s*$/i,"").trim(),offsetMin:Q}}function n8(U,Q,Z,X,J,Y){if(U<1||U>9999)return null;if(Q<1||Q>12)return null;if(Z<1||Z>$K(U,Q))return null;if(X<0||X>23||J<0||J>59||Y<0||Y>59)return null;return YK(U,Q,Z,X,J,Y)}function OK(U){let Q=/^([A-Za-z]+)\s+(\d{1,2}),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(U);if(Q){let Z=SG[Q[1].toLowerCase()];if(Z==null)return null;return n8(Number(Q[3]),Z,Number(Q[2]),Number(Q[4]??0),Number(Q[5]??0),Number(Q[6]??0))}if(Q=/^(\d{1,2})\s+([A-Za-z]+),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(U),Q){let Z=SG[Q[2].toLowerCase()];if(Z==null)return null;return n8(Number(Q[3]),Z,Number(Q[1]),Number(Q[4]??0),Number(Q[5]??0),Number(Q[6]??0))}if(Q=/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(U),Q)return n8(Number(Q[1]),Number(Q[2]),Number(Q[3]),Number(Q[4]??0),Number(Q[5]??0),Number(Q[6]??0));if(Q=/^(\d{4})\s+(\d{1,2})\s+(\d{1,2})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(U),Q)return n8(Number(Q[1]),Number(Q[2]),Number(Q[3]),Number(Q[4]??0),Number(Q[5]??0),Number(Q[6]??0));return null}function qG(U,Q){let Z=OK(U);if(Z==null)return null;return Z-Q*60000}function EG(U,Q,Z){return wQ(U,Q,Z)+719163}function AQ(U){let Q=EG(U,1,1),Z=CG(Q+6,7),X=Q-Z;if(Z>3)X+=7;return X}function LK(U,Q,Z){let X=EG(U,Q,Z),J=AQ(U),Y=$4(X-J,7);if(Y<0)J=AQ(U-1),Y=$4(X-J,7);else if(Y>=52&&X>=AQ(U+1))Y=0;return Y+1}function BQ(U,Q,Z,X=0,J=0,Y=0,G){let L=s8(U),z=s8(Q),D=s8(Z);if(L==null||z==null||D==null)return null;let S=kQ(X,0),H=kQ(J,0),q=kQ(Y,0),[E,P]=TK(L,z),_=wQ(E,P,1)*jQ+(D-1)*jQ+S*3600+H*60+q;if(G!=null&&Number.isFinite(G))_-=Math.trunc(G)*60;return _*1000}function NQ(U){let Q=U.trim();if(!Q)return null;let Z=MG(Q),X=qG(Z,0);if(X!=null)return X;let J=WK(Z),Y=MG(J.date);if(!Y)return null;return qG(Y,J.offsetMin)}function A7(...U){let Q=U.length;if(Q===0)return null;if(Q===1){let Z=U[0];if(typeof Z==="string")return NQ(Z);return s8(Z)}if(typeof U[0]==="string"){let Z=U[0].trim(),X=Z!==""&&/^[+-]?\d+(?:\.\d+)?$/.test(Z);if(Q>=4&&!X)return BQ(U[1],U[2],U[3],Q>4?U[4]:0,Q>5?U[5]:0,Q>6?U[6]:0,KK(U[0]));if(Q<4)return NQ(U[0])}if(Q>=3)return BQ(U[0],U[1],U[2],Q>3?U[3]:0,Q>4?U[4]:0,Q>5?U[5]:0);return null}function j7(U){if(!Number.isFinite(U))return null;let Q=Y4(U);return LK(Q.year,Q.month,Q.dayofmonth)}function B7(U){if(!Number.isFinite(U))return null;return Math.floor(U/zG)*zG}function yQ(U){if(U==null||typeof U!=="object"||Array.isArray(U))return!1;let Q=Object.getPrototypeOf(U);return Q===Object.prototype||Q===null}function N7(U){if(U==null)return null;if(typeof U==="boolean")return U?1:0;if(typeof U==="number"){if(!Number.isFinite(U))return null;return Math.trunc(U)}if(typeof U==="bigint"){let Q=Number(U);if(!Number.isFinite(Q))return null;return Math.trunc(Q)}if(typeof U==="string"){let Q=U.trim();if(!/^[+-]?\d+$/.test(Q))return null;let Z=Number(Q);if(!Number.isFinite(Z))return null;return Math.trunc(Z)}return null}function PG(U,Q,Z){let X=U.slice();for(let[J,Y]of Object.entries(Q)){let G=Z.indexOf(J);if(G<0)continue;while(X.length<=G)X.push(null);if(G<U.length&&U[G]!=null)continue;X[G]=Y}return X}function kG(U,Q){if(Q!==void 0)return{args:U,kwargs:Q};if(U.length===0)return{args:[],kwargs:{}};if(U.length===1&&yQ(U[0]))return{args:[],kwargs:U[0]};if(Array.isArray(U[0])&&(U.length===1||U.length===2)&&(U[1]===void 0||yQ(U[1])))return{args:U[0],kwargs:U[1]??{}};let Z=U[U.length-1];if(U.length>1&&yQ(Z))return{args:U.slice(0,-1),kwargs:Z};return{args:U,kwargs:{}}}function _G(U,Q){let Z=["dimension_x","dimension_y","index_x","index_y"],X={dim_x:"dimension_x",dim_y:"dimension_y",ix:"index_x",iy:"index_y"},J={};for(let[D,S]of Object.entries(Q))J[X[D]??D]=S;let Y=PG(U,J,Z);if(Y.length<4)return null;let G=N7(Y[1]),L=N7(Y[2]),z=N7(Y[3]);if(G==null||L==null||z==null)return null;return L*G+z}function AG(U,Q){let Z=["dimension_x","dimension_y","index"],X={dim_x:"dimension_x",dim_y:"dimension_y",i:"index"},J={};for(let[S,H]of Object.entries(Q))J[X[S]??S]=H;let Y=PG(U,J,Z);if(Y.length<3)return null;let G=N7(Y[1]),L=N7(Y[2]);if(G==null||L==null||G===0)return null;let z=Math.floor(L/G),D=(L%G+G)%G;return[z,D]}function VK(...U){let Q=kG(U);return _G(Q.args,Q.kwargs)}function DK(...U){let Q=kG(U);return AG(Q.args,Q.kwargs)}var u6={index_2d_to_1d:VK,index_1d_to_2d:DK};function HK(U,Q=[],Z={}){if(U==="index_2d_to_1d")return _G(Q,Z);if(U==="index_1d_to_2d")return AG(Q,Z);let X=u6[U];if(X==null)return;return X(Q,Z)}function FK(U){if(U==null)return new Map;if(U instanceof Map)return U;return new Map(Object.entries(U))}class T4{title;namespace;version;exports;kinds;resolveStubs;constructor(U,Q){this.title=U,this.namespace=Q?.namespace??null,this.version=Q?.version??null,this.exports=FK(Q?.exports),this.kinds=new Map,this.resolveStubs=Q?.resolveStubs===!0}get(U){if(this.exports.has(U))return this.exports.get(U);if(this.resolveStubs&&Object.hasOwn(u6,U))return u6[U];return}has(U){if(this.exports.has(U))return!0;return this.resolveStubs&&Object.hasOwn(u6,U)}setExport(U,Q){this.putExport(U,Q,"const")}exportType(U,Q){this.putExport(U,Q,"type")}exportEnum(U,Q){this.putExport(U,Q,"enum")}exportFn(U,Q){this.putExport(U,Q,"fn")}kindOf(U){let Q=this.kinds.get(U);if(Q!==void 0)return Q;if(this.resolveStubs&&Object.hasOwn(u6,U))return"fn";return}allExports(){let U={};for(let[Q,Z]of this.exports)U[Q]=Z;return U}putExport(U,Q,Z){this.exports.set(U,Q),this.kinds.set(U,Z)}}function xQ(U){return new T4(U,{resolveStubs:!0})}function i8(U,Q,Z){return`${U}\x00${Q}\x00${Math.trunc(Z)}`}class w7{byPath=new Map;byTitle=new Map;sources=new Map;register(U){if(this.byTitle.set(U.title,U),U.namespace!=null&&U.version!=null)this.byPath.set(i8(U.namespace,U.title,U.version),U)}registerSource(U,Q,Z,X){this.sources.set(i8(U,Q,Math.trunc(Z)),X)}getSource(U,Q,Z){return this.sources.get(i8(U,Q,Math.trunc(Z)))??null}lookup(U){let{namespace:Q,name:Z,version:X}=U;if(Q!=null&&X!=null){let J=this.byPath.get(i8(Q,Z,X));if(J!=null)return J}return this.byTitle.get(Z)??null}clear(){this.byPath.clear(),this.byTitle.clear(),this.sources.clear()}}var m=null;class v4{data=[];push(U){this.data.push(U)}setCurrent(U){if(this.data.length===0)this.data.push(U);else this.data[this.data.length-1]=U}get current(){return this.data.length===0?null:this.data[this.data.length-1]}get(U){if(typeof U!=="number"||!Number.isFinite(U)||U<0)return null;let Q=this.data.length;if(Q===0)return null;let Z=Q-1-Math.trunc(U);if(Z<0||Z>=Q)return null;let X=this.data[Z];if(X==null)return null;if(typeof X==="number"&&!Number.isFinite(X))return null;return X}get length(){return this.data.length}}function q1(U){if(U==null)return null;return typeof U==="string"?U:String(U)}function h4(U){return q1(U)??""}function y7(U){let Q=q1(U);return Q==null?null:Q.length}function x7(U,Q){let Z=q1(U),X=q1(Q);if(Z==null||X==null)return null;return Z.includes(X)}function g7(U){let Q=q1(U);return Q==null?null:Q.toUpperCase()}function f7(U){let Q=q1(U);return Q==null?null:Q.toLowerCase()}function p7(U,Q,Z,X){if(U==null)return null;let J=q1(U)??"",Y=q1(Q)??"",G=q1(Z)??"",L=typeof X==="number"&&Number.isFinite(X)?Math.trunc(X):0;if(L<0)return J;if(Y===""){if(L>J.length)return J;return J.slice(0,L)+G+J.slice(L)}let z=0;for(let D=0;D<=L;D++){let S=J.indexOf(Y,z);if(S<0)return J;if(D===L)return J.slice(0,S)+G+J.slice(S+Y.length);z=S+Y.length}return J}function gQ(U){if(U==null)return null;if(typeof U==="boolean")return U?1:0;if(typeof U==="number")return Number.isFinite(U)?Math.trunc(U):null;if(typeof U==="string"){let Q=Number(U.trim());return Number.isFinite(Q)?Math.trunc(Q):null}return null}function RK(U){if(U===0)return"0";let Q=U.toPrecision(6);if(/[eE]/.test(Q))return Q.replace(/\.?0+([eE])/,"$1");return String(Number(Q))}function v7(U,Q){let Z=q1(U),X=q1(Q);if(Z==null||X==null)return null;return Z.startsWith(X)}function h7(U,Q){let Z=q1(U),X=q1(Q);if(Z==null||X==null)return null;return Z.endsWith(X)}function c7(U,Q,Z){if(U==null)return null;let X=q1(U)??"";if(Q==null)return null;let J=gQ(Q);if(J==null)return null;if(Z===void 0)return X.slice(J);if(Z==null)return null;let Y=gQ(Z);if(Y==null)return null;return X.slice(J,Y)}var zK=1e6;function BG(U,Q){if(U==null||Q==null)return null;let Z=q1(U)??"",X=gQ(Q);if(X==null)return null;if(X<0)X=0;if(Z.length>0&&X>Math.floor(zK/Z.length))return null;return Z.repeat(X)}function u7(U){let Q=q1(U);return Q==null?null:Q.trim()}function NG(U,Q){let Z=U==null?"":q1(U)??"";if(Q===void 0||Q==null){let J=Z.trim();return J===""?[]:J.split(/\s+/)}let X=q1(Q)??"";if(X==="")return[...Z];return Z.split(X)}function b7(U){if(U==null)return null;if(typeof U==="boolean")return U?1:0;if(typeof U==="number")return Number.isFinite(U)?U:null;let Q=(q1(U)??"").trim();if(!Q)return null;let Z=Number(Q);return Number.isFinite(Z)?Z:null}function wG(U,Q){let Z=q1(U),X=q1(Q);if(Z==null||X==null)return null;return Z.indexOf(X)}function yG(U,Q){let Z=q1(U),X=q1(Q);if(Z==null||X==null)return null;try{let J=Z.match(new RegExp(X));return J==null?null:J[0]}catch{return null}}var jG="yyyy-MM-dd'T'HH:mm:ssZ",SK=["January","February","March","April","May","June","July","August","September","October","November","December"],MK=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function b6(U){return U<10?`0${U}`:String(U)}function qK(U){let Q=new Date(U);return{year:Q.getUTCFullYear(),month:Q.getUTCMonth()+1,day:Q.getUTCDate(),hour:Q.getUTCHours(),minute:Q.getUTCMinutes(),second:Q.getUTCSeconds()}}function CK(U){let Q=U;if(Array.isArray(Q))Q=Q.length?Q[Q.length-1]:null;if(typeof Q!=="string")return 0;let Z=Q.trim();if(!Z||Z==="syminfo.timezone"||Z==="UTC"||Z==="utc"||Z==="Etc/UTC"||Z==="GMT")return 0;if(Z.toUpperCase().includes("GMT")||Z.startsWith("UTC+")||Z.startsWith("UTC-")||Z.startsWith("utc+")||Z.startsWith("utc-")){let X=Z.toUpperCase().replaceAll("GMT","").replaceAll("UTC","").trim();if(!X||!/^[+-]?\d+$/.test(X))return 0;let J=Number.parseInt(X,10);return Number.isFinite(J)?J:0}return 0}function EK(U){let Q=U;if(Q!=null&&typeof Q==="object"&&"current"in Q)Q=Q.current;if(Q==null||typeof Q==="boolean"||typeof Q==="string")return null;if(typeof Q!=="number"||!Number.isFinite(Q))return null;let Z=Math.trunc(Q);if(Z>0&&Z<10000000000)Z*=1000;return Z}function PK(U){return`${U>=0?"+":"-"}${b6(Math.abs(U))}00`}function kK(U){if(U===0)return"UTC";return`UTC${U>=0?"+":"-"}${b6(Math.abs(U))}:00`}function l7(U,Q,Z){let X=EK(U);if(X==null)return"NaN";let J=Q==null?jG:q1(Q)??jG,Y=CK(Z),G=qK(X+Y*3600000),L=(G.hour-1)%12+1,z={yyyy:String(G.year),yy:String(G.year).slice(-2),MMMM:SK[G.month-1]??"",MMM:MK[G.month-1]??"",MM:b6(G.month),M:String(G.month),dd:b6(G.day),d:String(G.day),HH:b6(G.hour),H:String(G.hour),hh:b6(L),h:String(L),mm:b6(G.minute),m:String(G.minute),ss:b6(G.second),s:String(G.second),a:G.hour<12?"AM":"PM",zzz:kK(Y),z:PK(Y)},D=J;for(let S of Object.keys(z).sort((H,q)=>q.length-H.length))D=D.split(S).join(z[S]);return D.replaceAll("'","")}function d7(U,...Q){if(U==null)return"NaN";return(typeof U==="string"?U:String(U)).replace(/\{([^{}]+)\}/g,(X,J)=>{let Y=J.split(",").map((S)=>S.trim()),G=Number.parseInt(Y[0]??"",10);if(!Number.isFinite(G))return X;if(G<0||G>=Q.length)return"";let L=Q[G];if(L==null)return"NaN";let z=(Y[1]??"").toLowerCase(),D=Y[2]??"";if(z===""||z==="string")return String(L);if(z==="number"){let S=typeof L==="number"?L:Number(L);if(!Number.isFinite(S))return String(L);if(D){if(D.includes(".")){let H=D.split(".",2)[1].length;return S.toFixed(H)}return String(Math.trunc(S))}return RK(S)}if(z==="integer"){let S=typeof L==="number"?L:Number(L);if(!Number.isFinite(S))return String(L);return String(Math.trunc(S))}return String(L)})}function xG(U,Q){if(U==null)return null;if(!Array.isArray(U))return null;let Z=Q==null?"":q1(Q)??"";return U.map((X)=>X==null?"":String(X)).join(Z)}function _K(U,Q,Z){if(Q==="")return U;return U.split(Q).join(Z)}function gG(U,Q,Z){if(U==null)return null;let X=q1(U)??"",J=q1(Q)??"",Y=q1(Z)??"";return _K(X,J,Y)}function d0(U){return typeof U==="number"&&Number.isFinite(U)}function fG(U){return d0(U)?U:null}function AK(U,Q,Z,X){let{limit:J,stop:Y,direction:G}=U;if(J!=null&&Y!=null){if(G==="long"&&Z>=Y&&X<=J)return J;if(G==="short"&&X<=Y&&Z>=J)return J;return null}if(J!=null){if(G==="long"&&X<=J)return Math.min(J,Q);if(G==="short"&&Z>=J)return Math.max(J,Q);return null}if(Y!=null){if(G==="long"&&Z>=Y)return Math.max(Y,Q);if(G==="short"&&X<=Y)return Math.min(Y,Q);return null}return null}function pG(U,Q){return d0(U)?U:Q}function vG(U){if(U==null||!d0(U))return;return Math.max(0,Math.trunc(U))}function a8(U){if(U===1||U==="1")return"long";if(U===-1||U==="-1")return"short";let Q=String(U??"").toLowerCase();if(Q.includes("long"))return"long";if(Q.includes("short"))return"short";return"long"}function hG(U){let Q=Math.trunc(U);if(Q>10000000000)return Math.trunc(Q/86400000);if(Q>1e7)return Math.trunc(Q/86400);return Q}function jK(U){let Q=String(U??"none").trim().toLowerCase();if(Q==="cancel"||Q==="oca.cancel"||Q==="strategy.oca.cancel")return"cancel";if(Q==="reduce"||Q==="oca.reduce"||Q==="strategy.oca.reduce")return"reduce";return"none"}class o7{events=[];position={qty:0,avgPrice:null};fills=[];pending=[];openTrades=[];closedTrades=[];commissionPaid=0;realizedPnl=0;closedCount=0;wintrades=0;losstrades=0;eventrades=0;grossprofit=0;grossloss=0;initialCapital=1e6;allow_entry_in="all";max_position_size_percent;max_drawdown_risk;max_drawdown_risk_percent;max_cons_loss_days;max_intraday_loss=Number.POSITIVE_INFINITY;max_intraday_filled_orders;entries_blocked=!1;consecutive_loss_days=0;get opentrades(){return this.openTrades.length}get closedtrades(){return this.closedTrades.length}commission;slippage;pyramiding;sameDirAdds=0;lastTradeDay=null;dayPnl=0;fillsDay=null;dayFilledOrders=0;equityPeak;equityTrough;maxDrawdownAbs=0;maxDdPercent=0;maxRunupAbs=0;maxRuPercent=0;maxHeldAll=0;maxHeldLong=0;maxHeldShort=0;constructor(U){this.commission=pG(U?.commission,0),this.slippage=pG(U?.slippage,0),this.pyramiding=vG(U?.pyramiding),this.equityPeak=this.initialCapital,this.equityTrough=this.initialCapital}equity(U){this.ensureSanePosition();let Q=this.position.qty,Z=this.position.avgPrice,X=d0(this.realizedPnl)?this.realizedPnl:0,J=d0(this.commissionPaid)?this.commissionPaid:0,Y=Q===0||!d0(Z)||!d0(U)?0:Q*(U-Z),G=this.initialCapital+X-J+Y;return this.trackEquityCurve(G),G}closedTrade(U){return this.pickTrade(this.closedTrades,U)}openTrade(U){return this.pickTrade(this.openTrades,U)}closedEntryBar(U){return this.closedTrade(U)?.entryBar??null}closedEntryPrice(U){return this.closedTrade(U)?.entryPrice??null}closedExitBar(U){return this.closedTrade(U)?.exitBar??null}closedExitPrice(U){return this.closedTrade(U)?.exitPrice??null}closedProfit(U){let Q=this.closedTrade(U);return Q!=null&&Q.profit!==void 0?Q.profit:null}closedSize(U){return this.closedTrade(U)?.qty??null}closedId(U){return this.closedTrade(U)?.id??null}closedCommission(U){return this.closedTrade(U)?.commission??null}openEntryBar(U){return this.openTrade(U)?.entryBar??null}openEntryPrice(U){return this.openTrade(U)?.entryPrice??null}openSize(U){return this.openTrade(U)?.qty??null}openId(U){return this.openTrade(U)?.id??null}openProfit(U,Q){let Z=this.openTrade(U);if(Z==null||!d0(Q))return null;return this.markProfit(Z,Q)}avgTrade(){let U=this.closedTrades.length;return U===0?0:(this.grossprofit-this.grossloss)/U}avgWinningTrade(){return this.wintrades===0?0:this.grossprofit/this.wintrades}avgLosingTrade(){return this.losstrades===0?0:this.grossloss/this.losstrades}netprofit(){return d0(this.realizedPnl)?this.realizedPnl:0}netprofitPercent(U){return this.pctOfInitial(this.netprofit())}openprofit(U){this.ensureSanePosition();let Q=this.position.qty,Z=this.position.avgPrice;if(Q===0||!d0(Z)||!d0(U))return 0;return Q*(U-Z)}openprofitPercent(U){return this.pctOfInitial(this.openprofit(U))}grossprofitPercent(){return this.pctOfInitial(this.grossprofit)}grosslossPercent(){return this.pctOfInitial(this.grossloss)}avgTradePercent(){return this.pctOfInitial(this.avgTrade())}avgWinningTradePercent(){return this.pctOfInitial(this.avgWinningTrade())}avgLosingTradePercent(){return this.pctOfInitial(this.avgLosingTrade())}maxDrawdown(){return this.maxDrawdownAbs}maxDrawdownPercent(){return this.maxDdPercent}maxRunup(){return this.maxRunupAbs}maxRunupPercent(){return this.maxRuPercent}percentProfitable(){let U=this.closedTrades.length;return U===0?0:100*this.wintrades/U}profitFactor(){let U=this.grossprofit,Q=this.grossloss;if(!d0(U)||!d0(Q))return 0;if(Q>0)return U/Q;return U>0?999.99:0}maxContractsHeldAll(){return this.maxHeldAll}maxContractsHeldLong(){return this.maxHeldLong}maxContractsHeldShort(){return this.maxHeldShort}summary(U){return{netprofit:this.netprofit(),netprofitPercent:this.netprofitPercent(U),openprofit:this.openprofit(U),equity:this.equity(U),wintrades:this.wintrades,losstrades:this.losstrades,eventrades:this.eventrades,closedtrades:this.closedtrades,opentrades:this.opentrades,grossprofit:this.grossprofit,grossloss:this.grossloss,avgTrade:this.avgTrade(),avgWinningTrade:this.avgWinningTrade(),avgLosingTrade:this.avgLosingTrade(),percentProfitable:this.percentProfitable(),profitFactor:this.profitFactor(),maxDrawdown:this.maxDrawdown(),maxDrawdownPercent:this.maxDrawdownPercent(),maxRunup:this.maxRunup(),maxRunupPercent:this.maxRunupPercent(),initialCapital:this.initialCapital}}markOpenTrades(U,Q,Z){if(this.openTrades.length===0)return;for(let X of this.openTrades){let J=X.direction==="long"?d0(U)?U:Z:d0(Q)?Q:Z,Y=X.direction==="long"?d0(Q)?Q:Z:d0(U)?U:Z;if(d0(J)){let G=this.markProfit(X,J);if(G>0)X.max_runup=Math.max(X.max_runup??0,G)}if(d0(Y)){let G=this.markProfit(X,Y);if(G<0)X.max_drawdown=Math.max(X.max_drawdown??0,-G)}}}configure(U){if(d0(U.commission))this.commission=U.commission;if(d0(U.slippage))this.slippage=U.slippage;if(U.pyramiding!==void 0){let Q=vG(U.pyramiding);if(Q!==void 0||U.pyramiding==null)this.pyramiding=Q}}riskAllowEntryIn(U="all"){let Q=String(U??"all").replace(/strategy\./gi,"").trim().toLowerCase();this.allow_entry_in=Q==="long"||Q==="short"||Q==="all"?Q:"all"}riskMaxPositionSize(U){if(U==null||!d0(U)||U<=0)return;this.max_position_size_percent=U}riskMaxDrawdown(U,Q="absolute"){if(U==null||!d0(U)||U<0)return;let Z=String(Q??"absolute").replace(/strategy\./gi,"").trim().toLowerCase();if(Z==="percent"||Z==="percentage"||Z==="percent_of_equity"||Z==="%")this.max_drawdown_risk_percent=U;else this.max_drawdown_risk=U}riskMaxConsLossDays(U){if(U==null||!d0(U))return;let Q=Math.trunc(U);if(Q<0)return;this.max_cons_loss_days=Q}riskMaxIntradayLoss(U){if(U==null||!d0(U)||U<0)return;this.max_intraday_loss=U}riskMaxIntradayFilledOrders(U){if(U==null||!d0(U))return;let Q=Math.trunc(U);if(Q<0)return;this.max_intraday_filled_orders=Q}noteClosedTradeDay(U,Q){if(!d0(U)||!d0(Q))return;let Z=hG(U);if(this.lastTradeDay==null||Z!==this.lastTradeDay){if(this.lastTradeDay!=null){if(this.dayPnl<0)this.consecutive_loss_days+=1;else if(this.dayPnl>0)this.consecutive_loss_days=0}this.lastTradeDay=Z,this.dayPnl=0}if(this.dayPnl+=Q,this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)this.entries_blocked=!0;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)this.entries_blocked=!0}}entry(U,Q,Z,X){let J={type:"entry",id:String(Q??""),direction:a8(Z),bar:d0(U)?U:0};if(X!==void 0)J.qty=X;this.events.push(J)}close(U,Q){this.events.push({type:"close",id:String(Q??""),bar:d0(U)?U:0})}exit(U,Q){this.events.push({type:"exit",id:String(Q??""),bar:d0(U)?U:0})}cancel(U,Q){this.dropPending(String(Q??"")),this.events.push({type:"cancel",id:String(Q??""),bar:d0(U)?U:0})}closeAll(U,Q){let Z=d0(U)?U:0;if(this.dropPending(),d0(Q)&&this.position.qty!==0)this.flattenAt(Z,"close_all",Q);this.events.push({type:"close_all",id:"",bar:Z})}cancelAll(U){this.dropPending(),this.events.push({type:"cancel_all",id:"",bar:d0(U)?U:0})}placeEntry(U,Q,Z,X,J){let Y=fG(J?.limit),G=fG(J?.stop);if(Y==null&&G==null){if(d0(J?.price)){let P=a8(Z),k=d0(J?.time)?J.time:U;if(this.updateEquityExtremes(J.price),!this.riskAllowsEntry(P,k))return;this.fillEntry(U,Q,Z,X,J.price,J)}else this.entry(U,Q,Z,X);return}let L=a8(Z),z=d0(X)?Math.abs(X):Number.NaN,D=d0(U)?U:0,S=String(Q??"");if(this.entry(D,S,L,d0(z)?z:X),!d0(z)||z===0)return;let H={id:S,direction:L,qty:z,limit:Y,stop:G,bar:D},q=J?.oca_name==null||J.oca_name===""?void 0:String(J.oca_name),E=jK(J?.oca_type);if(q!==void 0)H.oca_name=q;if(E!=="none")H.oca_type=E;this.upsertPending(H)}order(U,Q,Z,X,J){this.placeEntry(U,Q,Z,X,J)}processPending(U,Q){if(this.pending.length===0||Q==null)return[];if(!(d0(Q.open)||d0(Q.high)||d0(Q.low)||d0(Q.close)))return[];let X=d0(U)?U:0,J=d0(Q.close)?Q.close:d0(Q.open)?Q.open:d0(Q.high)?Q.high:Q.low,Y=d0(Q.open)?Q.open:J,G=d0(Q.high)?Q.high:Math.max(Y,J),L=d0(Q.low)?Q.low:Math.min(Y,J),z=[];for(let D of this.pending.slice()){if(!this.pending.some((q)=>q.id===D.id))continue;let S=AK(D,Y,G,L);if(S==null)continue;if(this.dropPending(D.id),this.applyEntryFill(X,D.id,D.direction,D.qty,S,!1)){let q=Math.abs(this.fills.at(-1)?.qty??D.qty);this.ocaAfterFill(D,q,X),this.events.push({type:"fill",id:D.id,direction:D.direction,qty:q,bar:X}),z.push(D.id)}}return z}fillEntry(U,Q,Z,X,J,Y){this.applyEntryFill(U,Q,Z,X,J,!0,Y)}fillClose(U,Q,Z,X){this.ensureSanePosition();let J=d0(U)?U:0,Y=String(Q??"");if(this.position.qty!==0){if(!d0(Z))return;this.flattenAt(J,Y,Z,X?.time)}this.close(J,Y)}applyEntryFill(U,Q,Z,X,J,Y,G){if(this.ensureSanePosition(),!d0(X)||X===0||!d0(J))return!1;let L=Math.abs(X);if(!d0(L)||L===0)return!1;let z=a8(Z),D=d0(U)?U:0,S=String(Q??""),H=d0(G?.time)?G.time:D;if(this.updateEquityExtremes(J),!this.riskAllowsEntry(z,H))return!1;let q=this.capQtyByMaxPosition(L,J);if(!d0(q)||q<=0)return!1;let E=z==="long"?q:-q;if(this.position.qty!==0&&Math.sign(this.position.qty)!==Math.sign(E)){if(!this.flattenAt(D,S,J,G?.time))return!1;this.close(D,S)}else if(this.position.qty!==0&&this.pyramiding!==void 0&&this.sameDirAdds>=this.pyramiding)return!1;if(this.position.qty!==0)this.sameDirAdds++;else this.sameDirAdds=0;if(this.addPosition(D,S,E,J,G),this.noteFilledOrder(H),this.updateEquityExtremes(J),Y)this.entry(D,S,z,q);return!0}upsertPending(U){let Q=this.pending.findIndex((Z)=>Z.id===U.id);if(Q>=0)this.pending[Q]=U;else this.pending.push(U)}dropPending(U){if(U===void 0){this.pending.length=0;return}for(let Q=this.pending.length-1;Q>=0;Q--)if(this.pending[Q].id===U)this.pending.splice(Q,1)}addPosition(U,Q,Z,X,J){if(!d0(Z)||Z===0||!d0(X))return;let Y=this.position.qty,G=Math.abs(Y),L=Math.abs(Z),z=Z>0?"buy":"sell",D=this.recordFill(U,Q,z,L,X);if(!d0(D))return;let S=this.fillFee(L,D),H=this.position.avgPrice;this.position.avgPrice=G===0||!d0(H)?D:(H*G+D*L)/(G+L);let q=Y+Z;if(this.position.qty=d0(q)&&q!==0?q:0,this.position.qty===0){this.position.avgPrice=null;return}let E=this.position.qty>0?"long":"short";this.notePositionSize();let P=J?.comment!=null?String(J.comment):void 0,k=d0(J?.time)?J.time:void 0;if(G===0||this.openTrades.length===0){this.openTrades.length=0;let j={id:Q,direction:E,qty:Math.abs(this.position.qty),entryBar:U,entryPrice:this.position.avgPrice??D,commission:S};if(k!==void 0)j.entryTime=k;if(P!==void 0)j.comment=P;this.openTrades.push(j);return}let _=this.openTrades[0];_.qty=Math.abs(this.position.qty),_.entryPrice=this.position.avgPrice??D,_.commission+=S}flattenAt(U,Q,Z,X){let J=this.position.qty;if(J===0||!d0(J)||!d0(Z))return!1;let Y=J>0?"sell":"buy",G=Math.abs(J),L=this.recordFill(U,Q,Y,G,Z);if(!d0(L))return!1;let z=this.position.avgPrice,D=d0(z)?z:L,S=J*(L-D);if(d0(S))this.realizedPnl+=S;let H=d0(X)?X:U;return this.closeOpenTrades(U,Q,L,G,J>0?"long":"short",D,H),this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.closedCount+=1,this.noteFilledOrder(H),this.updateEquityExtremes(L),!0}ensureSanePosition(){let U=this.position.qty,Q=this.position.avgPrice;if(!d0(U)||U!==0&&!d0(Q))this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.openTrades.length=0}closeOpenTrades(U,Q,Z,X,J,Y,G){if(this.openTrades.length===0&&X>0)this.openTrades.push({id:Q,direction:J,qty:X,entryBar:U,entryPrice:Y,commission:0});let L=this.openTrades.reduce((D,S)=>D+S.qty,0),z=this.fillFee(X,Z);for(let D of this.openTrades){let S=L>0?D.qty/L:1,H=z*S,q=this.markProfit(D,Z)-H,E={id:D.id,direction:D.direction,qty:D.qty,entryBar:D.entryBar,entryPrice:D.entryPrice,exitBar:U,exitPrice:Z,profit:q,commission:D.commission+H};if(D.entryTime!==void 0)E.entryTime=D.entryTime;if(D.comment!==void 0)E.comment=D.comment;if(D.max_runup!==void 0)E.max_runup=D.max_runup;if(D.max_drawdown!==void 0)E.max_drawdown=D.max_drawdown;this.closedTrades.push(E),this.noteClosedProfit(q),this.noteClosedTradeDay(d0(G)?G:U,q)}this.openTrades.length=0}noteClosedProfit(U){if(!d0(U))return;if(U>0)this.grossprofit+=U,this.wintrades+=1;else if(U<0)this.grossloss+=-U,this.losstrades+=1;else this.eventrades+=1}markProfit(U,Q){return(U.direction==="long"?1:-1)*(Q-U.entryPrice)*U.qty-U.commission}fillFee(U,Q){let Z=d0(this.commission)?this.commission:0,X=Math.abs(U)*Math.abs(Q)*Z;return d0(X)?X:0}pickTrade(U,Q){if(!d0(Q)||!Number.isInteger(Q)||Q<0||Q>=U.length)return null;return U[Q]??null}riskAllowsEntry(U,Q){let Z=(this.allow_entry_in||"all").toLowerCase().replace(/strategy\./g,"");if(Z==="long"&&U!=="long")return!1;if(Z==="short"&&U!=="short")return!1;if(this.entries_blocked)return!1;if(this.max_drawdown_risk!=null&&this.maxDrawdownAbs>=this.max_drawdown_risk)return this.entries_blocked=!0,!1;if(this.max_drawdown_risk_percent!=null&&this.maxDdPercent>=this.max_drawdown_risk_percent)return this.entries_blocked=!0,!1;if(this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)return this.entries_blocked=!0,!1;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)return this.entries_blocked=!0,!1}if(this.max_intraday_filled_orders!=null){if(this.rollFillDay(Q),this.dayFilledOrders>=this.max_intraday_filled_orders)return!1}return!0}capQtyByMaxPosition(U,Q){let Z=this.max_position_size_percent;if(Z==null||Z<=0||!d0(Q)||Q<=0)return U;let J=this.equity(Q)*(Z/100)/Q;if(!d0(J)||J<0)return 0;return Math.min(U,J)}updateEquityExtremes(U){this.equity(U)}trackEquityCurve(U){if(!d0(U))return;if(U>this.equityPeak)this.equityPeak=U;if(U<this.equityTrough)this.equityTrough=U;let Q=this.equityPeak-U;if(Q>this.maxDrawdownAbs){if(this.maxDrawdownAbs=Q,this.equityPeak>0)this.maxDdPercent=100*Q/this.equityPeak}let Z=U-this.equityTrough;if(Z>this.maxRunupAbs){if(this.maxRunupAbs=Z,this.equityTrough>0)this.maxRuPercent=100*Z/this.equityTrough}}pctOfInitial(U){let Q=this.initialCapital;if(!d0(Q)||Q<=0||!d0(U))return 0;return 100*U/Q}notePositionSize(){let U=Math.abs(this.position.qty);if(!d0(U)||U===0)return;if(U>this.maxHeldAll)this.maxHeldAll=U;if(this.position.qty>0&&U>this.maxHeldLong)this.maxHeldLong=U;if(this.position.qty<0&&U>this.maxHeldShort)this.maxHeldShort=U}rollFillDay(U){let Q=hG(d0(U)?U:0);if(this.fillsDay==null||Q!==this.fillsDay)this.fillsDay=Q,this.dayFilledOrders=0}noteFilledOrder(U){this.rollFillDay(U),this.dayFilledOrders+=1}ocaAfterFill(U,Q,Z){let X=U.oca_name,J=U.oca_type??"none";if(!X||J==="none")return;for(let Y of this.pending.slice()){if(Y.id===U.id||Y.oca_name!==X)continue;if(J==="cancel")this.dropPending(Y.id),this.events.push({type:"cancel",id:Y.id,bar:Z});else if(J==="reduce"){if(Y.qty=Math.max(0,Y.qty-Q),Y.qty<=0.000000000001)this.dropPending(Y.id),this.events.push({type:"cancel",id:Y.id,bar:Z})}}}recordFill(U,Q,Z,X,J){let Y=d0(this.slippage)?this.slippage:0,G=Z==="buy"?J+Y:J-Y;if(!d0(G)||!d0(X)||X===0)return Number.NaN;this.fills.push({bar:U,id:Q,side:Z,qty:X,price:G});let L=d0(this.commission)?this.commission:0,z=Math.abs(X)*Math.abs(G)*L;if(d0(z))this.commissionPaid+=z;return G}}function t8(U){if(typeof U==="string")return`s:${U}`;if(typeof U==="number"&&Number.isFinite(U))return`n:${Object.is(U,-0)?0:U}`;return null}function cG(U){return U.startsWith("s:")?U.slice(2):Number(U.slice(2))}class L6{data=new Map;order=[];size(){return this.data.size}put(U,Q){let Z=t8(U);if(Z==null)return;if(!this.data.has(Z))this.order.push(Z);this.data.set(Z,Q)}get(U){let Q=t8(U);if(Q==null)return null;return this.data.has(Q)?this.data.get(Q):null}contains(U){let Q=t8(U);return Q!=null&&this.data.has(Q)}remove(U){let Q=t8(U);if(Q==null||!this.data.has(Q))return null;let Z=this.data.get(Q);this.data.delete(Q);let X=this.order.indexOf(Q);if(X>=0)this.order.splice(X,1);return Z}clear(){this.data.clear(),this.order.length=0}keys(){return this.order.map(cG)}values(){return this.order.map((U)=>this.data.get(U))}copy(){let U=new L6;for(let Q of this.order)U.put(cG(Q),this.data.get(Q));return U}putAll(U){if(!(U instanceof L6))return;let Q=U.keys(),Z=U.values();for(let X=0;X<Q.length;X++)this.put(Q[X],Z[X])}}function d2(U,Q){if(!Number.isFinite(U))return null;let Z=Math.trunc(U);if(Z<0||Z>=Q)return null;return Z}function uG(U){if(!Number.isFinite(U)||U<0)return 0;return Math.min(Math.trunc(U),1e6)}function m7(U,Q){if(U<=0||Q<=0)return!0;return Q<=Math.floor(1e6/U)}function bG(U,Q){let Z=[],X=U??[];for(let J=0;J<Q;J++)Z.push(J<X.length?X[J]:null);return Z}function fQ(U){let Q=[];for(let Z=0;Z<U.length;Z++)Q.push(U[Z].slice());return Q}function e8(U,Q,Z,X){let J=U+X,Y=U*X-Q*Z,G=J*J-4*Y;if(G>=0){let z=Math.sqrt(G);return[(J+z)/2,(J-z)/2]}let L=J/2;return[L,L]}function BK(U,Q,Z,X){if((U-X)*(U-X)+4*Q*Z<0)return X;let[J,Y]=e8(U,Q,Z,X);return Math.abs(J-X)<Math.abs(Y-X)?J:Y}function NK(U){let Q=U.length,Z=U[0].length,X=fQ(U),J=[];for(let L=0;L<Z;L++){let z=[];for(let D=0;D<Z;D++)z.push(L===D?1:0);J.push(z)}for(let L=0;L<50;L++){let z=!1;for(let D=0;D<Z-1;D++)for(let S=D+1;S<Z;S++){let H=0,q=0,E=0;for(let y=0;y<Q;y++){let x=X[y][D],h=X[y][S];H+=x*x,q+=h*h,E+=x*h}if(!Number.isFinite(H)||!Number.isFinite(q)||!Number.isFinite(E))return null;let P=0.000000000000001*Math.sqrt(Math.max(H*q,0));if(Math.abs(E)<=P)continue;z=!0;let k=(q-H)/(2*E),_=(k>=0?1:-1)/(Math.abs(k)+Math.hypot(1,k)),j=1/Math.sqrt(1+_*_),B=j*_;for(let y=0;y<Q;y++){let x=X[y][D],h=X[y][S];X[y][D]=j*x-B*h,X[y][S]=B*x+j*h}for(let y=0;y<Z;y++){let x=J[y][D],h=J[y][S];J[y][D]=j*x-B*h,J[y][S]=B*x+j*h}}if(!z)break}let Y=[],G=[];for(let L=0;L<Q;L++){let z=[];for(let D=0;D<Z;D++)z.push(0);G.push(z)}for(let L=0;L<Z;L++){let z=0;for(let D=0;D<Q;D++)z+=X[D][L]*X[D][L];if(z=Math.sqrt(z),!Number.isFinite(z))return null;if(Y.push(z),z>0)for(let D=0;D<Q;D++)G[D][L]=X[D][L]/z}return{u:G,s:Y,v:J}}function wK(U){let Q=U.length;for(let Z=0;Z<Q-2;Z++){let X=0;for(let D=Z+2;D<Q;D++)X+=U[D][Z]*U[D][Z];if(X<0.000000000000000000000000000001)continue;let J=X+U[Z+1][Z]*U[Z+1][Z];if(J=Math.sqrt(J),J<0.000000000000000000000000000001)continue;let Y=U[Z+1][Z],G=(Y>=0?1:-1)*J,L=[Y+G];for(let D=Z+2;D<Q;D++)L.push(U[D][Z]);let z=0;for(let D of L)z+=D*D;if(z=Math.sqrt(z),z<0.000000000000000000000000000001)continue;for(let D=0;D<L.length;D++)L[D]/=z;for(let D=Z;D<Q;D++){let S=0;for(let H=0;H<L.length;H++)S+=L[H]*U[Z+1+H][D];S*=2;for(let H=0;H<L.length;H++)U[Z+1+H][D]-=S*L[H]}for(let D=0;D<Q;D++){let S=0;for(let H=0;H<L.length;H++)S+=U[D][Z+1+H]*L[H];S*=2;for(let H=0;H<L.length;H++)U[D][Z+1+H]-=S*L[H]}U[Z+1][Z]=-G;for(let D=Z+2;D<Q;D++)U[D][Z]=0}}function yK(U,Q,Z){let X=[];for(let J=0;J<Q;J++)U[J][J]-=Z;for(let J=0;J<Q-1;J++){let Y=U[J][J],G=U[J+1][J],L=Math.hypot(Y,G),z=L>0?Y/L:1,D=L>0?G/L:0;X.push({c:z,s:D});for(let S=J;S<Q;S++){let H=z*U[J][S]+D*U[J+1][S],q=-D*U[J][S]+z*U[J+1][S];U[J][S]=H,U[J+1][S]=q}}for(let J=0;J<Q-1;J++){let{c:Y,s:G}=X[J];for(let L=0;L<=J+1&&L<Q;L++){let z=Y*U[L][J]+G*U[L][J+1],D=-G*U[L][J]+Y*U[L][J+1];U[L][J]=z,U[L][J+1]=D}}for(let J=0;J<Q;J++)U[J][J]+=Z}function lG(U){let Q=U.length;if(Q===0)return[];if(Q===1){let L=U[0][0];return Number.isFinite(L)?[L]:null}if(Q===2){let L=e8(U[0][0],U[0][1],U[1][0],U[1][1]);if(!Number.isFinite(L[0])||!Number.isFinite(L[1]))return null;return[L[0],L[1]]}let Z=fQ(U);wK(Z);let X=[],J=Q,Y=40*Q*Q,G=0;while(J>0){if(++G>Y)return null;if(J===1){let S=Z[0][0];if(!Number.isFinite(S))return null;X.push(S);break}if(J===2){let S=e8(Z[0][0],Z[0][1],Z[1][0],Z[1][1]);if(!Number.isFinite(S[0])||!Number.isFinite(S[1]))return null;X.push(S[0],S[1]);break}let L=Math.abs(Z[J-1][J-1])+Math.abs(Z[J-2][J-2]);if(Math.abs(Z[J-1][J-2])<=0.00000000000001*Math.max(1,L)){let S=Z[J-1][J-1];if(!Number.isFinite(S))return null;X.push(S),J--;continue}let z=Math.abs(Z[J-2][J-2])+Math.abs(Z[J-3][J-3]);if(Math.abs(Z[J-2][J-3])<=0.00000000000001*Math.max(1,z)){let S=e8(Z[J-2][J-2],Z[J-2][J-1],Z[J-1][J-2],Z[J-1][J-1]);if(!Number.isFinite(S[0])||!Number.isFinite(S[1]))return null;X.push(S[0],S[1]),J-=2;continue}let D=BK(Z[J-2][J-2],Z[J-2][J-1],Z[J-1][J-2],Z[J-1][J-1]);if(G%10===0)D+=Math.abs(Z[J-1][J-2])+Math.abs(Z[J-2][J-3]);if(!Number.isFinite(D))return null;yK(Z,J,D);for(let S=0;S<J;S++)for(let H=0;H<S-1;H++)Z[S][H]=0}return X}function xK(U){let Q=U.length;if(Q===0)return[];let Z=fQ(U),X=0;for(let H=0;H<Q;H++)for(let q=0;q<Q;q++){let E=Z[H][q];if(!Number.isFinite(E))return null;if(Math.abs(E)>X)X=Math.abs(E)}let J=Math.max(0.00000000000001,0.000000000001*X),Y=Array(Q).fill(-1),G=Array(Q).fill(!1),L=0;for(let H=0;H<Q&&L<Q;H++){let q=L,E=Math.abs(Z[L][H]);for(let k=L+1;k<Q;k++){let _=Math.abs(Z[k][H]);if(_>E)E=_,q=k}if(E<J)continue;if(q!==L){let k=Z[L];Z[L]=Z[q],Z[q]=k}let P=Z[L][H];for(let k=H;k<Q;k++)Z[L][k]/=P;for(let k=0;k<Q;k++){if(k===L)continue;let _=Z[k][H];if(_===0)continue;for(let j=H;j<Q;j++)Z[k][j]-=_*Z[L][j]}Y[L]=H,G[H]=!0,L++}let z=-1;for(let H=0;H<Q;H++)if(!G[H]){z=H;break}if(z<0)return null;let D=Array(Q).fill(0);D[z]=1;for(let H=Q-1;H>=0;H--){let q=Y[H];if(q<0)continue;let E=0;for(let P=0;P<Q;P++){if(P===q)continue;E+=Z[H][P]*D[P]}D[q]=-E}let S=0;for(let H of D){if(!Number.isFinite(H))return null;S+=H*H}if(S=Math.sqrt(S),!(S>J))return null;for(let H=0;H<Q;H++)D[H]/=S;return D}class k1{cells=[];nRows;nCols;constructor(U,Q,Z){let X=uG(U),J=uG(Q);if(X>0&&J>Math.floor(1e6/X))X=0,J=0;this.nRows=X,this.nCols=J;let Y=Z===void 0?null:Z;for(let G=0;G<this.nRows;G++){let L=[];for(let z=0;z<this.nCols;z++)L.push(Y);this.cells.push(L)}}rows(){return this.nRows}columns(){return this.nCols}get(U,Q){let Z=d2(U,this.nRows),X=d2(Q,this.nCols);if(Z===null||X===null)return null;return this.cells[Z][X]}set(U,Q,Z){let X=d2(U,this.nRows),J=d2(Q,this.nCols);if(X===null||J===null)return;this.cells[X][J]=Z}fill(U){for(let Q=0;Q<this.nRows;Q++){let Z=this.cells[Q];for(let X=0;X<this.nCols;X++)Z[X]=U}}transpose(){let U=new k1(this.nCols,this.nRows);for(let Q=0;Q<this.nRows;Q++)for(let Z=0;Z<this.nCols;Z++)U.set(Z,Q,this.cells[Q][Z]);return U}row(U){let Q=d2(U,this.nRows);return Q===null?[]:this.cells[Q].slice()}col(U){let Q=d2(U,this.nCols);if(Q===null)return[];let Z=[];for(let X=0;X<this.nRows;X++)Z.push(this.cells[X][Q]);return Z}copy(){let U=new k1(this.nRows,this.nCols);for(let Q=0;Q<this.nRows;Q++)for(let Z=0;Z<this.nCols;Z++)U.set(Q,Z,this.cells[Q][Z]);return U}elementsCount(){return this.nRows*this.nCols}isSquare(){return this.nRows===this.nCols&&this.nRows>0}sum(){let U=this.finiteAll();if(U===null)return null;let Q=0;for(let Z of U)Q+=Z;return Q}avg(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=0;for(let Z of U)Q+=Z;return Q/U.length}min(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=U[0];for(let Z of U)if(Z<Q)Q=Z;return Q}max(){let U=this.finiteAll();if(U===null||U.length===0)return null;let Q=U[0];for(let Z of U)if(Z>Q)Q=Z;return Q}trace(){if(!this.isSquare())return null;let U=0;for(let Q=0;Q<this.nRows;Q++){let Z=this.cells[Q][Q];if(Z===null||!Number.isFinite(Z))return null;U+=Z}return U}det(){if(!this.isSquare())return null;let U=this.nRows;if(U===0)return null;let Q=[];for(let J=0;J<U;J++){let Y=[];for(let G=0;G<U;G++){let L=this.cells[J][G];if(L===null||!Number.isFinite(L))return null;Y.push(L)}Q.push(Y)}if(U===1)return Q[0][0];if(U===2){let J=Q[0][0]*Q[1][1]-Q[0][1]*Q[1][0];return Number.isFinite(J)?J:null}let Z=1;for(let J=0;J<U;J++){let Y=J,G=Math.abs(Q[J][J]);for(let z=J+1;z<U;z++){let D=Math.abs(Q[z][J]);if(D>G)G=D,Y=z}if(G===0)return 0;if(Y!==J){let z=Q[J];Q[J]=Q[Y],Q[Y]=z,Z=-Z}let L=Q[J][J];for(let z=J+1;z<U;z++){let D=Q[z][J]/L;for(let S=J;S<U;S++)Q[z][S]-=D*Q[J][S]}}let X=Z;for(let J=0;J<U;J++)X*=Q[J][J];return Number.isFinite(X)?X:null}mult(U){if(typeof U==="number"){if(!Number.isFinite(U))return null;let J=new k1(this.nRows,this.nCols);for(let Y=0;Y<this.nRows;Y++)for(let G=0;G<this.nCols;G++){let L=this.cells[Y][G];if(L===null||!Number.isFinite(L)){J.set(Y,G,null);continue}let z=L*U;J.set(Y,G,Number.isFinite(z)?z:null)}return J}if(this.nCols!==U.nRows)return null;let Q=this.asFiniteGrid(),Z=U.asFiniteGrid();if(Q===null||Z===null)return null;let X=new k1(this.nRows,U.nCols,0);for(let J=0;J<this.nRows;J++)for(let Y=0;Y<U.nCols;Y++){let G=0;for(let L=0;L<this.nCols;L++)G+=Q[J][L]*Z[L][Y];if(!Number.isFinite(G))return null;X.set(J,Y,G)}return X}inv(){if(this.nRows!==this.nCols)return null;let U=this.nRows;if(U===0)return new k1(0,0);let Q=this.asFiniteGrid();if(Q===null)return null;let Z=[];for(let Y=0;Y<U;Y++){let G=Q[Y].slice();for(let L=0;L<U;L++)G.push(Y===L?1:0);Z.push(G)}let X=0.000000000001;for(let Y=0;Y<U;Y++){let G=Y,L=Math.abs(Z[Y][Y]);for(let D=Y+1;D<U;D++){let S=Math.abs(Z[D][Y]);if(S>L)L=S,G=D}if(L<X)return null;if(G!==Y){let D=Z[Y];Z[Y]=Z[G],Z[G]=D}let z=Z[Y][Y];for(let D=0;D<2*U;D++)Z[Y][D]/=z;for(let D=0;D<U;D++){if(D===Y)continue;let S=Z[D][Y];if(S===0)continue;for(let H=0;H<2*U;H++)Z[D][H]-=S*Z[Y][H]}}let J=new k1(U,U,0);for(let Y=0;Y<U;Y++)for(let G=0;G<U;G++){let L=Z[Y][U+G];if(!Number.isFinite(L))return null;J.set(Y,G,L)}return J}pow(U){if(this.nRows!==this.nCols)return null;if(!Number.isFinite(U))return null;let Q=Math.trunc(U);if(Q===0)return k1.eye(this.nRows);if(Q<0){let Y=this.inv();return Y===null?null:Y.pow(-Q)}if(this.asFiniteGrid()===null)return null;let Z=k1.eye(this.nRows),X=this.copy(),J=Q;while(J>0){if(J%2===1){if(Z=Z.mult(X),Z===null)return null}if(J=Math.trunc(J/2),J>0){if(X=X.mult(X),X===null)return null}}return Z}kron(U){let Q=this.asFiniteGrid(),Z=U.asFiniteGrid();if(Q===null||Z===null)return null;let{nRows:X,nCols:J}=U,Y=new k1(this.nRows*X,this.nCols*J,0);for(let G=0;G<this.nRows;G++)for(let L=0;L<this.nCols;L++){let z=Q[G][L];for(let D=0;D<X;D++)for(let S=0;S<J;S++){let H=z*Z[D][S];Y.set(G*X+D,L*J+S,Number.isFinite(H)?H:null)}}return Y}isZero(){for(let U=0;U<this.nRows;U++)for(let Q=0;Q<this.nCols;Q++){let Z=this.cells[U][Q];if(Z===null)continue;if(Z!==0)return!1}return!0}isIdentity(){if(this.nRows!==this.nCols)return!1;for(let U=0;U<this.nRows;U++)for(let Q=0;Q<this.nCols;Q++){let Z=U===Q?1:0,X=this.cells[U][Q];if(X===null||X!==Z)return!1}return!0}isDiagonal(){if(this.nRows!==this.nCols)return!1;for(let U=0;U<this.nRows;U++)for(let Q=0;Q<this.nCols;Q++){if(U===Q)continue;let Z=this.cells[U][Q];if(Z!==null&&Z!==0)return!1}return!0}isSymmetric(){if(this.nRows!==this.nCols)return!1;for(let U=0;U<this.nRows;U++)for(let Q=U+1;Q<this.nCols;Q++)if(this.cells[U][Q]!==this.cells[Q][U])return!1;return!0}isAntisymmetric(){if(this.nRows!==this.nCols)return!1;for(let U=0;U<this.nRows;U++)for(let Q=0;Q<this.nCols;Q++){let Z=this.cells[U][Q],X=this.cells[Q][U];if(U===Q){if(Z!==null&&Z!==0)return!1;continue}if(Z!==null&&X!==null){if(Z!==-X)return!1}else if(Z!==X)return!1}return!0}isTriangular(){if(this.nRows!==this.nCols)return!1;let U=!0,Q=!0;for(let Z=0;Z<this.nRows;Z++)for(let X=0;X<this.nCols;X++){let J=this.cells[Z][X],Y=J!==null&&J!==0;if(Z>X&&Y)U=!1;if(Z<X&&Y)Q=!1}return U||Q}swapRows(U,Q){let Z=d2(U,this.nRows),X=d2(Q,this.nRows);if(Z===null||X===null||Z===X)return;let J=this.cells[Z];this.cells[Z]=this.cells[X],this.cells[X]=J}swapColumns(U,Q){let Z=d2(U,this.nCols),X=d2(Q,this.nCols);if(Z===null||X===null||Z===X)return;for(let J of this.cells){let Y=J[Z];J[Z]=J[X],J[X]=Y}}addRow(U,Q){let Z=this.nRows===0&&this.nCols===0,X=Z?Q?.length??0:this.nCols;if(!m7(this.nRows+1,X))return;if(U!==void 0){if(!Number.isFinite(U))return;if(Math.trunc(U)<0)return}let J=bG(Q,X);if(Z)this.nCols=X;let Y=U===void 0?this.nRows:Math.trunc(U);if(Y>=this.nRows)this.cells.push(J);else this.cells.splice(Y,0,J);this.nRows+=1}addCol(U,Q){if(this.nRows===0&&this.nCols===0){let J=Q?.length??0;if(!m7(J,J===0?0:1))return;for(let Y of Q??[])this.cells.push([Y]);this.nRows=J,this.nCols=J===0?0:1;return}if(!m7(this.nRows,this.nCols+1))return;if(U!==void 0){if(!Number.isFinite(U))return;if(Math.trunc(U)<0)return}let Z=bG(Q,this.nRows),X=U===void 0?this.nCols:Math.min(Math.trunc(U),this.nCols);for(let J=0;J<this.nRows;J++)this.cells[J].splice(X,0,Z[J]);this.nCols+=1}removeRow(U){let Q=d2(U,this.nRows);if(Q===null)return;this.cells.splice(Q,1),this.nRows-=1}removeCol(U){let Q=d2(U,this.nCols);if(Q===null)return;for(let Z of this.cells)Z.splice(Q,1);this.nCols-=1}reshape(U,Q){if(!Number.isFinite(U)||!Number.isFinite(Q))return null;let Z=Math.trunc(U),X=Math.trunc(Q);if(Z<0||X<0)return null;if(Z*X!==this.nRows*this.nCols)return null;if(!m7(Z,X))return null;let J=this.flatten(),Y=new k1(Z,X);for(let G=0;G<Z;G++)for(let L=0;L<X;L++)Y.set(G,L,J[G*X+L]);return Y}concat(U){if(this.nCols!==U.nCols)return null;let Q=this.nRows+U.nRows,Z=this.nCols;if(!m7(Q,Z))return null;let X=new k1(Q,Z);for(let J=0;J<this.nRows;J++)for(let Y=0;Y<Z;Y++)X.set(J,Y,this.cells[J][Y]);for(let J=0;J<U.nRows;J++)for(let Y=0;Y<Z;Y++)X.set(this.nRows+J,Y,U.cells[J][Y]);return X}submatrix(U,Q,Z,X){if(!Number.isFinite(U)||!Number.isFinite(Q)||!Number.isFinite(Z)||!Number.isFinite(X))return null;let J=Math.trunc(U),Y=Math.trunc(Q),G=Math.trunc(Z),L=Math.trunc(X);if(!(0<=J&&J<=Y&&Y<=this.nRows))return null;if(!(0<=G&&G<=L&&L<=this.nCols))return null;let z=new k1(Y-J,L-G);for(let D=J;D<Y;D++)for(let S=G;S<L;S++)z.set(D-J,S-G,this.cells[D][S]);return z}reverse(){this.cells.reverse();for(let U of this.cells)U.reverse()}sort(U=0,Q="asc"){if(this.nRows===0)return;let Z=d2(U,this.nCols);if(Z===null)return;let X=Q==="desc",J=[],Y=[];for(let G of this.cells){let L=G[Z];if(L===null||!Number.isFinite(L))Y.push(G);else J.push(G)}J.sort((G,L)=>{let z=G[Z]-L[Z];return X?-z:z}),this.cells.length=0;for(let G of J)this.cells.push(G);for(let G of Y)this.cells.push(G)}median(){let U=[];for(let Z=0;Z<this.nRows;Z++)for(let X=0;X<this.nCols;X++){let J=this.cells[Z][X];if(J!==null&&Number.isFinite(J))U.push(J)}if(U.length===0)return null;U.sort((Z,X)=>Z-X);let Q=Math.floor(U.length/2);if(U.length%2===1)return U[Q];return(U[Q-1]+U[Q])/2}mode(){let U=new Map,Q=null,Z=0;for(let X=0;X<this.nRows;X++)for(let J=0;J<this.nCols;J++){let Y=this.cells[X][J];if(Y===null||!Number.isFinite(Y))continue;let G=(U.get(Y)??0)+1;if(U.set(Y,G),G>Z)Q=Y,Z=G}return Q}isBinary(){for(let U=0;U<this.nRows;U++)for(let Q=0;Q<this.nCols;Q++){let Z=this.cells[U][Q];if(Z!==0&&Z!==1)return!1}return!0}isStochastic(){for(let U=0;U<this.nRows;U++){let Q=0;for(let Z=0;Z<this.nCols;Z++){let X=this.cells[U][Z];if(X===null||!Number.isFinite(X)||X<0)return!1;Q+=X}if(Math.abs(Q-1)>0.000000001)return!1}return!0}isAntidiagonal(){if(this.nRows!==this.nCols)return!1;let U=this.nRows;for(let Q=0;Q<U;Q++)for(let Z=0;Z<U;Z++){if(Q+Z===U-1)continue;let X=this.cells[Q][Z];if(X!==null&&X!==0)return!1}return!0}diff(U){if(this.nRows!==U.nRows||this.nCols!==U.nCols)return null;let Q=new k1(this.nRows,this.nCols);for(let Z=0;Z<this.nRows;Z++)for(let X=0;X<this.nCols;X++){let J=this.cells[Z][X],Y=U.cells[Z][X];if(J===null||Y===null||!Number.isFinite(J)||!Number.isFinite(Y)){Q.set(Z,X,null);continue}let G=J-Y;Q.set(Z,X,Number.isFinite(G)?G:null)}return Q}rank(){if(this.nRows===0||this.nCols===0)return 0;let U=this.asFiniteGrid();if(U===null)return null;let Q=this.nRows,Z=this.nCols,X=[];for(let G=0;G<Q;G++)X.push(U[G].slice());let J=0.000000000001,Y=0;for(let G=0;G<Z&&Y<Q;G++){let L=Y,z=Math.abs(X[Y][G]);for(let S=Y+1;S<Q;S++){let H=Math.abs(X[S][G]);if(H>z)z=H,L=S}if(z<J)continue;if(L!==Y){let S=X[Y];X[Y]=X[L],X[L]=S}let D=X[Y][G];for(let S=Y+1;S<Q;S++){let H=X[S][G]/D;for(let q=G;q<Z;q++)X[S][q]-=H*X[Y][q]}Y++}return Y}pinv(){if(this.nRows===0||this.nCols===0)return new k1(this.nCols,this.nRows);let U=this.asFiniteGrid();if(U===null)return null;let Q=NK(U);if(Q===null)return null;let{u:Z,s:X,v:J}=Q,Y=this.nRows,G=this.nCols,L=0;for(let H of X){if(!Number.isFinite(H))return null;if(H>L)L=H}let z=0.000000000001*L*Math.max(Y,G),D=[];for(let H of X)D.push(H>z?1/H:0);let S=new k1(G,Y,0);for(let H=0;H<G;H++)for(let q=0;q<Y;q++){let E=0;for(let P=0;P<G;P++)E+=J[H][P]*D[P]*Z[q][P];if(!Number.isFinite(E))return null;S.set(H,q,E)}return S}eigenvalues(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return[];let U=this.asFiniteGrid();if(U===null)return null;return lG(U)}eigenvectors(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return new k1(0,0);let U=this.asFiniteGrid();if(U===null)return null;let Q=lG(U);if(Q===null)return null;let Z=this.nRows,X=new k1(Z,Z,0);for(let J=0;J<Z;J++){let Y=Q[J],G=[];for(let z=0;z<Z;z++){let D=U[z].slice();D[z]-=Y,G.push(D)}let L=xK(G);if(L===null)return null;for(let z=0;z<Z;z++){let D=L[z];if(!Number.isFinite(D))return null;X.set(z,J,D)}}return X}static eye(U){let Q=new k1(U,U,0);for(let Z=0;Z<U;Z++)Q.set(Z,Z,1);return Q}asFiniteGrid(){let U=[];for(let Q=0;Q<this.nRows;Q++){let Z=[];for(let X=0;X<this.nCols;X++){let J=this.cells[Q][X];if(J===null||!Number.isFinite(J))return null;Z.push(J)}U.push(Z)}return U}finiteAll(){let U=[];for(let Q=0;Q<this.nRows;Q++)for(let Z=0;Z<this.nCols;Z++){let X=this.cells[Q][Z];if(X===null||!Number.isFinite(X))return null;U.push(X)}return U}flatten(){let U=[];for(let Q=0;Q<this.nRows;Q++)for(let Z=0;Z<this.nCols;Z++)U.push(this.cells[Q][Z]);return U}}function o0(U){return U!==null&&Number.isFinite(U)?U:null}var gK=0.000000001;function O1(U){if(!Number.isFinite(U)||U<=0)return null;let Q=Math.round(U),Z=Math.abs(U-Q)<=gK?Q:Math.floor(U);return Z>0?Z:null}function dG(U,Q,Z){let X=1/Z;if(!U.started){if(Q===null)return null;U.started=!0}if(!U.seeded){if(Q!==null)U.seedBuf.push(Q);if(U.seedBuf.length<Z)return null;let J=U.seedBuf.reduce((Y,G)=>Y+G,0)/Z;return U.rma=J,U.seeded=!0,U.seedBuf=[],J}if(Q===null)return U.rma;return U.rma=X*Q+(1-X)*(U.rma??Q),U.rma}class c4{smaSites=new Map;emaSites=new Map;rmaSites=new Map;atrSites=new Map;rsiSites=new Map;trSites=new Map;highestSites=new Map;lowestSites=new Map;stdevSites=new Map;changeSites=new Map;wmaSites=new Map;sumSites=new Map;rocSites=new Map;vwmaSites=new Map;cciSites=new Map;crossoverSites=new Map;crossunderSites=new Map;linregSites=new Map;vwapSites=new Map;risingSites=new Map;fallingSites=new Map;almaSites=new Map;cmoSites=new Map;kamaSites=new Map;obvSites=new Map;pivotHighSites=new Map;pivotLowSites=new Map;mfiSites=new Map;sarSites=new Map;adxSites=new Map;dmiSites=new Map;correlationSites=new Map;highestBarsSites=new Map;lowestBarsSites=new Map;swmaSites=new Map;cogSites=new Map;tsiSites=new Map;devSites=new Map;varianceSites=new Map;medianSites=new Map;modeSites=new Map;percentrankSites=new Map;percentileNearestSites=new Map;percentileLinearSites=new Map;cumSites=new Map;barssinceSites=new Map;valuewhenSites=new Map;accdistSites=new Map;pvtSites=new Map;wadSites=new Map;nviSites=new Map;pviSites=new Map;wvadSites=new Map;sma(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.smaSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[],sum:0,count:0},this.smaSites.set(U,J);let Y=o0(Q);if(J.window.length===X){let G=J.window.shift();if(G!==null)J.sum-=G,J.count-=1}if(J.window.push(Y),Y!==null)J.sum+=Y,J.count+=1;if(J.window.length<X||J.count!==X)return null;return J.sum/X}ema(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.emaSites.get(U);if(J===void 0||J.period!==X)J={period:X,ema:null,seeded:!1,seedBuf:[]},this.emaSites.set(U,J);let Y=o0(Q),G=2/(X+1);if(!J.seeded){if(Y===null)return null;if(J.seedBuf.push(Y),J.seedBuf.length<X)return null;let L=J.seedBuf.reduce((z,D)=>z+D,0)/X;return J.ema=L,J.seeded=!0,J.seedBuf=[],L}if(Y===null)return J.ema;return J.ema=J.ema==null?Y:G*Y+(1-G)*J.ema,J.ema}rma(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.rmaSites.get(U);if(J===void 0||J.period!==X)J={period:X,rma:null,seeded:!1,started:!1,seedBuf:[]},this.rmaSites.set(U,J);return dG(J,o0(Q),X)}atr(U,Q,Z,X,J){let Y=O1(J);if(Y===null)return null;let G=this.atrSites.get(U);if(G===void 0||G.period!==Y)G={period:Y,prevClose:null,rma:{period:Y,rma:null,seeded:!1,started:!1,seedBuf:[]}},this.atrSites.set(U,G);let L=G.prevClose;if(G.prevClose=o0(X),L===null)return null;let z=o0(Q),D=o0(Z),S=o0(X);if(z===null||D===null||S===null)return null;let H=Math.max(z-D,Math.abs(z-L),Math.abs(D-L));return dG(G.rma,H,Y)}rsi(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.rsiSites.get(U);if(J===void 0||J.period!==X)J={period:X,prev:null,gainSeed:[],lossSeed:[],avgGain:null,avgLoss:null,seeded:!1},this.rsiSites.set(U,J);let Y=o0(Q);if(Y===null)return null;let G=J.prev;if(J.prev=Y,G===null)return null;let L=Y-G,z=L>0?L:0,D=L<0?-L:0,S=1/X;if(!J.seeded){if(J.gainSeed.push(z),J.lossSeed.push(D),J.gainSeed.length<X)return null;let q=0,E=0;for(let P=0;P<X;P++)q+=J.gainSeed[P],E+=J.lossSeed[P];J.avgGain=q/X,J.avgLoss=E/X,J.seeded=!0,J.gainSeed=[],J.lossSeed=[]}else J.avgGain=S*z+(1-S)*J.avgGain,J.avgLoss=S*D+(1-S)*J.avgLoss;if(J.avgLoss===0)return 100;return 100-100/(1+J.avgGain/J.avgLoss)}kc(U,Q,Z,X,J,Y){let G=O1(J);if(G===null)return{mid:null,up:null,lo:null};let L=this.ema(`${U}:ema`,X,G),z=this.atr(`${U}:atr`,Q,Z,X,G);if(L===null)return{mid:null,up:null,lo:null};let D=(z??0)*Y;return{mid:L,up:L+D,lo:L-D}}supertrend(U,Q,Z,X,J,Y){let G=O1(Y),L=G===null?null:this.atr(`${U}:atr`,Q,Z,X,G),z=L===null||!Number.isFinite(L)?0:L,D=o0(Q)??0,S=o0(Z)??0,H=o0(X)??D,q=(D+S)/2,E=q+J*z,P=q-J*z,k=H>=q?-1:1;return{st:k<0?P:E,dir:k}}tr(U,Q,Z,X){let J=this.trSites.get(U);if(J===void 0)J={prevClose:null},this.trSites.set(U,J);let Y=J.prevClose;if(J.prevClose=o0(X),Y===null)return null;let G=o0(Q),L=o0(Z);if(G===null||L===null)return null;return Math.max(G-L,Math.abs(G-Y),Math.abs(L-Y))}highest(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.highestSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.highestSites.set(U,J);if(J.window.length===X)J.window.shift();if(J.window.push(o0(Q)),J.window.length<X)return null;let Y=null;for(let G of J.window)if(G!==null&&(Y===null||G>Y))Y=G;return Y}lowest(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.lowestSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.lowestSites.set(U,J);if(J.window.length===X)J.window.shift();if(J.window.push(o0(Q)),J.window.length<X)return null;let Y=null;for(let G of J.window)if(G!==null&&(Y===null||G<Y))Y=G;return Y}stdev(U,Q,Z){let X=O1(Z);if(X===null||X<=1)return null;let J=this.stdevSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[],sum:0,sumsq:0,count:0},this.stdevSites.set(U,J);let Y=o0(Q);if(J.window.length===X){let L=J.window.shift();if(L!==null)J.sum-=L,J.sumsq-=L*L,J.count-=1}if(J.window.push(Y),Y!==null)J.sum+=Y,J.sumsq+=Y*Y,J.count+=1;if(J.window.length<X||J.count!==X)return null;let G=(J.sumsq-J.sum*J.sum/X)/(X-1);if(G<0)G=0;return Math.sqrt(G)}change(U,Q,Z=1){if(!Number.isFinite(Z)||Z<0)return null;let X=Math.trunc(Z),J=o0(Q);if(X===0)return J===null?null:0;let Y=this.changeSites.get(U);if(Y===void 0||Y.length!==X)Y={length:X,window:[]},this.changeSites.set(U,Y);if(Y.window.length===X+1)Y.window.shift();if(Y.window.push(J),Y.window.length<=X)return null;let G=Y.window[Y.window.length-1],L=Y.window[0];if(G===null||L===null)return null;return G-L}wma(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.wmaSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.wmaSites.set(U,J);if(J.window.length===X)J.window.shift();if(J.window.push(o0(Q)),J.window.length<X)return null;let Y=0;for(let G=0;G<X;G++){let L=J.window[G];if(L==null)return null;Y+=L*(G+1)}return Y/(X*(X+1)/2)}crossover(U,Q,Z){return this.crossStep(this.crossoverSites,U,Q,Z,!1)}crossunder(U,Q,Z){return this.crossStep(this.crossunderSites,U,Q,Z,!0)}macd(U,Q,Z=12,X=26,J=9){let Y=this.ema(`${U}:fast`,Q,Z),G=this.ema(`${U}:slow`,Q,X),L=Y===null||G===null?null:Y-G,z=this.ema(`${U}:signal`,L,J),D=L!==null&&z!==null&&Number.isFinite(L)&&Number.isFinite(z)?L-z:null;return{macd:L,signal:z,hist:D}}bb(U,Q,Z,X=2){let J=this.sma(`${U}:sma`,Q,Z),Y=this.stdev(`${U}:stdev`,Q,Z);if(J===null||Y===null)return{mid:null,up:null,lo:null};return{mid:J,up:J+X*Y,lo:J-X*Y}}sum(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.sumSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[],sum:0,count:0},this.sumSites.set(U,J);let Y=o0(Q);if(J.window.length===X){let G=J.window.shift();if(G!==null)J.sum-=G,J.count-=1}if(J.window.push(Y),Y!==null)J.sum+=Y,J.count+=1;if(J.window.length<X||J.count!==X)return null;return J.sum}roc(U,Q,Z){if(!Number.isFinite(Z)||Z<=0)return null;let X=Math.trunc(Z),J=o0(Q);if(X<=0)return null;let Y=this.rocSites.get(U);if(Y===void 0||Y.length!==X)Y={length:X,window:[]},this.rocSites.set(U,Y);if(Y.window.length===X+1)Y.window.shift();if(Y.window.push(J),Y.window.length<=X)return null;let G=Y.window[Y.window.length-1],L=Y.window[0];if(G===null||L===null||L===0)return null;return 100*(G-L)/L}mom(U,Q,Z){return this.change(U,Q,Z)}vwma(U,Q,Z,X){let J=O1(X);if(J===null)return null;let Y=this.vwmaSites.get(U);if(Y===void 0||Y.period!==J)Y={period:J,srcWindow:[],volWindow:[],sumPv:0,sumV:0,naCount:0},this.vwmaSites.set(U,Y);let G=o0(Q),L=o0(Z);if(Y.srcWindow.length===J){let z=Y.srcWindow.shift(),D=Y.volWindow.shift();if(z===null||D===null)Y.naCount-=1;else Y.sumPv-=z*D,Y.sumV-=D}if(Y.srcWindow.push(G),Y.volWindow.push(L),G===null||L===null)Y.naCount+=1;else Y.sumPv+=G*L,Y.sumV+=L;if(Y.srcWindow.length<J||Y.naCount>0||Y.sumV===0)return null;return Y.sumPv/Y.sumV}cci(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.cciSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.cciSites.set(U,J);if(J.window.length===X)J.window.shift();if(J.window.push(o0(Q)),J.window.length<X)return null;let Y=0;for(let D of J.window){if(D==null)return null;Y+=D}let G=Y/X,L=0;for(let D of J.window)L+=Math.abs(D-G);let z=L/X;if(z===0)return null;return(J.window[X-1]-G)/(0.015*z)}willr(U,Q,Z,X,J){let Y=O1(J);if(Y===null)return null;let G=this.highest(`${U}:hh`,Q,Y),L=this.lowest(`${U}:ll`,Z,Y),z=o0(X);if(G===null||L===null||z===null||G===L)return null;return-100*(G-z)/(G-L)}stoch(U,Q,Z,X,J){let Y=O1(J);if(Y===null)return null;let G=this.highest(`${U}:hh`,Z,Y),L=this.lowest(`${U}:ll`,X,Y),z=o0(Q);if(G===null||L===null||z===null||G===L)return null;return 100*(z-L)/(G-L)}linreg(U,Q,Z,X=0){let J=O1(Z);if(J===null||J<2)return null;let Y=Number.isFinite(X)?Math.trunc(X):0,G=this.linregSites.get(U);if(G===void 0||G.period!==J||G.offset!==Y)G={period:J,offset:Y,window:[]},this.linregSites.set(U,G);if(G.window.length===J)G.window.shift();if(G.window.push(o0(Q)),G.window.length<J)return null;let L=0;for(let E of G.window){if(E==null)return null;L+=E}let z=(J-1)/2,D=L/J,S=0,H=0;for(let E=0;E<J;E++){let P=E-z;S+=P*(G.window[E]-D),H+=P*P}if(H===0)return D;let q=S/H;return D+q*(J-1-Y-z)}vwap(U,Q,Z){let X=this.vwapSites.get(U);if(X===void 0)X={cumPv:0,cumV:0,value:null},this.vwapSites.set(U,X);let J=o0(Q);if(J===null)return X.value;let Y=o0(Z)??0;return X.cumPv+=J*Y,X.cumV+=Y,X.value=X.cumV!==0?X.cumPv/X.cumV:J,X.value}rising(U,Q,Z){return this.riseFallStep(this.risingSites,U,Q,Z,!1)}falling(U,Q,Z){return this.riseFallStep(this.fallingSites,U,Q,Z,!0)}riseFallStep(U,Q,Z,X,J){let Y=O1(X);if(Y===null)return 0;let G=U.get(Q);if(G===void 0||G.length!==Y)G={length:Y,prev:null,streak:0,started:!1},U.set(Q,G);let L=o0(Z);if(!G.started)return G.prev=L,G.started=!0,G.streak=0,0;let z=G.prev,D=L!==null&&z!==null&&(J?L<z:L>z);return G.streak=D?G.streak+1:0,G.prev=L,G.streak>=Y?1:0}crossStep(U,Q,Z,X,J){let Y=U.get(Q);if(Y===void 0)Y={prevA:null,prevB:null,started:!1},U.set(Q,Y);let G=o0(Z),L=o0(X),z=0;if(Y.started&&Y.prevA!==null&&Y.prevB!==null&&G!==null&&L!==null)z=(J?Y.prevA>=Y.prevB&&G<L:Y.prevA<=Y.prevB&&G>L)?1:0;return Y.prevA=G,Y.prevB=L,Y.started=!0,z}cross(U,Q,Z){let X=this.crossover(`${U}:up`,Q,Z),J=this.crossunder(`${U}:down`,Q,Z);return X===1||J===1?1:0}bbw(U,Q,Z,X=2){let J=this.bb(U,Q,Z,X);if(J.mid===null||J.up===null||J.lo===null||J.mid===0)return null;return(J.up-J.lo)/J.mid}dema(U,Q,Z){let X=this.ema(`${U}:e1`,Q,Z),J=this.ema(`${U}:e2`,X,Z);if(X===null||J===null)return null;return 2*X-J}tema(U,Q,Z){let X=this.ema(`${U}:e1`,Q,Z),J=this.ema(`${U}:e2`,X,Z),Y=this.ema(`${U}:e3`,J,Z);if(X===null||J===null||Y===null)return null;return 3*X-3*J+Y}highestbars(U,Q,Z){return this.extremeBars(this.highestBarsSites,U,Q,Z,!0)}lowestbars(U,Q,Z){return this.extremeBars(this.lowestBarsSites,U,Q,Z,!1)}extremeBars(U,Q,Z,X,J){let Y=O1(X);if(Y===null)return null;let G=U.get(Q);if(G===void 0||G.period!==Y)G={period:Y,window:[]},U.set(Q,G);if(G.window.length===Y)G.window.shift();if(G.window.push(o0(Z)),G.window.length<Y)return null;let L=-1,z=null;for(let D=0;D<G.window.length;D++){let S=G.window[D];if(S===null)continue;if(z===null||(J?S>z:S<z))z=S,L=D}if(L<0)return null;return L-(G.window.length-1)}alma(U,Q,Z,X=0.85,J=6){let Y=O1(Z);if(Y===null)return null;if(!Number.isFinite(X)||!Number.isFinite(J))return null;let G=X,L=J,z=this.almaSites.get(U);if(z===void 0||z.period!==Y||z.offset!==G||z.sigma!==L){let S=G*(Y-1),H=L===0?0:Y/L,q=[],E=0;for(let P=0;P<Y;P++){let k=H===0?1:Math.exp(-((P-S)**2)/(2*H*H));q.push(k),E+=k}z={period:Y,offset:G,sigma:L,window:[],weights:q,wsum:E},this.almaSites.set(U,z)}if(z.window.length===Y)z.window.shift();if(z.window.push(o0(Q)),z.window.length<Y||z.wsum===0)return null;let D=0;for(let S=0;S<Y;S++){let H=z.window[S];if(H==null)return null;D+=H*z.weights[S]}return D/z.wsum}cmo(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.cmoSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[],up:0,down:0},this.cmoSites.set(U,J);let Y=o0(Q);if(J.window.length===X+1){let z=J.window[0],D=J.window[1];if(z!==null&&D!==null){let S=D-z;if(S>0)J.up-=S;else J.down-=-S}J.window.shift()}let G=J.window.length===0?null:J.window[J.window.length-1];if(J.window.push(Y),G!==null&&Y!==null){let z=Y-G;if(z>0)J.up+=z;else J.down+=-z}if(J.window.length<X+1)return null;let L=J.up+J.down;if(L===0)return 0;return 100*(J.up-J.down)/L}kama(U,Q,Z,X=2,J=30){let Y=O1(Z);if(Y===null)return null;let G=Number.isFinite(X)?Math.trunc(X):2,L=Number.isFinite(J)?Math.trunc(J):30;if(G===-1||L===-1)return null;let z=this.kamaSites.get(U);if(z===void 0||z.period!==Y||z.fast!==G||z.slow!==L)z={period:Y,fast:G,slow:L,prices:[],diffs:[],vol:0,kama:null,seeded:!1,bars:0},this.kamaSites.set(U,z);let D=o0(Q);if(D===null)return null;let S=z.prices.length===0?null:z.prices[z.prices.length-1];if(z.prices.length===Y+1)z.prices.shift();if(z.prices.push(D),z.bars+=1,S!==null){let k=Math.abs(D-S);if(z.diffs.length===Y)z.vol-=z.diffs.shift();z.diffs.push(k),z.vol+=k}if(!z.seeded){if(z.bars<Y)return null;return z.kama=D,z.seeded=!0,null}let H=z.prices[0],q=Math.abs(D-H),E=z.vol,P;if(E!==0){let k=q/E,_=2/(G+1),j=2/(L+1),B=k*(_-j)+j;P=B*B}else P=(2/(L+1))**2;return z.kama=(z.kama??D)+P*(D-(z.kama??D)),z.kama}obv(U,Q,Z){let X=this.obvSites.get(U);if(X===void 0)X={prev:null,obv:0,bars:0},this.obvSites.set(U,X);let J=o0(Q),Y=o0(Z)??0;if(X.bars+=1,X.bars<3)return X.prev=J,0;if(J!==null&&X.prev!==null){if(J>X.prev)X.obv+=Y;else if(J<X.prev)X.obv-=Y}return X.prev=J,X.obv}pivothigh(U,Q,Z,X){return this.pivotStep(this.pivotHighSites,U,Q,Z,X,!0)}pivotlow(U,Q,Z,X){return this.pivotStep(this.pivotLowSites,U,Q,Z,X,!1)}pivotStep(U,Q,Z,X,J,Y){if(!Number.isFinite(X)||!Number.isFinite(J)||X<0||J<0)return null;let G=Math.trunc(X),L=Math.trunc(J),z=U.get(Q);if(z===void 0||z.left!==G||z.right!==L)z={left:G,right:L,window:[],n:0},U.set(Q,z);let D=G+1;if(z.window.length===D)z.window.shift();if(z.window.push(o0(Z)),z.n+=1,z.n<=G+L||z.window.length<D)return null;let S=z.window[z.window.length-1];if(S===null)return null;for(let H=1;H<=G;H++){let q=z.window[z.window.length-1-H];if(q===null)continue;if(Y?q>=S:q<=S)return null}return S}hma(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=Math.max(1,Math.trunc(X/2)),Y=Math.max(1,Math.trunc(Math.sqrt(X))),G=this.wma(`${U}:half`,Q,J),L=this.wma(`${U}:full`,Q,X),z=G===null||L===null?null:2*G-L;return this.wma(`${U}:sqrt`,z,Y)}mfi(U,Q,Z,X,J,Y){let G=O1(Y);if(G===null)return null;let L=this.mfiSites.get(U);if(L===void 0||L.period!==G)L={period:G,tps:[],mfs:[]},this.mfiSites.set(U,L);let z=o0(Q),D=o0(Z),S=o0(X);if(L.tps.length===G+1)L.tps.shift(),L.mfs.shift();if(z===null||D===null||S===null)return L.tps.push(null),L.mfs.push(null),null;let H=o0(J)??0,q=(z+D+S)/3;if(L.tps.push(q),L.mfs.push(q*H),L.tps.length<=G)return null;let E=0,P=0,k=L.tps.length-G;for(let j=k;j<L.tps.length;j++){let B=L.tps[j],y=L.tps[j-1],x=L.mfs[j];if(B===null||y===null||x===null)return null;if(B>y)E+=x;else if(B<y)P+=x}if(P===0)return E===0?50:100;return 100-100/(1+E/P)}sar(U,Q,Z,X=0.02,J=0.02,Y=0.2){if(!Number.isFinite(X)||!Number.isFinite(J)||!Number.isFinite(Y))return null;let G=X,L=J,z=Y,D=this.sarSites.get(U);if(D===void 0||D.start!==G||D.increment!==L||D.maximum!==z)D={start:G,increment:L,maximum:z,started:!1,sar:null,ep:null,trend:1,af:G},this.sarSites.set(U,D);let S=o0(Q),H=o0(Z);if(!D.started){if(S===null||H===null)return null;return D.started=!0,D.sar=H,D.ep=S,D.trend=1,D.af=G,H}let{sar:q,ep:E}=D;if(q===null||S===null||H===null||E===null)return q;let{trend:P,af:k}=D,_=E,j;if(P===1){if(j=q+k*(_-q),S>_)_=S,k=Math.min(k+L,z);if(j>H)P=-1,j=_,_=H,k=G}else{if(j=q-k*(q-_),H<_)_=H,k=Math.min(k+L,z);if(j<S)P=1,j=_,_=S,k=G}return D.sar=j,D.ep=_,D.trend=P,D.af=k,Number.isFinite(j)?j:null}adx(U,Q,Z,X,J){let Y=O1(J);if(Y===null)return 0;let G=this.adxSites.get(U);if(G===void 0||G.period!==Y)G={period:Y,prevH:null,prevL:null,prevC:null,n:0},this.adxSites.set(U,G);let L,z,D;if(G.prevH===null||G.prevL===null||G.prevC===null)L=null,z=null,D=null;else{let k=Q!==null&&Number.isFinite(Q)?Q:Number.NaN,_=Z!==null&&Number.isFinite(Z)?Z:Number.NaN,j=Math.max(k-_,Math.abs(k-G.prevC),Math.abs(_-G.prevC));L=Number.isFinite(j)?j:null;let B=k-G.prevH,y=G.prevL-_;z=B>y&&B>0?B:0,D=y>B&&y>0?y:0}G.prevH=o0(Q),G.prevL=o0(Z),G.prevC=o0(X),G.n+=1;let S=this.rma(`${U}:tr`,L,Y),H=this.rma(`${U}:pdm`,z,Y),q=this.rma(`${U}:mdm`,D,Y);if(G.n<Y)return 0;if(S===null)return 0;let E;if(H===null||q===null)E=null;else{let k=S!==0?100*H/S:0,_=S!==0?100*q/S:0,j=k+_;E=j!==0?100*Math.abs(k-_)/j:0}let P=this.rma(`${U}:dx`,E,Y);return P===null?0:P}dmi(U,Q,Z,X,J,Y){let G=O1(J);if(G===null)return{plus:null,minus:null,adx:null};let L=this.dmiSites.get(U);if(L===void 0||L.diLen!==G)L={diLen:G,prevH:null,prevL:null,prevC:null},this.dmiSites.set(U,L);let z,D,S;if(L.prevH===null||L.prevL===null||L.prevC===null)z=null,D=0,S=0;else{let j=o0(Q)??0,B=o0(Z)??0,y=L.prevH,x=L.prevL,h=L.prevC;z=Math.max(j-B,Math.abs(j-h),Math.abs(B-h));let r=j-y,T0=x-B;D=r>T0&&r>0?r:0,S=T0>r&&T0>0?T0:0}L.prevH=o0(Q),L.prevL=o0(Z),L.prevC=o0(X);let H=this.rma(`${U}:tr`,z,G),q=this.rma(`${U}:pdm`,D,G),E=this.rma(`${U}:mdm`,S,G),P,k;if(H===null)P=null,k=null;else if(H===0)P=0,k=0;else P=100*(q??0)/H,k=100*(E??0)/H;let _=this.adx(`${U}:adx`,Q,Z,X,Y);return{plus:P,minus:k,adx:_}}correlation(U,Q,Z,X){let J=O1(X);if(J===null||J<2)return null;let Y=this.correlationSites.get(U);if(Y===void 0||Y.length!==J)Y={length:J,a:[],b:[]},this.correlationSites.set(U,Y);if(Y.a.length===J)Y.a.shift(),Y.b.shift();if(Y.a.push(o0(Q)),Y.b.push(o0(Z)),Y.a.length<J)return null;let G=[],L=[];for(let _=0;_<J;_++){let j=Y.a[_],B=Y.b[_];if(j!==null&&B!==null)G.push(j),L.push(B)}if(G.length<2)return null;let z=G.length,D=0,S=0;for(let _=0;_<z;_++)D+=G[_],S+=L[_];D/=z,S/=z;let H=0,q=0,E=0;for(let _=0;_<z;_++){let j=G[_]-D,B=L[_]-S;H+=j*B,q+=j*j,E+=B*B}let P=Math.sqrt(q),k=Math.sqrt(E);if(P===0||k===0)return null;return H/(P*k)}accdist(U,Q,Z,X,J){let Y=this.accdistSites.get(U);if(Y===void 0)Y={ad:0},this.accdistSites.set(U,Y);let G=o0(Q),L=o0(Z),z=o0(X);if(G===null||L===null||z===null)return Y.ad;let D=o0(J)??0,S=G-L,H=S===0?0:(z-L-(G-z))/S;return Y.ad+=H*D,Y.ad}pvt(U,Q,Z){let X=this.pvtSites.get(U);if(X===void 0)X={pvt:0,prev:null},this.pvtSites.set(U,X);let J=o0(Q),Y=X.prev;if(Y!==null&&Y!==0&&J!==null){let G=o0(Z)??0;X.pvt+=G*(J-Y)/Y}if(J!==null)X.prev=J;return X.pvt}wad(U,Q,Z,X){let J=this.wadSites.get(U);if(J===void 0)J={wad:0,prev:null,started:!1},this.wadSites.set(U,J);let Y=o0(Q),G=o0(Z),L=o0(X);if(Y===null||G===null||L===null)return J.wad;if(!J.started)return J.started=!0,J.prev=L,J.wad;let z=J.prev;if(z!==null){if(L>z)J.wad+=L-G;else if(L<z)J.wad-=Y-L}return J.prev=L,J.wad}nvi(U,Q,Z){return this.volIndexStep(this.nviSites,U,Q,Z,(X,J)=>X<J)}pvi(U,Q,Z){return this.volIndexStep(this.pviSites,U,Q,Z,(X,J)=>X>J)}volIndexStep(U,Q,Z,X,J){let Y=U.get(Q);if(Y===void 0)Y={value:1000,prevClose:null,prevVol:null,started:!1},U.set(Q,Y);let G=o0(Z),L=o0(X)??0;if(!Y.started){if(Y.started=!0,G!==null)Y.prevClose=G;return Y.prevVol=L,Y.value}if(G!==null&&Y.prevClose!==null&&J(L,Y.prevVol??0)){let z=Y.prevClose!==0?(G-Y.prevClose)/Y.prevClose:0,D=Y.value*(1+z);if(Number.isFinite(D))Y.value=D}if(G!==null)Y.prevClose=G;return Y.prevVol=L,Y.value}iii(U,Q,Z,X,J){let Y=o0(Q),G=o0(Z),L=o0(X);if(Y===null||G===null||L===null)return null;let z=Y-G;if(z===0)return 0;let D=o0(J)??0;return(2*L-Y-G)/z*D}wvad(U,Q,Z,X,J,Y){let G=this.wvadSites.get(U);if(G===void 0)G={value:0},this.wvadSites.set(U,G);let L=o0(Q),z=o0(Z),D=o0(X),S=o0(J);if(L===null||z===null||D===null||S===null)return G.value;let H=z-D,q=o0(Y)??0;if(H!==0)G.value+=(S-L)/H*q;return G.value}pivotPoints(U,Q,Z,X,J){let Y=o0(Q),G=o0(Z),L=o0(X);if(Y===null||G===null||L===null)return{pp:null,r1:null,s1:null,r2:null,s2:null};let z=(Y+G+L)/3,D=Y-G;return{pp:z,r1:2*z-G,s1:2*z-Y,r2:z+D,s2:z-D}}swma(U,Q,Z){let J=Z===void 0||Number.isNaN(Z)?4:O1(Z);if(J===null)return null;let Y=this.swmaSites.get(U);if(Y===void 0||Y.period!==J){let L=[],z=0;for(let D=0;D<J;D++){let S=D<J>>1?D+1:D>J-1>>1?J-D:(J>>1)+1;L.push(S),z+=S}Y={period:J,window:[],weights:L,wsum:z},this.swmaSites.set(U,Y)}if(Y.window.length===J)Y.window.shift();if(Y.window.push(o0(Q)),Y.window.length<J||Y.wsum===0)return null;let G=0;for(let L=0;L<J;L++){let z=Y.window[L];if(z==null)return null;G+=z*Y.weights[L]}return G/Y.wsum}cog(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.cogSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.cogSites.set(U,J);if(J.window.length===X)J.window.shift();if(J.window.push(o0(Q)),J.window.length<X)return null;let Y=0,G=0;for(let L=0;L<X;L++){let z=J.window[X-1-L];if(z===null)continue;Y+=(L+1)*z,G+=z}if(G===0)return null;return-Y/G}tsi(U,Q,Z,X){let J=O1(Z),Y=O1(X);if(J===null||Y===null)return null;let G=this.tsiSites.get(U);if(G===void 0||G.longPeriod!==J||G.shortPeriod!==Y)G={longPeriod:J,shortPeriod:Y,prev:null,nBars:0,value:null},this.tsiSites.set(U,G);let L=o0(Q);G.nBars+=1;let z=G.prev;if(G.prev=L,z===null||L===null){if(G.nBars<J+Y)return G.value=null,null;return G.value}let D=L-z,S=`${U}:${J}:${Y}`,H=this.ema(`${S}:mom`,D,J),q=this.ema(`${S}:mom2`,H,Y),E=this.ema(`${S}:abs`,Math.abs(D),J),P=this.ema(`${S}:abs2`,E,Y);if(G.nBars<J+Y)return G.value=null,null;if(P===null||P===0)return G.value=P===0?0:null,G.value;if(q===null)return G.value=null,null;return G.value=100*(q/P),G.value}kcw(U,Q,Z,X,J,Y){let G=this.kc(U,Q,Z,X,J,Y);if(G.mid===null||G.up===null||G.lo===null||G.mid===0)return null;return(G.up-G.lo)/G.mid}dev(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.devSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[],sum:0,count:0},this.devSites.set(U,J);let Y=o0(Q);if(J.window.length===X){let z=J.window.shift();if(z!==null)J.sum-=z,J.count-=1}if(J.window.push(Y),Y!==null)J.sum+=Y,J.count+=1;if(J.window.length<X||J.count!==X)return null;let G=J.sum/X,L=0;for(let z of J.window){if(z===null)return null;L+=Math.abs(z-G)}return L/X}variance(U,Q,Z){let X=O1(Z);if(X===null||X<=1)return null;let J=this.varianceSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[],sum:0,sumsq:0,count:0},this.varianceSites.set(U,J);let Y=o0(Q);if(J.window.length===X){let L=J.window.shift();if(L!==null)J.sum-=L,J.sumsq-=L*L,J.count-=1}if(J.window.push(Y),Y!==null)J.sum+=Y,J.sumsq+=Y*Y,J.count+=1;if(J.window.length<X||J.count!==X)return null;let G=(J.sumsq-J.sum*J.sum/X)/(X-1);if(G<0)G=0;return G}median(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.medianSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.medianSites.set(U,J);if(J.window.length===X)J.window.shift();if(J.window.push(o0(Q)),J.window.length<X)return null;let Y=[];for(let L of J.window)if(L!==null)Y.push(L);if(Y.length===0)return null;Y.sort((L,z)=>L-z);let G=Y.length>>1;if(Y.length%2===1)return Y[G];return(Y[G-1]+Y[G])/2}mode(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.modeSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.modeSites.set(U,J);if(J.window.length===X)J.window.shift();if(J.window.push(o0(Q)),J.window.length<X)return null;let Y=new Map,G=null,L=0;for(let z of J.window){if(z===null)continue;let D=(Y.get(z)??0)+1;if(Y.set(z,D),D>L)L=D,G=z}return G}percentrank(U,Q,Z){let X=O1(Z);if(X===null)return null;let J=this.percentrankSites.get(U);if(J===void 0||J.period!==X)J={period:X,window:[]},this.percentrankSites.set(U,J);let Y=o0(Q);if(J.window.length===X)J.window.shift();if(J.window.push(Y),J.window.length<X)return null;let G=[];for(let z of J.window)if(z!==null)G.push(z);if(G.length<2)return 50;if(Y===null)return null;let L=0;for(let z of G)if(z<Y)L+=1;return L/G.length*100}percentileNearest(U,Q,Z,X){return this.percentileStep(this.percentileNearestSites,U,Q,Z,X,!1)}percentileLinear(U,Q,Z,X){return this.percentileStep(this.percentileLinearSites,U,Q,Z,X,!0)}percentileStep(U,Q,Z,X,J,Y){let G=O1(X);if(G===null||!Number.isFinite(J))return null;let L=U.get(Q);if(L===void 0||L.period!==G||L.percentage!==J)L={period:G,percentage:J,window:[]},U.set(Q,L);if(L.window.length===G)L.window.shift();if(L.window.push(o0(Z)),L.window.length<G)return null;let z=[];for(let H of L.window)if(H!==null)z.push(H);if(z.length===0)return null;z.sort((H,q)=>H-q);let D=z.length;if(Y){if(D===1)return z[0];let H=J/100*(D-1),q=Math.trunc(H),E=Math.min(q+1,D-1),P=H-q;return z[q]*(1-P)+z[E]*P}let S=Math.trunc(J/100*D+0.999999);if(S<1)S=1;if(S>D)S=D;return z[S-1]}cum(U,Q){let Z=this.cumSites.get(U);if(Z===void 0)Z={total:0},this.cumSites.set(U,Z);let X=o0(Q);return Z.total+=X??0,Z.total}barssince(U,Q){let Z=this.barssinceSites.get(U);if(Z===void 0)Z={everTrue:!1,barsSince:0},this.barssinceSites.set(U,Z);let X=o0(Q);if(X!==null&&X!==0)return Z.everTrue=!0,Z.barsSince=0,0;return Z.barsSince+=1,Z.everTrue?Z.barsSince:null}valuewhen(U,Q,Z,X=0){if(!Number.isFinite(X)||X<0)return null;let J=Math.trunc(X),Y=this.valuewhenSites.get(U);if(Y===void 0||Y.occurrence!==J)Y={occurrence:J,hits:[]},this.valuewhenSites.set(U,Y);let G=o0(Q);if(G!==null&&G!==0){if(Y.hits.length===J+1)Y.hits.shift();Y.hits.push(o0(Z))}if(Y.hits.length<=J)return null;return Y.hits[Y.hits.length-1-J]}range(U,Q,Z){let X=this.highest(`${U}:hi`,Q,Z),J=this.lowest(`${U}:lo`,Q,Z);if(X===null||J===null)return null;return X-J}max(U,Q,Z){return this.highest(U,Q,Z)}min(U,Q,Z){return this.lowest(U,Q,Z)}}class k6 extends Error{constructor(U){super(U);this.name="CompileError"}}class K4 extends k6{constructor(U){super(U);this.name="CompileEmitError"}}class u4 extends k6{constructor(U){super(U);this.name="CompileLoadError"}}class r7 extends k6{constructor(U){super(U);this.name="CompileIneligibleError"}}h2();var NV=new Set(["arguments","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","eval","export","extends","false","finally","for","from","function","if","implements","import","in","instanceof","interface","let","new","null","of","package","private","protected","public","return","static","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","__bar_idx","__h"]),H9=new WeakMap;function r4(U){if(!U)return"_";let Q=/^[A-Za-z_$]/.test(U)?U:`_${U}`;return Q=Q.replace(/[^A-Za-z0-9_$]/g,"_"),NV.has(Q)?`${Q}_`:Q}function wV(U,Q){return`__st_${U}_${r4(Q)}`}function q$(U){return U.trim().replace(/;+\s*$/,"")}function C$(U){return U.split(`
|
|
58
|
+
`).map((Q)=>Q.length?` ${Q}`:Q).join(`
|
|
59
|
+
`)}function E$(U){let Q=U.trimEnd();if(!Q)return Q;if(/[;{}]$/.test(Q))return Q;return`${Q};`}var yV=new Set(["If","ForTo","ForIn","While","Switch"]);function xV(U){return U.kind==="Expr"&&yV.has(U.value.kind)}function M$(U){if(U==null)return!1;let Q=typeof U==="object"&&U!=null&&"kind"in U?U.kind:String(U);return Q==="Var"||Q==="VarIp"}function gV(U,Q){if(U.default==null)return"null";return zZ(U.default,Q)}function zZ(U,Q){return q$(Q({kind:"Expr",value:U}))||"null"}function fV(U,Q){let Z=U.target;if(Z.kind==="Name"){let X=Q.get(Z.id);if(X!=null)return` return ${X}[__bar_idx];`;return` return ${r4(Z.id)};`}return" return null;"}function pV(U){let Q=q$(U);if(!Q)return" return null;";if(/^return\b/.test(Q))return C$(E$(Q));return` return ${Q};`}function SZ(U,Q){if(U==null||typeof U!=="object")return;if(Array.isArray(U)){for(let X of U)SZ(X,Q);return}let Z=U;if(Z.kind==="FunctionDef"||Z.kind==="TypeDef"||Z.kind==="EnumDef"){Q(Z);return}if(typeof Z.kind==="string")Q(Z);for(let X of Object.values(Z))SZ(X,Q)}function MZ(U,Q){if(U==null||typeof U!=="object")return;let Z=U;if(Z.kind==="Name"&&typeof Z.id==="string"){Q.add(Z.id);return}if(Z.kind==="Tuple")for(let X of Z.elts??[])MZ(X,Q)}function vV(U,Q,Z,X){let J=H9.get(U);if(J==null)J=new Map,H9.set(U,J);if(J.set(Q,X),Z!==Q)J.set(Z,X)}function hV(U,Q,Z){let X=H9.get(U)?.get(Q)??H9.get(U)?.get(Z);if(X!=null)return X;let J=`__st_${Z}_`;return[...U.stArrays].filter((Y)=>Y.startsWith(J)).sort()}function cV(U){let Q=Array.isArray(U.args)?U.args:[],Z=[];for(let X=0;X<Q.length;X++){let J=Q[X];Z.push(U.method&&X===0&&!J.name?"this":J.name)}return Z}function qZ(U,Q,Z){let X=Q.name;U.userFuncs.add(X);let J=r4(X);if(J!==X)U.userFuncs.add(J);let Y=Array.isArray(Q.args)?Q.args:[],G=cV(Q);if(U.funcParamNames.set(X,G),J!==X)U.funcParamNames.set(J,G);let L=new Set(G),z=Array.isArray(Q.body)?Q.body:[],D=new Set,S=new Set,H=new Set,q=new Set,E=new Map;if(SZ(z,(x)=>{if(x.kind==="Subscript"){let h=x.value;if(h?.kind==="Name"&&typeof h.id==="string"){if(q.add(h.id),L.has(h.id))D.add(h.id)}}if(x.kind==="Assign"||x.kind==="ReAssign"){if(MZ(x.target,S),x.kind==="Assign"&&M$(x.mode)){let h=new Set;MZ(x.target,h);for(let r of h){if(L.has(r))continue;if(H.add(r),!E.has(r))E.set(r,x.value??null)}}}}),U.funcSeriesParams.set(X,D),J!==X)U.funcSeriesParams.set(J,D);let P=[...new Set([...H,...q])].filter((x)=>S.has(x)&&!L.has(x)).sort(),k=new Map,_=[];for(let x of P){let h=wV(J,x);U.stArrays.add(h),k.set(x,h),_.push(h)}vV(U,X,J,_);let{currentFunc:j,currentParamNames:B,currentSeriesParams:y}=U;U.currentFunc=X,U.currentParamNames=new Set(G),U.currentSeriesParams=D;try{let x=[];for(let I0=0;I0<Y.length;I0++){let d=G[I0],J0=r4(d);if(D.has(d))x.push(J0);else x.push(`${J0} = ${gV(Y[I0],Z)}`)}let h=[];for(let I0 of P){let d=k.get(I0),J0=E.get(I0),I=J0!=null?zZ(J0,Z):"null";h.push(` if (__bar_idx === 0) ${d}[0] = ${I};`),h.push(` else ${d}[__bar_idx] = ${d}[__bar_idx - 1];`)}let r=(I0)=>{if(I0.kind!=="Assign"&&I0.kind!=="ReAssign")return Z(I0);if(I0.target.kind!=="Name"||!k.has(I0.target.id))return Z(I0);let d=k.get(I0.target.id);if(I0.kind==="Assign"&&M$(I0.mode))return"";let J0=I0.value!=null?zZ(I0.value,Z):"null";return`${d}[__bar_idx] = __h.naNum(${J0});`},T0=!1;for(let I0=0;I0<z.length;I0++){let d=z[I0],J0=r(d);if(!J0||!J0.trim())continue;let I=I0===z.length-1;if(I&&d.kind==="Expr"&&!xV(d)){h.push(pV(J0)),T0=!0;continue}if(h.push(C$(E$(J0))),I&&(d.kind==="Assign"||d.kind==="ReAssign"))h.push(fV(d,k)),T0=!0}if(!T0)h.push(" return null;");let L0=["__bar_idx","__h",...x,..._].join(", ");U.functions.push(`function ${J}(${L0}) {
|
|
60
|
+
${h.join(`
|
|
61
|
+
`)}
|
|
62
|
+
}`)}finally{U.currentFunc=j,U.currentParamNames=B,U.currentSeriesParams=y}}function F9(U,Q,Z){let X=U.userFuncs.has(Q)?Q:[...U.userFuncs].find((L)=>r4(L)===Q)??Q,J=r4(X),Y=hV(U,X,J),G=["__bar_idx","__h",...Z,...Y];return`${J}(${G.join(", ")})`}var R2="high_arr[__bar_idx]",z2="low_arr[__bar_idx]",o1="close_arr[__bar_idx]",N6="vol_arr[__bar_idx]",uV="open_arr[__bar_idx]",P$=new Set(["ta","math","str","array","matrix","map","color","strategy","input","request","ticker","timeframe","runtime","log","barstate","session","syminfo","timenow","chart"]),R9=new Set(["sma","ema","rma","rsi","atr","tr","change","mom","roc","stdev","highest","lowest","sum","cross","crossover","crossunder","macd","bb","stoch","wma","vwma","hma","cci","cmo","mfi","tsi","dmi","supertrend","alma","kama","linreg","rising","falling","barssince","valuewhen","pivothigh","pivotlow","swma","kc","willr","wpr","vwap","sar","adx","correlation","cog","cum","range","accdist","pvt","wad","nvi","pvi","wvad","iii","obv","highestbars","lowestbars","dev","variance","median","mode","percentrank","dema","tema","bbw","max","min"]),bV=new Set(["sma","ema","rma","rsi","stdev","wma","hma","cmo","sum","dema","tema","highestbars","lowestbars","dev","variance","median","mode","percentrank","range","cog"]),lV=new Set(["change","mom","roc","rising","falling"]),dV=new Set(["plot","plotshape","plotchar","plotarrow","hline","bgcolor","barcolor"]),N$=new Set(["strategy_entry","strategy_close","strategy_close_all","strategy_exit","strategy_order","strategy_cancel","strategy_cancel_all"]),w$=new Set(["strategy_position_size","strategy_netprofit","strategy_equity","strategy_openprofit","strategy_opentrades","strategy_closedtrades"]),oV={close:"close_arr",open:"open_arr",high:"high_arr",low:"low_arr",volume:"vol_arr",time:"time_arr"},mV={abs:{fn:"Math.abs(Number(__x))"},sqrt:{fn:"Math.sqrt(Number(__x))",guard:"Number(__x) < 0"},log:{fn:"Math.log(Number(__x))",guard:"Number(__x) <= 0"},log10:{fn:"Math.log10(Number(__x))",guard:"Number(__x) <= 0"},exp:{fn:"Math.exp(Number(__x))"},sign:{fn:"(Number(__x) > 0 ? 1 : Number(__x) < 0 ? -1 : 0)"},floor:{fn:"Math.floor(Number(__x))"},ceil:{fn:"Math.ceil(Number(__x))"},sin:{fn:"Math.sin(Number(__x))"},cos:{fn:"Math.cos(Number(__x))"},tan:{fn:"Math.tan(Number(__x))"},asin:{fn:"Math.asin(Number(__x))",guard:"Number(__x) < -1 || Number(__x) > 1"},acos:{fn:"Math.acos(Number(__x))",guard:"Number(__x) < -1 || Number(__x) > 1"},atan:{fn:"Math.atan(Number(__x))"},todegrees:{fn:"Number(__x) * 180 / Math.PI"},toradians:{fn:"Number(__x) * Math.PI / 180"}};function y$(U,Q,Z){let{name:X,methodSrc:J}=rV(Q.func),Y=nV(Q,Z);if(J!=null&&J.kind==="Name"){let _=J.id;if(U.importAliases.has(_)){if(U.userFuncs.has(X))return F9(U,X,j$(U,X,Y));return"null"}}let G=JD(U,X,J,Y);if(G!=null)return G;let L=GD(U,X,J,Y);if(L!=null)return L;let z=TD(U,X,J,Y,Z);if(z!=null)return z;if(J!=null)Y.pos.unshift(Z(J)),Y.posNodes.unshift(J);let D=X;if(J!=null&&R9.has(D))D=`ta_${D}`;if(J!=null&&(D==="tostring"||D==="format"))D=`str_${D}`;if(dV.has(D))return zD(U,D,Y);if(D==="indicator"||D==="study"||D==="library")return"null";if(D==="strategy")return"null";if(D==="na"){if(Y.pos.length===0&&Y.kw.x==null&&Y.kw.source==null)return"null";return`(__h.isNa(${M0(Y,0,["x","source"],"null")}) ? 1 : 0)`}if(D==="nz"){let _=M0(Y,0,["source","x"],"null");if(N2(Y,1,["replacement","y"]))return`__h.nz(${_}, ${M0(Y,1,["replacement","y"],"0")})`;return`__h.nz(${_})`}if(D==="input"||D.startsWith("input_"))return MD(U,Y);if(N$.has(D)||w$.has(D)||D.startsWith("strategy_"))return HD(U,D,Y);if(U.userFuncs.has(D)||U.funcSeriesParams.has(D))return F9(U,D,j$(U,D,Y));if(D==="year"||D==="month"||D==="dayofmonth"||D==="hour"||D==="minute"||D==="second"||D==="dayofweek"){let _=M0(Y,0,["time"],"time");return`__h.${D}(${_})`}if(D==="timestamp")return`__h.timestamp(${(Y.pos.length>0?Y.pos:Object.values(Y.kw)).join(", ")})`;if(D==="weekofyear")return`__h.weekOfYear(${M0(Y,0,["time","timestamp"],"time")})`;if(D==="time_tradingday")return`__h.timeTradingDay(${M0(Y,0,["time","timestamp"],"time")})`;if(D==="timeframe_in_seconds"){if(N2(Y,0,["timeframe","period"]))return`__h.timeframeInSeconds(${M0(Y,0,["timeframe","period"],"null")})`;return"86400"}if(D==="ticker_heikinashi"||D==="heikinashi")return U.needsHeikinashi=!0,'"__HEIKINASHI__"';if(D.startsWith("ticker_"))return M0(Y,0,["symbol","ticker","tickerid"],'"SYMBOL"');if(D==="log_info"||D==="log_warning"||D==="log_error"){let _=D.slice(4),j=Y.pos.length>0?Y.pos:Object.values(Y.kw);return j.length>0?`__h.log.${_}(__bar_idx, ${j.join(", ")})`:`__h.log.${_}(__bar_idx)`}if(D==="log_clear")return"__h.log.clear()";if(D==="runtime_error")return`(() => { throw new Error(String(${M0(Y,0,["message","msg"],'"runtime.error"')})); })()`;if(D==="alertcondition")return"null";if(D==="str_tostring"||D==="tostring")return`String(${M0(Y,0,["value","source","x"],"null")} ?? "")`;if(D==="str_format"||D==="format"){let _=M0(Y,0,["formatString","format","fmt"],"null"),B=Object.hasOwn(Y.kw,"formatString")||Object.hasOwn(Y.kw,"format")||Object.hasOwn(Y.kw,"fmt")?Y.pos.slice():Y.pos.slice(1);return B.length>0?`__h.strFormat(${_}, ${B.join(", ")})`:`__h.strFormat(${_})`}if(D==="str_format_time"||D==="format_time")return`__h.strFormatTime(${M0(Y,0,["time","timestamp"],"null")}, ${M0(Y,1,["format"],"undefined")}, ${M0(Y,2,["timezone"],"undefined")})`;if(D.startsWith("str_")){let _=D.slice(4),B={length:"length",contains:"contains",startswith:"starts_with",ends_with:"ends_with",endswith:"ends_with",lower:"lower",upper:"upper",replace:"replace",substring:"substring",tonumber:"tonumber",trim:"trim"}[_];if(B){let y=M0(Y,0,["source","string","value"],"null"),x=Y.pos[1]??Y.kw.substring??Y.kw.str??Y.kw.replacement??"undefined";if(_==="length"||_==="lower"||_==="upper"||_==="tonumber"||_==="trim")return`__h.str.${B}(${y})`;return`__h.str.${B}(${y}, ${x})`}}let S=SD(D,Y);if(S!=null)return S;let H=CD(D,Y);if(H!=null)return H;if(R9.has(D)&&!U.userFuncs.has(D))D=`ta_${D}`;if(D.startsWith("ta_"))return kD(U,D.slice(3),Y);let q=UD(D,Y);if(q!=null)return q;let E=QD(D,Y);if(E!=null)return E;let P=ZD(D,Y);if(P!=null)return P;let k=KD(U,D,Y);if(k!=null)return k;return"null"}function rV(U){if(U=CZ(U),U.kind==="Name")return{name:U.id,methodSrc:null};if(U.kind!=="Attribute")return{name:"unknown_func",methodSrc:null};let Q=U,Z=Q.attr,X=CZ(Q.value);if(X.kind==="Name"){let J=X.id;if(P$.has(J))return{name:`${J}_${Z}`,methodSrc:null};return{name:Z,methodSrc:X}}if(X.kind==="Attribute"){let J=X,Y=CZ(J.value);if(Y.kind==="Name"&&P$.has(Y.id))return{name:`${Y.id}_${J.attr}_${Z}`,methodSrc:null};return{name:Z,methodSrc:Q.value}}return{name:Z,methodSrc:Q.value}}function CZ(U){let Q=U;if(Q.kind==="Specialize"&&Q.value!=null)return Q.value;return U}function nV(U,Q){let Z=[],X={},J=[],Y={},G=U.args??[];for(let L of G){let z=L.value,D=Q(z),S=L.name!=null&&L.name!==""?L.name:null;if(S!=null)X[S]=D,Y[S]=z;else Z.push(D),J.push(z)}return{pos:Z,kw:X,posNodes:J,kwNodes:Y}}function M0(U,Q,Z,X){for(let J of Z)if(Object.hasOwn(U.kw,J))return U.kw[J];if(Q>=0&&Q<U.pos.length)return U.pos[Q];return X}function N2(U,Q,Z){for(let X of Z)if(Object.hasOwn(U.kw,X))return!0;return Q>=0&&Q<U.pos.length}var PZ=new Set(["label","line","box","table","polyline","linefill"]),sV={new:[["size"],["initial_value","initial"]],get:[["id"],["index"]],set:[["id"],["index"],["value"]],push:[["id"],["value"]],pop:[["id"]],unshift:[["id"],["value"]],shift:[["id"]],size:[["id"]],includes:[["id"],["value"]],first:[["id"]],last:[["id"]],insert:[["id"],["index"],["value"]],remove:[["id"],["index"]],clear:[["id"]],fill:[["id"],["value"]],copy:[["id"]],reverse:[["id"]],sort:[["id"],["order"]],concat:[["id"],["other","id2"]],slice:[["id"],["index_from","from"],["index_to","to"]],indexof:[["id"],["value"]],lastindexof:[["id"],["value"]],avg:[["id"]],min:[["id"]],max:[["id"]],sum:[["id"]],stdev:[["id"],["biased"]],variance:[["id"],["biased"]],join:[["id"],["separator","sep"]],every:[["id"]],some:[["id"]],abs:[["id"]],range:[["id"]],median:[["id"]],mode:[["id"]],standardize:[["id"]],percentrank:[["id"],["value"]],percentile_linear:[["id"],["percentage","percent"]],percentile_linear_interpolation:[["id"],["percentage","percent"]],percentile_nearest:[["id"],["percentage","percent"]],percentile_nearest_rank:[["id"],["percentage","percent"]],binary_search:[["id"],["value"]],binary_search_leftmost:[["id"],["value"]],binary_search_rightmost:[["id"],["value"]],sort_indices:[["id"],["order"]],covariance:[["id"],["id2","other"],["biased"]]},iV={new:[],put:[["id"],["key"],["value"]],get:[["id"],["key"]],contains:[["id"],["key"]],remove:[["id"],["key"]],clear:[["id"]],size:[["id"]],keys:[["id"]],values:[["id"]],copy:[["id"]],put_all:[["id"],["id2","other"]]},aV={new:[["rows"],["columns","cols"],["initial_value","initial"]],get:[["id"],["row"],["column","col"]],set:[["id"],["row"],["column","col"],["value"]],rows:[["id"]],columns:[["id"]],fill:[["id"],["value"]],transpose:[["id"]],copy:[["id"]],inv:[["id"]],pinv:[["id"]],rank:[["id"]],det:[["id"]],trace:[["id"]],elements_count:[["id"]],is_square:[["id"]],is_zero:[["id"]],is_identity:[["id"]],is_diagonal:[["id"]],is_symmetric:[["id"]],is_antisymmetric:[["id"]],is_triangular:[["id"]],is_binary:[["id"]],is_stochastic:[["id"]],is_antidiagonal:[["id"]],mult:[["id"],["other","matrix_2"]],row:[["id"],["row","index"]],col:[["id"],["column","col","index"]],column:[["id"],["column","col","index"]],sum:[["id"]],sum_all:[["id"]],avg:[["id"]],avg_all:[["id"]],min:[["id"]],min_all:[["id"]],max:[["id"]],max_all:[["id"]],median:[["id"]],mode:[["id"]],kron:[["id"],["other"]],diff:[["id"],["other"]],concat:[["id"],["other"]],reshape:[["id"],["rows"],["columns","cols"]],reverse:[["id"]],sort:[["id"],["column","col"],["order"]],eigenvalues:[["id"]],eigenvectors:[["id"]],pow:[["id"],["power","n"]],swap_rows:[["id"],["row1","i"],["row2","j"]],swap_columns:[["id"],["column1","i"],["column2","j"]],add_row:[["id"],["row","index"],["array"]],add_col:[["id"],["column","index"],["array"]],add_column:[["id"],["column","index"],["array"]],remove_row:[["id"],["row","index"]],remove_col:[["id"],["column","index"]],remove_column:[["id"],["column","index"]],submatrix:[["id"],["from_row"],["to_row"],["from_column","from_col"],["to_column","to_col"]]};function kZ(U,Q){if(!U.startsWith(Q))return null;return U.slice(Q.length)}function _Z(U){return U==="from"||U.startsWith("new")?"new":U}var tV={percentile_linear_interpolation:"percentile_linear",percentile_nearest_rank:"percentile_nearest"},eV={column:"col",add_column:"add_col",remove_column:"remove_col",sum_all:"sum",avg_all:"avg",min_all:"min",max_all:"max"};function z9(U,Q,Z,X){let J=X.map((Y,G)=>M0(Z,G,Y,"null"));return`__h.${U}.${Q}(${J.join(", ")})`}function UD(U,Q){let Z=kZ(U,"array_");if(Z==null)return null;let X=_Z(Z),J=sV[X];if(J==null)return null;return z9("array",tV[X]??X,Q,J)}function QD(U,Q){let Z=kZ(U,"map_");if(Z==null)return null;let X=_Z(Z),J=iV[X];if(J==null)return null;return z9("map",X,Q,J)}function ZD(U,Q){let Z=kZ(U,"matrix_");if(Z==null)return null;let X=_Z(Z),J=aV[X];if(J==null)return null;return z9("matrix",eV[X]??X,Q,J)}function XD(U,Q){if(Q!=null&&Q.kind==="Name"){let X=Q.id;if(PZ.has(X))return{kind:X,method:U}}let Z=U.indexOf("_");if(Z>0){let X=U.slice(0,Z);if(PZ.has(X))return{kind:X,method:U.slice(Z+1)}}return null}var k$={label:{set_text:[["id"],["text"]],set_xy:[["id"],["x"],["y"]],set_color:[["id"],["color"]],set_style:[["id"],["style"]],set_size:[["id"],["size"]],set_tooltip:[["id"],["tooltip"]],set_textalign:[["id"],["textalign"]],delete:[["id"]],get_text:[["id"]],get_x:[["id"]],get_y:[["id"]]},line:{set_xy:[["id"],["x1"],["y1"],["x2"],["y2"]],set_xy1:[["id"],["x1"],["y1"]],set_xy2:[["id"],["x2"],["y2"]],set_color:[["id"],["color"]],set_width:[["id"],["width"]],set_style:[["id"],["style"]],set_extend:[["id"],["extend"]],delete:[["id"]],get_price:[["id"],["x"]],get_x1:[["id"]],get_y1:[["id"]],get_x2:[["id"]],get_y2:[["id"]]},box:{set_corners:[["id"],["left","x1"],["top","y1"],["right","x2"],["bottom","y2"]],set_lefttop:[["id"],["left","x1"],["top","y1"],["right","x2"],["bottom","y2"]],set_bgcolor:[["id"],["bgcolor","color"]],set_border_color:[["id"],["color","border_color"]],set_text:[["id"],["text"]],set_extend:[["id"],["extend"]],delete:[["id"]]},table:{cell:[["id"],["column","col"],["row"],["text"]],cell_set_text:[["id"],["column","col"],["row"],["text"]],set_position:[["id"],["position"]],delete:[["id"]]},polyline:{delete:[["id"]]},linefill:{set_color:[["id"],["color"]],delete:[["id"]]}};function JD(U,Q,Z,X){if(Q==="alert"&&Z==null)return U.usesDrawings=!0,`__h.draw.alert(__bar_idx, ${M0(X,0,["message"],"null")})`;let J=XD(Q,Z);if(J==null)return null;let{kind:Y,method:G}=J,L=null;if(G==="new"){if(Y==="label")L=`__h.draw.label_new(__bar_idx, ${M0(X,2,["text"],"null")})`;else if(Y==="linefill")L=`__h.draw.linefill_new(__bar_idx, ${M0(X,0,["id1"],"null")}, ${M0(X,1,["id2"],"null")})`;else if(PZ.has(Y))L=`__h.draw.${Y}_new(__bar_idx)`}else{let z=Y==="box"&&G==="set_lefttop"?"set_corners":G,D=k$[Y]?.[G]??k$[Y]?.[z];if(D!=null)L=z9("draw",`${Y}_${z}`,X,D)}if(L!=null)U.usesDrawings=!0;return L}function GD(U,Q,Z,X){if(Z==null||Z.kind!=="Name")return null;let J=Z.id,Y=U.udtTypes.get(J);if(Y==null)return null;if(Q==="copy")return`({...${M0(X,0,["id","this","source"],"null")}})`;if(Q!=="new")return null;let G=[],L=new Set,z=0;for(let D of Y.fields){let S;if(Object.hasOwn(X.kw,D))S=X.kw[D],L.add(D);else if(z<X.pos.length)S=X.pos[z++];else if(Object.hasOwn(Y.defaults,D))S=Y.defaults[D];if(S!=null)G.push(`${D}: ${S}`)}for(let[D,S]of Object.entries(X.kw)){if(L.has(D))continue;G.push(`${D}: ${S}`)}return`__h.udtNew(${JSON.stringify(J)}, {${G.join(", ")}})`}var ID=new Set(["security","request_security","request_security_lower_tf","request_seed"]),$D=new Set(["close","open","high","low","volume","time","hl2","hlc3","ohlc4"]),YD=/^(?:open|high|low|close|vol|volume|time|hl2|hlc3|ohlc4)_arr\[__bar_idx\]$/;function TD(U,Q,Z,X,J){if(Z==null||Z.kind!=="Name")return null;if(!U.udtMethodNames.has(Q)&&!U.userFuncs.has(Q))return null;if(R9.has(Q))return null;return F9(U,Q,[J(Z),...X.pos])}function KD(U,Q,Z){if(ID.has(Q)){let X=M0(Z,0,["symbol","ticker"],"null"),J=M0(Z,2,["expression","expr"],"close");if(x$(X)&&_$(J))return U.needsHeikinashi=!0,LD(J);if(_$(J)&&VD(X))return J;return"null"}if(Q==="request_currency_rate"||Q==="currency_rate")return`__h.currencyRate(${M0(Z,0,["from","from_currency"],"null")}, ${M0(Z,1,["to","to_currency"],"null")})`;if(Q.startsWith("request_"))return"null";return null}function _$(U){let Q=U.trim();if(!Q)return!1;if($D.has(Q))return!0;return YD.test(Q)}function WD(U){if(U.length>=2&&(U.startsWith('"')&&U.endsWith('"')||U.startsWith("'")&&U.endsWith("'"))){if(U.startsWith('"'))try{return JSON.parse(U)}catch{return U.slice(1,-1)}return U.slice(1,-1)}return U}function x$(U){let Q=U.trim();if(Q==="__HEIKINASHI__"||Q==="'__HEIKINASHI__'"||Q==='"__HEIKINASHI__"')return!0;if(/^['"]__HEIKINASHI__['"]$/.test(Q))return!0;if(Q.includes("__HEIKINASHI__")&&!Q.toUpperCase().includes("HA("))return!0;return!1}var OD={open:"ha_open_arr[__bar_idx]",high:"ha_high_arr[__bar_idx]",low:"ha_low_arr[__bar_idx]",close:"ha_close_arr[__bar_idx]",Open:"ha_open_arr[__bar_idx]",High:"ha_high_arr[__bar_idx]",Low:"ha_low_arr[__bar_idx]",Close:"ha_close_arr[__bar_idx]",open_arr:"ha_open_arr",high_arr:"ha_high_arr",low_arr:"ha_low_arr",close_arr:"ha_close_arr",Open_arr:"ha_open_arr",High_arr:"ha_high_arr",Low_arr:"ha_low_arr",Close_arr:"ha_close_arr","open_arr[__bar_idx]":"ha_open_arr[__bar_idx]","high_arr[__bar_idx]":"ha_high_arr[__bar_idx]","low_arr[__bar_idx]":"ha_low_arr[__bar_idx]","close_arr[__bar_idx]":"ha_close_arr[__bar_idx]","Open_arr[__bar_idx]":"ha_open_arr[__bar_idx]","High_arr[__bar_idx]":"ha_high_arr[__bar_idx]","Low_arr[__bar_idx]":"ha_low_arr[__bar_idx]","Close_arr[__bar_idx]":"ha_close_arr[__bar_idx]"};function LD(U){return OD[U.trim()]??U}function VD(U){let Q=U.trim();if(!Q||Q==="null"||Q==="na"||Q==="undefined"||Q==="None"||Q==="np.nan")return!0;if(x$(Q))return!0;let Z=WD(Q).trim();if(!Z||Z==="na"||Z==="null"||Z==="SYMBOL")return!0;if(Q==="SYMBOL"||Q==="tickerid"||Q==="ticker")return!0;if(Q==="syminfo_ticker"||Q==="syminfo_tickerid")return!0;if(Q.toLowerCase().includes("syminfo")&&(Q.includes("ticker")||Q.includes("tickerid")||Q.includes("root")||Q.includes("prefix")))return!0;return!1}function $5(U){if(U==null||U.kind!=="Constant")return null;let Q=U.value;return typeof Q==="string"?Q:null}function A$(U,Q){return N$.has(U)||Q==="entry"||Q==="close"||Q==="close_all"||Q==="exit"||Q==="order"||Q==="cancel"||Q==="cancel_all"||Q.startsWith("risk_")||U.startsWith("strategy_entry")||U.startsWith("strategy_risk")}function DD(U,Q){let Z=M0(Q,0,["id"],"null"),X=M0(Q,1,["direction"],"null"),J=M0(Q,2,["qty"],"null"),Y=[];if(N2(Q,3,["limit"]))Y.push(`limit: ${M0(Q,3,["limit"],"null")}`);if(N2(Q,4,["stop"]))Y.push(`stop: ${M0(Q,4,["stop"],"null")}`);if(N2(Q,5,["comment"]))Y.push(`comment: ${M0(Q,5,["comment"],"null")}`);return`__h.strategy.${U}(${Z}, ${X}, ${J}, {${Y.join(", ")}})`}function HD(U,Q,Z){let X=Q.startsWith("strategy_")?Q.slice(9):Q;if(X==="long"||X==="short")return JSON.stringify(X);if(A$(Q,X)||w$.has(Q))U.usesStrategy=!0;switch(X){case"entry":case"order":return U.usesStrategy=!0,DD(X,Z);case"close":{U.usesStrategy=!0;let J=M0(Z,0,["id"],"null");return N2(Z,1,["qty"])?`__h.strategy.close(${J}, ${M0(Z,1,["qty"],"null")})`:`__h.strategy.close(${J})`}case"close_all":return U.usesStrategy=!0,"__h.strategy.close_all()";case"exit":{U.usesStrategy=!0;let J=M0(Z,1,["from_entry"],"null");return N2(Z,2,["qty"])?`__h.strategy.exit(${J}, ${M0(Z,2,["qty"],"null")})`:`__h.strategy.exit(${J})`}case"cancel":return U.usesStrategy=!0,`__h.strategy.cancel(${M0(Z,0,["id"],"null")})`;case"cancel_all":return U.usesStrategy=!0,"__h.strategy.cancel_all()";case"position_size":case"netprofit":case"equity":case"openprofit":case"opentrades":case"closedtrades":return U.usesStrategy=!0,`__h.strategy.${X}()`;case"risk_allow_entry_in":return U.usesStrategy=!0,`__h.strategy.risk_allow_entry_in(${M0(Z,0,["value"],"null")})`;case"risk_max_position_size":return U.usesStrategy=!0,`__h.strategy.risk_max_position_size(${M0(Z,0,["percent","value"],"null")})`;case"risk_max_drawdown":return U.usesStrategy=!0,`__h.strategy.risk_max_drawdown(${M0(Z,0,["value"],"null")}, ${M0(Z,1,["type"],"null")})`;default:if(A$(Q,X))U.usesStrategy=!0;return"null"}}function FD(U,Q){let Z=oV[Q];if(Z!=null)return Z;let X=`${Q}_arr`,J=`__u_${Q}_arr`;if(U.arrays.has(X))return X;if(U.arrays.has(J))return J;return X}function RD(U,Q,Z){if(Q!=null&&Q.kind==="Name")return FD(U,Q.id);return Z||"null"}function j$(U,Q,Z){let X=U.funcParamNames.get(Q),J=U.funcSeriesParams.get(Q);if(X==null||X.length===0)return Z.pos.slice();let Y=[];for(let G=0;G<X.length;G++){let L=X[G],z=G<Z.pos.length,D=z?Z.posNodes[G]:Z.kwNodes[L],S=z?Z.pos[G]:Z.kw[L]??"null";Y.push(J?.has(L)?RD(U,D,S):S)}for(let G=X.length;G<Z.pos.length;G++)Y.push(Z.pos[G]);return Y}function zD(U,Q,Z){let X=$5(Z.kwNodes.title);if(X==null)for(let G of Z.posNodes){let L=$5(G);if(L!=null){X=L;break}}if(X==null||X==="")X=`plot_${U.plots.length}`;let J=M0(Z,0,["series","source","price"],"null"),Y=U.plots.length;return U.plots.push({title:X}),`plot_${Y}[__bar_idx] = __h.naNum(${J})`}function SD(U,Q){if(U==="color_r")return`__h.colorR(${M0(Q,0,["color"],"null")})`;if(U==="color_g")return`__h.colorG(${M0(Q,0,["color"],"null")})`;if(U==="color_b")return`__h.colorB(${M0(Q,0,["color"],"null")})`;if(U==="color_t")return`__h.colorT(${M0(Q,0,["color"],"null")})`;if(U==="color_rgb"){let Z=M0(Q,0,["red","r"],"null"),X=M0(Q,1,["green","g"],"null"),J=M0(Q,2,["blue","b"],"null");if(N2(Q,3,["transp","t","transparency"]))return`__h.colorRgb(${Z}, ${X}, ${J}, ${M0(Q,3,["transp","t","transparency"],"null")})`;return`__h.colorRgb(${Z}, ${X}, ${J})`}if(U==="color_from_gradient")return`__h.colorFromGradient(${M0(Q,0,["value"],"null")}, ${M0(Q,1,["bottom_value","bottom"],"null")}, ${M0(Q,2,["top_value","top"],"null")}, ${M0(Q,3,["color1"],"null")}, ${M0(Q,4,["color2"],"null")})`;if(U==="color_new"||U==="color"){let Z=M0(Q,0,["color"],"null");if(N2(Q,1,["transp","transparency"]))return`__h.colorNew(${Z}, ${M0(Q,1,["transp","transparency"],"null")})`;return`__h.colorNew(${Z})`}return null}function MD(U,Q){let Z=M0(Q,0,["defval"],"null");return`__h.input(${JSON.stringify(qD(U,Q))}, ${Z})`}function qD(U,Q){let Z=$5(Q.kwNodes.title);if(Z!=null&&Z!=="")return Z;let X=$5(Q.kwNodes.defval);if(X!=null&&X!=="")return X;if(Q.posNodes.length>1){let G=$5(Q.posNodes[1]);if(G!=null&&G!=="")return G}let J=U,Y=J.nextInput??0;return J.nextInput=Y+1,Y===0?"input":`input${Y}`}function CD(U,Q){let Z=U.startsWith("math_")?U.slice(5):U,X=U.startsWith("math_");if(!X&&!(U==="abs"||U==="max"||U==="min"||U==="sqrt"||U==="log"||U==="log10"||U==="pow"||U==="sign"||U==="floor"||U==="ceil"||U==="round"||U==="exp"||U==="sin"||U==="cos"||U==="tan"||U==="asin"||U==="acos"||U==="atan"||U==="avg"||U==="random"||U==="todegrees"||U==="toradians"||U==="iff"||U==="fixnan"))return null;if(Z==="iff"){let G=M0(Q,0,["condition","cond"],"null"),L=M0(Q,1,["then","if_true"],"null"),z=M0(Q,2,["else","if_false"],"null");return`(__h.nz(${G}) ? ${L} : ${z})`}if(Z==="fixnan")return`__h.nz(${M0(Q,0,["source","x"],"null")}, 0)`;if(Z==="max"||Z==="min"){let G=EZ(Q);if(G.length===0)return"null";if(G.length===1)return B$(G[0],"__x");return`((...__xs) => { if (__xs.length === 0) return null; let __m = ${Z==="max"?"-Infinity":"Infinity"}; for (const __x of __xs) { if (__h.isNa(__x)) return null; if (${Z==="max"?"__x > __m":"__x < __m"}) __m = Number(__x); } return Number.isFinite(__m) ? __m : null; })(${G.join(", ")})`}if(Z==="avg"){let G=EZ(Q);if(G.length===0)return"null";if(G.length===1)return B$(G[0],"__x");return`((...__xs) => { let __s = 0; for (const __x of __xs) { if (__h.isNa(__x)) return null; __s += Number(__x); } const __r = __s / __xs.length; return Number.isFinite(__r) ? __r : null; })(${G.join(", ")})`}if(Z==="sum"&&X){let G=EZ(Q);if(G.length===0)return"null";return`((...__xs) => { let __s = 0; for (const __x of __xs) { if (__h.isNa(__x)) return null; __s += Number(__x); } return Number.isFinite(__s) ? __s : null; })(${G.join(", ")})`}if(Z==="pow"){let G=M0(Q,0,["base","number","x"],"null"),L=N2(Q,1,["exponent","exp","y"])?M0(Q,1,["exponent","exp","y"],"2"):"2";return`((__b, __e) => { if (__h.isNa(__b) || __h.isNa(__e)) return null; const __r = Math.pow(Number(__b), Number(__e)); return Number.isFinite(__r) ? __r : null; })(${G}, ${L})`}if(Z==="round"){let G=M0(Q,0,["number","x"],"null");if(!N2(Q,1,["precision"]))return`((__x) => { if (__h.isNa(__x)) return null; const __n = Number(__x); const __r = __n >= 0 ? Math.round(__n) : -Math.round(-__n); return Number.isFinite(__r) ? __r : null; })(${G})`;let L=M0(Q,1,["precision"],"0");return`((__x, __p) => { if (__h.isNa(__x) || __h.isNa(__p)) return null; const __n = Number(__x); const __f = 10 ** Math.trunc(Number(__p)); if (!Number.isFinite(__f)) return null; const __y = __n * __f; const __r = (__y >= 0 ? Math.round(__y) : -Math.round(-__y)) / __f; return Number.isFinite(__r) ? __r : null; })(${G}, ${L})`}if(Z==="random"){let G=N2(Q,0,["min"])?M0(Q,0,["min"],"null"):null,L=N2(Q,1,["max"])?M0(Q,1,["max"],"null"):null;if(G==null)return"((() => { const __r = Math.random(); return Number.isFinite(__r) ? __r : null; })())";if(L==null)return`((__hi) => { if (__h.isNa(__hi)) return null; const __r = Number(__hi) * Math.random(); return Number.isFinite(__r) ? __r : null; })(${G})`;return`((__lo, __hi) => { if (__h.isNa(__lo) || __h.isNa(__hi)) return null; const __r = Number(__lo) + (Number(__hi) - Number(__lo)) * Math.random(); return Number.isFinite(__r) ? __r : null; })(${G}, ${L})`}if(Z==="log"&&N2(Q,1,["base"])){let G=M0(Q,0,["number","x"],"null"),L=M0(Q,1,["base"],"null");return`((__x, __b) => { if (__h.isNa(__x) || __h.isNa(__b) || Number(__x) <= 0 || Number(__b) <= 0 || Number(__b) === 1) return null; const __r = Math.log(Number(__x)) / Math.log(Number(__b)); return Number.isFinite(__r) ? __r : null; })(${G}, ${L})`}let Y=mV[Z];if(Y!=null){let G=M0(Q,0,["number","x","angle","radians","degrees"],"null");return ED(G,Y.fn,Y.guard)}return X?"null":null}function EZ(U){if(U.pos.length>0)return U.pos;return Object.values(U.kw)}function B$(U,Q){return`((__x) => (__h.isNa(__x) ? null : Number.isFinite(Number(__x)) ? Number(__x) : null))(${U})`}function ED(U,Q,Z){return`((__x) => { if (__h.isNa(__x)${Z!=null?` || (${Z})`:""}) return null; const __r = ${Q}; return Number.isFinite(__r) ? __r : null; })(${U})`}function PD(U){return JSON.stringify("c"+U.nextSite++)}function Z1(U,Q,Z){return`__h.ta.${U}(${Q}, ${Z.join(", ")})`}function kD(U,Q,Z){if(!R9.has(Q))return"null";let X=PD(U),J=()=>M0(Z,0,["source","series","src"],o1),Y=(G,L,z=["length","len","period"])=>M0(Z,G,z,L);if(bV.has(Q))return Z1(Q,X,[J(),Y(1,"14")]);if(lV.has(Q))return Z1(Q,X,[J(),Y(1,"1")]);if(Q==="highest"||Q==="lowest"||Q==="max"||Q==="min"){let G=Q==="lowest"||Q==="min"?z2:R2;if(Z.pos.length>=2||Object.hasOwn(Z.kw,"source")||Object.hasOwn(Z.kw,"series"))return Z1(Q,X,[J(),Y(1,"14")]);if(Z.pos.length===1||Object.hasOwn(Z.kw,"length"))return Z1(Q,X,[G,Y(0,"14")]);return Z1(Q,X,[G,"14"])}if(Q==="atr"){if(Z.pos.length>=4)return Z1("atr",X,[Z.pos[0],Z.pos[1],Z.pos[2],Z.pos[3]]);return Z1("atr",X,[R2,z2,o1,Y(0,"14")])}if(Q==="tr"){if(Z.pos.length>=3)return Z1("tr",X,[Z.pos[0],Z.pos[1],Z.pos[2]]);return Z1("tr",X,[R2,z2,o1])}if(Q==="cross"||Q==="crossover"||Q==="crossunder"){let G=M0(Z,0,["source","series","a"],o1),L=M0(Z,1,["source2","b","series2"],"0");return Z1(Q,X,[G,L])}if(Q==="macd")return`(() => { const __r = ${Z1("macd",X,[J(),M0(Z,1,["fastlen","fastLength","fast"],"12"),M0(Z,2,["slowlen","slowLength","slow"],"26"),M0(Z,3,["signal","signalLength","siglen"],"9")])}; return [__r.macd, __r.signal, __r.hist]; })()`;if(Q==="bb")return`(() => { const __r = ${Z1("bb",X,[J(),Y(1,"20"),M0(Z,2,["mult","multiplier"],"2")])}; return [__r.mid, __r.up, __r.lo]; })()`;if(Q==="bbw")return Z1("bbw",X,[J(),Y(1,"20"),M0(Z,2,["mult","multiplier"],"2")]);if(Q==="kc")return`(() => { const __r = ${Z1("kc",X,[R2,z2,J(),Y(1,"20"),M0(Z,2,["mult","multiplier"],"1")])}; return [__r.mid, __r.up, __r.lo]; })()`;if(Q==="stoch"){if(Z.pos.length<=1&&Z.kw.high==null)return Z1("stoch",X,[o1,R2,z2,Y(0,"14")]);return Z1("stoch",X,[J(),M0(Z,1,["high"],R2),M0(Z,2,["low"],z2),Y(3,"14")])}if(Q==="vwma")return Z1("vwma",X,[J(),M0(Z,2,["volume"],N6),Y(1,"14")]);if(Q==="cci")return Z1("cci",X,[J(),Y(1,"14")]);if(Q==="mfi"){if(Z.pos.length<=1)return Z1("mfi",X,[R2,z2,o1,N6,Y(0,"14")]);if(Z.pos.length===2)return Z1("mfi",X,[J(),J(),J(),N6,Y(1,"14")]);return Z1("mfi",X,[M0(Z,0,["high"],R2),M0(Z,1,["low"],z2),M0(Z,2,["close"],o1),M0(Z,3,["volume"],N6),Y(4,"14")])}if(Q==="tsi"){if(Z.pos.length===2)return Z1("tsi",X,[o1,M0(Z,1,["long","long_length"],"25"),M0(Z,0,["short","short_length"],"13")]);return Z1("tsi",X,[J(),M0(Z,2,["long","long_length"],"25"),M0(Z,1,["short","short_length"],"13")])}if(Q==="dmi")return`(() => { const __r = ${Z1("dmi",X,[R2,z2,o1,M0(Z,0,["diLength","length"],"14"),M0(Z,1,["adxSmoothing","adxlen"],"14")])}; return [__r.plus, __r.minus, __r.adx]; })()`;if(Q==="supertrend")return`(() => { const __r = ${Z1("supertrend",X,[R2,z2,o1,M0(Z,0,["factor"],"3"),M0(Z,1,["atrPeriod","length"],"10")])}; return [__r.st, __r.dir]; })()`;if(Q==="alma")return Z1("alma",X,[J(),Y(1,"9"),M0(Z,2,["offset"],"0.85"),M0(Z,3,["sigma"],"6")]);if(Q==="kama")return Z1("kama",X,[J(),Y(1,"14"),M0(Z,2,["fastLength","fast","fastlen"],"2"),M0(Z,3,["slowLength","slow","slowlen"],"30")]);if(Q==="linreg")return Z1("linreg",X,[J(),Y(1,"14"),M0(Z,2,["offset"],"0")]);if(Q==="barssince")return Z1("barssince",X,[M0(Z,0,["condition","cond"],"null")]);if(Q==="valuewhen")return Z1("valuewhen",X,[M0(Z,0,["condition","cond"],"null"),M0(Z,1,["source","series"],o1),M0(Z,2,["occurrence","occ"],"0")]);if(Q==="pivothigh"||Q==="pivotlow")return Z1(Q,X,[J(),M0(Z,1,["leftbars","left"],"5"),M0(Z,2,["rightbars","right"],"5")]);if(Q==="swma"){if(N2(Z,1,["length","period"]))return Z1("swma",X,[J(),Y(1,"4")]);return Z1("swma",X,[J()])}if(Q==="willr"||Q==="wpr"){if(Z.pos.length>=4)return Z1("willr",X,[Z.pos[0],Z.pos[1],Z.pos[2],Z.pos[3]]);return Z1("willr",X,[R2,z2,o1,Y(0,"14")])}if(Q==="vwap")return Z1("vwap",X,[J(),M0(Z,1,["volume"],N6)]);if(Q==="sar")return Z1("sar",X,[R2,z2,M0(Z,0,["start"],"0.02"),M0(Z,1,["increment"],"0.02"),M0(Z,2,["maximum","max"],"0.2")]);if(Q==="adx")return Z1("adx",X,[R2,z2,o1,Y(0,"14")]);if(Q==="correlation")return Z1("correlation",X,[M0(Z,0,["source1","source","a"],o1),M0(Z,1,["source2","b"],o1),Y(2,"14")]);if(Q==="cum")return Z1("cum",X,[J()]);if(Q==="accdist")return Z1("accdist",X,[M0(Z,0,["high"],R2),M0(Z,1,["low"],z2),M0(Z,2,["close"],o1),M0(Z,3,["volume"],N6)]);if(Q==="pvt"||Q==="obv"||Q==="nvi"||Q==="pvi")return Z1(Q,X,[M0(Z,0,["source","close"],o1),M0(Z,1,["volume"],N6)]);if(Q==="wad")return Z1("wad",X,[R2,z2,o1]);if(Q==="iii")return Z1("iii",X,[R2,z2,o1,N6]);if(Q==="wvad")return Z1("wvad",X,[uV,R2,z2,o1,N6]);return"null"}var p$=1e6,_D=1e4,v$=new Set(["open","high","low","close","volume","time","bar_index","last_bar_index","na","hl2","hlc3","ohlc4"]),h$=new Set(["open_arr","high_arr","low_arr","close_arr","vol_arr","time_arr"]),c$=new Set([...v$,"function","return","var","let","const","default","break","case","catch","class","continue","debugger","delete","do","else","export","extends","finally","for","if","import","in","instanceof","new","super","this","throw","try","typeof","void","while","with","yield","enum","await","implements","interface","package","private","protected","public","static","arguments","eval","null","true","false","undefined","NaN","Infinity","n_bars","execute_script_compiled"]);function u$(){return{arrays:new Set,plots:[],varNames:new Set,functions:[],userFuncs:new Set,usesStrategy:!1,nextSite:0,errors:[],currentFunc:null,currentParamNames:new Set,currentSeriesParams:new Set,funcSeriesParams:new Map,funcParamNames:new Map,stArrays:new Set,udtTypes:new Map,usesDrawings:!1,enumTypes:new Map,udtMethodNames:new Set,needsHeikinashi:!1,importAliases:new Set}}function AZ(U,Q){let Z=Q??u$(),X={ctx:Z,loopVars:new Map,tmp:0};jZ(X,U);let J=[];for(let Y of U.body??[]){let G=w6(X,Y);if(G)J.push(G)}return AD(Z,J),jD(Z,J)}function BZ(U,Q){let Z=X4(U),X=u$();if(X.getLibrary=Q?.getLibrary,Z.kind!=="Script")return X.errors.push("not a Script"),{code:AZ(Z,X),ctx:X};return{code:AZ(Z,X),ctx:X}}function AD(U,Q){let Z=`${Q.join(`
|
|
63
|
+
`)}
|
|
64
|
+
${U.functions.join(`
|
|
65
|
+
`)}`;for(let X of Z.matchAll(/\b([A-Za-z_][A-Za-z0-9_]*_arr)\b/g)){let J=X[1];if(h$.has(J)||/^plot_\d+$/.test(J))continue;U.arrays.add(J)}}function jD(U,Q){if(U.needsHeikinashi)for(let Y of["ha_open_arr","ha_high_arr","ha_low_arr","ha_close_arr"])U.arrays.add(Y);let Z=["function execute_script_compiled(open_arr, high_arr, low_arr, close_arr, vol_arr, time_arr, __h) {"," const n_bars = close_arr.length;"];for(let Y of[...U.arrays].sort()){if(h$.has(Y)||/^plot_\d+$/.test(Y))continue;Z.push(` const ${Y} = new Array(n_bars).fill(null);`)}for(let Y=0;Y<U.plots.length;Y++)Z.push(` const plot_${Y} = new Array(n_bars).fill(null);`);for(let Y of[...U.stArrays].sort())Z.push(` const ${Y} = new Array(n_bars).fill(null);`);Z.push(" const __var_inited = Object.create(null);");for(let Y of U.functions)if(Y)Z.push(r2(Y,2));for(let[Y,G]of U.udtTypes)Z.push(` __h.udtRegister(${JSON.stringify(Y)}, ${JSON.stringify(G.fields)});`);if(Z.push(" for (let __bar_idx = 0; __bar_idx < n_bars; __bar_idx++) {"),Z.push(" const open = open_arr[__bar_idx];"),Z.push(" const high = high_arr[__bar_idx];"),Z.push(" const low = low_arr[__bar_idx];"),Z.push(" const close = close_arr[__bar_idx];"),Z.push(" const volume = vol_arr[__bar_idx];"),Z.push(" const time = time_arr[__bar_idx];"),Z.push(" const bar_index = __bar_idx;"),Z.push(" const last_bar_index = n_bars - 1;"),Z.push(" const na = null;"),Z.push(" const hl2 = __h.div(__h.add(high, low), 2);"),Z.push(" const hlc3 = __h.div(__h.add(__h.add(high, low), close), 3);"),Z.push(" const ohlc4 = __h.div(__h.add(__h.add(__h.add(open, high), low), close), 4);"),U.usesStrategy)Z.push(" __h.strategy.beginBar(__bar_idx, open, high, low, close, time);");if(U.needsHeikinashi)Z.push(" const _ha_c = __h.div(__h.add(__h.add(__h.add(open, high), low), close), 4);"),Z.push(" const _ha_o = (__bar_idx === 0 || __h.isNa(ha_open_arr[__bar_idx - 1])) ? __h.div(__h.add(open, close), 2) : __h.div(__h.add(ha_open_arr[__bar_idx - 1], ha_close_arr[__bar_idx - 1]), 2);"),Z.push(" ha_open_arr[__bar_idx] = _ha_o;"),Z.push(" ha_close_arr[__bar_idx] = _ha_c;"),Z.push(" ha_high_arr[__bar_idx] = __h.max(high, __h.max(_ha_o, _ha_c));"),Z.push(" ha_low_arr[__bar_idx] = __h.min(low, __h.min(_ha_o, _ha_c));");for(let Y of Q)Z.push(r2(Y,4));Z.push(" }");let X=U.plots.length?`{ ${U.plots.map((Y,G)=>`${JSON.stringify(Y.title)}: plot_${G}`).join(", ")} }`:"{}",J=[];if(U.usesStrategy)J.push("__h.strategy.extras()");return J.push("((__h.draw && __h.draw.extras()) || {})"),J.push("((__h.log && __h.log.extras && __h.log.extras()) || {})"),Z.push(` return Object.assign(${X}, ${J.join(", ")});`),Z.push("}"),Z.join(`
|
|
66
|
+
`)}function BD(U){return(Q)=>ND(U,Q)}function ND(U,Q){if(Q==null)return"null";switch(Q.kind){case"Assign":case"ReAssign":case"FunctionDef":case"TypeDef":case"EnumDef":case"Import":case"Break":case"Continue":case"Expr":return w6(U,Q);default:return V1(U,Q)}}function w6(U,Q){switch(Q.kind){case"Expr":return g$(U,Q.value);case"Assign":return eD(U,Q);case"ReAssign":return UH(U,Q);case"FunctionDef":if(qZ(U.ctx,Q,(Z)=>w6(U,Z)),U.ctx.currentFunc!=null)U.ctx.currentFunc=null;return"";case"TypeDef":return iD(U,Q);case"EnumDef":return aD(U,Q);case"Import":return tD(U,Q);case"Break":return"break;";case"Continue":return"continue;";case"If":return T5(U,Q);case"ForTo":return wZ(U,Q);case"ForIn":return yZ(U,Q);case"While":return xZ(U,Q);case"Switch":return gZ(U,Q,!1);default:return g$(U,Q)}}function g$(U,Q){if(Q==null)return"";switch(Q.kind){case"If":return T5(U,Q);case"ForTo":return wZ(U,Q);case"ForIn":return yZ(U,Q);case"While":return xZ(U,Q);case"Switch":return gZ(U,Q,!1);default:{let Z=V1(U,Q);if(!Z||Z==="null")return"";return Z.endsWith(";")||Z.endsWith("}")?Z:`${Z};`}}}function V1(U,Q){if(Q==null)return"null";switch(Q.kind){case"Name":return b$(U,Q);case"Constant":return wD(Q);case"BinOp":return yD(U,Q);case"UnaryOp":return xD(U,Q);case"Compare":return gD(U,Q);case"Conditional":return pD(U,Q);case"If":return QH(U,Q);case"BoolOp":return vD(U,Q);case"Tuple":return hD(U,Q);case"Subscript":return nD(U,Q);case"Call":return y$(U.ctx,Q,BD(U));case"Attribute":return rD(U,Q);case"Switch":return gZ(U,Q,!0);case"ForTo":return Y5(wZ(U,Q),"null");case"ForIn":return Y5(yZ(U,Q),"null");case"While":return Y5(xZ(U,Q),"null");default:return"null"}}function b$(U,Q){let Z=Q.id,X=U.loopVars.get(Z);if(X!=null)return X;if(Z==="this")return"this_";if(Z==="barstate")return"null";if(Z==="true"||Z==="True")return"true";if(Z==="false"||Z==="False")return"false";if(U.ctx.currentSeriesParams.has(Z))return`${r6(Z)}[__bar_idx]`;let J=r$(U.ctx,Z);if(J!=null)return`${J}[__bar_idx]`;let Y=vZ(Z);if(U.ctx.arrays.has(Y))return`${Y}[__bar_idx]`;if(v$.has(Z))return Z;if(U.ctx.userFuncs.has(Z))return Z;if(U.ctx.enumTypes.has(Z))return JSON.stringify(Z);return r6(Z)}function wD(U){let Q=U.value;if(Q==null)return"null";if(typeof Q==="number"&&!Number.isFinite(Q))return"null";if(typeof Q==="number"||typeof Q==="boolean"||typeof Q==="string")return JSON.stringify(Q);return"null"}function yD(U,Q){let Z=V1(U,Q.left),X=V1(U,Q.right);switch(K5(Q.op)){case"Add":return`__h.add(${Z}, ${X})`;case"Sub":return`__h.sub(${Z}, ${X})`;case"Mult":return`__h.mul(${Z}, ${X})`;case"Div":return`__h.div(${Z}, ${X})`;case"Mod":return`__h.mod(${Z}, ${X})`;default:return`__h.add(${Z}, ${X})`}}function xD(U,Q){let Z=V1(U,Q.operand);switch(K5(Q.op)){case"USub":return`__h.neg(${Z})`;case"UAdd":return`__h.naNum(${Z})`;case"Not":return`!(${Z})`;case"Invert":return`~(__h.nz(${Z}))`;default:return Z}}function gD(U,Q){let Z=Q.ops??[],X=Q.comparators??[];if(Z.length===0||X.length===0)return V1(U,Q.left);let J=[],Y=V1(U,Q.left);for(let G=0;G<Z.length&&G<X.length;G++){let L=V1(U,X[G]);J.push(fD(K5(Z[G]),Y,L)),Y=L}return J.length===1?J[0]:`(${J.join(" && ")})`}function fD(U,Q,Z){switch(U){case"Eq":return`__h.eq(${Q}, ${Z})`;case"NotEq":return`__h.ne(${Q}, ${Z})`;case"Lt":return`__h.lt(${Q}, ${Z})`;case"LtE":return`__h.lte(${Q}, ${Z})`;case"Gt":return`__h.gt(${Q}, ${Z})`;case"GtE":return`__h.gte(${Q}, ${Z})`;default:return`__h.eq(${Q}, ${Z})`}}function pD(U,Q){return`(${V1(U,Q.test)} ? ${V1(U,Q.body)} : ${V1(U,Q.orelse)})`}function vD(U,Q){let Z=(Q.values??[]).map((J)=>V1(U,J));if(Z.length===0)return"null";if(Z.length===1)return Z[0];let X=K5(Q.op)==="Or"?" || ":" && ";return`(${Z.join(X)})`}function hD(U,Q){return`[${(Q.elts??[]).map((Z)=>V1(U,Z)).join(", ")}]`}var cD=new Set(["position_size","netprofit","equity","openprofit","opentrades","closedtrades"]),uD=new Set(["ta","math","str","array","map","matrix","strategy","input","color","request","label","line","box","table","session","chart","log"]);function bD(U){switch(U){case"isfirst":return"(__bar_idx === 0)";case"islast":return"(__bar_idx === last_bar_index)";case"ishistory":return"(__bar_idx < last_bar_index)";case"isrealtime":return"(__bar_idx === last_bar_index)";case"isnew":return"true";case"isconfirmed":return"true";case"islastconfirmedhistory":return"(__bar_idx === last_bar_index)";default:return"false"}}function lD(U){switch(U){case"regular":return'"regular"';case"extended":return'"extended"';case"ismarket":return"1";case"ispremarket":case"ispostmarket":return"0";case"isfirstbar":case"isfirstbar_regular":return"(__bar_idx === 0 ? 1 : 0)";case"islastbar":case"islastbar_regular":return"(__bar_idx === last_bar_index ? 1 : 0)";default:return"null"}}function dD(U){switch(U){case"is_heikinashi":case"is_renko":case"is_kagi":case"is_linebreak":case"is_pointfigure":return"0";case"fg_color":return'"#ffffff"';case"bg_color":return'"#131722"';default:return"null"}}function oD(U){switch(U){case"period":return'(__h.timeframe || "1")';case"multiplier":return"1";case"isintraday":return"true";case"isdaily":case"isweekly":case"ismonthly":return"false";default:return"null"}}function mD(U){switch(U){case"ticker":case"tickerid":case"root":return'"SYMBOL"';default:return"null"}}function rD(U,Q){if(Q.value.kind==="Name"&&U.ctx.importAliases.has(Q.value.id))return"null";if(Q.value.kind==="Name"&&Q.value.id==="barstate")return bD(Q.attr);if(Q.value.kind==="Name"&&Q.value.id==="session")return lD(Q.attr);if(Q.value.kind==="Name"&&Q.value.id==="chart")return dD(Q.attr);if(Q.value.kind==="Name"&&Q.value.id==="timeframe")return oD(Q.attr);if(Q.value.kind==="Name"&&Q.value.id==="syminfo")return mD(Q.attr);if(Q.value.kind==="Name"&&Q.value.id==="color")return`__h.colorByName(${JSON.stringify(Q.attr)})`;if(Q.value.kind==="Name"&&Q.value.id==="strategy"){let X=Q.attr;if(X==="long")return'"long"';if(X==="short")return'"short"';if(cD.has(X))return U.ctx.usesStrategy=!0,`__h.strategy.${X}()`}if(Q.value.kind==="Name"){let X=U.ctx.enumTypes.get(Q.value.id);if(X!=null&&X.includes(Q.attr))return JSON.stringify(Q.attr)}let Z=V1(U,Q.value);if(Q.value.kind==="Name"&&U.ctx.udtTypes.has(Q.value.id))return`__h.udtGet(${Z}, ${JSON.stringify(Q.attr)})`;if(Q.value.kind!=="Name"||!uD.has(Q.value.id))return`__h.udtGet(${Z}, ${JSON.stringify(Q.attr)})`;return`${Z}.${Q.attr}`}function nD(U,Q){let Z=Q.slice!=null?V1(U,Q.slice):"0";return`__h.hist(${sD(U,Q.value)}, __bar_idx, ${Z})`}function sD(U,Q){if(Q.kind==="Name"){let X=Q.id;if(U.ctx.currentSeriesParams.has(X))return r6(X);let J=r$(U.ctx,X);if(J!=null)return J;let Y=vZ(X);if(U.ctx.arrays.has(Y))return Y;switch(X){case"open":return"open_arr";case"high":return"high_arr";case"low":return"low_arr";case"close":return"close_arr";case"volume":return"vol_arr";case"time":return"time_arr";default:return U.ctx.arrays.add(Y),Y}}let Z=V1(U,Q);if(Z.endsWith("[__bar_idx]"))return Z.slice(0,-11);return Z}function iD(U,Q){let Z=[],X={};for(let J of Q.body??[]){if(J.kind==="FunctionDef"){if(U.ctx.udtMethodNames.add(J.name),qZ(U.ctx,J,(G)=>w6(U,G)),U.ctx.currentFunc!=null)U.ctx.currentFunc=null;continue}if(J.kind!=="Assign")continue;if(J.target.kind!=="Name")continue;let Y=J.target.id;Z.push(Y),X[Y]=J.value!=null?V1(U,J.value):"null"}return U.ctx.udtTypes.set(Q.name,{fields:Z,defaults:X}),""}function aD(U,Q){let Z=[];for(let X of Q.body??[])if(X.kind==="Assign"&&X.target.kind==="Name")Z.push(X.target.id);else if(X.kind==="Expr"&&X.value?.kind==="Name")Z.push(X.value.id);return U.ctx.enumTypes.set(Q.name,Z),""}function tD(U,Q){let Z=Q.alias||Q.name;U.ctx.importAliases.add(Z);let X=U.ctx.getLibrary;if(X){let J=X(Q.namespace,Q.name,Q.version);if(J){let Y;try{Y=X4(J)}catch{return""}if(Y.kind==="Script"){for(let G of Y.body??[])if(G.kind==="FunctionDef"||G.kind==="TypeDef"||G.kind==="EnumDef"||G.kind==="Assign")w6(U,G)}}}return""}function eD(U,Q){let Z=Q.value!=null?V1(U,Q.value):"null",X=ZH(Q.mode);return NZ(U,Q.target,Z,X)}function UH(U,Q){return NZ(U,Q.target,V1(U,Q.value),!1)}function NZ(U,Q,Z,X){if(Q.kind==="Name")return f$(U,Q.id,Z,X);if(Q.kind==="Tuple"){let J=`__t${U.tmp++}`,Y=[`const ${J} = ${Z};`],G=Q.elts??[];for(let L=0;L<G.length;L++){let z=G[L];if(z.kind==="Name")Y.push(f$(U,z.id,`${J}[${L}]`,X));else Y.push(NZ(U,z,`${J}[${L}]`,X))}return Y.join(`
|
|
67
|
+
`)}if(Q.kind==="Attribute")return`__h.udtSet(${V1(U,Q.value)}, ${JSON.stringify(Q.attr)}, ${Z});`;return`${V1(U,Q)} = __h.naNum(${Z});`}function f$(U,Q,Z,X){let J=o$(U,Q),Y=`__h.hold(${Z})`;if(X){let G=m$(Q);return U.ctx.varNames.add(Q),[`if (!__var_inited.${G}) {`,` ${J}[__bar_idx] = ${Y};`,` __var_inited.${G} = true;`,"} else {",` ${J}[__bar_idx] = ${J}[__bar_idx - 1];`,"}"].join(`
|
|
68
|
+
`)}return`${J}[__bar_idx] = ${Y};`}function QH(U,Q){let Z=M9(U,Q.body),X=Q.orelse&&Q.orelse.length?M9(U,Q.orelse):"null";if(Z!=null&&X!=null)return`(__h.nz(${V1(U,Q.test)}) ? ${Z} : ${X})`;return Y5(T5(U,Q,!0),"null")}function T5(U,Q,Z=!1){let X=`__h.nz(${V1(U,Q.test)})`,J=S9(U,Q.body,Z),Y=Q.orelse??[];if(Y.length===0)return`if (${X}) {
|
|
69
|
+
${r2(J,2)}
|
|
70
|
+
}`;if(Y.length===1){let L=pZ(Y[0]);if(L&&L.kind==="If"){let z=T5(U,L,Z);return`if (${X}) {
|
|
71
|
+
${r2(J,2)}
|
|
72
|
+
} else ${z}`}}let G=S9(U,Y,Z);return`if (${X}) {
|
|
73
|
+
${r2(J,2)}
|
|
74
|
+
} else {
|
|
75
|
+
${r2(G,2)}
|
|
76
|
+
}`}function S9(U,Q,Z){let X=Q??[];if(X.length===0)return Z?"return null;":"";let J=[];for(let Y=0;Y<X.length;Y++){let G=X[Y];if(Z&&Y===X.length-1){let D=pZ(G);if(D&&l$(D)){J.push(`return ${V1(U,D)};`);continue}if(G.kind==="Assign"||G.kind==="ReAssign"){if(J.push(w6(U,G)),G.target.kind==="Name")J.push(`return ${b$(U,G.target)};`);else J.push("return null;");continue}if(D&&D.kind==="If"){J.push(T5(U,D,!0));continue}let S=w6(U,G);if(S)J.push(S);J.push("return null;");continue}let z=w6(U,G);if(z)J.push(z)}return J.join(`
|
|
77
|
+
`)}function M9(U,Q){if(!Q||Q.length!==1)return null;let Z=pZ(Q[0]);if(Z==null)return null;if(Z.kind==="If"){let X=M9(U,Z.body),J=Z.orelse&&Z.orelse.length?M9(U,Z.orelse):"null";if(X==null||J==null)return null;return`(__h.nz(${V1(U,Z.test)}) ? ${X} : ${J})`}if(!l$(Z))return null;return V1(U,Z)}function l$(U){switch(U.kind){case"ForTo":case"ForIn":case"While":case"Switch":return!1;default:return!0}}function wZ(U,Q){let Z=Q.target.kind==="Name"?Q.target.id:`__i${U.tmp++}`,X=Q.target.kind==="Name"?r6(Z):Z,J=`__s${U.tmp++}`,Y=`__e${U.tmp++}`,G=`__p${U.tmp++}`,L=`__g${U.tmp++}`,z=V1(U,Q.start),D=V1(U,Q.end),S=Q.step!=null?`__h.naNum(${V1(U,Q.step)})`:`(__h.lte(${J}, ${Y}) ? 1 : -1)`,H=U.loopVars.get(Z);U.loopVars.set(Z,X);let q;try{q=fZ(U,Q.body)}finally{n$(U,Z,H)}return["{",` const ${J} = __h.naNum(${z});`,` const ${Y} = __h.naNum(${D});`,` const ${G} = ${S};`,` if (${J} != null && ${Y} != null && ${G} != null && ${G} !== 0) {`,` let ${L} = 0;`,` for (let ${X} = ${J}; (${G} > 0 ? ${X} <= ${Y} : ${X} >= ${Y}) && ${L}++ < ${p$}; ${X} += ${G}) {`,r2(q,6)," }"," }","}"].filter((E)=>E!=="").join(`
|
|
78
|
+
`)}function yZ(U,Q){let Z=`__it${U.tmp++}`,X=`__xs${U.tmp++}`,J=`__k${U.tmp++}`,Y=V1(U,Q.iter),G=[],L,z;if(Q.target.kind==="Tuple"&&(Q.target.elts?.length??0)>0){let H=Q.target.elts.map((q,E)=>{let P=q.kind==="Name"?q.id:`__v${U.tmp++}_${E}`,k=q.kind==="Name"?r6(P):P;return G.push({id:P,prev:U.loopVars.get(P)}),U.loopVars.set(P,k),k});if(H.length===2)L=`const ${H[0]} = ${J};`,z=`const ${H[1]} = ${X}[${J}];`;else L="",z=H.map((q,E)=>`const ${q} = ${X}[${J}][${E}];`).join(`
|
|
79
|
+
`)}else{let H=Q.target.kind==="Name"?Q.target.id:`__v${U.tmp++}`,q=Q.target.kind==="Name"?r6(H):H;G.push({id:H,prev:U.loopVars.get(H)}),U.loopVars.set(H,q),L="",z=`const ${q} = ${X}[${J}];`}let D;try{D=fZ(U,Q.body)}finally{for(let H of G)n$(U,H.id,H.prev)}let S=[L,z,D].filter(Boolean).join(`
|
|
80
|
+
`);return["{",` const ${Z} = ${Y};`,` const ${X} = ${Z} != null && typeof ${Z}.length === "number" ? ${Z} : [];`,` for (let ${J} = 0; ${J} < ${X}.length && ${J} < ${p$}; ${J}++) {`,r2(S,4)," }","}"].join(`
|
|
81
|
+
`)}function xZ(U,Q){let Z=`__w${U.tmp++}`,X=`__h.nz(${V1(U,Q.test)})`,J=fZ(U,Q.body);return["{",` let ${Z} = 0;`,` while (${X} && ${Z}++ < ${_D}) {`,r2(J,4)," }","}"].join(`
|
|
82
|
+
`)}function gZ(U,Q,Z){let X=Q.cases??[],J=Q.subject!=null?`__sw${U.tmp++}`:null,Y=[];if(J!=null)Y.push(`const ${J} = ${V1(U,Q.subject)};`);let G=!0,L=null;for(let D of X){if(D.pattern==null){L=D;continue}let S=J!=null?`__h.eq(${J}, ${V1(U,D.pattern)})`:`__h.nz(${V1(U,D.pattern)})`,H=G?"if":"else if";G=!1;let q=S9(U,D.body??[],Z);Y.push(`${H} (${S}) {
|
|
83
|
+
${r2(q,2)}
|
|
84
|
+
}`)}if(L!=null){let D=S9(U,L.body??[],Z);if(G)Y.push(D);else Y.push(`else {
|
|
85
|
+
${r2(D,2)}
|
|
86
|
+
}`)}else if(Z&&!G)Y.push(`else {
|
|
87
|
+
return null;
|
|
88
|
+
}`);let z=Y.filter(Boolean).join(`
|
|
89
|
+
`);if(Z)return Y5(z,"null");return`{
|
|
90
|
+
${r2(z,2)}
|
|
91
|
+
}`}function fZ(U,Q){let Z=[];for(let X of Q??[]){let J=w6(U,X);if(J)Z.push(J)}return Z.join(`
|
|
92
|
+
`)}function pZ(U){if(U.kind==="Expr")return U.value;switch(U.kind){case"If":case"ForTo":case"ForIn":case"While":case"Switch":case"Call":case"Name":case"Constant":case"Attribute":case"Subscript":case"BinOp":case"UnaryOp":case"Compare":case"Tuple":case"Conditional":case"BoolOp":return U;default:return null}}function ZH(U){if(U==null)return!1;let Q=K5(U);return Q==="Var"||Q==="VarIp"}function jZ(U,Q){if(Q==null||typeof Q!=="object")return;if(Array.isArray(Q)){for(let X of Q)jZ(U,X);return}let Z=Q;if(Z.kind==="TypeDef"||Z.kind==="EnumDef"||Z.kind==="Import")return;if(Z.kind==="FunctionDef"&&typeof Z.name==="string"){U.ctx.userFuncs.add(Z.name);return}if((Z.kind==="Assign"||Z.kind==="ReAssign")&&Z.target!=null)d$(U,Z.target);for(let X of Object.values(Z))jZ(U,X)}function d$(U,Q){if(Q.kind==="Name"){o$(U,Q.id);return}if(Q.kind==="Tuple")for(let Z of Q.elts??[])d$(U,Z)}function o$(U,Q){let Z=vZ(Q);return U.ctx.arrays.add(Z),Z}function vZ(U){return`${m$(U)}_arr`}function m$(U){return c$.has(U)?`__u_${U}`:U}function r6(U){return c$.has(U)?`__u_${U}`:U}function r$(U,Q){if(U.currentFunc==null)return null;let Z=`__st_${r6(U.currentFunc)}_${r6(Q)}`;return U.stArrays.has(Z)?Z:null}function n$(U,Q,Z){if(Z===void 0)U.loopVars.delete(Q);else U.loopVars.set(Q,Z)}function K5(U){if(U==null)return"";if(typeof U==="string")return U;return U.kind??""}function r2(U,Q){if(!U)return U;let Z=" ".repeat(Q);return U.split(`
|
|
93
|
+
`).map((X)=>X.length?Z+X:X).join(`
|
|
94
|
+
`)}function Y5(U,Q){let Z=U.trim()?`${U}
|
|
95
|
+
return ${Q};`:`return ${Q};`;return`(() => {
|
|
96
|
+
${r2(Z,2)}
|
|
97
|
+
})()`}function S2(U){if(U==null)return!0;if(typeof U==="number")return!Number.isFinite(U);return!1}function p1(U){if(S2(U))return null;if(typeof U==="boolean")return U?1:0;if(typeof U==="number")return U;return null}function s$(U){if(U!=null&&typeof U==="object")return U;return p1(U)}function i$(U,Q){let Z=S2(U),X=S2(Q);if(Z&&X)return!0;if(Z||X)return!1;return U===Q}function a$(U,Q){let Z=S2(U),X=S2(Q);if(Z||X)return!1;return U!==Q}function t$(U,Q){if(S2(U)||S2(Q))return!1;return U<Q}function e$(U,Q){if(S2(U)||S2(Q))return!1;return U<=Q}function UY(U,Q){if(S2(U)||S2(Q))return!1;return U>Q}function QY(U,Q){if(S2(U)||S2(Q))return!1;return U>=Q}function W5(U,Q,Z){let X=p1(U),J=p1(Q);if(X==null||J==null)return null;let Y=Z(X,J);return Number.isFinite(Y)?Y:null}function ZY(U,Q){return W5(U,Q,(Z,X)=>Z+X)}function XY(U,Q){return W5(U,Q,(Z,X)=>Z-X)}function JY(U,Q){return W5(U,Q,(Z,X)=>Z*X)}function GY(U,Q){return W5(U,Q,(Z,X)=>Z/X)}function IY(U,Q){return W5(U,Q,(Z,X)=>Z%X)}function $Y(U){let Q=p1(U);if(Q==null)return null;let Z=-Q;return Number.isFinite(Z)?Z:null}function YY(U,Q=0){if(S2(U)){let Z=p1(Q);return Z==null?0:Z}return p1(U)}function TY(U,Q,Z){let X=p1(Z);if(X==null||X<0||!Number.isFinite(X))return null;let J=Q-Math.trunc(X);if(J<0||J>=U.length)return null;return p1(U[J])}function KY(U,Q,Z){if(Q<0||Q>=U.length)return;U[Q]=p1(Z)}function WY(U){return Array.from({length:U},()=>1)}function OY(U){return Array.from({length:U},(Q,Z)=>Z*60000)}function F4(U,Q,Z){let X=Array(Q);for(let J=0;J<Q;J++){let Y=U!=null&&J<U.length?U[J]:Z;X[J]=p1(Y??Z)}return X}function D2(U,Q=0){let Z=p1(U);return Z==null?Q:Z}function M2(U){if(U!=null&&typeof U==="object")return null;return p1(U)}function $1(U){return U instanceof N1?U:null}function I6(U){return U instanceof L6?U:null}function S1(U){return U instanceof k1?U:null}function LY(U){return String(U??"asc").toLowerCase().includes("desc")?"desc":"asc"}function q9(U){if(U==null)return null;let Q=new N1;for(let Z of U)Q.push(Z);return Q}var C9={new(U,Q){return new N1(D2(U,0),M2(Q))},get(U,Q){return $1(U)?.get(D2(Q,0))??null},set(U,Q,Z){return $1(U)?.set(D2(Q,0),M2(Z)),U??null},push(U,Q){return $1(U)?.push(M2(Q)),U??null},pop(U){return $1(U)?.pop()??null},unshift(U,Q){return $1(U)?.unshift(M2(Q)),U??null},shift(U){return $1(U)?.shift()??null},size(U){return $1(U)?.size()??0},includes(U,Q){return $1(U)?.includes(M2(Q))??!1},first(U){return $1(U)?.first()??null},last(U){return $1(U)?.last()??null},insert(U,Q,Z){return $1(U)?.insert(D2(Q,0),M2(Z)),U??null},remove(U,Q){return $1(U)?.remove(D2(Q,0))??null},clear(U){return $1(U)?.clear(),U??null},fill(U,Q){return $1(U)?.fill(M2(Q)),U??null},copy(U){return $1(U)?.copy()??null},reverse(U){return $1(U)?.reverse(),U??null},sort(U,Q){let Z=String(Q??"asc").toLowerCase();return $1(U)?.sort(Z.startsWith("desc")?"desc":"asc"),U??null},concat(U,Q){let Z=$1(U),X=$1(Q);if(Z==null)return X?.copy()??null;if(X==null)return Z;return Z.concat(X)},slice(U,Q,Z){return $1(U)?.slice(D2(Q,0),Z==null?void 0:D2(Z,0))??null},indexof(U,Q){return $1(U)?.indexof(M2(Q))??null},lastindexof(U,Q){return $1(U)?.lastIndexOf(M2(Q))??null},avg(U){return $1(U)?.avg()??null},min(U){return $1(U)?.min()??null},max(U){return $1(U)?.max()??null},sum(U){return $1(U)?.sum()??null},stdev(U,Q){return $1(U)?.stdev(Q!==!1&&Q!==0)??null},variance(U,Q){return $1(U)?.variance(Q!==!1&&Q!==0)??null},join(U,Q){return $1(U)?.join(Q==null?",":String(Q))??""},every(U){return $1(U)?.every()??!1},some(U){return $1(U)?.some()??!1},abs(U){return $1(U)?.abs()??null},range(U){return $1(U)?.range()??null},percentile_nearest(U,Q){let Z=$1(U),X=p1(Q);return Z!=null&&X!=null?Z.percentileNearestRank(X):null},percentileNearestRank(U,Q){return C9.percentile_nearest(U,Q)},percentile_linear(U,Q){let Z=$1(U),X=p1(Q);return Z!=null&&X!=null?Z.percentileLinearInterpolation(X):null},percentileLinearInterpolation(U,Q){return C9.percentile_linear(U,Q)},percentrank(U,Q){return $1(U)?.percentrank(M2(Q))??null},binary_search(U,Q){return $1(U)?.binarySearch(M2(Q))??null},binary_search_leftmost(U,Q){return $1(U)?.binarySearchLeftmost(M2(Q))??null},binary_search_rightmost(U,Q){return $1(U)?.binarySearchRightmost(M2(Q))??null},sort_indices(U,Q){let Z=$1(U)?.sortIndices(LY(Q));return q9(Z)}},VY={new(){return new L6},put(U,Q,Z){return I6(U)?.put(Q,M2(Z)),U??null},get(U,Q){return I6(U)?.get(Q)??null},contains(U,Q){return I6(U)?.contains(Q)??!1},remove(U,Q){return I6(U)?.remove(Q)??null},clear(U){return I6(U)?.clear(),U??null},size(U){return I6(U)?.size()??0},keys(U){return I6(U)?.keys()??[]},values(U){return I6(U)?.values()??[]},copy(U){return I6(U)?.copy()??null},put_all(U,Q){let Z=I6(U),X=I6(Q);if(Z!=null&&X!=null)Z.putAll(X);return U??null}},DY={new(U,Q,Z){return new k1(D2(U,0),D2(Q,0),M2(Z))},get(U,Q,Z){return S1(U)?.get(D2(Q,0),D2(Z,0))??null},set(U,Q,Z,X){return S1(U)?.set(D2(Q,0),D2(Z,0),M2(X)),U??null},rows(U){return S1(U)?.rows()??0},columns(U){return S1(U)?.columns()??0},fill(U,Q){return S1(U)?.fill(M2(Q)),U??null},transpose(U){return S1(U)?.transpose()??null},copy(U){return S1(U)?.copy()??null},row(U,Q){let Z=S1(U);return Z==null?null:q9(Z.row(D2(Q,0)))},col(U,Q){let Z=S1(U);return Z==null?null:q9(Z.col(D2(Q,0)))},sum(U){return S1(U)?.sum()??null},avg(U){return S1(U)?.avg()??null},min(U){return S1(U)?.min()??null},max(U){return S1(U)?.max()??null},det(U){return S1(U)?.det()??null},mult(U,Q){let Z=S1(U);if(Z==null)return null;let X=S1(Q);if(X!=null)return Z.mult(X);let J=p1(Q);return J==null?null:Z.mult(J)},inv(U){return S1(U)?.inv()??null},pinv(U){return S1(U)?.pinv()??null},kron(U,Q){let Z=S1(U),X=S1(Q);return Z!=null&&X!=null?Z.kron(X):null},rank(U){return S1(U)?.rank()??null},add(U,Q){let Z=S1(U);if(Z==null)return null;let X=S1(Q);if(X!=null){let Y=X.mult(-1);return Y==null?null:Z.diff(Y)}let J=p1(Q);if(J==null)return null;return Z.diff(new k1(Z.rows(),Z.columns(),-J))},diff(U,Q){let Z=S1(U),X=S1(Q);return Z!=null&&X!=null?Z.diff(X):null},reshape(U,Q,Z){return S1(U)?.reshape(D2(Q,0),D2(Z,0))??null},reverse(U){return S1(U)?.reverse(),U??null},sort(U,Q,Z){return S1(U)?.sort(D2(Q,0),LY(Z)),U??null},eigenvalues(U){return q9(S1(U)?.eigenvalues())},eigenvectors(U){return S1(U)?.eigenvectors()??null}};function v1(U,Q=0){let Z=p1(U);return Z==null?Q:Z}function F1(U){return v1(U,-1)}class HY{book=new g4;label_new(U,Q){return this.book.labelNew(v1(U,0),Q==null?void 0:String(Q))}line_new(U){return this.book.lineNew(v1(U,0))}box_new(U){return this.book.boxNew(v1(U,0))}table_new(U){return this.book.tableNew(v1(U,0))}polyline_new(U){return this.book.polylineNew(v1(U,0))}linefill_new(U,Q){return this.book.linefillNew(v1(U,0),Q)}label_set_text(U,Q){this.book.labelSetText(F1(U),Q==null?"":String(Q))}label_set_xy(U,Q,Z){this.book.labelSetXy(F1(U),v1(Q,0),v1(Z,0))}label_delete(U){this.book.labelDelete(F1(U))}line_set_xy(U,Q,Z,X,J){this.book.lineSetXy(F1(U),v1(Q,0),v1(Z,0),v1(X,0),v1(J,0))}line_delete(U){this.book.lineDelete(F1(U))}line_set_xy1(U,Q,Z){this.book.lineSetXy1(F1(U),v1(Q,0),v1(Z,0))}line_set_xy2(U,Q,Z){this.book.lineSetXy2(F1(U),v1(Q,0),v1(Z,0))}line_set_color(U,Q){this.book.lineSetColor(F1(U),Q)}line_set_width(U,Q){this.book.lineSetWidth(F1(U),Q)}line_set_style(U,Q){this.book.lineSetStyle(F1(U),Q)}line_set_extend(U,Q){this.book.lineSetExtend(F1(U),Q)}line_get_price(U,Q){return this.book.lineGetPrice(F1(U),Q)}label_set_color(U,Q){this.book.labelSetColor(F1(U),Q)}label_set_style(U,Q){this.book.labelSetStyle(F1(U),Q)}label_set_size(U,Q){this.book.labelSetSize(F1(U),Q)}label_set_textalign(U,Q){this.book.labelSetTextalign(F1(U),Q)}label_set_tooltip(U,Q){this.book.labelSetTooltip(F1(U),Q)}label_get_x(U){return this.book.labelGetX(F1(U))}label_get_y(U){return this.book.labelGetY(F1(U))}label_get_text(U){return this.book.labelGetText(F1(U))}box_delete(U){this.book.boxDelete(F1(U))}box_set(U,Q){this.book.boxSet(F1(U),Q)}box_set_corners(U,Q,Z,X,J){this.book.boxSetCorners(F1(U),v1(Q,0),v1(Z,0),v1(X,0),v1(J,0))}box_set_bgcolor(U,Q){this.book.boxSetBgcolor(F1(U),Q)}box_set_border_color(U,Q){this.book.boxSetBorderColor(F1(U),Q)}box_set_text(U,Q){this.book.boxSetText(F1(U),Q)}box_set_extend(U,Q){this.book.boxSetExtend(F1(U),Q)}table_cell(U,Q,Z,X){this.book.tableCell(F1(U),Q,Z,X)}table_cell_set_text(U,Q,Z,X){this.book.tableCellSetText(F1(U),Q,Z,X)}table_set_position(U,Q){this.book.tableSetPosition(F1(U),Q)}linefill_set_color(U,Q){this.book.linefillSetColor(F1(U),Q)}alert(U,Q){this.book.alert(v1(U,0),Q==null?"":String(Q))}extras(){return{__drawings:this.book.items.slice()}}}function FY(){return new HY}function XH(U){if(U==null)return"long";if(U===1||U==="1"||U==="long"||U==="strategy.long"||U==="buy")return"long";if(U===-1||U==="-1"||U==="short"||U==="strategy.short"||U==="sell")return"short";return String(U)}function R4(U,Q){if(typeof U==="number"&&Number.isFinite(U))return U;if(typeof U==="boolean")return U?1:0;if(typeof U==="string"&&U!==""){let Z=Number(U);if(Number.isFinite(Z))return Z}return Q}function E9(U,Q=""){if(U==null)return Q;return String(U)}class RY{book;bar=0;mark=0;time=0;constructor(U){this.book=new o7(U)}beginBar(U,Q,Z,X,J,Y){this.bar=R4(U,0),this.mark=R4(J,0),this.time=Y==null?this.bar:R4(Y,this.bar);let G={open:R4(Q,this.mark),high:R4(Z,this.mark),low:R4(X,this.mark),close:this.mark};this.book.processPending(this.bar,G),this.book.markOpenTrades(G.high,G.low,G.close)}entry(U,Q,Z,X){let J=Z==null?1:R4(Z,1);this.book.placeEntry(this.bar,E9(U,"entry"),XH(Q),J,{price:X?.price??this.mark,time:X?.time??this.time,limit:X?.limit,stop:X?.stop,comment:X?.comment,oca_name:X?.oca_name,oca_type:X?.oca_type})}close(U,Q){this.book.fillClose(this.bar,E9(U,""),this.mark,{time:this.time})}close_all(U){this.book.closeAll(this.bar,this.mark)}order(U,Q,Z,X){this.entry(U,Q,Z,X)}cancel(U){this.book.cancel(this.bar,E9(U,""))}cancel_all(){this.book.cancelAll(this.bar)}exit(U,Q){this.book.fillClose(this.bar,E9(U,""),this.mark,{time:this.time})}position_size(){return this.book.position.qty}netprofit(){return this.book.realizedPnl}equity(){return this.book.equity(this.mark)}openprofit(){let U=this.book.position.qty,Q=this.book.position.avgPrice;if(U===0||Q==null||!Number.isFinite(Q))return 0;return U*(this.mark-Q)}opentrades(){return this.book.opentrades}closedtrades(){return this.book.closedtrades}risk_allow_entry_in(U){this.book.riskAllowEntryIn(U)}risk_max_position_size(U){this.book.riskMaxPositionSize(U)}risk_max_drawdown(U,Q){this.book.riskMaxDrawdown(U,Q)}extras(){return{__events:this.book.events.slice(),__fills:this.book.fills.slice(),__position_size:this.book.position.qty,__netprofit:this.book.realizedPnl,__equity:this.book.equity(this.mark),__strategy:this.book.summary(this.mark)}}}function zY(U){return new RY(U)}var hZ=new Map;function SY(U,Q,Z){hZ.set(U,new l2(U,Q.map((X)=>({name:X,default:Z?.[X]??null}))))}function MY(U,Q){let Z=hZ.get(U);if(Z==null){let X=Q!=null?Object.keys(Q):[];Z=new l2(U,X.map((J)=>({name:J,default:null}))),hZ.set(U,Z)}return Z.newInstance(Q)}function qY(U,Q){if(U instanceof G6)return U.get(Q);if(U!=null&&typeof U==="object")return U[Q]??null;return null}function CY(U,Q,Z){if(U instanceof G6)return U.set(Q,Z),U;if(U!=null&&typeof U==="object")return U[Q]=Z,U;return U??null}function PY(U){let Q=new c4,Z=U?.inputs,X=new f4;return{na:$H,nz:YY,naNum:p1,isNa:S2,eq:i$,ne:a$,lt:t$,lte:e$,gt:UY,gte:QY,add:ZY,sub:XY,mul:JY,div:GY,mod:IY,neg:$Y,hist:TY,store:KY,ta:Q,strategy:zY(),site:(J)=>J,input:(J,Y)=>GH(Z,J,Y),colorR:F8,colorG:R8,colorB:z8,colorT:S8,colorNew:JH,colorRgb:D8,colorFromGradient:H8,colorByName:k7,abs:_8,sign:A8,floor:f8,ceil:p8,round:g8,sqrt:j8,exp:N8,log:{info(J,...Y){X.info(cZ(J),I4(Y))},warning(J,...Y){X.warning(cZ(J),I4(Y))},error(J,...Y){X.error(cZ(J),I4(Y))},clear(){X.clear()},extras(){return{__logs:X.snapshot()}}},log10:B8,pow:w8,min:x8,max:y8,avg:v8,sin:c8,cos:u8,tan:b8,asin:l8,acos:d8,atan:o8,todegrees:m8,toradians:r8,iff:IH,fixnan:FG,year:YH,month:TH,dayofmonth:KH,hour:WH,minute:OH,second:LH,dayofweek:VH,timestamp:A7,weekOfYear:j7,timeTradingDay:B7,timeframeInSeconds:P8,strLength:y7,strContains:x7,strStartsWith:v7,strEndsWith:h7,strLower:f7,strUpper:g7,strReplace:p7,strSubstring:c7,strToNumber:b7,strTrim:u7,strFormat:d7,strFormatTime:l7,tostring:h4,str:{length:y7,contains:x7,starts_with:v7,ends_with:h7,lower:f7,upper:g7,replace:p7,substring:c7,tonumber:b7,trim:u7,tostring:h4,format:d7,format_time:l7},hold:s$,array:C9,map:VY,matrix:DY,draw:FY(),udtNew:MY,udtGet:qY,udtSet:CY,udtRegister:SY,currencyRate:GQ,runtimeError(J){throw Error(String(J))}}}function JH(U,Q){let Z=h6(U);if(!Z)return null;let X=typeof Q==="number"&&Number.isFinite(Q)?Q:void 0;return P7(Z.r,Z.g,Z.b,X)}function GH(U,Q,Z){if(U==null)return Z;if(EY(U,Q))return U[Q];let X=String(Q);if(EY(U,X))return U[X];return Z}function EY(U,Q){return(typeof Q==="string"||typeof Q==="number")&&Object.prototype.hasOwnProperty.call(U,Q)}function IH(U,Q,Z){if(typeof U==="boolean")return U?Q:Z;return HG(U,Q,Z)}function $H(U){if(arguments.length===0)return null;return S2(U)?1:0}function z4(U,Q){if(typeof U!=="number"||!Number.isFinite(U))return null;return Y4(U)[Q]}function YH(U){return z4(U,"year")}function TH(U){return z4(U,"month")}function KH(U){return z4(U,"dayofmonth")}function WH(U){return z4(U,"hour")}function OH(U){return z4(U,"minute")}function LH(U){return z4(U,"second")}function VH(U){return z4(U,"dayofweek")}function cZ(U){return typeof U==="number"&&Number.isFinite(U)?U:0}var kY=128,y6=new Map;function n4(U){return{ok:!0}}function _Y(U,Q){return BZ(U,Q).code}function AY(){y6.clear()}function jY(){return{source_entries:y6.size,source_max:kY}}function DH(U){return RZ("sha256").update(U).digest("hex")}function HH(U){let Q;try{Q=Function(`${U}
|
|
98
|
+
return execute_script_compiled;`)}catch(X){let J=X instanceof Error?X.message:String(X);throw new u4(J)}let Z=Q();if(typeof Z!=="function")throw new u4("execute_script_compiled missing");return Z}function P9(U,...Q){for(let Z of Q)if(Z!==U)throw Error("OHLCV arrays must have the same length")}function BY(U){let Q=U.length,Z=Array(Q),X=Array(Q),J=Array(Q),Y=Array(Q),G=Array(Q),L=Array(Q);for(let z=0;z<Q;z++){let D=U[z]??{};Z[z]=D.open??null,X[z]=D.high??null,J[z]=D.low??null,Y[z]=D.close??null,G[z]=D.volume??1,L[z]=D.time??z*60000}return P9(Q,Z.length,X.length,J.length,Y.length,G.length,L.length),{open:Z,high:X,low:J,close:Y,volume:G,time:L}}class NY{source;plots;fn;backend="js";constructor(U,Q,Z){this.source=U;this.plots=Q;this.fn=Z}run(U,Q,Z,X,J,Y,G){let L=X.length;if(P9(L,U.length,Q.length,Z.length),J!=null)P9(L,J.length);if(Y!=null)P9(L,Y.length);let z=F4(U,L,null),D=F4(Q,L,null),S=F4(Z,L,null),H=F4(X,L,null),q=J!=null?F4(J,L,1):WY(L),E=Y!=null?F4(Y,L,null):OY(L);for(let P=0;P<L;P++){if(q[P]==null)q[P]=1;if(E[P]==null)E[P]=P*60000}return this.fn(z,D,S,H,q,E,PY({inputs:G?.inputs}))}}function FH(U,Q){if(Q==null)return"";let Z=[];for(let X of U.matchAll(/import\s+(\S+)\/(\S+)\/(\d+)/g))Z.push(Q(X[1],X[2],Number(X[3]))??"");return`\x00${Z.join("\x00")}`}function s4(U,Q){let Z=n4(U);if(!Z.ok)throw new r7(Z.reason??"ineligible");let X=DH(U+FH(U,Q?.getLibrary)),J=y6.get(X);if(J)return y6.delete(X),y6.set(X,J),J;let Y,G;try{({code:Y,ctx:G}=BZ(U,Q))}catch(D){let S=D instanceof Error?D.message:String(D);throw new K4(S)}if(G.errors.length)throw new K4(G.errors.join("; "));if(!Y.includes("execute_script_compiled"))throw new K4("empty emit");let L=HH(Y),z=new NY(Y,G.plots,L);if(y6.set(X,z),y6.size>kY){let D=y6.keys().next().value;if(D!=null)y6.delete(D)}return z}function wY(U,Q){let Z=BY(Q);return s4(U).run(Z.open,Z.high,Z.low,Z.close,Z.volume,Z.time)}function yY(U,Q,Z){let X=s4(U),J=BY(Q),Y=X.run(J.open,J.high,J.low,J.close,J.volume,J.time,Z),G={},L={};for(let[H,q]of Object.entries(Y))if(H.startsWith("__"))L[H]=q;else if(Array.isArray(q))G[H]=q;let z=X.plots,D=z.find((H)=>!H.title.startsWith("__"))?.title,S={series:G,plots:D!=null?G[D]??[]:[],plot_meta:z,count:Q.length,script_name:null,script_type:"__events"in L?"strategy":"indicator",mode:"compile"};if("__events"in L)S.events=L.__events;if("__fills"in L)S.fills=L.__fills;if("__strategy"in L)S.strategy=L.__strategy;if("__drawings"in L)S.drawings=L.__drawings;if("__logs"in L)S.logs=L.__logs;return S}var t4=Object.freeze({__loop:"break"}),e4=Object.freeze({__loop:"continue"}),RH=1e4,oZ=1e6;class aZ{symbol;inputs;broker;timeframe;libraries;mode;constructor(U="AAPL",Q){this.symbol=U;this.inputs=Q?.inputs??{},this.broker=Q?.broker??{},this.timeframe=Q?.timeframe??null,this.libraries=Q?.libraries??new w7,this.mode=Q?.mode??"interpret"}registerLibrarySource(U,Q,Z,X){this.libraries.registerSource(U,Q,Z,X)}run(U,Q,Z){let X;try{X=X4(U)}catch(z){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:U7(z),error_kind:"parse"}}let J=Z&&!rH(Z)?Z:void 0,Y=J?.mode??this.mode,G=aH(this.inputs,Z),L={symbol:this.symbol,inputs:G,broker:J?.broker??this.broker,timeframe:J?.timeframe??this.timeframe,libraries:J?.libraries??this.libraries};if(Y==="compile")return sH(U,Q,L);if(Y==="auto")return iH(U,X,Q,L);try{return j9(X,Q,L)}catch(z){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:U7(z),error_kind:"runtime"}}}stream(U){return new tZ(this,U)}async runProvider(U,Q,Z){let X=await Q.fetch({symbol:this.symbol,timeframe:Z?.timeframe??this.timeframe,limit:Z?.limit});return this.run(U,X,Z)}}class tZ{runtime;source;bars=[];barHandlers=[];errorHandlers=[];endHandlers=[];closed=!1;constructor(U,Q){this.runtime=U;this.source=Q}on(U,Q){if(U==="bar")this.barHandlers.push(Q);else if(U==="error")this.errorHandlers.push(Q);else this.endHandlers.push(Q);return this}push(U){if(this.closed)return;this.bars.push(U);try{let Q=this.runtime.run(this.source,this.bars);for(let Z of this.barHandlers)Z(Q);return Q}catch(Q){let Z=Q instanceof Error?Q:Error(String(Q));for(let X of this.errorHandlers)X(Z);return}}close(){this.closed=!0;let U=this.runtime.run(this.source,this.bars);for(let Q of this.endHandlers)Q(U);return U}}function zH(U,Q){let Z=new aZ().run(U,Q);if(Z.error)throw Error(Z.error);return{plots:Z.plots}}function j9(U,Q,Z){let J=(U.kind==="Script"?U:null)?.body??[],Y={},G=[],L=null,z="indicator",D={ctx:{},series:new Map,varInited:new Set,barIndex:0,ta:new c4,callSites:new WeakMap,plotKeys:new WeakMap,nextSite:0,plots:Y,plot_meta:G,book:new o7(Z?.broker),drawings:new g4,symbol:Z?.symbol??"AAPL",timeframe:Z?.timeframe??null,inputs:Z?.inputs??{},inputStore:new Map,udfs:new Map,udfSites:new Map,frames:[],barCount:Q.length,lastBarTime:Q.length===0?0:Q[Q.length-1].time??(Q.length-1)*60000,logs:new f4,barTimes:Q.map((E,P)=>E.time??P*60000),libraries:Z?.libraries??new w7,pendingExports:new Map},S=Q.length,H;try{for(let E=0;E<S;E++){MH(D,Q[E],E),D.book.processPending(E,{open:C0(D.ctx.open)??void 0,high:C0(D.ctx.high)??void 0,low:C0(D.ctx.low)??void 0,close:C0(D.ctx.close)??void 0}),D.book.markOpenTrades(C0(D.ctx.high)??C0(D.ctx.close)??0,C0(D.ctx.low)??C0(D.ctx.close)??0,C0(D.ctx.close)??0);try{for(let P of J){let k=dY(P);if(k){if(L==null)L=k.name;if(k.kind==="strategy")z="strategy",BH(P,D);else if(k.kind==="library")z="library",mZ(P,D);else mZ(P,D);continue}n6(P,D)}if(E===0&&z==="library"&&L)mY(D,L)}catch(P){if(P===t4||P===e4)continue;H={error:U7(P),error_kind:"runtime"};break}}}catch(E){if(E!==t4&&E!==e4)H={error:U7(E),error_kind:"runtime"}}let q=G[0]?.title;return{series:Y,plots:q?Y[q]??[]:[],plot_meta:G,count:S,script_name:L,script_type:z,mode:"interpret",events:D.book.events,fills:eH(D.book),drawings:UF(D.drawings),logs:D.logs.records.length?D.logs.records:void 0,plot_data:SH(Y,D.barTimes),...z==="strategy"||D.book.fills.length>0?{strategy:D.book.summary(C0(D.ctx.close)??0)}:{},...H??{}}}function SH(U,Q){let Z={};for(let[X,J]of Object.entries(U))Z[X]={data:J.map((Y,G)=>{let L=Q[G];return L==null?{value:Y}:{value:Y,time:L}})};return Z}function i4(U,Q,Z){U.ctx[Q]=Z;let X=U.series.get(Q);if(!X)X=new v4,U.series.set(Q,X);X.push(Z)}function MH(U,Q,Z){U.barIndex=Z;let X=Q.open??0,J=Q.high??0,Y=Q.low??0,G=Q.close??0,L=Q.volume??1,z=Q.time??Z*60000;i4(U,"open",X),i4(U,"high",J),i4(U,"low",Y),i4(U,"close",G),i4(U,"volume",L),i4(U,"time",z),U.ctx.bar_index=Z,U.ctx.last_bar_index=U.barCount-1,U.ctx.last_bar_time=U.lastBarTime,k9(U,"hl2",(J+Y)/2),k9(U,"hlc3",(J+Y+G)/3),k9(U,"ohlc4",(X+J+Y+G)/4),k9(U,"hlcc4",(J+Y+G+G)/4);let D=Y4(z);U.ctx.year=D.year,U.ctx.month=D.month,U.ctx.dayofmonth=D.dayofmonth,U.ctx.dayofweek=D.dayofweek,U.ctx.hour=D.hour,U.ctx.minute=D.minute,U.ctx.second=D.second;for(let S of U.varInited){let H=U.series.get(S);if(H==null)continue;if(H.length===Z)H.push(H.current);U.ctx[S]=H.current}}function k9(U,Q,Z){U.ctx[Q]=Z;let X=U.series.get(Q);if(!X)X=new v4,U.series.set(Q,X);if(X.length===U.barIndex)X.push(Z);else if(X.length===U.barIndex+1)X.setCurrent(Z);else{while(X.length<U.barIndex)X.push(m);X.push(Z)}}function vY(U){if(U.kind==="Name")return U.id;if(U.kind==="Attribute"){let Q=vY(U.value);return Q?`${Q}.${U.attr}`:U.attr}return null}function eZ(U){if(U.func.kind==="Name")return U.func.id;return vY(U.func)}function d1(U){if(U==null)return[];return Array.isArray(U)?U:[U]}function hY(U){for(let Q of d1(U))if(Q.value.kind==="Constant"&&typeof Q.value.value==="string")return Q.value.value;return null}function c2(U){if(U.name!=null&&U.name!=="")return U.name;let Q=U;if(typeof Q.arg==="string"&&Q.arg!=="")return Q.arg;if(typeof Q.keyword==="string"&&Q.keyword!=="")return Q.keyword;return cY(U)?.name??null}function cY(U){if(U.name!=null&&U.name!=="")return null;let Q=U.value;if((Q.kind==="Assign"||Q.kind==="ReAssign")&&Q.target?.kind==="Name"&&Q.value!=null)return{name:Q.target.id,value:Q.value};return null}function L5(U){return cY(U)?.value??U.value}function uY(U,Q){for(let Z of d1(U)){if(c2(Z)!==Q)continue;let X=L5(Z);if(X.kind==="Constant"&&typeof X.value==="string")return X.value}return null}function UX(U,Q){let Z=Q.callSites.get(U);if(Z!=null)return Z;let J=`${U.lineno!=null&&U.col_offset!=null?`${U.lineno}:${U.col_offset}`:""}#${Q.nextSite++}`;return Q.callSites.set(U,J),J}function v(U,Q,Z){let X=d1(U);for(let Y of X){let G=c2(Y);if(G!=null&&Z.includes(G))return L5(Y)}let J=0;for(let Y of X){if(c2(Y)!=null)continue;if(J===Q)return Y.value;J++}return}function qH(U){if(U==="hline")return"hline";if(U==="plotshape")return"shape";if(U==="plotchar")return"char";if(U==="plotarrow")return"arrow";if(U==="bgcolor")return"bgcolor";if(U==="barcolor")return"barcolor";return"plot"}function CH(U,Q){let Z=uY(U,"title");if(Z!=null){let Y=Z.trim();if(Y)return Y}let X=[];for(let Y of U){if(c2(Y)!=null)continue;X.push(Y)}if(X.length>1){let Y=L5(X[1]);if(Y.kind==="Constant"&&typeof Y.value==="string"){let G=Y.value.trim();if(G)return G}}let J=hY(U.slice(1));if(J!=null){let Y=J.trim();if(Y)return Y}return qH(Q)}function EH(U,Q,Z){let X=U.plotKeys.get(Q);if(X!=null)return X;let J=Z.trim()||"plot",Y=J,G=2;while(Object.prototype.hasOwnProperty.call(U.plots,Y))Y=`${J}_${G++}`;return U.plotKeys.set(Q,Y),Y}function _9(U){return U.mode?.kind==="Var"}function QX(U){return typeof U==="object"&&U!==null&&U.__tuple===!0}function x6(U){return{__tuple:!0,elts:U}}function PH(U){return U===null||typeof U==="number"&&Number.isFinite(U)}function bY(U){return U.frames.length>0?U.frames[U.frames.length-1]:null}function kH(U){return bY(U)?.varInited??U.varInited}function a4(U,Q){for(let Z=U.frames.length-1;Z>=0;Z--){let X=U.frames[Z].ctx;if(Object.prototype.hasOwnProperty.call(X,Q))return X[Q]}if(Object.prototype.hasOwnProperty.call(U.ctx,Q))return U.ctx[Q];return}function _H(U,Q){for(let Z=U.frames.length-1;Z>=0;Z--){let X=U.frames[Z].series.get(Q);if(X)return X}return U.series.get(Q)}function n2(U,Q,Z){let X=typeof Z==="number"&&!Number.isFinite(Z)?m:Z,J=bY(U),Y=J?J.ctx:U.ctx,G=J?J.series:U.series;if(Y[Q]=X,!PH(X))return;let L=G.get(Q);if(!L)L=new v4,G.set(Q,L);if(L.length===U.barIndex+1)L.setCurrent(X);else{while(L.length<U.barIndex)L.push(m);L.push(X)}}function lY(U,Q,Z){if(!QX(Q))return;let X=Math.min(U.elts.length,Q.elts.length);for(let J=0;J<X;J++){let Y=U.elts[J];if(Y?.kind==="Name")n2(Z,Y.id,U0(Q.elts[J]))}}function AH(U,Q){if(U.value==null)return m;let Z=kH(Q);if(U.target.kind==="Tuple"){if(_9(U)){if(U.target.elts.some((L)=>L.kind==="Name"&&Z.has(L.id))||Q.barIndex!==0&&U.target.elts.some((L)=>L.kind==="Name"&&a4(Q,L.id)!==void 0)){for(let L of U.target.elts)if(L.kind==="Name")Z.add(L.id);return m}}let Y=p(U.value,Q);if(lY(U.target,Y,Q),_9(U)){for(let G of U.target.elts)if(G.kind==="Name")Z.add(G.id)}return Y}if(U.target.kind!=="Name")return m;let X=U.target.id;if(_9(U)&&(Z.has(X)||Q.barIndex!==0&&a4(Q,X)!==void 0)){Z.add(X);let Y=a4(Q,X);return Y===void 0?m:Y}let J=p(U.value,Q);if(n2(Q,X,J),_9(U))Z.add(X);if(U.export)Q.pendingExports.set(X,J);return J}function jH(U,Q){if(U.target.kind==="Tuple"){let X=p(U.value,Q);return lY(U.target,X,Q),X}if(U.target.kind==="Attribute"){let X=p(U.target.value,Q),J=p(U.value,Q);if(X instanceof G6)return X.set(U.target.attr,J),J;return m}if(U.target.kind!=="Name")return m;let Z=p(U.value,Q);return n2(Q,U.target.id,Z),Z}function BH(U,Q){if(U.kind!=="Expr"||U.value?.kind!=="Call")return;let Z={},X=U0(p(v(U.value.args,-1,["commission","commission_value"]),Q)),J=U0(p(v(U.value.args,-1,["slippage"]),Q)),Y=U0(p(v(U.value.args,-1,["pyramiding"]),Q));if(X!=null)Z.commission=X;if(J!=null)Z.slippage=J;if(Y!=null)Z.pyramiding=Math.trunc(Y);if(Object.keys(Z).length)Q.book.configure(Z);let G=U0(p(v(U.value.args,-1,["initial_capital"]),Q));if(G!=null&&Number.isFinite(G))Q.book.initialCapital=G;mZ(U,Q)}function mZ(U,Q){if(U.kind!=="Expr"||U.value?.kind!=="Call")return;let Z=U0(p(v(U.value.args,-1,["max_lines_count"]),Q)),X=U0(p(v(U.value.args,-1,["max_labels_count"]),Q)),J=U0(p(v(U.value.args,-1,["max_boxes_count"]),Q)),Y=U0(p(v(U.value.args,-1,["max_polylines_count"]),Q));if(Z==null&&X==null&&J==null&&Y==null)return;Q.drawings.configure({max_lines_count:Z??void 0,max_labels_count:X??void 0,max_boxes_count:J??void 0,max_polylines_count:Y??void 0})}function dY(U){if(U.kind!=="Expr"||U.value?.kind!=="Call")return null;let Q=eZ(U.value);if(Q!=="indicator"&&Q!=="strategy"&&Q!=="library")return null;return{name:hY(U.value.args),kind:Q}}function n6(U,Q){if(U.kind==="FunctionDef")return SF(U,Q),m;if(U.kind==="TypeDef")return MF(U,Q),m;if(U.kind==="EnumDef")return qF(U,Q),m;if(U.kind==="Import")return _F(U,Q),m;if(U.kind==="Assign")return AH(U,Q);if(U.kind==="ReAssign")return jH(U,Q);if(U.kind==="Break")throw t4;if(U.kind==="Continue")throw e4;if(U.kind==="Switch"||U.kind==="While"||U.kind==="If")return p(U,Q);if(U.kind!=="Expr"||!("value"in U)||U.value==null)return m;let Z=U.value;if(Z.kind==="Call"){let X=eZ(Z);if(X==="indicator"||X==="strategy"||X==="library")return m;if(X==="plot"||X==="plotshape"||X==="hline"||X==="plotchar"||X==="plotarrow"||X==="bgcolor"||X==="barcolor"){let J=d1(Z.args),Y=CH(J,X),G=EH(Q,Z,Y),L=v(Z.args,0,["series","source"])??J[0]?.value,z=U0(p(L,Q));if(!Q.plots[G])Q.plots[G]=[],Q.plot_meta.push({title:G});let D=Q.plots[G];while(D.length<Q.barIndex)D.push(null);return D.push(z),z}}return p(Z,Q)}function g6(U){return U!=null&&U!==0}function p(U,Q){if(U==null)return m;switch(U.kind){case"Name":{let Z=a4(Q,U.id);return Z===void 0?m:Z}case"Constant":{let Z=U.value;if(typeof Z==="number")return Number.isFinite(Z)?Z:m;if(typeof Z==="string")return Z;if(Z===!0)return 1;if(Z===!1)return 0;return m}case"BinOp":{let Z=p(U.left,Q),X=p(U.right,Q);if(U.op.kind==="Add"&&(typeof Z==="string"||typeof X==="string"))return rZ(Z)+rZ(X);let J=U0(Z),Y=U0(X);if(J==null||Y==null)return m;switch(U.op.kind){case"Add":return J+Y;case"Sub":return J-Y;case"Mult":return J*Y;case"Div":return Y===0?m:J/Y;case"Mod":return Y===0?m:J%Y}return m}case"UnaryOp":{let Z=U0(p(U.operand,Q));if(U.op.kind==="Not")return g6(Z)?0:1;if(Z==null)return m;if(U.op.kind==="USub")return-Z;if(U.op.kind==="UAdd")return Z;if(U.op.kind==="Invert")return~Math.trunc(Z);return m}case"Subscript":{let Z=U0(p(U.slice??void 0,Q));if(Z==null||!Number.isFinite(Z))return m;let X=Math.trunc(Z);if(X<0)return m;if(U.value.kind==="Name"){let J=_H(Q,U.value.id);if(J)return J.get(X)}return m}case"Call":return cH(U,Q);case"Compare":{let Z=p(U.left,Q);for(let X=0;X<U.ops.length;X++){let J=p(U.comparators[X],Q),Y=hH(Z,U.ops[X].kind,J);if(Y==null)return m;if(!Y)return 0;Z=J}return 1}case"If":{let Z=U0(p(U.test,Q)),X=g6(Z)?U.body:U.orelse,J=m;for(let Y of X)J=n6(Y,Q);return J}case"Attribute":return pH(U,Q);case"Conditional":return NH(U,Q);case"ForTo":return wH(U,Q);case"Tuple":return x6(U.elts.map((Z)=>p(Z,Q)));case"ForIn":return fH(U,Q);case"While":return yH(U,Q);case"Switch":return xH(U,Q);case"BoolOp":return gH(U,Q)}}function NH(U,Q){let Z=U0(p(U.test,Q));return g6(Z)?p(U.body,Q):p(U.orelse,Q)}function wH(U,Q){let Z=U0(p(U.start,Q)),X=U0(p(U.end,Q));if(Z==null||X==null||!Number.isFinite(Z)||!Number.isFinite(X))return m;let J;if(U.step!=null){let H=U0(p(U.step,Q));if(H==null||!Number.isFinite(H)||H===0)return m;if(J=Math.trunc(H),J===0)return m}else J=Z<=X?1:-1;let Y=Math.trunc(Z),G=Math.trunc(X),L=U.target.kind==="Name"?U.target.id:null,z=m,D=0,S=(H)=>{if(L)n2(Q,L,H);try{for(let q of U.body)z=n6(q,Q)}catch(q){if(q===t4)return"break";if(q===e4)return"ok";throw q}return"ok"};if(J>0)for(let H=Y;H<=G;H+=J){if(++D>oZ)break;if(S(H)==="break")break}else for(let H=Y;H>=G;H+=J){if(++D>oZ)break;if(S(H)==="break")break}return z}function yH(U,Q){let Z=m,X=0;while(g6(U0(p(U.test,Q)))){if(++X>RH)break;try{for(let J of V5(U.body))Z=n6(J,Q)}catch(J){if(J===t4)break;if(J===e4)continue;throw J}}return Z}function xH(U,Q){let Z=Array.isArray(U.cases)?U.cases:[],X=U.subject!=null,J=X?p(U.subject,Q):null;for(let Y of Z){if(Y.pattern==null)return uZ(Y.body,Q);if(X){let G=p(Y.pattern,Q);if(nZ(G,J))return uZ(Y.body,Q)}else if(g6(U0(p(Y.pattern,Q))))return uZ(Y.body,Q)}return m}function uZ(U,Q){let Z=m;for(let X of V5(U))Z=n6(X,Q);return Z}function gH(U,Q){let Z=U.values??[],X=typeof U.op==="string"?U.op:U.op?.kind;if(X==="And"){for(let J of Z){let Y=U0(p(J,Q));if(Y==null)return m;if(!g6(Y))return 0}return 1}if(X==="Or"){let J=!1;for(let Y of Z){let G=U0(p(Y,Q));if(G==null){J=!0;continue}if(g6(G))return 1}return J?m:0}return m}function fH(U,Q){let Z=p(U.iter,Q),X=[];if(QX(Z))X=Z.elts;else if(Z instanceof N1)X=Z.toValues();let J=U.target.kind==="Name"?U.target.id:null,Y=m,G=Math.min(X.length,oZ);for(let L=0;L<G;L++){let z=X[L];if(J)n2(Q,J,z);try{for(let D of U.body)Y=n6(D,Q)}catch(D){if(D===t4)break;if(D===e4)continue;throw D}}return Y}function pH(U,Q){if(U.value.kind==="Name"){if(U.value.id==="strategy"){if(U.attr==="long"||U.attr==="short")return U.attr;if(U.attr==="position_size")return Q.book.position.qty;if(U.attr==="position_avg_price")return Q.book.position.avgPrice;if(U.attr==="netprofit")return Q.book.realizedPnl;if(U.attr==="openprofit"){let X=Q.book.position.qty,J=Q.book.position.avgPrice,Y=C0(Q.ctx.close);if(X===0||J==null||Y==null)return 0;return X*(Y-J)}if(U.attr==="equity")return Q.book.equity(C0(Q.ctx.close)??0);if(U.attr==="opentrades")return Q.book.opentrades;if(U.attr==="closedtrades")return Q.book.closedtrades;if(U.attr==="wintrades")return Q.book.wintrades;if(U.attr==="losstrades")return Q.book.losstrades;if(U.attr==="eventrades")return Q.book.eventrades;if(U.attr==="grossprofit")return Q.book.grossprofit;if(U.attr==="grossloss")return Q.book.grossloss;if(U.attr==="avg_trade")return Q.book.avgTrade();if(U.attr==="avg_winning_trade")return Q.book.avgWinningTrade();if(U.attr==="avg_losing_trade")return Q.book.avgLosingTrade();if(U.attr==="netprofit_percent")return Q.book.netprofitPercent(C0(Q.ctx.close)??0);if(U.attr==="openprofit_percent")return Q.book.openprofitPercent(C0(Q.ctx.close)??0);if(U.attr==="grossprofit_percent")return Q.book.grossprofitPercent();if(U.attr==="grossloss_percent")return Q.book.grosslossPercent();if(U.attr==="avg_trade_percent")return Q.book.avgTradePercent();if(U.attr==="avg_winning_trade_percent")return Q.book.avgWinningTradePercent();if(U.attr==="avg_losing_trade_percent")return Q.book.avgLosingTradePercent();if(U.attr==="max_drawdown")return Q.book.maxDrawdown();if(U.attr==="max_drawdown_percent")return Q.book.maxDrawdownPercent();if(U.attr==="max_runup")return Q.book.maxRunup();if(U.attr==="max_runup_percent")return Q.book.maxRunupPercent();if(U.attr==="percent_profitable"||U.attr==="winrate")return Q.book.percentProfitable();if(U.attr==="profitfactor"||U.attr==="profit_factor")return Q.book.profitFactor();if(U.attr==="initial_capital")return Q.book.initialCapital;if(U.attr==="commission")return 0;if(U.attr==="cash")return"cash";if(U.attr==="fixed")return"fixed";if(U.attr==="percent_of_equity")return"percent_of_equity"}if(U.value.id==="syminfo"){if(U.attr==="ticker"||U.attr==="tickerid")return Q.symbol;if(U.attr==="timezone")return"Etc/UTC";if(U.attr==="currency")return"USD";if(U.attr==="mintick")return 0.01;if(U.attr==="type")return"stock"}if(U.value.id==="timeframe"){if(U.attr==="period")return Q.timeframe??"";if(U.attr==="multiplier")return GG(Q.timeframe);if(U.attr==="isintraday")return JG(Q.timeframe)?1:0;if(U.attr==="isdaily")return KQ(Q.timeframe)?1:0;if(U.attr==="isweekly")return WQ(Q.timeframe)?1:0;if(U.attr==="ismonthly")return OQ(Q.timeframe)?1:0}if(U.value.id==="color"){let X=k7(U.attr);if(X)return X}if(U.value.id==="barstate"){let X=Q.barIndex===Q.barCount-1;if(U.attr==="isfirst")return Q.barIndex===0?1:0;if(U.attr==="islast")return X?1:0;if(U.attr==="ishistory")return X?0:1;if(U.attr==="isconfirmed")return 1;if(U.attr==="isnew")return 1;if(U.attr==="isrealtime")return 0;if(U.attr==="islastconfirmedhistory")return X?1:0}if(U.value.id==="session"){if(U.attr==="regular")return"regular";if(U.attr==="extended")return"extended";if(U.attr==="ismarket")return 1;if(U.attr==="ispremarket"||U.attr==="ispostmarket")return 0;if(U.attr==="isfirstbar"||U.attr==="isfirstbar_regular")return Q.barIndex===0?1:0;if(U.attr==="islastbar"||U.attr==="islastbar_regular")return Q.barIndex===Q.barCount-1?1:0}if(U.value.id==="chart"){if(U.attr==="is_heikinashi"||U.attr==="is_renko"||U.attr==="is_kagi")return 0;if(U.attr==="fg_color")return"#ffffff";if(U.attr==="bg_color")return"#131722"}if(U.value.id==="ta"){let X=vH(U.attr,Q);if(X!==void 0)return X}}let Z=p(U.value,Q);if(Z instanceof G6){let X=Z.get(U.attr);if(typeof X==="number"||X===null||typeof X==="string")return X;if(X instanceof G6||X instanceof c6)return X;return m}if(Z instanceof l2&&U.attr==="new")return Z;if(Z instanceof x4)return Z.members.get(U.attr)??m;if(Z instanceof T4){let X=Z.get(U.attr);if(X===void 0)return m;if(B9(X))return X;if(typeof X==="function")return m;return X}return m}function vH(U,Q){let Z=Q.ta,X=`attr:ta.${U}`;if(U==="accdist"||U==="ad")return Z.accdist(X,C0(Q.ctx.high),C0(Q.ctx.low),C0(Q.ctx.close),C0(Q.ctx.volume));if(U==="obv"&&typeof Z.obv==="function")return Z.obv.call(Q.ta,X,C0(Q.ctx.close),C0(Q.ctx.volume));if(U==="tr"&&typeof Z.tr==="function")return Z.tr.call(Q.ta,X,C0(Q.ctx.high),C0(Q.ctx.low),C0(Q.ctx.close));if(U==="vwap"&&typeof Z.vwap==="function"){let J=C0(Q.ctx.high),Y=C0(Q.ctx.low),G=C0(Q.ctx.close),L=J!=null&&Y!=null&&G!=null?(J+Y+G)/3:G;return Z.vwap.call(Q.ta,X,L,C0(Q.ctx.volume))}if(U==="pvt"&&typeof Z.pvt==="function")return Z.pvt.call(Q.ta,X,C0(Q.ctx.close),C0(Q.ctx.volume));if(U==="nvi"&&typeof Z.nvi==="function")return Z.nvi.call(Q.ta,X,C0(Q.ctx.close),C0(Q.ctx.volume));if(U==="pvi"&&typeof Z.pvi==="function")return Z.pvi.call(Q.ta,X,C0(Q.ctx.close),C0(Q.ctx.volume));return}function xY(U,Q){if(U==null)return"long";if(U.kind==="Constant"&&typeof U.value==="string")return U.value;let Z=p(U,Q);if(typeof Z==="string")return Z;let X=U0(Z);if(X===1)return"long";if(X===-1)return"short";return"long"}function O5(U){if(U==null)return"entry";if(U.kind==="Constant"&&typeof U.value==="string")return U.value;if(U.kind==="Name")return U.id;return"entry"}function rZ(U){if(typeof U==="string")return U;if(U instanceof u1)return U.toString();let Q=U0(U);return Q==null?"na":String(Q)}function S4(U){if(U==null)return!0;if(typeof U==="number")return!Number.isFinite(U);return!1}function nZ(U,Q){if(S4(U)&&S4(Q))return!0;if(S4(U)||S4(Q))return!1;if(U instanceof c6)return U.equals(Q);if(Q instanceof c6)return Q.equals(U);if(typeof U==="string"||typeof Q==="string")return U===Q;if(typeof U==="number"&&typeof Q==="number")return U===Q;return U===Q}function hH(U,Q,Z){let X=S4(U),J=S4(Z);switch(Q){case"Eq":return nZ(U,Z);case"NotEq":if(X||J)return!1;return!nZ(U,Z);case"Lt":case"LtE":case"Gt":case"GtE":{let Y=U0(U),G=U0(Z);if(Y==null||G==null)return!1;if(Q==="Lt")return Y<G;if(Q==="LtE")return Y<=G;if(Q==="Gt")return Y>G;return Y>=G}default:return null}}function cH(U,Q){if(U.func.kind==="Attribute"){let k=p(U.func.value,Q);if(k instanceof T4)return kF(k,U.func.attr,U,Q);if(k instanceof G6){let _=k.getMethod(U.func.attr);if(_&&B9(_.body))return iZ(_.body,U,Q,k)}if(k instanceof l2&&U.func.attr==="new"){let _={};for(let j of d1(U.args)){let B=c2(j);if(B)_[B]=p(j.value,Q)}return k.newInstance(_)}}let Z=eZ(U),X=UX(U,Q);if(Z==="ta.sma"||Z==="sma")return Q.ta.sma(X,a0(U,Q),X1(U,Q,1));if(Z==="ta.ema"||Z==="ema")return Q.ta.ema(X,a0(U,Q),X1(U,Q,1));if(Z==="ta.rsi"||Z==="rsi")return Q.ta.rsi(X,a0(U,Q),X1(U,Q,1));if(Z==="ta.rma"||Z==="rma")return Q.ta.rma(X,a0(U,Q),X1(U,Q,1));if(Z==="ta.atr"||Z==="atr"){let k=X1(U,Q,0);return Q.ta.atr(X,C0(Q.ctx.high),C0(Q.ctx.low),C0(Q.ctx.close),k)}if(Z==="ta.kc"||Z==="kc")return uH(U,Q,X);if(Z==="ta.supertrend"||Z==="supertrend")return bH(U,Q,X);if(Z==="ta.tr"||Z==="tr")return lH(U,Q,X);let J=TF(Z,U,Q,X);if(J!==void 0)return J;let Y=YF(Z,U,Q);if(Y!==void 0)return Y;if(YG(Z))return XF(U,Q,Z);if(QG(Z)||Z==="request.security")return $F(Z,U,Q);let G=WF(Z,U,Q);if(G!==void 0)return G;let L=RF(Z,U,Q);if(L!==void 0)return L;let z=zF(Z,U,Q);if(z!==void 0)return z;if(Z==="na"){let k=v(U.args,0,["x","source"]);if(k==null)return m;return S4(p(k,Q))?1:0}if(Z==="iff"){let k=U0(p(v(U.args,0,["condition","cond"]),Q));if(k==null)return m;return g6(k)?p(v(U.args,1,["then","if_true"]),Q):p(v(U.args,2,["else","if_false"]),Q)}if(Z==="fixnan"){let k=U0(p(v(U.args,0,["source","x"]),Q));return k==null?0:k}if(Z==="int"){let k=U0(p(v(U.args,0,["x","source"]),Q));return k==null?m:Math.trunc(k)}if(Z==="float")return U0(p(v(U.args,0,["x","source"]),Q));if(Z==="bool"){let k=U0(p(v(U.args,0,["x","source"]),Q));return g6(k)?1:0}if(Z==="string"||Z==="str")return rZ(p(v(U.args,0,["x","source"]),Q));if(Z==="log.info"||Z==="log.warning"||Z==="log.error"){let k=d1(U.args).map((j)=>{let B=p(j.value,Q);if(B instanceof u1)return B.toString();return typeof B==="string"?B:U0(B)}),_=I4(k);if(Z==="log.info")Q.logs.info(Q.barIndex,_);else if(Z==="log.warning")Q.logs.warning(Q.barIndex,_);else Q.logs.error(Q.barIndex,_);return m}let D=PF(Z,U,Q);if(D!==void 0)return D;if(Z==="timeframe.in_seconds"){let k=T1(v(U.args,0,["timeframe","period"]),Q)??Q.timeframe;return P8(k)}if(Z==="timeframe.from_seconds"){let k=U0(p(v(U.args,0,["seconds"]),Q));return k==null?m:XG(k)}if(Z==="runtime.error"){let k=d1(U.args).map((_)=>{let j=p(_.value,Q);return typeof j==="string"?j:U0(j)});HQ(I4(k)||"runtime.error")}if(Z==="ticker.new"){let k=T1(v(U.args,0,["symbol"]),Q)??Q.symbol,_=T1(v(U.args,1,["session"]),Q)??void 0;return FQ(k,_)}if(Z==="ticker.heikinashi"){let k=p(v(U.args,0,["symbol"]),Q),_=k instanceof u1?k.symbol:typeof k==="string"?k:Q.symbol;return RQ(_)}if(Z==="ticker.standard"){let k=p(v(U.args,0,["symbol"]),Q),_=k instanceof u1?k.symbol:typeof k==="string"?k:Q.symbol;return zQ(_)}if(Z==="ticker.renko"){let k=p(v(U.args,0,["symbol"]),Q),_=k instanceof u1?k.symbol:typeof k==="string"?k:Q.symbol;return SQ(_)}if(Z==="ticker.kagi"){let k=p(v(U.args,0,["symbol"]),Q),_=k instanceof u1?k.symbol:typeof k==="string"?k:Q.symbol;return MQ(_)}if(Z==="ticker.linebreak"){let k=p(v(U.args,0,["symbol"]),Q),_=k instanceof u1?k.symbol:typeof k==="string"?k:Q.symbol;return qQ(_)}if(Z==="ticker.pointfigure"){let k=p(v(U.args,0,["symbol"]),Q),_=k instanceof u1?k.symbol:typeof k==="string"?k:Q.symbol;return CQ(_)}if(Z==="ticker.modify"){let k=p(v(U.args,0,["ticker","tickerid"]),Q),_=k instanceof u1?k:typeof k==="string"?k:Q.symbol;return EQ(_,{symbol:T1(v(U.args,1,["symbol"]),Q)??void 0,session:T1(v(U.args,2,["session"]),Q)??void 0,adjust:T1(v(U.args,3,["adjust","adjustment"]),Q)??void 0})}let S=OF(Z,U,Q);if(S!==void 0)return S;let H=DF(Z,U,Q);if(H!==void 0)return H;let q=HF(Z,U,Q);if(q!==void 0)return q;if(Z==="nz"){let k=U0(p(v(U.args,0,["source","x"]),Q)),_=U0(p(v(U.args,1,["replacement"]),Q));return k==null?_??0:k}if(Z==="strategy.entry"){let k=O5(v(U.args,0,["id"])),_=xY(v(U.args,1,["direction"]),Q),j=v(U.args,2,["qty"]),B=j==null?1:U0(p(j,Q)),y=B==null||!Number.isFinite(B)?Number.NaN:B,x=U0(p(v(U.args,-1,["limit"]),Q)),h=U0(p(v(U.args,-1,["stop"]),Q)),r=C0(Q.ctx.close);return Q.book.placeEntry(Q.barIndex,k,_,y,{limit:x,stop:h,price:r==null||!Number.isFinite(r)?void 0:r,time:C0(Q.ctx.time)??void 0,oca_name:T1(v(U.args,-1,["oca_name"]),Q),oca_type:T1(v(U.args,-1,["oca_type"]),Q)}),m}if(Z==="strategy.close"){let k=O5(v(U.args,0,["id"])),_=C0(Q.ctx.close);if(Q.book.position.qty!==0&&_!=null)Q.book.fillClose(Q.barIndex,k,_,{time:C0(Q.ctx.time)??void 0});else Q.book.close(Q.barIndex,k);return m}if(Z==="strategy.exit")return Q.book.exit(Q.barIndex,O5(v(U.args,0,["id"]))),m;if(Z==="strategy.close_all")return Q.book.closeAll(Q.barIndex,C0(Q.ctx.close)??void 0),m;if(Z==="strategy.cancel")return Q.book.cancel(Q.barIndex,O5(v(U.args,0,["id"]))),m;if(Z==="strategy.cancel_all")return Q.book.cancelAll(Q.barIndex),m;if(Z==="strategy.order"){let k=O5(v(U.args,0,["id"])),_=xY(v(U.args,1,["direction"]),Q),j=U0(p(v(U.args,2,["qty"]),Q)),B=j==null||!Number.isFinite(j)?Number.NaN:j;return Q.book.order(Q.barIndex,k,_,B,{limit:U0(p(v(U.args,-1,["limit"]),Q)),stop:U0(p(v(U.args,-1,["stop"]),Q)),price:C0(Q.ctx.close)??void 0,time:C0(Q.ctx.time)??void 0,oca_name:T1(v(U.args,-1,["oca_name"]),Q),oca_type:T1(v(U.args,-1,["oca_type"]),Q)}),m}let E=JF(Z,U,Q);if(E!==void 0)return E;let P=GF(Z,U,Q);if(P!==void 0)return P;if(Z!=null&&Z.endsWith(".new")){let k=Z.slice(0,-4),_=a4(Q,k);if(_ instanceof l2){let j={};for(let B of d1(U.args)){let y=c2(B);if(y)j[y]=p(B.value,Q)}return _.newInstance(j)}}if(Z!=null){let k=Q.udfs.get(Z);if(k)return iZ(k,U,Q)}return m}function uH(U,Q,Z){let X=d1(U.args).filter((S)=>c2(S)==null),J=C0(Q.ctx.high),Y=C0(Q.ctx.low),G=a0(U,Q),L=X1(U,Q,1),z=sZ(U,Q,2,["mult","multiplier"],1);if(X.length>=4)J=U0(p(X[0].value,Q)),Y=U0(p(X[1].value,Q)),G=U0(p(X[2].value,Q)),L=X1(U,Q,3),z=sZ(U,Q,4,["mult","multiplier"],1);let D=dH(Q,Z,J,Y,G,L,z);return x6([D.mid,D.up,D.lo])}function bH(U,Q,Z){let X=sZ(U,Q,0,["factor"],3),J=mH(U,Q,1,["atrPeriod","length"],10),Y=oH(Q,Z,C0(Q.ctx.high),C0(Q.ctx.low),C0(Q.ctx.close),X,J);return x6([Y.st,Y.dir])}function lH(U,Q,Z){let X=d1(U.args).filter((J)=>c2(J)==null);if(X.length>=3)return gY(Q,Z,U0(p(X[0].value,Q)),U0(p(X[1].value,Q)),U0(p(X[2].value,Q)));return gY(Q,Z,C0(Q.ctx.high),C0(Q.ctx.low),C0(Q.ctx.close))}function dH(U,Q,Z,X,J,Y,G){let L=U.ta.kc;if(typeof L==="function")return L.call(U.ta,Q,Z,X,J,Y,G);let z=U.ta.ema(`${Q}:ema`,J,Y),D=U.ta.atr(`${Q}:atr`,Z,X,J,Y);if(z==null)return{mid:null,up:null,lo:null};let S=(D??0)*G;return{mid:z,up:z+S,lo:z-S}}function oH(U,Q,Z,X,J,Y,G){let L=U.ta.supertrend;if(typeof L==="function")return L.call(U.ta,Q,Z,X,J,Y,G);let z=U.ta.atr(`${Q}:atr`,Z,X,J,G),D=z==null||!Number.isFinite(z)?0:z,S=Z??0,H=X??0,q=J??S,E=(S+H)/2,P=E+Y*D,k=E-Y*D,_=q>=E?-1:1;return{st:_<0?k:P,dir:_}}function gY(U,Q,Z,X,J){let Y=U.ta.tr;if(typeof Y==="function")return Y.call(U.ta,Q,Z,X,J);return U.ta.atr(Q,Z,X,J,1)==null&&U.barIndex===0?m:m}function C0(U){if(U===void 0)return m;return U0(U)}function a0(U,Q){return U0(p(v(U.args,0,["source","series"]),Q))}function X1(U,Q,Z){let X=U0(p(v(U.args,Z,["length"]),Q));return X==null||!Number.isFinite(X)?0:X}function mH(U,Q,Z,X,J){let Y=U0(p(v(U.args,Z,X),Q));return Y==null||!Number.isFinite(Y)?J:Y}function sZ(U,Q,Z,X,J){let Y=U0(p(v(U.args,Z,X),Q));return Y==null||!Number.isFinite(Y)?J:Y}function U0(U){if(U==null)return m;if(typeof U==="number")return Number.isFinite(U)?U:m;return m}function U7(U){if(U instanceof Error)return(U.message||U.name||"runtime error").split(`
|
|
99
|
+
`)[0].trim()||"runtime error";if(typeof U==="string")return U.split(`
|
|
100
|
+
`)[0].trim()||"runtime error";return"runtime error"}function rH(U){return!("inputs"in U)&&!("broker"in U)&&!("timeframe"in U)&&!("libraries"in U)&&!("mode"in U)}function fY(U,Q,Z){return{series:{},plots:[],plot_meta:[],count:U,script_name:null,script_type:"indicator",mode:"compile",error:Q,error_kind:"compile",...Z}}function nH(U){let Q=U.length,Z=Array(Q),X=Array(Q),J=Array(Q),Y=Array(Q),G=Array(Q),L=Array(Q);for(let z=0;z<Q;z++){let D=U[z],S=D.close??null;Y[z]=S,Z[z]=D.open??S,X[z]=D.high??S,J[z]=D.low??S,G[z]=D.volume??1,L[z]=D.time??z*60000}return{open:Z,high:X,low:J,close:Y,volume:G,time:L}}function oY(U,Q,Z,X){let J=s4(U,{getLibrary:(k,_,j)=>X?.getSource(k,_,j)??null}),Y=nH(Q),G=J.run(Y.open,Y.high,Y.low,Y.close,Y.volume,Y.time,{inputs:Z}),L=G.__events,z=G.__fills,D=G.__strategy,S=G.__drawings,H=G.__logs,q={};for(let[k,_]of Object.entries(G)){if(k.startsWith("__"))continue;q[k]=_}let E=J.plots,P=E[0]?.title;return{series:q,plots:P!=null?q[P]??[]:[],plot_meta:E,count:Q.length,script_name:null,script_type:L!=null||D!=null?"strategy":"indicator",mode:"compile",...L!=null?{events:L}:{},...z!=null?{fills:z.map((k)=>k.type==="fill"?k:{type:"fill",...k})}:{},...D!=null?{strategy:D}:{},...S!=null?{drawings:S}:{},...H!=null?{logs:H}:{}}}function sH(U,Q,Z){let X=n4(U);if(!X.ok)return fY(Q.length,X.reason??"ineligible");try{return oY(U,Q,Z.inputs,Z.libraries)}catch(J){let Y=J instanceof k6?J.message:U7(J);return fY(Q.length,Y)}}function iH(U,Q,Z,X){let J=n4(U);if(J.ok)try{let G=oY(U,Z,X.inputs,X.libraries);return G.auto_backend="compile",G}catch(G){let L=G instanceof k6?G.message:U7(G),z=j9(Q,Z,X);return z.auto_backend="interpret",z.compile_fallback_reason=L,z}let Y=j9(Q,Z,X);return Y.auto_backend="interpret",Y.compile_fallback_reason=J.reason,Y}function aH(U,Q){let Z=tH(Q);if(Z==null)return U;return{...U,...Z}}function tH(U){if(U==null||typeof U!=="object")return;if("inputs"in U){let Q=U.inputs;if(Q!=null&&typeof Q==="object"&&!Array.isArray(Q))return Q;return}return U}function eH(U){let Q=U.fills;if(Q==null||Q.length===0)return;return Q.map((Z)=>({type:"fill",...Z}))}function UF(U){return U.items.length===0?void 0:U.items}function QF(U){let Q=uY(U.args,"title");if(Q!=null)return Q;let Z=d1(U.args),X=0;for(let J of Z){if(c2(J)!=null)continue;if(X===1&&J.value.kind==="Constant"&&typeof J.value.value==="string")return J.value.value;X++}return null}function ZF(U,Q){if(U.kind==="Constant")return U.value;let Z=p(U,Q);if(typeof Z==="string")return Z;return U0(Z)}function XF(U,Q,Z){let X=QF(U),J=X??UX(U,Q),Y=Q.inputStore.get(J);if(Y!==void 0)return PQ(Y);let G=[],L={};for(let D of d1(U.args)){let S=ZF(L5(D),Q),H=c2(D);if(H!=null)L[H]=S;else G.push(S)}let z=TG(Z,G,L);if(X!=null&&Q.inputs[X]!==void 0)z=Q.inputs[X];return Q.inputStore.set(J,z),PQ(z)}function T1(U,Q){if(U==null)return null;if(U.kind==="Constant"&&typeof U.value==="string")return U.value;let Z=p(U,Q);return typeof Z==="string"?Z:null}function JF(U,Q,Z){if(U==null||!U.startsWith("strategy.risk."))return;let X=Z.book;if(U==="strategy.risk.allow_entry_in"){let J=p(v(Q.args,0,["value"]),Z);return X.riskAllowEntryIn(typeof J==="string"?J:U0(J)),m}if(U==="strategy.risk.max_position_size")return X.riskMaxPositionSize(U0(p(v(Q.args,0,["percent","value"]),Z))),m;if(U==="strategy.risk.max_drawdown"){let J=U0(p(v(Q.args,0,["value"]),Z)),Y=p(v(Q.args,1,["type"]),Z);return X.riskMaxDrawdown(J,typeof Y==="string"?Y:U0(Y)),m}if(U==="strategy.risk.max_cons_loss_days")return X.riskMaxConsLossDays(U0(p(v(Q.args,0,["days","value"]),Z))),m;if(U==="strategy.risk.max_intraday_loss")return X.riskMaxIntradayLoss(U0(p(v(Q.args,0,["percent","value"]),Z))),m;if(U==="strategy.risk.max_intraday_filled_orders")return X.riskMaxIntradayFilledOrders(U0(p(v(Q.args,0,["max","max_orders","value"]),Z))),m;return}function GF(U,Q,Z){if(U==null||!U.startsWith("strategy."))return;let X=U0(p(v(Q.args,0,["trade_num","trade_index","index"]),Z)),J=X==null?0:Math.trunc(X),Y=C0(Z.ctx.close)??0,G=Z.book;switch(U){case"strategy.closedtrades.entry_bar_index":return G.closedEntryBar(J);case"strategy.closedtrades.entry_price":return G.closedEntryPrice(J);case"strategy.closedtrades.exit_bar_index":return G.closedExitBar(J);case"strategy.closedtrades.exit_price":return G.closedExitPrice(J);case"strategy.closedtrades.profit":return G.closedProfit(J);case"strategy.closedtrades.size":return G.closedSize(J);case"strategy.closedtrades.entry_id":case"strategy.closedtrades.exit_id":return G.closedId(J);case"strategy.closedtrades.commission":return G.closedCommission(J);case"strategy.opentrades.entry_bar_index":return G.openEntryBar(J);case"strategy.opentrades.entry_price":return G.openEntryPrice(J);case"strategy.opentrades.size":return G.openSize(J);case"strategy.opentrades.entry_id":return G.openId(J);case"strategy.opentrades.profit":return G.openProfit(J,Y);default:return}}function IF(U,Q){let Z=T1(v(U.args,0,["symbol"]),Q),X=T1(v(U.args,1,["timeframe"]),Q),J=v(U.args,2,["expression"]),Y=U0(p(J,Q));return q8(Q.symbol,Q.timeframe,{symbol:Z,timeframe:X,expression:J},Y)}function $F(U,Q,Z){if(U==="request.security"||U==="request.security_lower_tf")return IF(Q,Z);let X={symbol:Z.symbol,timeframe:Z.timeframe};if(U==="request.currency_rate"){let Y=T1(v(Q.args,0,["from","from_currency"]),Z),G=T1(v(Q.args,1,["to","to_currency"]),Z),L=C8(U,X,{from:Y,to:G});return typeof L==="number"||L===null?L:m}if(U==="request.seed"){let Y=U0(p(v(Q.args,0,["seed"]),Z)),G=C8(U,X,{seed:Y});return typeof G==="number"||G===null?G:m}let J=C8(U,X,{});return typeof J==="number"||J===null?J:m}function YF(U,Q,Z){if(U==="math.abs"||U==="abs")return _8(l1(Q,Z,0,["number","x"]));if(U==="math.max"||U==="max")return y8(...A9(Q,Z));if(U==="math.min"||U==="min")return x8(...A9(Q,Z));if(U==="math.sqrt"||U==="sqrt")return j8(l1(Q,Z,0,["number","x"]));if(U==="math.log"||U==="log")return OG(l1(Q,Z,0,["number","x"]));if(U==="math.log10"||U==="log10")return B8(l1(Q,Z,0,["number","x"]));if(U==="math.exp"||U==="exp")return N8(l1(Q,Z,0,["number","x"]));if(U==="math.pow"||U==="pow")return w8(l1(Q,Z,0,["base","number","x"]),l1(Q,Z,1,["exponent","exp","y"]));if(U==="math.round"||U==="round"){let X=v(Q.args,1,["precision"]);return g8(l1(Q,Z,0,["number","x"]),X==null?void 0:U0(p(X,Z)))}if(U==="math.floor"||U==="floor")return f8(l1(Q,Z,0,["number","x"]));if(U==="math.ceil"||U==="ceil")return p8(l1(Q,Z,0,["number","x"]));if(U==="math.sign"||U==="sign")return A8(l1(Q,Z,0,["number","x"]));if(U==="math.avg"||U==="avg")return v8(...A9(Q,Z));if(U==="math.sum"){let X=p(v(Q.args,0,["source","id","array"]),Z),J=U1(X);if(J)return J.sum();return LG(...A9(Q,Z))}if(U==="math.sin"||U==="sin")return c8(l1(Q,Z,0,["angle","x"]));if(U==="math.cos"||U==="cos")return u8(l1(Q,Z,0,["angle","x"]));if(U==="math.tan"||U==="tan")return b8(l1(Q,Z,0,["angle","x"]));if(U==="math.asin"||U==="asin")return l8(l1(Q,Z,0,["x"]));if(U==="math.acos"||U==="acos")return d8(l1(Q,Z,0,["x"]));if(U==="math.atan"||U==="atan")return o8(l1(Q,Z,0,["x"]));if(U==="math.todegrees")return m8(l1(Q,Z,0,["radians","x"]));if(U==="math.toradians")return r8(l1(Q,Z,0,["degrees","x"]));if(U==="math.isfinite")return VG(l1(Q,Z,0,["number","x"]));if(U==="math.random"){let X=v(Q.args,0,["min"]),J=v(Q.args,1,["max"]);return RG(X==null?void 0:U0(p(X,Z)),J==null?void 0:U0(p(J,Z)))}if(U==="math.round_to_mintick"){let X=typeof Z.ctx["syminfo.mintick"]==="number"?Z.ctx["syminfo.mintick"]:0.01;return DG(l1(Q,Z,0,["number","x"]),X)}return}function l1(U,Q,Z,X){return U0(p(v(U.args,Z,X),Q))}function A9(U,Q){return d1(U.args).map((Z)=>U0(p(Z.value,Q)))}function D1(U,Q,Z,X,J){let Y=v(U.args,Z,X);if(Y==null)return J;let G=U0(p(Y,Q));return G==null||!Number.isFinite(G)?J:G}function TF(U,Q,Z,X){let J=Z.ta;if(U==="ta.highest"||U==="highest"){if(typeof J.highest!=="function")return m;return J.highest.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.lowest"||U==="lowest"){if(typeof J.lowest!=="function")return m;return J.lowest.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.stdev"||U==="stdev"){if(typeof J.stdev!=="function")return m;return J.stdev.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.change"||U==="change"){if(typeof J.change!=="function")return m;return J.change.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["length"],1))}if(U==="ta.wma"||U==="wma"){if(typeof J.wma!=="function")return m;return J.wma.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.crossover"||U==="crossover"){if(typeof J.crossover!=="function")return m;return J.crossover.call(Z.ta,X,a0(Q,Z),U0(p(v(Q.args,1,["source2","b","series2"]),Z)))}if(U==="ta.crossunder"||U==="crossunder"){if(typeof J.crossunder!=="function")return m;return J.crossunder.call(Z.ta,X,a0(Q,Z),U0(p(v(Q.args,1,["source2","b","series2"]),Z)))}if(U==="ta.macd"||U==="macd"){if(typeof J.macd!=="function")return m;let Y=J.macd.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["fastlen","fastLength","fast"],12),D1(Q,Z,2,["slowlen","slowLength","slow"],26),D1(Q,Z,3,["signal","signalLength","siglen"],9));return x6([Y.macd,Y.signal,Y.hist])}if(U==="ta.bb"||U==="bb"){if(typeof J.bb!=="function")return m;let Y=J.bb.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1),D1(Q,Z,2,["mult","multiplier"],2));return x6([Y.mid,Y.up,Y.lo])}if(U==="ta.sum"||U==="sum"){if(typeof J.sum!=="function")return m;return J.sum.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.roc"||U==="roc"){if(typeof J.roc!=="function")return m;return J.roc.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["length"],1))}if(U==="ta.mom"||U==="mom"){if(typeof J.mom!=="function")return m;return J.mom.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["length"],1))}if(U==="ta.vwma"||U==="vwma"){if(typeof J.vwma!=="function")return m;return J.vwma.call(Z.ta,X,a0(Q,Z),C0(Z.ctx.volume),X1(Q,Z,1))}if(U==="ta.cci"||U==="cci"){if(typeof J.cci!=="function")return m;let Y=C0(Z.ctx.high),G=C0(Z.ctx.low),L=a0(Q,Z),z=Y!=null&&G!=null&&L!=null?(Y+G+L)/3:L;return J.cci.call(Z.ta,X,z,X1(Q,Z,1))}if(U==="ta.wpr"||U==="wpr"){if(typeof J.willr!=="function")return m;return J.willr.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),X1(Q,Z,0))}if(U==="ta.willr"||U==="willr"){if(typeof J.willr!=="function")return m;return J.willr.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),X1(Q,Z,0))}if(U==="ta.stoch"||U==="stoch"){if(typeof J.stoch!=="function")return m;let Y=d1(Q.args).filter((L)=>c2(L)==null),G=v(Q.args,1,["high"]);if(G==null&&Y.length<=1)return J.stoch.call(Z.ta,X,C0(Z.ctx.close),C0(Z.ctx.high),C0(Z.ctx.low),X1(Q,Z,0));return J.stoch.call(Z.ta,X,a0(Q,Z),U0(p(G,Z)),U0(p(v(Q.args,2,["low"]),Z)),X1(Q,Z,3))}if(U==="ta.linreg"||U==="linreg"){if(typeof J.linreg!=="function")return m;return J.linreg.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1),D1(Q,Z,2,["offset"],0))}if(U==="ta.vwap"||U==="vwap"){if(typeof J.vwap!=="function")return m;let Y=v(Q.args,0,["source","series"]),G=Y!=null?U0(p(Y,Z)):KF(Z);return J.vwap.call(Z.ta,X,G,C0(Z.ctx.volume))}if(U==="ta.rising"||U==="rising"){if(typeof J.rising!=="function")return m;return J.rising.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["length"],1))}if(U==="ta.falling"||U==="falling"){if(typeof J.falling!=="function")return m;return J.falling.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["length"],1))}if(U==="ta.cross"||U==="cross"){if(typeof J.cross!=="function")return m;return J.cross.call(Z.ta,X,a0(Q,Z),U0(p(v(Q.args,1,["source2","b","series2"]),Z)))}if(U==="ta.bbw"||U==="bbw"){if(typeof J.bbw!=="function")return m;return J.bbw.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1),D1(Q,Z,2,["mult","multiplier"],2))}if(U==="ta.dema"||U==="dema"){if(typeof J.dema!=="function")return m;return J.dema.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.tema"||U==="tema"){if(typeof J.tema!=="function")return m;return J.tema.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.highestbars"||U==="highestbars"){if(typeof J.highestbars!=="function")return m;return J.highestbars.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.lowestbars"||U==="lowestbars"){if(typeof J.lowestbars!=="function")return m;return J.lowestbars.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.alma"||U==="alma"){if(typeof J.alma!=="function")return m;return J.alma.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1),D1(Q,Z,2,["offset"],0.85),D1(Q,Z,3,["sigma"],6))}if(U==="ta.cmo"||U==="cmo"){if(typeof J.cmo!=="function")return m;return J.cmo.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.kama"||U==="kama"){if(typeof J.kama!=="function")return m;return J.kama.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1),D1(Q,Z,2,["fastLength","fast","fastlen"],2),D1(Q,Z,3,["slowLength","slow","slowlen"],30))}if(U==="ta.accdist"||U==="accdist"||U==="ta.ad"||U==="ad"){let Y=v(Q.args,0,["high"]),G=v(Q.args,1,["low"]),L=v(Q.args,2,["close"]),z=v(Q.args,3,["volume"]);return Z.ta.accdist(X,Y==null?C0(Z.ctx.high):U0(p(Y,Z)),G==null?C0(Z.ctx.low):U0(p(G,Z)),L==null?C0(Z.ctx.close):U0(p(L,Z)),z==null?C0(Z.ctx.volume):U0(p(z,Z)))}if(U==="ta.obv"||U==="obv"){if(typeof J.obv!=="function")return m;let Y=v(Q.args,0,["source","close"]),G=v(Q.args,1,["volume"]),L=Y==null?C0(Z.ctx.close):U0(p(Y,Z)),z=G==null?C0(Z.ctx.volume):U0(p(G,Z));return J.obv.call(Z.ta,X,L,z)}if(U==="ta.pivothigh"||U==="pivothigh"){if(typeof J.pivothigh!=="function")return m;return J.pivothigh.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["leftbars","left"],5),D1(Q,Z,2,["rightbars","right"],5))}if(U==="ta.pivotlow"||U==="pivotlow"){if(typeof J.pivotlow!=="function")return m;return J.pivotlow.call(Z.ta,X,a0(Q,Z),D1(Q,Z,1,["leftbars","left"],5),D1(Q,Z,2,["rightbars","right"],5))}if(U==="ta.hma"||U==="hma"){if(typeof J.hma!=="function")return m;return J.hma.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.mfi"||U==="mfi"){if(typeof J.mfi!=="function")return m;let Y=d1(Q.args).filter((G)=>G.name==null);if(Y.length<=1)return J.mfi.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),C0(Z.ctx.volume),X1(Q,Z,0));if(Y.length===2)return J.mfi.call(Z.ta,X,a0(Q,Z),a0(Q,Z),a0(Q,Z),C0(Z.ctx.volume),X1(Q,Z,1));return J.mfi.call(Z.ta,X,U0(p(v(Q.args,0,["high"]),Z)),U0(p(v(Q.args,1,["low"]),Z)),U0(p(v(Q.args,2,["close"]),Z)),U0(p(v(Q.args,3,["volume"]),Z)),X1(Q,Z,4))}if(U==="ta.sar"||U==="sar"){if(typeof J.sar!=="function")return m;return J.sar.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),D1(Q,Z,0,["start"],0.02),D1(Q,Z,1,["increment"],0.02),D1(Q,Z,2,["maximum","max"],0.2))}if(U==="ta.dmi"||U==="dmi"){if(typeof J.dmi!=="function")return m;let Y=J.dmi.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),D1(Q,Z,0,["diLength","length"],14),D1(Q,Z,1,["adxSmoothing","adxlen"],14));return x6([Y.plus,Y.minus,Y.adx])}if(U==="ta.adx"||U==="adx"){if(typeof J.adx!=="function")return m;return J.adx.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),D1(Q,Z,0,["length"],14))}if(U==="ta.correlation"||U==="correlation"){if(typeof J.correlation!=="function")return m;return J.correlation.call(Z.ta,X,a0(Q,Z),U0(p(v(Q.args,1,["source2","b","series2"]),Z)),X1(Q,Z,2))}if(U==="ta.swma"||U==="swma"){if(typeof J.swma!=="function")return m;let Y=v(Q.args,1,["length"]);return J.swma.call(Z.ta,X,a0(Q,Z),Y==null?void 0:X1(Q,Z,1))}if(U==="ta.cog"||U==="cog"){if(typeof J.cog!=="function")return m;return J.cog.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.tsi"||U==="tsi"){if(typeof J.tsi!=="function")return m;if(d1(Q.args).filter((G)=>G.name==null).length===2)return J.tsi.call(Z.ta,X,C0(Z.ctx.close),D1(Q,Z,1,["long","long_length"],25),D1(Q,Z,0,["short","short_length"],13));return J.tsi.call(Z.ta,X,a0(Q,Z),D1(Q,Z,2,["long","long_length"],25),D1(Q,Z,1,["short","short_length"],13))}if(U==="ta.kcw"||U==="kcw"){if(typeof J.kcw!=="function")return m;return J.kcw.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),X1(Q,Z,0),D1(Q,Z,1,["mult","multiplier"],2))}if(U==="ta.dev"||U==="dev"){if(typeof J.dev!=="function")return m;return J.dev.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.variance"||U==="variance"){if(typeof J.variance!=="function")return m;return J.variance.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.median"||U==="median"){if(typeof J.median!=="function")return m;return J.median.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.mode"||U==="mode"){if(typeof J.mode!=="function")return m;return J.mode.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.percentrank"||U==="percentrank"){if(typeof J.percentrank!=="function")return m;return J.percentrank.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if(U==="ta.percentile_nearest_rank"){if(typeof J.percentileNearest!=="function")return m;return J.percentileNearest.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1),D1(Q,Z,2,["percentage","percent"],50))}if(U==="ta.percentile_linear_interpolation"){if(typeof J.percentileLinear!=="function")return m;return J.percentileLinear.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1),D1(Q,Z,2,["percentage","percent"],50))}if(U==="ta.cum"||U==="cum"){if(typeof J.cum!=="function")return m;return J.cum.call(Z.ta,X,a0(Q,Z))}if(U==="ta.barssince"||U==="barssince"){if(typeof J.barssince!=="function")return m;return J.barssince.call(Z.ta,X,U0(p(v(Q.args,0,["condition","cond"]),Z)))}if(U==="ta.valuewhen"||U==="valuewhen"){if(typeof J.valuewhen!=="function")return m;return J.valuewhen.call(Z.ta,X,U0(p(v(Q.args,0,["condition","cond"]),Z)),U0(p(v(Q.args,1,["source"]),Z)),D1(Q,Z,2,["occurrence"],0))}if(U==="ta.range"){if(typeof J.range!=="function")return m;return J.range.call(Z.ta,X,a0(Q,Z),X1(Q,Z,1))}if((U==="ta.max"||U==="ta.min")&&typeof J.max==="function")return(U==="ta.max"?J.max:J.min).call(Z.ta,X,a0(Q,Z),X1(Q,Z,1));if(U==="ta.accdist"||U==="accdist"){if(typeof J.accdist!=="function")return m;return J.accdist.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),C0(Z.ctx.volume))}if(U==="ta.pvt"||U==="pvt"){if(typeof J.pvt!=="function")return m;return J.pvt.call(Z.ta,X,C0(Z.ctx.close),C0(Z.ctx.volume))}if(U==="ta.wad"||U==="wad"){if(typeof J.wad!=="function")return m;return J.wad.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close))}if(U==="ta.nvi"||U==="nvi"){if(typeof J.nvi!=="function")return m;return J.nvi.call(Z.ta,X,C0(Z.ctx.close),C0(Z.ctx.volume))}if(U==="ta.pvi"||U==="pvi"){if(typeof J.pvi!=="function")return m;return J.pvi.call(Z.ta,X,C0(Z.ctx.close),C0(Z.ctx.volume))}if(U==="ta.iii"||U==="iii"){if(typeof J.iii!=="function")return m;return J.iii.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),C0(Z.ctx.volume))}if(U==="ta.wvad"||U==="wvad"){if(typeof J.wvad!=="function")return m;return J.wvad.call(Z.ta,X,C0(Z.ctx.open),C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close),C0(Z.ctx.volume))}if(U==="ta.pivot_point_levels"){if(typeof J.pivotPoints!=="function")return m;let Y=J.pivotPoints.call(Z.ta,X,C0(Z.ctx.high),C0(Z.ctx.low),C0(Z.ctx.close));return x6([Y.pp,Y.r1,Y.s1,Y.r2,Y.s2])}return}function KF(U){let Q=C0(U.ctx.high),Z=C0(U.ctx.low),X=C0(U.ctx.close);if(Q==null||Z==null||X==null)return X??Q??Z;return(Q+Z+X)/3}function U1(U){if(U instanceof N1)return U;if(U&&typeof U==="object"&&"__array"in U){let Q=U.elts,Z=new N1;for(let X of Q)Z.push(U0(X));return Z}return null}function WF(U,Q,Z){if(U==="array.new_float"||U==="array.new"||U==="array.new_int"){let X=U0(p(v(Q.args,0,["size"]),Z))??0,J=U0(p(v(Q.args,1,["initial_value"]),Z));return new N1(X,J)}if(U==="array.push"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["value"]),Z));return X?.push(J),m}if(U==="array.get"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["index"]),Z));return X?X.get(J??0):m}if(U==="array.set"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["index"]),Z)),Y=U0(p(v(Q.args,2,["value"]),Z));if(X&&J!=null)X.set(J,Y);return m}if(U==="array.size"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.size():m}if(U==="array.pop"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.pop():m}if(U==="array.clear")return U1(p(v(Q.args,0,["id"]),Z))?.clear(),m;if(U==="array.unshift")return U1(p(v(Q.args,0,["id"]),Z))?.unshift(U0(p(v(Q.args,1,["value"]),Z))),m;if(U==="array.shift"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.shift():m}if(U==="array.includes")return U1(p(v(Q.args,0,["id"]),Z))?.includes(U0(p(v(Q.args,1,["value"]),Z)))?1:0;if(U==="array.first"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.first():m}if(U==="array.last"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.last():m}if(U==="array.insert"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["index"]),Z)),Y=U0(p(v(Q.args,2,["value"]),Z));if(X&&J!=null)X.insert(J,Y);return m}if(U==="array.remove"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["index"]),Z));return X&&J!=null?X.remove(J):m}if(U==="array.fill")return U1(p(v(Q.args,0,["id"]),Z))?.fill(U0(p(v(Q.args,1,["value"]),Z))),m;if(U==="array.slice"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["index_from","from"]),Z))??0,Y=v(Q.args,2,["index_to","to"]),G=Y==null?void 0:U0(p(Y,Z))??void 0;return X?X.slice(J,G):m}if(U==="array.copy"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.copy():m}if(U==="array.reverse")return U1(p(v(Q.args,0,["id"]),Z))?.reverse(),m;if(U==="array.sort"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=p(v(Q.args,1,["order"]),Z),Y=typeof J==="string"&&J.toLowerCase().includes("desc")?"desc":"asc";return X?.sort(Y),m}if(U==="array.indexof"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.indexof(U0(p(v(Q.args,1,["value"]),Z))):m}if(U==="array.avg"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.avg():m}if(U==="array.min"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.min():m}if(U==="array.max"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.max():m}if(U==="array.sum"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.sum():m}if(U==="array.join"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=T1(v(Q.args,1,["separator","sep"]),Z);return X?X.join(J??","):m}if(U==="array.new_bool"||U==="array.new_string"){let X=U0(p(v(Q.args,0,["size"]),Z))??0,J=U0(p(v(Q.args,1,["initial_value"]),Z));return new N1(X,J)}if(U==="array.from"){let X=new N1;for(let J of d1(Q.args))X.push(U0(p(J.value,Z)));return X}if(U==="array.lastindexof"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.lastIndexOf(U0(p(v(Q.args,1,["value"]),Z))):m}if(U==="array.concat"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U1(p(v(Q.args,1,["other","id2"]),Z));return X&&J?X.concat(J):m}if(U==="array.abs"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.abs():m}if(U==="array.every"){let X=U1(p(v(Q.args,0,["id"]),Z));return X&&X.every()?1:0}if(U==="array.some"){let X=U1(p(v(Q.args,0,["id"]),Z));return X&&X.some()?1:0}if(U==="array.median"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.median():m}if(U==="array.range"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.range():m}if(U==="array.mode"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.mode():m}if(U==="array.binary_search"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.binarySearch(U0(p(v(Q.args,1,["value"]),Z))):m}if(U==="array.binary_search_leftmost"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.binarySearchLeftmost(U0(p(v(Q.args,1,["value"]),Z))):m}if(U==="array.binary_search_rightmost"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.binarySearchRightmost(U0(p(v(Q.args,1,["value"]),Z))):m}if(U==="array.stdev"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=bZ(Q,Z);return X?X.stdev(J):m}if(U==="array.variance"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.variance(bZ(Q,Z)):m}if(U==="array.covariance"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U1(p(v(Q.args,1,["id2","other"]),Z));return X&&J?X.covariance(J,bZ(Q,Z,2)):m}if(U==="array.percentile_linear_interpolation"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["percentage","percent"]),Z));return X&&J!=null?X.percentileLinearInterpolation(J):m}if(U==="array.percentile_nearest_rank"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["percentage","percent"]),Z));return X&&J!=null?X.percentileNearestRank(J):m}if(U==="array.percentrank"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.percentrank(U0(p(v(Q.args,1,["value"]),Z))):m}if(U==="array.standardize"){let X=U1(p(v(Q.args,0,["id"]),Z));return X?X.standardize():m}if(U==="array.sort_indices"){let X=U1(p(v(Q.args,0,["id"]),Z)),J=p(v(Q.args,1,["order"]),Z),Y=typeof J==="string"&&J.toLowerCase().includes("desc")?"desc":"asc";if(!X)return m;let G=X.sortIndices(Y);if(G==null)return m;let L=new N1;for(let z of G)L.push(z);return L}return}function bZ(U,Q,Z=1){let X=U0(p(v(U.args,Z,["biased"]),Q));if(X==null)return!0;return X!==0}function $6(U){return U instanceof L6?U:null}function OF(U,Q,Z){if(U==="map.new"||U==="map.new<float,float>"||U==="map.new_string_float")return new L6;if(U==="map.put"){let X=$6(p(v(Q.args,0,["id"]),Z)),J=p(v(Q.args,1,["key"]),Z),Y=U0(p(v(Q.args,2,["value"]),Z));return X?.put(typeof J==="string"||typeof J==="number"?J:U0(J),Y),m}if(U==="map.get"){let X=$6(p(v(Q.args,0,["id"]),Z)),J=p(v(Q.args,1,["key"]),Z);return X?X.get(typeof J==="string"||typeof J==="number"?J:U0(J)):m}if(U==="map.contains"){let X=$6(p(v(Q.args,0,["id"]),Z)),J=p(v(Q.args,1,["key"]),Z);return X?.contains(typeof J==="string"||typeof J==="number"?J:U0(J))?1:0}if(U==="map.size"){let X=$6(p(v(Q.args,0,["id"]),Z));return X?X.size():m}if(U==="map.remove"){let X=$6(p(v(Q.args,0,["id"]),Z)),J=p(v(Q.args,1,["key"]),Z);return X?X.remove(typeof J==="string"||typeof J==="number"?J:U0(J)):m}if(U==="map.clear")return $6(p(v(Q.args,0,["id"]),Z))?.clear(),m;if(U==="map.put_all"){let X=$6(p(v(Q.args,0,["id"]),Z)),J=$6(p(v(Q.args,1,["id2","other"]),Z));if(X&&J)X.putAll(J);return m}if(U==="map.keys"){let X=$6(p(v(Q.args,0,["id"]),Z));if(!X)return m;let J=new N1;for(let Y of X.keys())J.push(typeof Y==="number"?Y:null);return J}if(U==="map.values"){let X=$6(p(v(Q.args,0,["id"]),Z));if(!X)return m;let J=new N1;for(let Y of X.values())J.push(Y);return J}if(U==="map.copy"){let X=$6(p(v(Q.args,0,["id"]),Z));return X?X.copy():m}return}function LF(U){if(U==null||!U.startsWith("matrix."))return null;let Q=U.indexOf("<");return Q>=0?U.slice(0,Q):U}function i0(U){return U instanceof k1?U:null}function VF(U){return U==="matrix.new"||U.startsWith("matrix.new_")}function DF(U,Q,Z){let X=LF(U);if(X==null)return;if(VF(X)){let J=U0(p(v(Q.args,0,["rows"]),Z))??0,Y=U0(p(v(Q.args,1,["columns","cols"]),Z))??0,G=v(Q.args,2,["initial_value","initial"]),L=G==null?void 0:U0(p(G,Z));return new k1(J,Y,L)}if(X==="matrix.get"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["row"]),Z)),G=U0(p(v(Q.args,2,["column","col"]),Z));return J?J.get(Y??0,G??0):m}if(X==="matrix.set"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["row"]),Z)),G=U0(p(v(Q.args,2,["column","col"]),Z)),L=U0(p(v(Q.args,3,["value"]),Z));if(J&&Y!=null&&G!=null)J.set(Y,G,L);return m}if(X==="matrix.rows"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.rows():m}if(X==="matrix.columns"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.columns():m}if(X==="matrix.fill"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["value"]),Z));return J?.fill(Y),m}if(X==="matrix.transpose"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.transpose():m}if(X==="matrix.copy"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.copy():m}if(X==="matrix.elements_count"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.elementsCount():m}if(X==="matrix.is_square"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isSquare()?1:0}if(X==="matrix.sum"||X==="matrix.sum_all"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.sum():m}if(X==="matrix.avg"||X==="matrix.avg_all"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.avg():m}if(X==="matrix.min"||X==="matrix.min_all"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.min():m}if(X==="matrix.max"||X==="matrix.max_all"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.max():m}if(X==="matrix.trace"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.trace():m}if(X==="matrix.det"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.det():m}if(X==="matrix.row"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["row","index"]),Z));if(!J||Y==null)return m;let G=new N1;for(let L of J.row(Y))G.push(L);return G}if(X==="matrix.col"||X==="matrix.column"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["column","col","index"]),Z));if(!J||Y==null)return m;let G=new N1;for(let L of J.col(Y))G.push(L);return G}if(X==="matrix.mult"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=p(v(Q.args,1,["other","matrix_2"]),Z);if(!J)return m;let G=i0(Y);return G?J.mult(G):J.mult(U0(Y)??0)}if(X==="matrix.inv"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.inv():m}if(X==="matrix.pinv"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.pinv():m}if(X==="matrix.eigenvalues"){let Y=i0(p(v(Q.args,0,["id"]),Z))?.eigenvalues();if(Y==null)return m;let G=new N1;for(let L of Y)G.push(L);return G}if(X==="matrix.eigenvectors"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.eigenvectors():m}if(X==="matrix.pow"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["power","n"]),Z));return J&&Y!=null?J.pow(Y):m}if(X==="matrix.kron"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=i0(p(v(Q.args,1,["other"]),Z));return J&&Y?J.kron(Y):m}if(X==="matrix.diff"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=i0(p(v(Q.args,1,["other"]),Z));return J&&Y?J.diff(Y):m}if(X==="matrix.rank"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.rank():m}if(X==="matrix.swap_rows"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["row1","i"]),Z)),G=U0(p(v(Q.args,2,["row2","j"]),Z));if(J&&Y!=null&&G!=null)J.swapRows(Y,G);return m}if(X==="matrix.swap_columns"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["column1","i"]),Z)),G=U0(p(v(Q.args,2,["column2","j"]),Z));if(J&&Y!=null&&G!=null)J.swapColumns(Y,G);return m}if(X==="matrix.is_zero"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isZero()?1:0}if(X==="matrix.is_identity"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isIdentity()?1:0}if(X==="matrix.is_diagonal"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isDiagonal()?1:0}if(X==="matrix.is_symmetric"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isSymmetric()?1:0}if(X==="matrix.is_antisymmetric"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isAntisymmetric()?1:0}if(X==="matrix.is_triangular"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isTriangular()?1:0}if(X==="matrix.add_row"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["row","index"]),Z)),G=U1(p(v(Q.args,2,["array"]),Z));return J?.addRow(Y??void 0,G?.toValues()),m}if(X==="matrix.add_col"||X==="matrix.add_column"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["column","index"]),Z)),G=U1(p(v(Q.args,2,["array"]),Z));return J?.addCol(Y??void 0,G?.toValues()),m}if(X==="matrix.remove_row"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["row","index"]),Z));if(J&&Y!=null)J.removeRow(Y);return m}if(X==="matrix.remove_col"||X==="matrix.remove_column"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["column","index"]),Z));if(J&&Y!=null)J.removeCol(Y);return m}if(X==="matrix.reshape"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["rows"]),Z)),G=U0(p(v(Q.args,2,["columns","cols"]),Z));return J&&Y!=null&&G!=null?J.reshape(Y,G):m}if(X==="matrix.concat"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=i0(p(v(Q.args,1,["other"]),Z));return J&&Y?J.concat(Y):m}if(X==="matrix.submatrix"){let J=i0(p(v(Q.args,0,["id"]),Z));if(!J)return m;return J.submatrix(U0(p(v(Q.args,1,["from_row"]),Z))??0,U0(p(v(Q.args,2,["to_row"]),Z))??J.rows(),U0(p(v(Q.args,3,["from_column","from_col"]),Z))??0,U0(p(v(Q.args,4,["to_column","to_col"]),Z))??J.columns())}if(X==="matrix.reverse")return i0(p(v(Q.args,0,["id"]),Z))?.reverse(),m;if(X==="matrix.sort"){let J=i0(p(v(Q.args,0,["id"]),Z)),Y=U0(p(v(Q.args,1,["column","col"]),Z))??0,G=p(v(Q.args,2,["order"]),Z),L=typeof G==="string"&&G.toLowerCase().includes("desc")?"desc":"asc";return J?.sort(Y,L),m}if(X==="matrix.median"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.median():m}if(X==="matrix.mode"){let J=i0(p(v(Q.args,0,["id"]),Z));return J?J.mode():m}if(X==="matrix.is_binary"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isBinary()?1:0}if(X==="matrix.is_stochastic"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isStochastic()?1:0}if(X==="matrix.is_antidiagonal"){let J=i0(p(v(Q.args,0,["id"]),Z));return J&&J.isAntidiagonal()?1:0}return}function HF(U,Q,Z){if(U==="line.new")return Z.drawings.lineNew(Z.barIndex);if(U==="label.new"){let X=T1(v(Q.args,2,["text"]),Z);return Z.drawings.labelNew(Z.barIndex,X??void 0)}if(U==="box.new")return Z.drawings.boxNew(Z.barIndex);if(U==="alert"){let X=FF(v(Q.args,0,["message"]),Z);return Z.drawings.alert(Z.barIndex,X),m}if(U==="table.new")return Z.drawings.tableNew(Z.barIndex);if(U==="polyline.new")return Z.drawings.polylineNew(Z.barIndex);if(U==="linefill.new"){let X=U0(p(v(Q.args,0,["id1"]),Z)),J=U0(p(v(Q.args,1,["id2"]),Z));return Z.drawings.linefillNew(Z.barIndex,X==null?void 0:X,J==null?void 0:J)}if(U==="line.set_xy"){let X=U0(p(v(Q.args,0,["id"]),Z));if(X!=null)Z.drawings.lineSetXy(X,U0(p(v(Q.args,1,["x1"]),Z))??0,U0(p(v(Q.args,2,["y1"]),Z))??0,U0(p(v(Q.args,3,["x2"]),Z))??0,U0(p(v(Q.args,4,["y2"]),Z))??0);return m}if(U==="label.set_text"){let X=U0(p(v(Q.args,0,["id"]),Z));if(X!=null)Z.drawings.labelSetText(X,T1(v(Q.args,1,["text"]),Z)??"");return m}if(U==="line.delete"||U==="label.delete"||U==="box.delete"){let X=U0(p(v(Q.args,0,["id"]),Z));if(X!=null)if(U==="line.delete")Z.drawings.lineDelete(X);else if(U==="label.delete")Z.drawings.labelDelete(X);else Z.drawings.boxDelete(X);return m}if(U==="line.set_color"){let X=U0(p(v(Q.args,0,["id"]),Z));if(X!=null)Z.drawings.lineSetColor(X,T1(v(Q.args,1,["color"]),Z)??"");return m}if(U==="line.get_price"){let X=U0(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["x"]),Z));return X!=null&&J!=null?Z.drawings.lineGetPrice(X,J):m}if(U==="line.get_x1"){let X=U0(p(v(Q.args,0,["id"]),Z));return X!=null?Z.drawings.getX1(X):m}if(U==="line.get_y1"){let X=U0(p(v(Q.args,0,["id"]),Z));return X!=null?Z.drawings.getY1(X):m}if(U==="line.get_x2"){let X=U0(p(v(Q.args,0,["id"]),Z));return X!=null?Z.drawings.getX2(X):m}if(U==="line.get_y2"){let X=U0(p(v(Q.args,0,["id"]),Z));return X!=null?Z.drawings.getY2(X):m}if(U==="label.get_text"){let X=U0(p(v(Q.args,0,["id"]),Z));return X!=null?Z.drawings.labelGetText(X):m}if(U==="label.set_xy"){let X=U0(p(v(Q.args,0,["id"]),Z));if(X!=null)Z.drawings.labelSetXy(X,U0(p(v(Q.args,1,["x"]),Z))??0,U0(p(v(Q.args,2,["y"]),Z))??0);return m}if(U==="box.set_lefttop"||U==="box.set_corners"){let X=U0(p(v(Q.args,0,["id"]),Z));if(X!=null)Z.drawings.boxSetCorners(X,U0(p(v(Q.args,1,["left","x1"]),Z))??0,U0(p(v(Q.args,2,["top","y1"]),Z))??0,U0(p(v(Q.args,3,["right","x2"]),Z))??0,U0(p(v(Q.args,4,["bottom","y2"]),Z))??0);return m}if(U==="label.set_color"){let X=U0(p(v(Q.args,0,["id"]),Z));if(X!=null)Z.drawings.labelSetColor(X,T1(v(Q.args,1,["color"]),Z)??"");return m}if(U==="table.cell"){let X=U0(p(v(Q.args,0,["id"]),Z)),J=U0(p(v(Q.args,1,["column"]),Z)),Y=U0(p(v(Q.args,2,["row"]),Z)),G=T1(v(Q.args,3,["text"]),Z)??void 0;if(X!=null&&J!=null&&Y!=null)Z.drawings.tableCell(X,J,Y,G);return m}return}function FF(U,Q){if(U==null)return"";let Z=p(U,Q);if(typeof Z==="string")return Z;let X=U0(Z);return X==null?"":String(X)}function RF(U,Q,Z){if(U==="color.r"||U==="color.g"||U==="color.b"||U==="color.t"){let X=p(v(Q.args,0,["color"]),Z),J=typeof X==="string"?X:X&&typeof X==="object"&&("r"in X)?X:null;if(U==="color.r")return F8(J);if(U==="color.g")return R8(J);if(U==="color.b")return z8(J);return S8(J)}if(U==="color.rgb")return D8(U0(p(v(Q.args,0,["red","r"]),Z)),U0(p(v(Q.args,1,["green","g"]),Z)),U0(p(v(Q.args,2,["blue","b"]),Z)),U0(p(v(Q.args,3,["transp","t"]),Z))??void 0);if(U==="color.from_gradient"){let X=p(v(Q.args,3,["color1"]),Z),J=p(v(Q.args,4,["color2"]),Z),Y=(G)=>{if(G&&typeof G==="object"&&"r"in G&&"g"in G)return G;if(typeof G==="string")return QQ(G);return null};return H8(U0(p(v(Q.args,0,["value"]),Z)),U0(p(v(Q.args,1,["bottom_value","bottom"]),Z)),U0(p(v(Q.args,2,["top_value","top"]),Z)),Y(X)??{r:0,g:0,b:0,a:255},Y(J)??{r:255,g:255,b:255,a:255})}if(U==="color.new"||U==="color"){let X=p(v(Q.args,0,["color"]),Z),J=h6(X);if(!J)return m;let Y=U0(p(v(Q.args,1,["transp"]),Z));return P7(J.r,J.g,J.b,Y??void 0)}return}function zF(U,Q,Z){if(U==="str.tostring"||U==="str.tostring"){let X=p(v(Q.args,0,["value","source"]),Z);if(typeof X==="string")return X;let J=U0(X);return h4(J)}if(U==="str.length"){let X=p(v(Q.args,0,["string","source"]),Z);return y7(typeof X==="string"?X:null)}if(U==="str.contains"){let X=p(v(Q.args,0,["source"]),Z),J=p(v(Q.args,1,["str"]),Z),Y=x7(typeof X==="string"?X:null,typeof J==="string"?J:null);return Y==null?m:Y?1:0}if(U==="str.upper"){let X=p(v(Q.args,0,["source"]),Z);return g7(typeof X==="string"?X:null)}if(U==="str.lower"){let X=p(v(Q.args,0,["source"]),Z);return f7(typeof X==="string"?X:null)}if(U==="str.replace"){let X=p(v(Q.args,0,["source"]),Z),J=p(v(Q.args,1,["target"]),Z),Y=p(v(Q.args,2,["replacement"]),Z),G=U0(p(v(Q.args,3,["occurrence"]),Z));return p7(typeof X==="string"?X:null,typeof J==="string"?J:null,typeof Y==="string"?Y:null,G)}if(U==="str.replace_all"){let X=p(v(Q.args,0,["source"]),Z),J=p(v(Q.args,1,["target"]),Z),Y=p(v(Q.args,2,["replacement"]),Z);return gG(typeof X==="string"?X:null,typeof J==="string"?J:null,typeof Y==="string"?Y:null)}if(U==="str.startswith"){let X=v7(T1(v(Q.args,0,["source"]),Z),T1(v(Q.args,1,["str"]),Z));return X==null?m:X?1:0}if(U==="str.endswith"){let X=h7(T1(v(Q.args,0,["source"]),Z),T1(v(Q.args,1,["str"]),Z));return X==null?m:X?1:0}if(U==="str.substring"){let X=v(Q.args,2,["end_pos","end"]);return c7(T1(v(Q.args,0,["source"]),Z),U0(p(v(Q.args,1,["begin_pos","begin"]),Z)),X==null?void 0:U0(p(X,Z)))}if(U==="str.repeat")return BG(T1(v(Q.args,0,["source"]),Z),U0(p(v(Q.args,1,["n","times"]),Z)));if(U==="str.trim")return u7(T1(v(Q.args,0,["source"]),Z));if(U==="str.split"){let X=NG(T1(v(Q.args,0,["source"]),Z),T1(v(Q.args,1,["separator","sep"]),Z));return X==null?m:x6(X)}if(U==="str.tonumber"||U==="tonumber")return b7(T1(v(Q.args,0,["source","string"]),Z));if(U==="tostring"){let X=p(v(Q.args,0,["value","source"]),Z);return typeof X==="string"?X:h4(U0(X))}if(U==="str.pos")return wG(T1(v(Q.args,0,["source"]),Z),T1(v(Q.args,1,["str","substr"]),Z));if(U==="str.match")return yG(T1(v(Q.args,0,["source"]),Z),T1(v(Q.args,1,["regex","pattern"]),Z));if(U==="str.format_time")return l7(U0(p(v(Q.args,0,["time","timestamp"]),Z))??p(v(Q.args,0,["time","timestamp"]),Z),T1(v(Q.args,1,["format"]),Z),T1(v(Q.args,2,["timezone"]),Z));if(U==="str.format"){let X=T1(v(Q.args,0,["formatString","format"]),Z),J=d1(Q.args).slice(1).map((Y)=>{let G=p(Y.value,Z);return typeof G==="string"?G:U0(G)});return d7(X,...J)}if(U==="str.join"){let X=p(v(Q.args,0,["array","parts"]),Z),J=T1(v(Q.args,1,["separator","sep"]),Z),Y=QX(X)?X.elts.map((G)=>typeof G==="string"?G:G==null?null:String(U0(G))):null;return Y?xG(Y,J):m}return}function lZ(U){if(U==null)return[];return Array.isArray(U)?U:[U]}function V5(U){if(U==null)return[];return Array.isArray(U)?U:[U]}function SF(U,Q){if(Q.barIndex!==0)return;let Z={__udf:!0,params:lZ(U.args),body:V5(U.body)};if(Q.udfs.set(U.name,Z),U.export)Q.pendingExports.set(U.name,Z);if(U.method){let X=lZ(U.args)[0],J=EF(X?.type??null),Y=J!=null?a4(Q,J):void 0;if(Y instanceof l2)Y.addMethod(U.name,{name:U.name,params:lZ(U.args).map((G)=>({name:G.name})),body:Z,exported:Boolean(U.export)})}}function MF(U,Q){if(Q.barIndex!==0)return;let Z=[];for(let J of V5(U.body)){if(J.kind!=="Assign")continue;let Y=J;if(Y.target.kind!=="Name")continue;Z.push({name:Y.target.id,default:Y.value==null?null:p(Y.value,Q)})}let X=iJ(U.name,Z);if(n2(Q,U.name,X),U.export)Q.pendingExports.set(U.name,X)}function qF(U,Q){if(Q.barIndex!==0)return;let Z=[];for(let J of V5(U.body))if(J.kind==="Assign"){let Y=J.target;if(Y.kind==="Name")Z.push(Y.id)}else if(J.kind==="Expr"&&J.value?.kind==="Name")Z.push(J.value.id);let X=aJ(U.name,Z);if(n2(Q,U.name,X),U.export)Q.pendingExports.set(U.name,X)}function CF(U,Q){let Z=U.udfSites.get(Q);if(!Z)Z={ctx:{},series:new Map,varInited:new Set},U.udfSites.set(Q,Z);for(let X of Z.varInited){let J=Z.series.get(X);if(J==null)continue;while(J.length<U.barIndex)J.push(J.current);if(J.length===U.barIndex)J.push(J.current);Z.ctx[X]=J.current}U.frames.push(Z)}function EF(U){if(U==null)return null;if(U.kind==="Name")return U.id;if(U.kind==="Attribute")return U.attr;return null}function iZ(U,Q,Z,X){let J=d1(Q.args),Y=new Set;CF(Z,UX(Q,Z));try{let G=0;if(X!==void 0){let z=U.params[G++];if(z)n2(Z,z.name,X),Y.add(z.name)}for(let z of J){if(c2(z)!=null)continue;let D=U.params[G++];if(D)n2(Z,D.name,p(z.value,Z)),Y.add(D.name)}for(let z of J){let D=c2(z);if(D==null)continue;if(U.params.some((S)=>S.name===D))n2(Z,D,p(L5(z),Z)),Y.add(D)}for(let z of U.params)if(!Y.has(z.name)&&z.default!=null)n2(Z,z.name,p(z.default,Z));let L=m;for(let z of U.body){let D=n6(z,Z);if(z.kind==="Expr"||z.kind==="Assign"||z.kind==="ReAssign")L=D}return L}finally{Z.frames.pop()}}function B9(U){return typeof U==="object"&&U!==null&&U.__udf===!0}function PF(U,Q,Z){if(U==="timestamp"){let J=d1(Q.args).map((Y)=>{let G=p(Y.value,Z);return typeof G==="string"?G:U0(G)});return A7(...J)}let X=U==="year"||U==="month"||U==="dayofmonth"||U==="dayofweek"||U==="hour"||U==="minute"||U==="second"?U:null;if(X!=null){let J=dZ(Q,Z);if(J==null)return m;return Y4(J)[X]}if(U==="weekofyear"){let J=dZ(Q,Z);return J==null?m:j7(J)}if(U==="time_tradingday"){let J=dZ(Q,Z);return J==null?m:B7(J)}return}function dZ(U,Q){let Z=v(U.args,0,["time","timestamp"]);if(Z==null)return C0(Q.ctx.time);return U0(p(Z,Q))}function kF(U,Q,Z,X){let J=U.get(Q);if(J===void 0){let Y=u6[Q];if(Y)return pY(Y,Z,X);return m}if(B9(J))return iZ(J,Z,X);if(typeof J==="function")return pY(J,Z,X);return J}function pY(U,Q,Z){let X=[],J={};for(let G of d1(Q.args)){let L=c2(G),z=p(G.value,Z),D=typeof z==="string"?z:U0(z);if(L)J[L]=D;else X.push(D)}let Y=Object.keys(J).length>0?U(X,J):U(...X);if(Y==null)return m;if(typeof Y==="number"&&Number.isFinite(Y))return Y;if(typeof Y==="string")return Y;if(Array.isArray(Y)&&Y.every((G)=>typeof G==="number"&&Number.isFinite(G)))return x6(Y.map((G)=>G));return m}function _F(U,Q){if(Q.barIndex!==0)return;let Z=U.alias||U.name,X=Q.libraries.lookup({namespace:U.namespace,name:U.name,version:U.version});if(X==null){let J=Q.libraries.getSource(U.namespace,U.name,U.version);if(J!=null){if(AF(Q,J,U.name),X=Q.libraries.lookup({namespace:U.namespace,name:U.name,version:U.version}),X==null){if(X=Q.libraries.lookup({name:U.name}),X!=null)X.namespace=U.namespace,X.version=U.version,Q.libraries.register(X)}}}if(X==null){let J=xQ(U.name);J.namespace=U.namespace,J.version=U.version,n2(Q,Z,J);return}if(X.namespace==null)X.namespace=U.namespace;if(X.version==null)X.version=U.version;n2(Q,Z,X)}function AF(U,Q,Z){let X;try{X=X4(Q)}catch{return}if(X.kind!=="Script")return;let J=X,Y=new Map(U.pendingExports);U.pendingExports.clear();let G=null;for(let z of J.body){let D=dY(z);if(D){if(D.kind==="library"&&D.name)G=D.name;continue}let S=z.kind;if(S==="FunctionDef"||S==="TypeDef"||S==="EnumDef"||S==="Import"||S==="Assign")n6(z,U)}let L=G??Z;if(L)mY(U,L);U.pendingExports=Y}function mY(U,Q){let X=U.libraries.lookup({name:Q})??new T4(Q);for(let[J,Y]of U.pendingExports)if(B9(Y))X.exportFn(J,Y);else if(Y instanceof l2)Y.isExported=!0,X.exportType(J,Y);else if(Y instanceof x4)X.exportEnum(J,Y);else X.setExport(J,Y);U.libraries.register(X),U.pendingExports.clear()}class D5 extends Error{status;constructor(U,Q){super(U);this.name="ProviderError",this.status=Q}}class rY{bars;constructor(U){this.bars=U}async fetch(U){let Q=U.limit;if(Q==null||Q>=this.bars.length)return this.bars.slice();return this.bars.slice(-Q)}}class nY{feeds;constructor(U){this.feeds=U}async fetch(U){let Q=U.timeframe,Z=Q!=null&&Q!==""?`${U.symbol}:${Q}`:void 0,X=(Z!==void 0?this.feeds[Z]:void 0)??this.feeds[U.symbol]??[];return tY(X,U.limit)}}class sY{url;fetchImpl;mapFn;headers;fetchBars;constructor(U){this.url=U.url,this.fetchImpl=U.fetch??globalThis.fetch.bind(globalThis),this.mapFn=U.map??iY,this.headers=U.headers,this.fetchBars=U.fetchBars}async fetch(U){let Q=this.fetchBars?await this.fetchBars(U):await this.getJson(U);return tY(this.mapFn(Q),U.limit)}async getJson(U){if(this.url==null)throw new D5("JsonBarProvider requires `url` or `fetchBars`");let Q=this.url(U),Z=await this.fetchImpl(Q,{method:"GET",headers:this.headers});if(!Z.ok)throw new D5(`HTTP ${Z.status}${Z.statusText?` ${Z.statusText}`:""}`.trim(),Z.status);try{return await Z.json()}catch(X){let J=X instanceof Error?X.message:String(X);throw new D5(`invalid JSON: ${J}`,Z.status)}}}var jF=["open","high","low","close","volume","time"];function iY(U){let Q=BF(U);if(Q==null)return[];let Z=[];for(let X of Q){let J=NF(X);if(J!=null)Z.push(J)}return Z}function BF(U){if(Array.isArray(U))return U;if(U!=null&&typeof U==="object"){let Q=U;if(Array.isArray(Q.bars))return Q.bars;if(Array.isArray(Q.data))return Q.data}return null}function NF(U){if(U==null||typeof U!=="object")return null;if(Array.isArray(U))return wF(U);let Q=U,Z={};return t2(Z,"time",Q.time??Q.t),t2(Z,"open",Q.open??Q.o),t2(Z,"high",Q.high??Q.h),t2(Z,"low",Q.low??Q.l),t2(Z,"close",Q.close??Q.c),t2(Z,"volume",Q.volume??Q.v),aY(Z)?Z:null}function wF(U){if(U.length<5)return null;let Q={};if(t2(Q,"time",U[0]),t2(Q,"open",U[1]),t2(Q,"high",U[2]),t2(Q,"low",U[3]),t2(Q,"close",U[4]),U.length>5)t2(Q,"volume",U[5]);return aY(Q)?Q:null}function t2(U,Q,Z){let X=xF(Z);if(X===void 0)return;U[Q]=Q==="time"?yF(X):X}function yF(U){return U<1000000000000?U*1000:U}function xF(U){return typeof U==="number"&&Number.isFinite(U)?U:void 0}function aY(U){return jF.some((Q)=>U[Q]!==void 0)}function tY(U,Q){if(Q==null||Q>=U.length)return U.slice();return U.slice(-Q)}export{j7 as weekOfYear,Y4 as utcPartsFromMs,hJ as unparse,_Y as transpile,pT as tokenize,BQ as timestampFromComponents,A7 as timestamp,B7 as timeTradingDay,zQ as tickerStandard,SQ as tickerRenko,CQ as tickerPointfigure,FQ as tickerNew,EQ as tickerModify,qQ as tickerLinebreak,MQ as tickerKagi,RQ as tickerHeikinashi,HQ as runtimeError,wY as runScript,NQ as parseTimestampString,X4 as parse,iY as mapJsonBars,j9 as interpretTree,zH as interpret,B3 as dump,xQ as createStubModule,yY as compileToResult,s4 as compileScript,n4 as compileEligible,jY as compileCacheStats,AY as clearCompileCache,HK as applyStubExport,l2 as UdtType,G6 as UdtInstance,u1 as TickerId,c4 as TaEngine,nY as StaticMapProvider,u6 as STUB_KNOWN_EXPORTS,tZ as RuntimeStream,DQ as RuntimeError,aZ as Runtime,D5 as ProviderError,q7 as PinescriptSyntaxError,v4 as PineSeries,k1 as PineMatrix,L6 as PineMap,N1 as PineArray,m as NA,rY as MemoryProvider,f4 as LogBook,w7 as LibraryRegistry,T4 as LibraryModule,sY as JsonBarProvider,x4 as EnumType,c6 as EnumMember,g4 as DrawingBook,u4 as CompileLoadError,r7 as CompileIneligibleError,k6 as CompileError,K4 as CompileEmitError};
|