recheck
Version:
The trustworthy ReDoS checker
7 lines • 2.9 MB
JavaScript
"use strict";var hF=Object.create;var Ul=Object.defineProperty;var lF=Object.getOwnPropertyDescriptor;var _F=Object.getOwnPropertyNames;var vF=Object.getPrototypeOf,pF=Object.prototype.hasOwnProperty;var bF=(n,t)=>{for(var a in t)Ul(n,a,{get:t[a],enumerable:!0})},mA=(n,t,a,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of _F(t))!pF.call(n,s)&&s!==a&&Ul(n,s,{get:()=>t[s],enumerable:!(i=lF(t,s))||i.enumerable});return n};var dF=(n,t,a)=>(a=n!=null?hF(vF(n)):{},mA(t||!n||!n.__esModule?Ul(a,"default",{value:n,enumerable:!0}):a,n)),yF=n=>mA(Ul({},"__esModule",{value:!0}),n);var kln={};bF(kln,{__mock__:()=>Di,check:()=>dln,checkSync:()=>yln});module.exports=yF(kln);var qA=require("worker_threads");function ew(n){return n}var Ps={createObjectURL(n){return String(n)},revokeObjectURL(n){}};function tw(n){let t=new qA.Worker(n,{eval:!0});return{addEventListener(a,i){t.on("message",s=>i({data:s}))},postMessage(a){t.postMessage(a)},terminate(){t.terminate()},ref(){t.ref()},unref(){t.unref()}}}var rB=require("synckit");var LA=require("child_process"),Hy=class{constructor(t){this.child=t,this.nextID=0,this.refs=new Map,this.handle()}request(t,a,i=null){let s=this.nextID++,w=new Promise((u,c)=>{let f=JSON.stringify({jsonrpc:"2.0+push",id:s,method:t,params:a})+`
`;this.child.stdin.write(f),this.registerRef(s,{resolve:u,reject:c,subscribe:i})});return{id:s,promise:w}}notify(t,a){return new Promise(i=>{let w=JSON.stringify({jsonrpc:"2.0+push",method:t,params:a})+`
`;this.child.stdin.write(w),i()})}handle(){let t="",a=i=>{if(i==="")return;let{id:s,message:w,result:u}=JSON.parse(i),c=this.refs.get(s)??null;if(c!==null){if(w!=null){c.subscribe?.(w);return}u!==void 0&&(c.resolve(u),this.unregisterRef(s))}};this.child.stdout.on("data",i=>{let w=i.toString("utf-8").split(`
`),u=w.length>1,c=w.pop()??"",o=w.shift()??"";u&&(w.unshift(t+o),t="");for(let f of w)a(f);t+=c})}registerRef(t,a){this.refs.set(t,a),this.refs.size===1&&this.child.ref()}unregisterRef(t){this.refs.delete(t),this.refs.size===0&&this.child.unref()}kill(){this.child.unref(),this.child.kill()}};async function Rl(n,t=[],a=["pipe","pipe","inherit"]){return await new Promise((i,s)=>{let w=(0,LA.spawn)(n,t,{windowsHide:!0,stdio:a}),u=()=>s(new Error("process is closed"));w.on("error",s),w.on("close",u),w.unref(),w.stdin?.unref&&w.stdin.unref(),w.stdout?.unref&&w.stdout.unref();let c=new Hy(w);c.request("ping",{}).promise.then(()=>{w.off("error",s),w.off("close",u),i(c)}).catch(s)})}async function SA(n,t,a,i={}){let s={...i},w=s.signal??null;w&&delete s.signal;let u=s.logger??null;u&&(s.logger={});let{id:c,promise:o}=n.request("check",{source:t,flags:a,params:s},u);return w?.aborted?n.notify("cancel",{id:c}):w?.addEventListener("abort",()=>{n.notify("cancel",{id:c})}),await o}var DA=()=>process.env.RECHECK_BACKEND||"auto",AA=()=>process.env.RECHECK_SYNC_BACKEND||"synckit",IA=()=>process.env.RECHECK_BIN||null,CA=()=>process.env.RECHECK_JAR||null;var jA=require,OA=()=>{let n=CA();if(n!==null)return n;try{return jA.resolve("recheck-jar/package.json").replace(/\/package\.json$/,"/recheck.jar")}catch(t){if(t&&t.code=="MODULE_NOT_FOUND")return null;throw t}},kF={darwin:"macos",linux:"linux",win32:"windows"},gF={x64:"x64",arm64:"arm64"},EA=()=>{let n=IA();if(n!==null)return n;let t=kF[process.platform],a=gF[process.arch],i=t==="windows";if(!t||!a)return null;try{let s=i?"recheck.exe":"recheck",w=`recheck-${t}-${a}/package.json`;return jA.resolve(w).replace(/\/package\.json$/,`/${s}`)}catch(s){if(s&&s.code=="MODULE_NOT_FOUND")return null;throw s}};async function Ny(){let n=OA();return n===null?null:await Rl("java",["-jar",n,"agent"])}async function Gy(){let n=EA();return n===null?null:await Rl(n,["agent"])}var r;var LF=Object.getOwnPropertyDescriptors||(()=>{var n;if(typeof Reflect<"u"&&Reflect.ownKeys)n=Reflect.ownKeys;else{var t=Object.getOwnPropertySymbols||(a=>[]);n=a=>Object.getOwnPropertyNames(a).concat(t(a))}return a=>{for(var i=n(a),s={},w=i.length|0,u=0;u!==w;){var c=i[u];Object.defineProperty(s,c,{configurable:!0,enumerable:!0,writable:!0,value:Object.getOwnPropertyDescriptor(a,c)}),u=u+1|0}return s}})(),cr;function j1(n){this.c=n}r=j1.prototype;r.toString=function(){return String.fromCharCode(this.c)};function SF(n){return Object.create(Object.getPrototypeOf(n),LF(n))}function dr(n){switch(typeof n){case"string":return _L.l();case"number":return Bu(n)?n<<24>>24===n?_wn.l():n<<16>>16===n?vwn.l():Non.l():s4(n)?Hon.l():Ton.l();case"boolean":return yin.l();case"undefined":return w0.l();default:return n instanceof S?Uon.l():n instanceof j1?min.l():n&&n.$classData?n.$classData.l():null}}function f6(n){switch(typeof n){case"string":return"java.lang.String";case"number":return Bu(n)?n<<24>>24===n?"java.lang.Byte":n<<16>>16===n?"java.lang.Short":"java.lang.Integer":s4(n)?"java.lang.Float":"java.lang.Double";case"boolean":return"java.lang.Boolean";case"undefined":return"java.lang.Void";default:return n instanceof S?"java.lang.Long":n instanceof j1?"java.lang.Character":n&&n.$classData?n.$classData.N:null.Z1()}}function oI(n,t){switch(typeof n){case"string":return zon(n,t);case"number":return Fon(n,t);case"boolean":return din(n,t);default:return n instanceof S?Jon(n,t):n instanceof j1?gin(Zt(n),t):n.jW(t)}}function Z1(n,t){switch(typeof n){case"string":return Kon(n,t);case"number":return Bon(n,t);case"boolean":return pin(n,t);case"undefined":return Vz(n,t);default:return n&&n.$classData||n===null?n.m(t):n instanceof S?Gon(n,t):n instanceof j1?kin(Zt(n),t):Gc.prototype.m.call(n,t)}}function no(n){switch(typeof n){case"string":return ce(n);case"number":return VO(n);case"boolean":return bin(n);case"undefined":return Jz(n);default:return n&&n.$classData||n===null?n.w():n instanceof S?Von(n):n instanceof j1?Zt(n):Gc.prototype.w.call(n)}}function DF(n,t,a){return typeof n=="string"?Zon(n,t,a):n.Iu(t,a)}function fI(n){return n===void 0?"undefined":n.toString()}function a0(n,t){if(t===0)throw new b1("/ by zero");return n/t|0}function Qw(n,t){if(t===0)throw new b1("/ by zero");return n%t|0}function di(n){return n>2147483647?2147483647:n<-2147483648?-2147483648:n|0}function ni(n){return String.fromCharCode(n)}function X6(n,t,a,i,s){if(n!==a||i<t||(t+s|0)<i)for(var w=0;w<s;w=w+1|0)a[i+w|0]=n[t+w|0];else for(var w=s-1|0;w>=0;w=w-1|0)a[i+w|0]=n[t+w|0]}var BA=0,FA=new WeakMap;function Z6(n){switch(typeof n){case"string":return ce(n);case"number":return VO(n);case"bigint":{var t=0;for(n<BigInt(0)&&(n=~n);n!==BigInt(0);)t=t^Number(BigInt.asIntN(32,n)),n=n>>BigInt(32);return t}case"boolean":return n?1231:1237;case"undefined":return 0;case"symbol":{var a=n.description;return a===void 0?0:ce(a)}default:{if(n===null)return 0;var i=FA.get(n);return i===void 0&&(i=BA+1|0,BA=i,FA.set(n,i)),i}}}function bL(n){return typeof n=="number"&&n<<24>>24===n&&1/n!==-1/0}function dL(n){return typeof n=="number"&&n<<16>>16===n&&1/n!==-1/0}function Bu(n){return typeof n=="number"&&(n|0)===n&&1/n!==-1/0}function s4(n){return typeof n=="number"&&(n!==n||Math.fround(n)===n)}function gt(n){return new j1(n)}var Eln=gt(0);function Zt(n){return n===null?0:n.c}function qr(n){return n===null?cr:n}function Gc(){}r=Gc.prototype;r.constructor=Gc;function F(){}F.prototype=r;r.w=function(){return Z6(this)};r.m=function(n){return this===n};r.t=function(){var n=this.w();return f6(this)+"@"+(+(n>>>0)).toString(16)};r.toString=function(){return this.t()};function Dn(n){if(typeof n=="number"){this.a=new Array(n);for(var t=0;t<n;t++)this.a[t]=null}else this.a=n}r=Dn.prototype=new F;r.constructor=Dn;r.ai=function(n,t,a,i){X6(this.a,n,t.a,a,i)};r.ae=function(){return new Dn(this.a.slice())};function hI(){}hI.prototype=r;function ha(n){if(typeof n=="number"){this.a=new Array(n);for(var t=0;t<n;t++)this.a[t]=!1}else this.a=n}r=ha.prototype=new F;r.constructor=ha;r.ai=function(n,t,a,i){X6(this.a,n,t.a,a,i)};r.ae=function(){return new ha(this.a.slice())};function Pt(n){typeof n=="number"?this.a=new Uint16Array(n):this.a=n}r=Pt.prototype=new F;r.constructor=Pt;r.ai=function(n,t,a,i){t.a.set(this.a.subarray(n,n+i|0),a)};r.ae=function(){return new Pt(this.a.slice())};function xr(n){typeof n=="number"?this.a=new Int8Array(n):this.a=n}r=xr.prototype=new F;r.constructor=xr;r.ai=function(n,t,a,i){t.a.set(this.a.subarray(n,n+i|0),a)};r.ae=function(){return new xr(this.a.slice())};function zr(n){typeof n=="number"?this.a=new Int16Array(n):this.a=n}r=zr.prototype=new F;r.constructor=zr;r.ai=function(n,t,a,i){t.a.set(this.a.subarray(n,n+i|0),a)};r.ae=function(){return new zr(this.a.slice())};function re(n){typeof n=="number"?this.a=new Int32Array(n):this.a=n}r=re.prototype=new F;r.constructor=re;r.ai=function(n,t,a,i){t.a.set(this.a.subarray(n,n+i|0),a)};r.ae=function(){return new re(this.a.slice())};function Ur(n){if(typeof n=="number"){this.a=new Array(n);for(var t=0;t<n;t++)this.a[t]=cr}else this.a=n}r=Ur.prototype=new F;r.constructor=Ur;r.ai=function(n,t,a,i){X6(this.a,n,t.a,a,i)};r.ae=function(){return new Ur(this.a.slice())};function ka(n){typeof n=="number"?this.a=new Float32Array(n):this.a=n}r=ka.prototype=new F;r.constructor=ka;r.ai=function(n,t,a,i){t.a.set(this.a.subarray(n,n+i|0),a)};r.ae=function(){return new ka(this.a.slice())};function ga(n){typeof n=="number"?this.a=new Float64Array(n):this.a=n}r=ga.prototype=new F;r.constructor=ga;r.ai=function(n,t,a,i){t.a.set(this.a.subarray(n,n+i|0),a)};r.ae=function(){return new ga(this.a.slice())};function p(){this.C=void 0,this.n=null,this.O=null,this.B=null,this.D=0,this.z=null,this.E="",this.L=void 0,this.A=void 0,this.F=void 0,this.w=void 0,this.J=!1,this.N="",this.X=!1,this.Y=!1,this.Z=!1,this.I=void 0}r=p.prototype;r.p=function(n,t,a,i,s){this.n={},this.z=n,this.E=t;var w=this;return this.F=u=>u===w,this.N=a,this.X=!0,this.I=u=>!1,i!==void 0&&(this.A=new p().y(this,i,s)),this};r.i=function(n,t,a,i){var s=Object.getOwnPropertyNames(a)[0];return this.n=a,this.E="L"+t+";",this.F=w=>!!w.n[s],this.J=n===2,this.N=t,this.Y=n===1,this.I=i||(w=>!!(w&&w.$classData&&w.$classData.n[s])),typeof n!="number"&&(n.prototype.$classData=this),this};r.y=function(n,t,a,i){t.prototype.$classData=this;var s="["+n.E;this.C=t,this.n={o:1,a:1},this.O=n,this.B=n,this.D=1,this.E=s,this.N=s,this.Z=!0;var w=this;return this.F=i||(u=>w===u),this.w=a?u=>new t(new a(u)):u=>new t(u),this.I=u=>u instanceof t,this};r.a=function(n){function t(o){if(typeof o=="number"){this.a=new Array(o);for(var f=0;f<o;f++)this.a[f]=null}else this.a=o}var a=t.prototype=new hI;a.constructor=t,a.ai=function(o,f,_,b){X6(this.a,o,f.a,_,b)},a.ae=function(){return new t(this.a.slice())},a.$classData=this;var i=n.B||n,s=n.D+1,w="["+n.E;this.C=t,this.n={o:1,a:1},this.O=n,this.B=i,this.D=s,this.E=w,this.N=w,this.Z=!0;var u=o=>{var f=o.D;return f===s?i.F(o.B):f>s&&i===Se};this.F=u,this.w=o=>new t(o);var c=this;return this.I=o=>{var f=o&&o.$classData;return!!f&&(f===c||u(f))},this};r.r=function(){return this.A||(this.A=new p().a(this)),this.A};r.l=function(){return this.L||(this.L=new q9(this)),this.L};r.R=function(n){return this===n||this.F(n)};r.S=function(){return this.P?this.P.l():null};r.Q=function(){return this.O?this.O.l():null};r.U=function(n){if(this===eo)throw bo(new Ge);return new(this.r()).C(n)};var Se=new p;Se.n={};Se.E="Ljava.lang.Object;";Se.F=n=>!n.X;Se.N="java.lang.Object";Se.I=n=>n!==null;Se.A=new p().y(Se,Dn,void 0,n=>{var t=n.D;return t===1?!n.B.X:t>1});Gc.prototype.$classData=Se;var eo=new p().p(void 0,"V","void",void 0,void 0),yL=new p().p(!1,"Z","boolean",ha,void 0),to=new p().p(0,"C","char",Pt,Uint16Array),kL=new p().p(0,"B","byte",xr,Int8Array),gL=new p().p(0,"S","short",zr,Int16Array),mL=new p().p(0,"I","int",re,Int32Array),Y6=new p().p(null,"J","long",Ur,void 0),qL=new p().p(0,"F","float",ka,Float32Array),LL=new p().p(0,"D","double",ga,Float64Array);function lI(){}r=lI.prototype=new F;r.constructor=lI;function SL(){}SL.prototype=r;function _I(){}r=_I.prototype=new F;r.constructor=_I;function vI(){}vI.prototype=r;function pI(){}r=pI.prototype=new F;r.constructor=pI;function DL(){}DL.prototype=r;function x6(){this.IT=null,Ql=this,this.IT=new N_}r=x6.prototype=new F;r.constructor=x6;function AF(){}AF.prototype=r;r.UR=function(n,t){return t.uh(n,new hw(this.IT),new Ne((a,i)=>new Qi(new K((s=>()=>new G_(a,s))(i))))).ek()};var Mln=new p().i(x6,"cats.Foldable$Source$",{ia:1}),Ql;function IF(){return Ql||(Ql=new x6),Ql}function bI(){}r=bI.prototype=new F;r.constructor=bI;function dI(){}dI.prototype=r;function yI(){}r=yI.prototype=new F;r.constructor=yI;function kI(){}kI.prototype=r;function CF(n){new $9(n)}function gI(){}r=gI.prototype=new F;r.constructor=gI;function mI(){}mI.prototype=r;function PF(n){n.J3=new wy}function z6(){this.J4=null,this.QE=null,Xl=this,this.J4=new cy,new a9,new i9,new Y9(ro().J4),this.QE=R4n()}r=z6.prototype=new F;r.constructor=z6;function jF(){}jF.prototype=r;var Bln=new p().i(z6,"cats.package$",{kb:1}),Xl;function ro(){return Xl||(Xl=new z6),Xl}function $6(n,t){this.J6=null,this.J5=null,this.J6=n,this.J5=t}r=$6.prototype=new F;r.constructor=$6;function OF(){}OF.prototype=r;r.Rc=function(n){return(ro(),this.J5).ig(this.J6,n)};var Fln=new p().i($6,"cats.syntax.EqOps",{kP:1});function Zl(n,t,a){for(;;){if(a.l!==null&&a.l.N()||a.M!==null&&a.M.al())throw a.l!==null&&a.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/ReDoS.scala:179"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/ReDoS.scala:179");var i=t;if(i instanceof _t)return i.d4.X(new v((d=>L=>Zl(n,L,d))(a))).fa(Js())|0;if(i instanceof at)return i.d6.X(new v((d=>L=>Zl(n,L,d))(a))).fa(Js())|0;if(i instanceof nr){var s=i.cL;t=s}else if(i instanceof tr){var w=i.cM;t=w}else if(i instanceof er){var u=i.d5;t=u}else if(i instanceof Ct){var c=i.dQ,o=i.ch,f=Zl(n,o,a);return c instanceof z1?f+c.gD|0:c instanceof v1?f+c.gE|0:c instanceof I1?f+c.fc|0:f}else if(i instanceof fr){var _=i.dE;t=_}else if(i instanceof hr){var b=i.dF;t=b}else return 0}}function n8(){}r=n8.prototype=new F;r.constructor=n8;function EF(){}EF.prototype=r;r.SR=function(n,t,a,i){var s=SI().No(a.n7,i,a.mR);try{var w=new Zi(void 0)}catch(c){var u=c instanceof zi?c:new Tt(c);n:{var w;if(hs().hv(u)){var w=new xa(u);break n}throw u instanceof Tt?u.dJ:u}}return w.kW(new v(c=>{if(s.dB&&s.dC.ds("parse: start"),s.l!==null&&s.l.N()||s.M!==null&&s.M.al())throw s.l!==null&&s.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/ReDoS.scala:47"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/ReDoS.scala:47");var o=Cu().WL(n,t,!0);if(o instanceof mn)var f=new Zi(o.aH);else{if(!(o instanceof ve))throw new V(o);var f=new xa(new t4(o.dk.f5()))}return f.kW(new v(_=>{s.dB&&s.dC.ds(`parse: finish
pattern: `+_);var b=a.jb;if(Nu()===b)return Mc().NP(n,t,_,a,s);if(Zc()===b)return Mc().NQ(n,t,_,a,s);if(Hu()===b)return Mc().ST(n,t,_,a,s);throw new V(b)}))})).PK(new Z5(n,t)).a9()};r.NP=function(n,t,a,i,s){var w=i.jb,u=Hu();if(w!==null&&w===u)var c=i.mY;else var c=2147483647;try{var o=new Zi(void 0)}catch(_){var f=_ instanceof zi?_:new Tt(_);n:{var o;if(hs().hv(f)){var o=new xa(f);break n}throw f instanceof Tt?f.dJ:f}}return o.kW(new v(_=>{var b=i.jb,d=Hu();if(b!==null&&b===d&&Mc().Xa(a,s)>=i.n0){s.dB&&s.dC.ds("auto: exceed maxRepeatCount");var L=new xa(new X1("The pattern contains too many repeat"))}else var L=new Zi(void 0);return L.kW(new v(O=>{if(Kq(Ma(),a.ea))return s.dB&&s.dC.ds("automaton: constant pattern"),new Zi(ne().ap);var j=i.jb,E=Hu();if(j!==null&&j===E&&rw(Ma(),a.ea)>=i.mZ){s.dB&&s.dC.ds("auto: exceed maxPatternSize");var B=new xa(new X1("The pattern is too large"))}else var B=new Zi(void 0);return B.kW(new v(T=>LI().wD(a,s).kW(new v(N=>{try{var M=new Zi(N.Qq(c,s).PO().Pi(new v(G=>G.rJ())))}catch(G){var H=G instanceof zi?G:new Tt(G);n:{var M;if(hs().hv(H)){var M=new xa(H);break n}throw H instanceof Tt?H.dJ:H}}return M.kY(new v(G=>RF().SP(G,c,s)))}))))}))})).kY(new v(_=>oo(new $t(_,new v(b=>{if(b instanceof HS){var d=b.NG(i.l7,i.l6,D().h);return new po(n,t,b.Ql(),d,b.P9(),Nu())}else{if(b instanceof FS)return new Wc(n,t,b.Qk(),Nu());throw new V(b)}})),new K(()=>$i(new Li,new La(k(new y,[new Wc(n,t,new nf(!1),Nu())]))))))).kY(new v(_=>Mc().PJ(n,t,i.l8,_,s))).xd(new x5)};r.NQ=function(n,t,a,i,s){var w=Atn(new x3,i.n3);return Gnn().UE(a,s).kY(new v(u=>tT().SQ(a,u,w,i.n4,i.n1,i.n5,i.n6,i.mP,i.mQ,i.mU,i.mL,i.mM,i.mN,i.n2,i.mS,i.mW,i.mV,i.mX,i.mT,i.mO,i.mK,s))).kY(new v(u=>oo(new $t(u,new v(c=>{if(c!==null){var o=c.b5,f=c.bf,_=c.b7;return new po(n,t,o,f.S5(o,i.l7,i.l6),_,Zc())}else throw new V(c)})),new K(()=>$i(new Li,new La(k(new y,[new Wc(n,t,new nf(!0),Zc())]))))))).kY(new v(u=>Mc().PJ(n,t,i.l8,u,s))).xd(new z5)};r.ST=function(n,t,a,i,s){return this.NP(n,t,a,i,s).xd(new Y5(n,t,a,i,s))};r.PJ=function(n,t,a,i,s){return new gs(i,new v(w=>{if(w instanceof po){var u=uT(),c=w.n8,o=(J,U)=>xF().Ue(J,U,s);n:{if(s.l!==null&&s.l.N()||s.M!==null&&s.M.al())throw s.l!==null&&s.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/recall/RecallValidator.scala:28"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/recall/RecallValidator.scala:28");var f=u.UZ(n,t,c);if(s.dB&&s.dC.ds(`recall: code
`+f),xf(a,oa().wf)){var G=wL();break n}if(a instanceof dh){var _=Hc().jU(s.M);if(_.r())var b=Q();else var d=_.a9(),L=Uf().uv(),b=new nn(d.fl.wp(L.fl));var O=o(f,b)}else{if(!(a instanceof Ba))throw new V(a);if(s.M!==null)var j=s.M,E=Uf().uv(),B=xf(j.fl.wp(E.fl),a);else var B=!1;if(B)var T=s.M,N=Uf().uv(),M=T.fl.wp(N.fl);else var M=a;var H=new nn(M),O=o(f,H)}var G=u.Xi(O,s)}if(G instanceof K2)return!1;if(wL()===G)return!0;throw G instanceof R2?new n0(G.st):new V(G)}else return!0}),!1).u()};r.Xa=function(n,t){if(t.l!==null&&t.l.N()||t.M!==null&&t.M.al())throw t.l!==null&&t.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/ReDoS.scala:176"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/ReDoS.scala:176");return Zl(this,n.ea,t)};var Tln=new p().i(n8,"codes.quine.labs.recheck.ReDoS$",{lM:1}),Vy;function Mc(){return Vy||(Vy=new n8),Vy}function MF(n){return new u9(yt().Kg,new v(t=>null))}function e8(){}r=e8.prototype=new F;r.constructor=e8;function BF(){}BF.prototype=r;r.SS=function(n,t,a){var i=_6(),s=a===void 0?Object():a,w=MF(this),u=i.Te(s);if(u instanceof mn){var c=u.aH,o=new X4(c,null,null),f=da("accelerationMode",jr().Jh,Wy().TD(),o);if(f instanceof mn){var _=f.aH,b=da("attackLimit",jr().Ji,yt().e0,o);if(b instanceof mn){var d=b.aH,L=d|0,O=jr().Jj,j=o.ow("attackTimeout");if(j instanceof Pu)if(j.gy().fD())var E=new mn(oa().ro);else{var B=(yt(),yt().e0).g6(j);if(B instanceof mn){var T=B.aH,N=T|0;oa();var M=new mn(new Ba(new S(N,N>>31),Ve().iN))}else var M=B;var E=M instanceof mn?M:new ve(Wi().os("Duration",new K((Vr=>()=>Vr.eQ())(j))))}else{Ea();var H=new Qi(new K(()=>j instanceof Ms&&j.rT()?U1():new Bs("Couldn't decode "+$0(At().oP(js(j,j,At().gF)),"^\\.",""))));Wi();var E=new ve(new Rw(H,new nn(new Q1(js(j,j,At().gF))),(Ea(),new Qi(new K(()=>j.eQ())))))}n:{var R;if(E instanceof ve){var G=E.dk,J=G.jo.ek(),U=U1();if(J!==null&&J.m(U)){var R=new mn(O);break n}}var R=E}if(R instanceof mn){var W=R.aH,Z=da("checker",jr().Jk,Wy().TE(),o);if(Z instanceof mn){var Y=Z.aH,en=da("crossoverSize",jr().Jl,yt().e0,o);if(en instanceof mn){var z=en.aH,$=z|0,X=da("heatRatio",jr().Jm,yt().Ke,o);if(X instanceof mn){var rn=X.aH,sn=+rn,wn=da("incubationLimit",jr().Jn,yt().e0,o);if(wn instanceof mn){var on=wn.aH,hn=on|0,un=jr().Jo,ln=o.ow("incubationTimeout");if(ln instanceof Pu)if(ln.gy().fD())var dn=new mn(oa().ro);else{var _n=(yt(),yt().e0).g6(ln);if(_n instanceof mn){var yn=_n.aH,Ln=yn|0;oa();var Cn=new mn(new Ba(new S(Ln,Ln>>31),Ve().iN))}else var Cn=_n;var dn=Cn instanceof mn?Cn:new ve(Wi().os("Duration",new K((Vr=>()=>Vr.eQ())(ln))))}else{Ea();var jn=new Qi(new K(()=>ln instanceof Ms&&ln.rT()?U1():new Bs("Couldn't decode "+$0(At().oP(js(ln,ln,At().gF)),"^\\.",""))));Wi();var dn=new ve(new Rw(jn,new nn(new Q1(js(ln,ln,At().gF))),(Ea(),new Qi(new K(()=>ln.eQ())))))}n:{var On;if(dn instanceof ve){var Gn=dn.dk,Hn=Gn.jo.ek(),In=U1();if(Hn!==null&&Hn.m(In)){var On=new mn(un);break n}}var On=dn}if(On instanceof mn){var En=On.aH,An=da("logger",jr().Jp,(yt(),new h9(w)),o);if(An instanceof mn){var qn=An.aH,Nn=da("maxAttackStringSize",jr().Jq,yt().e0,o);if(Nn instanceof mn){var Pn=Nn.aH,Jn=Pn|0,xn=da("maxDegree",jr().Jr,yt().e0,o);if(xn instanceof mn){var Un=xn.aH,Wn=Un|0,ae=da("maxGeneStringSize",jr().Js,yt().e0,o);if(ae instanceof mn){var Qn=ae.aH,ie=Qn|0,se=da("maxGenerationSize",jr().Jt,yt().e0,o);if(se instanceof mn){var te=se.aH,le=te|0,Yn=da("maxInitialGenerationSize",jr().Ju,yt().e0,o);if(Yn instanceof mn){var zn=Yn.aH,he=zn|0,we=da("maxIteration",jr().Jv,yt().e0,o);if(we instanceof mn){var Tn=we.aH,Vn=Tn|0,Xn=da("maxNFASize",jr().Jw,yt().e0,o);if(Xn instanceof mn){var Rn=Xn.aH,be=Rn|0,de=da("maxPatternSize",jr().Jx,yt().e0,o);if(de instanceof mn){var ee=de.aH,ke=ee|0,Kn=da("maxRecallStringSize",jr().Jy,yt().e0,o);if(Kn instanceof mn){var ye=Kn.aH,Pe=ye|0,De=da("maxRepeatCount",jr().Jz,yt().e0,o);if(De instanceof mn){var Te=De.aH,Ae=Te|0,Ee=da("maxSimpleRepeatCount",jr().JA,yt().e0,o);if(Ee instanceof mn){var je=Ee.aH,We=je|0,oe=da("mutationSize",jr().JB,yt().e0,o);if(oe instanceof mn){var Qe=oe.aH,tt=Qe|0,$e=da("randomSeed",jr().JC,yt().Kf,o);if($e instanceof mn){var Ue=$e.aH,Ie=qr(Ue),Me=Ie.b,it=Ie.c,nt=da("recallLimit",jr().JD,yt().e0,o);if(nt instanceof mn){var Ot=nt.aH,pt=Ot|0,Et=jr().JE,He=o.ow("recallTimeout");if(He instanceof Pu)if(He.gy().fD())var Be=new mn(oa().ro);else{var et=(yt(),yt().e0).g6(He);if(et instanceof mn){var bt=et.aH,mt=bt|0;oa();var dt=new mn(new Ba(new S(mt,mt>>31),Ve().iN))}else var dt=et;var Be=dt instanceof mn?dt:new ve(Wi().os("Duration",new K((Vr=>()=>Vr.eQ())(He))))}else{Ea();var qt=new Qi(new K(()=>He instanceof Ms&&He.rT()?U1():new Bs("Couldn't decode "+$0(At().oP(js(He,He,At().gF)),"^\\.",""))));Wi();var Be=new ve(new Rw(qt,new nn(new Q1(js(He,He,At().gF))),(Ea(),new Qi(new K(()=>He.eQ())))))}n:{var rt;if(Be instanceof ve){var Jt=Be.dk,Ut=Jt.jo.ek(),lr=U1();if(Ut!==null&&Ut.m(lr)){var rt=new mn(Et);break n}}var rt=Be}if(rt instanceof mn){var Kr=rt.aH,wr=da("seeder",jr().JF,Wy().TF(),o);if(wr instanceof mn){var Kt=wr.aH,Wt=da("seedingLimit",jr().JG,yt().e0,o);if(Wt instanceof mn){var rr=Wt.aH,Dr=rr|0,Mr=jr().JH,Xe=o.ow("seedingTimeout");if(Xe instanceof Pu)if(Xe.gy().fD())var Re=new mn(oa().ro);else{var Mt=(yt(),yt().e0).g6(Xe);if(Mt instanceof mn){var kr=Mt.aH,me=kr|0;oa();var _r=new mn(new Ba(new S(me,me>>31),Ve().iN))}else var _r=Mt;var Re=_r instanceof mn?_r:new ve(Wi().os("Duration",new K((Vr=>()=>Vr.eQ())(Xe))))}else{Ea();var Ar=new Qi(new K(()=>Xe instanceof Ms&&Xe.rT()?U1():new Bs("Couldn't decode "+$0(At().oP(js(Xe,Xe,At().gF)),"^\\.",""))));Wi();var Re=new ve(new Rw(Ar,new nn(new Q1(js(Xe,Xe,At().gF))),(Ea(),new Qi(new K(()=>Xe.eQ())))))}n:{var pr;if(Re instanceof ve){var Br=Re.dk,ar=Br.jo.ek(),vr=U1();if(ar!==null&&ar.m(vr)){var pr=new mn(Mr);break n}}var pr=Re}if(pr instanceof mn){var Ht=pr.aH,Ir=jr().JI,Lt=o.ow("timeout");if(Lt instanceof Pu)if(Lt.gy().fD())var aa=new mn(oa().ro);else{var Ka=(yt(),yt().e0).g6(Lt);if(Ka instanceof mn){var si=Ka.aH,Fr=si|0;oa();var ir=new mn(new Ba(new S(Fr,Fr>>31),Ve().iN))}else var ir=Ka;var aa=ir instanceof mn?ir:new ve(Wi().os("Duration",new K((Vr=>()=>Vr.eQ())(Lt))))}else{Ea();var wi=new Qi(new K(()=>Lt instanceof Ms&&Lt.rT()?U1():new Bs("Couldn't decode "+$0(At().oP(js(Lt,Lt,At().gF)),"^\\.",""))));Wi();var aa=new ve(new Rw(wi,new nn(new Q1(js(Lt,Lt,At().gF))),(Ea(),new Qi(new K(()=>Lt.eQ())))))}n:{var Hr;if(aa instanceof ve){var Ai=aa.dk,Tr=Ai.jo.ek(),ia=U1();if(Tr!==null&&Tr.m(ia)){var Hr=new mn(Ir);break n}}var Hr=aa}var Oe=Hr instanceof mn?new mn(new f2(_,L,W,Y,$,sn,hn,En,qn,Jn,Wn,ie,le,he,Vn,be,ke,Pe,Ae,We,tt,new S(Me,it),pt,Kr,Kt,Dr,Ht,Hr.aH)):Hr}else var Oe=pr}else var Oe=Wt}else var Oe=wr}else var Oe=rt}else var Oe=nt}else var Oe=$e}else var Oe=oe}else var Oe=Ee}else var Oe=De}else var Oe=Kn}else var Oe=de}else var Oe=Xn}else var Oe=we}else var Oe=Yn}else var Oe=se}else var Oe=ae}else var Oe=xn}else var Oe=Nn}else var Oe=An}else var Oe=On}else var Oe=wn}else var Oe=X}else var Oe=en}else var Oe=Z}else var Oe=R}else var Oe=b}else var Oe=f}else{if(!(u instanceof ve))throw new V(u);var Oe=u}if(Oe instanceof mn){var Ze=Oe.aH;if(Ze.mR.r())var va=Q();else{if(!so().kO.call(a,"logger"))throw Sr(new zt,"key not found: logger");var va=new nn(new s9(a.logger))}var Wa=Mc(),sa=Ze.mK,Qa=Ze.mL,pa=Ze.mM,Da=Ze.jb,Cr=Ze.mN,Aa=Ze.mO,wa=Ze.mP,ua=Ze.mQ,ht=Ze.mS,Ia=Ze.mT,Ii=Ze.mU,Ca=Ze.mV,ui=Ze.mW,Xa=Ze.mX,Ni=Ze.mY,Gi=Ze.mZ,Pa=Ze.l6,ci=Ze.n0,Ci=Ze.n1,ba=Ze.n2,Pi=Ze.n3,St=Wa.SR(n,t,new f2(sa,Qa,pa,Da,Cr,Aa,wa,ua,va,ht,Ia,Ii,Ca,ui,Xa,Ni,Gi,Pa,ci,Ci,ba,new S(Pi.b,Pi.c),Ze.l7,Ze.l8,Ze.n4,Ze.n5,Ze.n6,Ze.n7),Q()),Vi=_6();if(St instanceof Wc){var ji=St.pm,Nr=St.pl,Dt=St.pk,na=St.pj,oi=kt(),Za=Ce().aS("source",ji,_e().aY,pe().aC),c1=Ce().aS("flags",Nr,_e().aY,pe().aC),t1=Ce().aS("status","safe",_e().aY,pe().aC),r1=pe().aC.i8("checker");if(Hu()===na)var ca=_e().aY.eL("auto");else if(Nu()===na)var ca=_e().aY.eL("automaton");else{if(Zc()!==na)throw new V(na);var ca=_e().aY.eL("fuzz")}var fi=l(new h,r1,ca),Ji=pe().aC.i8("complexity");if(cL()===Dt)var Qt=kt().eh(k(new y,[Ce().aS("type","constant",_e().aY,pe().aC),Ce().aS("summary",Dt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",!1,_e().iK,pe().aC)]));else if(oL()===Dt)var Qt=kt().eh(k(new y,[Ce().aS("type","linear",_e().aY,pe().aC),Ce().aS("summary",Dt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",!1,_e().iK,pe().aC)]));else if(Dt!==null)var Qt=kt().eh(k(new y,[Ce().aS("type","safe",_e().aY,pe().aC),Ce().aS("summary",Dt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",Dt.wV(),_e().iK,pe().aC)]));else if(Dt instanceof Wu)var Qt=kt().eh(k(new y,[Ce().aS("type","polynomial",_e().aY,pe().aC),Ce().aS("degree",Dt.kf,_e().nO,pe().aC),Ce().aS("summary",Dt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",Dt.la,_e().iK,pe().aC)]));else{if(!(Dt instanceof Ku))throw new V(Dt);var Qt=kt().eh(k(new y,[Ce().aS("type","exponential",_e().aY,pe().aC),Ce().aS("summary",Dt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",Dt.l9,_e().iK,pe().aC)]))}var ea=oi.eh(k(new y,[Za,c1,t1,fi,l(new h,Ji,Qt)]))}else if(St instanceof po){var Bt=St.na,Wr=St.n9,Rt=St.ps,Gr=St.n8,ja=St.pt,Oi=St.pr,Oa=kt(),hi=Ce().aS("source",Bt,_e().aY,pe().aC),q1=Ce().aS("flags",Wr,_e().aY,pe().aC),a1=Ce().aS("status","vulnerable",_e().aY,pe().aC),Fe=pe().aC.i8("checker");if(Hu()===Oi)var gr=_e().aY.eL("auto");else if(Nu()===Oi)var gr=_e().aY.eL("automaton");else{if(Zc()!==Oi)throw new V(Oi);var gr=_e().aY.eL("fuzz")}var Ui=l(new h,Fe,gr),li=pe().aC.i8("complexity");if(cL()===Rt)var Qr=kt().eh(k(new y,[Ce().aS("type","constant",_e().aY,pe().aC),Ce().aS("summary",Rt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",!1,_e().iK,pe().aC)]));else if(oL()===Rt)var Qr=kt().eh(k(new y,[Ce().aS("type","linear",_e().aY,pe().aC),Ce().aS("summary",Rt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",!1,_e().iK,pe().aC)]));else if(Rt instanceof RS)var Qr=kt().eh(k(new y,[Ce().aS("type","safe",_e().aY,pe().aC),Ce().aS("summary",Rt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",Rt.wV(),_e().iK,pe().aC)]));else if(Rt instanceof Wu)var Qr=kt().eh(k(new y,[Ce().aS("type","polynomial",_e().aY,pe().aC),Ce().aS("degree",Rt.kf,_e().nO,pe().aC),Ce().aS("summary",Rt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",Rt.la,_e().iK,pe().aC)]));else{if(!(Rt instanceof Ku))throw new V(Rt);var Qr=kt().eh(k(new y,[Ce().aS("type","exponential",_e().aY,pe().aC),Ce().aS("summary",Rt.t(),_e().aY,pe().aC),Ce().aS("isFuzz",Rt.l9,_e().iK,pe().aC)]))}var o1=l(new h,li,Qr),Ri=pe().aC.i8("attack"),As=kt(),as=Ce().aS("pumps",kt().HC(Gr.iw.X(new v(Vr=>{if(Vr!==null){var Hw=Vr.b5.d7,Lu=Vr.bf.d7,Su=Vr.b7|0,Nw=kt(),Lc=new lt(Hw),V1=pe().aC.i8("prefix"),gf=Lc.d7,nw=l(new h,V1,_e().aY.eL(gf)),No=new lt(Lu),mf=pe().aC.i8("pump"),qf=No.d7;return Nw.eh(k(new y,[nw,l(new h,mf,_e().aY.eL(qf)),Ce().aS("bias",Su,_e().nO,pe().aC)]))}else throw new V(Vr)}))),_e().Kq,pe().aC),Is=new lt(Gr.ix),ku=pe().aC.i8("suffix"),f1=Is.d7,xs=l(new h,ku,_e().aY.eL(f1)),Ow=Ce().aS("base",Gr.lb,_e().nO,pe().aC),Cs=new lt(Gr.Sr()),N1=pe().aC.i8("string"),Pr=Cs.d7,ea=Oa.eh(k(new y,[hi,q1,a1,Ui,o1,l(new h,Ri,As.eh(k(new y,[as,xs,Ow,l(new h,N1,_e().aY.eL(Pr)),Ce().aS("pattern",Gr.uG(lv()),_e().aY,pe().aC)]))),l(new h,pe().aC.i8("hotspot"),kt().HC(ja.pu.X(new v(Vr=>{if(Vr!==null){var Hw=Vr.iz,Lu=Vr.iy,Su=Vr.jd;return kt().eh(k(new y,[Ce().aS("start",Hw,_e().nO,pe().aC),Ce().aS("end",Lu,_e().nO,pe().aC),Ce().aS("temperature",Su.t(),_e().aY,pe().aC)]))}else throw new V(Vr)}))))]))}else{if(!(St instanceof U2))throw new V(St);var G1=St.pq,Ew=St.pp,Ei=St.po,Mw=St.pn,gu=kt(),i1=Ce().aS("source",G1,_e().aY,pe().aC),mu=Ce().aS("flags",Ew,_e().aY,pe().aC),zs=Ce().aS("status","unknown",_e().aY,pe().aC),To=Ce().aS("checker",Mw,new v9(new w9),pe().aC),qu=pe().aC.i8("error");if(Rj()===Ei)var $s=kt().eh(k(new y,[Ce().aS("kind","timeout",_e().aY,pe().aC)]));else if(Uj()===Ei)var $s=kt().eh(k(new y,[Ce().aS("kind","cancel",_e().aY,pe().aC)]));else if(Ei instanceof J2)var Bw=Ei.pi,$s=kt().eh(k(new y,[Ce().aS("kind","unsupported",_e().aY,pe().aC),Ce().aS("message",Bw,_e().aY,pe().aC)]));else if(Ei instanceof G2)var qc=Ei.pg,$s=kt().eh(k(new y,[Ce().aS("kind","invalid",_e().aY,pe().aC),Ce().aS("message",qc,_e().aY,pe().aC)]));else{if(!(Ei instanceof V2))throw new V(Ei);var Fw=Ei.ph,$s=kt().eh(k(new y,[Ce().aS("kind","unexpected",_e().aY,pe().aC),Ce().aS("message",Fw,_e().aY,pe().aC)]))}var ea=gu.eh(k(new y,[i1,mu,zs,To,l(new h,qu,$s)]))}return Vi.Tf(ea)}else if(Oe instanceof ve){var Tw=Oe.dk;throw Tw instanceof Tt?Tw.dJ:Tw}else throw new V(Oe)};var Hln=new p().i(e8,"codes.quine.labs.recheck.ReDoSJS$",{lR:1}),Jy;function FF(){return Jy||(Jy=new e8),Jy}function Yl(n,t){return t.J()===1&&!n.mD.fs.o(t.ac()).cm(new v(a=>vn().a1(a.K(),t.ac())))}function TF(n){if(n.a4.dB&&n.a4.dC.ds("automaton: find EDA"),n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:98"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:98");return new $t(new mr(new gs(n.oX.s(),new v(t=>Yl(n,t)),!0),new v(t=>HF(n,t))),new v(t=>{var a=qI(n,m().g(k(new y,[t])));if(a===null)throw new V(a);return new kh(a.I(),a.K())}))}function HF(n,t){if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:106"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:106");if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:107"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:107");var a=n.sc.o(l(new h,t,t));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:109"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:109");n:{for(var i=a.s();i.y();){var s=i.u();if(s===null)throw new V(s);var w=s.K();if(w.J()!==w.u8().J()){var u=new nn(s);break n}}var u=Q()}if(u instanceof nn){var c=u.aw;if(c!==null){var o=c.I(),f=c.K(),_=Ti(f.u7(f.u8()));if(_.r())return Q();var b=_.a9();if(b===null)throw new V(b);var d=b.I(),L=b.K(),O=n.mD.mu(ge().aJ(k(new y,[L])),d,n.a4);if(O.r())return Q();var j=O.a9();if(j===null)throw new V(j);var E=j.I(),B=j.K();return new nn(new t0(d,E.X(new v(N=>N.K())).aN(o),d,Qo(n,E.aN(l(new h,d,o)),B)))}}if(Q()===u){if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:120"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:120");var T=Jc().mn(xe().f4(a).aU(new v(N=>{if(N!==null){var M=N.I(),H=N.K();return H.aU(new v(G=>{if(G!==null){var J=G.I(),U=G.K();return H.X(new v(R=>{if(R!==null)return new st(l(new h,J,R.I()),M,l(new h,U,R.K()));throw new V(R)}))}else throw new V(G)}))}else throw new V(N)})));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:125"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:125");return l0(T.Ik(n.a4).s8(),new v(N=>{if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:127"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:127");n:{for(var M=N.s();M.y();){var H=M.u();if(H===null)throw new V(H);var G=H.I(),J=H.K();if(G===null?J===null:G.m(J)){var U=new nn(H);break n}}var U=Q()}if(U.r())return Q();var R=U.a9();n:{for(var W=N.s();W.y();){var Z=W.u();if(Z===null)throw new V(Z);var Y=Z.I(),en=Z.K();if(!(Y===null?en===null:Y.m(en))){var z=new nn(Z);break n}}var z=Q()}if(z.r())return Q();var $=z.a9(),X=T.mu(ge().aJ(k(new y,[R])),$,n.a4);if(X.r())return Q();var rn=X.a9();if(rn===null)throw new V(rn);var sn=rn.I(),wn=T.mu(ge().aJ(k(new y,[$])),R,n.a4);if(wn.r())return Q();var on=wn.a9();if(on===null)throw new V(on);var hn=on.I();return new nn(new t0(R.I(),sn.X(new v(un=>un.K())).e5(hn.X(new v(un=>un.K()))),R.I(),VF(n,sn.cT(hn),R)))})).c7()}throw new V(u)}function NF(n){if(n.a4.dB&&n.a4.dC.ds("automaton: find IDA"),n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:145"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:145");return z4(n.oX.X(new v(t=>xl(n,t))),new v(t=>-t.dc()|0),C()).X(new v(t=>{if(t!==null&&t.dc()===0)return Kcn();if(t!==null&&t.dc()===1)return Xcn();if(t!==null){var a=t.dc(),i=t.K(),s=qI(n,i);if(s===null)throw new V(s);return new gh(a,s.I(),s.K())}throw new V(t)}))}function xl(n,t){return n.Jf.mo(t,new K(()=>{if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:161"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:161");if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:163"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:163");var a=rC(n.uM.fs.o(t).X(new v(c=>{if(c!==null){var o=c.I(),f=c.K();if(o===void 0)return xl(n,f)}throw new V(c)})),new v(c=>c.dc()),C()),i=a.r()?l(new h,0,(m(),ft())):a.a9();if(i===null)throw new V(i);var s=i.dc(),w=i.K();if(s===0)return l(new h,Yl(n,t)?0:1,(m(),ft()));if(Yl(n,t))return l(new h,s,w);if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:174"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:174");var u=HP(new $t(new mr(new gs(n.xA.o(t).s(),new v(c=>!(t===null?c===null:t.m(c))&&!Yl(n,c)&&xl(n,c).dc()===s&&!n.xz.o(t).rM(n.xz.o(c)).r()),!1),new v(c=>{var o=GF(n,t,c);return o.r()?Q():new nn(l(new h,c,o.a9()))})),new v(c=>{if(c!==null){var o=c.I(),f=c.K();return l(new h,1+s|0,xl(n,o).K().aN(f))}else throw new V(c)})));return u.r()?l(new h,s,w):u.a9()}))}function GF(n,t,a){if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:194"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:194");var i=n.sc.o(l(new h,t,t));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:195"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:195");var s=n.xA.o(t).rM(n.Jg.o(a));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:196"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:196");var w=s.aU(new v(b=>s.X(new v((d=>L=>n.sc.o(l(new h,d,L)))(b)))));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:197"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:197");var u=n.sc.o(l(new h,a,a));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:199"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:199");var c=Jc(),o=new mr(n.l3.pc.s(),new v(b=>i.o(b).aU(new v((d=>L=>{if(L!==null){var O=L.I(),j=L.K();return w.aU(new v(E=>E.o(d))).aU(new v(E=>{if(E!==null){var B=E.I(),T=E.K();return u.o(d).X(new v(N=>{if(N!==null){var M=N.I(),H=N.K();if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:207"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:207");return new st(new st(O,B,M),d,new st(j,T,H))}else throw new V(N)}))}else throw new V(E)}))}else throw new V(L)})(b))))),f=c.mn(xe().f4(o));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:212"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:212");var _=Jc().mn(t.aU(new v(b=>a.X(new v((d=>L=>new st(new st(d,L,L),Q(),new st(d,d,L)))(b))))).e5(f.ua().X(new v(b=>{if(b!==null)return new st(b.b5,new nn(b.bf),b.b7);throw new V(b)}))));if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:219"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:219");return HP(new mr(_.Ik(n.a4).s(),new v(b=>{if(n.a4.l!==null&&n.a4.l.N()||n.a4.M!==null&&n.a4.M.al())throw n.a4.l!==null&&n.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:222"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:222");return b.jV(new $5(n,b)).aU(new v(d=>{if(d!==null){var L=d.I(),O=d.K(),j=f.mu(ge().aJ(k(new y,[new st(L,L,O)])),new st(L,O,O),n.a4);if(j.r())return Q();var E=j.a9();if(E!==null)var B=E.I(),T=B.X(new v(J=>J.K())),N=Qo(n,B.X(new v(J=>{if(J!==null){var U=J.I(),R=J.K();if(U!==null)return l(new h,U.b5,R)}throw new V(J)})),L),M=Qo(n,B.X(new v(J=>{if(J!==null){var U=J.I(),R=J.K();if(U!==null)return l(new h,U.bf,R)}throw new V(J)})),O),H=Qo(n,B.X(new v(J=>{if(J!==null){var U=J.I(),R=J.K();if(U!==null)return l(new h,U.b7,R)}throw new V(J)})),O),G=new t0(L,T,O,N.cT(M).e5(H));else{var G;throw new V(E)}return new nn(G)}else throw new V(d)}))})))}function qI(n,t){n.a4.dB&&n.a4.dC.ds("automaton: either EDA or IDA is found");var a=t.bO(new st((m(),ft()),ge().aJ(n.l3.pd),(m(),ft())),new Ne((u,c)=>{var o=l(new h,u,c),f=o.aF,_=o.aD;if(f!==null){var b=f.b5,d=f.bf,L=f.b7;if(_!==null){var O=_.qM,j=_.qN,E=_.qO,B=_.qP,T=n.mD.mu(d,O,n.a4).a9();if(T===null)throw new V(T);var N=T.I(),M=L.rv(B.X(new v(H=>{if(H!==null)return new Rc(H.gB,H.gA,bv());throw new V(H)}))).rv(Qo(n,N,O).X(new v(H=>{if(H!==null)return new Rc(H.gB,H.gA,Kj());throw new V(H)})));return new st(b.ar(l(new h,N.X(new v(H=>H.K().I())),j.X(new v(H=>H.I())))),ge().aJ(k(new y,[E])),M)}}throw new V(o)}));if(a===null)throw new V(a);var i=a.b5,s=a.bf,w=a.b7;return l(new h,new O4(i,n.l3.pe.Yj().mu(ge().aJ(k(new y,[n.l3.pe.p0])),s.ac().K(),n.a4).a9().I().X(new v(u=>u.K())).bH()),UL().Nn(w))}function Qo(n,t,a){return t.oA(l(new h,a,(m(),ft())),new Ne((i,s)=>{var w=l(new h,i,s),u=w.aF,c=w.aD;if(u!==null){var o=u.I(),f=u.K();if(c!==null){var _=c.I();return l(new h,o,c.K().rv(n.l3.so.e7(new st(o,f,_),new K(()=>(m(),ft())))))}}throw new V(w)})).K()}function VF(n,t,a){return Qo(n,t.X(new v(i=>{if(i!==null){var s=i.I(),w=i.K();if(s!==null)return l(new h,s.I(),w)}throw new V(i)})),a.I()).cT(Qo(n,t.X(new v(i=>{if(i!==null){var s=i.I(),w=i.K();if(s!==null)return l(new h,s.K(),w)}throw new V(i)})),a.K()))}function t8(n,t,a){if(this.a4=null,this.l3=null,this.mD=null,this.oX=null,this.sb=null,this.uM=null,this.xA=null,this.Jg=null,this.sc=null,this.xz=null,this.Jf=null,this.a4=a,this.l3=n.Yl(t,a),this.mD=this.l3.Iz(a).X7(ge().aJ(this.l3.pd),a),this.oX=this.mD.Ik(a),a.l!==null&&a.l.N()||a.M!==null&&a.M.al())throw a.l!==null&&a.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:42"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:42");if(this.sb=this.oX.aU(new v(u=>u.X(new v((c=>o=>l(new h,o,c))(u))))).h2(D().h),a.l!==null&&a.l.N()||a.M!==null&&a.M.al())throw a.l!==null&&a.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:45"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:45");for(var i=new gs(new $t(this.mD.ua().s(),new v(u=>{if(u!==null){var c=u.b5,o=u.b7;return new st(this.sb.o(c),void 0,this.sb.o(o))}else throw new V(u)})),new v(u=>{if(u!==null){var c=u.b5,o=u.b7;return!(c===null?o===null:c.m(o))}else throw new V(u)}),!1),s=new kc;i.y();){var w=i.u();if(this.a4.l!==null&&this.a4.l.N()||this.a4.M!==null&&this.a4.M.al())throw this.a4.l!==null&&this.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:50"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:50");s.N7(w)}if(this.uM=Jc().mn(xe().f4(s)),this.xA=this.uM.PI(a),this.Jg=this.uM.PT(a).PI(a),a.l!==null&&a.l.N()||a.M!==null&&a.M.al())throw a.l!==null&&a.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:61"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:61");this.sc=Zo(wt().by(new pc(new Do(Pc(this.mD.ua(),new v(u=>{if(u!==null){var c=u.b5,o=u.b7;return l(new h,this.sb.o(c),this.sb.o(o))}else throw new V(u)}),new v(u=>{if(u!==null){var c=u.b5;return l(new h,u.bf,l(new h,c,u.b7))}else throw new V(u)}))),new v(u=>Zo(Pc(u,new v(c=>c.I()),new v(c=>c.K())),(m(),ft()))))),Zo(H1(),(m(),ft()))),this.xz=this.oX.X(new v(u=>l(new h,u,ge().aJ(u.X(new v(c=>c.K())))))).h2(D().h),this.Jf=w1().aL()}r=t8.prototype=new F;r.constructor=t8;function JF(){}JF.prototype=r;r.Ha=function(){if(this.a4.l!==null&&this.a4.l.N()||this.a4.M!==null&&this.a4.M.al())throw this.a4.l!==null&&this.a4.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:87"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:87");return this.a4.dB&&this.a4.dC.ds(Yt().iq(`|automaton: start
| scc size: `+this.oX.J(),124)),Drn(TF(this).gW(new K(()=>NF(this))))};var Nln=new p().i(t8,"codes.quine.labs.recheck.automaton.AutomatonChecker",{lT:1});function r8(){}r=r8.prototype=new F;r.constructor=r8;function UF(){}UF.prototype=r;r.SP=function(n,t,a){if(a.l!==null&&a.l.N()||a.M!==null&&a.M.al())throw a.l!==null&&a.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:20"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/AutomatonChecker.scala:20");return new t8(n,t,a).Ha()};var Gln=new p().i(r8,"codes.quine.labs.recheck.automaton.AutomatonChecker$",{lU:1}),Uy;function RF(){return Uy||(Uy=new r8),Uy}function a8(n,t,a){this.l5=null,this.k7=null,this.k8=null,this.xC=!1,this.sk=0,this.xD=null,this.uO=0,this.uP=null,this.l5=n,this.k7=t,this.k8=a,this.xC=Ma().Wk(n,a),this.sk=0,this.xD=w1().aL(),this.uO=0,this.uP=new Xs}r=a8.prototype=new F;r.constructor=a8;function KF(){}KF.prototype=r;r.d1=function(){var n=this.sk;return this.sk=1+this.sk|0,n};r.XX=function(){return ge().aJ(new C1(0,this.sk,1))};r.x6=function(){var n=this.uO;return this.uO=1+this.uO|0,n};r.e6=function(n){this.uP.at(n)};r.SB=function(){var n=this.ia(this.l5.ea);if(n===null)throw new V(n);var t=n.dc(),a=n.cH();if(Ma().Po(this.l5,this.k8)){var i=this.x6(),s=this.d1(),w=this.d1(),u=this.d1(),c=this.d1();this.e6(l(new h,s,new K1(m().g(k(new y,[c,w]))))),this.e6(l(new h,w,new Vu(i,u))),this.e6(l(new h,u,new $w(ge().aJ(this.k7.eb),s,Q()))),this.e6(l(new h,c,new Ju(i,t)));var o=s}else var o=t;if(Ma().Wl(this.l5,this.k8)){var f=this.x6(),_=this.d1(),b=this.d1(),d=this.d1(),L=this.d1();this.e6(l(new h,a,new K1(m().g(k(new y,[d,_]))))),this.e6(l(new h,_,new Vu(f,b))),this.e6(l(new h,b,new $w(ge().aJ(this.k7.eb),a,Q()))),this.e6(l(new h,d,new Ju(f,L)));var O=L}else var O=a;return new I4(this.k7,this.XX(),o,O,this.uP.aP())};r.ia=function(n){if(this.k8.l!==null&&this.k8.l.N()||this.k8.M!==null&&this.k8.M.al())throw this.k8.l!==null&&this.k8.l.N()?new Bn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/EpsNFABuilder.scala:114"):new Mn("modules/recheck-core/shared/src/main/scala/codes/quine/labs/recheck/automaton/EpsNFABuilder.scala:114");var t=!1,a=null;if(n instanceof _t){var i=n.d4,s=i.X(new v(Ie=>this.ia(Ie))),w=this.d1();this.uP.at(l(new h,w,new K1(s.X(new v(Ie=>Ie.dc())))));var u=this.d1();return s.ax(new v(Ie=>{if(Ie!==null)this.e6(l(new h,Ie.cH(),new K1(m().g(k(new y,[u])))));else throw new V(Ie)})),new e(w,u)}if(n instanceof at){var c=n.d6,o=c.X(new v(Ie=>this.ia(Ie))),f=P$(o,new Ne((Ie,Me)=>{var it=l(new h,Ie,Me),nt=it.aF,Ot=it.aD;if(nt!==null){var pt=nt.dc(),Et=nt.cH();if(Ot!==null){var He=Ot.dc(),Be=Ot.cH();return this.e6(l(new h,Et,new K1(m().g(k(new y,[He]))))),new e(pt,Be)}}throw new V(it)}));if(f.r())var _=this.d1(),b=new e(_,_);else var b=f.a9();return b}if(n instanceof nr)return this.ia(n.cL);if(n instanceof tr)return this.ia(n.cM);if(n instanceof er)return this.ia(n.d5);if(n instanceof Ct){t=!0,a=n;var d=a.dQ,L=a.ch;if(d instanceof Vs){var O=d.lg,j=this.ia(L);if(j===null)throw new V(j);var E=j.dc(),B=j.cH(),T=this.x6(),N=this.d1(),M=this.d1(),H=this.d1(),G=this.d1();return this.e6(l(new h,N,new K1(O?m().g(k(new y,[H,M])):m().g(k(new y,[M,H]))))),this.e6(l(new h,M,new Vu(T,E))),this.e6(l(new h,B,new K1(m().g(k(new y,[N]))))),this.e6(l(new h,H,new Ju(T,G))),new e(N,G)}}if(t){var J=a.dQ,U=a.ch;if(J instanceof _w){var R=J.le,W=this.ia(U);if(W===null)throw new V(W);var Z=W.dc(),Y=W.cH(),en=this.x6(),z=this.d1(),$=this.d1(),X=this.d1();return this.e6(l(new h,Y,new K1(R?m().g(k(new y,[$,z])):m().g(k(new y,[z,$]))))),this.e6(l(new h,z,new Vu(en,Z))),this.e6(l(new h,$,new Ju(en,X))),new e(Z,X)}}if(t){var rn=a.dQ,sn=a.ch;if(rn instanceof Fs){var wn=rn.lf,on=this.ia(sn);if(on===null)throw new V(on);var hn=on.dc(),un=on.cH(),ln=this.d1();return this.e6(l(new h,ln,new K1(wn?m().g(k(new y,[un,hn])):m().g(k(new y,[hn,un]))))),new e(ln,un)}}if(t){var dn=a.dQ,_n=a.ch,yn=dn.rU();if(yn instanceof z1){var Ln=yn.gD;m();for(var Cn=new pi,jn=0;jn<Ln;)Cn.fX(_n),jn=1+jn|0;return this.ia(new at(Cn.e8()))}else if(yn instanceof v1){var Gn=yn.gE,Hn=yn.ji;m();for(var In=new pi,On=0;On<Gn;)In.fX(_n),On=1+On|0;return this.ia(new at(In.e8().ar(new Ct(new Vs(Hn),_n))))}else if(yn instanceof I1){var En=yn.fd,An=yn.fc,qn=yn.gC;m();for(var Nn=new pi,Pn=0;Pn<En;)Nn.fX(_n),Pn=1+Pn|0;var Jn=Nn.e8(),xn=new Fs(qn);m();for(var Un=An-En|0,Wn=new pi,ae=0;ae<Un;)Wn.fX(_n),ae=1+ae|0;var Qn=Wn.e8(),ie=(Ie,Me)=>new at(m().g(k(new y,[Ie,new Ct(new Fs(qn),Me)])));n:{var be;if(Qn.J()>0)for(var se=-1+Qn.J()|0,te=Qn.a6(-1+Qn.J()|0);;){if(se!==0){var le=-1+se|0,Yn=Qn.a6(-1+se|0),zn=te,he=ie(Yn,zn);se=le,te=he;continue}var be=te;break n}if(Qn.J()===0)throw ra(new br,"empty.reduceRight");var we=yr(new sr,Qn);if(we.J()===0)throw ra(new br,"empty.reduceLeft");var Tn=$i(new Li,we);if(Tn.gg<=0)throw ra(new br,"empty.reduceLeft");for(var Vn=Tn.u();Tn.gg>0;){var Xn=Vn,Rn=Tn.u();Vn=ie(Rn,Xn)}var be=Vn}return this.ia(new at(Jn.ar(new Ct(xn,be))))}else throw new V(yn)}if(n instanceof bs){var de=n.km,ee=this.d1(),ke=this.d1();return this.e6(l(new h,ee,new Ww(de?U1n():V1n(),ke))),new e(ee,ke)}if(n instanceof F1){var Kn=this.d1();if(this.xC){var ye=this.d1();ret