@project516/java-web 0.1.0 → 0.1.1
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/dist/java-web-worker.js +10 -10
- package/dist/java-web.js +2 -2
- package/dist/jdk/legal/java.compiler/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.compiler/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.compiler/LICENSE +347 -0
- package/dist/jdk/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.datatransfer/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.datatransfer/LICENSE +347 -0
- package/dist/jdk/legal/java.desktop/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.desktop/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.desktop/LICENSE +347 -0
- package/dist/jdk/legal/java.instrument/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.instrument/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.instrument/LICENSE +347 -0
- package/dist/jdk/legal/java.logging/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.logging/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.logging/LICENSE +347 -0
- package/dist/jdk/legal/java.management/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.management/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.management/LICENSE +347 -0
- package/dist/jdk/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.management.rmi/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.management.rmi/LICENSE +347 -0
- package/dist/jdk/legal/java.naming/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.naming/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.naming/LICENSE +347 -0
- package/dist/jdk/legal/java.net.http/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.net.http/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.net.http/LICENSE +347 -0
- package/dist/jdk/legal/java.prefs/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.prefs/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.prefs/LICENSE +347 -0
- package/dist/jdk/legal/java.rmi/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.rmi/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.rmi/LICENSE +347 -0
- package/dist/jdk/legal/java.scripting/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.scripting/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.scripting/LICENSE +347 -0
- package/dist/jdk/legal/java.se/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.se/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.se/LICENSE +347 -0
- package/dist/jdk/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.security.jgss/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.security.jgss/LICENSE +347 -0
- package/dist/jdk/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.security.sasl/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.security.sasl/LICENSE +347 -0
- package/dist/jdk/legal/java.sql/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.sql/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.sql/LICENSE +347 -0
- package/dist/jdk/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.sql.rowset/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.sql.rowset/LICENSE +347 -0
- package/dist/jdk/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.transaction.xa/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.transaction.xa/LICENSE +347 -0
- package/dist/jdk/legal/java.xml/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.xml/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.xml/LICENSE +347 -0
- package/dist/jdk/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/java.xml.crypto/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/java.xml.crypto/LICENSE +347 -0
- package/dist/jdk/legal/jdk.compiler/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.compiler/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.compiler/LICENSE +347 -0
- package/dist/jdk/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.httpserver/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.httpserver/LICENSE +347 -0
- package/dist/jdk/legal/jdk.internal.md/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.internal.md/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.internal.md/LICENSE +347 -0
- package/dist/jdk/legal/jdk.internal.opt/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.internal.opt/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.internal.opt/LICENSE +347 -0
- package/dist/jdk/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.jartool/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.jartool/LICENSE +347 -0
- package/dist/jdk/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.localedata/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.localedata/LICENSE +347 -0
- package/dist/jdk/legal/jdk.localedata/cldr.md +100 -0
- package/dist/jdk/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.security.jgss/LICENSE +347 -0
- package/dist/jdk/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.unsupported/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.unsupported/LICENSE +347 -0
- package/dist/jdk/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO +37 -0
- package/dist/jdk/legal/jdk.zipfs/ASSEMBLY_EXCEPTION +27 -0
- package/dist/jdk/legal/jdk.zipfs/LICENSE +347 -0
- package/dist/node.js +39 -8
- package/package.json +1 -1
package/dist/java-web-worker.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";(()=>{var ci=new Set(["/dev/null","/dev/zero","/dev/random","/dev/urandom"]);function Pe(t){if(t.length>1&&t[0]==="/"&&!t.endsWith("/")&&!t.endsWith("/.")&&!t.endsWith("/..")&&!t.includes("//")&&!t.includes("/./")&&!t.includes("/../"))return t;let e=[];for(let n of t.split("/"))n===""||n==="."||(n===".."?e.pop():e.push(n));return"/"+e.join("/")}var ui=class{mounts=[];hidden=[];mount(e,n){e=Pe(e),this.mounts.push({prefix:e,backend:n}),this.mounts.sort((r,a)=>a.prefix.length-r.prefix.length)}hide(e){this.hidden.push(Pe(e))}isHidden(e){return this.hidden.some(n=>e===n||e.startsWith(n+"/"))}resolve(e){if(e=Pe(e),this.hidden.length&&this.isHidden(e))return null;for(let{prefix:n,backend:r}of this.mounts){if(n==="/")return[r,e];if(e===n)return[r,"/"];if(e.startsWith(n+"/"))return[r,e.slice(n.length)]}return null}mountsUnder(e){let n=Pe(e),r=[];for(let{prefix:a}of this.mounts){if(a===n||a==="/")continue;(a.slice(0,a.lastIndexOf("/"))||"/")===n&&r.push(a.slice(a.lastIndexOf("/")+1))}return r}stat(e){let n=Pe(e);if(ci.has(n))return{dir:!1,size:0,mtime:0,device:!0};if(n==="/dev")return{dir:!0,size:0,mtime:0};if(this.hidden.length&&this.isHidden(n))return null;let r=this.resolve(e),a=r?r[0].stat(r[1]):null;return a||(Pe(e)==="/"||this.mountsUnder(e).length>0||this.isMountPoint(e)?{dir:!0,size:0,mtime:0}:null)}isMountPoint(e){let n=Pe(e);return this.mounts.some(r=>r.prefix===n)}read(e){if(ci.has(Pe(e)))return null;let n=this.resolve(e);return n?n[0].read(n[1]):null}canReadRange(e){let n=this.resolve(e);return!!n&&!!n[0].readRange}readRange(e,n,r){let a=this.resolve(e);return a?.[0].readRange?.(a[1],n,r)??null}list(e){let n=this.resolve(e),r=n?n[0].list(n[1]):null,a=this.mountsUnder(e);if(!r&&a.length===0)return this.stat(e)?.dir?[]:null;let s=[...new Set([...r??[],...a])];if(!this.hidden.length)return s;let i=Pe(e);return s.filter(c=>!this.isHidden(i==="/"?`/${c}`:`${i}/${c}`))}write(e,n){let r=this.resolve(e);return!!r&&r[0].writable&&!!r[0].write?.(r[1],n)}mkdir(e){let n=this.resolve(e);return!!n&&n[0].writable&&!!n[0].mkdir?.(n[1])}remove(e){let n=this.resolve(e);return!!n&&n[0].writable&&!!n[0].remove?.(n[1])}rename(e,n){let r=this.resolve(e),a=this.resolve(n);return!r||!a||r[0]!==a[0]||!r[0].writable?!1:!!r[0].rename?.(r[1],a[1])}writable(e){let n=this.resolve(e);return!!n&&n[0].writable}setMtime(e,n){let r=this.resolve(e);return!!r&&r[0].writable&&!!r[0].setMtime?.(r[1],n)}denied(e){let n=this.resolve(e);return!!n&&n[0].writable&&!!n[0].denied?.(n[1])}chmod(e,n){if(ci.has(Pe(e)))return!1;let r=this.resolve(e);if(!(!r||!r[0].chmod))return r[0].writable&&r[0].chmod(r[1],n)}access(e,n){if(ci.has(Pe(e)))return!0;let r=this.resolve(e);return!r||n&2&&(!r[0].writable||r[0].denied?.(r[1]))?!1:!(n&5)||(r[0].access?.(r[1],n&5)??!0)}},xr=class{writable=!0;files=new Map;dirs=new Set(["/"]);onChange=null;changed(e,n){this.onChange?.(e,n)}stat(e){let n=this.files.get(e);return n?{dir:!1,size:n.data.length,mtime:n.mtime}:this.dirs.has(e)?{dir:!0,size:0,mtime:0}:null}read(e){return this.files.get(e)?.data??null}list(e){if(!this.dirs.has(e))return null;let n=e==="/"?"/":e+"/",r=new Set;for(let a of[...this.files.keys(),...this.dirs])a.startsWith(n)&&a!==e&&r.add(a.slice(n.length).split("/")[0]);return[...r]}write(e,n){if(!this.dirs.has(sl(e))||this.dirs.has(e))return!1;let r={data:n,mtime:Date.now()};return this.files.set(e,r),this.changed(e,r),!0}mkdir(e){return this.stat(e)||!this.dirs.has(sl(e))?!1:(this.dirs.add(e),this.changed(e,"dir"),!0)}remove(e){let n=this.files.delete(e)||e!=="/"&&this.dirs.has(e)&&this.list(e).length===0&&this.dirs.delete(e);return n&&this.changed(e,null),n}rename(e,n){let r=this.files.get(e);return!r||!this.dirs.has(sl(n))?!1:(this.files.delete(e),this.files.set(n,r),this.changed(e,null),this.changed(n,r),!0)}setMtime(e,n){let r=this.files.get(e);if(!r)return this.dirs.has(e);let a={data:r.data,mtime:n};return this.files.set(e,a),this.changed(e,a),!0}put(e,n,r=Date.now()){e=Pe(e);let a=e.split("/").slice(1,-1),s="";for(let c of a)s+="/"+c,this.dirs.has(s)||(this.dirs.add(s),this.changed(s,"dir"));let i={data:n,mtime:r};this.files.set(e,i),this.changed(e,i)}putDir(e){let n="";for(let r of Pe(e).split("/").slice(1))n+="/"+r,this.dirs.has(n)||(this.dirs.add(n),this.changed(n,"dir"))}};function sl(t){return t.slice(0,t.lastIndexOf("/"))||"/"}var B={Utf8:1,Integer:3,Float:4,Long:5,Double:6,Class:7,String:8,Fieldref:9,Methodref:10,InterfaceMethodref:11,NameAndType:12,MethodHandle:15,MethodType:16,Dynamic:17,InvokeDynamic:18,Module:19,Package:20},an=class extends Error{},sa=class extends Error{major;minor;constructor(e,n){super(`class file version ${e}.${n}`),this.major=e,this.minor=n}},Za=class extends an{magic;constructor(e){super("Incompatible magic value"),this.magic=e}},jr=69,Xn=class{pos=0;view;bytes;constructor(e){this.bytes=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}u1(){return this.bytes[this.pos++]}u2(){let e=this.view.getUint16(this.pos);return this.pos+=2,e}u4(){let e=this.view.getUint32(this.pos);return this.pos+=4,e}i4(){let e=this.view.getInt32(this.pos);return this.pos+=4,e}slice(e){let n=this.bytes.subarray(this.pos,this.pos+e);return this.pos+=e,n}};function Sb(t){let e=!0;for(let a=0;a<t.length;a++)if(t[a]&128){e=!1;break}if(e)return String.fromCharCode.apply(null,t);let n=[];for(let a=0;a<t.length;){let s=t[a++];if(s<128)n.push(s);else if((s&224)===192)n.push((s&31)<<6|t[a++]&63);else{let i=t[a++],c=t[a++];n.push((s&15)<<12|(i&63)<<6|c&63)}}let r="";for(let a=0;a<n.length;a+=8192)r+=String.fromCharCode.apply(null,n.slice(a,a+8192));return r}function qu(t){let e=[];for(let n=0;n<t.length;n++){let r=t.charCodeAt(n);r>=1&&r<128?e.push(r):r<2048?e.push(192|r>>6,128|r&63):e.push(224|r>>12,128|r>>6&63,128|r&63)}return Uint8Array.from(e)}function Xu(t,e){let n=t.u2(),r=_(e,t.u2()),a=_(e,t.u2()),s=il(t,e),i=s.get("Code");return{access:n,name:r,desc:a,attrs:s,code:i?Jb(i,e):null}}function il(t,e){let n=new Map;for(let r=t.u2();r>0;r--){let a=_(e,t.u2());n.set(a,t.slice(t.u4()))}return n}function Jb(t,e){let n=new Xn(t),r=n.u2(),a=n.u2(),s=n.slice(n.u4()),i=[];for(let u=n.u2();u>0;u--)i.push({start:n.u2(),end:n.u2(),handler:n.u2(),catchType:n.u2()});let c=null,o=null;for(let[u,l]of il(n,e)){if(u==="LocalVariableTable"&&(o=l),u!=="LineNumberTable")continue;let d=new Xn(l);c??=[];for(let f=d.u2();f>0;f--)c.push(d.u2(),d.u2())}if(c&&c.length>2){let u=[];for(let l=0;l<c.length;l+=2)u.push([c[l],c[l+1]]);u.sort((l,d)=>l[0]-d[0]),c=u.flat()}return{maxStack:r,maxLocals:a,code:s,handlers:i,lines:c,localVars:o}}function _(t,e){let n=t[e];if(!n||n.tag!==B.Utf8)throw new an(`bad utf8 index ${e}`);return n.value}function de(t,e){let n=t[e];if(!n||n.tag!==B.Class)throw new an(`bad class index ${e}`);return _(t,n.a)}function ol(t,e=!1){let n=new Xn(t);try{let r=Mb(n,e);if(n.pos>t.length)throw new RangeError;if(n.pos<t.length)throw new an(`Extra bytes at the end of class file ${r.name}`);return r}catch(r){throw r instanceof RangeError?new an("Truncated class file"):r}}function Mb(t,e){let n=t.u4();if(n!==3405691582)throw new Za(n);let r=t.u2(),a=t.u2();if(a<45||a>jr)throw new sa(a,r);if(a>=56&&r!==0&&!(r===65535&&a===jr&&e))throw new sa(a,r);let s=t.u2(),i=new Array(s);for(let g=1;g<s;g++){let h=t.u1(),j,x=0,w=0;switch(h){case B.Utf8:j=Sb(t.slice(t.u2()));break;case B.Integer:j=t.i4();break;case B.Float:j=t.view.getFloat32(t.pos),t.pos+=4;break;case B.Long:j=t.view.getBigInt64(t.pos),t.pos+=8;break;case B.Double:j=t.view.getFloat64(t.pos),t.pos+=8;break;case B.Class:case B.String:case B.MethodType:case B.Module:case B.Package:x=t.u2();break;case B.MethodHandle:x=t.u1(),w=t.u2();break;case B.Fieldref:case B.Methodref:case B.InterfaceMethodref:case B.NameAndType:case B.Dynamic:case B.InvokeDynamic:x=t.u2(),w=t.u2();break;default:throw new an(`bad constant pool tag ${h} at ${g}`)}i[g]={tag:h,value:j,a:x,b:w},(h===B.Long||h===B.Double)&&g++}let c=t.u2(),o=de(i,t.u2()),u=t.u2(),l=u?de(i,u):null,d=[];for(let g=t.u2();g>0;g--)d.push(de(i,t.u2()));let f=[];for(let g=t.u2();g>0;g--)f.push(Xu(t,i));let m=[];for(let g=t.u2();g>0;g--)m.push(Xu(t,i));let p=il(t,i),b=[],y=p.get("BootstrapMethods");if(y){let g=new Xn(y);for(let h=g.u2();h>0;h--){let j=g.u2(),x=[];for(let w=g.u2();w>0;w--)x.push(g.u2());b.push({ref:j,args:x})}}return{minor:r,major:a,cp:i,access:c,name:o,superName:l,interfaces:d,fields:f,methods:m,attrs:p,bootstrap:b}}var Oe=class{m;code;pc=0;sp=0;locals;stack;lock=null;needLock=!1;direct=!1;poolSlot=-1;constructor(e,n=!1){let r=e.code;this.m=e,this.code=r.code,this.locals=n?null:new Array(r.maxLocals),this.stack=n?null:new Array(r.maxStack+2)}},it=class{gen;m;ret;reexec;input=void 0;thrown=null;constructor(e,n,r,a){this.gen=e,this.m=n,this.ret=r,this.reexec=a}},oe=class extends Error{obj;constructor(e){super("java exception"),this.obj=e}},A=class extends Error{cls;msg;ctor;pc;native;constructor(e,n=null,r){super(`${e}: ${n}`),this.cls=e,this.msg=n,this.ctor=r}};function Wa(t,e){return t instanceof A&&!e.intrinsic&&!e.polymorphic&&(t.native??=e),t}var wr=0,fi=1,At=2;var $n=5,Yu=2,Ku=225,Qu=401,ef=417,tf=657,nf=673,di=1025,$b=1,qn=class{vm;id=$b++;obj=null;frames=[];blockedOnMonitor=!1;held=0;pins=0;mounted=null;scopedValueCache=null;state=wr;daemon=!1;parkPermit=!1;stackLimit=6e3;ret=void 0;base=0;wake=null;onExit=null;constructor(e){this.vm=e}pool=[];directFrame(e){let n=this.frames.length;for(;this.pool.length<=n;)this.pool.push(this.pooled(e,this.pool.length));let r=this.pool[n]??(this.pool[n]=this.pooled(e,n));return r.m=e,r.code=e.code.code,r.pc=0,r.sp=0,r.locals=null,r.stack=null,r.lock=null,r.needLock=!1,r.direct=!0,r}pooled(e,n){let r=new Oe(e,!0);return r.poolSlot=n,r}unpool(e){e.direct=!1,this.pool[e.poolSlot]===e&&(this.pool[e.poolSlot]=null)}get top(){return this.frames[this.frames.length-1]}get name(){if(!this.obj)return`thread-${this.id}`;let e=this.vm.getField(this.obj,"java/lang/Thread","name");return e?this.vm.jsString(e):`thread-${this.id}`}get interrupted(){return!!this.obj&&this.vm.getField(this.obj,"java/lang/Thread","interrupted")===1}set interrupted(e){this.obj&&this.vm.setField(this.obj,"java/lang/Thread","interrupted",e?1:0)}pushNative(e,n,r,a){this.frames.push(new it(e,n,r,a))}block(e){return{kind:"wait",promise:e}}call(e,...n){return{kind:"invoke",m:e,args:n}}callVirtual(e,n,r,...a){let s=e.cls.selectMethod(n+r);if(!s)throw new Error(`no method ${n}${r} in ${e.cls.name}`);return{kind:"invoke",m:s,args:[e,...a]}}};var sn=1,Yn=2,cl=4,gt=8,Ie=16,Tb=32,Ir=32;var qa=128,Ya=256,af=512,ia=1024,kr=4096;var Fb=0,sf=1,pi=2,z=3,ul=4,Kn=1<<20,Fn=16;function yt(t){let e=[],n=1;for(;t[n]!==")";){let r=n;for(;t[n]==="[";)n++;t[n]==="L"&&(n=t.indexOf(";",n)),n++,e.push(t.slice(r,n))}return{params:e,ret:t.slice(n+1)}}function ke(t){return t==="J"||t==="D"}function fl(t){switch(t[0]){case"J":return 0n;case"L":case"[":return null;default:return 0}}var hi=class{cls;name;desc;access;attrs;wide;slot=-1;index=0;constructor(e,n){this.cls=e,this.name=n.name,this.desc=n.desc,this.access=n.access,this.attrs=n.attrs,this.wide=ke(n.desc)}get isStatic(){return(this.access>)!==0}},Xa=class{cls;name;desc;key;access;attrs;code;params;ret;argSlots;index=0;native=null;polymorphic=!1;intrinsic=!1;link=null;jit=null;hot=0;fallbacks=0;recompiles=0;noJit=!1;cache=null;constructor(e,n){this.cls=e,this.name=n.name,this.desc=n.desc,this.key=n.name+n.desc,this.access=n.access,this.attrs=n.attrs,this.code=n.code,this.isStatic=(n.access>)!==0,this.isNative=(n.access&Ya)!==0,this.isAbstract=(n.access&ia)!==0,this.isPrivate=(n.access&Yn)!==0,this.isSynchronized=(n.access&Tb)!==0;let{params:r,ret:a}=yt(n.desc);this.params=r,this.ret=a;let s=this.isStatic?0:1;for(let i of r)s+=ke(i)?2:1;this.argSlots=s}isStatic;isNative;isAbstract;isPrivate;isSynchronized;toString(){return`${this.cls.name}.${this.name}${this.desc}`}lineAt(e){let n=this.code?.lines;if(!n)return-1;let r=-1;for(let a=0;a<n.length&&n[a]<=e;a+=2)r=n[a+1];return r}},Ge=class{cls;f;mon=null;hash=0;x=void 0;constructor(e,n){this.cls=e,this.f=n}},W=class extends Ge{a;constructor(e,n){super(e,Ob),this.a=n}},Ob=[],bi=class{owner=null;count=0;entry=[];waiters=[]},Tn=class{name;loader;cf;superclass=null;interfaces=[];access;fields=[];methods=[];methodMap=new Map;instanceSlots=0;template=[];statics=[];state=Fb;initThread=null;initError=null;initWaiters=[];mirror=null;component=null;arrayClass=null;prim=null;hidden=!1;vmMembers=null;nestHost=null;vcache=new Map;rcp=[];ldc=[];supers=null;constructor(e,n,r,a){this.name=e,this.loader=n,this.cf=r,this.access=a}get isInterface(){return(this.access&af)!==0}get isArray(){return this.name[0]==="["}get isPrimitive(){return this.prim!==null}get javaName(){if(this.prim)return Lb(this.prim);let e=this.hidden?this.cf.name:this.name;return e.replace(/\//g,".")+this.name.slice(e.length)}get packageName(){let e=this.cf?.name??this.name,n=e.lastIndexOf("/");return n<0?"":e.slice(0,n)}get desc(){return this.prim??(this.isArray?this.name:`L${this.name};`)}toString(){return this.name}allSupers(){if(this.supers)return this.supers;let e=new Set([this]);if(this.superclass)for(let n of this.superclass.allSupers())e.add(n);for(let n of this.interfaces)for(let r of n.allSupers())e.add(r);return this.supers=e,e}isSubclassOf(e){for(let n=this;n;n=n.superclass)if(n===e)return!0;return!1}isAssignableTo(e){if(this===e)return!0;if(this.prim||e.prim)return!1;if(this.component){if(e.component){let n=this.component,r=e.component;return n.prim||r.prim?n===r:n.isAssignableTo(r)}return e.name==="java/lang/Object"||e.name==="java/lang/Cloneable"||e.name==="java/io/Serializable"}return this.allSupers().has(e)}findField(e,n){for(let r of this.fields)if(r.name===e&&(n===void 0||r.desc===n))return r;for(let r of this.interfaces){let a=r.findField(e,n);if(a)return a}return this.superclass?this.superclass.findField(e,n):null}declaredMethod(e){return this.methodMap.get(e)}findMethod(e){for(let n=this;n;n=n.superclass){let r=n.methodMap.get(e);if(r)return r}return this.findInterfaceMethod(e)}findInterfaceMethod(e){let n=null;for(let r of this.allSupers()){if(!r.isInterface)continue;let a=r.methodMap.get(e);if(!(!a||a.isPrivate||a.isStatic)){if(!a.isAbstract)return a;n??=a}}if(this.isInterface){let r=this.methodMap.get(e);if(r)return r}return n}selectMethod(e){let n=this.vcache.get(e);if(n!==void 0)return n;n=null;for(let r=this;r;r=r.superclass){let a=r.methodMap.get(e);if(a&&!a.isStatic&&!(a.isPrivate&&r!==this)){n=a;break}}if(!n||n.isAbstract){let r=this.maximallySpecific(e);r&&(n=r)}return this.vcache.set(e,n),n}maximallySpecific(e){let n=[];for(let a of this.allSupers()){if(!a.isInterface)continue;let s=a.methodMap.get(e);s&&!s.isAbstract&&!s.isStatic&&!s.isPrivate&&n.push(s)}return n.filter(a=>!n.some(s=>s!==a&&s.cls.allSupers().has(a.cls)))[0]??null}};function Lb(t){switch(t){case"Z":return"boolean";case"B":return"byte";case"C":return"char";case"S":return"short";case"I":return"int";case"J":return"long";case"F":return"float";case"D":return"double";case"V":return"void"}throw new Error(`not a primitive: ${t}`)}var Qn=1<<30,Nb={Z:1,B:1,C:2,S:2,I:4,F:4,J:8,D:8,L:4},ll=16384,Bb=65,Cb=2048,rf=new ArrayBuffer(ll),mi=0;function Eb(t){if(t<Bb||t>Cb)return null;mi+t>ll&&(rf=new ArrayBuffer(ll),mi=0);let e=mi;return mi=e+t+7&-8,[rf,e]}function Te(t,e){let n=e*Nb[t];if(n>Qn)throw new A("java/lang/OutOfMemoryError","Java heap space");let r=t==="L"?null:Eb(n);try{switch(t){case"Z":case"B":return r?new Int8Array(r[0],r[1],e):new Int8Array(e);case"C":return r?new Uint16Array(r[0],r[1],e):new Uint16Array(e);case"S":return r?new Int16Array(r[0],r[1],e):new Int16Array(e);case"I":return r?new Int32Array(r[0],r[1],e):new Int32Array(e);case"J":return r?new BigInt64Array(r[0],r[1],e):new BigInt64Array(e);case"F":return r?new Float32Array(r[0],r[1],e):new Float32Array(e);case"D":return r?new Float64Array(r[0],r[1],e):new Float64Array(e);default:return new Array(e).fill(null)}}catch(a){throw a instanceof RangeError?new A("java/lang/OutOfMemoryError","Java heap space"):a}}var On="jdk/internal/vm/Continuation",dl="jdk/internal/vm/StackChunk",Pb=2,Db=3,Rb=4;function Ar(t){let e=t.state.get("continuations");return e||t.state.set("continuations",e={frozen:new WeakMap,entries:new WeakMap}),e}function uf(t,e){return Ar(t).entries.get(e)}function ff(t,e){return Ar(t).frozen.get(e)}function of(t){let e=Ar(t.vm).entries;for(let n=t.frames.length-2;n>=0;n--){let r=t.frames[n];if(r instanceof it&&e.has(r))return n}return-1}function lf(t,e){if(t.pins>0)return Pb;for(let r=e+1;r<t.frames.length-1;r++)if(!(t.frames[r]instanceof Oe))return Db;let n=Ar(t.vm).entries.get(t.frames[e]);return n.virtual&&t.held>n.held?Rb:0}function cf(t,e,n){let r=t.vm,a=r.getField(e,On,"tail");a||(a=r.newObject(r.loadBoot(dl)),r.setField(e,On,"tail",a)),r.setField(a,dl,"bottom",1),r.setField(a,dl,"sp",n?0:1)}var df={"jdk/internal/vm/ContinuationSupport.isSupported0()Z":()=>1,[`${On}.registerNatives()V`]:()=>{},[`${On}.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V`]:function*(t,[e,n,r]){let a=Ar(t.vm);if(a.entries.set(t.top,{cont:e,virtual:r===1,held:t.held}),!n){let c=t.vm.loadBoot(On).methodMap.get("enter(Ljdk/internal/vm/Continuation;Z)V");yield t.call(c,e,0);return}let s=a.frozen.get(e);if(!s)throw new A("java/lang/IllegalStateException","Continuation has no frames");a.frozen.delete(e),cf(t,e,!1),t.frames.push(...s);let i=t.top;i.stack[i.sp++]=0,i.pc+=3,yield{kind:"resume"}},[`${On}.doYield()I`]:function*(t){let e=of(t);if(e<0)throw new A("java/lang/IllegalStateException","Not in a continuation");let n=lf(t,e);if(n)return n;let r=Ar(t.vm).entries.get(t.frames[e]).cont;return Ar(t.vm).frozen.set(r,t.frames.splice(e+1,t.frames.length-e-2)),cf(t,r,!0),0},[`${On}.pin()V`]:t=>{t.pins++},[`${On}.unpin()V`]:t=>{if(t.pins===0)throw new A("java/lang/IllegalStateException","Not pinned");t.pins--},"java/lang/VirtualThread.takeVirtualThreadListToUnblock()Ljava/lang/VirtualThread;":function*(t){yield t.block(new Promise(()=>{}))},"java/lang/VirtualThread.registerNatives()V":()=>{},"java/lang/VirtualThread.postPinnedEvent(Ljava/lang/String;)V":()=>{},"java/lang/VirtualThread.notifyJvmtiStart()V":()=>{},"java/lang/VirtualThread.notifyJvmtiEnd()V":()=>{},"java/lang/VirtualThread.notifyJvmtiMount(Z)V":()=>{},"java/lang/VirtualThread.notifyJvmtiUnmount(Z)V":()=>{},"java/lang/VirtualThread.notifyJvmtiDisableSuspend(Z)V":()=>{},[`${On}.isPinned0(Ljdk/internal/vm/ContinuationScope;)I`]:t=>{let e=of(t);return e<0?0:lf(t,e)}};function ue(t,e){return t[e]<<8|t[e+1]}function mf(t){let e=t.cf?.attrs.get("SourceFile");return e?_(t.cf.cp,ue(e,0)):null}function vt(t){if(t===null)throw new A("java/lang/NullPointerException");return t}function me(t,e=0,n){let r=t.a;return new Uint8Array(r.buffer,r.byteOffset+e,n??r.length-e)}function on(t,e){return e===null?null:t.vm.jsString(e)}function*er(t,e=t.frames){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r instanceof it){let a=uf(t.vm,r);if(a?.virtual&&t.mounted&&e===t.frames)return;if(a)continue}r.code?yield{m:r.m,pc:r.pc}:r.m&&(yield{m:r.m,pc:-2})}}var Ub=2,Vb=32,Gb=65536,_b=131072,Hb=1048576,zb=4194304,gi="java/lang/StackFrameInfo",Ka="java/lang/ClassFrameInfo",hl="java/lang/StackStreamFactory$AbstractStackWalker",Zb=1n;function ml(t){let e=t.vm.state.get("stackwalks");return e||t.vm.state.set("stackwalks",e=new Map),e}var hf=new WeakMap;function Qa(t){let e=hf.get(t);return e===void 0&&(e=t.cls.hidden||Sr(t.cls,t.attrs.get("RuntimeVisibleAnnotations")).includes("Ljdk/internal/vm/annotation/Hidden;"),hf.set(t,e)),e}function Wb(t){let e=t.access&65535|(t.name==="<init>"?_b:Gb);return bl(t)&&(e|=Hb),Qa(t)&&(e|=zb),e}function Xb(t){let e=t.cls;return e.name==="java/lang/StackWalker"||e.name===hl||e.superclass?.name===hl}function bf(t,e,n,r,a,s){let i=t.vm,c=0;for(let o=a;o<s&&n.pos<n.frames.length;o++){let{m:u,pc:l}=n.frames[n.pos++],d=r.a[o],f=i.getField(d,Ka,"flags")|Wb(u);i.setField(d,Ka,"flags",f),e&Ub?i.setField(d,Ka,"classOrMemberName",i.mirror(u.cls)):(i.setField(d,Ka,"classOrMemberName",pl(t,u)),i.setField(d,gi,"bci",l<0?-1:l)),c++}return c}function pf(t,e){return t.vm.getField(e,Ka,"classOrMemberName").x}var yf={"java/lang/StackStreamFactory.checkStackWalkModes()Z":()=>1,"java/lang/StackStreamFactory$AbstractStackWalker.callStackWalk(IILjdk/internal/vm/ContinuationScope;Ljdk/internal/vm/Continuation;II[Ljava/lang/Object;)Ljava/lang/Object;":function*(t,[e,n,r,,a,s,i,c]){let o=[...er(t,a?ff(t.vm,a)??[]:t.frames)],u=0;for(;u<o.length&&Xb(o[u].m);)u++;o=o.slice(u+r),n&Vb||(o=o.filter(f=>!Qa(f.m)));let l=Zb++,d={frames:o,pos:0};ml(t).set(l,d);try{let f=bf(t,n,d,c,i,s),m=t.vm.loadBoot(hl).methodMap.get("doStackWalk(JIIII)Ljava/lang/Object;");return yield t.call(m,e,l,r,f,i,i+f)}finally{ml(t).delete(l)}},"java/lang/StackStreamFactory$AbstractStackWalker.fetchStackFrames(IJIII[Ljava/lang/Object;)I":(t,[,e,n,,r,a,s])=>{let i=ml(t).get(n);return i?bf(t,e,i,s,a,r):0},"java/lang/StackStreamFactory$AbstractStackWalker.setContinuation(J[Ljava/lang/Object;Ljdk/internal/vm/Continuation;)V":()=>{},"java/lang/StackFrameInfo.expandStackFrameInfo()V":(t,[e])=>{let n=pf(t,e);t.vm.setField(e,gi,"name",t.vm.intern(n.name)),t.vm.setField(e,gi,"type",t.vm.intern(n.desc))},"java/lang/StackTraceElement.initStackTraceElement(Ljava/lang/StackTraceElement;Ljava/lang/StackFrameInfo;)V":(t,[e,n])=>{let r=pf(t,n),a=t.vm.getField(n,gi,"bci");yi(t,e,r.cls,r.name,r.isNative?-2:a,r)},"java/lang/Thread.getStackTrace0()Ljava/lang/Object;":(t,[e])=>gf(t,e),"java/lang/Thread.dumpThreads([Ljava/lang/Thread;)[[Ljava/lang/StackTraceElement;":(t,[e])=>t.vm.newObjectArray("[Ljava/lang/StackTraceElement;",e.a.map(n=>gf(t,n)??t.vm.newObjectArray("java/lang/StackTraceElement",[])))};function gf(t,e){let n=e.x;if(!n)return null;let r=t.vm.loadBoot("java/lang/StackTraceElement"),a=[...er(n)].filter(s=>!Qa(s.m)).map(({m:s,pc:i})=>{let c=t.vm.newObject(r);return yi(t,c,s.cls,s.name,i,s),c});return t.vm.newObjectArray("java/lang/StackTraceElement",a)}var ts=[{name:"CodeCacheManager",gc:!1,pools:["CodeHeap 'profiled nmethods'","CodeHeap 'non-nmethods'","CodeHeap 'non-profiled nmethods'"]},{name:"Metaspace Manager",gc:!1,pools:["Metaspace","Compressed Class Space"]},{name:"Copy",gc:!0,pools:["Eden Space","Survivor Space"]},{name:"MarkSweepCompact",gc:!0,pools:["Eden Space","Survivor Space","Tenured Gen"]}],ns=[{name:"CodeHeap 'non-nmethods'",heap:!1,usage:!0,collection:!1},{name:"Metaspace",heap:!1,usage:!0,collection:!1},{name:"Tenured Gen",heap:!0,usage:!0,collection:!0},{name:"CodeHeap 'profiled nmethods'",heap:!1,usage:!0,collection:!1},{name:"Eden Space",heap:!0,usage:!1,collection:!0},{name:"Survivor Space",heap:!0,usage:!1,collection:!0},{name:"Compressed Class Space",heap:!1,usage:!0,collection:!1},{name:"CodeHeap 'non-profiled nmethods'",heap:!1,usage:!0,collection:!1}],vf="MarkSweepCompact",qb="Tenured Gen";function vi(t){let e=t.state.get("gcStats");return e||t.state.set("gcStats",e={count:0,ms:0}),e}function xf(){let t=globalThis.process?.memoryUsage?.();if(t)return{used:t.heapUsed,committed:t.heapTotal};let e=globalThis.performance?.memory;return e?{used:e.usedJSHeapSize,committed:e.totalJSHeapSize}:{used:0,committed:0}}function*tr(t){let e=t.vm,n=e.state.get("mgmtBeans");if(n)return n;let r=e.loadBoot("sun/management/ManagementFactoryHelper"),a=c=>r.methodMap.get(c),s=[];for(let c of ns)s.push(yield t.call(a("createMemoryPool(Ljava/lang/String;ZJJ)Ljava/lang/management/MemoryPoolMXBean;"),e.str(c.name),c.heap?1:0,c.usage?0n:-1n,c.collection?0n:-1n));let i=[];for(let c of ts)i.push(c.gc?yield t.call(a("createGarbageCollector(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/management/GarbageCollectorMXBean;"),e.str(c.name),null):yield t.call(a("createMemoryManager(Ljava/lang/String;)Ljava/lang/management/MemoryManagerMXBean;"),e.str(c.name)));return n={pools:s,managers:i},e.state.set("mgmtBeans",n),n}function*xi(t,e,n,r,a){let s=t.vm,i=s.loadBoot("java/lang/management/MemoryUsage"),c=s.newObject(i);return yield t.call(i.methodMap.get("<init>(JJJJ)V"),c,BigInt(e),BigInt(n),BigInt(r),BigInt(a)),c}function*gl(t,e){let n=yield*tr(t);if(ns[n.pools.indexOf(e)].name!==qb)return yield*xi(t,0,0,0,-1);let a=xf();return yield*xi(t,0,a.used,Math.max(a.used,a.committed),Qn)}function es(t){return[...t.threads].filter(e=>e.state!==At&&e.obj)}var ne="sun/management/VMManagementImpl.",Ln="sun/management/MemoryPoolImpl.",St="sun/management/ThreadImpl.",jf={[`${ne}getVersion0()Ljava/lang/String;`]:t=>t.vm.str("4.0"),[`${ne}initOptionalSupportFields()V`]:()=>{},[`${ne}isThreadContentionMonitoringEnabled()Z`]:()=>0,[`${ne}isThreadCpuTimeEnabled()Z`]:()=>0,[`${ne}isThreadAllocatedMemoryEnabled()Z`]:()=>0,[`${ne}endAOTRecording()Z`]:()=>0,[`${ne}getTotalClassCount()J`]:t=>BigInt(t.vm.classCount),[`${ne}getUnloadedClassCount()J`]:()=>0n,[`${ne}getVerboseClass()Z`]:()=>0,[`${ne}getVerboseGC()Z`]:()=>0,[`${ne}getProcessId()I`]:()=>globalThis.process?.pid??1,[`${ne}getVmArguments0()[Ljava/lang/String;`]:t=>t.vm.newObjectArray("java/lang/String",[]),[`${ne}getStartupTime()J`]:t=>BigInt(t.vm.startTime),[`${ne}getUptime0()J`]:t=>BigInt(Date.now()-t.vm.startTime),[`${ne}getAvailableProcessors()I`]:()=>1,[`${ne}getTotalCompileTime()J`]:()=>0n,[`${ne}getTotalThreadCount()J`]:t=>BigInt(t.vm.threadsStarted),[`${ne}getLiveThreadCount()I`]:t=>es(t.vm).length,[`${ne}getPeakThreadCount()I`]:t=>Math.max(t.vm.peakThreads,es(t.vm).length),[`${ne}getDaemonThreadCount()I`]:t=>es(t.vm).filter(e=>e.daemon).length,[`${ne}getSafepointCount()J`]:()=>0n,[`${ne}getTotalSafepointTime()J`]:()=>0n,[`${ne}getSafepointSyncTime()J`]:()=>0n,[`${ne}getTotalApplicationNonStoppedTime()J`]:t=>BigInt(Date.now()-t.vm.startTime),[`${ne}getLoadedClassSize()J`]:()=>0n,[`${ne}getUnloadedClassSize()J`]:()=>0n,[`${ne}getClassLoadingTime()J`]:()=>0n,[`${ne}getMethodDataSize()J`]:()=>0n,[`${ne}getInitializedClassCount()J`]:()=>0n,[`${ne}getClassInitializationTime()J`]:()=>0n,[`${ne}getClassVerificationTime()J`]:()=>0n,"sun/management/MemoryImpl.getMemoryPools0()[Ljava/lang/management/MemoryPoolMXBean;":function*(t){let e=yield*tr(t);return t.vm.newObjectArray("java/lang/management/MemoryPoolMXBean",e.pools)},"sun/management/MemoryImpl.getMemoryManagers0()[Ljava/lang/management/MemoryManagerMXBean;":function*(t){let e=yield*tr(t);return t.vm.newObjectArray("java/lang/management/MemoryManagerMXBean",e.managers)},"sun/management/MemoryImpl.getMemoryUsage0(Z)Ljava/lang/management/MemoryUsage;":function*(t,[,e]){if(!e)return yield*xi(t,0,0,0,-1);let n=xf();return yield*xi(t,0,n.used,Math.max(n.used,n.committed),Qn)},"sun/management/MemoryImpl.setVerboseGC(Z)V":()=>{},[`${Ln}getUsage0()Ljava/lang/management/MemoryUsage;`]:(t,[e])=>gl(t,e),[`${Ln}getPeakUsage0()Ljava/lang/management/MemoryUsage;`]:(t,[e])=>gl(t,e),[`${Ln}getCollectionUsage0()Ljava/lang/management/MemoryUsage;`]:function*(t,[e]){let n=yield*tr(t);return ns[n.pools.indexOf(e)].collection?yield*gl(t,e):null},[`${Ln}setUsageThreshold0(JJ)V`]:()=>{},[`${Ln}setCollectionThreshold0(JJ)V`]:()=>{},[`${Ln}resetPeakUsage0()V`]:()=>{},[`${Ln}getMemoryManagers0()[Ljava/lang/management/MemoryManagerMXBean;`]:function*(t,[e]){let n=yield*tr(t),r=ns[n.pools.indexOf(e)].name;return t.vm.newObjectArray("java/lang/management/MemoryManagerMXBean",n.managers.filter((a,s)=>ts[s].pools.includes(r)))},[`${Ln}setPoolUsageSensor(Lsun/management/Sensor;)V`]:()=>{},[`${Ln}setPoolCollectionSensor(Lsun/management/Sensor;)V`]:()=>{},"sun/management/MemoryManagerImpl.getMemoryPools0()[Ljava/lang/management/MemoryPoolMXBean;":function*(t,[e]){let n=yield*tr(t),r=ts[n.managers.indexOf(e)].pools;return t.vm.newObjectArray("java/lang/management/MemoryPoolMXBean",r.map(a=>n.pools[ns.findIndex(s=>s.name===a)]))},"sun/management/GarbageCollectorImpl.getCollectionCount()J":function*(t,[e]){let n=yield*tr(t);return ts[n.managers.indexOf(e)].name===vf?BigInt(vi(t.vm).count):0n},"sun/management/GarbageCollectorImpl.getCollectionTime()J":function*(t,[e]){let n=yield*tr(t);return ts[n.managers.indexOf(e)].name===vf?BigInt(Math.round(vi(t.vm).ms)):0n},[`${St}getThreads()[Ljava/lang/Thread;`]:t=>t.vm.newObjectArray("java/lang/Thread",es(t.vm).map(e=>e.obj)),[`${St}getThreadTotalCpuTime0(J)J`]:()=>-1n,[`${St}getThreadUserCpuTime0(J)J`]:()=>-1n,[`${St}getThreadAllocatedMemory0(J)J`]:()=>-1n,[`${St}getTotalThreadAllocatedMemory()J`]:()=>-1n,[`${St}setThreadCpuTimeEnabled0(Z)V`]:()=>{},[`${St}setThreadAllocatedMemoryEnabled0(Z)V`]:()=>{},[`${St}setThreadContentionMonitoringEnabled0(Z)V`]:()=>{},[`${St}findMonitorDeadlockedThreads0()[Ljava/lang/Thread;`]:()=>null,[`${St}findDeadlockedThreads0()[Ljava/lang/Thread;`]:()=>null,[`${St}resetPeakThreadCount0()V`]:t=>{t.vm.peakThreads=es(t.vm).length},[`${St}resetContentionTimes0(J)V`]:()=>{},"sun/management/HotspotThread.getInternalThreadCount()I":()=>0,"sun/management/HotspotThread.getInternalThreadTimes0([Ljava/lang/String;[J)I":()=>0,"sun/management/ClassLoadingImpl.setVerboseClass(Z)V":()=>{}};function wf(t,e,n){let r=(i,c)=>{for(let o=i.length-1;o>=0;o--)if(i[o][0]===c)return i[o][1]},a=r(t.classes,e);if(a!==void 0)return a;let s=Math.max(e.lastIndexOf("."),0);do{let i=r(t.packages,e.slice(0,s));if(i!==void 0)return i;s=Math.max(e.lastIndexOf(".",s-1),0)}while(s>0);return n?t.system:t.user}var yl=new Float32Array(1),If=new Int32Array(yl.buffer),vl=new Float64Array(1),kf=new BigInt64Array(vl.buffer);function rs(t,e){t.vm.setThreadStatus(t,e)}function wi(t){if(t.interrupted)throw t.interrupted=!1,new A("java/lang/InterruptedException")}function Ii(t,e,n){return new Promise(r=>{let a,s=()=>{a!==void 0&&(clearTimeout(a),t.vm.timers.delete(a)),t.wake=null,r()};t.wake=s,n?.(s),e!==null&&(a=setTimeout(s,Math.max(0,e)),t.vm.timers.add(a))})}function*Yb(t,e,n){let r=t.vm,a=e.mon;if(!a||a.owner!==t)throw new A("java/lang/IllegalMonitorStateException","current thread is not owner");wi(t);let s=a.count;r.releaseMonitor(a),rs(t,n>0n?ef:Qu);let i=null;yield t.block(Ii(t,n>0n?Number(n):null,o=>{i={t,wake:o},a.waiters.push(i)}));let c=a.waiters.indexOf(i);for(c>=0&&a.waiters.splice(c,1),a.owner!==null&&rs(t,di);a.owner!==null;)yield t.block(new Promise(o=>a.entry.push(o)));a.owner=t,a.count=s,rs(t,$n),wi(t)}function Kb(t,e,n,r,a,s){if(e===null||r===null)throw new A("java/lang/NullPointerException");if(!(e instanceof W))throw new A("java/lang/ArrayStoreException",`arraycopy: source type ${e.cls.javaName} is not an array`);if(!(r instanceof W))throw new A("java/lang/ArrayStoreException",`arraycopy: destination type ${r.cls.javaName} is not an array`);let i=e.cls.component,c=r.cls.component;if((i.prim||c.prim)&&i!==c)throw new A("java/lang/ArrayStoreException",`arraycopy: type mismatch: can not copy ${e.cls.javaName.replace(/^\[/,"")}[] into ${r.cls.javaName.replace(/^\[/,"")}[]`);let o=e.a,u=r.a;if(s<0||n<0||a<0||n+s>o.length||a+s>u.length){let d;throw n<0?d=`arraycopy: source index ${n} out of bounds for ${ji(e)}`:a<0?d=`arraycopy: destination index ${a} out of bounds for ${ji(r)}`:s<0?d=`arraycopy: length ${s} is negative`:n+s>o.length?d=`arraycopy: last source index ${n+s} out of bounds for ${ji(e)}`:d=`arraycopy: last destination index ${a+s} out of bounds for ${ji(r)}`,new A("java/lang/ArrayIndexOutOfBoundsException",d)}if(s===0)return;if(!Array.isArray(o)){s<=32?tp[i.prim](o,n,u,a,s):o===u?u.copyWithin(a,n,n+s):u.set(o.subarray(n,n+s),a);return}let l=u;if(i===c||i.isAssignableTo(c)){if(o===u&&n<a)for(let d=s-1;d>=0;d--)l[a+d]=o[n+d];else for(let d=0;d<s;d++)l[a+d]=o[n+d];return}for(let d=0;d<s;d++){let f=o[n+d];if(f!==null&&!f.cls.isAssignableTo(c))throw new A("java/lang/ArrayStoreException",`arraycopy: element type mismatch: can not cast one of the elements of ${e.cls.javaName.replace(/^\[L(.*);$/,"$1")}[] to the type of the destination array, ${c.javaName}`);l[a+d]=f}}var Qb="if(s===d&&sp<dp)for(let i=n-1;i>=0;i--)d[dp+i]=s[sp+i];else for(let i=0;i<n;i++)d[dp+i]=s[sp+i];",ep=(t,e,n,r,a)=>{if(t===n&&e<r)for(let s=a-1;s>=0;s--)n[r+s]=t[e+s];else for(let s=0;s<a;s++)n[r+s]=t[e+s]};function nr(){try{return new Function("s","sp","d","dp","n",Qb)}catch{return ep}}var tp={Z:nr(),B:nr(),C:nr(),S:nr(),I:nr(),J:nr(),F:nr(),D:nr()};function ji(t){let e=t.cls.component;return`${e.prim?e.javaName:"object array"}[${t.a.length}]`}function np(t,e){if(e instanceof W){let r=e.a;if(Array.isArray(r))return new W(e.cls,r.slice());let a=Te(e.cls.component.prim,r.length);return a.set(r),new W(e.cls,a)}if(!e.cls.allSupers().has(t.vm.loadBoot("java/lang/Cloneable")))throw new A("java/lang/CloneNotSupportedException",e.cls.javaName);let n=new Ge(e.cls,e.f.slice());return n.x=e.x,n}var rp={boolean:"Z",byte:"B",char:"C",short:"S",int:"I",long:"J",float:"F",double:"D",void:"V"},Af={"java/lang/Object.getClass()Ljava/lang/Class;":(t,[e])=>t.vm.mirror(e.cls),"java/lang/Object.hashCode()I":(t,[e])=>t.vm.identityHash(e),"java/lang/Object.clone()Ljava/lang/Object;":(t,[e])=>np(t,e),"java/lang/Object.notify()V":(t,[e])=>{let n=e.mon;if(!n||n.owner!==t)throw new A("java/lang/IllegalMonitorStateException","current thread is not owner");n.waiters.shift()?.wake()},"java/lang/Object.notifyAll()V":(t,[e])=>{if(!e.mon||e.mon.owner!==t)throw new A("java/lang/IllegalMonitorStateException","current thread is not owner");t.vm.notifyAll(e)},"java/lang/Object.wait0(J)V":(t,[e,n])=>Yb(t,e,n),"java/lang/System.setIn0(Ljava/io/InputStream;)V":(t,[e])=>t.vm.setStatic(t.vm.loadBoot("java/lang/System"),"in",e),"java/lang/System.setOut0(Ljava/io/PrintStream;)V":(t,[e])=>t.vm.setStatic(t.vm.loadBoot("java/lang/System"),"out",e),"java/lang/System.setErr0(Ljava/io/PrintStream;)V":(t,[e])=>t.vm.setStatic(t.vm.loadBoot("java/lang/System"),"err",e),"java/lang/System.currentTimeMillis()J":()=>BigInt(Date.now()),"java/lang/System.nanoTime()J":()=>BigInt(Math.round(performance.now()*1e6)),"java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V":(t,[e,n,r,a,s])=>Kb(t,e,n,r,a,s),"java/lang/System.identityHashCode(Ljava/lang/Object;)I":(t,[e])=>e===null?0:t.vm.identityHash(e),"java/lang/System.mapLibraryName(Ljava/lang/String;)Ljava/lang/String;":(t,[e])=>{let n=on(t,vt(e)),a=(t.vm.props.get("java.library.path")??"").split(":").filter(Boolean).some(s=>t.vm.fs.stat(Pe(`${s}/${n}.js`)));return t.vm.str(a?`${n}.js`:`lib${n}.so`)},"java/lang/Class.getPrimitiveClass(Ljava/lang/String;)Ljava/lang/Class;":(t,[e])=>{let n=rp[t.vm.jsString(e)];if(!n)throw new A("java/lang/ClassNotFoundException",t.vm.jsString(e));return t.vm.mirror(t.vm.primClass(n))},"java/lang/Class.desiredAssertionStatus0(Ljava/lang/Class;)Z":(t,[e])=>{let n=t.vm.opts.assertions,r=t.vm.classOf(vt(e));return n&&wf(n,r.javaName,r.loader===null)?1:0},"java/lang/Class.initClassName()Ljava/lang/String;":(t,[e])=>{let n=t.vm.intern(t.vm.classOf(e).javaName);return t.vm.setField(e,"java/lang/Class","name",n),n},"java/lang/Class.isInstance(Ljava/lang/Object;)Z":(t,[e,n])=>n!==null&&n.cls.isAssignableTo(t.vm.classOf(e)),"java/lang/Class.isAssignableFrom(Ljava/lang/Class;)Z":(t,[e,n])=>t.vm.classOf(vt(n)).isAssignableTo(t.vm.classOf(e)),"java/lang/Class.getSuperclass()Ljava/lang/Class;":(t,[e])=>{let n=t.vm.classOf(e);return n.isInterface||n.prim?null:n.superclass?t.vm.mirror(n.superclass):null},"java/lang/Class.getInterfaces0()[Ljava/lang/Class;":(t,[e])=>{let n=t.vm.classOf(e);return t.vm.newObjectArray("java/lang/Class",n.interfaces.map(r=>t.vm.mirror(r)))},"java/lang/Class.isHidden()Z":(t,[e])=>t.vm.classOf(e).hidden,"java/lang/Class.getClassAccessFlagsRaw0()I":(t,[e])=>t.vm.classOf(e).access,"java/lang/Class.getClassFileVersion0()I":(t,[e])=>{let n=t.vm.classOf(e);for(;n.component;)n=n.component;let r=n.cf;return r?r.major|r.minor<<16:69},"java/lang/Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;":(t,[e,n,r])=>ap(t,t.vm.jsString(vt(e)),n===1,r),"java/lang/Thread.currentThread()Ljava/lang/Thread;":t=>t.mounted??t.obj,"java/lang/Thread.currentCarrierThread()Ljava/lang/Thread;":t=>t.obj,"java/lang/Thread.setCurrentThread(Ljava/lang/Thread;)V":(t,[,e])=>{t.mounted=e===t.obj?null:e},"java/lang/Thread.findScopedValueBindings()Ljava/lang/Object;":()=>null,"java/lang/Thread.scopedValueCache()[Ljava/lang/Object;":t=>t.scopedValueCache,"java/lang/Thread.setScopedValueCache([Ljava/lang/Object;)V":(t,[e])=>{t.scopedValueCache=e},"java/lang/Thread.ensureMaterializedForStackWalk(Ljava/lang/Object;)V":()=>{},"java/lang/Thread.yield0()V":()=>{},"java/lang/Thread.sleepNanos0(J)V":function*(t,[e]){wi(t),rs(t,Ku);let n=performance.now()+Number(e)/1e6;try{for(let r=n-performance.now();r>0;r=n-performance.now())yield t.block(Ii(t,r)),wi(t)}finally{rs(t,$n)}},"java/lang/Thread.start0()V":(t,[e])=>{let n=t.vm.javaThread(e);t.vm.setField(e,"java/lang/Thread","eetop",BigInt(n.id));let r=t.vm.getField(e,"java/lang/Thread","holder");t.vm.setField(r,"java/lang/Thread$FieldHolder","threadStatus",$n),t.vm.startThread(n)},"java/lang/Thread.holdsLock(Ljava/lang/Object;)Z":(t,[e])=>vt(e).mon?.owner===t,"java/lang/Thread.getThreads()[Ljava/lang/Thread;":t=>t.vm.newObjectArray("java/lang/Thread",[...t.vm.threads].filter(e=>e.state!==At&&e.obj).map(e=>e.obj)),"java/lang/Thread.setPriority0(I)V":()=>{},"java/lang/Thread.interrupt0()V":(t,[e])=>{e.x?.wake?.()},"java/lang/Thread.clearInterruptEvent()V":()=>{},"java/lang/Thread.setNativeName(Ljava/lang/String;)V":()=>{},"java/lang/Thread.getNextThreadIdOffset()J":t=>{let e=t.vm.state.get("tidAddr");return e===void 0&&(e=t.vm.mem.malloc(8),t.vm.mem.dv.setBigInt64(e,4n,!0),t.vm.state.set("tidAddr",e)),BigInt(e)},"java/lang/Throwable.fillInStackTrace(I)Ljava/lang/Throwable;":(t,[e])=>{let n=[],r=!0;for(let a of er(t)){if(r){if(a.m.name==="fillInStackTrace"&&e.cls.isSubclassOf(a.m.cls)||a.m.name==="<init>"&&e.cls.isSubclassOf(a.m.cls))continue;r=!1}if(!Qa(a.m)){if(n.length===1024)break;n.push(a)}}return t.vm.setField(e,"java/lang/Throwable","backtrace",n),t.vm.setField(e,"java/lang/Throwable","depth",n.length),e},"java/lang/StackTraceElement.initStackTraceElements([Ljava/lang/StackTraceElement;Ljava/lang/Object;I)V":(t,[e,n,r])=>{for(let a=0;a<r;a++)yi(t,e.a[a],n[a].m.cls,n[a].m.name,n[a].pc,n[a].m)},"java/lang/String.intern()Ljava/lang/String;":(t,[e])=>t.vm.internObject(e),"java/lang/StringUTF16.isBigEndian()Z":()=>0,"java/lang/Float.floatToRawIntBits(F)I":(t,[e])=>(yl[0]=e,If[0]),"java/lang/Float.intBitsToFloat(I)F":(t,[e])=>(If[0]=e,yl[0]),"java/lang/Double.doubleToRawLongBits(D)J":(t,[e])=>(vl[0]=e,kf[0]),"java/lang/Double.longBitsToDouble(J)D":(t,[e])=>(kf[0]=e,vl[0]),"java/lang/Runtime.availableProcessors()I":()=>1,"java/lang/Runtime.freeMemory()J":()=>256n<<20n,"java/lang/Runtime.totalMemory()J":()=>512n<<20n,"java/lang/Runtime.maxMemory()J":()=>BigInt(Qn),"java/lang/Runtime.gc()V":function*(t){let e=vi(t.vm);e.count++;let n=globalThis.gc;if(!n)return;yield t.block(new Promise(a=>setTimeout(a,0)));for(let a of t.vm.threads)for(let s of a.frames)s instanceof Oe&&s.stack&&s.stack.fill(void 0,s.sp);let r=performance.now();n(),e.ms+=performance.now()-r},"java/lang/Shutdown.beforeHalt()V":()=>{},"java/lang/Shutdown.halt0(I)V":(t,[e])=>t.vm.halt(e)};function yi(t,e,n,r,a,s){let i=t.vm,c="java/lang/StackTraceElement";if(i.setField(e,c,"declaringClassObject",i.mirror(n)),i.setField(e,c,"declaringClass",i.intern(n.javaName)),i.setField(e,c,"methodName",i.intern(r)),n.loader){let l=i.getField(n.loader,"java/lang/ClassLoader","name");l&&i.setField(e,c,"classLoaderName",l)}let o=i.moduleOf(n);if(o){let l=i.getField(o,"java/lang/Module","name");if(l){i.setField(e,c,"moduleName",l);let d=i.shownVersion(o);d&&i.setField(e,c,"moduleVersion",i.intern(d))}}let u=mf(n);i.setField(e,c,"fileName",u?i.intern(u):null),i.setField(e,c,"lineNumber",a===-2?-2:s?s.lineAt(a):-1)}function*ap(t,e,n,r){let a=t.vm;if(e.includes("/")||e.length===0||/^\[{256}/.test(e))throw new A("java/lang/ClassNotFoundException",e);let s=e.replace(/\./g,"/"),i;try{i=yield*a.loadClassGen(t,r,s,!0)}catch(c){throw c instanceof A&&c.cls==="java/lang/NoClassDefFoundError"?new A("java/lang/ClassNotFoundException",e):c}return n&&i.state!==3&&!i.component&&(yield*a.initGen(t,i)),a.mirror(i)}var sp=20703,ip=7679;function ki(t,e,n){let r=e.get(n);return r?_(t.cf.cp,ue(r,0)):null}function ln(t,e,n){let r=e?.get(n);if(!r)return null;let a=t.vm.newArray(t.vm.primClass("B"),r.length);return a.a.set(new Int8Array(r.buffer,r.byteOffset,r.length)),a}function*cn(t,e,n){let r=t.vm,a=0;for(;n[a]==="[";)a++;let s;n[a]==="L"?s=yield*r.loadClassGen(t,e.loader,n.slice(a+1,-1)):s=r.primClass(n[a]);for(let i=0;i<a;i++)s=r.arrayOf(s);return s}function*op(t,e,n){let r=[];for(let a of n)r.push(t.vm.mirror(yield*cn(t,e,a)));return t.vm.newObjectArray("java/lang/Class",r)}function*lp(t,e){let n=e.attrs.get("Exceptions"),r=[];if(n){let a=ue(n,0);for(let s=0;s<a;s++){let i=de(e.cls.cf.cp,ue(n,2+s*2));r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,e.cls.loader,i)))}}return t.vm.newObjectArray("java/lang/Class",r)}function*la(t,e){let n=t.vm.loadBoot(e);return n.state!==z&&(yield*t.vm.initGen(t,n)),n}function*cp(t,e){let n=t.vm,r="java/lang/reflect/Field",a=n.newObject(yield*la(t,r)),s=e.cls;n.setField(a,r,"clazz",n.mirror(s)),n.setField(a,r,"slot",e.index),n.setField(a,r,"name",n.intern(e.name)),n.setField(a,r,"type",n.mirror(yield*cn(t,s,e.desc))),n.setField(a,r,"modifiers",e.access&sp);let i=s.superclass?.name==="java/lang/Record";n.setField(a,r,"trustedFinal",e.access&Ie&&(e.access>||i||s.hidden)?1:0);let c=ki(s,e.attrs,"Signature");return n.setField(a,r,"signature",c?n.intern(c):null),n.setField(a,r,"annotations",ln(t,e.attrs,"RuntimeVisibleAnnotations")),a}function*xl(t,e){let n=t.vm,r=e.cls,a=e.name==="<init>",s=a?"java/lang/reflect/Constructor":"java/lang/reflect/Method",i=n.newObject(yield*la(t,s));n.setField(i,s,"clazz",n.mirror(r)),n.setField(i,s,"slot",e.index),n.setField(i,s,"parameterTypes",yield*op(t,r,e.params)),n.setField(i,s,"exceptionTypes",yield*lp(t,e)),n.setField(i,s,"modifiers",e.access&ip);let c=ki(r,e.attrs,"Signature");return n.setField(i,s,"signature",c?n.intern(c):null),n.setField(i,s,"annotations",ln(t,e.attrs,"RuntimeVisibleAnnotations")),n.setField(i,s,"parameterAnnotations",ln(t,e.attrs,"RuntimeVisibleParameterAnnotations")),a||(n.setField(i,s,"name",n.intern(e.name)),n.setField(i,s,"returnType",n.mirror(yield*cn(t,r,e.ret))),n.setField(i,s,"annotationDefault",ln(t,e.attrs,"AnnotationDefault"))),i}function oa(t,e){let n=t.vm,r=e.cls.name;return n.classOf(n.getField(e,r,"clazz")).methods[n.getField(e,r,"slot")]}function jl(t){let e=t.cf?.attrs.get("InnerClasses");if(!e)return[];let n=t.cf.cp,r=[];for(let a=0,s=ue(e,0);a<s;a++){let i=2+a*8,c=ue(e,i),o=ue(e,i+2),u=ue(e,i+4);r.push({inner:de(n,c),outer:o?de(n,o):null,name:u?_(n,u):null,flags:ue(e,i+6)})}return r}function*rr(t,e){if(e.nestHost)return e.nestHost;let n=e,r=e.cf?.attrs.get("NestHost");if(r)try{let a=yield*t.vm.loadClassGen(t,e.loader,de(e.cf.cp,ue(r,0)));a.loader===e.loader&&a.packageName===e.packageName&&wl(a,"NestMembers").includes(e.name)&&(n=a)}catch{}return e.nestHost=n}function wl(t,e){let n=t.cf?.attrs.get(e);if(!n)return[];let r=[];for(let a=0,s=ue(n,0);a<s;a++)r.push(de(t.cf.cp,ue(n,2+a*2)));return r}var Mf={Z:"java/lang/Boolean",B:"java/lang/Byte",C:"java/lang/Character",S:"java/lang/Short",I:"java/lang/Integer",J:"java/lang/Long",F:"java/lang/Float",D:"java/lang/Double"},up=Object.fromEntries(Object.entries(Mf).map(([t,e])=>[e,t])),Il={B:"SIJFD",S:"IJFD",C:"IJFD",I:"JFD",J:"FD",F:"D",Z:"",D:""};function*Jr(t,e,n){let r=Mf[e];if(!r)return n;let a=yield*la(t,r);return yield t.call(a.methodMap.get(`valueOf(${e})L${r};`),n)}function kl(t,e,n){return e===n?t:e==="J"?n==="F"?Math.fround(Number(t)):Number(t):n==="J"?BigInt(t):n==="F"?Math.fround(t):t}function*$f(t,e,n,r){if(n[0]==="L"||n[0]==="["){if(r===null)return null;let s=yield*cn(t,e,n);if(!r.cls.isAssignableTo(s))throw new A("java/lang/IllegalArgumentException","argument type mismatch");return r}let a=r?up[r.cls.name]:void 0;if(!a||a!==n&&!Il[a].includes(n))throw new A("java/lang/IllegalArgumentException",r===null?"null value for primitive parameter":"argument type mismatch");return kl(t.vm.getField(r,r.cls.name,"value"),a,n)}function*Sf(t,e,n,r){let a=t.vm,s=r?.a??[];if(s.length!==e.params.length)throw new A("java/lang/IllegalArgumentException",`wrong number of arguments: ${s.length} expected: ${e.params.length}`);let i=[],c=e;if(e.isStatic)e.cls.state!==z&&(yield*a.initGen(t,e.cls));else{if(n===null)throw new A("java/lang/NullPointerException");if(!n.cls.isAssignableTo(e.cls))throw new A("java/lang/IllegalArgumentException","object is not an instance of declaring class");!e.isPrivate&&e.name!=="<init>"&&(c=n.cls.selectMethod(e.key)??e),i.push(n)}for(let u=0;u<e.params.length;u++)i.push(yield*$f(t,e.cls,e.params[u],s[u]));let o;try{o=yield t.call(c,...i)}catch(u){throw u instanceof oe?new oe(yield*a.newThrowable(t,"java/lang/reflect/InvocationTargetException",null,u.obj)):u}return e.ret==="V"?null:yield*Jr(t,e.ret,o)}function fp(t,e,n){let r=t.top;if(!n||n.a.length<2||!(r instanceof Oe)||r.m.name!=="invoke"||r.m.cls.name!=="jdk/internal/reflect/DirectMethodHandleAccessor$NativeAccessor"||r.m.desc!=="(Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;"||!Sr(e.cls,e.attrs.get("RuntimeInvisibleAnnotations")).includes("Ljdk/internal/reflect/CallerSensitiveAdapter;"))return n;let a=n.a;return new W(n.cls,[...a.slice(1),a[0]])}var _e="java/lang/Class.",Jf="java/lang/reflect/Executable.",ot="jdk/internal/reflect/ConstantPool.";function xt(t,e){return t.vm.classOf(e).cf.cp}var as={[`${_e}getDeclaredFields0(Z)[Ljava/lang/reflect/Field;`]:function*(t,[e,n]){let r=t.vm.classOf(e),a=[];for(let s of r.fields)(!n||s.access&1)&&!r.vmMembers?.has(s)&&a.push(yield*cp(t,s));return t.vm.newObjectArray("java/lang/reflect/Field",a)},[`${_e}getDeclaredMethods0(Z)[Ljava/lang/reflect/Method;`]:function*(t,[e,n]){let r=t.vm.classOf(e),a=[];for(let s of r.methods)s.name[0]==="<"||n&&!(s.access&1)||r.vmMembers?.has(s)||a.push(yield*xl(t,s));return t.vm.newObjectArray("java/lang/reflect/Method",a)},[`${_e}getDeclaredConstructors0(Z)[Ljava/lang/reflect/Constructor;`]:function*(t,[e,n]){let r=t.vm.classOf(e),a=[];if(!r.isInterface&&!r.prim&&!r.component)for(let s of r.methods)s.name!=="<init>"||n&&!(s.access&1)||a.push(yield*xl(t,s));return t.vm.newObjectArray("java/lang/reflect/Constructor",a)},[`${_e}getDeclaredClasses0()[Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e),r=[];for(let a of jl(n))a.outer===n.name&&a.inner!==n.name&&r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,a.inner)));return t.vm.newObjectArray("java/lang/Class",r)},[`${_e}getDeclaringClass0()Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e),r=jl(n).find(a=>a.inner===n.name);return r?.outer?t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,r.outer)):null},[`${_e}getSimpleBinaryName0()Ljava/lang/String;`]:(t,[e])=>{let n=t.vm.classOf(e),r=jl(n).find(a=>a.inner===n.name);return r?.name?t.vm.intern(r.name):null},[`${_e}getEnclosingMethod0()[Ljava/lang/Object;`]:function*(t,[e]){let n=t.vm.classOf(e),r=n.cf?.attrs.get("EnclosingMethod");if(!r)return null;let a=n.cf.cp,s=yield*t.vm.loadClassGen(t,n.loader,de(a,ue(r,0))),i=ue(r,2),c=i?a[i]:null;return t.vm.newObjectArray("java/lang/Object",[t.vm.mirror(s),c?t.vm.intern(_(a,c.a)):null,c?t.vm.intern(_(a,c.b)):null])},[`${_e}getNestHost0()Ljava/lang/Class;`]:function*(t,[e]){return t.vm.mirror(yield*rr(t,t.vm.classOf(e)))},[`${_e}getNestMembers0()[Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e),r=[e];for(let a of wl(n,"NestMembers"))r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,a)));return t.vm.newObjectArray("java/lang/Class",r)},[`${_e}getPermittedSubclasses0()[Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e);if(!n.cf?.attrs.has("PermittedSubclasses"))return null;let r=[];for(let a of wl(n,"PermittedSubclasses"))r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,a)));return t.vm.newObjectArray("java/lang/Class",r)},[`${_e}isRecord0()Z`]:(t,[e])=>{let n=t.vm.classOf(e);return n.superclass?.name==="java/lang/Record"&&!!n.cf?.attrs.has("Record")},[`${_e}getRecordComponents0()[Ljava/lang/reflect/RecordComponent;`]:function*(t,[e]){let n=t.vm,r=n.classOf(e),a=r.cf?.attrs.get("Record");if(!a)return null;let s=r.cf.cp,i="java/lang/reflect/RecordComponent",c=yield*la(t,i),o=[],u=new Xn(a);for(let l=0,d=u.u2();l<d;l++){let f=_(s,u.u2()),m=_(s,u.u2()),p=new Map;for(let h=u.u2();h>0;h--){let j=_(s,u.u2());p.set(j,u.slice(u.u4()))}let b=n.newObject(c);n.setField(b,i,"clazz",e),n.setField(b,i,"name",n.intern(f)),n.setField(b,i,"type",n.mirror(yield*cn(t,r,m)));let y=r.methodMap.get(`${f}()${m}`);n.setField(b,i,"accessor",y?yield*xl(t,y):null);let g=ki(r,p,"Signature");n.setField(b,i,"signature",g?n.intern(g):null),n.setField(b,i,"annotations",ln(t,p,"RuntimeVisibleAnnotations")),n.setField(b,i,"typeAnnotations",ln(t,p,"RuntimeVisibleTypeAnnotations")),o.push(b)}return n.newObjectArray(i,o)},[`${_e}getGenericSignature0()Ljava/lang/String;`]:(t,[e])=>{let n=t.vm.classOf(e),r=n.cf?ki(n,n.cf.attrs,"Signature"):null;return r?t.vm.intern(r):null},[`${_e}getRawAnnotations()[B`]:(t,[e])=>ln(t,t.vm.classOf(e).cf?.attrs,"RuntimeVisibleAnnotations"),[`${_e}getRawTypeAnnotations()[B`]:(t,[e])=>ln(t,t.vm.classOf(e).cf?.attrs,"RuntimeVisibleTypeAnnotations"),[`${Jf}getTypeAnnotationBytes0()[B`]:(t,[e])=>ln(t,oa(t,e).attrs,"RuntimeVisibleTypeAnnotations"),"java/lang/reflect/Field.getTypeAnnotationBytes0()[B":(t,[e])=>{let r=t.vm.classOf(t.vm.getField(e,"java/lang/reflect/Field","clazz")).fields[t.vm.getField(e,"java/lang/reflect/Field","slot")];return ln(t,r.attrs,"RuntimeVisibleTypeAnnotations")},[`${Jf}getParameters0()[Ljava/lang/reflect/Parameter;`]:function*(t,[e]){let n=t.vm,r=oa(t,e),a=r.attrs.get("MethodParameters");if(!a)return null;let s=r.cls.cf.cp,i="java/lang/reflect/Parameter",c=yield*la(t,i),o=[];for(let u=0;u<a[0];u++){let l=ue(a,1+u*4),d=ue(a,3+u*4);if(l>=s.length)throw new A("java/lang/IllegalArgumentException","Constant pool index out of bounds");if(l!==0&&s[l]?.tag!==B.Utf8)throw new A("java/lang/IllegalArgumentException","Wrong type at constant pool index");let f=n.newObject(c),m=l?n.str(_(s,l)):null;yield t.call(c.methodMap.get("<init>(Ljava/lang/String;ILjava/lang/reflect/Executable;I)V"),f,m,d,e,u),o.push(f)}return n.newObjectArray(i,o)},[`${_e}getConstantPool()Ljdk/internal/reflect/ConstantPool;`]:function*(t,[e]){let n=yield*la(t,"jdk/internal/reflect/ConstantPool"),r=t.vm.newObject(n);return t.vm.setField(r,"jdk/internal/reflect/ConstantPool","constantPoolOop",e),r},"jdk/internal/reflect/DirectMethodHandleAccessor$NativeAccessor.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;":(t,[e,n,r])=>{let a=oa(t,e);return Sf(t,a,n,fp(t,a,r))},"jdk/internal/reflect/DirectConstructorHandleAccessor$NativeAccessor.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;":function*(t,[e,n]){let r=oa(t,e);if(r.cls.access&1024)throw new A("java/lang/InstantiationException",r.cls.javaName);r.cls.state!==z&&(yield*t.vm.initGen(t,r.cls));let a=t.vm.newObject(r.cls);return yield*Sf(t,r,a,n),a},"java/lang/reflect/Array.getLength(Ljava/lang/Object;)I":(t,[e])=>{if(e===null)throw new A("java/lang/NullPointerException");if(!(e instanceof W))throw new A("java/lang/IllegalArgumentException","Argument is not an array");return e.a.length},"java/lang/reflect/Array.newArray(Ljava/lang/Class;I)Ljava/lang/Object;":(t,[e,n])=>{let r=t.vm.classOf(e);if(r.prim==="V")throw new A("java/lang/IllegalArgumentException");if(dp(r)>=255)throw new A("java/lang/IllegalArgumentException","Array type exceeds 255 dimensions");if(n<0)throw new A("java/lang/NegativeArraySizeException",String(n));return new W(t.vm.arrayOf(r),Te(r.prim??"L",n))},"java/lang/reflect/Array.multiNewArray(Ljava/lang/Class;[I)Ljava/lang/Object;":(t,[e,n])=>{let r=t.vm.classOf(e),a=[...n.a];if(a.length===0)throw new A("java/lang/IllegalArgumentException","Empty dimensions array");if(a.length+Tf(r)>255)throw new A("java/lang/IllegalArgumentException","Array type exceeds 255 dimensions");for(let s of a)if(s<0)throw new A("java/lang/NegativeArraySizeException",String(s));for(let s=0;s<a.length;s++)r=t.vm.arrayOf(r);return t.vm.multiArray(r,a)},"java/lang/reflect/Array.get(Ljava/lang/Object;I)Ljava/lang/Object;":function*(t,[e,n]){let r=Ai(e,n),a=r.cls.component.prim;return a?yield*Jr(t,a,r.a[n]):r.a[n]},"java/lang/reflect/Array.set(Ljava/lang/Object;ILjava/lang/Object;)V":function*(t,[e,n,r]){let a=Ai(e,n),s=a.cls.component;if(s.prim)a.a[n]=yield*$f(t,s,s.prim,r);else{if(r!==null&&!r.cls.isAssignableTo(s))throw new A("java/lang/IllegalArgumentException","array element type mismatch");a.a[n]=r}}};function Tf(t){let e=0;for(let n=t;n?.component;n=n.component)e++;return e}var dp=Tf;function Ai(t,e){if(t===null)throw new A("java/lang/NullPointerException");if(!(t instanceof W))throw new A("java/lang/IllegalArgumentException","Argument is not an array");if(e<0||e>=t.a.length)throw new A("java/lang/ArrayIndexOutOfBoundsException",`Index ${e} out of bounds for length ${t.a.length}`);return t}for(let[t,e]of Object.entries({Boolean:"Z",Byte:"B",Char:"C",Short:"S",Int:"I",Long:"J",Float:"F",Double:"D"}))as[`java/lang/reflect/Array.get${t}(Ljava/lang/Object;I)${e}`]=(n,[r,a])=>{let s=Ai(r,a),i=s.cls.component.prim;if(!i||i!==e&&!Il[i].includes(e))throw new A("java/lang/IllegalArgumentException","Argument is not an array of the right type");return kl(s.a[a],i,e)},as[`java/lang/reflect/Array.set${t}(Ljava/lang/Object;I${e})V`]=(n,[r,a,s])=>{let i=Ai(r,a),c=i.cls.component.prim;if(!c||c!==e&&!Il[e].includes(c))throw new A("java/lang/IllegalArgumentException","argument type mismatch");i.a[a]=kl(s,e,c)};Object.assign(as,{[`${ot}getSize0(Ljava/lang/Object;)I`]:(t,[,e])=>xt(t,e).length,[`${ot}getIntAt0(Ljava/lang/Object;I)I`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getLongAt0(Ljava/lang/Object;I)J`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getFloatAt0(Ljava/lang/Object;I)F`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getDoubleAt0(Ljava/lang/Object;I)D`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getUTF8At0(Ljava/lang/Object;I)Ljava/lang/String;`]:(t,[,e,n])=>t.vm.intern(_(xt(t,e),n)),[`${ot}getStringAt0(Ljava/lang/Object;I)Ljava/lang/String;`]:(t,[,e,n])=>t.vm.intern(_(xt(t,e),xt(t,e)[n].a)),[`${ot}getTagAt0(Ljava/lang/Object;I)B`]:(t,[,e,n])=>xt(t,e)[n]?.tag??0,[`${ot}getClassAt0(Ljava/lang/Object;I)Ljava/lang/Class;`]:function*(t,[,e,n]){let r=t.vm.classOf(e);return t.vm.mirror(yield*t.vm.loadClassGen(t,r.loader,de(r.cf.cp,n)))},[`${ot}getClassAtIfLoaded0(Ljava/lang/Object;I)Ljava/lang/Class;`]:(t,[,e,n])=>{let r=t.vm.classOf(e),a=t.vm.findLoaded(r.loader,de(r.cf.cp,n));return a?t.vm.mirror(a):null},[`${ot}getMemberRefInfoAt0(Ljava/lang/Object;I)[Ljava/lang/String;`]:(t,[,e,n])=>{let r=xt(t,e),a=r[n],s=r[a.b];return t.vm.newObjectArray("java/lang/String",[de(r,a.a),_(r,s.a),_(r,s.b)].map(i=>t.vm.intern(i)))},[`${ot}getNameAndTypeRefInfoAt0(Ljava/lang/Object;I)[Ljava/lang/String;`]:(t,[,e,n])=>{let r=xt(t,e),a=r[n];return t.vm.newObjectArray("java/lang/String",[_(r,a.a),_(r,a.b)].map(s=>t.vm.intern(s)))},[`${ot}getClassRefIndexAt0(Ljava/lang/Object;I)I`]:(t,[,e,n])=>xt(t,e)[n].a,[`${ot}getNameAndTypeRefIndexAt0(Ljava/lang/Object;I)I`]:(t,[,e,n])=>xt(t,e)[n].b});var Al=4,Sl={Z:1,B:1,S:2,C:2,I:4,J:8,F:4,D:8};function mp(t){let e=t.component.prim;return e?Sl[e]:Al}function Ef(t){let e=t.a;return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ff(t,e,n){switch(n){case"Z":return t.getInt8(e)!==0?1:0;case"B":return t.getInt8(e);case"S":return t.getInt16(e,!0);case"C":return t.getUint16(e,!0);case"I":return t.getInt32(e,!0);case"J":return t.getBigInt64(e,!0);case"F":return t.getFloat32(e,!0);case"D":return t.getFloat64(e,!0)}throw new Error(`bad kind ${n}`)}function Of(t,e,n,r){switch(n){case"Z":case"B":t.setInt8(e,r);return;case"S":case"C":t.setInt16(e,r,!0);return;case"I":t.setInt32(e,r,!0);return;case"J":t.setBigInt64(e,r,!0);return;case"F":t.setFloat32(e,r,!0);return;case"D":t.setFloat64(e,r,!0);return}throw new Error(`bad kind ${n}`)}function Pf(t,e){return t===e||t==="Z"&&e==="B"||t==="B"&&e==="Z"}function Df(t,e,n,r){let a=Number(n);if(e===null){if(r==="L")throw new Error("reference read from native memory");return Ff(t.vm.mem.dv,a,r)}if(e instanceof W){let s=e.cls.component.prim??"L";return s==="L"?e.a[(a-Fn)/Al]:Pf(s,r)?e.a[(a-Fn)/Sl[s]]:Ff(Ef(e),a-Fn,r)}return a>=Kn&&e.x instanceof Tn?e.x.statics[a-Kn]:e.f[a]}function Rf(t,e,n,r,a){let s=Number(n);if(e===null){Of(t.vm.mem.dv,s,r,a);return}if(e instanceof W){let i=e.cls.component.prim??"L";i==="L"?e.a[(s-Fn)/Al]=a:Pf(i,r)?e.a[(s-Fn)/Sl[i]]=a:Of(Ef(e),s-Fn,r,a);return}s>=Kn&&e.x instanceof Tn?e.x.statics[s-Kn]=a:e.f[s]=a}function Si(t,e,n,r,a,s){let i=Df(t,e,n,r);return i===a&&Rf(t,e,n,r,s),i}function ss(t,e,n){if(e===null)return[t.vm.mem.u8,Number(n)];let r=e.a;return[new Uint8Array(r.buffer,r.byteOffset,r.byteLength),Number(n)-Fn]}function is(t,e){let n=t.vm;return n.classOf(n.getField(e,"java/lang/reflect/Field","clazz")).fields[n.getField(e,"java/lang/reflect/Field","slot")]}var hp=[["Int","I"],["Reference","L"],["Boolean","Z"],["Byte","B"],["Short","S"],["Char","C"],["Long","J"],["Float","F"],["Double","D"]],ca={},re="jdk/internal/misc/Unsafe.";for(let[t,e]of hp){let n=e==="L"?"Ljava/lang/Object;":e;for(let r of["","Volatile"])ca[`${re}get${t}${r}(Ljava/lang/Object;J)${n}`]=(a,[,s,i])=>Df(a,s,i,e),ca[`${re}put${t}${r}(Ljava/lang/Object;J${n})V`]=(a,[,s,i,c])=>Rf(a,s,i,e,c)}for(let[t,e,n]of[["Int","I","I"],["Long","J","J"],["Reference","L","Ljava/lang/Object;"]])ca[`${re}compareAndSet${t}(Ljava/lang/Object;J${n}${n})Z`]=(r,[,a,s,i,c])=>Si(r,a,s,e,i,c)===i,ca[`${re}compareAndExchange${t}(Ljava/lang/Object;J${n}${n})${n}`]=(r,[,a,s,i,c])=>Si(r,a,s,e,i,c);var Uf={[`${re}compareAndExchangeByte(Ljava/lang/Object;JBB)B`]:(t,[,e,n,r,a])=>Si(t,e,n,"B",r,a),[`${re}compareAndExchangeShort(Ljava/lang/Object;JSS)S`]:(t,[,e,n,r,a])=>Si(t,e,n,"S",r,a)};function*bp(t,e,n){if(t.parkPermit){t.parkPermit=!1;return}if(t.interrupted)return;let r=null;e?r=Number(n)-Date.now():n>0n&&(r=Number(n)/1e6),!(r!==null&&r<=0)&&(t.vm.state.set(`parked:${t.id}`,!0),Lf(t,r===null?tf:nf),yield t.block(Ii(t,r)),t.vm.state.delete(`parked:${t.id}`),Lf(t,$n),t.parkPermit=!1)}function Lf(t,e){if(!t.obj)return;let n=t.vm.getField(t.obj,"java/lang/Thread","holder");n&&t.vm.setField(n,"java/lang/Thread$FieldHolder","threadStatus",e)}Object.assign(ca,{[`${re}park(ZJ)V`]:(t,[,e,n])=>bp(t,e===1,n),[`${re}unpark(Ljava/lang/Object;)V`]:(t,[,e])=>{let n=e?.x;n instanceof qn&&(n.parkPermit=!0,t.vm.state.get(`parked:${n.id}`)&&n.wake?.())},[`${re}fullFence()V`]:()=>{},[`${re}allocateMemory0(J)J`]:(t,[,e])=>BigInt(t.vm.mem.malloc(Number(e))),[`${re}reallocateMemory0(JJ)J`]:(t,[,e,n])=>BigInt(t.vm.mem.realloc(Number(e),Number(n))),[`${re}freeMemory0(J)V`]:(t,[,e])=>t.vm.mem.freeBlock(Number(e)),[`${re}setMemory0(Ljava/lang/Object;JJB)V`]:(t,[,e,n,r,a])=>{let[s,i]=ss(t,e,n);s.fill(a&255,i,i+Number(r))},[`${re}copyMemory0(Ljava/lang/Object;JLjava/lang/Object;JJ)V`]:(t,[,e,n,r,a,s])=>{let[i,c]=ss(t,e,n),[o,u]=ss(t,r,a);o.set(i.subarray(c,c+Number(s)),u)},[`${re}copySwapMemory0(Ljava/lang/Object;JLjava/lang/Object;JJJ)V`]:(t,[,e,n,r,a,s,i])=>{let[c,o]=ss(t,e,n),[u,l]=ss(t,r,a),d=Number(i),f=Number(s),m=c.slice(o,o+f);for(let p=0;p<f;p+=d)for(let b=0;b<d;b++)u[l+p+b]=m[p+d-1-b]},[`${re}objectFieldOffset0(Ljava/lang/reflect/Field;)J`]:(t,[,e])=>BigInt(is(t,e).slot),[`${re}objectFieldOffset1(Ljava/lang/Class;Ljava/lang/String;)J`]:(t,[,e,n])=>{let r=t.vm.jsString(n),a=t.vm.classOf(e).findField(r);if(!a||a.isStatic)throw new A("java/lang/InternalError",r);return BigInt(a.slot)},[`${re}staticFieldOffset0(Ljava/lang/reflect/Field;)J`]:(t,[,e])=>BigInt(Kn+is(t,e).slot),[`${re}staticFieldBase0(Ljava/lang/reflect/Field;)Ljava/lang/Object;`]:(t,[,e])=>t.vm.mirror(is(t,e).cls),[`${re}shouldBeInitialized0(Ljava/lang/Class;)Z`]:(t,[,e])=>t.vm.classOf(e).state!==z,[`${re}ensureClassInitialized0(Ljava/lang/Class;)V`]:(t,[,e])=>t.vm.initGen(t,t.vm.classOf(e)),[`${re}arrayBaseOffset0(Ljava/lang/Class;)I`]:()=>Fn,[`${re}arrayIndexScale0(Ljava/lang/Class;)I`]:(t,[,e])=>mp(t.vm.classOf(e)),[`${re}getLoadAverage0([DI)I`]:()=>-1,[`${re}getUncompressedObject(J)Ljava/lang/Object;`]:()=>null,[`${re}throwException(Ljava/lang/Throwable;)V`]:(t,[,e])=>{throw new oe(vt(e))},[`${re}allocateInstance(Ljava/lang/Class;)Ljava/lang/Object;`]:function*(t,[,e]){let n=t.vm.classOf(e);if(n.isInterface||n.access&1024||n.prim||n.component)throw new A("java/lang/InstantiationException",n.javaName);return n.state!==z&&(yield*t.vm.initGen(t,n)),t.vm.newObject(n)},[`${re}defineClass0(Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;`]:function*(t,[,e,n,r,a,s,i]){let c=me(n,r,a).slice(),o=yield*t.vm.defineClassGen(t,s,c,e?on(t,e).replace(/\./g,"/"):null,i);return t.vm.mirror(o)},[`${re}writeback0(J)V`]:()=>{},[`${re}writebackPreSync0()V`]:()=>{},[`${re}writebackPostSync0()V`]:()=>{}});var pp={HUP:1,INT:2,QUIT:3,KILL:9,USR1:10,USR2:12,PIPE:13,ALRM:14,TERM:15};function gp(t){let e=t.vm.props,n=t.vm.opts.cwd??"/";return[null,"en",null,null,"/",null,"en",null,null,null,null,null,null,null,null,null,null,e.get("java.io.tmpdir")??"/tmp",`
|
|
2
|
-
`,"UTF-8","javascript","Linux","6.0",":",null,null,null,"UTF-8","UTF-8","UTF-8",null,"64","little",null,"UnicodeLittle","UTF-8","unknown",n,e.get("user.home")??"/files",e.get("user.name")??"user"]}function yp(t){let e=t.vm,n=new Map([["java.home",e.opts.javaHome],["java.class.path",(e.opts.classpath??[]).join(":")],["java.library.path",""],["sun.boot.library.path",`${e.opts.javaHome}/lib`],["java.vm.specification.name","Java Virtual Machine Specification"],["java.vm.specification.vendor","Oracle Corporation"],["java.vm.specification.version","25"],["java.vm.name","java-web"],["java.vm.vendor","java-web"],["java.vm.version","25"],["java.vm.info","interpreted mode"],["jdk.debug","release"],["sun.java.launcher","SUN_STANDARD"],["sun.nio.MaxDirectMemorySize","-1"],["sun.nio.PageAlignDirectMemory","false"],["jdk.internal.foreign.CABI","SYS_V"],["sun.font.layout.ffm","false"]]);for(let[r,a]of e.props)n.set(r,a);return[...n].flat()}var vp=new Set(["attach","awt","awt_headless","awt_xawt","dt_socket","extnet","fontmanager","freetype","instrument","j2gss","j2pcsc","j2pkcs11","jaas","java","javajpeg","jawt","jdwp","jimage","jli","jsig","jsound","jsvml","lcms","management","management_agent","management_ext","mlib_image","net","nio","prefs","rmi","saproc","sctp","simdsort","splashscreen","syslookup","verify","zip"]),Nf=new WeakMap;function xp(t){let e=Nf.get(t);return e===void 0&&(e=Sr(t.cls,t.attrs.get("RuntimeVisibleAnnotations")).includes("Ljava/lang/invoke/LambdaForm$Compiled;"),Nf.set(t,e)),e}function jp(t){let e=t.vm.loadBoot("jdk/internal/reflect/MethodAccessorImpl"),n=1;for(let{m:r}of er(t)){if(n>0){n--;continue}if(!xp(r)&&!(r.cls.name==="java/lang/reflect/Method"&&r.name==="invoke")&&!(e&&r.cls.isSubclassOf(e)))return t.vm.mirror(r.cls)}return null}function*Bf(t,e){let n=t.vm.loadBoot("java/nio/ByteBuffer");return n.state!==z&&(yield*t.vm.initGen(t,n)),yield t.call(n.methodMap.get("allocate(I)Ljava/nio/ByteBuffer;"),e)}function*wp(t,e){let n=t.vm;if(e!==`${n.opts.javaHome}/lib/modules`)return null;let r=n.fs.read(`${n.opts.javaHome}/lib/resources.jimage`);if(!r)return null;let a=n.mem.malloc(r.length);n.mem.u8.set(r,a);let s=n.loadBoot("java/nio/DirectByteBuffer");s.state!==z&&(yield*n.initGen(t,s));let i=n.newObject(s);return yield t.call(s.methodMap.get("<init>(JJ)V"),i,BigInt(a),BigInt(r.length)),i}function Ip(){let t=Date.now(),e=performance.timeOrigin+performance.now();if(Math.abs(e-t)>2)return BigInt(t)*1000000n;let n=Math.floor(e);return BigInt(n)*1000000n+BigInt(Math.round((e-n)*1e6))}var kp=0x1000n;function Cf(){return kp+=16n}var Vf={...ca,"jdk/internal/vm/ForeignLinkerSupport.isSupported0()Z":()=>1,"jdk/internal/foreign/abi/NativeEntryPoint.makeDowncallStub(Ljava/lang/invoke/MethodType;Ljdk/internal/foreign/abi/ABIDescriptor;[Ljdk/internal/foreign/abi/VMStorage;[Ljdk/internal/foreign/abi/VMStorage;ZIZ)J":()=>Cf(),"jdk/internal/foreign/abi/NativeEntryPoint.freeDowncallStub0(J)Z":()=>1,"jdk/internal/foreign/abi/NativeEntryPoint.registerNatives()V":()=>{},"jdk/internal/foreign/abi/UpcallLinker.makeUpcallStub(Ljava/lang/invoke/MethodHandle;Ljdk/internal/foreign/abi/ABIDescriptor;Ljdk/internal/foreign/abi/UpcallLinker$CallRegs;ZJ)J":()=>Cf(),"jdk/internal/foreign/abi/UpcallLinker.registerNatives()V":()=>{},"jdk/internal/foreign/abi/UpcallStubs.freeUpcallStub0(J)Z":()=>1,"jdk/internal/foreign/abi/UpcallStubs.registerNatives()V":()=>{},"jdk/internal/loader/RawNativeLibraries.load0(Ljdk/internal/loader/RawNativeLibraries$RawNativeLibraryImpl;Ljava/lang/String;)Z":()=>0,"jdk/internal/loader/RawNativeLibraries.unload0(Ljava/lang/String;J)V":()=>{},"jdk/internal/perf/Perf.createLong(Ljava/lang/String;IIJ)Ljava/nio/ByteBuffer;":t=>Bf(t,8),"jdk/internal/perf/Perf.createByteArray(Ljava/lang/String;II[BI)Ljava/nio/ByteBuffer;":(t,[,,,,,e])=>Bf(t,e),"jdk/internal/jimage/NativeImageBuffer.getNativeMap(Ljava/lang/String;)Ljava/nio/ByteBuffer;":(t,[e])=>wp(t,on(t,e)),"jdk/internal/perf/Perf.highResCounter()J":()=>BigInt(Math.round(performance.now()*1e6)),"jdk/internal/perf/Perf.highResFrequency()J":()=>1000000000n,"jdk/internal/misc/VM.initialize()V":()=>{},"jdk/internal/misc/PreviewFeatures.isPreviewEnabled()Z":t=>t.vm.opts.enablePreview?1:0,"jdk/internal/misc/VM.latestUserDefinedLoader0()Ljava/lang/ClassLoader;":t=>{for(let{m:e}of er(t))if(e.cls.loader)return e.cls.loader;return null},"jdk/internal/misc/VM.getuid()J":()=>1000n,"jdk/internal/misc/VM.geteuid()J":()=>1000n,"jdk/internal/misc/VM.getgid()J":()=>1000n,"jdk/internal/misc/VM.getegid()J":()=>1000n,"jdk/internal/misc/VM.getNanoTimeAdjustment(J)J":(t,[e])=>{let n=Ip(),r=BigInt.asIntN(64,n/1000000000n-e);return r>=1n<<32n||r<=-(1n<<32n)?-1n:r*1000000000n+n%1000000000n},"jdk/internal/misc/VM.getRuntimeArguments()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",[]),"jdk/internal/misc/CDS.getCDSConfigStatus()I":()=>0,"jdk/internal/misc/CDS.logLambdaFormInvoker(Ljava/lang/String;)V":()=>{},"jdk/internal/misc/CDS.initializeFromArchive(Ljava/lang/Class;)V":()=>{},"jdk/internal/misc/CDS.defineArchivedModules(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)V":()=>{},"jdk/internal/misc/CDS.getRandomSeedForDumping()J":()=>0n,"jdk/internal/misc/CDS.dumpClassList(Ljava/lang/String;)V":()=>{},"jdk/internal/misc/CDS.dumpDynamicArchive(Ljava/lang/String;)V":()=>{},"jdk/internal/misc/CDS.needsClassInitBarrier0(Ljava/lang/Class;)Z":()=>0,"jdk/internal/misc/Signal.findSignal0(Ljava/lang/String;)I":(t,[e])=>pp[t.vm.jsString(e)]??-1,"jdk/internal/misc/Signal.handle0(IJ)J":()=>0n,"jdk/internal/misc/Signal.raise0(I)V":()=>{},"jdk/internal/util/SystemProps$Raw.platformProperties()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",gp(t).map(e=>e===null?null:t.vm.str(e))),"jdk/internal/util/SystemProps$Raw.vmProperties()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",yp(t).map(e=>t.vm.str(e))),"jdk/internal/reflect/Reflection.getCallerClass()Ljava/lang/Class;":t=>jp(t),"jdk/internal/reflect/Reflection.getClassAccessFlags(Ljava/lang/Class;)I":(t,[e])=>t.vm.classOf(e).access&32767,"jdk/internal/reflect/Reflection.areNestMates(Ljava/lang/Class;Ljava/lang/Class;)Z":function*(t,[e,n]){return(yield*rr(t,t.vm.classOf(e)))===(yield*rr(t,t.vm.classOf(n)))},"jdk/internal/loader/BootLoader.getSystemPackageNames()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",[...t.vm.bootPackages.keys()].map(e=>t.vm.str(e))),"jdk/internal/loader/BootLoader.getSystemPackageLocation(Ljava/lang/String;)Ljava/lang/String;":(t,[e])=>{let n=t.vm.bootPackages.get(t.vm.jsString(e));return n?t.vm.str(`jrt:/${n}`):null},"jdk/internal/loader/BootLoader.setBootLoaderUnnamedModule0(Ljava/lang/Module;)V":(t,[e])=>{t.vm.bootUnnamedModule=e},"jdk/internal/loader/NativeLibraries.findBuiltinLib(Ljava/lang/String;)Ljava/lang/String;":(t,[e])=>vp.has(t.vm.jsString(e).replace(/^lib(.*)\.so$/,"$1"))?e:null,"jdk/internal/loader/NativeLibraries.load(Ljdk/internal/loader/NativeLibraries$NativeLibraryImpl;Ljava/lang/String;ZZ)Z":function*(t,[e,n]){let r=t.vm.jsString(n);if(r.endsWith(".js")){let a=t.vm.opts.loadNativeLibrary;if(!a)return 0;let s=yield t.block(a(r).then(()=>null,i=>i??"failed"));if(s!==null)throw new A("java/lang/UnsatisfiedLinkError",`${r}: ${s instanceof Error?s.message:s}`)}return t.vm.setField(e,"jdk/internal/loader/NativeLibraries$NativeLibraryImpl","handle",1n),1},"jdk/internal/loader/NativeLibraries.unload(Ljava/lang/String;ZJ)V":()=>{},"jdk/internal/loader/NativeLibrary.findEntry0(JLjava/lang/String;)J":()=>0n,"jdk/internal/misc/ScopedMemoryAccess.closeScope0(Ljdk/internal/foreign/MemorySessionImpl;Ljdk/internal/misc/ScopedMemoryAccess$ScopedAccessError;)V":()=>{},"java/lang/ProcessEnvironment.environ()[[B":t=>{let e=new TextEncoder,n=r=>new W(t.vm.primArrayClass("B"),new Int8Array(e.encode(r).buffer));return t.vm.newObjectArray("[B",Object.entries(t.vm.opts.env??{}).flatMap(([r,a])=>[n(r),n(a)]))},"java/lang/ProcessImpl.init()V":()=>{},"java/lang/ProcessImpl.forkAndExec(I[B[B[BI[BI[B[IZ)I":()=>{throw new A("java/io/IOException","error=38, Function not implemented")},"java/lang/ProcessHandleImpl.initNative()V":()=>{},"java/lang/ProcessHandleImpl.getCurrentPid0()J":()=>42n,"java/lang/ProcessHandleImpl.isAlive0(J)J":()=>-1n,"java/lang/ProcessHandleImpl.parent0(JJ)J":()=>-1n,"java/io/Console.ttyStatus()I":()=>0};var De="java/lang/invoke/MemberName",Ap=65536,_f=131072,Hf=262144,Sp=1048576,Jp=2097152,Mi=24,Gf=1,Mp=2,zf=3,$p=4,Ml=5,Tp=6,Ji=7;var $l=9,Fp=7679,Op=20703;function Nn(t,e){let n=e.x?.m??t.vm.getField(e,De,"method")?.x;if(!n)throw new A("java/lang/InternalError","unresolved MemberName");return n}function Jl(t){let e=t.x?.f;if(!e)throw new A("java/lang/InternalError","unresolved field MemberName");return e}function Lp(t,e){let n=t.vm;if(e.cls.name==="java/lang/String")return n.jsString(e);if(e.cls.name==="java/lang/Class")return n.classOf(e).desc;if(e.cls.name==="java/lang/invoke/MethodType"){let r=n.classOf(n.getField(e,"java/lang/invoke/MethodType","rtype"));return`(${n.getField(e,"java/lang/invoke/MethodType","ptypes").a.map(s=>n.classOf(s).desc).join("")})${r.desc}`}throw new A("java/lang/InternalError",`bad member type ${e.cls.name}`)}function Sr(t,e){if(!e)return[];let n=t.cf.cp,r=[],a=0,s=()=>{let c=String.fromCharCode(e[a++]);if(c==="e")a+=4;else if(c==="@")i();else if(c==="[")for(let o=ue(e,(a+=2)-2);o>0;o--)s();else a+=2},i=()=>{let c=_(n,ue(e,a));a+=2;for(let o=ue(e,(a+=2)-2);o>0;o--)a+=2,s();return c};for(let c=ue(e,(a+=2)-2);c>0;c--)r.push(i());return r}function bl(t){return Sr(t.cls,t.attrs.get("RuntimeVisibleAnnotations")).includes("Ljdk/internal/reflect/CallerSensitive;")}function pl(t,e){let n=t.vm,r=n.newObject(n.loadBoot("java/lang/invoke/ResolvedMethodName"));return n.setField(r,"java/lang/invoke/ResolvedMethodName","vmholder",n.mirror(e.cls)),r.x=e,r}function Zf(t,e,n,r){let a=t.vm,s=n.access&Fp,i;n.name==="<init>"?(s|=_f,i=Ji):(s|=Ap,n.isStatic?i=Tp:r===Ji||n.isPrivate?i=Ji:n.cls.isInterface?i=$l:(n.access&Ie)!==0||(n.cls.access&Ie)!==0?i=Ji:i=Ml),bl(n)&&(s|=Sp),a.setField(e,De,"flags",s|i<<Mi),a.setField(e,De,"clazz",a.mirror(n.cls)),a.setField(e,De,"method",pl(t,n)),e.x={m:n}}function Wf(t,e,n,r){let a=t.vm,s=n.access&Op|Hf,i=n.cls.superclass?.name==="java/lang/Record";n.access&Ie&&(n.access>||i||n.cls.hidden)&&(s|=Jp);let c=(n.isStatic?Mp:Gf)+(r?zf-Gf:0);a.setField(e,De,"flags",s|c<<Mi),a.setField(e,De,"clazz",a.mirror(n.cls)),e.x={f:n}}function Np(t,e,n){return n===$l?t.findInterfaceMethod(e)??t.findMethod(e):t.findMethod(e)}function Bp(t,e,n){let r=t.vm,a=r.getField(e,De,"clazz"),s=r.getField(e,De,"name"),i=r.getField(e,De,"type"),c=r.getField(e,De,"flags");if(!a||!s||!i)throw new A("java/lang/IllegalArgumentException","incomplete MemberName");let o=r.classOf(a),u=r.jsString(s),l=Lp(t,i),d=c>>>Mi&15;if(c&Hf){let m=o.findField(u,l);if(!m){if(n)return null;throw new A("java/lang/NoSuchFieldError",u)}return Wf(t,e,m,d===zf||d===$p),e}let f=Np(o,u+l,d);if(!f&&(o.name==="java/lang/invoke/MethodHandle"||o.name==="java/lang/invoke/VarHandle")&&(f=r.resolveMethod(o,u,l)),!f||c&_f&&f.cls!==o){if(n)return null;throw new A("java/lang/NoSuchMethodError",`'${l}' ${o.javaName}.${u}`)}return Zf(t,e,f,d),e}var Xf={"java/lang/invoke/MethodHandleNatives.init(Ljava/lang/invoke/MemberName;Ljava/lang/Object;)V":(t,[e,n])=>{n.cls.name==="java/lang/reflect/Field"?Wf(t,e,is(t,n),!1):Zf(t,e,oa(t,n),Ml)},"java/lang/invoke/MethodHandleNatives.expand(Ljava/lang/invoke/MemberName;)V":(t,[e])=>{let n=t.vm,r=e.x;if(!r)throw new A("java/lang/IllegalArgumentException","MemberName not resolved");let a=r.m??r.f;n.getField(e,De,"clazz")||n.setField(e,De,"clazz",n.mirror(a.cls)),n.getField(e,De,"name")||n.setField(e,De,"name",n.intern(a.name)),n.getField(e,De,"type")||n.setField(e,De,"type",n.intern(a.desc))},"java/lang/invoke/MethodHandleNatives.resolve(Ljava/lang/invoke/MemberName;Ljava/lang/Class;IZ)Ljava/lang/invoke/MemberName;":(t,[e,,,n])=>Bp(t,e,n===1),"java/lang/invoke/MethodHandleNatives.objectFieldOffset(Ljava/lang/invoke/MemberName;)J":(t,[e])=>BigInt(Jl(e).slot),"java/lang/invoke/MethodHandleNatives.staticFieldOffset(Ljava/lang/invoke/MemberName;)J":(t,[e])=>BigInt(Kn+Jl(e).slot),"java/lang/invoke/MethodHandleNatives.staticFieldBase(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;":(t,[e])=>t.vm.mirror(Jl(e).cls),"java/lang/invoke/MethodHandleNatives.getMemberVMInfo(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;":function*(t,[e]){let n=t.vm,r=n.loadBoot("java/lang/Long");r.state!==z&&(yield*n.initGen(t,r));let a=!!e.x?.f,s=n.getField(e,De,"flags")>>Mi&15,i=a?BigInt(e.x.f.slot):s===Ml||s===$l?0n:-2n,c=yield t.call(r.methodMap.get("valueOf(J)Ljava/lang/Long;"),i);return n.newObjectArray("java/lang/Object",[c,a?n.mirror(e.x.f.cls):e])},"java/lang/invoke/MethodHandleNatives.setCallSiteTargetNormal(Ljava/lang/invoke/CallSite;Ljava/lang/invoke/MethodHandle;)V":(t,[e,n])=>t.vm.setField(e,"java/lang/invoke/CallSite","target",n),"java/lang/invoke/MethodHandleNatives.setCallSiteTargetVolatile(Ljava/lang/invoke/CallSite;Ljava/lang/invoke/MethodHandle;)V":(t,[e,n])=>t.vm.setField(e,"java/lang/invoke/CallSite","target",n),"java/lang/invoke/MethodHandleNatives.getNamedCon(I[Ljava/lang/Object;)I":()=>0};var ua="java/lang/AbstractStringBuilder",Tl="java/lang/String",Fl=2147483639,qf=null,Qf,os=0,$i=0,Ti=0,ed=0,ls=0,cs=0;function Ll(t){qf!==t&&(os=t.slotOf(ua,"value"),$i=t.slotOf(ua,"coder"),Ti=t.slotOf(ua,"count"),ed=t.slotOf(ua,"maybeLatin1"),ls=t.slotOf(Tl,"value"),cs=t.slotOf(Tl,"coder"),Qf=t.loadBootOrFail(Tl),qf=t)}function us(t){if(t>Qn)throw new A("java/lang/OutOfMemoryError","Java heap space");return Te("B",t)}function Cp(t,e,n){let r=(n<<e)-t,a=t+Math.max(r,t+(2<<e))|0;if(!(a>0&&a<=Fl)){let s=t+r|0;if(s<0)throw new A("java/lang/OutOfMemoryError","Required length exceeds implementation limit");a=s<=Fl?Fl:s}if(a===2147483647)throw new A("java/lang/OutOfMemoryError","Required length exceeds implementation limit");return a>>e}function Ol(t,e,n,r){for(let a=0,s=r*2;a<e;a++)n[s++]=t[a],n[s++]=0}function Yf(t,e){let n=e[0],r=e[1],a=t.vm;Ll(a);let s=r??a.intern("null"),i=s.f[ls].a,c=s.f[cs],o=i.length>>c,u=n.f[$i],l=n.f[Ti],d=n.f[os].a,f=u|c,m=l+o|0,p=d.length>>u;if(f!==u||m-p>0){let b=m-p>0?Cp(d.length,f,m):p;if(u===f){if(b>p){let y=us(b<<f);y.set(d),d=y}}else{let y=us(b<<1);Ol(d,l,y,0),d=y}n.f[os]=new W(n.f[os].cls,d),n.f[$i]=f}return c===f?d.set(i,l<<f):Ol(i,o,d,l),n.f[Ti]=m,n}function Ep(t,e){let n=e[0],r=e[1];Ll(t.vm);let a=r.f[os].a,s=r.f[Ti],i=r.f[$i],c;if(i===1&&r.f[ed]){let o=0;for(;o<s&&a[o*2+1]===0;)o++;if(o===s){c=us(s);for(let u=0;u<s;u++)c[u]=a[u*2];i=0}else c=Kf(a,s<<1)}else c=Kf(a,s<<i);td(t.vm,n,c,i)}function td(t,e,n,r){e.f[ls]=new W(t.primArrayClass("B"),n),e.f[cs]=r}function Kf(t,e){let n=us(e);return n.set(e===t.length?t:t.subarray(0,e)),n}function nd(t,e,n){let r=t.vm;Ll(r);let a=n.includes(null)?r.intern("null"):null,s=0,i=0;for(let l=0;l<n.length;l++){let d=n[l]??a,f=d.f[cs];i|=f,s+=d.f[ls].a.length>>f}let c;try{c=us(s*(i+1))}catch(l){throw l instanceof A&&(l.pc=e),l}let o=0;for(let l=0;l<n.length;l++){let d=n[l]??a,f=d.f[ls].a,m=d.f[cs],p=f.length>>m;m===i?c.set(f,o<<i):Ol(f,p,c,o),o+=p}let u=r.newObject(Qf);return td(r,u,c,i),u}var rd={[`${ua}.append(Ljava/lang/String;)L${ua};`]:Yf,"java/lang/StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;":Yf,"java/lang/String.<init>(Ljava/lang/AbstractStringBuilder;Ljava/lang/Void;)V":Ep};var gd=1,Pp=500,Dp=2e3,Rp=6e3,ad=120,Up=5e3,Vp=35,Gp=5,_p=500,yd=20,ds={interpret:null,deliver:null,raise:null,handleError:null,popFrame:null,findHandler:null,checkStack:null},sd=typeof process<"u"&&!!process.env?.JW_NOJIT,Hp=typeof process<"u"&&!!process.env?.JW_NOINLINE,id=typeof process<"u"?process.env?.JW_JIT_DUMP:void 0;function vd(t,e){++e.hot>=Pp&&jd(t,e)}function xd(t,e){e.hot+=4,e.hot>=Dp&&e.jit===null&&!e.noJit&&jd(t,e)}function jd(t,e){if(!(sd||e.noJit||!e.code||e.name==="<clinit>"||e.code.code.length>Rp))try{let{src:n,consts:r}=Kp(t,e);id&&e.toString().includes(id)&&console.error(`// ${e}
|
|
3
|
-
${n}`),e.jit=new Function("rt","K",n)(fs,r),He&&He.set(`compiled ${e}`,n.length),e.fallbacks=0}catch(n){(n instanceof EvalError||n instanceof Error&&/unsafe-eval|Content Security/i.test(n.message))&&(sd=!0),n instanceof
|
|
4
|
-
`),consts:a}}function Qp(t){return`if(ifs!==0){if(e!==rt.DEOPT){dpc=e instanceof rt.PendingThrow&&e.pc!==undefined?e.pc:0;dsp=0;}switch(ifs){${t.regions.map(n=>{let r=[];for(let i=n;i.region;i=i.region.parent)r.unshift(i);let a=r[0].region,s=`case ${n.region.id}:rt.deopted(${t.K(n.m)},f.m);${He?`rt.noteDeopt(${t.K(n.m)},e);`:""}`;return r.forEach((i,c)=>{let o=i.m.code,u=r[c+1]?.region,l=Array.from({length:o.maxLocals},(m,p)=>i.L(p)),d=Array.from({length:u?u.base:o.maxStack},(m,p)=>i.S(p)),f=u?`${u.callPc},${u.base}`:"dpc,dsp";s+=`t.frames.push(rt.frame(${t.K(i.m)},[${l}],[${d}],${f}));`}),s+`x=${El(a.callPc,a.base,0)};break;`}).join("")}}ifs=0;if(f.direct)f.direct=false;x+=e===rt.DEOPT?${$r}:e instanceof rt.JavaThrow?${Ad}:${Cl};xe=e;break X;}`}function Sd(t,e,n,r,a,s,i){let c=(e.region?.level??0)+1,o=!Hp&&c<=Gp&&(Bl.get(n)??0)<yd?qp(n):null;if(!o||t.inlined+o.bytes>_p)throw new _t;for(let g=e;g;g=g.region?.parent??null)if(g.m===n)throw new _t;let u=n.code,l=t.regions.length+1,d=`i${c}_`,f=`R${l}`,m=o.starts.size===1,p={m:n,a:o.a,L:g=>`${d}l${g}`,S:g=>`${d}s${g}`,out:[],region:{id:l,level:c,pcVar:`${d}pc`,result:a,parent:e,callPc:s,base:i},skip:0},b=t.regions.length,y=t.inlined;t.regions.push(p),t.inlined+=o.bytes;try{for(let h=0;h<u.maxLocals;h++)t.vars.add(p.L(h));for(let h=0;h<u.maxStack+2;h++)t.vars.add(p.S(h));m||t.vars.add(`${d}pc`);for(let h=0;h<r.length;h++)p.out.push(`${p.L(h)}=${r[h]};`);p.out.push(`ifs=${l};`,m?`${f}:{`:`${d}pc=0;${f}:for(;;){switch(${d}pc){`);let g=!1;for(let h of o.a.pcs)h<p.skip||(o.starts.has(h)&&(m||p.out.push(`case ${h}:`),g=o.cold.has(h),g&&p.out.push(`dpc=${h};dsp=${o.a.depth.get(h)??0};throw rt.DEOPT;`)),!(g||!o.a.depth.has(h))&&Jd(t,p,h));return p.out.push(m?"}":'default:throw new Error("jit: bad region pc");}}',`ifs=${e.region?.id??0};`),p.out.join("")}catch(g){throw t.regions.length=b,t.inlined=y,g}}function Jd(t,e,n){let{m:r,L:a,S:s,region:i}=e,c=t.t,o=c.vm,u=t.K,l=r.cls,d=l.cf.cp,f=r.code.code,m=w=>e.out.push(w),p=(w,v)=>{if(i)throw new _t;return t.slow(w,v)},b=e.a.depth.get(n),y=f[n],g=n+da(f,n),h=(w=0)=>s(b-1-w),j=w=>i?`{${i.pcVar}=${w};continue R${i.id};}`:w<=n?`{if(--bud===0)${t.exit(w,e.a.depth.get(w),$r)}pc=${w};continue;}`:`{pc=${w};continue;}`,x=Gt(f,n+1);switch(y){case 0:break;case 1:m(`${s(b)}=null;`);break;case 2:case 3:case 4:case 5:case 6:case 7:case 8:m(`${s(b)}=${y-3};`);break;case 9:case 10:m(`${s(b)}=${y-9}n;`);break;case 11:case 12:case 13:m(`${s(b)}=${y-11};`);break;case 14:case 15:m(`${s(b)}=${y-14};`);break;case 16:m(`${s(b)}=${f[n+1]<<24>>24};`);break;case 17:m(`${s(b)}=${Ke(f,n+1)};`);break;case 18:case 19:case 20:{let w=y===18?f[n+1]:x,v=d[w];if(v.tag===B.Integer||v.tag===B.Float||v.tag===B.Double)m(`${s(b)}=${rg(v.value)};`);else if(v.tag===B.Long)m(`${s(b)}=${v.value}n;`);else{let I=l.ldc[w];if(I===void 0){m(p(n,b));break}m(`${s(b)}=${u(I)};`)}break}case 21:case 22:case 23:case 24:case 25:m(`${s(b)}=${a(f[n+1])};`);break;case 26:case 27:case 28:case 29:m(`${s(b)}=${a(y-26)};`);break;case 30:case 31:case 32:case 33:m(`${s(b)}=${a(y-30)};`);break;case 34:case 35:case 36:case 37:m(`${s(b)}=${a(y-34)};`);break;case 38:case 39:case 40:case 41:m(`${s(b)}=${a(y-38)};`);break;case 42:case 43:case 44:case 45:m(`${s(b)}=${a(y-42)};`);break;case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:m(`if(${h(1)}===null)rt.npe(${n});a=${h(1)}.a;if(${h()}>>>0>=a.length)rt.arr(${h(1)},${h()},${n});${h(1)}=a[${h()}];`);break;case 54:case 56:case 58:m(`${a(f[n+1])}=${h()};`);break;case 55:case 57:m(`${a(f[n+1])}=${h(1)};`);break;case 59:case 60:case 61:case 62:m(`${a(y-59)}=${h()};`);break;case 63:case 64:case 65:case 66:m(`${a(y-63)}=${h(1)};`);break;case 67:case 68:case 69:case 70:m(`${a(y-67)}=${h()};`);break;case 71:case 72:case 73:case 74:m(`${a(y-71)}=${h(1)};`);break;case 75:case 76:case 77:case 78:m(`${a(y-75)}=${h()};`);break;case 79:case 81:case 84:case 85:case 86:m(`if(${h(2)}===null)rt.npe(${n});a=${h(2)}.a;if(${h(1)}>>>0>=a.length)rt.arr(${h(2)},${h(1)},${n});a[${h(1)}]=${h()};`);break;case 80:case 82:m(`if(${h(3)}===null)rt.npe(${n});a=${h(3)}.a;if(${h(2)}>>>0>=a.length)rt.arr(${h(3)},${h(2)},${n});a[${h(2)}]=${h(1)};`);break;case 83:m(`rt.aastore(${h(2)},${h(1)},${h()},${n});`);break;case 87:case 88:break;case 89:m(`${s(b)}=${h()};`);break;case 90:m(`${s(b)}=${h()};${h()}=${h(1)};${h(1)}=${s(b)};`);break;case 91:m(`${s(b)}=${h()};${h()}=${h(1)};${h(1)}=${h(2)};${h(2)}=${s(b)};`);break;case 92:m(`${s(b)}=${h(1)};${s(b+1)}=${h()};`);break;case 93:m(`${s(b+1)}=${h()};${s(b)}=${h(1)};${h()}=${h(2)};${h(1)}=${s(b+1)};${h(2)}=${s(b)};`);break;case 94:m(`${s(b+1)}=${h()};${s(b)}=${h(1)};${h()}=${h(2)};${h(1)}=${h(3)};${h(2)}=${s(b+1)};${h(3)}=${s(b)};`);break;case 95:m(`v=${h()};${h()}=${h(1)};${h(1)}=v;`);break;case 96:m(`${h(1)}=(${h(1)}+${h()})|0;`);break;case 97:m(`${h(3)}=BigInt.asIntN(64,${h(3)}+${h(1)});`);break;case 98:m(`${h(1)}=Math.fround(${h(1)}+${h()});`);break;case 99:m(`${h(3)}+=${h(1)};`);break;case 100:m(`${h(1)}=(${h(1)}-${h()})|0;`);break;case 101:m(`${h(3)}=BigInt.asIntN(64,${h(3)}-${h(1)});`);break;case 102:m(`${h(1)}=Math.fround(${h(1)}-${h()});`);break;case 103:m(`${h(3)}-=${h(1)};`);break;case 104:m(`${h(1)}=Math.imul(${h(1)},${h()});`);break;case 105:m(`${h(3)}=BigInt.asIntN(64,${h(3)}*${h(1)});`);break;case 106:m(`${h(1)}=Math.fround(${h(1)}*${h()});`);break;case 107:m(`${h(3)}*=${h(1)};`);break;case 108:m(`if(${h()}===0)rt.div0(${n});${h(1)}=(${h(1)}/${h()})|0;`);break;case 109:m(`if(${h(1)}===0n)rt.div0(${n});${h(3)}=BigInt.asIntN(64,${h(3)}/${h(1)});`);break;case 110:m(`${h(1)}=Math.fround(${h(1)}/${h()});`);break;case 111:m(`${h(3)}/=${h(1)};`);break;case 112:m(`if(${h()}===0)rt.div0(${n});${h(1)}=(${h(1)}%${h()})|0;`);break;case 113:m(`if(${h(1)}===0n)rt.div0(${n});${h(3)}%=${h(1)};`);break;case 114:m(`${h(1)}=Math.fround(${h(1)}%${h()});`);break;case 115:m(`${h(3)}%=${h(1)};`);break;case 116:m(`${h()}=(-${h()})|0;`);break;case 117:m(`${h(1)}=BigInt.asIntN(64,-${h(1)});`);break;case 118:m(`${h()}=-${h()};`);break;case 119:m(`${h(1)}=-${h(1)};`);break;case 120:m(`${h(1)}<<=${h()};`);break;case 121:m(`${h(2)}=BigInt.asIntN(64,${h(2)}<<BigInt(${h()}&63));`);break;case 122:m(`${h(1)}>>=${h()};`);break;case 123:m(`${h(2)}>>=BigInt(${h()}&63);`);break;case 124:m(`${h(1)}=(${h(1)}>>>${h()})|0;`);break;case 125:m(`${h(2)}=BigInt.asIntN(64,BigInt.asUintN(64,${h(2)})>>BigInt(${h()}&63));`);break;case 126:m(`${h(1)}&=${h()};`);break;case 127:m(`${h(3)}&=${h(1)};`);break;case 128:m(`${h(1)}|=${h()};`);break;case 129:m(`${h(3)}|=${h(1)};`);break;case 130:m(`${h(1)}^=${h()};`);break;case 131:m(`${h(3)}^=${h(1)};`);break;case 132:m(`${a(f[n+1])}=(${a(f[n+1])}+${f[n+2]<<24>>24})|0;`);break;case 133:m(`${h()}=BigInt(${h()});`);break;case 134:m(`${h()}=Math.fround(${h()});`);break;case 135:break;case 136:m(`${h(1)}=Number(BigInt.asIntN(32,${h(1)}));`);break;case 137:m(`${h(1)}=Math.fround(Number(${h(1)}));`);break;case 138:m(`${h(1)}=Number(${h(1)});`);break;case 139:m(`${h()}=rt.f2i(${h()});`);break;case 140:m(`${h()}=rt.f2l(${h()});`);break;case 141:break;case 142:m(`${h(1)}=rt.f2i(${h(1)});`);break;case 143:m(`${h(1)}=rt.f2l(${h(1)});`);break;case 144:m(`${h(1)}=Math.fround(${h(1)});`);break;case 145:m(`${h()}=(${h()}<<24)>>24;`);break;case 146:m(`${h()}&=65535;`);break;case 147:m(`${h()}=(${h()}<<16)>>16;`);break;case 148:m(`${h(3)}=rt.lcmp(${h(3)},${h(1)});`);break;case 149:case 150:m(`${h(1)}=rt.fcmp(${h(1)},${h()},${y===149?-1:1});`);break;case 151:case 152:m(`${h(3)}=rt.fcmp(${h(3)},${h(1)},${y===151?-1:1});`);break;case 153:case 154:case 155:case 156:case 157:case 158:{let w=["===","!==","<",">=",">","<="][y-153];m(`if(${h()}${w}0)${j(n+Ke(f,n+1))}`);break}case 159:case 160:case 161:case 162:case 163:case 164:{let w=["===","!==","<",">=",">","<="][y-159];m(`if(${h(1)}${w}${h()})${j(n+Ke(f,n+1))}`);break}case 165:m(`if(${h(1)}===${h()})${j(n+Ke(f,n+1))}`);break;case 166:m(`if(${h(1)}!==${h()})${j(n+Ke(f,n+1))}`);break;case 167:m(j(n+Ke(f,n+1)));break;case 200:m(j(n+Ae(f,n+1)));break;case 198:m(`if(${h()}===null)${j(n+Ke(f,n+1))}`);break;case 199:m(`if(${h()}!==null)${j(n+Ke(f,n+1))}`);break;case 170:case 171:{let w=n+4&-4;if(m(`switch(${h()}){`),y===170){let v=Ae(f,w+4),I=Ae(f,w+8);for(let J=v;J<=I;J++)m(`case ${J}:${j(n+Ae(f,w+12+(J-v)*4))}`)}else for(let v=0,I=Ae(f,w+4);v<I;v++)m(`case ${Ae(f,w+8+v*8)}:${j(n+Ae(f,w+12+v*8))}`);m(`default:${j(n+Ae(f,w))}}`);break}case 172:case 173:case 174:case 175:case 176:case 177:{let w=y===177?"undefined":y===173||y===175?h(1):h();if(i){m(`${i.result!==null&&y!==177?`${i.result}=${w};`:""}break R${i.id};`);break}let v=r.isSynchronized?"H.popFrame(t,f);":"t.frames.pop();";m(`${v}if(f.direct){t.ret=${w};return 0;}H.deliver(t,${w},${JSON.stringify(r.ret)},false);return 0;`);break}case 178:case 179:{let w=l.rcp[x];if(!w||w.cls.state!==z){m(p(n,b));break}let v=`${u(w.cls)}.statics[${w.slot}]`;m(y===178?`${s(b)}=${v};`:`${v}=${w.wide?h(1):h()};`);break}case 180:case 181:{let w=l.rcp[x];if(!w){m(p(n,b));break}if(y===180)m(`if(${h()}===null)rt.npe(${n});${h()}=${h()}.f[${w.slot}];`);else{let v=w.wide?h(2):h(1);m(`if(${v}===null)rt.npe(${n});${v}.f[${w.slot}]=${w.wide?h(1):h()};`)}break}case 182:case 183:case 184:case 185:{let w=l.rcp[x];if(i){m(tg(t,e,y,n,b,w));break}if(!w||y===184&&w.cls.state!==z){m(p(n,b));break}w.polymorphic?m(ag(t,n,g,b,w)):m(Oi(t,y,n,g,b,w,l));break}case 186:{let w=r.cache?.[n];if(!w||i){m(p(n,b));break}let v=b;w.appendix!==void 0&&(m(`${s(v)}=${u(w.appendix)};`),v++),m(Oi(t,184,n,g,v,w.m,l,b));break}case 187:{let w=eg(t,e,n);if(w){m(`${s(b)}=rt.concat(t,${n},[${w.pieces}]);`),e.skip=w.end;break}let v=l.rcp[x];if(!v||v.state!==z||v.access&1536){m(p(n,b));break}m(`${s(b)}=new rt.JObject(${u(v)},${u(v)}.template.slice());`);break}case 188:{let w="?ZCFDBSIJ"[f[n+1]-3];m(`${h()}=rt.newarray(${u(o.primArrayClass(w))},"${w}",${h()},${n});`);break}case 189:{let w=l.rcp[x];if(!w){m(p(n,b));break}m(`${h()}=rt.newarray(${u(o.arrayOf(w))},"L",${h()},${n});`);break}case 190:m(`if(${h()}===null)rt.npe(${n});${h()}=${h()}.a.length;`);break;case 191:if(i)throw new _t;m(`if(${h()}===null)rt.npe(${n});throw new rt.JavaThrow(${h()});`);break;case 192:case 193:{let w=l.rcp[x];if(!w){m(`if(${h()}===null){${y===193?`${h()}=0;`:""}}else{${p(n,b)}}`);break}let v=u(w);m(y===192?`if(${h()}!==null)rt.cast(t,${h()},${v},${n});`:`${h()}=${h()}!==null&&(${h()}.cls===${v}||${h()}.cls.isAssignableTo(${v}))?1:0;`);break}case 194:if(i)throw new _t;m(`if(${h()}===null)rt.npe(${n});if(!vm.monitorEnter(t,${h()}))${t.exit(n,b,$r)}`);break;case 195:if(i)throw new _t;m(`if(${h()}===null)rt.npe(${n});vm.monitorExit(t,${h()});`);break;case 196:{let w=f[n+1],v=Gt(f,n+2);w===132?m(`${a(v)}=(${a(v)}+${Ke(f,n+4)})|0;`):w>=21&&w<=25?m(`${s(b)}=${a(v)};`):m(w===55||w===57?`${a(v)}=${h(1)};`:`${a(v)}=${h()};`);break}case 197:m(p(n,b));break;default:throw new un(`opcode ${y}`)}}function eg(t,e,n){let{m:r}=e,a=r.cls,s=r.code.code,i=(d,f,m,p)=>{let b=a.rcp[Gt(s,d+1)];return s[d]===f&&!!b&&b.cls.name===cd&&b.cls.loader===null&&b.name===m&&b.desc===p},c=a.rcp[Gt(s,n+1)];if(!c||c.name!==cd||c.loader!==null||c.state!==z)return null;let o=n+3;if(s[o]!==89||!i(o+1,183,"<init>","()V"))return null;o+=4;let u=[];for(;;){let d=s[o];if(d>=42&&d<=45){let f=d-42;u.push(()=>e.L(f)),o+=1}else if(d===25){let f=s[o+1];u.push(()=>e.L(f)),o+=2}else if(d===18||d===19){let f=d===18?s[o+1]:Gt(s,o+1),m=a.ldc[f];if(a.cf.cp[f].tag!==B.String||m===void 0)return null;u.push(()=>t.K(m)),o+=d===18?2:3}else return null;if(!i(o,182,"append","(Ljava/lang/String;)Ljava/lang/StringBuilder;"))return null;if(o+=3,i(o,182,"toString","()Ljava/lang/String;"))break}let l=o;for(let d of e.a.pcs)if(d>n&&d<=l&&e.a.targets.has(d))return null;for(let d of r.code.handlers)if(d.start>n&&d.start<=l||d.end>n&&d.end<=l)return null;return{pieces:u.map(d=>d()),end:l+3}}function tg(t,e,n,r,a,s){if(!s||s.polymorphic||n===185||n===184&&s.cls.state!==z)throw new _t;let i=n===183?t.t.vm.specialTarget(e.m.cls,s):s;if(!i.code||i.isAbstract||!Md(n,i))throw new _t;let c=s.argSlots,o=a-c,u=Array.from({length:c},(f,m)=>e.S(o+m)),l=s.ret==="V"?null:e.S(o),d=$d(i);return d?Td(d,l??"v",u,r,i.isStatic):(i.isStatic?"":`if(${u[0]}===null)rt.npe(${r});`)+Sd(t,e,i,u,l,r,o)}function Md(t,e){return t!==182||e.isPrivate||(e.access&Ie)!==0||(e.cls.access&Ie)!==0}var ng=new Set([18,19,20,178,179,180,181,182,183,184,185,186,187,189,192,193,194,197]);function rg(t){return Number.isNaN(t)?"NaN":Number.isFinite(t)?Object.is(t,-0)?"-0":String(t):t>0?"Infinity":"-Infinity"}var hd={96:(t,e)=>`((${t}+${e})|0)`,97:(t,e)=>`BigInt.asIntN(64,${t}+${e})`,98:(t,e)=>`Math.fround(${t}+${e})`,99:(t,e)=>`(${t}+${e})`,100:(t,e)=>`((${t}-${e})|0)`,101:(t,e)=>`BigInt.asIntN(64,${t}-${e})`,102:(t,e)=>`Math.fround(${t}-${e})`,103:(t,e)=>`(${t}-${e})`,104:(t,e)=>`Math.imul(${t},${e})`,105:(t,e)=>`BigInt.asIntN(64,${t}*${e})`,106:(t,e)=>`Math.fround(${t}*${e})`,107:(t,e)=>`(${t}*${e})`,110:(t,e)=>`Math.fround(${t}/${e})`,111:(t,e)=>`(${t}/${e})`,120:(t,e)=>`(${t}<<${e})`,121:(t,e)=>`BigInt.asIntN(64,${t}<<BigInt(${e}&63))`,122:(t,e)=>`(${t}>>${e})`,123:(t,e)=>`(${t}>>BigInt(${e}&63))`,124:(t,e)=>`((${t}>>>${e})|0)`,125:(t,e)=>`BigInt.asIntN(64,BigInt.asUintN(64,${t})>>BigInt(${e}&63))`,126:(t,e)=>`(${t}&${e})`,127:(t,e)=>`(${t}&${e})`,128:(t,e)=>`(${t}|${e})`,129:(t,e)=>`(${t}|${e})`,130:(t,e)=>`(${t}^${e})`,131:(t,e)=>`(${t}^${e})`},bd={116:t=>`((-${t})|0)`,117:t=>`BigInt.asIntN(64,-${t})`,118:t=>`(-${t})`,119:t=>`(-${t})`,133:t=>`BigInt(${t})`,134:t=>`Math.fround(${t})`,135:t=>t,136:t=>`Number(BigInt.asIntN(32,${t}))`,137:t=>`Math.fround(Number(${t}))`,138:t=>`Number(${t})`,139:t=>`rt.f2i(${t})`,140:t=>`rt.f2l(${t})`,141:t=>t,142:t=>`rt.f2i(${t})`,143:t=>`rt.f2l(${t})`,144:t=>`Math.fround(${t})`,145:t=>`((${t}<<24)>>24)`,146:t=>`(${t}&65535)`,147:t=>`((${t}<<16)>>16)`};function pd(t){let e=t.code,n=e.code;if(n.length>32||e.handlers.length>0)return null;let r=[],a=c=>[c.startsWith("-")?`(${c})`:c],s=c=>c<t.argSlots?[["arg",c]]:null;for(let c=0;c<n.length;){let o=n[c],u=1,l=null;if(o===1)l=a("null");else if(o>=2&&o<=8)l=a(String(o-3));else if(o===9||o===10)l=a(`${o-9}n`);else if(o>=11&&o<=15)l=a(String(o>=14?o-14:o-11));else if(o===16)l=a(String(n[c+1]<<24>>24)),u=2;else if(o===17)l=a(String((n[c+1]<<8|n[c+2])<<16>>16)),u=3;else if(o>=21&&o<=25){if(l=s(n[c+1]),u=2,!l)return null}else if(o>=26&&o<=45){if(l=s((o-26)%4),!l)return null}else if(hd[o]){let d=r.pop(),f=r.pop();if(!f||!d)return null;l=[{op:hd[o],a:f,b:d}]}else if(bd[o]){let d=r.pop();if(!d)return null;l=[{op1:bd[o],a:d}]}else if(o===180&&!t.isStatic){let d=r.pop(),f=t.cls.rcp[n[c+1]<<8|n[c+2]];if(!d||!f||d.length!==1||!Array.isArray(d[0])||d[0][0]!=="arg"||d[0][1]!==0)return null;l=[["field",0,f.slot]],u=3}else if(o>=172&&o<=176){if(c+1!==n.length||r.length!==1)return null;let d=r[0];return f=>i(d,f)}else return null;r.push(l),c+=u}return null;function i(c,o){return c.map(u=>typeof u=="string"?u:Array.isArray(u)?u[0]==="arg"?o[u[1]]:`${o[u[1]]}.f[${u[2]}]`:u.op?u.op(i(u.a,o),i(u.b,o)):u.op1(i(u.a,o))).join("")}}function $d(t){if(!t.code||t.isSynchronized||t.isAbstract)return null;let e=t.code.code,n=()=>t.cls.rcp[e[2]<<8|e[3]];if(e.length===1&&e[0]===177)return{kind:"empty"};if(e.length===2&&e[0]>=1&&e[0]<=8&&(e[1]===172||e[1]===176))return{kind:"const",value:e[0]===1?"null":String(e[0]-3)};if(t.isStatic||e[0]!==42){let a=pd(t);return a?{kind:"expr",build:a}:null}if(e.length===5&&e[1]===180&&e[4]>=172&&e[4]<=176){let a=n();return a?{kind:"get",slot:a.slot}:null}if(e.length===6&&[27,31,35,39,43].includes(e[1])&&e[2]===181&&e[5]===177){let a=t.cls.rcp[e[3]<<8|e[4]];return a?{kind:"set",slot:a.slot}:null}let r=pd(t);return r?{kind:"expr",build:r}:null}function Td(t,e,n,r,a){let s=a?"":`if(${n[0]}===null)rt.npe(${r});`;switch(t.kind){case"empty":return s;case"const":return`${s}${e}=${t.value};`;case"get":return`${s}${e}=${n[0]}.f[${t.slot}];`;case"set":return`${s}${n[0]}.f[${t.slot}]=${n[1]};`;case"expr":return`${s}${e}=${t.build(n)};`}}function Oi(t,e,n,r,a,s,i,c=a,o=e!==185&&c===a){let{t:u,K:l,exit:d,call:f}=t,m=s.argSlots,p=a-m,b=Array.from({length:m},(x,w)=>`s${p+w}`);if(o){let x=e===183?u.vm.specialTarget(i,s):s,w=`s${p}`,v=null,I=$d(x);if(I)v=Td(I,w,b,n,x.isStatic);else if(x.code&&!x.isAbstract)try{v=(x.isStatic?"":`if(${b[0]}===null)rt.npe(${n});`)+Sd(t,t.top,x,b,s.ret==="V"?null:w,n,p)}catch(J){if(!(J instanceof _t))throw J}if(v!==null)return Md(e,x)?v:`if(${b[0]}!==null&&${b[0]}.cls===${l(x.cls)}){${v}}else{${Oi(t,e,n,r,a,s,i,a,!1)}}`}let y=[`f.pc=${n};`];if(e===182||e===185)if(s.isPrivate)y.push(`tm=${l(s)};if(${b[0]}===null)rt.npe(${n});`);else{let x=l([null,null,s.key]);y.push(`ic=${x};tm=${b[0]}!==null&&${b[0]}.cls===ic[0]?ic[1]:rt.select(${b[0]},ic,${n});`)}else if(e===183){let x=u.vm.specialTarget(i,s);y.push(`tm=${l(x)};if(${b[0]}===null)rt.npe(${n});`)}else y.push(`tm=${l(s)};`);let g=s.ret,h=x=>g==="V"?"":`s${p}=${x};`,j=s.isStatic?"null":b[0];return y.push(`if(tm.jit!==null&&(cf=rt.enter(t,tm,${j}))!==null){`),y.push(`r=tm.jit(t,cf${b.map(x=>","+x).join("")});if(r!==0){t.unpool(cf);${d(n,p,$r)}}`),y.push(`${h("t.ret")}}`),y.push(`else{v=rt.slowCall(t,tm,[${sg(s,b)}]);`),y.push(`if(v===rt.PUSHED)${d(n,p,$r)}if(v===rt.INTERPRET)${f(n,c)}`),y.push(`${h("v")}if(t.state!==0)${d(r,g==="V"?p:p+(ke(g)?2:1),$r)}}`),y.join("")}function ag(t,e,n,r,a){let{K:s,exit:i,call:c}=t,o=a.argSlots,u=r-o,l=Array.from({length:o},(p,b)=>`s${u+b}`),d,f=l;switch(a.name){case"invokeBasic":d=`tm=rt.basicTarget(t,${l[0]},${e});`;break;case"linkToStatic":case"linkToSpecial":f=l.slice(0,-1),d=`tm=rt.memberTarget(t,${l[o-1]});`;break;case"linkToVirtual":case"linkToInterface":f=l.slice(0,-1),d=`tm=rt.virtualTarget(t,${l[o-1]},${f[0]},${e});`;break;default:{let p=a.link;if(!p||p.m.cls.state!==z)return c(e,r);let b=r,y="";return p.m.argSlots===o+1&&(y=`s${b}=${s(p.appendix)};`,b++),y+Oi(t,184,e,n,b,p.m,t.top.m.cls,r,!1)}}let m=a.ret==="V"?"":`s${u}=t.ret;`;return`f.pc=${e};${d}if(tm.jit!==null&&tm.cls.state===${z}&&(cf=rt.enter(t,tm,${f[0]??"null"}))!==null){r=tm.jit(t,cf${f.map(p=>","+p).join("")});if(r!==0){t.unpool(cf);${i(e,u,$r)}}${m}}else{${c(e,r)}}`}function sg(t,e){let n=[],r=0;t.isStatic||n.push(e[r++]);for(let a of t.params)n.push(e[r]),r+=ke(a)?2:1;return n.join(",")}function ig(t,e,n){let r=e[n],a=t.cf.cp,s=o=>{let u=a[a[o].b];return ke(_(a,u.b))?2:1},i=(o,u)=>{let l=a[o],d=a[l.b],{params:f,ret:m}=yt(_(a,d.b)),p=u?1:0;for(let b of f)p+=ke(b)?2:1;return(m==="V"?0:ke(m)?2:1)-p};switch(r){case 18:case 19:return 1;case 20:return 2;case 178:return s(Gt(e,n+1));case 179:return-s(Gt(e,n+1));case 180:return s(Gt(e,n+1))-1;case 181:return-s(Gt(e,n+1))-1;case 182:case 183:case 185:return i(Gt(e,n+1),!0);case 184:case 186:return i(Gt(e,n+1),!1);case 197:return 1-e[n+3];case 196:{let o=e[n+1];return o===132||o===169?0:o===22||o===24?2:o>=21&&o<=25?1:o===55||o===57?-2:-1}}let c=fa[r];if(c===99)throw new un(`opcode ${r}`);return c}var fa=new Int8Array(256).fill(99);{let t=(e,n)=>{for(let r of e)fa[r]=n};t([0,116,118,132,134,139,145,146,147,167,200,188,189,190,192,193],0),fa[117]=0,fa[119]=0,fa[138]=0,fa[143]=0,t([1,2,3,4,5,6,7,8,11,12,13,16,17,21,23,25,26,27,28,29,34,35,36,37,42,43,44,45,89,187],1),t([9,10,14,15,22,24,30,31,32,33,38,39,40,41,92],2),t([90,91],1),t([93,94],2),t([46,48,50,51,52,53],-1),t([47,49],0),t([54,56,58,59,60,61,62,67,68,69,70,75,76,77,78,87,96,98,100,102,104,106,108,110,112,114,120,122,124,126,128,130,149,150,153,154,155,156,157,158,170,171,194,195,198,199,136,137,142,144,121,123,125,172,174,176,191],-1),t([55,57,63,64,65,66,71,72,73,74,88,97,99,101,103,105,107,109,111,113,115,127,129,131,159,160,161,162,163,164,165,166,173,175],-2),t([79,81,83,84,85,86],-3),t([148,151,152],-3),t([80,82],-4),t([133,135,140,141],1),t([177],0),t([95],0)}var bs=6e3;function Pl(t){if(!(t.frames.length<t.stackLimit))throw t.stackLimit>=2*bs?new Error("stack overflow while handling a stack overflow"):(t.stackLimit=t.frames.length+1500,new A("java/lang/StackOverflowError"))}var Fd=-2147483648,og=-(1n<<63n),lg=(1n<<63n)-1n,Tr=t=>BigInt.asIntN(64,t);function Od(t){return t!==t?0:t>=2147483647?2147483647:t<=Fd?Fd:t|0}function Ld(t){return t!==t?0n:t>=9223372036854776e3?lg:t<=-9223372036854776e3?og:BigInt(Math.trunc(t))}function Nd(t,e,n){return t>e?1:t<e?-1:t===e?0:n}function ar(){throw new A("java/lang/NullPointerException")}function cg(t,e){throw new A("java/lang/ArrayIndexOutOfBoundsException",`Index ${t} out of bounds for length ${e}`)}function ms(t,e){t===null&&ar();let n=t.a;return e>>>0>=n.length&&cg(e,n.length),n}function Li(){throw new A("java/lang/ArithmeticException","/ by zero")}function ug(t,e,n,r){let a=e.pc;e.pc=n;let s=Ud(t.vm,e,r);return e.pc=a,s>=0&&t.frames.length<bs-500&&(t.stackLimit=bs),s}Object.assign(ds,{interpret:(t,e,n)=>Ed(t,e,n),deliver:(t,e,n,r)=>ma(t,e,n,r),raise:(t,e)=>Rd(t,e),handleError:(t,e)=>ps(t,e),popFrame:(t,e)=>hs(t,e),findHandler:ug,checkStack:t=>Pl(t)});function Ed(t,e,n){let r=t.vm,a=e.m,s=a.cls,i=e.code,c=e.locals,o=e.stack,u=e.pc,l=e.sp,d=u,f,m,p,b,y;try{for(;n-- >0;)switch(d=u,i[u]){case 0:u++;break;case 1:o[l++]=null,u++;break;case 2:case 3:case 4:case 5:case 6:case 7:case 8:o[l++]=i[u]-3,u++;break;case 9:case 10:o[l++]=BigInt(i[u]-9),o[l++]=void 0,u++;break;case 11:case 12:case 13:o[l++]=i[u]-11,u++;break;case 14:case 15:o[l++]=i[u]-14,o[l++]=void 0,u++;break;case 16:o[l++]=i[u+1]<<24>>24,u+=2;break;case 17:o[l++]=(i[u+1]<<8|i[u+2])<<16>>16,u+=3;break;case 18:case 19:case 20:{let g=i[u];if(b=g===18?i[u+1]:i[u+1]<<8|i[u+2],f=s.ldc[b],f===void 0&&(f=r.constant(t,s,b),f===void 0))return e.pc=d,e.sp=l,n;o[l++]=f,g===20&&(o[l++]=void 0),u+=g===18?2:3;break}case 21:case 23:case 25:o[l++]=c[i[u+1]],u+=2;break;case 22:case 24:o[l++]=c[i[u+1]],o[l++]=void 0,u+=2;break;case 26:case 27:case 28:case 29:o[l++]=c[i[u]-26],u++;break;case 30:case 31:case 32:case 33:o[l++]=c[i[u]-30],o[l++]=void 0,u++;break;case 34:case 35:case 36:case 37:o[l++]=c[i[u]-34],u++;break;case 38:case 39:case 40:case 41:o[l++]=c[i[u]-38],o[l++]=void 0,u++;break;case 42:case 43:case 44:case 45:o[l++]=c[i[u]-42],u++;break;case 46:case 48:case 50:case 51:case 52:case 53:b=o[--l],y=o[--l],o[l++]=ms(y,b)[b],u++;break;case 47:case 49:b=o[--l],y=o[--l],o[l++]=ms(y,b)[b],o[l++]=void 0,u++;break;case 54:case 56:case 58:c[i[u+1]]=o[--l],u+=2;break;case 55:case 57:l-=2,c[i[u+1]]=o[l],u+=2;break;case 59:case 60:case 61:case 62:c[i[u]-59]=o[--l],u++;break;case 63:case 64:case 65:case 66:l-=2,c[i[u]-63]=o[l],u++;break;case 67:case 68:case 69:case 70:c[i[u]-67]=o[--l],u++;break;case 71:case 72:case 73:case 74:l-=2,c[i[u]-71]=o[l],u++;break;case 75:case 76:case 77:case 78:c[i[u]-75]=o[--l],u++;break;case 79:case 81:case 84:case 85:case 86:f=o[--l],b=o[--l],y=o[--l],ms(y,b)[b]=f,u++;break;case 80:case 82:l-=2,f=o[l],b=o[--l],y=o[--l],ms(y,b)[b]=f,u++;break;case 83:if(f=o[--l],b=o[--l],y=o[--l],m=ms(y,b),f!==null&&!f.cls.isAssignableTo(y.cls.component))throw new A("java/lang/ArrayStoreException",f.cls.javaName);m[b]=f,u++;break;case 87:l--,u++;break;case 88:l-=2,u++;break;case 89:o[l]=o[l-1],l++,u++;break;case 90:f=o[l-1],m=o[l-2],o[l-2]=f,o[l-1]=m,o[l]=f,l++,u++;break;case 91:f=o[l-1],m=o[l-2],p=o[l-3],o[l-3]=f,o[l-2]=p,o[l-1]=m,o[l]=f,l++,u++;break;case 92:o[l]=o[l-2],o[l+1]=o[l-1],l+=2,u++;break;case 93:{let g=o[l-1],h=o[l-2],j=o[l-3];o[l-3]=h,o[l-2]=g,o[l-1]=j,o[l]=h,o[l+1]=g,l+=2,u++;break}case 94:{let g=o[l-1],h=o[l-2],j=o[l-3],x=o[l-4];o[l-4]=h,o[l-3]=g,o[l-2]=x,o[l-1]=j,o[l]=h,o[l+1]=g,l+=2,u++;break}case 95:f=o[l-1],o[l-1]=o[l-2],o[l-2]=f,u++;break;case 96:f=o[--l],o[l-1]=o[l-1]+f|0,u++;break;case 97:l-=2,o[l-2]=Tr(o[l-2]+o[l]),u++;break;case 98:f=o[--l],o[l-1]=Math.fround(o[l-1]+f),u++;break;case 99:l-=2,o[l-2]+=o[l],u++;break;case 100:f=o[--l],o[l-1]=o[l-1]-f|0,u++;break;case 101:l-=2,o[l-2]=Tr(o[l-2]-o[l]),u++;break;case 102:f=o[--l],o[l-1]=Math.fround(o[l-1]-f),u++;break;case 103:l-=2,o[l-2]-=o[l],u++;break;case 104:f=o[--l],o[l-1]=Math.imul(o[l-1],f),u++;break;case 105:l-=2,o[l-2]=Tr(o[l-2]*o[l]),u++;break;case 106:f=o[--l],o[l-1]=Math.fround(o[l-1]*f),u++;break;case 107:l-=2,o[l-2]*=o[l],u++;break;case 108:f=o[l-1],f===0&&Li(),l--,o[l-1]=o[l-1]/f|0,u++;break;case 109:f=o[l-2],f===0n&&Li(),l-=2,o[l-2]=Tr(o[l-2]/f),u++;break;case 110:f=o[--l],o[l-1]=Math.fround(o[l-1]/f),u++;break;case 111:l-=2,o[l-2]/=o[l],u++;break;case 112:f=o[l-1],f===0&&Li(),l--,o[l-1]=o[l-1]%f|0,u++;break;case 113:f=o[l-2],f===0n&&Li(),l-=2,o[l-2]=o[l-2]%f,u++;break;case 114:f=o[--l],o[l-1]=Math.fround(o[l-1]%f),u++;break;case 115:l-=2,o[l-2]%=o[l],u++;break;case 116:o[l-1]=-o[l-1]|0,u++;break;case 117:o[l-2]=Tr(-o[l-2]),u++;break;case 118:o[l-1]=-o[l-1],u++;break;case 119:o[l-2]=-o[l-2],u++;break;case 120:f=o[--l],o[l-1]=o[l-1]<<f,u++;break;case 121:f=o[--l],o[l-2]=Tr(o[l-2]<<BigInt(f&63)),u++;break;case 122:f=o[--l],o[l-1]=o[l-1]>>f,u++;break;case 123:f=o[--l],o[l-2]=o[l-2]>>BigInt(f&63),u++;break;case 124:f=o[--l],o[l-1]=o[l-1]>>>f|0,u++;break;case 125:f=o[--l],o[l-2]=Tr(BigInt.asUintN(64,o[l-2])>>BigInt(f&63)),u++;break;case 126:f=o[--l],o[l-1]&=f,u++;break;case 127:l-=2,o[l-2]&=o[l],u++;break;case 128:f=o[--l],o[l-1]|=f,u++;break;case 129:l-=2,o[l-2]|=o[l],u++;break;case 130:f=o[--l],o[l-1]^=f,u++;break;case 131:l-=2,o[l-2]^=o[l],u++;break;case 132:c[i[u+1]]=c[i[u+1]]+(i[u+2]<<24>>24)|0,u+=3;break;case 133:o[l-1]=BigInt(o[l-1]),o[l++]=void 0,u++;break;case 134:o[l-1]=Math.fround(o[l-1]),u++;break;case 135:o[l++]=void 0,u++;break;case 136:l--,o[l-1]=Number(BigInt.asIntN(32,o[l-1])),u++;break;case 137:l--,o[l-1]=Math.fround(Number(o[l-1])),u++;break;case 138:o[l-2]=Number(o[l-2]),u++;break;case 139:o[l-1]=Od(o[l-1]),u++;break;case 140:o[l-1]=Ld(o[l-1]),o[l++]=void 0,u++;break;case 141:o[l++]=void 0,u++;break;case 142:l--,o[l-1]=Od(o[l-1]),u++;break;case 143:o[l-2]=Ld(o[l-2]),u++;break;case 144:l--,o[l-1]=Math.fround(o[l-1]),u++;break;case 145:o[l-1]=o[l-1]<<24>>24,u++;break;case 146:o[l-1]&=65535,u++;break;case 147:o[l-1]=o[l-1]<<16>>16,u++;break;case 148:l-=3,f=o[l-1],m=o[l+1],o[l-1]=f>m?1:f<m?-1:0,u++;break;case 149:case 150:f=o[--l],o[l-1]=Nd(o[l-1],f,i[u]===149?-1:1),u++;break;case 151:case 152:l-=3,f=o[l+1],o[l-1]=Nd(o[l-1],f,i[u]===151?-1:1),u++;break;case 153:if(o[--l]===0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 154:if(o[--l]!==0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 155:if(o[--l]<0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 156:if(o[--l]>=0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 157:if(o[--l]>0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 158:if(o[--l]<=0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 159:case 165:if(l-=2,o[l]===o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 160:case 166:if(l-=2,o[l]!==o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 161:if(l-=2,o[l]<o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 162:if(l-=2,o[l]>=o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 163:if(l-=2,o[l]>o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 164:if(l-=2,o[l]<=o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 167:if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n;break;case 168:o[l++]=u+3,u+=ze(i,u);break;case 169:u=c[i[u+1]];break;case 170:{let g=u+4&-4,h=fn(i,g),j=fn(i,g+4),x=fn(i,g+8);f=o[--l],u+=f<j||f>x?h:fn(i,g+12+(f-j)*4);break}case 171:{let g=u+4&-4,h=fn(i,g),j=fn(i,g+4);f=o[--l];let x=0,w=j-1,v=h;for(;x<=w;){let I=x+w>>1,J=fn(i,g+8+I*8);if(J===f){v=fn(i,g+12+I*8);break}J<f?x=I+1:w=I-1}u+=v;break}case 172:case 174:case 176:return f=o[l-1],hs(t,e),ma(t,f,a.ret,!1),n;case 173:case 175:return f=o[l-2],hs(t,e),ma(t,f,a.ret,!1),n;case 177:return hs(t,e),ma(t,void 0,"V",!1),n;case 178:case 179:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.fieldRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;let h=g.cls;if(h.state!==z&&!r.initialize(t,h))return e.pc=d,e.sp=l,n;i[u]===178?(o[l++]=h.statics[g.slot],g.wide&&(o[l++]=void 0)):(g.wide&&l--,h.statics[g.slot]=o[--l]),u+=3;break}case 180:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.fieldRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;y=o[l-1],y===null&&ar(),o[l-1]=y.f[g.slot],g.wide&&(o[l++]=void 0),u+=3;break}case 181:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.fieldRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;g.wide&&l--,f=o[--l],y=o[--l],y===null&&ar(),y.f[g.slot]=f,u+=3;break}case 182:case 183:case 184:case 185:{let g=i[u];b=i[u+1]<<8|i[u+2];let h=s.rcp[b]??r.methodRef(t,s,b);if(h===void 0)return e.pc=d,e.sp=l,n;if(g===184){let j=h.cls;if(j.state!==z&&!r.initialize(t,j))return e.pc=d,e.sp=l,n;if(h.polymorphic){if(e.pc=d,e.sp=l,r.invokePolymorphic(t,e,h,b)){u=e.pc,l=e.sp;break}return n}}else{if(h.polymorphic){if(e.pc=d,e.sp=l,r.invokePolymorphic(t,e,h,b)){u=e.pc,l=e.sp;break}return n}if(y=o[l-h.argSlots],y===null&&ar(),g===183)h=r.specialTarget(s,h);else if(!h.isPrivate){let j=a.cache??=[],x=j[d];if(x!==void 0&&x.c===y.cls)h=x.m;else{let w=y.cls.selectMethod(h.key);if(!w)throw new A("java/lang/AbstractMethodError",`${y.cls.javaName}.${h.name}${h.desc}`);j[d]={c:y.cls,m:w},h=w}}}if(e.pc=d,e.sp=l,ha(t,e,h)){u=e.pc,l=e.sp;break}return n}case 186:{e.pc=d,e.sp=l;let g=r.callSite(t,e,i[u+1]<<8|i[u+2]);if(g===void 0)return n;if(g.appendix!==void 0&&(e.stack[e.sp++]=g.appendix),ha(t,e,g.m)){u=e.pc,l=e.sp;break}return n}case 187:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.classRef(t,s,b);if(g===void 0||g.state!==z&&!r.initialize(t,g))return e.pc=d,e.sp=l,n;if(g.access&1536)throw new A("java/lang/InstantiationError",g.javaName);o[l++]=new Ge(g,g.template.slice()),u+=3;break}case 188:{if(f=o[l-1],f<0)throw new A("java/lang/NegativeArraySizeException",String(f));let g="?ZCFDBSIJ"[i[u+1]-3];o[l-1]=new W(r.primArrayClass(g),Te(g,f)),u+=2;break}case 189:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.classRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;if(f=o[l-1],f<0)throw new A("java/lang/NegativeArraySizeException",String(f));o[l-1]=new W(r.arrayOf(g),Te("L",f)),u+=3;break}case 190:y=o[l-1],y===null&&ar(),o[l-1]=y.a.length,u++;break;case 191:throw y=o[l-1],y===null&&ar(),new oe(y);case 192:case 193:{b=i[u+1]<<8|i[u+2],y=o[l-1];let g=i[u]===192;if(y===null){g||(o[l-1]=0),u+=3;break}let h=s.rcp[b]??r.classRef(t,s,b);if(h===void 0)return e.pc=d,e.sp=l,n;let j=y.cls===h||y.cls.isAssignableTo(h);if(g){if(!j)throw new A("java/lang/ClassCastException",r.castMessage(y.cls,h))}else o[l-1]=j?1:0;u+=3;break}case 194:if(y=o[l-1],y===null&&ar(),!r.monitorEnter(t,y))return e.pc=d,e.sp=l,n;l--,u++;break;case 195:y=o[--l],y===null&&ar(),r.monitorExit(t,y),u++;break;case 196:{let g=i[u+1];switch(b=i[u+2]<<8|i[u+3],g){case 21:case 23:case 25:o[l++]=c[b];break;case 22:case 24:o[l++]=c[b],o[l++]=void 0;break;case 54:case 56:case 58:c[b]=o[--l];break;case 55:case 57:l-=2,c[b]=o[l];break;case 132:c[b]=c[b]+((i[u+4]<<8|i[u+5])<<16>>16)|0,u+=2;break;case 169:u=c[b];continue;default:throw new Error(`bad wide opcode ${g}`)}u+=4;break}case 197:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.classRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;let h=i[u+3],j=[];for(let x=0;x<h;x++)j.unshift(o[--l]);for(let x of j)if(x<0)throw new A("java/lang/NegativeArraySizeException",String(x));o[l++]=r.multiArray(g,j),u+=4;break}case 198:if(o[--l]===null){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 199:if(o[--l]!==null){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 200:u+=fn(i,u+1);break;case 201:o[l++]=u+5,u+=fn(i,u+1);break;default:throw new Error(`unknown opcode 0x${i[u].toString(16)} at ${a}:${u}`)}return e.pc=u,e.sp=l,n}catch(g){return e.pc=d,e.sp=l,ps(t,g),n}}function Qe(t,e,n,r){let a=e.m;return a.jit===null&&(a.noJit||(xd(t,a),a.jit===null))?!1:(e.pc=n,e.sp=r,!0)}function ze(t,e){return(t[e+1]<<8|t[e+2])<<16>>16}function fn(t,e){return t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}function ha(t,e,n){let r=n.argSlots,a=e.sp-r,s=e.stack;if(n.code){Pl(t),n.jit===null&&!n.noJit&&vd(t,n);let o=new Oe(n),u=o.locals;for(let l=0;l<r;l++)u[l]=s[a+l];return e.sp=a,n.isSynchronized&&Dd(t,o,n.isStatic?t.vm.mirror(n.cls):u[0]),t.frames.push(o),!1}let i=[],c=a;n.isStatic||i.push(s[c++]);for(let o of n.params)i.push(s[c]),c+=ke(o)?2:1;return e.sp=a,Pd(t,n,i)}function Pd(t,e,n){if(e.isAbstract)throw new A("java/lang/AbstractMethodError",`${e.cls.javaName}.${e.name}${e.desc}`);let r=e.native??t.vm.bindNative(e),a;try{a=r(t,n)}catch(s){throw Wa(s,e)}return fg(a)?(t.pushNative(a,e,e.ret,!1),!1):(ma(t,a,e.ret,!1),!0)}function fg(t){return t!==null&&typeof t=="object"&&typeof t.next=="function"&&typeof t.throw=="function"}function Dd(t,e,n){e.lock=n,e.needLock=!t.vm.monitorEnter(t,n)}function hs(t,e){t.frames.pop(),e.lock&&t.vm.monitorExit(t,e.lock)}function Bd(t,e){return e==="Z"&&typeof t=="boolean"?t?1:0:t}function ma(t,e,n,r){let a=t.top;if(a!==void 0){if(a instanceof it){a.input=Bd(e,n);return}r||(n!=="V"&&(a.stack[a.sp++]=Bd(e,n),(n==="J"||n==="D")&&(a.stack[a.sp++]=void 0)),a.pc+=a.code[a.pc]>=185?5:3)}}function Rd(t,e){for(;t.frames.length>0;){let n=t.top;if(n instanceof it){n.thrown=e;return}let r=Ud(t.vm,n,e);if(r>=0){t.frames.length<bs-500&&(t.stackLimit=bs),n.sp=0,n.stack[n.sp++]=e,n.pc=r;return}hs(t,n)}}function Ud(t,e,n){let r=e.m.code.handlers,a=e.pc;for(let s of r){if(a<s.start||a>=s.end)continue;if(s.catchType===0)return s.handler;let i=t.cpClassName(e.m.cls,s.catchType);for(let c=n.cls;c;c=c.superclass)if(c.name===i)return s.handler}return-1}function ps(t,e){e instanceof oe?Rd(t,e.obj):e instanceof A?t.vm.throwNew(t,e.cls,e.msg,e.ctor,e.native):t.vm.internalError(t,e)}function dg(t,e){let n;try{if(e.thrown){let a=e.thrown;e.thrown=null,n=e.gen.throw(new oe(a))}else{let a=e.input;e.input=void 0,n=e.gen.next(a)}}catch(a){t.frames.pop(),ps(t,e.m?Wa(a,e.m):a);return}if(n.done){t.frames.pop(),ma(t,n.value,e.ret,e.reexec);return}let r=n.value;if(r.kind==="invoke"){let a=r.m,s=r.args;try{if(a.code){Pl(t);let i=new Oe(a),c=0;a.isStatic||(i.locals[c++]=s[0]);let o=a.isStatic?0:1;for(let u=0;u<a.params.length;u++)i.locals[c]=s[u+o],c+=ke(a.params[u])?2:1;a.isSynchronized&&Dd(t,i,a.isStatic?t.vm.mirror(a.cls):s[0]),t.frames.push(i)}else Pd(t,a,s)}catch(i){ps(t,i)}}else r.kind==="wait"&&(t.state=fi,r.promise.then(a=>{e.input=a,t.vm.wake(t)},a=>{a instanceof oe?e.thrown=a.obj:a instanceof A?t.vm.throwNew(t,a.cls,a.msg,a.ctor):t.vm.internalError(t,a),t.vm.wake(t)}))}var gs=typeof process<"u"&&process.env?.JW_JIT_STATS?new Map:null;gs&&process.on("exit",()=>{console.error("-- run loop entries into compiled code");for(let[t,e]of[...gs].sort((n,r)=>r[1]-n[1]).slice(0,25))console.error(String(e).padStart(8),t)});function mg(t,e){let n=t.frames[t.frames.length-2],r=n instanceof Oe?`${n.m} @${n.pc} op=${n.code[n.pc]?.toString(16)} ${n.m.jit?"jit":n.m.noJit?"nojit":"interp"}`:"native",a=`${e.m.name} @${e.pc} from ${r}`;gs.set(a,(gs.get(a)??0)+1)}function Vd(t,e){for(;e>0&&t.state===wr;){let n=t.top;if(n===void 0){Cd(t);return}if(n instanceof it){dg(t,n),e--;continue}if(n.needLock){if(!t.vm.monitorEnter(t,n.lock))return;n.needLock=!1}let r=n.m.jit;if(r!==null){gs&&mg(t,n),t.base=t.frames.length;try{r(t,n)}catch(a){ps(t,a)}e-=4e3}else e=Ed(t,n,e)}t.frames.length===0&&t.state!==At&&Cd(t)}function Cd(t){t.state=At,t.vm.threads.delete(t),t.onExit?.()}var Ni=16,Gd=512<<20,Bi=class{buf;u8;dv;top=Ni;sizes=new Map;free=new Map;constructor(e=1<<20){this.buf=new ArrayBuffer(e),this.u8=new Uint8Array(this.buf),this.dv=new DataView(this.buf)}grow(e){if(e>Gd)throw new A("java/lang/OutOfMemoryError",`Unable to allocate ${e-this.buf.byteLength} bytes`);let n=this.buf.byteLength;for(;n<e;)n*=2;n=Math.min(n,Gd);let r=new ArrayBuffer(n);new Uint8Array(r).set(this.u8),this.buf=r,this.u8=new Uint8Array(r),this.dv=new DataView(r)}malloc(e){let n=Math.max(Ni,Math.ceil(e/Ni)*Ni),r=this.free.get(n);if(r&&r.length>0){let s=r.pop();return this.sizes.set(s,n),s}let a=this.top;return this.top+=n,this.top>this.buf.byteLength&&this.grow(this.top),this.sizes.set(a,n),a}freeBlock(e){let n=this.sizes.get(e);if(n===void 0)return;this.sizes.delete(e);let r=this.free.get(n);r||this.free.set(n,r=[]),r.push(e)}realloc(e,n){if(e===0)return this.malloc(n);let r=this.sizes.get(e)??0;if(n<=r)return e;let a=this.malloc(n);return this.u8.copyWithin(a,e,e+r),this.freeBlock(e),a}};var Ci="127.0.0.2",Ei=3128,hg=64*1024,bg=/^(\[[0-9a-f:.]+\]|[a-z0-9._-]+):(\d{1,5})$/i,_d=new Set(["connection","keep-alive","proxy-connection","proxy-authorization","proxy-authenticate","te","trailer","transfer-encoding","upgrade","http2-settings","host","content-length","expect"]),Jt=class extends Error{status;constructor(e,n){super(n),this.status=e}},Hd=t=>{let e="";for(let n=0;n<t.length;n+=8192)e+=String.fromCharCode(...t.subarray(n,n+8192));return e},Dl=t=>{let e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return e};function Rl(t,e,n){let r=e.length;e:for(let a=n;a<=t.length-r;a++){for(let s=0;s<r;s++)if(t[a+s]!==e.charCodeAt(s))continue e;return a}return-1}function pg(t){let e=t.split(`\r
|
|
5
|
-
`),n=/^([A-Za-z]+) (\S+) HTTP\/(\d)\.(\d)$/.exec(e[0]);if(!n)throw new Jt(400,"bad request line");let r=new Headers;try{for(let c of e.slice(1)){let o=c.indexOf(":");if(o<=0)throw new Error;r.append(c.slice(0,o).trim(),c.slice(o+1).trim())}}catch{throw new Jt(400,"bad header")}let a=/chunked/i.test(r.get("transfer-encoding")??""),s=Number(r.get("content-length")??0);if(!(s>=0)||!Number.isInteger(s))throw new Jt(400,"bad Content-Length");let i=/close/i.test(r.get("connection")??"")||n[3]==="1"&&n[4]==="0";return{method:n[1].toUpperCase(),target:n[2],close:i,headers:r,chunked:a,length:s}}function
|
|
1
|
+
"use strict";(()=>{var ci=new Set(["/dev/null","/dev/zero","/dev/random","/dev/urandom"]);function Pe(t){if(t.length>1&&t[0]==="/"&&!t.endsWith("/")&&!t.endsWith("/.")&&!t.endsWith("/..")&&!t.includes("//")&&!t.includes("/./")&&!t.includes("/../"))return t;let e=[];for(let n of t.split("/"))n===""||n==="."||(n===".."?e.pop():e.push(n));return"/"+e.join("/")}var ui=class{mounts=[];hidden=[];mount(e,n){e=Pe(e),this.mounts.push({prefix:e,backend:n}),this.mounts.sort((r,a)=>a.prefix.length-r.prefix.length)}hide(e){this.hidden.push(Pe(e))}isHidden(e){return this.hidden.some(n=>e===n||e.startsWith(n+"/"))}resolve(e){if(e=Pe(e),this.hidden.length&&this.isHidden(e))return null;for(let{prefix:n,backend:r}of this.mounts){if(n==="/")return[r,e];if(e===n)return[r,"/"];if(e.startsWith(n+"/"))return[r,e.slice(n.length)]}return null}mountsUnder(e){let n=Pe(e),r=[];for(let{prefix:a}of this.mounts){if(a===n||a==="/")continue;(a.slice(0,a.lastIndexOf("/"))||"/")===n&&r.push(a.slice(a.lastIndexOf("/")+1))}return r}stat(e){let n=Pe(e);if(ci.has(n))return{dir:!1,size:0,mtime:0,device:!0};if(n==="/dev")return{dir:!0,size:0,mtime:0};if(this.hidden.length&&this.isHidden(n))return null;let r=this.resolve(e),a=r?r[0].stat(r[1]):null;return a||(Pe(e)==="/"||this.mountsUnder(e).length>0||this.isMountPoint(e)?{dir:!0,size:0,mtime:0}:null)}isMountPoint(e){let n=Pe(e);return this.mounts.some(r=>r.prefix===n)}read(e){if(ci.has(Pe(e)))return null;let n=this.resolve(e);return n?n[0].read(n[1]):null}canReadRange(e){let n=this.resolve(e);return!!n&&!!n[0].readRange}readRange(e,n,r){let a=this.resolve(e);return a?.[0].readRange?.(a[1],n,r)??null}list(e){let n=this.resolve(e),r=n?n[0].list(n[1]):null,a=this.mountsUnder(e);if(!r&&a.length===0)return this.stat(e)?.dir?[]:null;let s=[...new Set([...r??[],...a])];if(!this.hidden.length)return s;let i=Pe(e);return s.filter(c=>!this.isHidden(i==="/"?`/${c}`:`${i}/${c}`))}write(e,n){let r=this.resolve(e);return!!r&&r[0].writable&&!!r[0].write?.(r[1],n)}mkdir(e){let n=this.resolve(e);return!!n&&n[0].writable&&!!n[0].mkdir?.(n[1])}remove(e){let n=this.resolve(e);return!!n&&n[0].writable&&!!n[0].remove?.(n[1])}rename(e,n){let r=this.resolve(e),a=this.resolve(n);return!r||!a||r[0]!==a[0]||!r[0].writable?!1:!!r[0].rename?.(r[1],a[1])}writable(e){let n=this.resolve(e);return!!n&&n[0].writable}setMtime(e,n){let r=this.resolve(e);return!!r&&r[0].writable&&!!r[0].setMtime?.(r[1],n)}denied(e){let n=this.resolve(e);return!!n&&n[0].writable&&!!n[0].denied?.(n[1])}chmod(e,n){if(ci.has(Pe(e)))return!1;let r=this.resolve(e);if(!(!r||!r[0].chmod))return r[0].writable&&r[0].chmod(r[1],n)}access(e,n){if(ci.has(Pe(e)))return!0;let r=this.resolve(e);return!r||n&2&&(!r[0].writable||r[0].denied?.(r[1]))?!1:!(n&5)||(r[0].access?.(r[1],n&5)??!0)}},xr=class{writable=!0;files=new Map;dirs=new Set(["/"]);onChange=null;changed(e,n){this.onChange?.(e,n)}stat(e){let n=this.files.get(e);return n?{dir:!1,size:n.data.length,mtime:n.mtime}:this.dirs.has(e)?{dir:!0,size:0,mtime:0}:null}read(e){return this.files.get(e)?.data??null}list(e){if(!this.dirs.has(e))return null;let n=e==="/"?"/":e+"/",r=new Set;for(let a of[...this.files.keys(),...this.dirs])a.startsWith(n)&&a!==e&&r.add(a.slice(n.length).split("/")[0]);return[...r]}write(e,n){if(!this.dirs.has(al(e))||this.dirs.has(e))return!1;let r={data:n,mtime:Date.now()};return this.files.set(e,r),this.changed(e,r),!0}mkdir(e){return this.stat(e)||!this.dirs.has(al(e))?!1:(this.dirs.add(e),this.changed(e,"dir"),!0)}remove(e){let n=this.files.delete(e)||e!=="/"&&this.dirs.has(e)&&this.list(e).length===0&&this.dirs.delete(e);return n&&this.changed(e,null),n}rename(e,n){let r=this.files.get(e);return!r||!this.dirs.has(al(n))?!1:(this.files.delete(e),this.files.set(n,r),this.changed(e,null),this.changed(n,r),!0)}setMtime(e,n){let r=this.files.get(e);if(!r)return this.dirs.has(e);let a={data:r.data,mtime:n};return this.files.set(e,a),this.changed(e,a),!0}put(e,n,r=Date.now()){e=Pe(e);let a=e.split("/").slice(1,-1),s="";for(let c of a)s+="/"+c,this.dirs.has(s)||(this.dirs.add(s),this.changed(s,"dir"));let i={data:n,mtime:r};this.files.set(e,i),this.changed(e,i)}putDir(e){let n="";for(let r of Pe(e).split("/").slice(1))n+="/"+r,this.dirs.has(n)||(this.dirs.add(n),this.changed(n,"dir"))}};function al(t){return t.slice(0,t.lastIndexOf("/"))||"/"}var B={Utf8:1,Integer:3,Float:4,Long:5,Double:6,Class:7,String:8,Fieldref:9,Methodref:10,InterfaceMethodref:11,NameAndType:12,MethodHandle:15,MethodType:16,Dynamic:17,InvokeDynamic:18,Module:19,Package:20},an=class extends Error{},sa=class extends Error{major;minor;constructor(e,n){super(`class file version ${e}.${n}`),this.major=e,this.minor=n}},Za=class extends an{magic;constructor(e){super("Incompatible magic value"),this.magic=e}},jr=69,qn=class{pos=0;view;bytes;constructor(e){this.bytes=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}u1(){return this.bytes[this.pos++]}u2(){let e=this.view.getUint16(this.pos);return this.pos+=2,e}u4(){let e=this.view.getUint32(this.pos);return this.pos+=4,e}i4(){let e=this.view.getInt32(this.pos);return this.pos+=4,e}slice(e){let n=this.bytes.subarray(this.pos,this.pos+e);return this.pos+=e,n}};function Sb(t){let e=!0;for(let a=0;a<t.length;a++)if(t[a]&128){e=!1;break}if(e)return String.fromCharCode.apply(null,t);let n=[];for(let a=0;a<t.length;){let s=t[a++];if(s<128)n.push(s);else if((s&224)===192)n.push((s&31)<<6|t[a++]&63);else{let i=t[a++],c=t[a++];n.push((s&15)<<12|(i&63)<<6|c&63)}}let r="";for(let a=0;a<n.length;a+=8192)r+=String.fromCharCode.apply(null,n.slice(a,a+8192));return r}function qu(t){let e=[];for(let n=0;n<t.length;n++){let r=t.charCodeAt(n);r>=1&&r<128?e.push(r):r<2048?e.push(192|r>>6,128|r&63):e.push(224|r>>12,128|r>>6&63,128|r&63)}return Uint8Array.from(e)}function Xu(t,e){let n=t.u2(),r=_(e,t.u2()),a=_(e,t.u2()),s=sl(t,e),i=s.get("Code");return{access:n,name:r,desc:a,attrs:s,code:i?Jb(i,e):null}}function sl(t,e){let n=new Map;for(let r=t.u2();r>0;r--){let a=_(e,t.u2());n.set(a,t.slice(t.u4()))}return n}function Jb(t,e){let n=new qn(t),r=n.u2(),a=n.u2(),s=n.slice(n.u4()),i=[];for(let u=n.u2();u>0;u--)i.push({start:n.u2(),end:n.u2(),handler:n.u2(),catchType:n.u2()});let c=null,o=null;for(let[u,l]of sl(n,e)){if(u==="LocalVariableTable"&&(o=l),u!=="LineNumberTable")continue;let d=new qn(l);c??=[];for(let f=d.u2();f>0;f--)c.push(d.u2(),d.u2())}if(c&&c.length>2){let u=[];for(let l=0;l<c.length;l+=2)u.push([c[l],c[l+1]]);u.sort((l,d)=>l[0]-d[0]),c=u.flat()}return{maxStack:r,maxLocals:a,code:s,handlers:i,lines:c,localVars:o}}function _(t,e){let n=t[e];if(!n||n.tag!==B.Utf8)throw new an(`bad utf8 index ${e}`);return n.value}function de(t,e){let n=t[e];if(!n||n.tag!==B.Class)throw new an(`bad class index ${e}`);return _(t,n.a)}function il(t,e=!1){let n=new qn(t);try{let r=Mb(n,e);if(n.pos>t.length)throw new RangeError;if(n.pos<t.length)throw new an(`Extra bytes at the end of class file ${r.name}`);return r}catch(r){throw r instanceof RangeError?new an("Truncated class file"):r}}function Mb(t,e){let n=t.u4();if(n!==3405691582)throw new Za(n);let r=t.u2(),a=t.u2();if(a<45||a>jr)throw new sa(a,r);if(a>=56&&r!==0&&!(r===65535&&a===jr&&e))throw new sa(a,r);let s=t.u2(),i=new Array(s);for(let g=1;g<s;g++){let h=t.u1(),j,x=0,w=0;switch(h){case B.Utf8:j=Sb(t.slice(t.u2()));break;case B.Integer:j=t.i4();break;case B.Float:j=t.view.getFloat32(t.pos),t.pos+=4;break;case B.Long:j=t.view.getBigInt64(t.pos),t.pos+=8;break;case B.Double:j=t.view.getFloat64(t.pos),t.pos+=8;break;case B.Class:case B.String:case B.MethodType:case B.Module:case B.Package:x=t.u2();break;case B.MethodHandle:x=t.u1(),w=t.u2();break;case B.Fieldref:case B.Methodref:case B.InterfaceMethodref:case B.NameAndType:case B.Dynamic:case B.InvokeDynamic:x=t.u2(),w=t.u2();break;default:throw new an(`bad constant pool tag ${h} at ${g}`)}i[g]={tag:h,value:j,a:x,b:w},(h===B.Long||h===B.Double)&&g++}let c=t.u2(),o=de(i,t.u2()),u=t.u2(),l=u?de(i,u):null,d=[];for(let g=t.u2();g>0;g--)d.push(de(i,t.u2()));let f=[];for(let g=t.u2();g>0;g--)f.push(Xu(t,i));let m=[];for(let g=t.u2();g>0;g--)m.push(Xu(t,i));let p=sl(t,i),b=[],y=p.get("BootstrapMethods");if(y){let g=new qn(y);for(let h=g.u2();h>0;h--){let j=g.u2(),x=[];for(let w=g.u2();w>0;w--)x.push(g.u2());b.push({ref:j,args:x})}}return{minor:r,major:a,cp:i,access:c,name:o,superName:l,interfaces:d,fields:f,methods:m,attrs:p,bootstrap:b}}var Oe=class{m;code;pc=0;sp=0;locals;stack;lock=null;needLock=!1;direct=!1;poolSlot=-1;constructor(e,n=!1){let r=e.code;this.m=e,this.code=r.code,this.locals=n?null:new Array(r.maxLocals),this.stack=n?null:new Array(r.maxStack+2)}},it=class{gen;m;ret;reexec;input=void 0;thrown=null;constructor(e,n,r,a){this.gen=e,this.m=n,this.ret=r,this.reexec=a}},oe=class extends Error{obj;constructor(e){super("java exception"),this.obj=e}},A=class extends Error{cls;msg;ctor;pc;native;constructor(e,n=null,r){super(`${e}: ${n}`),this.cls=e,this.msg=n,this.ctor=r}};function Wa(t,e){return t instanceof A&&!e.intrinsic&&!e.polymorphic&&(t.native??=e),t}var wr=0,fi=1,At=2;var Tn=5,Yu=2,Ku=225,Qu=401,ef=417,tf=657,nf=673,di=1025,$b=1,Yn=class{vm;id=$b++;obj=null;frames=[];blockedOnMonitor=!1;held=0;pins=0;mounted=null;scopedValueCache=null;state=wr;daemon=!1;parkPermit=!1;stackLimit=6e3;ret=void 0;base=0;wake=null;onExit=null;constructor(e){this.vm=e}pool=[];directFrame(e){let n=this.frames.length;for(;this.pool.length<=n;)this.pool.push(this.pooled(e,this.pool.length));let r=this.pool[n]??(this.pool[n]=this.pooled(e,n));return r.m=e,r.code=e.code.code,r.pc=0,r.sp=0,r.locals=null,r.stack=null,r.lock=null,r.needLock=!1,r.direct=!0,r}pooled(e,n){let r=new Oe(e,!0);return r.poolSlot=n,r}unpool(e){e.direct=!1,this.pool[e.poolSlot]===e&&(this.pool[e.poolSlot]=null)}get top(){return this.frames[this.frames.length-1]}get name(){if(!this.obj)return`thread-${this.id}`;let e=this.vm.getField(this.obj,"java/lang/Thread","name");return e?this.vm.jsString(e):`thread-${this.id}`}get interrupted(){return!!this.obj&&this.vm.getField(this.obj,"java/lang/Thread","interrupted")===1}set interrupted(e){this.obj&&this.vm.setField(this.obj,"java/lang/Thread","interrupted",e?1:0)}pushNative(e,n,r,a){this.frames.push(new it(e,n,r,a))}block(e){return{kind:"wait",promise:e}}call(e,...n){return{kind:"invoke",m:e,args:n}}callVirtual(e,n,r,...a){let s=e.cls.selectMethod(n+r);if(!s)throw new Error(`no method ${n}${r} in ${e.cls.name}`);return{kind:"invoke",m:s,args:[e,...a]}}};var sn=1,Kn=2,ll=4,gt=8,Ie=16,Tb=32,Ir=32;var qa=128,Ya=256,af=512,ia=1024,kr=4096;var Fb=0,sf=1,pi=2,z=3,cl=4,Qn=1<<20,On=16;function yt(t){let e=[],n=1;for(;t[n]!==")";){let r=n;for(;t[n]==="[";)n++;t[n]==="L"&&(n=t.indexOf(";",n)),n++,e.push(t.slice(r,n))}return{params:e,ret:t.slice(n+1)}}function ke(t){return t==="J"||t==="D"}function ul(t){switch(t[0]){case"J":return 0n;case"L":case"[":return null;default:return 0}}var hi=class{cls;name;desc;access;attrs;wide;slot=-1;index=0;constructor(e,n){this.cls=e,this.name=n.name,this.desc=n.desc,this.access=n.access,this.attrs=n.attrs,this.wide=ke(n.desc)}get isStatic(){return(this.access>)!==0}},Xa=class{cls;name;desc;key;access;attrs;code;params;ret;argSlots;index=0;native=null;polymorphic=!1;intrinsic=!1;link=null;jit=null;hot=0;fallbacks=0;recompiles=0;noJit=!1;cache=null;constructor(e,n){this.cls=e,this.name=n.name,this.desc=n.desc,this.key=n.name+n.desc,this.access=n.access,this.attrs=n.attrs,this.code=n.code,this.isStatic=(n.access>)!==0,this.isNative=(n.access&Ya)!==0,this.isAbstract=(n.access&ia)!==0,this.isPrivate=(n.access&Kn)!==0,this.isSynchronized=(n.access&Tb)!==0;let{params:r,ret:a}=yt(n.desc);this.params=r,this.ret=a;let s=this.isStatic?0:1;for(let i of r)s+=ke(i)?2:1;this.argSlots=s}isStatic;isNative;isAbstract;isPrivate;isSynchronized;toString(){return`${this.cls.name}.${this.name}${this.desc}`}lineAt(e){let n=this.code?.lines;if(!n)return-1;let r=-1;for(let a=0;a<n.length&&n[a]<=e;a+=2)r=n[a+1];return r}},Ge=class{cls;f;mon=null;hash=0;x=void 0;constructor(e,n){this.cls=e,this.f=n}},W=class extends Ge{a;constructor(e,n){super(e,Ob),this.a=n}},Ob=[],bi=class{owner=null;count=0;entry=[];waiters=[]},Fn=class{name;loader;cf;superclass=null;interfaces=[];access;fields=[];methods=[];methodMap=new Map;instanceSlots=0;template=[];statics=[];state=Fb;initThread=null;initError=null;initWaiters=[];mirror=null;component=null;arrayClass=null;prim=null;hidden=!1;vmMembers=null;nestHost=null;vcache=new Map;rcp=[];ldc=[];supers=null;constructor(e,n,r,a){this.name=e,this.loader=n,this.cf=r,this.access=a}get isInterface(){return(this.access&af)!==0}get isArray(){return this.name[0]==="["}get isPrimitive(){return this.prim!==null}get javaName(){if(this.prim)return Lb(this.prim);let e=this.hidden?this.cf.name:this.name;return e.replace(/\//g,".")+this.name.slice(e.length)}get packageName(){let e=this.cf?.name??this.name,n=e.lastIndexOf("/");return n<0?"":e.slice(0,n)}get desc(){return this.prim??(this.isArray?this.name:`L${this.name};`)}toString(){return this.name}allSupers(){if(this.supers)return this.supers;let e=new Set([this]);if(this.superclass)for(let n of this.superclass.allSupers())e.add(n);for(let n of this.interfaces)for(let r of n.allSupers())e.add(r);return this.supers=e,e}isSubclassOf(e){for(let n=this;n;n=n.superclass)if(n===e)return!0;return!1}isAssignableTo(e){if(this===e)return!0;if(this.prim||e.prim)return!1;if(this.component){if(e.component){let n=this.component,r=e.component;return n.prim||r.prim?n===r:n.isAssignableTo(r)}return e.name==="java/lang/Object"||e.name==="java/lang/Cloneable"||e.name==="java/io/Serializable"}return this.allSupers().has(e)}findField(e,n){for(let r of this.fields)if(r.name===e&&(n===void 0||r.desc===n))return r;for(let r of this.interfaces){let a=r.findField(e,n);if(a)return a}return this.superclass?this.superclass.findField(e,n):null}declaredMethod(e){return this.methodMap.get(e)}findMethod(e){for(let n=this;n;n=n.superclass){let r=n.methodMap.get(e);if(r)return r}return this.findInterfaceMethod(e)}findInterfaceMethod(e){let n=null;for(let r of this.allSupers()){if(!r.isInterface)continue;let a=r.methodMap.get(e);if(!(!a||a.isPrivate||a.isStatic)){if(!a.isAbstract)return a;n??=a}}if(this.isInterface){let r=this.methodMap.get(e);if(r)return r}return n}selectMethod(e){let n=this.vcache.get(e);if(n!==void 0)return n;n=null;for(let r=this;r;r=r.superclass){let a=r.methodMap.get(e);if(a&&!a.isStatic&&!(a.isPrivate&&r!==this)){n=a;break}}if(!n||n.isAbstract){let r=this.maximallySpecific(e);r&&(n=r)}return this.vcache.set(e,n),n}maximallySpecific(e){let n=[];for(let a of this.allSupers()){if(!a.isInterface)continue;let s=a.methodMap.get(e);s&&!s.isAbstract&&!s.isStatic&&!s.isPrivate&&n.push(s)}return n.filter(a=>!n.some(s=>s!==a&&s.cls.allSupers().has(a.cls)))[0]??null}};function Lb(t){switch(t){case"Z":return"boolean";case"B":return"byte";case"C":return"char";case"S":return"short";case"I":return"int";case"J":return"long";case"F":return"float";case"D":return"double";case"V":return"void"}throw new Error(`not a primitive: ${t}`)}var on=1<<30;var Nb={Z:1,B:1,C:2,S:2,I:4,F:4,J:8,D:8,L:4},ol=16384,Bb=65,Cb=2048,rf=new ArrayBuffer(ol),mi=0;function Eb(t){if(t<Bb||t>Cb)return null;mi+t>ol&&(rf=new ArrayBuffer(ol),mi=0);let e=mi;return mi=e+t+7&-8,[rf,e]}function Te(t,e){let n=e*Nb[t];if(n>on)throw new A("java/lang/OutOfMemoryError","Java heap space");let r=t==="L"?null:Eb(n);try{switch(t){case"Z":case"B":return r?new Int8Array(r[0],r[1],e):new Int8Array(e);case"C":return r?new Uint16Array(r[0],r[1],e):new Uint16Array(e);case"S":return r?new Int16Array(r[0],r[1],e):new Int16Array(e);case"I":return r?new Int32Array(r[0],r[1],e):new Int32Array(e);case"J":return r?new BigInt64Array(r[0],r[1],e):new BigInt64Array(e);case"F":return r?new Float32Array(r[0],r[1],e):new Float32Array(e);case"D":return r?new Float64Array(r[0],r[1],e):new Float64Array(e);default:return new Array(e).fill(null)}}catch(a){throw a instanceof RangeError?new A("java/lang/OutOfMemoryError","Java heap space"):a}}var Ln="jdk/internal/vm/Continuation",fl="jdk/internal/vm/StackChunk",Pb=2,Db=3,Rb=4;function Ar(t){let e=t.state.get("continuations");return e||t.state.set("continuations",e={frozen:new WeakMap,entries:new WeakMap}),e}function uf(t,e){return Ar(t).entries.get(e)}function ff(t,e){return Ar(t).frozen.get(e)}function of(t){let e=Ar(t.vm).entries;for(let n=t.frames.length-2;n>=0;n--){let r=t.frames[n];if(r instanceof it&&e.has(r))return n}return-1}function lf(t,e){if(t.pins>0)return Pb;for(let r=e+1;r<t.frames.length-1;r++)if(!(t.frames[r]instanceof Oe))return Db;let n=Ar(t.vm).entries.get(t.frames[e]);return n.virtual&&t.held>n.held?Rb:0}function cf(t,e,n){let r=t.vm,a=r.getField(e,Ln,"tail");a||(a=r.newObject(r.loadBoot(fl)),r.setField(e,Ln,"tail",a)),r.setField(a,fl,"bottom",1),r.setField(a,fl,"sp",n?0:1)}var df={"jdk/internal/vm/ContinuationSupport.isSupported0()Z":()=>1,[`${Ln}.registerNatives()V`]:()=>{},[`${Ln}.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V`]:function*(t,[e,n,r]){let a=Ar(t.vm);if(a.entries.set(t.top,{cont:e,virtual:r===1,held:t.held}),!n){let c=t.vm.loadBoot(Ln).methodMap.get("enter(Ljdk/internal/vm/Continuation;Z)V");yield t.call(c,e,0);return}let s=a.frozen.get(e);if(!s)throw new A("java/lang/IllegalStateException","Continuation has no frames");a.frozen.delete(e),cf(t,e,!1),t.frames.push(...s);let i=t.top;i.stack[i.sp++]=0,i.pc+=3,yield{kind:"resume"}},[`${Ln}.doYield()I`]:function*(t){let e=of(t);if(e<0)throw new A("java/lang/IllegalStateException","Not in a continuation");let n=lf(t,e);if(n)return n;let r=Ar(t.vm).entries.get(t.frames[e]).cont;return Ar(t.vm).frozen.set(r,t.frames.splice(e+1,t.frames.length-e-2)),cf(t,r,!0),0},[`${Ln}.pin()V`]:t=>{t.pins++},[`${Ln}.unpin()V`]:t=>{if(t.pins===0)throw new A("java/lang/IllegalStateException","Not pinned");t.pins--},"java/lang/VirtualThread.takeVirtualThreadListToUnblock()Ljava/lang/VirtualThread;":function*(t){yield t.block(new Promise(()=>{}))},"java/lang/VirtualThread.registerNatives()V":()=>{},"java/lang/VirtualThread.postPinnedEvent(Ljava/lang/String;)V":()=>{},"java/lang/VirtualThread.notifyJvmtiStart()V":()=>{},"java/lang/VirtualThread.notifyJvmtiEnd()V":()=>{},"java/lang/VirtualThread.notifyJvmtiMount(Z)V":()=>{},"java/lang/VirtualThread.notifyJvmtiUnmount(Z)V":()=>{},"java/lang/VirtualThread.notifyJvmtiDisableSuspend(Z)V":()=>{},[`${Ln}.isPinned0(Ljdk/internal/vm/ContinuationScope;)I`]:t=>{let e=of(t);return e<0?0:lf(t,e)}};function ue(t,e){return t[e]<<8|t[e+1]}function mf(t){let e=t.cf?.attrs.get("SourceFile");return e?_(t.cf.cp,ue(e,0)):null}function vt(t){if(t===null)throw new A("java/lang/NullPointerException");return t}function me(t,e=0,n){let r=t.a;return new Uint8Array(r.buffer,r.byteOffset+e,n??r.length-e)}function ln(t,e){return e===null?null:t.vm.jsString(e)}function*er(t,e=t.frames){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r instanceof it){let a=uf(t.vm,r);if(a?.virtual&&t.mounted&&e===t.frames)return;if(a)continue}r.code?yield{m:r.m,pc:r.pc}:r.m&&(yield{m:r.m,pc:-2})}}var Ub=2,Vb=32,Gb=65536,_b=131072,Hb=1048576,zb=4194304,gi="java/lang/StackFrameInfo",Ka="java/lang/ClassFrameInfo",ml="java/lang/StackStreamFactory$AbstractStackWalker",Zb=1n;function dl(t){let e=t.vm.state.get("stackwalks");return e||t.vm.state.set("stackwalks",e=new Map),e}var hf=new WeakMap;function Qa(t){let e=hf.get(t);return e===void 0&&(e=t.cls.hidden||Sr(t.cls,t.attrs.get("RuntimeVisibleAnnotations")).includes("Ljdk/internal/vm/annotation/Hidden;"),hf.set(t,e)),e}function Wb(t){let e=t.access&65535|(t.name==="<init>"?_b:Gb);return hl(t)&&(e|=Hb),Qa(t)&&(e|=zb),e}function Xb(t){let e=t.cls;return e.name==="java/lang/StackWalker"||e.name===ml||e.superclass?.name===ml}function bf(t,e,n,r,a,s){let i=t.vm,c=0;for(let o=a;o<s&&n.pos<n.frames.length;o++){let{m:u,pc:l}=n.frames[n.pos++],d=r.a[o],f=i.getField(d,Ka,"flags")|Wb(u);i.setField(d,Ka,"flags",f),e&Ub?i.setField(d,Ka,"classOrMemberName",i.mirror(u.cls)):(i.setField(d,Ka,"classOrMemberName",bl(t,u)),i.setField(d,gi,"bci",l<0?-1:l)),c++}return c}function pf(t,e){return t.vm.getField(e,Ka,"classOrMemberName").x}var yf={"java/lang/StackStreamFactory.checkStackWalkModes()Z":()=>1,"java/lang/StackStreamFactory$AbstractStackWalker.callStackWalk(IILjdk/internal/vm/ContinuationScope;Ljdk/internal/vm/Continuation;II[Ljava/lang/Object;)Ljava/lang/Object;":function*(t,[e,n,r,,a,s,i,c]){let o=[...er(t,a?ff(t.vm,a)??[]:t.frames)],u=0;for(;u<o.length&&Xb(o[u].m);)u++;o=o.slice(u+r),n&Vb||(o=o.filter(f=>!Qa(f.m)));let l=Zb++,d={frames:o,pos:0};dl(t).set(l,d);try{let f=bf(t,n,d,c,i,s),m=t.vm.loadBoot(ml).methodMap.get("doStackWalk(JIIII)Ljava/lang/Object;");return yield t.call(m,e,l,r,f,i,i+f)}finally{dl(t).delete(l)}},"java/lang/StackStreamFactory$AbstractStackWalker.fetchStackFrames(IJIII[Ljava/lang/Object;)I":(t,[,e,n,,r,a,s])=>{let i=dl(t).get(n);return i?bf(t,e,i,s,a,r):0},"java/lang/StackStreamFactory$AbstractStackWalker.setContinuation(J[Ljava/lang/Object;Ljdk/internal/vm/Continuation;)V":()=>{},"java/lang/StackFrameInfo.expandStackFrameInfo()V":(t,[e])=>{let n=pf(t,e);t.vm.setField(e,gi,"name",t.vm.intern(n.name)),t.vm.setField(e,gi,"type",t.vm.intern(n.desc))},"java/lang/StackTraceElement.initStackTraceElement(Ljava/lang/StackTraceElement;Ljava/lang/StackFrameInfo;)V":(t,[e,n])=>{let r=pf(t,n),a=t.vm.getField(n,gi,"bci");yi(t,e,r.cls,r.name,r.isNative?-2:a,r)},"java/lang/Thread.getStackTrace0()Ljava/lang/Object;":(t,[e])=>gf(t,e),"java/lang/Thread.dumpThreads([Ljava/lang/Thread;)[[Ljava/lang/StackTraceElement;":(t,[e])=>t.vm.newObjectArray("[Ljava/lang/StackTraceElement;",e.a.map(n=>gf(t,n)??t.vm.newObjectArray("java/lang/StackTraceElement",[])))};function gf(t,e){let n=e.x;if(!n)return null;let r=t.vm.loadBoot("java/lang/StackTraceElement"),a=[...er(n)].filter(s=>!Qa(s.m)).map(({m:s,pc:i})=>{let c=t.vm.newObject(r);return yi(t,c,s.cls,s.name,i,s),c});return t.vm.newObjectArray("java/lang/StackTraceElement",a)}var ts=[{name:"CodeCacheManager",gc:!1,pools:["CodeHeap 'profiled nmethods'","CodeHeap 'non-nmethods'","CodeHeap 'non-profiled nmethods'"]},{name:"Metaspace Manager",gc:!1,pools:["Metaspace","Compressed Class Space"]},{name:"Copy",gc:!0,pools:["Eden Space","Survivor Space"]},{name:"MarkSweepCompact",gc:!0,pools:["Eden Space","Survivor Space","Tenured Gen"]}],ns=[{name:"CodeHeap 'non-nmethods'",heap:!1,usage:!0,collection:!1},{name:"Metaspace",heap:!1,usage:!0,collection:!1},{name:"Tenured Gen",heap:!0,usage:!0,collection:!0},{name:"CodeHeap 'profiled nmethods'",heap:!1,usage:!0,collection:!1},{name:"Eden Space",heap:!0,usage:!1,collection:!0},{name:"Survivor Space",heap:!0,usage:!1,collection:!0},{name:"Compressed Class Space",heap:!1,usage:!0,collection:!1},{name:"CodeHeap 'non-profiled nmethods'",heap:!1,usage:!0,collection:!1}],vf="MarkSweepCompact",qb="Tenured Gen";function vi(t){let e=t.state.get("gcStats");return e||t.state.set("gcStats",e={count:0,ms:0}),e}function Yb(){let t=globalThis.process?.memoryUsage?.();if(t)return{used:t.heapUsed,committed:t.heapTotal};let e=globalThis.performance?.memory;return e?{used:e.usedJSHeapSize,committed:e.totalJSHeapSize}:{used:0,committed:0}}function*tr(t){let e=t.vm,n=e.state.get("mgmtBeans");if(n)return n;let r=e.loadBoot("sun/management/ManagementFactoryHelper"),a=c=>r.methodMap.get(c),s=[];for(let c of ns)s.push(yield t.call(a("createMemoryPool(Ljava/lang/String;ZJJ)Ljava/lang/management/MemoryPoolMXBean;"),e.str(c.name),c.heap?1:0,c.usage?0n:-1n,c.collection?0n:-1n));let i=[];for(let c of ts)i.push(c.gc?yield t.call(a("createGarbageCollector(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/management/GarbageCollectorMXBean;"),e.str(c.name),null):yield t.call(a("createMemoryManager(Ljava/lang/String;)Ljava/lang/management/MemoryManagerMXBean;"),e.str(c.name)));return n={pools:s,managers:i},e.state.set("mgmtBeans",n),n}function*gl(t,e,n,r,a){let s=t.vm,i=s.loadBoot("java/lang/management/MemoryUsage"),c=s.newObject(i);return yield t.call(i.methodMap.get("<init>(JJJJ)V"),c,BigInt(e),BigInt(n),BigInt(r),BigInt(a)),c}function*pl(t,e){let n=yield*tr(t);return ns[n.pools.indexOf(e)].name!==qb?yield*gl(t,0,0,0,-1):yield*xf(t)}function*xf(t){let e=Yb(),n=Math.min(Math.max(e.used,e.committed),on);return yield*gl(t,0,Math.min(e.used,n),n,on)}function es(t){return[...t.threads].filter(e=>e.state!==At&&e.obj)}var ne="sun/management/VMManagementImpl.",Nn="sun/management/MemoryPoolImpl.",St="sun/management/ThreadImpl.",jf={[`${ne}getVersion0()Ljava/lang/String;`]:t=>t.vm.str("4.0"),[`${ne}initOptionalSupportFields()V`]:()=>{},[`${ne}isThreadContentionMonitoringEnabled()Z`]:()=>0,[`${ne}isThreadCpuTimeEnabled()Z`]:()=>0,[`${ne}isThreadAllocatedMemoryEnabled()Z`]:()=>0,[`${ne}endAOTRecording()Z`]:()=>0,[`${ne}getTotalClassCount()J`]:t=>BigInt(t.vm.classCount),[`${ne}getUnloadedClassCount()J`]:()=>0n,[`${ne}getVerboseClass()Z`]:()=>0,[`${ne}getVerboseGC()Z`]:()=>0,[`${ne}getProcessId()I`]:()=>globalThis.process?.pid??1,[`${ne}getVmArguments0()[Ljava/lang/String;`]:t=>t.vm.newObjectArray("java/lang/String",[]),[`${ne}getStartupTime()J`]:t=>BigInt(t.vm.startTime),[`${ne}getUptime0()J`]:t=>BigInt(Date.now()-t.vm.startTime),[`${ne}getAvailableProcessors()I`]:()=>1,[`${ne}getTotalCompileTime()J`]:()=>0n,[`${ne}getTotalThreadCount()J`]:t=>BigInt(t.vm.threadsStarted),[`${ne}getLiveThreadCount()I`]:t=>es(t.vm).length,[`${ne}getPeakThreadCount()I`]:t=>Math.max(t.vm.peakThreads,es(t.vm).length),[`${ne}getDaemonThreadCount()I`]:t=>es(t.vm).filter(e=>e.daemon).length,[`${ne}getSafepointCount()J`]:()=>0n,[`${ne}getTotalSafepointTime()J`]:()=>0n,[`${ne}getSafepointSyncTime()J`]:()=>0n,[`${ne}getTotalApplicationNonStoppedTime()J`]:t=>BigInt(Date.now()-t.vm.startTime),[`${ne}getLoadedClassSize()J`]:()=>0n,[`${ne}getUnloadedClassSize()J`]:()=>0n,[`${ne}getClassLoadingTime()J`]:()=>0n,[`${ne}getMethodDataSize()J`]:()=>0n,[`${ne}getInitializedClassCount()J`]:()=>0n,[`${ne}getClassInitializationTime()J`]:()=>0n,[`${ne}getClassVerificationTime()J`]:()=>0n,"sun/management/MemoryImpl.getMemoryPools0()[Ljava/lang/management/MemoryPoolMXBean;":function*(t){let e=yield*tr(t);return t.vm.newObjectArray("java/lang/management/MemoryPoolMXBean",e.pools)},"sun/management/MemoryImpl.getMemoryManagers0()[Ljava/lang/management/MemoryManagerMXBean;":function*(t){let e=yield*tr(t);return t.vm.newObjectArray("java/lang/management/MemoryManagerMXBean",e.managers)},"sun/management/MemoryImpl.getMemoryUsage0(Z)Ljava/lang/management/MemoryUsage;":function*(t,[,e]){return e?yield*xf(t):yield*gl(t,0,0,0,-1)},"sun/management/MemoryImpl.setVerboseGC(Z)V":()=>{},[`${Nn}getUsage0()Ljava/lang/management/MemoryUsage;`]:(t,[e])=>pl(t,e),[`${Nn}getPeakUsage0()Ljava/lang/management/MemoryUsage;`]:(t,[e])=>pl(t,e),[`${Nn}getCollectionUsage0()Ljava/lang/management/MemoryUsage;`]:function*(t,[e]){let n=yield*tr(t);return ns[n.pools.indexOf(e)].collection?yield*pl(t,e):null},[`${Nn}setUsageThreshold0(JJ)V`]:()=>{},[`${Nn}setCollectionThreshold0(JJ)V`]:()=>{},[`${Nn}resetPeakUsage0()V`]:()=>{},[`${Nn}getMemoryManagers0()[Ljava/lang/management/MemoryManagerMXBean;`]:function*(t,[e]){let n=yield*tr(t),r=ns[n.pools.indexOf(e)].name;return t.vm.newObjectArray("java/lang/management/MemoryManagerMXBean",n.managers.filter((a,s)=>ts[s].pools.includes(r)))},[`${Nn}setPoolUsageSensor(Lsun/management/Sensor;)V`]:()=>{},[`${Nn}setPoolCollectionSensor(Lsun/management/Sensor;)V`]:()=>{},"sun/management/MemoryManagerImpl.getMemoryPools0()[Ljava/lang/management/MemoryPoolMXBean;":function*(t,[e]){let n=yield*tr(t),r=ts[n.managers.indexOf(e)].pools;return t.vm.newObjectArray("java/lang/management/MemoryPoolMXBean",r.map(a=>n.pools[ns.findIndex(s=>s.name===a)]))},"sun/management/GarbageCollectorImpl.getCollectionCount()J":function*(t,[e]){let n=yield*tr(t);return ts[n.managers.indexOf(e)].name===vf?BigInt(vi(t.vm).count):0n},"sun/management/GarbageCollectorImpl.getCollectionTime()J":function*(t,[e]){let n=yield*tr(t);return ts[n.managers.indexOf(e)].name===vf?BigInt(Math.round(vi(t.vm).ms)):0n},[`${St}getThreads()[Ljava/lang/Thread;`]:t=>t.vm.newObjectArray("java/lang/Thread",es(t.vm).map(e=>e.obj)),[`${St}getThreadTotalCpuTime0(J)J`]:()=>-1n,[`${St}getThreadUserCpuTime0(J)J`]:()=>-1n,[`${St}getThreadAllocatedMemory0(J)J`]:()=>-1n,[`${St}getTotalThreadAllocatedMemory()J`]:()=>-1n,[`${St}setThreadCpuTimeEnabled0(Z)V`]:()=>{},[`${St}setThreadAllocatedMemoryEnabled0(Z)V`]:()=>{},[`${St}setThreadContentionMonitoringEnabled0(Z)V`]:()=>{},[`${St}findMonitorDeadlockedThreads0()[Ljava/lang/Thread;`]:()=>null,[`${St}findDeadlockedThreads0()[Ljava/lang/Thread;`]:()=>null,[`${St}resetPeakThreadCount0()V`]:t=>{t.vm.peakThreads=es(t.vm).length},[`${St}resetContentionTimes0(J)V`]:()=>{},"sun/management/HotspotThread.getInternalThreadCount()I":()=>0,"sun/management/HotspotThread.getInternalThreadTimes0([Ljava/lang/String;[J)I":()=>0,"sun/management/ClassLoadingImpl.setVerboseClass(Z)V":()=>{}};function wf(t,e,n){let r=(i,c)=>{for(let o=i.length-1;o>=0;o--)if(i[o][0]===c)return i[o][1]},a=r(t.classes,e);if(a!==void 0)return a;let s=Math.max(e.lastIndexOf("."),0);do{let i=r(t.packages,e.slice(0,s));if(i!==void 0)return i;s=Math.max(e.lastIndexOf(".",s-1),0)}while(s>0);return n?t.system:t.user}var yl=new Float32Array(1),If=new Int32Array(yl.buffer),vl=new Float64Array(1),kf=new BigInt64Array(vl.buffer);function rs(t,e){t.vm.setThreadStatus(t,e)}function ji(t){if(t.interrupted)throw t.interrupted=!1,new A("java/lang/InterruptedException")}function wi(t,e,n){return new Promise(r=>{let a,s=()=>{a!==void 0&&(clearTimeout(a),t.vm.timers.delete(a)),t.wake=null,r()};t.wake=s,n?.(s),e!==null&&(a=setTimeout(s,Math.max(0,e)),t.vm.timers.add(a))})}function*Kb(t,e,n){let r=t.vm,a=e.mon;if(!a||a.owner!==t)throw new A("java/lang/IllegalMonitorStateException","current thread is not owner");ji(t);let s=a.count;r.releaseMonitor(a),rs(t,n>0n?ef:Qu);let i=null;yield t.block(wi(t,n>0n?Number(n):null,o=>{i={t,wake:o},a.waiters.push(i)}));let c=a.waiters.indexOf(i);for(c>=0&&a.waiters.splice(c,1),a.owner!==null&&rs(t,di);a.owner!==null;)yield t.block(new Promise(o=>a.entry.push(o)));a.owner=t,a.count=s,rs(t,Tn),ji(t)}function Qb(t,e,n,r,a,s){if(e===null||r===null)throw new A("java/lang/NullPointerException");if(!(e instanceof W))throw new A("java/lang/ArrayStoreException",`arraycopy: source type ${e.cls.javaName} is not an array`);if(!(r instanceof W))throw new A("java/lang/ArrayStoreException",`arraycopy: destination type ${r.cls.javaName} is not an array`);let i=e.cls.component,c=r.cls.component;if((i.prim||c.prim)&&i!==c)throw new A("java/lang/ArrayStoreException",`arraycopy: type mismatch: can not copy ${e.cls.javaName.replace(/^\[/,"")}[] into ${r.cls.javaName.replace(/^\[/,"")}[]`);let o=e.a,u=r.a;if(s<0||n<0||a<0||n+s>o.length||a+s>u.length){let d;throw n<0?d=`arraycopy: source index ${n} out of bounds for ${xi(e)}`:a<0?d=`arraycopy: destination index ${a} out of bounds for ${xi(r)}`:s<0?d=`arraycopy: length ${s} is negative`:n+s>o.length?d=`arraycopy: last source index ${n+s} out of bounds for ${xi(e)}`:d=`arraycopy: last destination index ${a+s} out of bounds for ${xi(r)}`,new A("java/lang/ArrayIndexOutOfBoundsException",d)}if(s===0)return;if(!Array.isArray(o)){s<=32?np[i.prim](o,n,u,a,s):o===u?u.copyWithin(a,n,n+s):u.set(o.subarray(n,n+s),a);return}let l=u;if(i===c||i.isAssignableTo(c)){if(o===u&&n<a)for(let d=s-1;d>=0;d--)l[a+d]=o[n+d];else for(let d=0;d<s;d++)l[a+d]=o[n+d];return}for(let d=0;d<s;d++){let f=o[n+d];if(f!==null&&!f.cls.isAssignableTo(c))throw new A("java/lang/ArrayStoreException",`arraycopy: element type mismatch: can not cast one of the elements of ${e.cls.javaName.replace(/^\[L(.*);$/,"$1")}[] to the type of the destination array, ${c.javaName}`);l[a+d]=f}}var ep="if(s===d&&sp<dp)for(let i=n-1;i>=0;i--)d[dp+i]=s[sp+i];else for(let i=0;i<n;i++)d[dp+i]=s[sp+i];",tp=(t,e,n,r,a)=>{if(t===n&&e<r)for(let s=a-1;s>=0;s--)n[r+s]=t[e+s];else for(let s=0;s<a;s++)n[r+s]=t[e+s]};function nr(){try{return new Function("s","sp","d","dp","n",ep)}catch{return tp}}var np={Z:nr(),B:nr(),C:nr(),S:nr(),I:nr(),J:nr(),F:nr(),D:nr()};function xi(t){let e=t.cls.component;return`${e.prim?e.javaName:"object array"}[${t.a.length}]`}function rp(t,e){if(e instanceof W){let r=e.a;if(Array.isArray(r))return new W(e.cls,r.slice());let a=Te(e.cls.component.prim,r.length);return a.set(r),new W(e.cls,a)}if(!e.cls.allSupers().has(t.vm.loadBoot("java/lang/Cloneable")))throw new A("java/lang/CloneNotSupportedException",e.cls.javaName);let n=new Ge(e.cls,e.f.slice());return n.x=e.x,n}var ap={boolean:"Z",byte:"B",char:"C",short:"S",int:"I",long:"J",float:"F",double:"D",void:"V"},Af={"java/lang/Object.getClass()Ljava/lang/Class;":(t,[e])=>t.vm.mirror(e.cls),"java/lang/Object.hashCode()I":(t,[e])=>t.vm.identityHash(e),"java/lang/Object.clone()Ljava/lang/Object;":(t,[e])=>rp(t,e),"java/lang/Object.notify()V":(t,[e])=>{let n=e.mon;if(!n||n.owner!==t)throw new A("java/lang/IllegalMonitorStateException","current thread is not owner");n.waiters.shift()?.wake()},"java/lang/Object.notifyAll()V":(t,[e])=>{if(!e.mon||e.mon.owner!==t)throw new A("java/lang/IllegalMonitorStateException","current thread is not owner");t.vm.notifyAll(e)},"java/lang/Object.wait0(J)V":(t,[e,n])=>Kb(t,e,n),"java/lang/System.setIn0(Ljava/io/InputStream;)V":(t,[e])=>t.vm.setStatic(t.vm.loadBoot("java/lang/System"),"in",e),"java/lang/System.setOut0(Ljava/io/PrintStream;)V":(t,[e])=>t.vm.setStatic(t.vm.loadBoot("java/lang/System"),"out",e),"java/lang/System.setErr0(Ljava/io/PrintStream;)V":(t,[e])=>t.vm.setStatic(t.vm.loadBoot("java/lang/System"),"err",e),"java/lang/System.currentTimeMillis()J":()=>BigInt(Date.now()),"java/lang/System.nanoTime()J":()=>BigInt(Math.round(performance.now()*1e6)),"java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V":(t,[e,n,r,a,s])=>Qb(t,e,n,r,a,s),"java/lang/System.identityHashCode(Ljava/lang/Object;)I":(t,[e])=>e===null?0:t.vm.identityHash(e),"java/lang/System.mapLibraryName(Ljava/lang/String;)Ljava/lang/String;":(t,[e])=>{let n=ln(t,vt(e)),a=(t.vm.props.get("java.library.path")??"").split(":").filter(Boolean).some(s=>t.vm.fs.stat(Pe(`${s}/${n}.js`)));return t.vm.str(a?`${n}.js`:`lib${n}.so`)},"java/lang/Class.getPrimitiveClass(Ljava/lang/String;)Ljava/lang/Class;":(t,[e])=>{let n=ap[t.vm.jsString(e)];if(!n)throw new A("java/lang/ClassNotFoundException",t.vm.jsString(e));return t.vm.mirror(t.vm.primClass(n))},"java/lang/Class.desiredAssertionStatus0(Ljava/lang/Class;)Z":(t,[e])=>{let n=t.vm.opts.assertions,r=t.vm.classOf(vt(e));return n&&wf(n,r.javaName,r.loader===null)?1:0},"java/lang/Class.initClassName()Ljava/lang/String;":(t,[e])=>{let n=t.vm.intern(t.vm.classOf(e).javaName);return t.vm.setField(e,"java/lang/Class","name",n),n},"java/lang/Class.isInstance(Ljava/lang/Object;)Z":(t,[e,n])=>n!==null&&n.cls.isAssignableTo(t.vm.classOf(e)),"java/lang/Class.isAssignableFrom(Ljava/lang/Class;)Z":(t,[e,n])=>t.vm.classOf(vt(n)).isAssignableTo(t.vm.classOf(e)),"java/lang/Class.getSuperclass()Ljava/lang/Class;":(t,[e])=>{let n=t.vm.classOf(e);return n.isInterface||n.prim?null:n.superclass?t.vm.mirror(n.superclass):null},"java/lang/Class.getInterfaces0()[Ljava/lang/Class;":(t,[e])=>{let n=t.vm.classOf(e);return t.vm.newObjectArray("java/lang/Class",n.interfaces.map(r=>t.vm.mirror(r)))},"java/lang/Class.isHidden()Z":(t,[e])=>t.vm.classOf(e).hidden,"java/lang/Class.getClassAccessFlagsRaw0()I":(t,[e])=>t.vm.classOf(e).access,"java/lang/Class.getClassFileVersion0()I":(t,[e])=>{let n=t.vm.classOf(e);for(;n.component;)n=n.component;let r=n.cf;return r?r.major|r.minor<<16:69},"java/lang/Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;":(t,[e,n,r])=>sp(t,t.vm.jsString(vt(e)),n===1,r),"java/lang/Thread.currentThread()Ljava/lang/Thread;":t=>t.mounted??t.obj,"java/lang/Thread.currentCarrierThread()Ljava/lang/Thread;":t=>t.obj,"java/lang/Thread.setCurrentThread(Ljava/lang/Thread;)V":(t,[,e])=>{t.mounted=e===t.obj?null:e},"java/lang/Thread.findScopedValueBindings()Ljava/lang/Object;":()=>null,"java/lang/Thread.scopedValueCache()[Ljava/lang/Object;":t=>t.scopedValueCache,"java/lang/Thread.setScopedValueCache([Ljava/lang/Object;)V":(t,[e])=>{t.scopedValueCache=e},"java/lang/Thread.ensureMaterializedForStackWalk(Ljava/lang/Object;)V":()=>{},"java/lang/Thread.yield0()V":()=>{},"java/lang/Thread.sleepNanos0(J)V":function*(t,[e]){ji(t),rs(t,Ku);let n=performance.now()+Number(e)/1e6;try{for(let r=n-performance.now();r>0;r=n-performance.now())yield t.block(wi(t,r)),ji(t)}finally{rs(t,Tn)}},"java/lang/Thread.start0()V":(t,[e])=>{let n=t.vm.javaThread(e);t.vm.setField(e,"java/lang/Thread","eetop",BigInt(n.id));let r=t.vm.getField(e,"java/lang/Thread","holder");t.vm.setField(r,"java/lang/Thread$FieldHolder","threadStatus",Tn),t.vm.startThread(n)},"java/lang/Thread.holdsLock(Ljava/lang/Object;)Z":(t,[e])=>vt(e).mon?.owner===t,"java/lang/Thread.getThreads()[Ljava/lang/Thread;":t=>t.vm.newObjectArray("java/lang/Thread",[...t.vm.threads].filter(e=>e.state!==At&&e.obj).map(e=>e.obj)),"java/lang/Thread.setPriority0(I)V":()=>{},"java/lang/Thread.interrupt0()V":(t,[e])=>{e.x?.wake?.()},"java/lang/Thread.clearInterruptEvent()V":()=>{},"java/lang/Thread.setNativeName(Ljava/lang/String;)V":()=>{},"java/lang/Thread.getNextThreadIdOffset()J":t=>{let e=t.vm.state.get("tidAddr");return e===void 0&&(e=t.vm.mem.malloc(8),t.vm.mem.dv.setBigInt64(e,4n,!0),t.vm.state.set("tidAddr",e)),BigInt(e)},"java/lang/Throwable.fillInStackTrace(I)Ljava/lang/Throwable;":(t,[e])=>{let n=[],r=!0;for(let a of er(t)){if(r){if(a.m.name==="fillInStackTrace"&&e.cls.isSubclassOf(a.m.cls)||a.m.name==="<init>"&&e.cls.isSubclassOf(a.m.cls))continue;r=!1}if(!Qa(a.m)){if(n.length===1024)break;n.push(a)}}return t.vm.setField(e,"java/lang/Throwable","backtrace",n),t.vm.setField(e,"java/lang/Throwable","depth",n.length),e},"java/lang/StackTraceElement.initStackTraceElements([Ljava/lang/StackTraceElement;Ljava/lang/Object;I)V":(t,[e,n,r])=>{for(let a=0;a<r;a++)yi(t,e.a[a],n[a].m.cls,n[a].m.name,n[a].pc,n[a].m)},"java/lang/String.intern()Ljava/lang/String;":(t,[e])=>t.vm.internObject(e),"java/lang/StringUTF16.isBigEndian()Z":()=>0,"java/lang/Float.floatToRawIntBits(F)I":(t,[e])=>(yl[0]=e,If[0]),"java/lang/Float.intBitsToFloat(I)F":(t,[e])=>(If[0]=e,yl[0]),"java/lang/Double.doubleToRawLongBits(D)J":(t,[e])=>(vl[0]=e,kf[0]),"java/lang/Double.longBitsToDouble(J)D":(t,[e])=>(kf[0]=e,vl[0]),"java/lang/Runtime.availableProcessors()I":()=>1,"java/lang/Runtime.freeMemory()J":()=>BigInt(Math.min(512<<20,on)/2),"java/lang/Runtime.totalMemory()J":()=>BigInt(Math.min(512<<20,on)),"java/lang/Runtime.maxMemory()J":()=>BigInt(on),"java/lang/Runtime.gc()V":function*(t){let e=vi(t.vm);e.count++;let n=globalThis.gc;if(!n)return;yield t.block(new Promise(a=>setTimeout(a,0)));for(let a of t.vm.threads)for(let s of a.frames)s instanceof Oe&&s.stack&&s.stack.fill(void 0,s.sp);let r=performance.now();n(),e.ms+=performance.now()-r},"java/lang/Shutdown.beforeHalt()V":()=>{},"java/lang/Shutdown.halt0(I)V":(t,[e])=>t.vm.halt(e)};function yi(t,e,n,r,a,s){let i=t.vm,c="java/lang/StackTraceElement";if(i.setField(e,c,"declaringClassObject",i.mirror(n)),i.setField(e,c,"declaringClass",i.intern(n.javaName)),i.setField(e,c,"methodName",i.intern(r)),n.loader){let l=i.getField(n.loader,"java/lang/ClassLoader","name");l&&i.setField(e,c,"classLoaderName",l)}let o=i.moduleOf(n);if(o){let l=i.getField(o,"java/lang/Module","name");if(l){i.setField(e,c,"moduleName",l);let d=i.shownVersion(o);d&&i.setField(e,c,"moduleVersion",i.intern(d))}}let u=mf(n);i.setField(e,c,"fileName",u?i.intern(u):null),i.setField(e,c,"lineNumber",a===-2?-2:s?s.lineAt(a):-1)}function*sp(t,e,n,r){let a=t.vm;if(e.includes("/")||e.length===0||/^\[{256}/.test(e))throw new A("java/lang/ClassNotFoundException",e);let s=e.replace(/\./g,"/"),i;try{i=yield*a.loadClassGen(t,r,s,!0)}catch(c){throw c instanceof A&&c.cls==="java/lang/NoClassDefFoundError"?new A("java/lang/ClassNotFoundException",e):c}return n&&i.state!==3&&!i.component&&(yield*a.initGen(t,i)),a.mirror(i)}var ip=20703,op=7679;function Ii(t,e,n){let r=e.get(n);return r?_(t.cf.cp,ue(r,0)):null}function cn(t,e,n){let r=e?.get(n);if(!r)return null;let a=t.vm.newArray(t.vm.primClass("B"),r.length);return a.a.set(new Int8Array(r.buffer,r.byteOffset,r.length)),a}function*un(t,e,n){let r=t.vm,a=0;for(;n[a]==="[";)a++;let s;n[a]==="L"?s=yield*r.loadClassGen(t,e.loader,n.slice(a+1,-1)):s=r.primClass(n[a]);for(let i=0;i<a;i++)s=r.arrayOf(s);return s}function*lp(t,e,n){let r=[];for(let a of n)r.push(t.vm.mirror(yield*un(t,e,a)));return t.vm.newObjectArray("java/lang/Class",r)}function*cp(t,e){let n=e.attrs.get("Exceptions"),r=[];if(n){let a=ue(n,0);for(let s=0;s<a;s++){let i=de(e.cls.cf.cp,ue(n,2+s*2));r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,e.cls.loader,i)))}}return t.vm.newObjectArray("java/lang/Class",r)}function*la(t,e){let n=t.vm.loadBoot(e);return n.state!==z&&(yield*t.vm.initGen(t,n)),n}function*up(t,e){let n=t.vm,r="java/lang/reflect/Field",a=n.newObject(yield*la(t,r)),s=e.cls;n.setField(a,r,"clazz",n.mirror(s)),n.setField(a,r,"slot",e.index),n.setField(a,r,"name",n.intern(e.name)),n.setField(a,r,"type",n.mirror(yield*un(t,s,e.desc))),n.setField(a,r,"modifiers",e.access&ip);let i=s.superclass?.name==="java/lang/Record";n.setField(a,r,"trustedFinal",e.access&Ie&&(e.access>||i||s.hidden)?1:0);let c=Ii(s,e.attrs,"Signature");return n.setField(a,r,"signature",c?n.intern(c):null),n.setField(a,r,"annotations",cn(t,e.attrs,"RuntimeVisibleAnnotations")),a}function*xl(t,e){let n=t.vm,r=e.cls,a=e.name==="<init>",s=a?"java/lang/reflect/Constructor":"java/lang/reflect/Method",i=n.newObject(yield*la(t,s));n.setField(i,s,"clazz",n.mirror(r)),n.setField(i,s,"slot",e.index),n.setField(i,s,"parameterTypes",yield*lp(t,r,e.params)),n.setField(i,s,"exceptionTypes",yield*cp(t,e)),n.setField(i,s,"modifiers",e.access&op);let c=Ii(r,e.attrs,"Signature");return n.setField(i,s,"signature",c?n.intern(c):null),n.setField(i,s,"annotations",cn(t,e.attrs,"RuntimeVisibleAnnotations")),n.setField(i,s,"parameterAnnotations",cn(t,e.attrs,"RuntimeVisibleParameterAnnotations")),a||(n.setField(i,s,"name",n.intern(e.name)),n.setField(i,s,"returnType",n.mirror(yield*un(t,r,e.ret))),n.setField(i,s,"annotationDefault",cn(t,e.attrs,"AnnotationDefault"))),i}function oa(t,e){let n=t.vm,r=e.cls.name;return n.classOf(n.getField(e,r,"clazz")).methods[n.getField(e,r,"slot")]}function jl(t){let e=t.cf?.attrs.get("InnerClasses");if(!e)return[];let n=t.cf.cp,r=[];for(let a=0,s=ue(e,0);a<s;a++){let i=2+a*8,c=ue(e,i),o=ue(e,i+2),u=ue(e,i+4);r.push({inner:de(n,c),outer:o?de(n,o):null,name:u?_(n,u):null,flags:ue(e,i+6)})}return r}function*rr(t,e){if(e.nestHost)return e.nestHost;let n=e,r=e.cf?.attrs.get("NestHost");if(r)try{let a=yield*t.vm.loadClassGen(t,e.loader,de(e.cf.cp,ue(r,0)));a.loader===e.loader&&a.packageName===e.packageName&&wl(a,"NestMembers").includes(e.name)&&(n=a)}catch{}return e.nestHost=n}function wl(t,e){let n=t.cf?.attrs.get(e);if(!n)return[];let r=[];for(let a=0,s=ue(n,0);a<s;a++)r.push(de(t.cf.cp,ue(n,2+a*2)));return r}var Mf={Z:"java/lang/Boolean",B:"java/lang/Byte",C:"java/lang/Character",S:"java/lang/Short",I:"java/lang/Integer",J:"java/lang/Long",F:"java/lang/Float",D:"java/lang/Double"},fp=Object.fromEntries(Object.entries(Mf).map(([t,e])=>[e,t])),Il={B:"SIJFD",S:"IJFD",C:"IJFD",I:"JFD",J:"FD",F:"D",Z:"",D:""};function*Jr(t,e,n){let r=Mf[e];if(!r)return n;let a=yield*la(t,r);return yield t.call(a.methodMap.get(`valueOf(${e})L${r};`),n)}function kl(t,e,n){return e===n?t:e==="J"?n==="F"?Math.fround(Number(t)):Number(t):n==="J"?BigInt(t):n==="F"?Math.fround(t):t}function*$f(t,e,n,r){if(n[0]==="L"||n[0]==="["){if(r===null)return null;let s=yield*un(t,e,n);if(!r.cls.isAssignableTo(s))throw new A("java/lang/IllegalArgumentException","argument type mismatch");return r}let a=r?fp[r.cls.name]:void 0;if(!a||a!==n&&!Il[a].includes(n))throw new A("java/lang/IllegalArgumentException",r===null?"null value for primitive parameter":"argument type mismatch");return kl(t.vm.getField(r,r.cls.name,"value"),a,n)}function*Sf(t,e,n,r){let a=t.vm,s=r?.a??[];if(s.length!==e.params.length)throw new A("java/lang/IllegalArgumentException",`wrong number of arguments: ${s.length} expected: ${e.params.length}`);let i=[],c=e;if(e.isStatic)e.cls.state!==z&&(yield*a.initGen(t,e.cls));else{if(n===null)throw new A("java/lang/NullPointerException");if(!n.cls.isAssignableTo(e.cls))throw new A("java/lang/IllegalArgumentException","object is not an instance of declaring class");!e.isPrivate&&e.name!=="<init>"&&(c=n.cls.selectMethod(e.key)??e),i.push(n)}for(let u=0;u<e.params.length;u++)i.push(yield*$f(t,e.cls,e.params[u],s[u]));let o;try{o=yield t.call(c,...i)}catch(u){throw u instanceof oe?new oe(yield*a.newThrowable(t,"java/lang/reflect/InvocationTargetException",null,u.obj)):u}return e.ret==="V"?null:yield*Jr(t,e.ret,o)}function dp(t,e,n){let r=t.top;if(!n||n.a.length<2||!(r instanceof Oe)||r.m.name!=="invoke"||r.m.cls.name!=="jdk/internal/reflect/DirectMethodHandleAccessor$NativeAccessor"||r.m.desc!=="(Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;"||!Sr(e.cls,e.attrs.get("RuntimeInvisibleAnnotations")).includes("Ljdk/internal/reflect/CallerSensitiveAdapter;"))return n;let a=n.a;return new W(n.cls,[...a.slice(1),a[0]])}var _e="java/lang/Class.",Jf="java/lang/reflect/Executable.",ot="jdk/internal/reflect/ConstantPool.";function xt(t,e){return t.vm.classOf(e).cf.cp}var as={[`${_e}getDeclaredFields0(Z)[Ljava/lang/reflect/Field;`]:function*(t,[e,n]){let r=t.vm.classOf(e),a=[];for(let s of r.fields)(!n||s.access&1)&&!r.vmMembers?.has(s)&&a.push(yield*up(t,s));return t.vm.newObjectArray("java/lang/reflect/Field",a)},[`${_e}getDeclaredMethods0(Z)[Ljava/lang/reflect/Method;`]:function*(t,[e,n]){let r=t.vm.classOf(e),a=[];for(let s of r.methods)s.name[0]==="<"||n&&!(s.access&1)||r.vmMembers?.has(s)||a.push(yield*xl(t,s));return t.vm.newObjectArray("java/lang/reflect/Method",a)},[`${_e}getDeclaredConstructors0(Z)[Ljava/lang/reflect/Constructor;`]:function*(t,[e,n]){let r=t.vm.classOf(e),a=[];if(!r.isInterface&&!r.prim&&!r.component)for(let s of r.methods)s.name!=="<init>"||n&&!(s.access&1)||a.push(yield*xl(t,s));return t.vm.newObjectArray("java/lang/reflect/Constructor",a)},[`${_e}getDeclaredClasses0()[Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e),r=[];for(let a of jl(n))a.outer===n.name&&a.inner!==n.name&&r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,a.inner)));return t.vm.newObjectArray("java/lang/Class",r)},[`${_e}getDeclaringClass0()Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e),r=jl(n).find(a=>a.inner===n.name);return r?.outer?t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,r.outer)):null},[`${_e}getSimpleBinaryName0()Ljava/lang/String;`]:(t,[e])=>{let n=t.vm.classOf(e),r=jl(n).find(a=>a.inner===n.name);return r?.name?t.vm.intern(r.name):null},[`${_e}getEnclosingMethod0()[Ljava/lang/Object;`]:function*(t,[e]){let n=t.vm.classOf(e),r=n.cf?.attrs.get("EnclosingMethod");if(!r)return null;let a=n.cf.cp,s=yield*t.vm.loadClassGen(t,n.loader,de(a,ue(r,0))),i=ue(r,2),c=i?a[i]:null;return t.vm.newObjectArray("java/lang/Object",[t.vm.mirror(s),c?t.vm.intern(_(a,c.a)):null,c?t.vm.intern(_(a,c.b)):null])},[`${_e}getNestHost0()Ljava/lang/Class;`]:function*(t,[e]){return t.vm.mirror(yield*rr(t,t.vm.classOf(e)))},[`${_e}getNestMembers0()[Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e),r=[e];for(let a of wl(n,"NestMembers"))r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,a)));return t.vm.newObjectArray("java/lang/Class",r)},[`${_e}getPermittedSubclasses0()[Ljava/lang/Class;`]:function*(t,[e]){let n=t.vm.classOf(e);if(!n.cf?.attrs.has("PermittedSubclasses"))return null;let r=[];for(let a of wl(n,"PermittedSubclasses"))r.push(t.vm.mirror(yield*t.vm.loadClassGen(t,n.loader,a)));return t.vm.newObjectArray("java/lang/Class",r)},[`${_e}isRecord0()Z`]:(t,[e])=>{let n=t.vm.classOf(e);return n.superclass?.name==="java/lang/Record"&&!!n.cf?.attrs.has("Record")},[`${_e}getRecordComponents0()[Ljava/lang/reflect/RecordComponent;`]:function*(t,[e]){let n=t.vm,r=n.classOf(e),a=r.cf?.attrs.get("Record");if(!a)return null;let s=r.cf.cp,i="java/lang/reflect/RecordComponent",c=yield*la(t,i),o=[],u=new qn(a);for(let l=0,d=u.u2();l<d;l++){let f=_(s,u.u2()),m=_(s,u.u2()),p=new Map;for(let h=u.u2();h>0;h--){let j=_(s,u.u2());p.set(j,u.slice(u.u4()))}let b=n.newObject(c);n.setField(b,i,"clazz",e),n.setField(b,i,"name",n.intern(f)),n.setField(b,i,"type",n.mirror(yield*un(t,r,m)));let y=r.methodMap.get(`${f}()${m}`);n.setField(b,i,"accessor",y?yield*xl(t,y):null);let g=Ii(r,p,"Signature");n.setField(b,i,"signature",g?n.intern(g):null),n.setField(b,i,"annotations",cn(t,p,"RuntimeVisibleAnnotations")),n.setField(b,i,"typeAnnotations",cn(t,p,"RuntimeVisibleTypeAnnotations")),o.push(b)}return n.newObjectArray(i,o)},[`${_e}getGenericSignature0()Ljava/lang/String;`]:(t,[e])=>{let n=t.vm.classOf(e),r=n.cf?Ii(n,n.cf.attrs,"Signature"):null;return r?t.vm.intern(r):null},[`${_e}getRawAnnotations()[B`]:(t,[e])=>cn(t,t.vm.classOf(e).cf?.attrs,"RuntimeVisibleAnnotations"),[`${_e}getRawTypeAnnotations()[B`]:(t,[e])=>cn(t,t.vm.classOf(e).cf?.attrs,"RuntimeVisibleTypeAnnotations"),[`${Jf}getTypeAnnotationBytes0()[B`]:(t,[e])=>cn(t,oa(t,e).attrs,"RuntimeVisibleTypeAnnotations"),"java/lang/reflect/Field.getTypeAnnotationBytes0()[B":(t,[e])=>{let r=t.vm.classOf(t.vm.getField(e,"java/lang/reflect/Field","clazz")).fields[t.vm.getField(e,"java/lang/reflect/Field","slot")];return cn(t,r.attrs,"RuntimeVisibleTypeAnnotations")},[`${Jf}getParameters0()[Ljava/lang/reflect/Parameter;`]:function*(t,[e]){let n=t.vm,r=oa(t,e),a=r.attrs.get("MethodParameters");if(!a)return null;let s=r.cls.cf.cp,i="java/lang/reflect/Parameter",c=yield*la(t,i),o=[];for(let u=0;u<a[0];u++){let l=ue(a,1+u*4),d=ue(a,3+u*4);if(l>=s.length)throw new A("java/lang/IllegalArgumentException","Constant pool index out of bounds");if(l!==0&&s[l]?.tag!==B.Utf8)throw new A("java/lang/IllegalArgumentException","Wrong type at constant pool index");let f=n.newObject(c),m=l?n.str(_(s,l)):null;yield t.call(c.methodMap.get("<init>(Ljava/lang/String;ILjava/lang/reflect/Executable;I)V"),f,m,d,e,u),o.push(f)}return n.newObjectArray(i,o)},[`${_e}getConstantPool()Ljdk/internal/reflect/ConstantPool;`]:function*(t,[e]){let n=yield*la(t,"jdk/internal/reflect/ConstantPool"),r=t.vm.newObject(n);return t.vm.setField(r,"jdk/internal/reflect/ConstantPool","constantPoolOop",e),r},"jdk/internal/reflect/DirectMethodHandleAccessor$NativeAccessor.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;":(t,[e,n,r])=>{let a=oa(t,e);return Sf(t,a,n,dp(t,a,r))},"jdk/internal/reflect/DirectConstructorHandleAccessor$NativeAccessor.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;":function*(t,[e,n]){let r=oa(t,e);if(r.cls.access&1024)throw new A("java/lang/InstantiationException",r.cls.javaName);r.cls.state!==z&&(yield*t.vm.initGen(t,r.cls));let a=t.vm.newObject(r.cls);return yield*Sf(t,r,a,n),a},"java/lang/reflect/Array.getLength(Ljava/lang/Object;)I":(t,[e])=>{if(e===null)throw new A("java/lang/NullPointerException");if(!(e instanceof W))throw new A("java/lang/IllegalArgumentException","Argument is not an array");return e.a.length},"java/lang/reflect/Array.newArray(Ljava/lang/Class;I)Ljava/lang/Object;":(t,[e,n])=>{let r=t.vm.classOf(e);if(r.prim==="V")throw new A("java/lang/IllegalArgumentException");if(mp(r)>=255)throw new A("java/lang/IllegalArgumentException","Array type exceeds 255 dimensions");if(n<0)throw new A("java/lang/NegativeArraySizeException",String(n));return new W(t.vm.arrayOf(r),Te(r.prim??"L",n))},"java/lang/reflect/Array.multiNewArray(Ljava/lang/Class;[I)Ljava/lang/Object;":(t,[e,n])=>{let r=t.vm.classOf(e),a=[...n.a];if(a.length===0)throw new A("java/lang/IllegalArgumentException","Empty dimensions array");if(a.length+Tf(r)>255)throw new A("java/lang/IllegalArgumentException","Array type exceeds 255 dimensions");for(let s of a)if(s<0)throw new A("java/lang/NegativeArraySizeException",String(s));for(let s=0;s<a.length;s++)r=t.vm.arrayOf(r);return t.vm.multiArray(r,a)},"java/lang/reflect/Array.get(Ljava/lang/Object;I)Ljava/lang/Object;":function*(t,[e,n]){let r=ki(e,n),a=r.cls.component.prim;return a?yield*Jr(t,a,r.a[n]):r.a[n]},"java/lang/reflect/Array.set(Ljava/lang/Object;ILjava/lang/Object;)V":function*(t,[e,n,r]){let a=ki(e,n),s=a.cls.component;if(s.prim)a.a[n]=yield*$f(t,s,s.prim,r);else{if(r!==null&&!r.cls.isAssignableTo(s))throw new A("java/lang/IllegalArgumentException","array element type mismatch");a.a[n]=r}}};function Tf(t){let e=0;for(let n=t;n?.component;n=n.component)e++;return e}var mp=Tf;function ki(t,e){if(t===null)throw new A("java/lang/NullPointerException");if(!(t instanceof W))throw new A("java/lang/IllegalArgumentException","Argument is not an array");if(e<0||e>=t.a.length)throw new A("java/lang/ArrayIndexOutOfBoundsException",`Index ${e} out of bounds for length ${t.a.length}`);return t}for(let[t,e]of Object.entries({Boolean:"Z",Byte:"B",Char:"C",Short:"S",Int:"I",Long:"J",Float:"F",Double:"D"}))as[`java/lang/reflect/Array.get${t}(Ljava/lang/Object;I)${e}`]=(n,[r,a])=>{let s=ki(r,a),i=s.cls.component.prim;if(!i||i!==e&&!Il[i].includes(e))throw new A("java/lang/IllegalArgumentException","Argument is not an array of the right type");return kl(s.a[a],i,e)},as[`java/lang/reflect/Array.set${t}(Ljava/lang/Object;I${e})V`]=(n,[r,a,s])=>{let i=ki(r,a),c=i.cls.component.prim;if(!c||c!==e&&!Il[e].includes(c))throw new A("java/lang/IllegalArgumentException","argument type mismatch");i.a[a]=kl(s,e,c)};Object.assign(as,{[`${ot}getSize0(Ljava/lang/Object;)I`]:(t,[,e])=>xt(t,e).length,[`${ot}getIntAt0(Ljava/lang/Object;I)I`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getLongAt0(Ljava/lang/Object;I)J`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getFloatAt0(Ljava/lang/Object;I)F`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getDoubleAt0(Ljava/lang/Object;I)D`]:(t,[,e,n])=>xt(t,e)[n].value,[`${ot}getUTF8At0(Ljava/lang/Object;I)Ljava/lang/String;`]:(t,[,e,n])=>t.vm.intern(_(xt(t,e),n)),[`${ot}getStringAt0(Ljava/lang/Object;I)Ljava/lang/String;`]:(t,[,e,n])=>t.vm.intern(_(xt(t,e),xt(t,e)[n].a)),[`${ot}getTagAt0(Ljava/lang/Object;I)B`]:(t,[,e,n])=>xt(t,e)[n]?.tag??0,[`${ot}getClassAt0(Ljava/lang/Object;I)Ljava/lang/Class;`]:function*(t,[,e,n]){let r=t.vm.classOf(e);return t.vm.mirror(yield*t.vm.loadClassGen(t,r.loader,de(r.cf.cp,n)))},[`${ot}getClassAtIfLoaded0(Ljava/lang/Object;I)Ljava/lang/Class;`]:(t,[,e,n])=>{let r=t.vm.classOf(e),a=t.vm.findLoaded(r.loader,de(r.cf.cp,n));return a?t.vm.mirror(a):null},[`${ot}getMemberRefInfoAt0(Ljava/lang/Object;I)[Ljava/lang/String;`]:(t,[,e,n])=>{let r=xt(t,e),a=r[n],s=r[a.b];return t.vm.newObjectArray("java/lang/String",[de(r,a.a),_(r,s.a),_(r,s.b)].map(i=>t.vm.intern(i)))},[`${ot}getNameAndTypeRefInfoAt0(Ljava/lang/Object;I)[Ljava/lang/String;`]:(t,[,e,n])=>{let r=xt(t,e),a=r[n];return t.vm.newObjectArray("java/lang/String",[_(r,a.a),_(r,a.b)].map(s=>t.vm.intern(s)))},[`${ot}getClassRefIndexAt0(Ljava/lang/Object;I)I`]:(t,[,e,n])=>xt(t,e)[n].a,[`${ot}getNameAndTypeRefIndexAt0(Ljava/lang/Object;I)I`]:(t,[,e,n])=>xt(t,e)[n].b});var Al=4,Sl={Z:1,B:1,S:2,C:2,I:4,J:8,F:4,D:8};function hp(t){let e=t.component.prim;return e?Sl[e]:Al}function Ef(t){let e=t.a;return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ff(t,e,n){switch(n){case"Z":return t.getInt8(e)!==0?1:0;case"B":return t.getInt8(e);case"S":return t.getInt16(e,!0);case"C":return t.getUint16(e,!0);case"I":return t.getInt32(e,!0);case"J":return t.getBigInt64(e,!0);case"F":return t.getFloat32(e,!0);case"D":return t.getFloat64(e,!0)}throw new Error(`bad kind ${n}`)}function Of(t,e,n,r){switch(n){case"Z":case"B":t.setInt8(e,r);return;case"S":case"C":t.setInt16(e,r,!0);return;case"I":t.setInt32(e,r,!0);return;case"J":t.setBigInt64(e,r,!0);return;case"F":t.setFloat32(e,r,!0);return;case"D":t.setFloat64(e,r,!0);return}throw new Error(`bad kind ${n}`)}function Pf(t,e){return t===e||t==="Z"&&e==="B"||t==="B"&&e==="Z"}function Df(t,e,n,r){let a=Number(n);if(e===null){if(r==="L")throw new Error("reference read from native memory");return Ff(t.vm.mem.dv,a,r)}if(e instanceof W){let s=e.cls.component.prim??"L";return s==="L"?e.a[(a-On)/Al]:Pf(s,r)?e.a[(a-On)/Sl[s]]:Ff(Ef(e),a-On,r)}return a>=Qn&&e.x instanceof Fn?e.x.statics[a-Qn]:e.f[a]}function Rf(t,e,n,r,a){let s=Number(n);if(e===null){Of(t.vm.mem.dv,s,r,a);return}if(e instanceof W){let i=e.cls.component.prim??"L";i==="L"?e.a[(s-On)/Al]=a:Pf(i,r)?e.a[(s-On)/Sl[i]]=a:Of(Ef(e),s-On,r,a);return}s>=Qn&&e.x instanceof Fn?e.x.statics[s-Qn]=a:e.f[s]=a}function Ai(t,e,n,r,a,s){let i=Df(t,e,n,r);return i===a&&Rf(t,e,n,r,s),i}function ss(t,e,n){if(e===null)return[t.vm.mem.u8,Number(n)];let r=e.a;return[new Uint8Array(r.buffer,r.byteOffset,r.byteLength),Number(n)-On]}function is(t,e){let n=t.vm;return n.classOf(n.getField(e,"java/lang/reflect/Field","clazz")).fields[n.getField(e,"java/lang/reflect/Field","slot")]}var bp=[["Int","I"],["Reference","L"],["Boolean","Z"],["Byte","B"],["Short","S"],["Char","C"],["Long","J"],["Float","F"],["Double","D"]],ca={},re="jdk/internal/misc/Unsafe.";for(let[t,e]of bp){let n=e==="L"?"Ljava/lang/Object;":e;for(let r of["","Volatile"])ca[`${re}get${t}${r}(Ljava/lang/Object;J)${n}`]=(a,[,s,i])=>Df(a,s,i,e),ca[`${re}put${t}${r}(Ljava/lang/Object;J${n})V`]=(a,[,s,i,c])=>Rf(a,s,i,e,c)}for(let[t,e,n]of[["Int","I","I"],["Long","J","J"],["Reference","L","Ljava/lang/Object;"]])ca[`${re}compareAndSet${t}(Ljava/lang/Object;J${n}${n})Z`]=(r,[,a,s,i,c])=>Ai(r,a,s,e,i,c)===i,ca[`${re}compareAndExchange${t}(Ljava/lang/Object;J${n}${n})${n}`]=(r,[,a,s,i,c])=>Ai(r,a,s,e,i,c);var Uf={[`${re}compareAndExchangeByte(Ljava/lang/Object;JBB)B`]:(t,[,e,n,r,a])=>Ai(t,e,n,"B",r,a),[`${re}compareAndExchangeShort(Ljava/lang/Object;JSS)S`]:(t,[,e,n,r,a])=>Ai(t,e,n,"S",r,a)};function*pp(t,e,n){if(t.parkPermit){t.parkPermit=!1;return}if(t.interrupted)return;let r=null;e?r=Number(n)-Date.now():n>0n&&(r=Number(n)/1e6),!(r!==null&&r<=0)&&(t.vm.state.set(`parked:${t.id}`,!0),Lf(t,r===null?tf:nf),yield t.block(wi(t,r)),t.vm.state.delete(`parked:${t.id}`),Lf(t,Tn),t.parkPermit=!1)}function Lf(t,e){if(!t.obj)return;let n=t.vm.getField(t.obj,"java/lang/Thread","holder");n&&t.vm.setField(n,"java/lang/Thread$FieldHolder","threadStatus",e)}Object.assign(ca,{[`${re}park(ZJ)V`]:(t,[,e,n])=>pp(t,e===1,n),[`${re}unpark(Ljava/lang/Object;)V`]:(t,[,e])=>{let n=e?.x;n instanceof Yn&&(n.parkPermit=!0,t.vm.state.get(`parked:${n.id}`)&&n.wake?.())},[`${re}fullFence()V`]:()=>{},[`${re}allocateMemory0(J)J`]:(t,[,e])=>BigInt(t.vm.mem.malloc(Number(e))),[`${re}reallocateMemory0(JJ)J`]:(t,[,e,n])=>BigInt(t.vm.mem.realloc(Number(e),Number(n))),[`${re}freeMemory0(J)V`]:(t,[,e])=>t.vm.mem.freeBlock(Number(e)),[`${re}setMemory0(Ljava/lang/Object;JJB)V`]:(t,[,e,n,r,a])=>{let[s,i]=ss(t,e,n);s.fill(a&255,i,i+Number(r))},[`${re}copyMemory0(Ljava/lang/Object;JLjava/lang/Object;JJ)V`]:(t,[,e,n,r,a,s])=>{let[i,c]=ss(t,e,n),[o,u]=ss(t,r,a);o.set(i.subarray(c,c+Number(s)),u)},[`${re}copySwapMemory0(Ljava/lang/Object;JLjava/lang/Object;JJJ)V`]:(t,[,e,n,r,a,s,i])=>{let[c,o]=ss(t,e,n),[u,l]=ss(t,r,a),d=Number(i),f=Number(s),m=c.slice(o,o+f);for(let p=0;p<f;p+=d)for(let b=0;b<d;b++)u[l+p+b]=m[p+d-1-b]},[`${re}objectFieldOffset0(Ljava/lang/reflect/Field;)J`]:(t,[,e])=>BigInt(is(t,e).slot),[`${re}objectFieldOffset1(Ljava/lang/Class;Ljava/lang/String;)J`]:(t,[,e,n])=>{let r=t.vm.jsString(n),a=t.vm.classOf(e).findField(r);if(!a||a.isStatic)throw new A("java/lang/InternalError",r);return BigInt(a.slot)},[`${re}staticFieldOffset0(Ljava/lang/reflect/Field;)J`]:(t,[,e])=>BigInt(Qn+is(t,e).slot),[`${re}staticFieldBase0(Ljava/lang/reflect/Field;)Ljava/lang/Object;`]:(t,[,e])=>t.vm.mirror(is(t,e).cls),[`${re}shouldBeInitialized0(Ljava/lang/Class;)Z`]:(t,[,e])=>t.vm.classOf(e).state!==z,[`${re}ensureClassInitialized0(Ljava/lang/Class;)V`]:(t,[,e])=>t.vm.initGen(t,t.vm.classOf(e)),[`${re}arrayBaseOffset0(Ljava/lang/Class;)I`]:()=>On,[`${re}arrayIndexScale0(Ljava/lang/Class;)I`]:(t,[,e])=>hp(t.vm.classOf(e)),[`${re}getLoadAverage0([DI)I`]:()=>-1,[`${re}getUncompressedObject(J)Ljava/lang/Object;`]:()=>null,[`${re}throwException(Ljava/lang/Throwable;)V`]:(t,[,e])=>{throw new oe(vt(e))},[`${re}allocateInstance(Ljava/lang/Class;)Ljava/lang/Object;`]:function*(t,[,e]){let n=t.vm.classOf(e);if(n.isInterface||n.access&1024||n.prim||n.component)throw new A("java/lang/InstantiationException",n.javaName);return n.state!==z&&(yield*t.vm.initGen(t,n)),t.vm.newObject(n)},[`${re}defineClass0(Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;`]:function*(t,[,e,n,r,a,s,i]){let c=me(n,r,a).slice(),o=yield*t.vm.defineClassGen(t,s,c,e?ln(t,e).replace(/\./g,"/"):null,i);return t.vm.mirror(o)},[`${re}writeback0(J)V`]:()=>{},[`${re}writebackPreSync0()V`]:()=>{},[`${re}writebackPostSync0()V`]:()=>{}});var gp={HUP:1,INT:2,QUIT:3,KILL:9,USR1:10,USR2:12,PIPE:13,ALRM:14,TERM:15};function yp(t){let e=t.vm.props,n=t.vm.opts.cwd??"/";return[null,"en",null,null,"/",null,"en",null,null,null,null,null,null,null,null,null,null,e.get("java.io.tmpdir")??"/tmp",`
|
|
2
|
+
`,"UTF-8","javascript","Linux","6.0",":",null,null,null,"UTF-8","UTF-8","UTF-8",null,"64","little",null,"UnicodeLittle","UTF-8","unknown",n,e.get("user.home")??"/files",e.get("user.name")??"user"]}function vp(t){let e=t.vm,n=new Map([["java.home",e.opts.javaHome],["java.class.path",(e.opts.classpath??[]).join(":")],["java.library.path",""],["sun.boot.library.path",`${e.opts.javaHome}/lib`],["java.vm.specification.name","Java Virtual Machine Specification"],["java.vm.specification.vendor","Oracle Corporation"],["java.vm.specification.version","25"],["java.vm.name","java-web"],["java.vm.vendor","java-web"],["java.vm.version","25"],["java.vm.info","interpreted mode"],["jdk.debug","release"],["sun.java.launcher","SUN_STANDARD"],["sun.nio.MaxDirectMemorySize","-1"],["sun.nio.PageAlignDirectMemory","false"],["jdk.internal.foreign.CABI","SYS_V"],["sun.font.layout.ffm","false"]]);for(let[r,a]of e.props)n.set(r,a);return[...n].flat()}var xp=new Set(["attach","awt","awt_headless","awt_xawt","dt_socket","extnet","fontmanager","freetype","instrument","j2gss","j2pcsc","j2pkcs11","jaas","java","javajpeg","jawt","jdwp","jimage","jli","jsig","jsound","jsvml","lcms","management","management_agent","management_ext","mlib_image","net","nio","prefs","rmi","saproc","sctp","simdsort","splashscreen","syslookup","verify","zip"]),Nf=new WeakMap;function jp(t){let e=Nf.get(t);return e===void 0&&(e=Sr(t.cls,t.attrs.get("RuntimeVisibleAnnotations")).includes("Ljava/lang/invoke/LambdaForm$Compiled;"),Nf.set(t,e)),e}function wp(t){let e=t.vm.loadBoot("jdk/internal/reflect/MethodAccessorImpl"),n=1;for(let{m:r}of er(t)){if(n>0){n--;continue}if(!jp(r)&&!(r.cls.name==="java/lang/reflect/Method"&&r.name==="invoke")&&!(e&&r.cls.isSubclassOf(e)))return t.vm.mirror(r.cls)}return null}function*Bf(t,e){let n=t.vm.loadBoot("java/nio/ByteBuffer");return n.state!==z&&(yield*t.vm.initGen(t,n)),yield t.call(n.methodMap.get("allocate(I)Ljava/nio/ByteBuffer;"),e)}function*Ip(t,e){let n=t.vm;if(e!==`${n.opts.javaHome}/lib/modules`)return null;let r=n.fs.read(`${n.opts.javaHome}/lib/resources.jimage`);if(!r)return null;let a=n.mem.malloc(r.length);n.mem.u8.set(r,a);let s=n.loadBoot("java/nio/DirectByteBuffer");s.state!==z&&(yield*n.initGen(t,s));let i=n.newObject(s);return yield t.call(s.methodMap.get("<init>(JJ)V"),i,BigInt(a),BigInt(r.length)),i}function kp(){let t=Date.now(),e=performance.timeOrigin+performance.now();if(Math.abs(e-t)>2)return BigInt(t)*1000000n;let n=Math.floor(e);return BigInt(n)*1000000n+BigInt(Math.round((e-n)*1e6))}var Ap=0x1000n;function Cf(){return Ap+=16n}var Vf={...ca,"jdk/internal/vm/ForeignLinkerSupport.isSupported0()Z":()=>1,"jdk/internal/foreign/abi/NativeEntryPoint.makeDowncallStub(Ljava/lang/invoke/MethodType;Ljdk/internal/foreign/abi/ABIDescriptor;[Ljdk/internal/foreign/abi/VMStorage;[Ljdk/internal/foreign/abi/VMStorage;ZIZ)J":()=>Cf(),"jdk/internal/foreign/abi/NativeEntryPoint.freeDowncallStub0(J)Z":()=>1,"jdk/internal/foreign/abi/NativeEntryPoint.registerNatives()V":()=>{},"jdk/internal/foreign/abi/UpcallLinker.makeUpcallStub(Ljava/lang/invoke/MethodHandle;Ljdk/internal/foreign/abi/ABIDescriptor;Ljdk/internal/foreign/abi/UpcallLinker$CallRegs;ZJ)J":()=>Cf(),"jdk/internal/foreign/abi/UpcallLinker.registerNatives()V":()=>{},"jdk/internal/foreign/abi/UpcallStubs.freeUpcallStub0(J)Z":()=>1,"jdk/internal/foreign/abi/UpcallStubs.registerNatives()V":()=>{},"jdk/internal/loader/RawNativeLibraries.load0(Ljdk/internal/loader/RawNativeLibraries$RawNativeLibraryImpl;Ljava/lang/String;)Z":()=>0,"jdk/internal/loader/RawNativeLibraries.unload0(Ljava/lang/String;J)V":()=>{},"jdk/internal/perf/Perf.createLong(Ljava/lang/String;IIJ)Ljava/nio/ByteBuffer;":t=>Bf(t,8),"jdk/internal/perf/Perf.createByteArray(Ljava/lang/String;II[BI)Ljava/nio/ByteBuffer;":(t,[,,,,,e])=>Bf(t,e),"jdk/internal/jimage/NativeImageBuffer.getNativeMap(Ljava/lang/String;)Ljava/nio/ByteBuffer;":(t,[e])=>Ip(t,ln(t,e)),"jdk/internal/perf/Perf.highResCounter()J":()=>BigInt(Math.round(performance.now()*1e6)),"jdk/internal/perf/Perf.highResFrequency()J":()=>1000000000n,"jdk/internal/misc/VM.initialize()V":()=>{},"jdk/internal/misc/PreviewFeatures.isPreviewEnabled()Z":t=>t.vm.opts.enablePreview?1:0,"jdk/internal/misc/VM.latestUserDefinedLoader0()Ljava/lang/ClassLoader;":t=>{for(let{m:e}of er(t))if(e.cls.loader)return e.cls.loader;return null},"jdk/internal/misc/VM.getuid()J":()=>1000n,"jdk/internal/misc/VM.geteuid()J":()=>1000n,"jdk/internal/misc/VM.getgid()J":()=>1000n,"jdk/internal/misc/VM.getegid()J":()=>1000n,"jdk/internal/misc/VM.getNanoTimeAdjustment(J)J":(t,[e])=>{let n=kp(),r=BigInt.asIntN(64,n/1000000000n-e);return r>=1n<<32n||r<=-(1n<<32n)?-1n:r*1000000000n+n%1000000000n},"jdk/internal/misc/VM.getRuntimeArguments()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",[]),"jdk/internal/misc/CDS.getCDSConfigStatus()I":()=>0,"jdk/internal/misc/CDS.logLambdaFormInvoker(Ljava/lang/String;)V":()=>{},"jdk/internal/misc/CDS.initializeFromArchive(Ljava/lang/Class;)V":()=>{},"jdk/internal/misc/CDS.defineArchivedModules(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)V":()=>{},"jdk/internal/misc/CDS.getRandomSeedForDumping()J":()=>0n,"jdk/internal/misc/CDS.dumpClassList(Ljava/lang/String;)V":()=>{},"jdk/internal/misc/CDS.dumpDynamicArchive(Ljava/lang/String;)V":()=>{},"jdk/internal/misc/CDS.needsClassInitBarrier0(Ljava/lang/Class;)Z":()=>0,"jdk/internal/misc/Signal.findSignal0(Ljava/lang/String;)I":(t,[e])=>gp[t.vm.jsString(e)]??-1,"jdk/internal/misc/Signal.handle0(IJ)J":()=>0n,"jdk/internal/misc/Signal.raise0(I)V":()=>{},"jdk/internal/util/SystemProps$Raw.platformProperties()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",yp(t).map(e=>e===null?null:t.vm.str(e))),"jdk/internal/util/SystemProps$Raw.vmProperties()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",vp(t).map(e=>t.vm.str(e))),"jdk/internal/reflect/Reflection.getCallerClass()Ljava/lang/Class;":t=>wp(t),"jdk/internal/reflect/Reflection.getClassAccessFlags(Ljava/lang/Class;)I":(t,[e])=>t.vm.classOf(e).access&32767,"jdk/internal/reflect/Reflection.areNestMates(Ljava/lang/Class;Ljava/lang/Class;)Z":function*(t,[e,n]){return(yield*rr(t,t.vm.classOf(e)))===(yield*rr(t,t.vm.classOf(n)))},"jdk/internal/loader/BootLoader.getSystemPackageNames()[Ljava/lang/String;":t=>t.vm.newObjectArray("java/lang/String",[...t.vm.bootPackages.keys()].map(e=>t.vm.str(e))),"jdk/internal/loader/BootLoader.getSystemPackageLocation(Ljava/lang/String;)Ljava/lang/String;":(t,[e])=>{let n=t.vm.bootPackages.get(t.vm.jsString(e));return n?t.vm.str(`jrt:/${n}`):null},"jdk/internal/loader/BootLoader.setBootLoaderUnnamedModule0(Ljava/lang/Module;)V":(t,[e])=>{t.vm.bootUnnamedModule=e},"jdk/internal/loader/NativeLibraries.findBuiltinLib(Ljava/lang/String;)Ljava/lang/String;":(t,[e])=>xp.has(t.vm.jsString(e).replace(/^lib(.*)\.so$/,"$1"))?e:null,"jdk/internal/loader/NativeLibraries.load(Ljdk/internal/loader/NativeLibraries$NativeLibraryImpl;Ljava/lang/String;ZZ)Z":function*(t,[e,n]){let r=t.vm.jsString(n);if(r.endsWith(".js")){let a=t.vm.opts.loadNativeLibrary;if(!a)return 0;let s=yield t.block(a(r).then(()=>null,i=>i??"failed"));if(s!==null)throw new A("java/lang/UnsatisfiedLinkError",`${r}: ${s instanceof Error?s.message:s}`)}return t.vm.setField(e,"jdk/internal/loader/NativeLibraries$NativeLibraryImpl","handle",1n),1},"jdk/internal/loader/NativeLibraries.unload(Ljava/lang/String;ZJ)V":()=>{},"jdk/internal/loader/NativeLibrary.findEntry0(JLjava/lang/String;)J":()=>0n,"jdk/internal/misc/ScopedMemoryAccess.closeScope0(Ljdk/internal/foreign/MemorySessionImpl;Ljdk/internal/misc/ScopedMemoryAccess$ScopedAccessError;)V":()=>{},"java/lang/ProcessEnvironment.environ()[[B":t=>{let e=new TextEncoder,n=r=>new W(t.vm.primArrayClass("B"),new Int8Array(e.encode(r).buffer));return t.vm.newObjectArray("[B",Object.entries(t.vm.opts.env??{}).flatMap(([r,a])=>[n(r),n(a)]))},"java/lang/ProcessImpl.init()V":()=>{},"java/lang/ProcessImpl.forkAndExec(I[B[B[BI[BI[B[IZ)I":()=>{throw new A("java/io/IOException","error=38, Function not implemented")},"java/lang/ProcessHandleImpl.initNative()V":()=>{},"java/lang/ProcessHandleImpl.getCurrentPid0()J":()=>42n,"java/lang/ProcessHandleImpl.isAlive0(J)J":()=>-1n,"java/lang/ProcessHandleImpl.parent0(JJ)J":()=>-1n,"java/io/Console.ttyStatus()I":()=>0};var De="java/lang/invoke/MemberName",Sp=65536,_f=131072,Hf=262144,Jp=1048576,Mp=2097152,Ji=24,Gf=1,$p=2,zf=3,Tp=4,Ml=5,Fp=6,Si=7;var $l=9,Op=7679,Lp=20703;function Bn(t,e){let n=e.x?.m??t.vm.getField(e,De,"method")?.x;if(!n)throw new A("java/lang/InternalError","unresolved MemberName");return n}function Jl(t){let e=t.x?.f;if(!e)throw new A("java/lang/InternalError","unresolved field MemberName");return e}function Np(t,e){let n=t.vm;if(e.cls.name==="java/lang/String")return n.jsString(e);if(e.cls.name==="java/lang/Class")return n.classOf(e).desc;if(e.cls.name==="java/lang/invoke/MethodType"){let r=n.classOf(n.getField(e,"java/lang/invoke/MethodType","rtype"));return`(${n.getField(e,"java/lang/invoke/MethodType","ptypes").a.map(s=>n.classOf(s).desc).join("")})${r.desc}`}throw new A("java/lang/InternalError",`bad member type ${e.cls.name}`)}function Sr(t,e){if(!e)return[];let n=t.cf.cp,r=[],a=0,s=()=>{let c=String.fromCharCode(e[a++]);if(c==="e")a+=4;else if(c==="@")i();else if(c==="[")for(let o=ue(e,(a+=2)-2);o>0;o--)s();else a+=2},i=()=>{let c=_(n,ue(e,a));a+=2;for(let o=ue(e,(a+=2)-2);o>0;o--)a+=2,s();return c};for(let c=ue(e,(a+=2)-2);c>0;c--)r.push(i());return r}function hl(t){return Sr(t.cls,t.attrs.get("RuntimeVisibleAnnotations")).includes("Ljdk/internal/reflect/CallerSensitive;")}function bl(t,e){let n=t.vm,r=n.newObject(n.loadBoot("java/lang/invoke/ResolvedMethodName"));return n.setField(r,"java/lang/invoke/ResolvedMethodName","vmholder",n.mirror(e.cls)),r.x=e,r}function Zf(t,e,n,r){let a=t.vm,s=n.access&Op,i;n.name==="<init>"?(s|=_f,i=Si):(s|=Sp,n.isStatic?i=Fp:r===Si||n.isPrivate?i=Si:n.cls.isInterface?i=$l:(n.access&Ie)!==0||(n.cls.access&Ie)!==0?i=Si:i=Ml),hl(n)&&(s|=Jp),a.setField(e,De,"flags",s|i<<Ji),a.setField(e,De,"clazz",a.mirror(n.cls)),a.setField(e,De,"method",bl(t,n)),e.x={m:n}}function Wf(t,e,n,r){let a=t.vm,s=n.access&Lp|Hf,i=n.cls.superclass?.name==="java/lang/Record";n.access&Ie&&(n.access>||i||n.cls.hidden)&&(s|=Mp);let c=(n.isStatic?$p:Gf)+(r?zf-Gf:0);a.setField(e,De,"flags",s|c<<Ji),a.setField(e,De,"clazz",a.mirror(n.cls)),e.x={f:n}}function Bp(t,e,n){return n===$l?t.findInterfaceMethod(e)??t.findMethod(e):t.findMethod(e)}function Cp(t,e,n){let r=t.vm,a=r.getField(e,De,"clazz"),s=r.getField(e,De,"name"),i=r.getField(e,De,"type"),c=r.getField(e,De,"flags");if(!a||!s||!i)throw new A("java/lang/IllegalArgumentException","incomplete MemberName");let o=r.classOf(a),u=r.jsString(s),l=Np(t,i),d=c>>>Ji&15;if(c&Hf){let m=o.findField(u,l);if(!m){if(n)return null;throw new A("java/lang/NoSuchFieldError",u)}return Wf(t,e,m,d===zf||d===Tp),e}let f=Bp(o,u+l,d);if(!f&&(o.name==="java/lang/invoke/MethodHandle"||o.name==="java/lang/invoke/VarHandle")&&(f=r.resolveMethod(o,u,l)),!f||c&_f&&f.cls!==o){if(n)return null;throw new A("java/lang/NoSuchMethodError",`'${l}' ${o.javaName}.${u}`)}return Zf(t,e,f,d),e}var Xf={"java/lang/invoke/MethodHandleNatives.init(Ljava/lang/invoke/MemberName;Ljava/lang/Object;)V":(t,[e,n])=>{n.cls.name==="java/lang/reflect/Field"?Wf(t,e,is(t,n),!1):Zf(t,e,oa(t,n),Ml)},"java/lang/invoke/MethodHandleNatives.expand(Ljava/lang/invoke/MemberName;)V":(t,[e])=>{let n=t.vm,r=e.x;if(!r)throw new A("java/lang/IllegalArgumentException","MemberName not resolved");let a=r.m??r.f;n.getField(e,De,"clazz")||n.setField(e,De,"clazz",n.mirror(a.cls)),n.getField(e,De,"name")||n.setField(e,De,"name",n.intern(a.name)),n.getField(e,De,"type")||n.setField(e,De,"type",n.intern(a.desc))},"java/lang/invoke/MethodHandleNatives.resolve(Ljava/lang/invoke/MemberName;Ljava/lang/Class;IZ)Ljava/lang/invoke/MemberName;":(t,[e,,,n])=>Cp(t,e,n===1),"java/lang/invoke/MethodHandleNatives.objectFieldOffset(Ljava/lang/invoke/MemberName;)J":(t,[e])=>BigInt(Jl(e).slot),"java/lang/invoke/MethodHandleNatives.staticFieldOffset(Ljava/lang/invoke/MemberName;)J":(t,[e])=>BigInt(Qn+Jl(e).slot),"java/lang/invoke/MethodHandleNatives.staticFieldBase(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;":(t,[e])=>t.vm.mirror(Jl(e).cls),"java/lang/invoke/MethodHandleNatives.getMemberVMInfo(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;":function*(t,[e]){let n=t.vm,r=n.loadBoot("java/lang/Long");r.state!==z&&(yield*n.initGen(t,r));let a=!!e.x?.f,s=n.getField(e,De,"flags")>>Ji&15,i=a?BigInt(e.x.f.slot):s===Ml||s===$l?0n:-2n,c=yield t.call(r.methodMap.get("valueOf(J)Ljava/lang/Long;"),i);return n.newObjectArray("java/lang/Object",[c,a?n.mirror(e.x.f.cls):e])},"java/lang/invoke/MethodHandleNatives.setCallSiteTargetNormal(Ljava/lang/invoke/CallSite;Ljava/lang/invoke/MethodHandle;)V":(t,[e,n])=>t.vm.setField(e,"java/lang/invoke/CallSite","target",n),"java/lang/invoke/MethodHandleNatives.setCallSiteTargetVolatile(Ljava/lang/invoke/CallSite;Ljava/lang/invoke/MethodHandle;)V":(t,[e,n])=>t.vm.setField(e,"java/lang/invoke/CallSite","target",n),"java/lang/invoke/MethodHandleNatives.getNamedCon(I[Ljava/lang/Object;)I":()=>0};var ua="java/lang/AbstractStringBuilder",Tl="java/lang/String",Fl=2147483639,qf=null,Qf,os=0,Mi=0,$i=0,ed=0,ls=0,cs=0;function Ll(t){qf!==t&&(os=t.slotOf(ua,"value"),Mi=t.slotOf(ua,"coder"),$i=t.slotOf(ua,"count"),ed=t.slotOf(ua,"maybeLatin1"),ls=t.slotOf(Tl,"value"),cs=t.slotOf(Tl,"coder"),Qf=t.loadBootOrFail(Tl),qf=t)}function us(t){if(t>on)throw new A("java/lang/OutOfMemoryError","Java heap space");return Te("B",t)}function Ep(t,e,n){let r=(n<<e)-t,a=t+Math.max(r,t+(2<<e))|0;if(!(a>0&&a<=Fl)){let s=t+r|0;if(s<0)throw new A("java/lang/OutOfMemoryError","Required length exceeds implementation limit");a=s<=Fl?Fl:s}if(a===2147483647)throw new A("java/lang/OutOfMemoryError","Required length exceeds implementation limit");return a>>e}function Ol(t,e,n,r){for(let a=0,s=r*2;a<e;a++)n[s++]=t[a],n[s++]=0}function Yf(t,e){let n=e[0],r=e[1],a=t.vm;Ll(a);let s=r??a.intern("null"),i=s.f[ls].a,c=s.f[cs],o=i.length>>c,u=n.f[Mi],l=n.f[$i],d=n.f[os].a,f=u|c,m=l+o|0,p=d.length>>u;if(f!==u||m-p>0){let b=m-p>0?Ep(d.length,f,m):p;if(u===f){if(b>p){let y=us(b<<f);y.set(d),d=y}}else{let y=us(b<<1);Ol(d,l,y,0),d=y}n.f[os]=new W(n.f[os].cls,d),n.f[Mi]=f}return c===f?d.set(i,l<<f):Ol(i,o,d,l),n.f[$i]=m,n}function Pp(t,e){let n=e[0],r=e[1];Ll(t.vm);let a=r.f[os].a,s=r.f[$i],i=r.f[Mi],c;if(i===1&&r.f[ed]){let o=0;for(;o<s&&a[o*2+1]===0;)o++;if(o===s){c=us(s);for(let u=0;u<s;u++)c[u]=a[u*2];i=0}else c=Kf(a,s<<1)}else c=Kf(a,s<<i);td(t.vm,n,c,i)}function td(t,e,n,r){e.f[ls]=new W(t.primArrayClass("B"),n),e.f[cs]=r}function Kf(t,e){let n=us(e);return n.set(e===t.length?t:t.subarray(0,e)),n}function nd(t,e,n){let r=t.vm;Ll(r);let a=n.includes(null)?r.intern("null"):null,s=0,i=0;for(let l=0;l<n.length;l++){let d=n[l]??a,f=d.f[cs];i|=f,s+=d.f[ls].a.length>>f}let c;try{c=us(s*(i+1))}catch(l){throw l instanceof A&&(l.pc=e),l}let o=0;for(let l=0;l<n.length;l++){let d=n[l]??a,f=d.f[ls].a,m=d.f[cs],p=f.length>>m;m===i?c.set(f,o<<i):Ol(f,p,c,o),o+=p}let u=r.newObject(Qf);return td(r,u,c,i),u}var rd={[`${ua}.append(Ljava/lang/String;)L${ua};`]:Yf,"java/lang/StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;":Yf,"java/lang/String.<init>(Ljava/lang/AbstractStringBuilder;Ljava/lang/Void;)V":Pp};var gd=1,Dp=500,Rp=2e3,Up=6e3,ad=120,Vp=5e3,Gp=35,_p=5,Hp=500,yd=20,ds={interpret:null,deliver:null,raise:null,handleError:null,popFrame:null,findHandler:null,checkStack:null},sd=typeof process<"u"&&!!process.env?.JW_NOJIT,zp=typeof process<"u"&&!!process.env?.JW_NOINLINE,id=typeof process<"u"?process.env?.JW_JIT_DUMP:void 0;function vd(t,e){++e.hot>=Dp&&jd(t,e)}function xd(t,e){e.hot+=4,e.hot>=Rp&&e.jit===null&&!e.noJit&&jd(t,e)}function jd(t,e){if(!(sd||e.noJit||!e.code||e.name==="<clinit>"||e.code.code.length>Up))try{let{src:n,consts:r}=Qp(t,e);id&&e.toString().includes(id)&&console.error(`// ${e}
|
|
3
|
+
${n}`),e.jit=new Function("rt","K",n)(fs,r),He&&He.set(`compiled ${e}`,n.length),e.fallbacks=0}catch(n){(n instanceof EvalError||n instanceof Error&&/unsafe-eval|Content Security/i.test(n.message))&&(sd=!0),n instanceof fn||t.vm.debug("jit failed for",e.toString(),n),He&&He.set(`nojit ${e}: ${n instanceof Error?n.message:n}`,1e9),e.noJit=!0}}var He=typeof process<"u"&&process.env?.JW_JIT_STATS?new Map:null,wd=0,Id=0;He&&process.on("exit",()=>{let t=[...He.keys()].filter(e=>e.startsWith("compiled "));console.error(`-- ${t.length} methods compiled, ${t.reduce((e,n)=>e+He.get(n),0)} bytes of JS, ${wd} regions inlined, ${Id} deopts`);for(let[e,n]of[...He].sort((r,a)=>a[1]-r[1]).slice(0,40))console.error(String(n).padStart(8),e)});function Zp(t,e){let n=e.m;if(He){let r=`${n} @${e.pc} op=${e.code[e.pc].toString(16)}`;He.set(r,(He.get(r)??0)+1)}return(++n.fallbacks>Vp||n.fallbacks>50&&n.fallbacks>n.hot)&&(n.jit=null,n.hot=0,n.recompiles++,n.recompiles>3&&(n.noJit=!0,He&&He.set(`nojit churn ${n} @${e.pc} op=${e.code[e.pc].toString(16)}`,1e9))),ds.interpret(t,e,1),gd}function Wp(t,e){return ds.interpret(t,e,1),gd}var fn=class extends Error{},_t=class extends Error{};function Nl(t){throw Mr(new A("java/lang/NullPointerException"),t)}function Mr(t,e){return e!==void 0&&(t.pc=e),t}var od=Object.freeze({pushed:!0}),ld=Object.freeze({interpret:!0}),cd="java/lang/StringBuilder",Xp=-(1n<<63n),qp=(1n<<63n)-1n,fs={JObject:Ge,JArray:W,Frame:Oe,NativeFrame:it,JavaThrow:oe,PendingThrow:A,newArrayData:Te,hooks:ds,concat:nd,fallback:Zp,viaInterpreter:Wp,basicTarget(t,e,n){e===null&&Nl(n);let r=t.vm.getField(e,"java/lang/invoke/MethodHandle","form");return Bn(t,t.vm.getField(r,"java/lang/invoke/LambdaForm","vmentry"))},memberTarget:Bn,virtualTarget(t,e,n,r){let a=Bn(t,e);n===null&&Nl(r);let s=n.cls.selectMethod(a.key);if(!s)throw new A("java/lang/AbstractMethodError",`${n.cls.javaName}.${a.name}${a.desc}`);return s},frame(t,e,n,r,a){let s=new Oe(t);for(let i=0;i<e.length;i++)s.locals[i]=e[i];for(let i=0;i<n.length;i++)s.stack[i]=n[i];return s.pc=r,s.sp=a,s},enter(t,e,n){if(t.frames.length-t.base>=ad||t.frames.length>=t.stackLimit)return null;let r=null;if(e.isSynchronized&&(r=e.isStatic?t.vm.mirror(e.cls):n,!t.vm.tryMonitorEnter(t,r)))return null;let a=t.directFrame(e);return a.lock=r,t.frames.push(a),a},slowCall(t,e,n){if(e.native===null||e.isAbstract)return ld;let r;try{r=e.native(t,n)}catch(a){throw Wa(a,e)}return fs.isGen(r)?(t.frames.push(new it(r,e,e.ret,!1)),od):e.ret==="Z"&&typeof r=="boolean"?r?1:0:r},PUSHED:od,INTERPRET:ld,npe:Nl,arr(t,e,n){if(t===null)throw Mr(new A("java/lang/NullPointerException"),n);let r=t.a;if(e>>>0>=r.length)throw Mr(new A("java/lang/ArrayIndexOutOfBoundsException",`Index ${e} out of bounds for length ${r.length}`),n);return r},div0(t){throw Mr(new A("java/lang/ArithmeticException","/ by zero"),t)},aastore(t,e,n,r){let a=fs.arr(t,e,r);if(n!==null&&!n.cls.isAssignableTo(t.cls.component))throw Mr(new A("java/lang/ArrayStoreException",n.cls.javaName),r);a[e]=n},newarray(t,e,n,r){if(n<0)throw Mr(new A("java/lang/NegativeArraySizeException",String(n)),r);return new W(t,Te(e,n))},cast(t,e,n,r){if(e.cls!==n&&!e.cls.isAssignableTo(n))throw Mr(new A("java/lang/ClassCastException",t.vm.castMessage(e.cls,n)),r)},f2i(t){return t!==t?0:t>=2147483647?2147483647:t<=-2147483648?-2147483648:t|0},f2l(t){return t!==t?0n:t>=9223372036854776e3?qp:t<=-9223372036854776e3?Xp:BigInt(Math.trunc(t))},fcmp(t,e,n){return t>e?1:t<e?-1:t===e?0:n},lcmp(t,e){return t>e?1:t<e?-1:0},select(t,e,n){if(t===null)return fs.npe(n);if(e[0]===t.cls)return e[1];let r=e[2],a=t.cls.selectMethod(r);if(!a)throw new A("java/lang/AbstractMethodError",`${t.cls.javaName}.${r}`);return e[0]=t.cls,e[1]=a,a},isGen(t){return t!==null&&typeof t=="object"&&typeof t.next=="function"&&typeof t.throw=="function"},DEOPT:Object.freeze({deopt:!0}),deopted(t,e){let n=(Bl.get(t)??0)+1;Bl.set(t,n),n>=yd&&e.jit!==null&&(e.jit=null,e.hot=0)},noteDeopt(t,e){Id++;let n=e===fs.DEOPT?"cold block":e instanceof oe?"throw":e instanceof A?e.cls:"error",r=`deopt ${t} (${n})`;He.set(r,(He.get(r)??0)+1)},*rethrow(t){throw new oe(t)},MAX_DIRECT:ad};function Ke(t,e){return(t[e]<<8|t[e+1])<<16>>16}function Ae(t,e){return t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}function Gt(t,e){return t[e]<<8|t[e+1]}function da(t,e){let n=t[e];if(n===170){let r=e+4&-4;return r+12+(Ae(t,r+8)-Ae(t,r+4)+1)*4-e}if(n===171){let r=e+4&-4;return r+8+Ae(t,r+4)*8-e}return n===196?t[e+1]===132?6:4:Cn[n]}var Cn=new Uint8Array(256).fill(1);for(let t of[16,18,21,22,23,24,25,54,55,56,57,58,169,188])Cn[t]=2;for(let t of[17,19,20,132,178,179,180,181,182,183,184,187,189,192,193,198,199])Cn[t]=3;for(let t=153;t<=168;t++)Cn[t]=3;Cn[185]=5;Cn[186]=5;Cn[197]=4;Cn[200]=5;Cn[201]=5;var ud=new WeakMap;function kd(t){let e=ud.get(t);if(e)return e;let n=t.cls,r=t.code,a=r.code,s=new Set([0]),i=new Set([0]);for(let f of r.handlers)s.add(f.start),s.add(f.end),s.add(f.handler),i.add(f.handler);if(r.lines)for(let f=0;f<r.lines.length;f+=2)s.add(r.lines[f]);let c=[];for(let f=0;f<a.length;){c.push(f);let m=a[f],p=da(a,f);if(m===168||m===169||m===201||p===0)throw new fn("jsr/ret");let b=f+p;if(m>=153&&m<=167||m===198||m===199)i.add(f+Ke(a,f+1)),s.add(b);else if(m===200)i.add(f+Ae(a,f+1)),s.add(b);else if(m===170||m===171){for(let y of Ti(a,f))i.add(y);s.add(b)}else rg.has(m)?(s.add(f),s.add(b)):(m>=172&&m<=177||m===191)&&s.add(b);f=b}for(let f of i)s.add(f);let o=new Map,u=[[0,0]];for(let f of r.handlers)u.push([f.handler,1]);let l=new Map(c.map((f,m)=>[f,m]));for(;u.length;){let[f,m]=u.pop();for(;;){let p=o.get(f);if(p!==void 0){if(p!==m)throw new fn("inconsistent stack");break}if(!l.has(f))throw new fn("bad pc");o.set(f,m);let b=a[f];m+=og(n,a,f);let y=f+da(a,f);if(b>=153&&b<=166||b===198||b===199){u.push([f+Ke(a,f+1),m]),f=y;continue}if(b===167){f+=Ke(a,f+1);continue}if(b===200){f+=Ae(a,f+1);continue}if(b===170||b===171){for(let g of Ti(a,f))u.push([g,m]);break}if(b>=172&&b<=177||b===191)break;f=y}}let d={pcs:c,leaders:s,targets:i,depth:o};return ud.set(t,d),d}function Ti(t,e){let n=e+4&-4,r=[e+Ae(t,n)];if(t[e]===170)for(let a=0,s=Ae(t,n+8)-Ae(t,n+4)+1;a<s;a++)r.push(e+Ae(t,n+12+a*4));else for(let a=0,s=Ae(t,n+4);a<s;a++)r.push(e+Ae(t,n+12+a*8));return r}var fd=new WeakMap,Bl=new WeakMap;function Yp(t){let e=fd.get(t);if(e!==void 0)return e;e=null;let n=t.code;if(n&&!t.isSynchronized&&!t.isAbstract&&!t.polymorphic&&t.name!=="<clinit>"&&n.handlers.length===0&&n.code.length<=400)try{e=Kp(t,kd(t))}catch(r){if(!(r instanceof fn))throw r}return fd.set(t,e),e}function Kp(t,e){let n=t.code.code,r=new Set([0]);for(let u of e.pcs){let l=n[u],d=u+da(n,u),f=null;if(l>=153&&l<=167||l===198||l===199?f=[u+Ke(n,u+1)]:l===200?f=[u+Ae(n,u+1)]:(l===170||l===171)&&(f=Ti(n,u)),f){for(let m of f){if(m<=u)return null;r.add(m)}r.add(d)}else(l>=172&&l<=177||l===191)&&r.add(d)}r.delete(n.length);let a=[...r].sort((u,l)=>l-u),s=new Set,i=0,c=n.length;for(let u of a){let l=u;for(let p=u;p<c;p+=da(n,p))l=p;let d=n[l],f=l+da(n,l),m;d>=153&&d<=166||d===198||d===199?m=[l+Ke(n,l+1),f]:d===167?m=[l+Ke(n,l+1)]:d===200?m=[l+Ae(n,l+1)]:d===170||d===171?m=Ti(n,l):d===191||d>=172&&d<=177?m=[]:m=[f],e.depth.has(u)&&(d>=172&&d<=177||m.some(p=>s.has(p)))&&(s.add(u),i+=c-u),c=u}if(!s.has(0)||i>Gp)return null;let o=new Set([...r].filter(u=>!s.has(u)));return{a:e,starts:r,cold:o,bytes:i}}var $r=0,dd=1,md=2,Ad=3,Cl=4;function El(t,e,n){if(e>1023)throw new fn("operand stack too deep");return t*8192+e*8+n}function Qp(t,e){let n=e.code,r=kd(e),a=[],s=v=>(a.push(v),`K[${a.length-1}]`),i=n.maxLocals,c=n.maxStack+2,o=v=>`l${v}`,u=v=>`s${v}`,l=`if(L===null){L=f.locals=new Array(${i});S=f.stack=new Array(${c});}`,d=()=>l+Array.from({length:i},(v,I)=>`L[${I}]=${o(I)};`).join(""),f={m:e,a:r,L:o,S:u,out:[],region:null,skip:0},m=new Set,p=(v,I,J)=>(m.add(v),`{x=${El(v,I,J)};break X;}`),b={t,K:s,vars:new Set,regions:[],inlined:0,top:f,resume:m,exit:p,slow:(v,I)=>p(v,I,dd),call:(v,I)=>p(v,I,md)};for(let v=0;v<i;v++)b.vars.add(o(v));for(let v=0;v<c;v++)b.vars.add(u(v));let y=[];for(let v of r.pcs)v<f.skip||(r.leaders.has(v)&&y.push([v,f.out.push("")-1]),r.depth.has(v)&&Jd(b,f,v));wd+=b.regions.length;for(let v of b.regions){let I=v;for(;I.region.parent.region;)I=I.region.parent;m.add(I.region.callPc)}let g=new Set(r.targets);r.pcs.forEach((v,I)=>{m.has(v)&&(g.add(v),I+1<r.pcs.length&&g.add(r.pcs[I+1]))});for(let[v,I]of y)f.out[I]=`${g.has(v)?`case ${v}:`:""}pc=${v};`;let h=Array.from({length:e.argSlots},(v,I)=>`a${I}`),j=`${e.cls.name}_${e.name}`.replace(/[^A-Za-z0-9_$]/g,"_"),x=[];x.push(`return function ${j}(t,f${h.map(v=>","+v).join("")}){let L=f.locals,S=f.stack;const vm=t.vm,H=rt.hooks;`),x.push(`let pc=f.pc,bud=4000,tm,cf,r,a,v,ic,ifs=0,dpc=0,dsp=0,x=0,xs=0,xe=null,${[...b.vars].join(",")};`),x.push(`if(L===null){${h.map((v,I)=>`${o(I)}=${v};`).join("")}}else{${Array.from({length:i},(v,I)=>`${o(I)}=L[${I}];`).join("")}${Array.from({length:c},(v,I)=>`${u(I)}=S[${I}];`).join("")}}`),x.push("X:{for(;;){try{switch(pc){"),x.push(...f.out),x.push("default:return rt.viaInterpreter(t,f);}}catch(e){"),b.regions.length&&x.push(eg(b)),x.push(`if(e instanceof rt.JavaThrow){const h=H.findHandler(t,f,pc,e.obj);if(h>=0){${u(0)}=e.obj;pc=h;continue;}`),x.push("H.popFrame(t,f);if(f.direct)throw e;H.raise(t,e.obj);return 1;}"),x.push(`x=(e instanceof rt.PendingThrow&&e.pc!==undefined?e.pc:pc)*${El(1,0,0)}+${Cl};xe=e;if(f.direct)f.direct=false;break X;}}}`);let w=Array.from({length:c},(v,I)=>`case ${c-I}:S[${c-I-1}]=${u(c-I-1)};`).join("");return x.push(`f.pc=x>>>13;xs=x>>>3&1023;${d()}switch(xs){${w}}f.sp=xs;`),x.push(`switch(x&7){case ${dd}:return rt.fallback(t,f);case ${md}:return rt.viaInterpreter(t,f);case ${Ad}:t.pushNative(rt.rethrow(xe.obj),null,"V",false);return 1;case ${Cl}:H.handleError(t,xe);return 1;}return 1;}`),{src:x.join(`
|
|
4
|
+
`),consts:a}}function eg(t){return`if(ifs!==0){if(e!==rt.DEOPT){dpc=e instanceof rt.PendingThrow&&e.pc!==undefined?e.pc:0;dsp=0;}switch(ifs){${t.regions.map(n=>{let r=[];for(let i=n;i.region;i=i.region.parent)r.unshift(i);let a=r[0].region,s=`case ${n.region.id}:rt.deopted(${t.K(n.m)},f.m);${He?`rt.noteDeopt(${t.K(n.m)},e);`:""}`;return r.forEach((i,c)=>{let o=i.m.code,u=r[c+1]?.region,l=Array.from({length:o.maxLocals},(m,p)=>i.L(p)),d=Array.from({length:u?u.base:o.maxStack},(m,p)=>i.S(p)),f=u?`${u.callPc},${u.base}`:"dpc,dsp";s+=`t.frames.push(rt.frame(${t.K(i.m)},[${l}],[${d}],${f}));`}),s+`x=${El(a.callPc,a.base,0)};break;`}).join("")}}ifs=0;if(f.direct)f.direct=false;x+=e===rt.DEOPT?${$r}:e instanceof rt.JavaThrow?${Ad}:${Cl};xe=e;break X;}`}function Sd(t,e,n,r,a,s,i){let c=(e.region?.level??0)+1,o=!zp&&c<=_p&&(Bl.get(n)??0)<yd?Yp(n):null;if(!o||t.inlined+o.bytes>Hp)throw new _t;for(let g=e;g;g=g.region?.parent??null)if(g.m===n)throw new _t;let u=n.code,l=t.regions.length+1,d=`i${c}_`,f=`R${l}`,m=o.starts.size===1,p={m:n,a:o.a,L:g=>`${d}l${g}`,S:g=>`${d}s${g}`,out:[],region:{id:l,level:c,pcVar:`${d}pc`,result:a,parent:e,callPc:s,base:i},skip:0},b=t.regions.length,y=t.inlined;t.regions.push(p),t.inlined+=o.bytes;try{for(let h=0;h<u.maxLocals;h++)t.vars.add(p.L(h));for(let h=0;h<u.maxStack+2;h++)t.vars.add(p.S(h));m||t.vars.add(`${d}pc`);for(let h=0;h<r.length;h++)p.out.push(`${p.L(h)}=${r[h]};`);p.out.push(`ifs=${l};`,m?`${f}:{`:`${d}pc=0;${f}:for(;;){switch(${d}pc){`);let g=!1;for(let h of o.a.pcs)h<p.skip||(o.starts.has(h)&&(m||p.out.push(`case ${h}:`),g=o.cold.has(h),g&&p.out.push(`dpc=${h};dsp=${o.a.depth.get(h)??0};throw rt.DEOPT;`)),!(g||!o.a.depth.has(h))&&Jd(t,p,h));return p.out.push(m?"}":'default:throw new Error("jit: bad region pc");}}',`ifs=${e.region?.id??0};`),p.out.join("")}catch(g){throw t.regions.length=b,t.inlined=y,g}}function Jd(t,e,n){let{m:r,L:a,S:s,region:i}=e,c=t.t,o=c.vm,u=t.K,l=r.cls,d=l.cf.cp,f=r.code.code,m=w=>e.out.push(w),p=(w,v)=>{if(i)throw new _t;return t.slow(w,v)},b=e.a.depth.get(n),y=f[n],g=n+da(f,n),h=(w=0)=>s(b-1-w),j=w=>i?`{${i.pcVar}=${w};continue R${i.id};}`:w<=n?`{if(--bud===0)${t.exit(w,e.a.depth.get(w),$r)}pc=${w};continue;}`:`{pc=${w};continue;}`,x=Gt(f,n+1);switch(y){case 0:break;case 1:m(`${s(b)}=null;`);break;case 2:case 3:case 4:case 5:case 6:case 7:case 8:m(`${s(b)}=${y-3};`);break;case 9:case 10:m(`${s(b)}=${y-9}n;`);break;case 11:case 12:case 13:m(`${s(b)}=${y-11};`);break;case 14:case 15:m(`${s(b)}=${y-14};`);break;case 16:m(`${s(b)}=${f[n+1]<<24>>24};`);break;case 17:m(`${s(b)}=${Ke(f,n+1)};`);break;case 18:case 19:case 20:{let w=y===18?f[n+1]:x,v=d[w];if(v.tag===B.Integer||v.tag===B.Float||v.tag===B.Double)m(`${s(b)}=${ag(v.value)};`);else if(v.tag===B.Long)m(`${s(b)}=${v.value}n;`);else{let I=l.ldc[w];if(I===void 0){m(p(n,b));break}m(`${s(b)}=${u(I)};`)}break}case 21:case 22:case 23:case 24:case 25:m(`${s(b)}=${a(f[n+1])};`);break;case 26:case 27:case 28:case 29:m(`${s(b)}=${a(y-26)};`);break;case 30:case 31:case 32:case 33:m(`${s(b)}=${a(y-30)};`);break;case 34:case 35:case 36:case 37:m(`${s(b)}=${a(y-34)};`);break;case 38:case 39:case 40:case 41:m(`${s(b)}=${a(y-38)};`);break;case 42:case 43:case 44:case 45:m(`${s(b)}=${a(y-42)};`);break;case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:m(`if(${h(1)}===null)rt.npe(${n});a=${h(1)}.a;if(${h()}>>>0>=a.length)rt.arr(${h(1)},${h()},${n});${h(1)}=a[${h()}];`);break;case 54:case 56:case 58:m(`${a(f[n+1])}=${h()};`);break;case 55:case 57:m(`${a(f[n+1])}=${h(1)};`);break;case 59:case 60:case 61:case 62:m(`${a(y-59)}=${h()};`);break;case 63:case 64:case 65:case 66:m(`${a(y-63)}=${h(1)};`);break;case 67:case 68:case 69:case 70:m(`${a(y-67)}=${h()};`);break;case 71:case 72:case 73:case 74:m(`${a(y-71)}=${h(1)};`);break;case 75:case 76:case 77:case 78:m(`${a(y-75)}=${h()};`);break;case 79:case 81:case 84:case 85:case 86:m(`if(${h(2)}===null)rt.npe(${n});a=${h(2)}.a;if(${h(1)}>>>0>=a.length)rt.arr(${h(2)},${h(1)},${n});a[${h(1)}]=${h()};`);break;case 80:case 82:m(`if(${h(3)}===null)rt.npe(${n});a=${h(3)}.a;if(${h(2)}>>>0>=a.length)rt.arr(${h(3)},${h(2)},${n});a[${h(2)}]=${h(1)};`);break;case 83:m(`rt.aastore(${h(2)},${h(1)},${h()},${n});`);break;case 87:case 88:break;case 89:m(`${s(b)}=${h()};`);break;case 90:m(`${s(b)}=${h()};${h()}=${h(1)};${h(1)}=${s(b)};`);break;case 91:m(`${s(b)}=${h()};${h()}=${h(1)};${h(1)}=${h(2)};${h(2)}=${s(b)};`);break;case 92:m(`${s(b)}=${h(1)};${s(b+1)}=${h()};`);break;case 93:m(`${s(b+1)}=${h()};${s(b)}=${h(1)};${h()}=${h(2)};${h(1)}=${s(b+1)};${h(2)}=${s(b)};`);break;case 94:m(`${s(b+1)}=${h()};${s(b)}=${h(1)};${h()}=${h(2)};${h(1)}=${h(3)};${h(2)}=${s(b+1)};${h(3)}=${s(b)};`);break;case 95:m(`v=${h()};${h()}=${h(1)};${h(1)}=v;`);break;case 96:m(`${h(1)}=(${h(1)}+${h()})|0;`);break;case 97:m(`${h(3)}=BigInt.asIntN(64,${h(3)}+${h(1)});`);break;case 98:m(`${h(1)}=Math.fround(${h(1)}+${h()});`);break;case 99:m(`${h(3)}+=${h(1)};`);break;case 100:m(`${h(1)}=(${h(1)}-${h()})|0;`);break;case 101:m(`${h(3)}=BigInt.asIntN(64,${h(3)}-${h(1)});`);break;case 102:m(`${h(1)}=Math.fround(${h(1)}-${h()});`);break;case 103:m(`${h(3)}-=${h(1)};`);break;case 104:m(`${h(1)}=Math.imul(${h(1)},${h()});`);break;case 105:m(`${h(3)}=BigInt.asIntN(64,${h(3)}*${h(1)});`);break;case 106:m(`${h(1)}=Math.fround(${h(1)}*${h()});`);break;case 107:m(`${h(3)}*=${h(1)};`);break;case 108:m(`if(${h()}===0)rt.div0(${n});${h(1)}=(${h(1)}/${h()})|0;`);break;case 109:m(`if(${h(1)}===0n)rt.div0(${n});${h(3)}=BigInt.asIntN(64,${h(3)}/${h(1)});`);break;case 110:m(`${h(1)}=Math.fround(${h(1)}/${h()});`);break;case 111:m(`${h(3)}/=${h(1)};`);break;case 112:m(`if(${h()}===0)rt.div0(${n});${h(1)}=(${h(1)}%${h()})|0;`);break;case 113:m(`if(${h(1)}===0n)rt.div0(${n});${h(3)}%=${h(1)};`);break;case 114:m(`${h(1)}=Math.fround(${h(1)}%${h()});`);break;case 115:m(`${h(3)}%=${h(1)};`);break;case 116:m(`${h()}=(-${h()})|0;`);break;case 117:m(`${h(1)}=BigInt.asIntN(64,-${h(1)});`);break;case 118:m(`${h()}=-${h()};`);break;case 119:m(`${h(1)}=-${h(1)};`);break;case 120:m(`${h(1)}<<=${h()};`);break;case 121:m(`${h(2)}=BigInt.asIntN(64,${h(2)}<<BigInt(${h()}&63));`);break;case 122:m(`${h(1)}>>=${h()};`);break;case 123:m(`${h(2)}>>=BigInt(${h()}&63);`);break;case 124:m(`${h(1)}=(${h(1)}>>>${h()})|0;`);break;case 125:m(`${h(2)}=BigInt.asIntN(64,BigInt.asUintN(64,${h(2)})>>BigInt(${h()}&63));`);break;case 126:m(`${h(1)}&=${h()};`);break;case 127:m(`${h(3)}&=${h(1)};`);break;case 128:m(`${h(1)}|=${h()};`);break;case 129:m(`${h(3)}|=${h(1)};`);break;case 130:m(`${h(1)}^=${h()};`);break;case 131:m(`${h(3)}^=${h(1)};`);break;case 132:m(`${a(f[n+1])}=(${a(f[n+1])}+${f[n+2]<<24>>24})|0;`);break;case 133:m(`${h()}=BigInt(${h()});`);break;case 134:m(`${h()}=Math.fround(${h()});`);break;case 135:break;case 136:m(`${h(1)}=Number(BigInt.asIntN(32,${h(1)}));`);break;case 137:m(`${h(1)}=Math.fround(Number(${h(1)}));`);break;case 138:m(`${h(1)}=Number(${h(1)});`);break;case 139:m(`${h()}=rt.f2i(${h()});`);break;case 140:m(`${h()}=rt.f2l(${h()});`);break;case 141:break;case 142:m(`${h(1)}=rt.f2i(${h(1)});`);break;case 143:m(`${h(1)}=rt.f2l(${h(1)});`);break;case 144:m(`${h(1)}=Math.fround(${h(1)});`);break;case 145:m(`${h()}=(${h()}<<24)>>24;`);break;case 146:m(`${h()}&=65535;`);break;case 147:m(`${h()}=(${h()}<<16)>>16;`);break;case 148:m(`${h(3)}=rt.lcmp(${h(3)},${h(1)});`);break;case 149:case 150:m(`${h(1)}=rt.fcmp(${h(1)},${h()},${y===149?-1:1});`);break;case 151:case 152:m(`${h(3)}=rt.fcmp(${h(3)},${h(1)},${y===151?-1:1});`);break;case 153:case 154:case 155:case 156:case 157:case 158:{let w=["===","!==","<",">=",">","<="][y-153];m(`if(${h()}${w}0)${j(n+Ke(f,n+1))}`);break}case 159:case 160:case 161:case 162:case 163:case 164:{let w=["===","!==","<",">=",">","<="][y-159];m(`if(${h(1)}${w}${h()})${j(n+Ke(f,n+1))}`);break}case 165:m(`if(${h(1)}===${h()})${j(n+Ke(f,n+1))}`);break;case 166:m(`if(${h(1)}!==${h()})${j(n+Ke(f,n+1))}`);break;case 167:m(j(n+Ke(f,n+1)));break;case 200:m(j(n+Ae(f,n+1)));break;case 198:m(`if(${h()}===null)${j(n+Ke(f,n+1))}`);break;case 199:m(`if(${h()}!==null)${j(n+Ke(f,n+1))}`);break;case 170:case 171:{let w=n+4&-4;if(m(`switch(${h()}){`),y===170){let v=Ae(f,w+4),I=Ae(f,w+8);for(let J=v;J<=I;J++)m(`case ${J}:${j(n+Ae(f,w+12+(J-v)*4))}`)}else for(let v=0,I=Ae(f,w+4);v<I;v++)m(`case ${Ae(f,w+8+v*8)}:${j(n+Ae(f,w+12+v*8))}`);m(`default:${j(n+Ae(f,w))}}`);break}case 172:case 173:case 174:case 175:case 176:case 177:{let w=y===177?"undefined":y===173||y===175?h(1):h();if(i){m(`${i.result!==null&&y!==177?`${i.result}=${w};`:""}break R${i.id};`);break}let v=r.isSynchronized?"H.popFrame(t,f);":"t.frames.pop();";m(`${v}if(f.direct){t.ret=${w};return 0;}H.deliver(t,${w},${JSON.stringify(r.ret)},false);return 0;`);break}case 178:case 179:{let w=l.rcp[x];if(!w||w.cls.state!==z){m(p(n,b));break}let v=`${u(w.cls)}.statics[${w.slot}]`;m(y===178?`${s(b)}=${v};`:`${v}=${w.wide?h(1):h()};`);break}case 180:case 181:{let w=l.rcp[x];if(!w){m(p(n,b));break}if(y===180)m(`if(${h()}===null)rt.npe(${n});${h()}=${h()}.f[${w.slot}];`);else{let v=w.wide?h(2):h(1);m(`if(${v}===null)rt.npe(${n});${v}.f[${w.slot}]=${w.wide?h(1):h()};`)}break}case 182:case 183:case 184:case 185:{let w=l.rcp[x];if(i){m(ng(t,e,y,n,b,w));break}if(!w||y===184&&w.cls.state!==z){m(p(n,b));break}w.polymorphic?m(sg(t,n,g,b,w)):m(Fi(t,y,n,g,b,w,l));break}case 186:{let w=r.cache?.[n];if(!w||i){m(p(n,b));break}let v=b;w.appendix!==void 0&&(m(`${s(v)}=${u(w.appendix)};`),v++),m(Fi(t,184,n,g,v,w.m,l,b));break}case 187:{let w=tg(t,e,n);if(w){m(`${s(b)}=rt.concat(t,${n},[${w.pieces}]);`),e.skip=w.end;break}let v=l.rcp[x];if(!v||v.state!==z||v.access&1536){m(p(n,b));break}m(`${s(b)}=new rt.JObject(${u(v)},${u(v)}.template.slice());`);break}case 188:{let w="?ZCFDBSIJ"[f[n+1]-3];m(`${h()}=rt.newarray(${u(o.primArrayClass(w))},"${w}",${h()},${n});`);break}case 189:{let w=l.rcp[x];if(!w){m(p(n,b));break}m(`${h()}=rt.newarray(${u(o.arrayOf(w))},"L",${h()},${n});`);break}case 190:m(`if(${h()}===null)rt.npe(${n});${h()}=${h()}.a.length;`);break;case 191:if(i)throw new _t;m(`if(${h()}===null)rt.npe(${n});throw new rt.JavaThrow(${h()});`);break;case 192:case 193:{let w=l.rcp[x];if(!w){m(`if(${h()}===null){${y===193?`${h()}=0;`:""}}else{${p(n,b)}}`);break}let v=u(w);m(y===192?`if(${h()}!==null)rt.cast(t,${h()},${v},${n});`:`${h()}=${h()}!==null&&(${h()}.cls===${v}||${h()}.cls.isAssignableTo(${v}))?1:0;`);break}case 194:if(i)throw new _t;m(`if(${h()}===null)rt.npe(${n});if(!vm.monitorEnter(t,${h()}))${t.exit(n,b,$r)}`);break;case 195:if(i)throw new _t;m(`if(${h()}===null)rt.npe(${n});vm.monitorExit(t,${h()});`);break;case 196:{let w=f[n+1],v=Gt(f,n+2);w===132?m(`${a(v)}=(${a(v)}+${Ke(f,n+4)})|0;`):w>=21&&w<=25?m(`${s(b)}=${a(v)};`):m(w===55||w===57?`${a(v)}=${h(1)};`:`${a(v)}=${h()};`);break}case 197:m(p(n,b));break;default:throw new fn(`opcode ${y}`)}}function tg(t,e,n){let{m:r}=e,a=r.cls,s=r.code.code,i=(d,f,m,p)=>{let b=a.rcp[Gt(s,d+1)];return s[d]===f&&!!b&&b.cls.name===cd&&b.cls.loader===null&&b.name===m&&b.desc===p},c=a.rcp[Gt(s,n+1)];if(!c||c.name!==cd||c.loader!==null||c.state!==z)return null;let o=n+3;if(s[o]!==89||!i(o+1,183,"<init>","()V"))return null;o+=4;let u=[];for(;;){let d=s[o];if(d>=42&&d<=45){let f=d-42;u.push(()=>e.L(f)),o+=1}else if(d===25){let f=s[o+1];u.push(()=>e.L(f)),o+=2}else if(d===18||d===19){let f=d===18?s[o+1]:Gt(s,o+1),m=a.ldc[f];if(a.cf.cp[f].tag!==B.String||m===void 0)return null;u.push(()=>t.K(m)),o+=d===18?2:3}else return null;if(!i(o,182,"append","(Ljava/lang/String;)Ljava/lang/StringBuilder;"))return null;if(o+=3,i(o,182,"toString","()Ljava/lang/String;"))break}let l=o;for(let d of e.a.pcs)if(d>n&&d<=l&&e.a.targets.has(d))return null;for(let d of r.code.handlers)if(d.start>n&&d.start<=l||d.end>n&&d.end<=l)return null;return{pieces:u.map(d=>d()),end:l+3}}function ng(t,e,n,r,a,s){if(!s||s.polymorphic||n===185||n===184&&s.cls.state!==z)throw new _t;let i=n===183?t.t.vm.specialTarget(e.m.cls,s):s;if(!i.code||i.isAbstract||!Md(n,i))throw new _t;let c=s.argSlots,o=a-c,u=Array.from({length:c},(f,m)=>e.S(o+m)),l=s.ret==="V"?null:e.S(o),d=$d(i);return d?Td(d,l??"v",u,r,i.isStatic):(i.isStatic?"":`if(${u[0]}===null)rt.npe(${r});`)+Sd(t,e,i,u,l,r,o)}function Md(t,e){return t!==182||e.isPrivate||(e.access&Ie)!==0||(e.cls.access&Ie)!==0}var rg=new Set([18,19,20,178,179,180,181,182,183,184,185,186,187,189,192,193,194,197]);function ag(t){return Number.isNaN(t)?"NaN":Number.isFinite(t)?Object.is(t,-0)?"-0":String(t):t>0?"Infinity":"-Infinity"}var hd={96:(t,e)=>`((${t}+${e})|0)`,97:(t,e)=>`BigInt.asIntN(64,${t}+${e})`,98:(t,e)=>`Math.fround(${t}+${e})`,99:(t,e)=>`(${t}+${e})`,100:(t,e)=>`((${t}-${e})|0)`,101:(t,e)=>`BigInt.asIntN(64,${t}-${e})`,102:(t,e)=>`Math.fround(${t}-${e})`,103:(t,e)=>`(${t}-${e})`,104:(t,e)=>`Math.imul(${t},${e})`,105:(t,e)=>`BigInt.asIntN(64,${t}*${e})`,106:(t,e)=>`Math.fround(${t}*${e})`,107:(t,e)=>`(${t}*${e})`,110:(t,e)=>`Math.fround(${t}/${e})`,111:(t,e)=>`(${t}/${e})`,120:(t,e)=>`(${t}<<${e})`,121:(t,e)=>`BigInt.asIntN(64,${t}<<BigInt(${e}&63))`,122:(t,e)=>`(${t}>>${e})`,123:(t,e)=>`(${t}>>BigInt(${e}&63))`,124:(t,e)=>`((${t}>>>${e})|0)`,125:(t,e)=>`BigInt.asIntN(64,BigInt.asUintN(64,${t})>>BigInt(${e}&63))`,126:(t,e)=>`(${t}&${e})`,127:(t,e)=>`(${t}&${e})`,128:(t,e)=>`(${t}|${e})`,129:(t,e)=>`(${t}|${e})`,130:(t,e)=>`(${t}^${e})`,131:(t,e)=>`(${t}^${e})`},bd={116:t=>`((-${t})|0)`,117:t=>`BigInt.asIntN(64,-${t})`,118:t=>`(-${t})`,119:t=>`(-${t})`,133:t=>`BigInt(${t})`,134:t=>`Math.fround(${t})`,135:t=>t,136:t=>`Number(BigInt.asIntN(32,${t}))`,137:t=>`Math.fround(Number(${t}))`,138:t=>`Number(${t})`,139:t=>`rt.f2i(${t})`,140:t=>`rt.f2l(${t})`,141:t=>t,142:t=>`rt.f2i(${t})`,143:t=>`rt.f2l(${t})`,144:t=>`Math.fround(${t})`,145:t=>`((${t}<<24)>>24)`,146:t=>`(${t}&65535)`,147:t=>`((${t}<<16)>>16)`};function pd(t){let e=t.code,n=e.code;if(n.length>32||e.handlers.length>0)return null;let r=[],a=c=>[c.startsWith("-")?`(${c})`:c],s=c=>c<t.argSlots?[["arg",c]]:null;for(let c=0;c<n.length;){let o=n[c],u=1,l=null;if(o===1)l=a("null");else if(o>=2&&o<=8)l=a(String(o-3));else if(o===9||o===10)l=a(`${o-9}n`);else if(o>=11&&o<=15)l=a(String(o>=14?o-14:o-11));else if(o===16)l=a(String(n[c+1]<<24>>24)),u=2;else if(o===17)l=a(String((n[c+1]<<8|n[c+2])<<16>>16)),u=3;else if(o>=21&&o<=25){if(l=s(n[c+1]),u=2,!l)return null}else if(o>=26&&o<=45){if(l=s((o-26)%4),!l)return null}else if(hd[o]){let d=r.pop(),f=r.pop();if(!f||!d)return null;l=[{op:hd[o],a:f,b:d}]}else if(bd[o]){let d=r.pop();if(!d)return null;l=[{op1:bd[o],a:d}]}else if(o===180&&!t.isStatic){let d=r.pop(),f=t.cls.rcp[n[c+1]<<8|n[c+2]];if(!d||!f||d.length!==1||!Array.isArray(d[0])||d[0][0]!=="arg"||d[0][1]!==0)return null;l=[["field",0,f.slot]],u=3}else if(o>=172&&o<=176){if(c+1!==n.length||r.length!==1)return null;let d=r[0];return f=>i(d,f)}else return null;r.push(l),c+=u}return null;function i(c,o){return c.map(u=>typeof u=="string"?u:Array.isArray(u)?u[0]==="arg"?o[u[1]]:`${o[u[1]]}.f[${u[2]}]`:u.op?u.op(i(u.a,o),i(u.b,o)):u.op1(i(u.a,o))).join("")}}function $d(t){if(!t.code||t.isSynchronized||t.isAbstract)return null;let e=t.code.code,n=()=>t.cls.rcp[e[2]<<8|e[3]];if(e.length===1&&e[0]===177)return{kind:"empty"};if(e.length===2&&e[0]>=1&&e[0]<=8&&(e[1]===172||e[1]===176))return{kind:"const",value:e[0]===1?"null":String(e[0]-3)};if(t.isStatic||e[0]!==42){let a=pd(t);return a?{kind:"expr",build:a}:null}if(e.length===5&&e[1]===180&&e[4]>=172&&e[4]<=176){let a=n();return a?{kind:"get",slot:a.slot}:null}if(e.length===6&&[27,31,35,39,43].includes(e[1])&&e[2]===181&&e[5]===177){let a=t.cls.rcp[e[3]<<8|e[4]];return a?{kind:"set",slot:a.slot}:null}let r=pd(t);return r?{kind:"expr",build:r}:null}function Td(t,e,n,r,a){let s=a?"":`if(${n[0]}===null)rt.npe(${r});`;switch(t.kind){case"empty":return s;case"const":return`${s}${e}=${t.value};`;case"get":return`${s}${e}=${n[0]}.f[${t.slot}];`;case"set":return`${s}${n[0]}.f[${t.slot}]=${n[1]};`;case"expr":return`${s}${e}=${t.build(n)};`}}function Fi(t,e,n,r,a,s,i,c=a,o=e!==185&&c===a){let{t:u,K:l,exit:d,call:f}=t,m=s.argSlots,p=a-m,b=Array.from({length:m},(x,w)=>`s${p+w}`);if(o){let x=e===183?u.vm.specialTarget(i,s):s,w=`s${p}`,v=null,I=$d(x);if(I)v=Td(I,w,b,n,x.isStatic);else if(x.code&&!x.isAbstract)try{v=(x.isStatic?"":`if(${b[0]}===null)rt.npe(${n});`)+Sd(t,t.top,x,b,s.ret==="V"?null:w,n,p)}catch(J){if(!(J instanceof _t))throw J}if(v!==null)return Md(e,x)?v:`if(${b[0]}!==null&&${b[0]}.cls===${l(x.cls)}){${v}}else{${Fi(t,e,n,r,a,s,i,a,!1)}}`}let y=[`f.pc=${n};`];if(e===182||e===185)if(s.isPrivate)y.push(`tm=${l(s)};if(${b[0]}===null)rt.npe(${n});`);else{let x=l([null,null,s.key]);y.push(`ic=${x};tm=${b[0]}!==null&&${b[0]}.cls===ic[0]?ic[1]:rt.select(${b[0]},ic,${n});`)}else if(e===183){let x=u.vm.specialTarget(i,s);y.push(`tm=${l(x)};if(${b[0]}===null)rt.npe(${n});`)}else y.push(`tm=${l(s)};`);let g=s.ret,h=x=>g==="V"?"":`s${p}=${x};`,j=s.isStatic?"null":b[0];return y.push(`if(tm.jit!==null&&(cf=rt.enter(t,tm,${j}))!==null){`),y.push(`r=tm.jit(t,cf${b.map(x=>","+x).join("")});if(r!==0){t.unpool(cf);${d(n,p,$r)}}`),y.push(`${h("t.ret")}}`),y.push(`else{v=rt.slowCall(t,tm,[${ig(s,b)}]);`),y.push(`if(v===rt.PUSHED)${d(n,p,$r)}if(v===rt.INTERPRET)${f(n,c)}`),y.push(`${h("v")}if(t.state!==0)${d(r,g==="V"?p:p+(ke(g)?2:1),$r)}}`),y.join("")}function sg(t,e,n,r,a){let{K:s,exit:i,call:c}=t,o=a.argSlots,u=r-o,l=Array.from({length:o},(p,b)=>`s${u+b}`),d,f=l;switch(a.name){case"invokeBasic":d=`tm=rt.basicTarget(t,${l[0]},${e});`;break;case"linkToStatic":case"linkToSpecial":f=l.slice(0,-1),d=`tm=rt.memberTarget(t,${l[o-1]});`;break;case"linkToVirtual":case"linkToInterface":f=l.slice(0,-1),d=`tm=rt.virtualTarget(t,${l[o-1]},${f[0]},${e});`;break;default:{let p=a.link;if(!p||p.m.cls.state!==z)return c(e,r);let b=r,y="";return p.m.argSlots===o+1&&(y=`s${b}=${s(p.appendix)};`,b++),y+Fi(t,184,e,n,b,p.m,t.top.m.cls,r,!1)}}let m=a.ret==="V"?"":`s${u}=t.ret;`;return`f.pc=${e};${d}if(tm.jit!==null&&tm.cls.state===${z}&&(cf=rt.enter(t,tm,${f[0]??"null"}))!==null){r=tm.jit(t,cf${f.map(p=>","+p).join("")});if(r!==0){t.unpool(cf);${i(e,u,$r)}}${m}}else{${c(e,r)}}`}function ig(t,e){let n=[],r=0;t.isStatic||n.push(e[r++]);for(let a of t.params)n.push(e[r]),r+=ke(a)?2:1;return n.join(",")}function og(t,e,n){let r=e[n],a=t.cf.cp,s=o=>{let u=a[a[o].b];return ke(_(a,u.b))?2:1},i=(o,u)=>{let l=a[o],d=a[l.b],{params:f,ret:m}=yt(_(a,d.b)),p=u?1:0;for(let b of f)p+=ke(b)?2:1;return(m==="V"?0:ke(m)?2:1)-p};switch(r){case 18:case 19:return 1;case 20:return 2;case 178:return s(Gt(e,n+1));case 179:return-s(Gt(e,n+1));case 180:return s(Gt(e,n+1))-1;case 181:return-s(Gt(e,n+1))-1;case 182:case 183:case 185:return i(Gt(e,n+1),!0);case 184:case 186:return i(Gt(e,n+1),!1);case 197:return 1-e[n+3];case 196:{let o=e[n+1];return o===132||o===169?0:o===22||o===24?2:o>=21&&o<=25?1:o===55||o===57?-2:-1}}let c=fa[r];if(c===99)throw new fn(`opcode ${r}`);return c}var fa=new Int8Array(256).fill(99);{let t=(e,n)=>{for(let r of e)fa[r]=n};t([0,116,118,132,134,139,145,146,147,167,200,188,189,190,192,193],0),fa[117]=0,fa[119]=0,fa[138]=0,fa[143]=0,t([1,2,3,4,5,6,7,8,11,12,13,16,17,21,23,25,26,27,28,29,34,35,36,37,42,43,44,45,89,187],1),t([9,10,14,15,22,24,30,31,32,33,38,39,40,41,92],2),t([90,91],1),t([93,94],2),t([46,48,50,51,52,53],-1),t([47,49],0),t([54,56,58,59,60,61,62,67,68,69,70,75,76,77,78,87,96,98,100,102,104,106,108,110,112,114,120,122,124,126,128,130,149,150,153,154,155,156,157,158,170,171,194,195,198,199,136,137,142,144,121,123,125,172,174,176,191],-1),t([55,57,63,64,65,66,71,72,73,74,88,97,99,101,103,105,107,109,111,113,115,127,129,131,159,160,161,162,163,164,165,166,173,175],-2),t([79,81,83,84,85,86],-3),t([148,151,152],-3),t([80,82],-4),t([133,135,140,141],1),t([177],0),t([95],0)}var bs=6e3;function Pl(t){if(!(t.frames.length<t.stackLimit))throw t.stackLimit>=2*bs?new Error("stack overflow while handling a stack overflow"):(t.stackLimit=t.frames.length+1500,new A("java/lang/StackOverflowError"))}var Fd=-2147483648,lg=-(1n<<63n),cg=(1n<<63n)-1n,Tr=t=>BigInt.asIntN(64,t);function Od(t){return t!==t?0:t>=2147483647?2147483647:t<=Fd?Fd:t|0}function Ld(t){return t!==t?0n:t>=9223372036854776e3?cg:t<=-9223372036854776e3?lg:BigInt(Math.trunc(t))}function Nd(t,e,n){return t>e?1:t<e?-1:t===e?0:n}function ar(){throw new A("java/lang/NullPointerException")}function ug(t,e){throw new A("java/lang/ArrayIndexOutOfBoundsException",`Index ${t} out of bounds for length ${e}`)}function ms(t,e){t===null&&ar();let n=t.a;return e>>>0>=n.length&&ug(e,n.length),n}function Oi(){throw new A("java/lang/ArithmeticException","/ by zero")}function fg(t,e,n,r){let a=e.pc;e.pc=n;let s=Ud(t.vm,e,r);return e.pc=a,s>=0&&t.frames.length<bs-500&&(t.stackLimit=bs),s}Object.assign(ds,{interpret:(t,e,n)=>Ed(t,e,n),deliver:(t,e,n,r)=>ma(t,e,n,r),raise:(t,e)=>Rd(t,e),handleError:(t,e)=>ps(t,e),popFrame:(t,e)=>hs(t,e),findHandler:fg,checkStack:t=>Pl(t)});function Ed(t,e,n){let r=t.vm,a=e.m,s=a.cls,i=e.code,c=e.locals,o=e.stack,u=e.pc,l=e.sp,d=u,f,m,p,b,y;try{for(;n-- >0;)switch(d=u,i[u]){case 0:u++;break;case 1:o[l++]=null,u++;break;case 2:case 3:case 4:case 5:case 6:case 7:case 8:o[l++]=i[u]-3,u++;break;case 9:case 10:o[l++]=BigInt(i[u]-9),o[l++]=void 0,u++;break;case 11:case 12:case 13:o[l++]=i[u]-11,u++;break;case 14:case 15:o[l++]=i[u]-14,o[l++]=void 0,u++;break;case 16:o[l++]=i[u+1]<<24>>24,u+=2;break;case 17:o[l++]=(i[u+1]<<8|i[u+2])<<16>>16,u+=3;break;case 18:case 19:case 20:{let g=i[u];if(b=g===18?i[u+1]:i[u+1]<<8|i[u+2],f=s.ldc[b],f===void 0&&(f=r.constant(t,s,b),f===void 0))return e.pc=d,e.sp=l,n;o[l++]=f,g===20&&(o[l++]=void 0),u+=g===18?2:3;break}case 21:case 23:case 25:o[l++]=c[i[u+1]],u+=2;break;case 22:case 24:o[l++]=c[i[u+1]],o[l++]=void 0,u+=2;break;case 26:case 27:case 28:case 29:o[l++]=c[i[u]-26],u++;break;case 30:case 31:case 32:case 33:o[l++]=c[i[u]-30],o[l++]=void 0,u++;break;case 34:case 35:case 36:case 37:o[l++]=c[i[u]-34],u++;break;case 38:case 39:case 40:case 41:o[l++]=c[i[u]-38],o[l++]=void 0,u++;break;case 42:case 43:case 44:case 45:o[l++]=c[i[u]-42],u++;break;case 46:case 48:case 50:case 51:case 52:case 53:b=o[--l],y=o[--l],o[l++]=ms(y,b)[b],u++;break;case 47:case 49:b=o[--l],y=o[--l],o[l++]=ms(y,b)[b],o[l++]=void 0,u++;break;case 54:case 56:case 58:c[i[u+1]]=o[--l],u+=2;break;case 55:case 57:l-=2,c[i[u+1]]=o[l],u+=2;break;case 59:case 60:case 61:case 62:c[i[u]-59]=o[--l],u++;break;case 63:case 64:case 65:case 66:l-=2,c[i[u]-63]=o[l],u++;break;case 67:case 68:case 69:case 70:c[i[u]-67]=o[--l],u++;break;case 71:case 72:case 73:case 74:l-=2,c[i[u]-71]=o[l],u++;break;case 75:case 76:case 77:case 78:c[i[u]-75]=o[--l],u++;break;case 79:case 81:case 84:case 85:case 86:f=o[--l],b=o[--l],y=o[--l],ms(y,b)[b]=f,u++;break;case 80:case 82:l-=2,f=o[l],b=o[--l],y=o[--l],ms(y,b)[b]=f,u++;break;case 83:if(f=o[--l],b=o[--l],y=o[--l],m=ms(y,b),f!==null&&!f.cls.isAssignableTo(y.cls.component))throw new A("java/lang/ArrayStoreException",f.cls.javaName);m[b]=f,u++;break;case 87:l--,u++;break;case 88:l-=2,u++;break;case 89:o[l]=o[l-1],l++,u++;break;case 90:f=o[l-1],m=o[l-2],o[l-2]=f,o[l-1]=m,o[l]=f,l++,u++;break;case 91:f=o[l-1],m=o[l-2],p=o[l-3],o[l-3]=f,o[l-2]=p,o[l-1]=m,o[l]=f,l++,u++;break;case 92:o[l]=o[l-2],o[l+1]=o[l-1],l+=2,u++;break;case 93:{let g=o[l-1],h=o[l-2],j=o[l-3];o[l-3]=h,o[l-2]=g,o[l-1]=j,o[l]=h,o[l+1]=g,l+=2,u++;break}case 94:{let g=o[l-1],h=o[l-2],j=o[l-3],x=o[l-4];o[l-4]=h,o[l-3]=g,o[l-2]=x,o[l-1]=j,o[l]=h,o[l+1]=g,l+=2,u++;break}case 95:f=o[l-1],o[l-1]=o[l-2],o[l-2]=f,u++;break;case 96:f=o[--l],o[l-1]=o[l-1]+f|0,u++;break;case 97:l-=2,o[l-2]=Tr(o[l-2]+o[l]),u++;break;case 98:f=o[--l],o[l-1]=Math.fround(o[l-1]+f),u++;break;case 99:l-=2,o[l-2]+=o[l],u++;break;case 100:f=o[--l],o[l-1]=o[l-1]-f|0,u++;break;case 101:l-=2,o[l-2]=Tr(o[l-2]-o[l]),u++;break;case 102:f=o[--l],o[l-1]=Math.fround(o[l-1]-f),u++;break;case 103:l-=2,o[l-2]-=o[l],u++;break;case 104:f=o[--l],o[l-1]=Math.imul(o[l-1],f),u++;break;case 105:l-=2,o[l-2]=Tr(o[l-2]*o[l]),u++;break;case 106:f=o[--l],o[l-1]=Math.fround(o[l-1]*f),u++;break;case 107:l-=2,o[l-2]*=o[l],u++;break;case 108:f=o[l-1],f===0&&Oi(),l--,o[l-1]=o[l-1]/f|0,u++;break;case 109:f=o[l-2],f===0n&&Oi(),l-=2,o[l-2]=Tr(o[l-2]/f),u++;break;case 110:f=o[--l],o[l-1]=Math.fround(o[l-1]/f),u++;break;case 111:l-=2,o[l-2]/=o[l],u++;break;case 112:f=o[l-1],f===0&&Oi(),l--,o[l-1]=o[l-1]%f|0,u++;break;case 113:f=o[l-2],f===0n&&Oi(),l-=2,o[l-2]=o[l-2]%f,u++;break;case 114:f=o[--l],o[l-1]=Math.fround(o[l-1]%f),u++;break;case 115:l-=2,o[l-2]%=o[l],u++;break;case 116:o[l-1]=-o[l-1]|0,u++;break;case 117:o[l-2]=Tr(-o[l-2]),u++;break;case 118:o[l-1]=-o[l-1],u++;break;case 119:o[l-2]=-o[l-2],u++;break;case 120:f=o[--l],o[l-1]=o[l-1]<<f,u++;break;case 121:f=o[--l],o[l-2]=Tr(o[l-2]<<BigInt(f&63)),u++;break;case 122:f=o[--l],o[l-1]=o[l-1]>>f,u++;break;case 123:f=o[--l],o[l-2]=o[l-2]>>BigInt(f&63),u++;break;case 124:f=o[--l],o[l-1]=o[l-1]>>>f|0,u++;break;case 125:f=o[--l],o[l-2]=Tr(BigInt.asUintN(64,o[l-2])>>BigInt(f&63)),u++;break;case 126:f=o[--l],o[l-1]&=f,u++;break;case 127:l-=2,o[l-2]&=o[l],u++;break;case 128:f=o[--l],o[l-1]|=f,u++;break;case 129:l-=2,o[l-2]|=o[l],u++;break;case 130:f=o[--l],o[l-1]^=f,u++;break;case 131:l-=2,o[l-2]^=o[l],u++;break;case 132:c[i[u+1]]=c[i[u+1]]+(i[u+2]<<24>>24)|0,u+=3;break;case 133:o[l-1]=BigInt(o[l-1]),o[l++]=void 0,u++;break;case 134:o[l-1]=Math.fround(o[l-1]),u++;break;case 135:o[l++]=void 0,u++;break;case 136:l--,o[l-1]=Number(BigInt.asIntN(32,o[l-1])),u++;break;case 137:l--,o[l-1]=Math.fround(Number(o[l-1])),u++;break;case 138:o[l-2]=Number(o[l-2]),u++;break;case 139:o[l-1]=Od(o[l-1]),u++;break;case 140:o[l-1]=Ld(o[l-1]),o[l++]=void 0,u++;break;case 141:o[l++]=void 0,u++;break;case 142:l--,o[l-1]=Od(o[l-1]),u++;break;case 143:o[l-2]=Ld(o[l-2]),u++;break;case 144:l--,o[l-1]=Math.fround(o[l-1]),u++;break;case 145:o[l-1]=o[l-1]<<24>>24,u++;break;case 146:o[l-1]&=65535,u++;break;case 147:o[l-1]=o[l-1]<<16>>16,u++;break;case 148:l-=3,f=o[l-1],m=o[l+1],o[l-1]=f>m?1:f<m?-1:0,u++;break;case 149:case 150:f=o[--l],o[l-1]=Nd(o[l-1],f,i[u]===149?-1:1),u++;break;case 151:case 152:l-=3,f=o[l+1],o[l-1]=Nd(o[l-1],f,i[u]===151?-1:1),u++;break;case 153:if(o[--l]===0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 154:if(o[--l]!==0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 155:if(o[--l]<0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 156:if(o[--l]>=0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 157:if(o[--l]>0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 158:if(o[--l]<=0){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 159:case 165:if(l-=2,o[l]===o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 160:case 166:if(l-=2,o[l]!==o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 161:if(l-=2,o[l]<o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 162:if(l-=2,o[l]>=o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 163:if(l-=2,o[l]>o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 164:if(l-=2,o[l]<=o[l+1]){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 167:if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n;break;case 168:o[l++]=u+3,u+=ze(i,u);break;case 169:u=c[i[u+1]];break;case 170:{let g=u+4&-4,h=dn(i,g),j=dn(i,g+4),x=dn(i,g+8);f=o[--l],u+=f<j||f>x?h:dn(i,g+12+(f-j)*4);break}case 171:{let g=u+4&-4,h=dn(i,g),j=dn(i,g+4);f=o[--l];let x=0,w=j-1,v=h;for(;x<=w;){let I=x+w>>1,J=dn(i,g+8+I*8);if(J===f){v=dn(i,g+12+I*8);break}J<f?x=I+1:w=I-1}u+=v;break}case 172:case 174:case 176:return f=o[l-1],hs(t,e),ma(t,f,a.ret,!1),n;case 173:case 175:return f=o[l-2],hs(t,e),ma(t,f,a.ret,!1),n;case 177:return hs(t,e),ma(t,void 0,"V",!1),n;case 178:case 179:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.fieldRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;let h=g.cls;if(h.state!==z&&!r.initialize(t,h))return e.pc=d,e.sp=l,n;i[u]===178?(o[l++]=h.statics[g.slot],g.wide&&(o[l++]=void 0)):(g.wide&&l--,h.statics[g.slot]=o[--l]),u+=3;break}case 180:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.fieldRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;y=o[l-1],y===null&&ar(),o[l-1]=y.f[g.slot],g.wide&&(o[l++]=void 0),u+=3;break}case 181:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.fieldRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;g.wide&&l--,f=o[--l],y=o[--l],y===null&&ar(),y.f[g.slot]=f,u+=3;break}case 182:case 183:case 184:case 185:{let g=i[u];b=i[u+1]<<8|i[u+2];let h=s.rcp[b]??r.methodRef(t,s,b);if(h===void 0)return e.pc=d,e.sp=l,n;if(g===184){let j=h.cls;if(j.state!==z&&!r.initialize(t,j))return e.pc=d,e.sp=l,n;if(h.polymorphic){if(e.pc=d,e.sp=l,r.invokePolymorphic(t,e,h,b)){u=e.pc,l=e.sp;break}return n}}else{if(h.polymorphic){if(e.pc=d,e.sp=l,r.invokePolymorphic(t,e,h,b)){u=e.pc,l=e.sp;break}return n}if(y=o[l-h.argSlots],y===null&&ar(),g===183)h=r.specialTarget(s,h);else if(!h.isPrivate){let j=a.cache??=[],x=j[d];if(x!==void 0&&x.c===y.cls)h=x.m;else{let w=y.cls.selectMethod(h.key);if(!w)throw new A("java/lang/AbstractMethodError",`${y.cls.javaName}.${h.name}${h.desc}`);j[d]={c:y.cls,m:w},h=w}}}if(e.pc=d,e.sp=l,ha(t,e,h)){u=e.pc,l=e.sp;break}return n}case 186:{e.pc=d,e.sp=l;let g=r.callSite(t,e,i[u+1]<<8|i[u+2]);if(g===void 0)return n;if(g.appendix!==void 0&&(e.stack[e.sp++]=g.appendix),ha(t,e,g.m)){u=e.pc,l=e.sp;break}return n}case 187:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.classRef(t,s,b);if(g===void 0||g.state!==z&&!r.initialize(t,g))return e.pc=d,e.sp=l,n;if(g.access&1536)throw new A("java/lang/InstantiationError",g.javaName);o[l++]=new Ge(g,g.template.slice()),u+=3;break}case 188:{if(f=o[l-1],f<0)throw new A("java/lang/NegativeArraySizeException",String(f));let g="?ZCFDBSIJ"[i[u+1]-3];o[l-1]=new W(r.primArrayClass(g),Te(g,f)),u+=2;break}case 189:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.classRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;if(f=o[l-1],f<0)throw new A("java/lang/NegativeArraySizeException",String(f));o[l-1]=new W(r.arrayOf(g),Te("L",f)),u+=3;break}case 190:y=o[l-1],y===null&&ar(),o[l-1]=y.a.length,u++;break;case 191:throw y=o[l-1],y===null&&ar(),new oe(y);case 192:case 193:{b=i[u+1]<<8|i[u+2],y=o[l-1];let g=i[u]===192;if(y===null){g||(o[l-1]=0),u+=3;break}let h=s.rcp[b]??r.classRef(t,s,b);if(h===void 0)return e.pc=d,e.sp=l,n;let j=y.cls===h||y.cls.isAssignableTo(h);if(g){if(!j)throw new A("java/lang/ClassCastException",r.castMessage(y.cls,h))}else o[l-1]=j?1:0;u+=3;break}case 194:if(y=o[l-1],y===null&&ar(),!r.monitorEnter(t,y))return e.pc=d,e.sp=l,n;l--,u++;break;case 195:y=o[--l],y===null&&ar(),r.monitorExit(t,y),u++;break;case 196:{let g=i[u+1];switch(b=i[u+2]<<8|i[u+3],g){case 21:case 23:case 25:o[l++]=c[b];break;case 22:case 24:o[l++]=c[b],o[l++]=void 0;break;case 54:case 56:case 58:c[b]=o[--l];break;case 55:case 57:l-=2,c[b]=o[l];break;case 132:c[b]=c[b]+((i[u+4]<<8|i[u+5])<<16>>16)|0,u+=2;break;case 169:u=c[b];continue;default:throw new Error(`bad wide opcode ${g}`)}u+=4;break}case 197:{b=i[u+1]<<8|i[u+2];let g=s.rcp[b]??r.classRef(t,s,b);if(g===void 0)return e.pc=d,e.sp=l,n;let h=i[u+3],j=[];for(let x=0;x<h;x++)j.unshift(o[--l]);for(let x of j)if(x<0)throw new A("java/lang/NegativeArraySizeException",String(x));o[l++]=r.multiArray(g,j),u+=4;break}case 198:if(o[--l]===null){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 199:if(o[--l]!==null){if(f=ze(i,u),u+=f,f<0&&Qe(t,e,u,l))return n}else u+=3;break;case 200:u+=dn(i,u+1);break;case 201:o[l++]=u+5,u+=dn(i,u+1);break;default:throw new Error(`unknown opcode 0x${i[u].toString(16)} at ${a}:${u}`)}return e.pc=u,e.sp=l,n}catch(g){return e.pc=d,e.sp=l,ps(t,g),n}}function Qe(t,e,n,r){let a=e.m;return a.jit===null&&(a.noJit||(xd(t,a),a.jit===null))?!1:(e.pc=n,e.sp=r,!0)}function ze(t,e){return(t[e+1]<<8|t[e+2])<<16>>16}function dn(t,e){return t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}function ha(t,e,n){let r=n.argSlots,a=e.sp-r,s=e.stack;if(n.code){Pl(t),n.jit===null&&!n.noJit&&vd(t,n);let o=new Oe(n),u=o.locals;for(let l=0;l<r;l++)u[l]=s[a+l];return e.sp=a,n.isSynchronized&&Dd(t,o,n.isStatic?t.vm.mirror(n.cls):u[0]),t.frames.push(o),!1}let i=[],c=a;n.isStatic||i.push(s[c++]);for(let o of n.params)i.push(s[c]),c+=ke(o)?2:1;return e.sp=a,Pd(t,n,i)}function Pd(t,e,n){if(e.isAbstract)throw new A("java/lang/AbstractMethodError",`${e.cls.javaName}.${e.name}${e.desc}`);let r=e.native??t.vm.bindNative(e),a;try{a=r(t,n)}catch(s){throw Wa(s,e)}return dg(a)?(t.pushNative(a,e,e.ret,!1),!1):(ma(t,a,e.ret,!1),!0)}function dg(t){return t!==null&&typeof t=="object"&&typeof t.next=="function"&&typeof t.throw=="function"}function Dd(t,e,n){e.lock=n,e.needLock=!t.vm.monitorEnter(t,n)}function hs(t,e){t.frames.pop(),e.lock&&t.vm.monitorExit(t,e.lock)}function Bd(t,e){return e==="Z"&&typeof t=="boolean"?t?1:0:t}function ma(t,e,n,r){let a=t.top;if(a!==void 0){if(a instanceof it){a.input=Bd(e,n);return}r||(n!=="V"&&(a.stack[a.sp++]=Bd(e,n),(n==="J"||n==="D")&&(a.stack[a.sp++]=void 0)),a.pc+=a.code[a.pc]>=185?5:3)}}function Rd(t,e){for(;t.frames.length>0;){let n=t.top;if(n instanceof it){n.thrown=e;return}let r=Ud(t.vm,n,e);if(r>=0){t.frames.length<bs-500&&(t.stackLimit=bs),n.sp=0,n.stack[n.sp++]=e,n.pc=r;return}hs(t,n)}}function Ud(t,e,n){let r=e.m.code.handlers,a=e.pc;for(let s of r){if(a<s.start||a>=s.end)continue;if(s.catchType===0)return s.handler;let i=t.cpClassName(e.m.cls,s.catchType);for(let c=n.cls;c;c=c.superclass)if(c.name===i)return s.handler}return-1}function ps(t,e){e instanceof oe?Rd(t,e.obj):e instanceof A?t.vm.throwNew(t,e.cls,e.msg,e.ctor,e.native):t.vm.internalError(t,e)}function mg(t,e){let n;try{if(e.thrown){let a=e.thrown;e.thrown=null,n=e.gen.throw(new oe(a))}else{let a=e.input;e.input=void 0,n=e.gen.next(a)}}catch(a){t.frames.pop(),ps(t,e.m?Wa(a,e.m):a);return}if(n.done){t.frames.pop(),ma(t,n.value,e.ret,e.reexec);return}let r=n.value;if(r.kind==="invoke"){let a=r.m,s=r.args;try{if(a.code){Pl(t);let i=new Oe(a),c=0;a.isStatic||(i.locals[c++]=s[0]);let o=a.isStatic?0:1;for(let u=0;u<a.params.length;u++)i.locals[c]=s[u+o],c+=ke(a.params[u])?2:1;a.isSynchronized&&Dd(t,i,a.isStatic?t.vm.mirror(a.cls):s[0]),t.frames.push(i)}else Pd(t,a,s)}catch(i){ps(t,i)}}else r.kind==="wait"&&(t.state=fi,r.promise.then(a=>{e.input=a,t.vm.wake(t)},a=>{a instanceof oe?e.thrown=a.obj:a instanceof A?t.vm.throwNew(t,a.cls,a.msg,a.ctor):t.vm.internalError(t,a),t.vm.wake(t)}))}var gs=typeof process<"u"&&process.env?.JW_JIT_STATS?new Map:null;gs&&process.on("exit",()=>{console.error("-- run loop entries into compiled code");for(let[t,e]of[...gs].sort((n,r)=>r[1]-n[1]).slice(0,25))console.error(String(e).padStart(8),t)});function hg(t,e){let n=t.frames[t.frames.length-2],r=n instanceof Oe?`${n.m} @${n.pc} op=${n.code[n.pc]?.toString(16)} ${n.m.jit?"jit":n.m.noJit?"nojit":"interp"}`:"native",a=`${e.m.name} @${e.pc} from ${r}`;gs.set(a,(gs.get(a)??0)+1)}function Vd(t,e){for(;e>0&&t.state===wr;){let n=t.top;if(n===void 0){Cd(t);return}if(n instanceof it){mg(t,n),e--;continue}if(n.needLock){if(!t.vm.monitorEnter(t,n.lock))return;n.needLock=!1}let r=n.m.jit;if(r!==null){gs&&hg(t,n),t.base=t.frames.length;try{r(t,n)}catch(a){ps(t,a)}e-=4e3}else e=Ed(t,n,e)}t.frames.length===0&&t.state!==At&&Cd(t)}function Cd(t){t.state=At,t.vm.threads.delete(t),t.onExit?.()}var Li=16,Gd=512<<20,Ni=class{buf;u8;dv;top=Li;sizes=new Map;free=new Map;constructor(e=1<<20){this.buf=new ArrayBuffer(e),this.u8=new Uint8Array(this.buf),this.dv=new DataView(this.buf)}grow(e){if(e>Gd)throw new A("java/lang/OutOfMemoryError",`Unable to allocate ${e-this.buf.byteLength} bytes`);let n=this.buf.byteLength;for(;n<e;)n*=2;n=Math.min(n,Gd);let r=new ArrayBuffer(n);new Uint8Array(r).set(this.u8),this.buf=r,this.u8=new Uint8Array(r),this.dv=new DataView(r)}malloc(e){let n=Math.max(Li,Math.ceil(e/Li)*Li),r=this.free.get(n);if(r&&r.length>0){let s=r.pop();return this.sizes.set(s,n),s}let a=this.top;return this.top+=n,this.top>this.buf.byteLength&&this.grow(this.top),this.sizes.set(a,n),a}freeBlock(e){let n=this.sizes.get(e);if(n===void 0)return;this.sizes.delete(e);let r=this.free.get(n);r||this.free.set(n,r=[]),r.push(e)}realloc(e,n){if(e===0)return this.malloc(n);let r=this.sizes.get(e)??0;if(n<=r)return e;let a=this.malloc(n);return this.u8.copyWithin(a,e,e+r),this.freeBlock(e),a}};var Bi="127.0.0.2",Ci=3128,bg=64*1024,pg=/^(\[[0-9a-f:.]+\]|[a-z0-9._-]+):(\d{1,5})$/i,_d=new Set(["connection","keep-alive","proxy-connection","proxy-authorization","proxy-authenticate","te","trailer","transfer-encoding","upgrade","http2-settings","host","content-length","expect"]),Jt=class extends Error{status;constructor(e,n){super(n),this.status=e}},Hd=t=>{let e="";for(let n=0;n<t.length;n+=8192)e+=String.fromCharCode(...t.subarray(n,n+8192));return e},Dl=t=>{let e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return e};function Rl(t,e,n){let r=e.length;e:for(let a=n;a<=t.length-r;a++){for(let s=0;s<r;s++)if(t[a+s]!==e.charCodeAt(s))continue e;return a}return-1}function gg(t){let e=t.split(`\r
|
|
5
|
+
`),n=/^([A-Za-z]+) (\S+) HTTP\/(\d)\.(\d)$/.exec(e[0]);if(!n)throw new Jt(400,"bad request line");let r=new Headers;try{for(let c of e.slice(1)){let o=c.indexOf(":");if(o<=0)throw new Error;r.append(c.slice(0,o).trim(),c.slice(o+1).trim())}}catch{throw new Jt(400,"bad header")}let a=/chunked/i.test(r.get("transfer-encoding")??""),s=Number(r.get("content-length")??0);if(!(s>=0)||!Number.isInteger(s))throw new Jt(400,"bad Content-Length");let i=/close/i.test(r.get("connection")??"")||n[3]==="1"&&n[4]==="0";return{method:n[1].toUpperCase(),target:n[2],close:i,headers:r,chunked:a,length:s}}function yg(t){let e=[],n=0,r=0;for(;;){let a=Rl(t,`\r
|
|
6
6
|
`,n);if(a<0)return null;let s=parseInt(Hd(t.subarray(n,a)),16);if(!(s>=0))throw new Jt(400,"bad chunk size");if(n=a+2,s===0){for(;;){let o=Rl(t,`\r
|
|
7
7
|
`,n);if(o<0)return null;let u=o===n;if(n=o+2,u)break}let i=new Uint8Array(r),c=0;for(let o of e)i.set(o,c),c+=o.length;return{body:i,used:n}}if(t.length<n+s+2)return null;e.push(t.subarray(n,n+s)),r+=s,n+=s+2}}function zd(t,e){new Ul(t,e)}var Ul=class{b;fetch;buf=new Uint8Array(0);head=null;continued=!1;tunnel=null;busy=!1;done=!1;constructor(e,n){this.b=e,this.fetch=n,e.watchers.add(()=>this.pump())}async pump(){if(!(this.busy||this.done)){this.busy=!0;try{for(;;){this.fill();let e=this.parse();if(!e)break;if(!await this.serve(e))return this.finish()}this.b.eof&&this.finish()}catch(e){let n=e instanceof Jt?e:new Jt(500,String(e));this.reply(n.status,n.message,[],new TextEncoder().encode(n.message),!0),this.finish()}finally{this.busy=!1}}}fill(){let e=this.b.rxBytes;if(e===0)return;let n=new Uint8Array(this.buf.length+e);n.set(this.buf),this.b.take(n,this.buf.length,e),this.buf=n}finish(){this.done=!0,this.b.watchers.clear(),ys(this.b)}parse(){if(!this.head){let r=Rl(this.buf,`\r
|
|
8
8
|
\r
|
|
9
|
-
`,0);if(r<0){if(this.buf.length>
|
|
9
|
+
`,0);if(r<0){if(this.buf.length>bg)throw new Jt(431,"request header too large");return null}this.head=gg(Hd(this.buf.subarray(0,r))),this.buf=this.buf.subarray(r+4),this.continued=!1}let e=this.head,n=null;if(e.chunked){let r=yg(this.buf);r&&(n=r.body,this.buf=this.buf.subarray(r.used))}else this.buf.length>=e.length&&(n=this.buf.slice(0,e.length),this.buf=this.buf.subarray(e.length));return n?(this.head=null,{...e,body:n}):(!this.continued&&/100-continue/i.test(e.headers.get("expect")??"")&&(this.continued=!0,this.b.peer?.push(Dl(`HTTP/1.1 100 Continue\r
|
|
10
10
|
\r
|
|
11
|
-
`))),null)}async serve(e){if(e.method==="CONNECT")return this.connect(e);let n=e.target;if(this.tunnel){if(!n.startsWith("/"))throw new Jt(400,"bad request target");n=`https://${this.tunnel}${n}`}else if(!/^[a-z][a-z0-9+.-]*:\/\//i.test(n)){let r=e.headers.get("host");if(!r)throw new Jt(400,"no host");n=`http://${r}${n}`}for(let r of _d)e.headers.delete(r);try{let r=e.method==="GET"||e.method==="HEAD"||e.body.length===0?void 0:e.body,a=await this.fetch(n,{method:e.method,headers:e.headers,body:r}),s=new Uint8Array(await a.arrayBuffer()),i=[];for(let[l,d]of a.headers)!_d.has(l)&&l!=="content-encoding"&&i.push([l,d]);let c=a.headers.get("content-length"),o=a.type!=="cors"&&!a.headers.has("content-encoding"),u=e.method!=="HEAD"?void 0:o&&/^\d+$/.test(c??"")?c:null;return this.reply(a.status,a.statusText,i,s,e.close,u)}catch(r){let a=[r?.message,r?.cause?.message].filter(Boolean).join(": ");return this.reply(502,"Bad Gateway",[],new TextEncoder().encode(`Bad Gateway: ${a||r}`),e.close)}}connect(e){let n=
|
|
11
|
+
`))),null)}async serve(e){if(e.method==="CONNECT")return this.connect(e);let n=e.target;if(this.tunnel){if(!n.startsWith("/"))throw new Jt(400,"bad request target");n=`https://${this.tunnel}${n}`}else if(!/^[a-z][a-z0-9+.-]*:\/\//i.test(n)){let r=e.headers.get("host");if(!r)throw new Jt(400,"no host");n=`http://${r}${n}`}for(let r of _d)e.headers.delete(r);try{let r=e.method==="GET"||e.method==="HEAD"||e.body.length===0?void 0:e.body,a=await this.fetch(n,{method:e.method,headers:e.headers,body:r}),s=new Uint8Array(await a.arrayBuffer()),i=[];for(let[l,d]of a.headers)!_d.has(l)&&l!=="content-encoding"&&i.push([l,d]);let c=a.headers.get("content-length"),o=a.type!=="cors"&&!a.headers.has("content-encoding"),u=e.method!=="HEAD"?void 0:o&&/^\d+$/.test(c??"")?c:null;return this.reply(a.status,a.statusText,i,s,e.close,u)}catch(r){let a=[r?.message,r?.cause?.message].filter(Boolean).join(": ");return this.reply(502,"Bad Gateway",[],new TextEncoder().encode(`Bad Gateway: ${a||r}`),e.close)}}connect(e){let n=pg.exec(e.target);if(this.tunnel||!n||Number(n[2])<1||Number(n[2])>65535)throw new Jt(400,"bad CONNECT");return this.tunnel=n[2]==="443"?n[1]:e.target,this.b.peer?.push(Dl(`HTTP/1.1 200 Connection Established\r
|
|
12
12
|
\r
|
|
13
13
|
`)),!0}reply(e,n,r,a,s,i){let c=this.b.peer;if(!c)return!1;let o=e===204||e===304,u=[`HTTP/1.1 ${e} ${n}`];for(let[d,f]of r)u.push(`${d}: ${f.replace(/[\r\n]+/g," ")}`);!o&&i!==null&&u.push(`Content-Length: ${i??a.length}`),s&&u.push("Connection: close");let l=Dl(u.join(`\r
|
|
14
14
|
`)+`\r
|
|
15
15
|
\r
|
|
16
|
-
`);return c.push(l),o||c.push(a),!s}};var dn=1,mn=4,Or=8,hn=16,Is=32,yg=1,ks=2,vg=9,xg=11,Di=13,Cn=22,As=32,Zl=92,Wl=95,jg=97,Fr=98,xs=99,_l=101,wg=103,Ri=104,Ig=105,kg=106,En=107,Xl=110,Ht=111,ql=113,Pi=115,Xd=90,Ag={[yg]:"Operation not permitted",[ks]:"No such file or directory",[vg]:"Bad file descriptor",19:"No such device",[xg]:"Resource temporarily unavailable",[Di]:"Permission denied",[Cn]:"Invalid argument",[As]:"Broken pipe",[Xd]:"Message too long",[Zl]:"Protocol not available",[Wl]:"Operation not supported",[jg]:"Address family not supported by protocol",[Fr]:"Address already in use",[xs]:"Cannot assign requested address",[_l]:"Network is unreachable",[wg]:"Software caused connection abort",[Ri]:"Connection reset by peer",[Ig]:"No buffer space available",[kg]:"Transport endpoint is already connected",[En]:"Transport endpoint is not connected",[Xl]:"Connection timed out",[Ht]:"Connection refused",[ql]:"No route to host",[Pi]:"Operation now in progress"};function pa(t){return Ag[t]??`Unknown error ${t}`}var Hl=1<<20,Sg=65507,Yl=212992,zt=class{fd=-1;kind;blocking=!0;local=null;remote=null;listening=!1;connecting=!1;connected=!1;closed=!1;preclosed=!1;eof=!1;shutRd=!1;shutWr=!1;error=0;rx=[];rxBytes=0;dgrams=[];backlog=[];maxBacklog=0;wblocked=!1;counter=0;options=new Map;unix=!1;localPath="";remotePath="";pipe=!1;peer=null;groups=new Set;impl=null;waiters=new Set;watchers=new Set;constructor(e){this.kind=e}get stream(){return this.kind==="stream"}option(e,n,r){return this.options.get(e<<16|n)??r}setOption(e,n,r){this.options.set(e<<16|n,r)}poll(){if(this.closed)return Is;if(this.kind==="epoll")return this.impl.ready()?dn:0;if(this.kind==="event")return mn|(this.counter>0?dn:0);let e=this.error?Or:0;return this.kind==="dgram"?e|mn|(this.dgrams.length>0?dn:0):this.listening?e|(this.backlog.length>0?dn:0):this.connecting?e:this.connected?((this.rxBytes>0||this.eof||this.shutRd&&!this.pipe)&&(e|=dn),!this.shutWr&&!this.wblocked&&(e|=mn),this.pipe&&this.shutRd&&!this.peer&&(e|=Or),(this.eof||this.shutRd)&&this.shutWr&&(e|=hn),e):e|mn|hn}notify(){if(this.waiters.size>0){let e=[...this.waiters];this.waiters.clear();for(let n of e)n()}for(let e of this.watchers)e()}push(e){e.length!==0&&(this.rx.push(e),this.rxBytes+=e.length,this.notify())}take(e,n,r){let a=0;for(;a<r&&this.rx.length>0;){let s=this.rx[0],i=Math.min(r-a,s.length);e.set(s.subarray(0,i),n+a),a+=i,i===s.length?this.rx.shift():this.rx[0]=s.subarray(i)}return this.rxBytes-=a,a>0&&this.drained(),a}drained(){let e=this.peer;e&&e.wblocked&&this.rxBytes<Hl&&(e.wblocked=!1,e.notify());let n=this.impl?.resume;n&&this.rxBytes<Hl&&n()}endOfFile(){this.eof=!0,this.notify()}fail(e){this.error=e,this.notify()}},zl=class{socks=new Map};function lt(t){let e=t.get("socks");return e||t.set("socks",e=new zl),e.socks}function qd(t,e,n){let r=lt(t),a=r.get(n);return a?(r.delete(n),a.closed=!0,a.kind==="epoll"?a.impl.dispose():a.pipe?ys(a):a.kind!=="event"&&e.close(a),a.notify(),!0):!1}function Ss(t,e){let n=t.peer;return!n||n.closed||t.shutWr?As:(n.shutRd||(n.push(e),n.rxBytes>=Hl&&(t.wblocked=!0)),0)}function ys(t,e=!1){let n=t.peer;n&&(n.peer=null,e&&(n.error=Ri),(!t.shutWr||e)&&n.endOfFile(),n.wblocked=!1,n.notify())}function Kl(){let t=new zt("stream"),e=new zt("stream");return t.pipe=e.pipe=!0,t.connected=e.connected=!0,t.shutWr=!0,e.shutRd=!0,t.peer=e,e.peer=t,[t,e]}function Yd(t,e){let n=lt(t).get(e);n&&(n.preclosed=!0,n.notify())}var Zd=t=>(t[0]&240)===224,vs=t=>`${t[0]}.${t[1]}.${t[2]}.${t[3]}`,ba=t=>t[0]===127,Mt=t=>t[0]===0&&t[1]===0&&t[2]===0&&t[3]===0,js=(t,e)=>t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3],Jg=new Uint8Array(4),Wd=4096,Vl=(t,e)=>Mt(t)||Mt(e)||js(t,e);function Ui(t){let e=t?/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(t):null;return e&&e.slice(1).every(n=>+n<256)?Uint8Array.of(+e[1],+e[2],+e[3],+e[4]):null}var Gl={name:"lo",index:1,up:!0,loopback:!0,p2p:!1,multicast:!1,mtu:65536,mac:null,addrs:[{addr:Uint8Array.of(127,0,0,1),prefix:8,broadcast:null}]},ws=class{bound=[];wild=new WeakSet;waiting=new Map;nextPort=49152;extra;fetch;constructor(e=null,n=null){this.extra=e&&!ba(e)&&!Mt(e)?e:null,this.fetch=n}hostName(){return"localhost"}interfaces(){if(!this.extra)return[Gl];let e={...Gl,name:"eth0",index:2,loopback:!1,multicast:!0,mtu:1500,addrs:[{addr:this.extra,prefix:24,broadcast:null}]};return[Gl,e]}local(e){return ba(e)||Mt(e)||this.extra!==null&&js(e,this.extra)}async lookup(e){return e==="localhost"||e==="localhost.localdomain"?[Uint8Array.of(127,0,0,1)]:null}async lookupAddr(e){return ba(e)?"localhost":null}free(e,n){for(let r of this.bound){let a=this.wild.has(r)?Jg:r.local.addr;if(r===n||r.local.port!==e.port||r.kind!==n.kind||!Vl(a,e.addr)||n.option(1,15,0)&&r.option(1,15,0))continue;let s=n.option(1,2,0)&&r.option(1,2,0);if(n.stream?!s||r.listening:!s)return!1}return!0}ephemeral(){for(let e=0;e<28e3;e++){let n=this.nextPort;if(this.nextPort=this.nextPort>=60999?32768:this.nextPort+1,!this.bound.some(r=>r.local.port===n))return n}return 0}bind(e,n){if(!this.local(n.addr))return xs;let r=n.port||this.ephemeral();if(r===0)return Fr;let a={addr:n.addr.slice(),port:r};return this.free(a,e)?(e.local=a,Mt(a.addr)&&this.wild.add(e),this.bound.push(e),0):Fr}listen(e,n){return e.listening=!0,e.maxBacklog=n<0?Wd:Math.min(n,Wd),0}autobind(e,n,r=!1){if(e.local){r&&Mt(e.local.addr)&&(e.local={addr:n.slice(),port:e.local.port});return}let a=this.ephemeral();e.local={addr:Mt(n)?Uint8Array.of(127,0,0,1):n.slice(),port:a},this.bound.push(e)}connect(e,n){if(!this.local(n.addr))return _l;let r=Mt(n.addr)?Uint8Array.of(127,0,0,1):n.addr;if(!e.stream)return this.autobind(e,r,!0),e.remote={addr:r.slice(),port:n.port},e.connected=!0,0;let a=this.bound.find(i=>i.listening&&i.local.port===n.port&&Vl(i.local.addr,r)),s=!a&&this.fetch!==null&&n.port===Ei&&vs(r)===Ci;if(!a&&!s)return e.blocking?Ht:(e.connecting=!0,queueMicrotask(()=>{e.connecting=!1,e.fail(Ht)}),Pi);if(this.autobind(e,r,!0),!a)return zd(this.pair(e,r,n.port),this.fetch),this.established(e);if(a.backlog.length>a.maxBacklog){e.connecting=!0;let i=this.waiting.get(a);return i?i.push({s:e,to:r}):this.waiting.set(a,[{s:e,to:r}]),Pi}return this.enqueue(a,e,r),this.established(e)}pair(e,n,r){let a=new zt("stream");return a.local={addr:n.slice(),port:r},a.remote={addr:e.local.addr.slice(),port:e.local.port},a.connected=!0,a.peer=e,e.peer=a,e.remote={addr:n.slice(),port:r},a}enqueue(e,n,r){e.backlog.push(this.pair(n,r,e.local.port)),e.notify()}accepted(e){let n=this.waiting.get(e);for(;n&&n.length>0&&e.backlog.length<=e.maxBacklog;){let{s:r,to:a}=n.shift();r.closed||r.preclosed||(this.enqueue(e,r,a),r.connecting=!1,r.connected=!0,r.notify())}}established(e){return e.blocking?(e.connected=!0,0):(e.connecting=!0,queueMicrotask(()=>{e.connecting=!1,e.connected=!0,e.notify()}),Pi)}disconnect(e){return e.remote=null,e.connected=!1,0}write(e,n){return Ss(e,n)}send(e,n,r){let a=r??e.remote;if(!a)return En;if(n.length>Sg)return Xd;if(Zd(a.addr))return this.multicast(e,n,a);if(!this.local(a.addr))return _l;let s=Mt(a.addr)?Uint8Array.of(127,0,0,1):a.addr;this.autobind(e,s);let i={addr:Mt(e.local.addr)?s.slice():e.local.addr.slice(),port:e.local.port},c=!1;for(let o of this.bound)o.kind!=="dgram"||o.closed||o.local.port!==a.port||!Vl(o.local.addr,s)||o.remote&&!(o.remote.port===i.port&&js(o.remote.addr,i.addr))||(c=!0,this.deliver(o,i,n));return!c&&e.connected&&e.fail(Ht),0}deliver(e,n,r){e.rxBytes+r.length>e.option(1,8,Yl)||(e.rxBytes+=r.length,e.dgrams.push({from:n,data:r.slice()}),e.notify())}multicast(e,n,r){this.autobind(e,Uint8Array.of(127,0,0,1));let a={addr:Uint8Array.of(127,0,0,1),port:e.local.port},s=vs(r.addr);for(let i of this.bound)i.kind!=="dgram"||i.closed||i.local.port!==r.port||!i.groups.has(s)||i===e&&e.option(0,34,1)===0||this.deliver(i,a,n);return 0}membership(e,n,r){if(!Zd(r))return Cn;let a=vs(r);return(n?e.groups.has(a):!e.groups.has(a))?n?Fr:xs:(n?e.groups.add(a):e.groups.delete(a),0)}shutdown(e,n){if(n!==1&&(e.shutRd=!0),n!==0){e.shutWr=!0;let r=e.peer;r&&r.endOfFile()}e.notify()}setOption(){}close(e){let n=this.bound.indexOf(e);n>=0&&this.bound.splice(n,1);for(let r of e.backlog)ys(r,!0);e.backlog=[];for(let r of this.waiting.get(e)??[])r.s.connecting=!1,r.s.fail(Ht);this.waiting.delete(e);for(let r of this.waiting.values()){let a=r.findIndex(s=>s.s===e);a>=0&&r.splice(a,1)}for(let[r,a]of this.unixBound)a===e&&this.unixBound.delete(r);ys(e,e.stream&&!e.pipe&&(e.option(1,13,-1)===0||e.rxBytes>0))}hostUnix=!1;unixBound=new Map;bindUnix(e,n){return this.unixBound.set(n,e),e.localPath=n,0}connectUnix(e,n){let r=this.unixBound.get(n);if(!r||!r.listening)return Ht;let a=new zt("stream");return a.unix=!0,a.localPath=r.localPath,a.connected=!0,a.peer=e,e.peer=a,e.remotePath=r.localPath,r.backlog.push(a),r.notify(),this.established(e)}};var va=class{path;pos=0;writable;contents;constructor(e,n,r,a){this.path=e,this.contents=a??{data:n,size:n.length,dirty:!1},this.writable=r}get data(){return this.contents.data}set data(e){this.contents.data=e}get size(){return this.contents.size}set size(e){this.contents.size=e}get dirty(){return this.contents.dirty}set dirty(e){this.contents.dirty=e}read(e,n,r){if(this.pos>=this.size)return-1;let a=Math.min(r,this.size-this.pos);return e.set(this.data.subarray(this.pos,this.pos+a),n),this.pos+=a,a}write(e){this.pos>this.size&&this.data.fill(0,this.size,Math.min(this.pos,this.data.length));let n=this.pos+e.length;if(n>this.data.length){let r=new Uint8Array(Math.max(n,this.data.length*2,64));r.set(this.data.subarray(0,this.size)),this.data=r}this.data.set(e,this.pos),this.pos=n,n>this.size&&(this.size=n),this.dirty=!0}setLength(e){if(e>this.data.length){let n=new Uint8Array(e);n.set(this.data.subarray(0,this.size)),this.data=n}else e>this.size&&this.data.fill(0,this.size,e);this.size=e,this.pos>e&&(this.pos=e),this.dirty=!0}},ec=class extends va{constructor(e){super(e,new Uint8Array(0),!0)}read(e,n,r){if(this.path==="/dev/null")return-1;let a=e.subarray(n,n+r);if(this.path==="/dev/zero")a.fill(0);else for(let s=0;s<a.length;s+=65536)crypto.getRandomValues(a.subarray(s,s+65536));return a.length}write(e){}setLength(e){}},tc=class extends va{vfs;constructor(e,n,r){super(e,new Uint8Array(0),!1),this.size=n,this.vfs=r}read(e,n,r){if(this.pos>=this.size)return-1;let a=Math.min(r,this.size-this.pos),s=this.vfs.readRange(this.path,this.pos,a);if(!s||s.length<a)throw new A("java/io/IOException",`cannot read ${this.path}`);return e.set(s.subarray(0,a),n),this.pos+=a,a}},Mg=262144;function bn(t){let e=t.vm.state.get("fds");return e||t.vm.state.set("fds",e={next:3,files:new Map}),e}function nc(t){let e=t.replace(/\/+$/,"").split("/").pop();return e==="."||e===".."}function Ne(t,e){return Pe(e.startsWith("/")?e:`${t.vm.opts.cwd??"/"}/${e}`)}function ga(t,e="No such file or directory"){throw new A("java/io/FileNotFoundException",`${t} (${e})`)}function Lr(t,e,n,r,a){let s=t.vm.fs,i=Ne(t,e);Js(t,i);let c=s.stat(i);c?.dir&&ga(e,"Is a directory");let o=c?[...bn(t).files.values()].find(m=>m.path===i&&m.constructor===va)?.contents:void 0;if(c?.device||c&&!o&&!n&&c.size>=Mg&&s.canReadRange(i)){let m=bn(t);return m.files.set(m.next,c.device?new ec(i):new tc(i,c.size,s)),m.next++}n&&s.denied(i)&&ga(e,"Permission denied");let u;c?(n&&!s.writable(i)&&ga(e,"Read-only file system"),o?u=o.data:r?u=new Uint8Array(0):u=s.read(i)??ga(e,"Operation not supported")):(n||ga(e),s.write(i,new Uint8Array(0))||ga(e,s.writable(i)?"No such file or directory":"Read-only file system"),u=new Uint8Array(0));let l=new va(i,u,n,o);r&&c&&l.setLength(0),a&&(l.pos=l.size);let d=bn(t),f=d.next++;return d.files.set(f,l),f}function Js(t,e){for(let n of bn(t).files.values())n.path===e&&Nr(t,n)}function Vi(t,e,n){return Js(t,e),t.vm.fs.setMtime(e,n)}function Re(t,e){let n=bn(t).files.get(e);if(!n)throw new A("java/io/IOException","Stream Closed");return n}function Nr(t,e){if(e.dirty&&e.writable&&e.path){let n=e.data.slice(0,e.size),r=t.vm.fs.write(e.path,n),a=0;!r&&t.vm.fs.chmod(e.path,s=>(a=s)|128)&&(r=t.vm.fs.write(e.path,n),t.vm.fs.chmod(e.path,()=>a)),r&&(e.dirty=!1)}}function tm(t){return bn(t).next++}function sr(t,e){if(qd(t.vm.state,t.vm.net,e))return;let n=bn(t),r=n.files.get(e);r&&(Nr(t,r),n.files.delete(e),r.writable&&r.path&&t.vm.opts.fileClosed?.(r.path))}function rc(t,e,n){let r=[...bn(t).files.values()],a=(i,c)=>i.path===c||i.path.startsWith(c+"/"),s=r.filter(i=>a(i,e));for(let i of s)Nr(t,i);if(!t.vm.fs.rename(e,n))return!1;for(let i of r)!s.includes(i)&&a(i,n)&&(i.path="");for(let i of s)i.path=n+i.path.slice(e.length);return!0}function Gi(t,e){if(!t.vm.fs.remove(e))return!1;for(let n of bn(t).files.values())n.path===e&&(n.path="");return!0}function Ze(t,e,n){let r=t.vm.getField(e,n,"fd");return t.vm.getField(r,"java/io/FileDescriptor","fd")}function Ql(t,e,n,r){let a=t.vm.getField(e,n,"fd");t.vm.setField(a,"java/io/FileDescriptor","fd",r)}function Kd(t,e,n){if(e===1)t.vm.opts.stdout(n.slice());else if(e===2)t.vm.opts.stderr(n.slice());else{let r=Re(t,e);if(!r.writable)throw new A("java/io/IOException","Bad file descriptor");r.write(n)}}function*Qd(t,e,n,r){let a=t.vm.state.get("stdin");for(a||t.vm.state.set("stdin",a={buf:new Uint8Array(0),eof:!t.vm.opts.stdin});a.buf.length===0&&!a.eof;){let i=yield t.block(t.vm.opts.stdin());i===null?a.eof=!0:a.buf=i}if(a.buf.length===0)return-1;let s=Math.min(r,a.buf.length);return e.set(a.buf.subarray(0,s),n),a.buf=a.buf.subarray(s),s}function nm(t,e){let n=t.vm.fs.stat(Ne(t,$t(t,e)));return n?1|(n.dir?4:n.device?0:2):0}function em(t,e,n){return t.vm.fs.chmod(Ne(t,$t(t,e)),n)??nm(t,e)!==0}function $t(t,e){return t.vm.jsString(t.vm.getField(e,"java/io/File","path"))}var ya="java/io/FileOutputStream",et="java/io/FileInputStream",Le="java/io/RandomAccessFile",tt="java/io/UnixFileSystem",rm={"java/io/ObjectStreamClass.initNative()V":()=>{},"java/io/ObjectStreamClass.hasStaticInitializer(Ljava/lang/Class;)Z":(t,[e])=>t.vm.classOf(e).methodMap.has("<clinit>()V")?1:0,"java/io/FileDescriptor.getHandle(I)J":()=>-1n,"java/io/FileDescriptor.getAppend(I)Z":()=>0,"java/io/FileDescriptor.sync0()V":(t,[e])=>{let n=t.vm.getField(e,"java/io/FileDescriptor","fd"),r=bn(t).files.get(n);r&&Nr(t,r)},"java/io/FileDescriptor.close0()V":(t,[e])=>{let n=t.vm.getField(e,"java/io/FileDescriptor","fd");n>2&&sr(t,n),t.vm.setField(e,"java/io/FileDescriptor","fd",-1)},[`${ya}.open0(Ljava/lang/String;Z)V`]:(t,[e,n,r])=>Ql(t,e,ya,Lr(t,t.vm.jsString(n),!0,!r,r===1)),[`${ya}.writeBytes([BIIZ)V`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");Kd(t,Ze(t,e,ya),me(s,r,a))},[`${ya}.write(IZ)V`]:(t,[e,n])=>Kd(t,Ze(t,e,ya),Uint8Array.of(n&255)),[`${et}.open0(Ljava/lang/String;)V`]:(t,[e,n])=>Ql(t,e,et,Lr(t,t.vm.jsString(n),!1,!1,!1)),[`${et}.readBytes([BII)I`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");if(a===0)return 0;let i=Ze(t,e,et);return i===0?Qd(t,me(s),r,a):Re(t,i).read(me(s),r,a)},[`${et}.read0()I`]:function*(t,[e]){let n=Ze(t,e,et),r=new Uint8Array(1);return(n===0?yield*Qd(t,r,0,1):Re(t,n).read(r,0,1))<=0?-1:r[0]},[`${et}.length0()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,et)).size),[`${et}.position0()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,et)).pos),[`${et}.skip0(J)J`]:(t,[e,n])=>{let r=Re(t,Ze(t,e,et));if(r.pos+Number(n)<0)throw new A("java/io/IOException","Invalid argument");return r.pos+=Number(n),n},[`${et}.available0()I`]:(t,[e])=>{let n=Ze(t,e,et);if(n===0)return t.vm.state.get("stdin")?.buf.length??0;let r=Re(t,n);return Math.min(Math.max(0,r.size-r.pos),2147483647)},[`${et}.isRegularFile0(Ljava/io/FileDescriptor;)Z`]:(t,[,e])=>t.vm.getField(e,"java/io/FileDescriptor","fd")>2,[`${Le}.open0(Ljava/lang/String;I)V`]:(t,[e,n,r])=>Ql(t,e,Le,Lr(t,t.vm.jsString(n),(r&2)!==0,!1,!1)),[`${Le}.read0()I`]:(t,[e])=>{let n=new Uint8Array(1);return Re(t,Ze(t,e,Le)).read(n,0,1)<=0?-1:n[0]},[`${Le}.readBytes0([BII)I`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");return a===0?0:Re(t,Ze(t,e,Le)).read(me(s),r,a)},[`${Le}.write0(I)V`]:(t,[e,n])=>Re(t,Ze(t,e,Le)).write(Uint8Array.of(n&255)),[`${Le}.writeBytes0([BII)V`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");Re(t,Ze(t,e,Le)).write(me(s,r,a))},[`${Le}.getFilePointer()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,Le)).pos),[`${Le}.seek0(J)V`]:(t,[e,n])=>{Re(t,Ze(t,e,Le)).pos=Number(n)},[`${Le}.length0()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,Le)).size),[`${Le}.setLength0(J)V`]:(t,[e,n])=>{let r=Re(t,Ze(t,e,Le));if(!r.writable)throw new A("java/io/IOException","Invalid argument");r.setLength(Number(n))},[`${tt}.canonicalize0(Ljava/lang/String;)Ljava/lang/String;`]:(t,[,e])=>t.vm.str(Ne(t,t.vm.jsString(e))),[`${tt}.getBooleanAttributes0(Ljava/io/File;)I`]:(t,[,e])=>nm(t,e),[`${tt}.checkAccess0(Ljava/io/File;I)Z`]:(t,[,e,n])=>{let r=Ne(t,$t(t,e));return!!t.vm.fs.stat(r)&&t.vm.fs.access(r,n)},[`${tt}.getLastModifiedTime0(Ljava/io/File;)J`]:(t,[,e])=>BigInt(Math.floor(t.vm.fs.stat(Ne(t,$t(t,e)))?.mtime??0)),[`${tt}.getLength0(Ljava/io/File;)J`]:(t,[,e])=>{let n=Ne(t,$t(t,e));return Js(t,n),BigInt(t.vm.fs.stat(n)?.size??0)},[`${tt}.setPermission0(Ljava/io/File;IZZ)Z`]:(t,[,e,n,r,a])=>{let s=a?n<<6:n*73;return em(t,e,i=>r?i|s:i&~s)},[`${tt}.createFileExclusively0(Ljava/lang/String;)Z`]:(t,[,e])=>{let n=Ne(t,t.vm.jsString(e));if(t.vm.fs.stat(n))return 0;if(t.vm.fs.denied(n))throw new A("java/io/IOException","Permission denied");if(!t.vm.fs.write(n,new Uint8Array(0)))throw new A("java/io/IOException","No such file or directory");return 1},[`${tt}.delete0(Ljava/io/File;)Z`]:(t,[,e])=>!nc($t(t,e))&&Gi(t,Ne(t,$t(t,e))),[`${tt}.list0(Ljava/io/File;)[Ljava/lang/String;`]:(t,[,e])=>{let n=t.vm.fs.list(Ne(t,$t(t,e)));return n?t.vm.newObjectArray("java/lang/String",n.map(r=>t.vm.str(r))):null},[`${tt}.createDirectory0(Ljava/io/File;)Z`]:(t,[,e])=>t.vm.fs.mkdir(Ne(t,$t(t,e))),[`${tt}.rename0(Ljava/io/File;Ljava/io/File;)Z`]:(t,[,e,n])=>rc(t,Ne(t,$t(t,e)),Ne(t,$t(t,n))),[`${tt}.setLastModifiedTime0(Ljava/io/File;J)Z`]:(t,[,e,n])=>Vi(t,Ne(t,$t(t,e)),Number(n)),[`${tt}.setReadOnly0(Ljava/io/File;)Z`]:(t,[,e])=>em(t,e,n=>n&-147),[`${tt}.getSpace0(Ljava/io/File;I)J`]:()=>0n,[`${tt}.getNameMax0(Ljava/lang/String;)J`]:()=>255n};var xa="java/lang/ClassLoader",$g=2,Tg=1;function _i(t,e){return e===null?null:on(t,e).replace(/\./g,"/")}function*am(t,e,n,r,a){let s=yield*t.vm.defineClassGen(t,e,r,_i(t,n),a);return t.vm.mirror(s)}function Fg(t,e,n,r,a){let s=t.vm,i=on(t,s.getField(e,"java/lang/Module","name"));e.x={version:on(t,n),location:on(t,r)};let c=s.getField(e,"java/lang/Module","loader"),o=a.a.map(u=>s.jsString(u).replace(/\./g,"/"));if(c===null){i&&s.bootModules.set(i,e);let u=new Set(o);for(let l of[...s.boot.values(),...s.prims.values()]){let d=l;for(;d.component;)d=d.component;l.mirror&&(d.prim?i==="java.base":u.has(d.packageName))&&s.setField(l.mirror,"java/lang/Class","module",e)}}else{let u=s.loaderData(c).modules;for(let l of o)u.set(l,e)}}var sm={"java/lang/Module.defineModule0(Ljava/lang/Module;ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V":(t,[e,,n,r,a])=>Fg(t,e,n,r,a),"java/lang/Module.addReads0(Ljava/lang/Module;Ljava/lang/Module;)V":()=>{},"java/lang/Module.addExports0(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V":()=>{},"java/lang/Module.addExportsToAll0(Ljava/lang/Module;Ljava/lang/String;)V":()=>{},"java/lang/Module.addExportsToAllUnnamed0(Ljava/lang/Module;Ljava/lang/String;)V":()=>{},[`${xa}.defineClass1(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e,n,r,a,s,i])=>am(t,e,n,me(r,a,s).slice(),i),[`${xa}.defineClass2(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e,n,r,a,s,i])=>{let c=t.vm,o=c.getField(r,"java/nio/ByteBuffer","hb"),u;if(o){let l=c.getField(r,"java/nio/ByteBuffer","offset");u=me(o,l+a,s).slice()}else{let l=Number(c.getField(r,"java/nio/Buffer","address"));u=c.mem.u8.slice(l+a,l+a+s)}return am(t,e,n,u,i)},[`${xa}.defineClass0(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/String;[BIILjava/security/ProtectionDomain;ZILjava/lang/Object;)Ljava/lang/Class;`]:function*(t,[e,n,r,a,s,i,c,o,u,l]){let d=t.vm,f=(u&$g)!==0,m=yield*d.defineClassGen(t,e,me(a,s,i).slice(),_i(t,r),c,f);u&Tg&&(m.nestHost=yield*rr(t,d.classOf(n)));let p=d.mirror(m);return d.setField(p,"java/lang/Class","classData",l),o&&m.state!==z&&(yield*d.initGen(t,m)),p},[`${xa}.findBootstrapClass(Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e])=>{let n=_i(t,e);if(n.startsWith("["))return null;let r=t.vm.loadBoot(n);return r?t.vm.mirror(r):null},[`${xa}.findLoadedClass0(Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e,n])=>{let r=t.vm.findLoaded(e,_i(t,n));return r?t.vm.mirror(r):null},[`${xa}.retrieveDirectives()Ljava/lang/AssertionStatusDirectives;`]:function*(t){let e=t.vm,n=e.loadBoot("java/lang/AssertionStatusDirectives");n.state!==z&&(yield*e.initGen(t,n));let r=e.newObject(n),a="java/lang/AssertionStatusDirectives",s=e.opts.assertions,i=o=>e.newObjectArray("java/lang/String",o.map(([u])=>e.str(u))),c=o=>{let u=e.newArray(e.primClass("Z"),o.length);return o.forEach(([,l],d)=>u.a[d]=l?1:0),u};return e.setField(r,a,"classes",i(s?.classes??[])),e.setField(r,a,"classEnabled",c(s?.classes??[])),e.setField(r,a,"packages",i(s?.packages??[])),e.setField(r,a,"packageEnabled",c(s?.packages??[])),e.setField(r,a,"deflt",s?.user?1:0),r}};function*sc(t,e,n,...r){let a=t.vm;e.state!==z&&(yield*a.initGen(t,e));let s=a.newObject(e);return yield t.call(e.methodMap.get(`<init>${n}`),s,...r),s}function*Cr(t,e,n){let r=t.vm,a=r.newArray(r.primClass("B"),4);return a.a.set(n),yield*sc(t,r.loadBoot("java/net/Inet4Address"),"(Ljava/lang/String;[B)V",e===null?null:r.str(e),a)}function*um(t,e){let n=yield*Cr(t,null,e.addr);return yield*sc(t,t.vm.loadBoot("java/net/InetSocketAddress"),"(Ljava/net/InetAddress;I)V",n,e.port)}function Ms(t,e){if(e.cls.name==="java/net/Inet6Address")throw new A("java/net/SocketException","Protocol family unavailable");let n=t.vm.getField(e,"java/net/InetAddress","holder"),r=t.vm.getField(n,"java/net/InetAddress$InetAddressHolder","address");return Uint8Array.of(r>>>24,r>>>16&255,r>>>8&255,r&255)}function im(t){return t.vm.opts.hostName??t.vm.net.hostName()}function*om(t,e){let n=e===t.vm.opts.hostName?[Ui(e)??Uint8Array.of(127,0,0,1)]:yield t.block(t.vm.net.lookup(e));if(!n)throw new A("java/net/UnknownHostException",`${e}: Name or service not known`);let r=[];for(let a of n)r.push(yield*Cr(t,e,a));return t.vm.newObjectArray("java/net/InetAddress",r)}function*lm(t,e){let n=e.a,r=Uint8Array.from(n),a=ba(r)?"localhost":yield t.block(t.vm.net.lookupAddr(r));if(!a)throw new A("java/net/UnknownHostException");return t.vm.str(a)}function Br(t){return t.vm.net.interfaces()}function ac(t,e){return t.addrs.some(n=>js(n.addr,e))}function*Hi(t,e){let n=t.vm,r=n.loadBoot("java/net/NetworkInterface"),a=[],s=[],i=n.loadBoot("java/net/InterfaceAddress");i.state!==z&&(yield*n.initGen(t,i));for(let o of e.addrs){let u=yield*Cr(t,null,o.addr);a.push(u);let l=n.newObject(i);n.setField(l,"java/net/InterfaceAddress","address",u),o.broadcast&&n.setField(l,"java/net/InterfaceAddress","broadcast",yield*Cr(t,null,o.broadcast)),n.setField(l,"java/net/InterfaceAddress","maskLength",o.prefix),s.push(l)}let c=yield*sc(t,r,"(Ljava/lang/String;I[Ljava/net/InetAddress;)V",n.str(e.name),e.index,n.newObjectArray("java/net/InetAddress",a));return n.setField(c,"java/net/NetworkInterface","displayName",n.str(e.name)),n.setField(c,"java/net/NetworkInterface","bindings",n.newObjectArray("java/net/InterfaceAddress",s)),n.setField(c,"java/net/NetworkInterface","childs",n.newObjectArray("java/net/NetworkInterface",[])),c}function ja(t,e){if(!e)throw new A("java/lang/NullPointerException","network interface name is NULL");let n=t.vm.jsString(e),r=Br(t).find(a=>a.name===n);if(!r)throw new A("java/net/SocketException","No such device");return r}var fm={"java/net/InetAddress.init()V":()=>{},"java/net/Inet4Address.init()V":()=>{},"java/net/Inet6Address.init()V":()=>{},"java/net/NetworkInterface.init()V":()=>{},"java/net/InetAddress.isIPv4Available()Z":()=>1,"java/net/InetAddress.isIPv6Supported()Z":()=>0,"java/net/NetworkInterface.getAll()[Ljava/net/NetworkInterface;":function*(t){let e=[];for(let n of Br(t))e.push(yield*Hi(t,n));return t.vm.newObjectArray("java/net/NetworkInterface",e)},"java/net/NetworkInterface.getByName0(Ljava/lang/String;)Ljava/net/NetworkInterface;":function*(t,[e]){if(!e)throw new A("java/lang/NullPointerException","network interface name is NULL");let n=t.vm.jsString(e),r=Br(t).find(a=>a.name===n);return r?yield*Hi(t,r):null},"java/net/NetworkInterface.getByIndex0(I)Ljava/net/NetworkInterface;":function*(t,[e]){let n=e>0?Br(t).find(r=>r.index===e):void 0;return n?yield*Hi(t,n):null},"java/net/NetworkInterface.getByInetAddress0(Ljava/net/InetAddress;)Ljava/net/NetworkInterface;":function*(t,[e]){let n=Ms(t,e),r=Br(t).find(a=>ac(a,n));return r?yield*Hi(t,r):null},"java/net/NetworkInterface.boundInetAddress0(Ljava/net/InetAddress;)Z":(t,[e])=>{let n=Ms(t,e);return Br(t).some(r=>ac(r,n))?1:0},"java/net/NetworkInterface.isUp0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).up?1:0,"java/net/NetworkInterface.isLoopback0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).loopback?1:0,"java/net/NetworkInterface.supportsMulticast0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).multicast?1:0,"java/net/NetworkInterface.isP2P0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).p2p?1:0,"java/net/NetworkInterface.getMTU0(Ljava/lang/String;I)I":(t,[e])=>ja(t,e).mtu,"java/net/NetworkInterface.getMacAddr0([BLjava/lang/String;I)[B":(t,[,e])=>{let n=ja(t,e).mac;if(!n)return null;let r=t.vm.newArray(t.vm.primClass("B"),n.length);return r.a.set(n),r},"java/net/Inet4AddressImpl.getLocalHostName()Ljava/lang/String;":t=>t.vm.str(im(t)),"java/net/Inet4AddressImpl.lookupAllHostAddr(Ljava/lang/String;)[Ljava/net/InetAddress;":(t,[,e])=>om(t,t.vm.jsString(e)),"java/net/Inet4AddressImpl.getHostByAddr([B)Ljava/lang/String;":(t,[,e])=>lm(t,e),"java/net/Inet4AddressImpl.isReachable0([BI[BI)Z":(t,[,e])=>cm(t,e),"java/net/Inet6AddressImpl.getLocalHostName()Ljava/lang/String;":t=>t.vm.str(im(t)),"java/net/Inet6AddressImpl.lookupAllHostAddr(Ljava/lang/String;I)[Ljava/net/InetAddress;":(t,[,e])=>om(t,t.vm.jsString(e)),"java/net/Inet6AddressImpl.getHostByAddr([B)Ljava/lang/String;":(t,[,e])=>lm(t,e),"java/net/Inet6AddressImpl.isReachable0([BII[BII)Z":(t,[,e])=>cm(t,e),"java/util/TimeZone.getSystemTimeZoneID(Ljava/lang/String;)Ljava/lang/String;":t=>{let e="UTC";try{e=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{}return t.vm.str(e)},"java/util/TimeZone.getSystemGMTOffsetID()Ljava/lang/String;":t=>{let e=-new Date().getTimezoneOffset(),n=Math.abs(e),r=a=>String(a).padStart(2,"0");return t.vm.str(`GMT${e<0?"-":"+"}${r(Math.floor(n/60))}:${r(n%60)}`)}};function cm(t,e){let n=Uint8Array.from(e.a);return ba(n)||!Mt(n)&&Br(t).some(r=>ac(r,n))?1:0}var Og=0,Je=1,Zt=2,ir=3,Dn=4,jt=5,Fs=6,dm=7,bm=8,pm=9,gm=10,ym=11,Ue=12,Zi=131071,Lg=1e6,ic=5,Ng=-2,Bg=-1,Ts=class extends Error{},$s=(t,e)=>t<<4|e,Pr=t=>t>>4,oc=t=>t&15,Pn=t=>t===Zt||t===Dn?2:t===Ue?0:1;function Cg(t,e){let n=oc(t),r=oc(e);return n!==r?(n===jt||n===Fs)&&(r===jt||r===Fs)?Pr(t)===Pr(e)?$s(Pr(t),jt):$s(Zi,jt):$s(Zi,Og):Pr(t)===Pr(e)?t:$s(Zi,n)}function Er(t){switch(t){case"Z":return bm;case"B":return pm;case"C":return gm;case"S":return ym;case"I":return Je;case"J":return Zt;case"F":return ir;case"D":return Dn;case"L":return jt;case"[":return Fs;default:return Ue}}function lc(t){let e=[];for(let n=1;t[n]!==")";){let r=n;for(;t[n]==="[";)n++;n=t[n]==="L"?t.indexOf(";",n)+1:n+1,e.push(t.slice(r,n))}return e}var mm=t=>lc(t).reduce((e,n)=>e+Pn(Er(n[0])),0),Eg={Z:"boolean",B:"byte",C:"char",S:"short",I:"int",J:"long",F:"float",D:"double"};function Pg(t){let e=0;for(;t[e]==="[";)e++;return(t[e]==="L"?t.slice(e+1,-1).replace(/\//g,"."):Eg[t[e]])+"[]".repeat(e)}function Dg(t){return t.replace(/(^|, )java\.lang\.(?=Object|String)/g,"$1")}function hm(t){let e=t.replace(/\//g,".");return e==="java.lang.Object"?"Object":e==="java.lang.String"?"String":e}var Rn=new Uint8Array(256).fill(1);for(let t of[16,18,21,22,23,24,25,54,55,56,57,58,169,188])Rn[t]=2;for(let t of[17,19,20,132,178,179,180,181,182,183,184,187,189,192,193,198,199])Rn[t]=3;for(let t=153;t<=168;t++)Rn[t]=3;Rn[185]=5;Rn[186]=5;Rn[197]=4;Rn[200]=5;Rn[201]=5;function Tt(t,e){return t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}function je(t,e){return t[e]<<8|t[e+1]}function zi(t,e){return je(t,e)<<16>>16}function Rg(t,e){let n=t[e];if(n===170){let r=e+4&-4;return r+12+(Tt(t,r+8)-Tt(t,r+4)+1)*4-e}if(n===171){let r=e+4&-4;return r+8+Tt(t,r+4)*8-e}return n===196?t[e+1]===132?6:4:Rn[n]}var Ia=new Int8Array(256),Dr=new Int8Array(256).fill(-1);function Z(t,e,n){Ia[t]=e,Dr[t]=n}function Wt(t,e,n,r){for(let a=0;a<e;a++)Z(t+a,n,typeof r=="number"?r:r(a))}var Wi=[Je,Zt,ir,Dn];Z(0,0,Ue);Z(1,0,jt);Wt(2,7,0,Je);Wt(9,2,0,Zt);Wt(11,3,0,ir);Wt(14,2,0,Dn);Wt(16,2,0,Je);Wt(21,5,0,t=>t===4?jt:Wi[t]);Wt(26,20,0,t=>t>=16?jt:Wi[t>>2]);Z(46,2,Je);Z(47,2,Zt);Z(48,2,ir);Z(49,2,Dn);Z(50,2,jt);Z(51,2,Je);Z(52,2,Je);Z(53,2,Je);Z(79,3,Ue);Z(80,4,Ue);Z(81,3,Ue);Z(82,4,Ue);Z(83,3,Ue);Z(84,3,Ue);Z(85,3,Ue);Z(86,3,Ue);Z(87,1,Ue);Z(88,2,Ue);Wt(96,20,0,t=>Wi[t&3]);for(let t=96;t<=115;t++)Ia[t]=2*Pn(Dr[t]);Wt(116,4,0,t=>Wi[t]);for(let t=116;t<=119;t++)Ia[t]=Pn(Dr[t]);Wt(120,6,0,t=>t&1?Zt:Je);for(let t=120;t<=125;t++)Ia[t]=1+Pn(Dr[t]);Wt(126,6,0,t=>t&1?Zt:Je);for(let t=126;t<=131;t++)Ia[t]=2*Pn(Dr[t]);Z(132,0,Ue);Z(133,1,Zt);Z(134,1,ir);Z(135,1,Dn);Z(136,2,Je);Z(137,2,ir);Z(138,2,Dn);Z(139,1,Je);Z(140,1,Zt);Z(141,1,Dn);Z(142,2,Je);Z(143,2,Zt);Z(144,2,ir);Z(145,1,pm);Z(146,1,gm);Z(147,1,ym);Z(148,4,Je);Z(149,2,Je);Z(150,2,Je);Z(151,4,Je);Z(152,4,Je);Z(187,0,jt);Z(188,1,Fs);Z(189,1,Fs);Z(190,1,Je);Z(193,1,bm);Z(194,1,Ue);Z(195,1,Ue);var wa=class{s;lo=0;hi=0;constructor(e){this.s=e?e.s.slice():[],e&&(this.lo=e.lo,this.hi=e.hi)}pushRaw(e){oc(e)!==Ue&&this.s.push(e)}push(e,n){let r=$s(e,n);this.pushRaw(r),Pn(n)===2&&this.pushRaw(r)}pop(e){if(e>this.s.length)throw new Ts;this.s.length-=e}at(e){if(e>=this.s.length)throw new Ts;return this.s[this.s.length-e-1]}merge(e){if(this.s.length!==e.s.length)throw new Ts;for(let n=this.s.length-1;n>=0;n--)this.s[n]=Cg(this.s[n],e.s[n]);this.lo|=e.lo,this.hi|=e.hi}setWritten(e){e>63||(e<32?this.lo|=1<<e:this.hi|=1<<e-32)}wasWritten(e){return e>63?!0:(e<32?this.lo&1<<e:this.hi&1<<e-32)!==0}},cc=class{m;c;cp;stacks;out="";entries=0;addedOne=!0;allProcessed=!1;constructor(e,n){this.m=e;let r=e.code;this.c=r.code,this.cp=e.cls.cf.cp;let a=this.c.length;this.stacks=new Array(a+1).fill(null),this.stacks[0]=new wa;for(let s of r.handlers)this.stacks[s.handler]||(this.stacks[s.handler]=new wa,this.stacks[s.handler].push(s.handler,jt));for(;!this.allProcessed&&this.addedOne;){this.allProcessed=!0,this.addedOne=!1;for(let s=0;s<a;){if(s+=this.step(s),n===s&&this.stacks[s]){this.allProcessed=!0;break}if(this.entries>Lg)return}}}merge(e,n){let r=this.stacks[e];r?n.merge(r):this.entries+=n.s.length,this.stacks[e]=new wa(n)}mergeTo(e,n){this.stacks[e]||(this.addedOne=!0),this.merge(e,n)}refDesc(e){return _(this.cp,this.cp[this.cp[e].b].b)}refName(e){return _(this.cp,this.cp[this.cp[e].b].a)}step(e){let n=this.c,r=Rg(n,e),a=this.stacks[e];if(!a)return this.allProcessed=!1,r;let s=new wa(a),i=-1,c=[],o=!1,u=n[e],l=e+1;if(u===196&&(u=n[e+1],l++),Dr[u]>=0)s.pop(Ia[u]),s.push(e,Dr[u]);else if(u>=54&&u<=78){let d,f;u<=58?(d=l!==e+1?je(n,e+2):n[e+1],f=u-54):(d=u-59&3,f=u-59>>2),s.setWritten(d),s.pop(f===1||f===3?2:1)}else switch(u){case 18:case 19:case 20:{let d=this.cp[u===18?n[l]:je(n,l)];d.tag===B.Integer?s.push(e,Je):d.tag===B.Long?s.push(e,Zt):d.tag===B.Float?s.push(e,ir):d.tag===B.Double?s.push(e,Dn):d.tag===B.Dynamic?s.push(e,Er(_(this.cp,this.cp[d.b].b)[0])):s.push(e,jt);break}case 89:s.pushRaw(s.at(0));break;case 90:{let d=s.at(0),f=s.at(1);s.pop(2),s.pushRaw(d),s.pushRaw(f),s.pushRaw(d);break}case 91:{let d=s.at(0),f=s.at(1),m=s.at(2);s.pop(3),s.pushRaw(d),s.pushRaw(m),s.pushRaw(f),s.pushRaw(d);break}case 92:s.pushRaw(s.at(1)),s.pushRaw(s.at(1));break;case 93:{let d=s.at(0),f=s.at(1),m=s.at(2);s.pop(3),s.pushRaw(f),s.pushRaw(d),s.pushRaw(m),s.pushRaw(f),s.pushRaw(d);break}case 94:{let d=s.at(0),f=s.at(1),m=s.at(2),p=s.at(3);s.pop(4),s.pushRaw(f),s.pushRaw(d),s.pushRaw(p),s.pushRaw(m),s.pushRaw(f),s.pushRaw(d);break}case 95:{let d=s.at(0),f=s.at(1);s.pop(2),s.pushRaw(d),s.pushRaw(f);break}case 153:case 154:case 155:case 156:case 157:case 158:case 198:case 199:s.pop(1),i=e+zi(n,l);break;case 159:case 160:case 161:case 162:case 163:case 164:case 165:case 166:s.pop(2),i=e+zi(n,l);break;case 167:i=e+zi(n,l),o=!0;break;case 200:i=e+Tt(n,l),o=!0;break;case 168:s.push(e,dm),i=e+zi(n,l),o=!0;break;case 201:s.push(e,dm),i=e+Tt(n,l),o=!0;break;case 169:o=!0;break;case 170:{s.pop(1);let d=l+3&-4;i=e+Tt(n,d);let f=Tt(n,d+4),m=Tt(n,d+8);for(let p=f;p<=m;p++)c.push(e+Tt(n,d+12+4*(p-f)));break}case 171:{s.pop(1);let d=l+3&-4;i=e+Tt(n,d);let f=Tt(n,d+4);for(let m=0;m<f;m++)c.push(e+Tt(n,d+12+8*m));break}case 172:case 174:case 176:case 191:s.pop(1),o=!0;break;case 173:case 175:s.pop(2),o=!0;break;case 177:o=!0;break;case 178:case 180:{u===180&&s.pop(1),s.push(e,Er(this.refDesc(je(n,l))[0]));break}case 179:case 181:{let d=Pn(Er(this.refDesc(je(n,l))[0]));s.pop(u===179?d:d+1);break}case 182:case 183:case 184:case 185:case 186:{let d=this.refDesc(je(n,l));u!==184&&u!==186&&s.pop(1),s.pop(mm(d)),s.push(e,Er(d[d.indexOf(")")+1]));break}case 192:break;case 197:s.pop(n[l+2]),s.push(e,jt);break;default:return this.allProcessed=!1,this.addedOne=!1,r}o||this.mergeTo(e+r,s),i!==-1&&this.mergeTo(i,s);for(let d of c)this.mergeTo(d,s);return r}nullSlot(e){let n=this.c,r=n[e],a=e+1;switch(r===196&&(r=n[e+1],a++),r){case 180:case 190:case 191:case 194:case 195:return 0;case 46:case 48:case 50:case 51:case 52:case 53:case 47:case 49:return 1;case 79:case 81:case 83:case 84:case 85:case 86:return 2;case 80:case 82:return 3;case 181:return Pn(Er(this.refDesc(je(n,a))[0]));case 182:case 183:case 185:return this.refName(je(n,a))==="<init>"?Ng:mm(this.refDesc(je(n,a)));default:return Bg}}methodName(e){let n=this.cp[e],r=this.refDesc(e),a=lc(r).map(Pg).join(", ");return`${hm(de(this.cp,n.a))}.${this.refName(e)}(${Dg(a)})`}localVar(e,n,r){let a=this.m,s=a.code.localVars;if(s)for(let o=je(s,0),u=2;o>0;o--,u+=10){let l=je(s,u);if(e>=l&&e<l+je(s,u+2)&&je(s,u+8)===n)return _(this.cp,je(s,u+4))}if(!a.isStatic&&n===0&&r)return"this";let i=a.isStatic?0:1,c=1;for(let o of lc(a.desc)){let u=Pn(Er(o[0]));if(n>=i&&n<i+u)return r?`<parameter${c}>`:`<local${n}>`;c++,i+=u}return`<local${n}>`}cause0(e,n,r,a=!1,s){if(r<=0)return!1;let i=this.stacks[e];if(!i)return!1;let c=i.at(n);if(Pr(c)===Zi)return!1;let o=this.c,u=Pr(c),l=o[u],d=u+1,f=!1;l===196&&(f=!0,l=o[u+1],d++);let m=l>=182&&l<=185;r===ic&&s!==void 0&&!m&&(this.out+=s);let p=-1;if(l>=26&&l<=29?p=l-26:l>=42&&l<=45?p=l-42:(l===21||l===25)&&(p=f?je(o,u+2):o[u+1]),p>=0)return this.out+=this.localVar(u,p,!i.wasWritten(p)),!0;switch(l){case 1:return this.out+="null",!0;case 2:return this.out+="-1",!0;case 3:case 4:case 5:case 6:case 7:case 8:return this.out+=String(l-3),!0;case 16:return this.out+=String(o[u+1]<<24>>24),!0;case 17:return this.out+=String(je(o,u+1)),!0;case 46:case 50:return this.cause0(u,1,r-1,a)||(this.out+="<array>"),this.out+="[",this.cause0(u,0,r,!0)||(this.out+="..."),this.out+="]",!0;case 178:{let b=je(o,d);return this.out+=`${hm(de(this.cp,this.cp[b].a))}.${this.refName(b)}`,!0}case 180:return this.cause0(u,0,r-1,a)&&(this.out+="."),this.out+=this.refName(je(o,d)),!0;case 182:case 183:case 184:case 185:return r===ic&&!a&&(this.out+=' because the return value of "'),this.out+=this.methodName(je(o,d)),!0;default:return!1}}cause(e,n){this.cause0(e,n,ic,!1,' because "')&&(this.out+='" is null')}failedAction(e){let n=this.c,r=n[e],a=e+1;r===196&&(r=n[e+1],a++);let s=["int","long","float","double","object","byte/boolean","char","short"];r>=46&&r<=53?this.out+=`Cannot load from ${s[r-46]} array`:r>=79&&r<=86?this.out+=`Cannot store to ${s[r-79]} array`:r===190?this.out+="Cannot read the array length":r===191?this.out+="Cannot throw exception":r===194?this.out+="Cannot enter synchronized block":r===195?this.out+="Cannot exit synchronized block":r===180?this.out+=`Cannot read field "${this.refName(je(n,a))}"`:r===181?this.out+=`Cannot assign field "${this.refName(je(n,a))}"`:this.out+=`Cannot invoke "${this.methodName(je(n,a))}"`}};function Ug(t,e){try{let n=new cc(t,e),r=n.nullSlot(e);return r<0?null:(n.failedAction(e),n.cause(e,r),n.out)}catch{return null}}var vm={"java/lang/NullPointerException.getExtendedNPEMessage()Ljava/lang/String;":(t,[e])=>{let n=t.vm.getField(e,"java/lang/Throwable","backtrace");if(!Array.isArray(n)||n.length===0)return null;let{m:r,pc:a}=n[0];if(r.isNative||!r.code||a<0||r.cls.name==="jdk/internal/reflect/DirectConstructorHandleAccessor$NativeAccessor")return null;let s=Ug(r,a);return s===null?null:t.vm.str(s)}};var xc="java/io/FileDescriptor",pc=-1,gn=-2,Rr=-3,Vg=17,or=9,Gg=71,gc=new WeakMap;function Vr(t,e,n){return new Promise(r=>{let a,s=c=>{e.waiters.delete(i),gc.delete(t),a!==void 0&&(clearTimeout(a),t.vm.timers.delete(a)),r(c)},i=()=>s("ready");e.waiters.add(i),gc.set(t,()=>s("signal")),n>=0&&(a=setTimeout(()=>s("timeout"),n),t.vm.timers.add(a))})}var uc=t=>{let e=Number(t);return e<-1?-1:Math.min(e,2147483647)};function pn(t,e){let n=t.vm,r=lt(n.state);return r.size===0&&!n.state.get("socksHooked")&&(n.state.set("socksHooked",!0),n.exited.then(()=>{for(let a of r.values())a.closed=!0;n.net.closeAll?.(),r.clear()})),e.fd=tm(t),r.set(e.fd,e),e.fd}function _g(t,e){return t.vm.getField(e,xc,"fd")}function Ur(t,e){return lt(t.vm.state).get(_g(t,e))}function te(t,e,n="java/net/SocketException"){let r=Ur(t,e);if(!r)throw new A(n,pa(or));return r}function we(t,e){let n="java/net/SocketException";switch(t){case Gg:n="java/net/ProtocolException";break;case Ht:case Xl:case En:n="java/net/ConnectException";break;case ql:n="java/net/NoRouteToHostException";break;case Fr:case xs:case Di:n="java/net/BindException";break}return new A(n,e?`${pa(t)} (${e})`:pa(t))}var nt=t=>new A("java/io/IOException",pa(t)),Hg=()=>new A("sun/net/ConnectionResetException","Connection reset");function fc(t,e,n){let r=lt(t.vm.state).get(e);if(!r)throw nt(or);if(r.kind==="event"){let a=r.counter>0?1:0;return r.counter=0,a}return r.take(new Uint8Array(n),0,n)}function*Os(t,e){return t instanceof Promise?yield e.block(t):t}function*dc(t,e,n,r){let a=n<0?1/0:performance.now()+n;for(;e.connecting;){let s=a-performance.now();if(s<=0||(yield t.block(Vr(t,e,s===1/0?-1:s)))==="signal")return!1}if(e.error){let s=e.error;throw e.error=0,we(s,r)}if(!e.connected)throw we(En,"peer closed connection after accepting");return!0}function*zg(t,e,n,r){let a=n|Or|hn|Is,s=r<0?1/0:performance.now()+r;for(;;){let i=e.preclosed?dn|mn|hn:e.poll();if(i&a)return i&a;let c=s-performance.now();if(c<=0||(yield t.block(Vr(t,e,c===1/0?-1:c)))==="signal")return 0}}function*Ki(t,e,n,r){if(n===0)return 0;for(;;){if(e.rxBytes>0)return r(Math.min(n,e.rxBytes));if(e.error){let a=e.error;throw e.error=0,e.eof=!0,a===Ri||a===As?Hg():nt(a)}if(e.preclosed||e.eof||e.shutRd)return pc;if(!e.connected)throw nt(En);if(!e.blocking)return gn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function*Qi(t,e,n){if(n.length===0)return 0;for(;;){if(e.preclosed||e.shutWr)throw nt(As);if(!e.connected)throw nt(En);if(!e.wblocked){let r=e.pipe?Ss(e,n):t.vm.net.write(e,n);if(r)throw nt(r);return n.length}if(!e.blocking)return gn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function*Am(t,e){for(;;){let n=e.backlog.shift();if(n)return t.vm.net.accepted?.(e),n;if(e.preclosed)return Rr;if(!e.listening)throw nt(Cn);if(!e.blocking)return gn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function*xm(t,e,n,r){let a=yield*Am(t,te(t,e));return typeof a=="number"?a:(t.vm.setField(n,xc,"fd",pn(t,a)),r.a[0]=yield*um(t,a.remote),1)}var Sm=t=>new TextDecoder().decode(Uint8Array.from(t.a)),jm=(t,e)=>Ne(t,Sm(e));function wm(t,e){let n=new TextEncoder().encode(e),r=t.vm.newArray(t.vm.primClass("B"),n.length);return r.a.set(new Int8Array(n.buffer,n.byteOffset,n.length)),r}function Jm(t,e,n,r){let a=Ur(t,e);return a?Ki(t,a,r,s=>a.take(t.vm.mem.u8,Number(n),s)):null}function Mm(t,e,n,r){let a=Ur(t,e);if(!a)return null;let s=ka(t,n,r);return(function*(){return BigInt(yield*Ki(t,a,s.reduce((i,c)=>i+c.len,0),i=>{let c=new Uint8Array(i);return a.take(c,0,i),yc(t,s,c)}))})()}function $m(t,e,n,r){let a=Ur(t,e);return a?Qi(t,a,t.vm.mem.u8.slice(Number(n),Number(n)+r)):null}function Tm(t,e,n,r){let a=Ur(t,e);return a?(function*(){return BigInt(yield*Qi(t,a,vc(t,ka(t,n,r))))})():null}function Zg(t,e,n){t[e]=2,t[e+1]=0,t[e+2]=n.port>>8,t[e+3]=n.port&255,t.set(n.addr,e+4)}function Wg(t,e,n){let r=n>16&&t[e]===10,a=t[e+2]<<8|t[e+3];return{addr:r?t.slice(e+8+12,e+8+16):t.slice(e+4,e+8),port:a}}function*mc(t,e,n,r){for(;;){let a=e.dgrams.shift();if(a)return e.rxBytes-=a.data.length,r(a);if(e.error){let s=e.error;if(e.error=0,s===Ht){if(n)throw new A("java/net/PortUnreachableException");continue}throw we(s)}if(e.preclosed)return Rr;if(!e.blocking)return gn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function Xi(t){if(t.error===Ht)throw t.error=0,new A("java/net/PortUnreachableException")}var hc=t=>Uint8Array.of(t>>>24,t>>>16&255,t>>>8&255,t&255);function ka(t,e,n){let r=t.vm.mem.dv,a=[];for(let s=0;s<n;s++){let i=Number(e)+s*16;a.push({base:Number(r.getBigInt64(i,!0)),len:Number(r.getBigInt64(i+8,!0))})}return a}function yc(t,e,n){let r=0;for(let a of e){if(r>=n.length)break;let s=Math.min(a.len,n.length-r);t.vm.mem.u8.set(n.subarray(r,r+s),a.base),r+=s}return r}function vc(t,e){let n=new Uint8Array(e.reduce((a,s)=>a+s.len,0)),r=0;for(let a of e)n.set(t.vm.mem.u8.subarray(a.base,a.base+a.len),r),r+=a.len;return n}var Xg=new Map([[65549,-1],[33,1],[34,1],[2,64]]),qg=(t,e)=>t.stream?e===7?16384:131072:Yl;function Yg(t,e,n,r){if(n===1&&r===4){let i=t.error;return t.error=0,i}if(n===1&&r===3)return t.stream?1:2;let a=n===1&&(r===7||r===8),s=t.option(n,r,a?qg(t,r):Xg.get(n<<16|r)??0);return e&&a?Math.trunc(s/2):s}function Im(t,e,n,r,a,s){r===1&&(a===7||a===8)?(n&&a===8&&(s=Math.max(s,1024)),s=Math.min(s,212992),e.setOption(r,a,Math.max(s*2,a===7?4608:2304))):(n&&r===0&&a===1&&(s&=254),e.setOption(r,a,s)),t.vm.net.setOption(e,r,a,s)}var Kg=1<<30,Yi=12;function km(t,e){let n=lt(t.vm.state).get(e);if(!n||n.kind!=="epoll")throw new A("java/io/IOException",pa(or));return{s:n,set:n.impl}}function Qg(t,e,n,r){let a=lt(t.vm.state),s=t.vm.mem.dv,i=0;for(let[c,o]of e.interest){if(i>=r)break;let u=a.get(c);if(!u){e.interest.delete(c);continue}if(!o.armed)continue;let l=(u.preclosed?dn|mn|hn:u.poll())&(o.events|Or|hn);l&&(s.setUint32(n+i*Yi,l,!0),s.setUint32(n+i*Yi+4,c,!0),s.setUint32(n+i*Yi+8,0,!0),o.events&Kg&&(o.armed=!1),i++)}return i}function ey(t){let e=new zt("epoll"),n=lt(t.vm.state),r={interest:new Map,wake:()=>e.notify(),ready:()=>{for(let[a,s]of r.interest){let i=n.get(a);if(i&&s.armed&&(i.preclosed?dn|mn|hn:i.poll())&(s.events|Or|hn))return!0}return!1},dispose:()=>{for(let a of r.interest.keys())n.get(a)?.watchers.delete(r.wake);r.interest.clear()}};return e.impl=r,pn(t,e)}var X="sun/nio/ch/Net.",qi="sun/nio/ch/SocketDispatcher.",Ls="sun/nio/ch/DatagramDispatcher.",bc="sun/nio/ch/DatagramChannelImpl.",Ft="sun/nio/ch/NativeSocketAddress.",Fm={[`${X}isIPv6Available0()Z`]:()=>0,[`${X}isReusePortAvailable0()Z`]:()=>1,[`${X}isExclusiveBindAvailable()I`]:()=>-1,[`${X}shouldShutdownWriteBeforeClose0()Z`]:()=>0,[`${X}shouldSetBothIPv4AndIPv6Options0()Z`]:()=>1,[`${X}canIPv6SocketJoinIPv4Group0()Z`]:()=>1,[`${X}canJoin6WithIPv4Group0()Z`]:()=>0,[`${X}canUseIPv6OptionsWithIPv4LocalAddress0()Z`]:()=>1,[`${X}pollinValue()S`]:()=>dn,[`${X}polloutValue()S`]:()=>mn,[`${X}pollerrValue()S`]:()=>Or,[`${X}pollhupValue()S`]:()=>hn,[`${X}pollnvalValue()S`]:()=>Is,[`${X}pollconnValue()S`]:()=>mn,[`${X}socket0(ZZZZ)I`]:(t,[,e,n])=>{let r=new zt(e?"stream":"dgram");return n&&r.setOption(1,2,1),pn(t,r)},[`${X}bind0(Ljava/io/FileDescriptor;ZZLjava/net/InetAddress;I)V`]:function*(t,[e,,,n,r]){let a=te(t,e);if(a.local)throw we(Cn);let s=yield*Os(t.vm.net.bind(a,{addr:Ms(t,n),port:r}),t);if(s)throw we(s)},[`${X}listen(Ljava/io/FileDescriptor;I)V`]:(t,[e,n])=>{let r=te(t,e);if(!r.local&&!r.localPath)throw we(Cn);let a=t.vm.net.listen(r,n);if(a)throw we(a)},[`${X}connect0(ZLjava/io/FileDescriptor;Ljava/net/InetAddress;I)I`]:function*(t,[,e,n,r]){let a=te(t,e);if(a.connected||a.connecting)throw we(106);let s=yield*Os(t.vm.net.connect(a,{addr:Ms(t,n),port:r}),t);if(s&&s!==115)throw we(s);if(a.connecting){if(!a.blocking)return gn;yield*dc(t,a,-1)}return 1},[`${X}accept(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I`]:function*(t,[e,n,r]){return yield*xm(t,e,n,r)},[`${X}shutdown(Ljava/io/FileDescriptor;I)V`]:(t,[e,n])=>{let r=te(t,e);r.connected&&t.vm.net.shutdown(r,n)},[`${X}localPort(Ljava/io/FileDescriptor;)I`]:(t,[e])=>te(t,e).local?.port??0,[`${X}localInetAddress(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;`]:function*(t,[e]){return yield*Cr(t,null,te(t,e).local?.addr??new Uint8Array(4))},[`${X}remotePort(Ljava/io/FileDescriptor;)I`]:(t,[e])=>{let n=te(t,e);if(!n.remote)throw we(En);return n.remote.port},[`${X}remoteInetAddress(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;`]:function*(t,[e]){let n=te(t,e);if(!n.remote)throw we(En);return yield*Cr(t,null,n.remote.addr)},[`${X}getIntOption0(Ljava/io/FileDescriptor;ZII)I`]:(t,[e,n,r,a])=>Yg(te(t,e),n===1,r,a),[`${X}setIntOption0(Ljava/io/FileDescriptor;ZIIIZ)V`]:(t,[e,n,r,a,s])=>Im(t,te(t,e),n===1,r,a,s),[`${X}poll(Ljava/io/FileDescriptor;IJ)I`]:function*(t,[e,n,r]){let a=Ur(t,e);return a?yield*zg(t,a,n,uc(r)):Is},[`${X}pollConnect(Ljava/io/FileDescriptor;J)Z`]:function*(t,[e,n]){return yield*dc(t,te(t,e),uc(n),"connect failed")},[`${X}available(Ljava/io/FileDescriptor;)I`]:(t,[e])=>{let n=te(t,e);return n.stream?Math.min(n.rxBytes,2147483647):n.dgrams[0]?.data.length??0},[`${X}sendOOB(Ljava/io/FileDescriptor;B)I`]:()=>{throw new A("java/net/SocketException","Operation not supported")},[`${X}discardOOB(Ljava/io/FileDescriptor;)Z`]:()=>0,[`${X}joinOrDrop4(ZLjava/io/FileDescriptor;III)I`]:(t,[e,n,r,a,s])=>{let i=t.vm.net.membership(te(t,n),e===1,hc(r),a===0?null:hc(a),s===0?null:hc(s));if(i&&e===1&&(i===Zl||i===Wl))return gn;if(i)throw we(i,"setsockopt failed");return 0},[`${X}blockOrUnblock4(ZLjava/io/FileDescriptor;III)I`]:()=>gn,[`${X}joinOrDrop6(ZLjava/io/FileDescriptor;[BI[B)I`]:()=>gn,[`${X}blockOrUnblock6(ZLjava/io/FileDescriptor;[BI[B)I`]:()=>gn,[`${X}setInterface4(Ljava/io/FileDescriptor;I)V`]:(t,[e,n])=>Im(t,te(t,e),!1,0,32,n),[`${X}getInterface4(Ljava/io/FileDescriptor;)I`]:(t,[e])=>te(t,e).option(0,32,0),[`${X}setInterface6(Ljava/io/FileDescriptor;I)V`]:()=>{},[`${X}getInterface6(Ljava/io/FileDescriptor;)I`]:()=>0,[`${qi}read0(Ljava/io/FileDescriptor;JI)I`]:function*(t,[e,n,r]){return yield*Ki(t,te(t,e,"java/io/IOException"),r,a=>te(t,e).take(t.vm.mem.u8,Number(n),a))},[`${qi}readv0(Ljava/io/FileDescriptor;JI)J`]:function*(t,[e,n,r]){let a=ka(t,n,r),s=a.reduce((c,o)=>c+o.len,0),i=yield*Ki(t,te(t,e,"java/io/IOException"),s,c=>{let o=new Uint8Array(c);return te(t,e).take(o,0,c),yc(t,a,o)});return BigInt(i)},[`${qi}write0(Ljava/io/FileDescriptor;JI)I`]:function*(t,[e,n,r]){return yield*Qi(t,te(t,e,"java/io/IOException"),t.vm.mem.u8.slice(Number(n),Number(n)+r))},[`${qi}writev0(Ljava/io/FileDescriptor;JI)J`]:function*(t,[e,n,r]){return BigInt(yield*Qi(t,te(t,e,"java/io/IOException"),vc(t,ka(t,n,r))))},[`${Ls}read0(Ljava/io/FileDescriptor;JI)I`]:function*(t,[e,n,r]){let a=te(t,e,"java/io/IOException");Xi(a);let s=yield*mc(t,a,!0,({data:i})=>{let c=Math.min(r,i.length);return t.vm.mem.u8.set(i.subarray(0,c),Number(n)),c});return s===0?pc:s},[`${Ls}readv0(Ljava/io/FileDescriptor;JI)J`]:function*(t,[e,n,r]){let a=te(t,e,"java/io/IOException");Xi(a);let s=ka(t,n,r),i=yield*mc(t,a,!0,({data:c})=>yc(t,s,c));return BigInt(i===0?pc:i)},[`${Ls}write0(Ljava/io/FileDescriptor;JI)I`]:(t,[e,n,r])=>{let a=te(t,e,"java/io/IOException");Xi(a);let s=t.vm.net.send(a,t.vm.mem.u8.slice(Number(n),Number(n)+r),null);if(s)throw nt(s);return r},[`${Ls}writev0(Ljava/io/FileDescriptor;JI)J`]:(t,[e,n,r])=>{let a=te(t,e,"java/io/IOException");Xi(a);let s=vc(t,ka(t,n,r)),i=t.vm.net.send(a,s,null);if(i)throw nt(i);return BigInt(s.length)},[`${Ls}dup0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)V`]:()=>{throw nt(Cn)},[`${bc}disconnect0(Ljava/io/FileDescriptor;Z)V`]:function*(t,[e]){let n=te(t,e),r=yield*Os(t.vm.net.disconnect(n),t);if(r)throw we(r)},[`${bc}receive0(Ljava/io/FileDescriptor;JIJZ)I`]:function*(t,[e,n,r,a,s]){return yield*mc(t,te(t,e),s===1,({data:i,from:c})=>{let o=Math.min(r,i.length),u=t.vm.mem.u8;return u.set(i.subarray(0,o),Number(n)),Zg(u,Number(a),c),o})},[`${bc}send0(Ljava/io/FileDescriptor;JIJI)I`]:(t,[e,n,r,a,s])=>{let i=te(t,e),c=Wg(t.vm.mem.u8,Number(a),s),o=t.vm.net.send(i,t.vm.mem.u8.slice(Number(n),Number(n)+r),c);if(o===Ht)throw new A("java/net/PortUnreachableException");if(o)throw we(o);return r},[`${Ft}AFINET()I`]:()=>2,[`${Ft}AFINET6()I`]:()=>10,[`${Ft}sizeofSockAddr4()I`]:()=>16,[`${Ft}sizeofSockAddr6()I`]:()=>28,[`${Ft}sizeofFamily()I`]:()=>2,[`${Ft}offsetFamily()I`]:()=>0,[`${Ft}offsetSin4Port()I`]:()=>2,[`${Ft}offsetSin4Addr()I`]:()=>4,[`${Ft}offsetSin6Port()I`]:()=>2,[`${Ft}offsetSin6Addr()I`]:()=>8,[`${Ft}offsetSin6ScopeId()I`]:()=>24,[`${Ft}offsetSin6FlowInfo()I`]:()=>4,"sun/nio/ch/UnixDomainSockets.init()Z":()=>1,"sun/nio/ch/UnixDomainSockets.socket0()I":t=>{let e=new zt("stream");return e.unix=!0,pn(t,e)},"sun/nio/ch/UnixDomainSockets.bind0(Ljava/io/FileDescriptor;[B)V":function*(t,[e,n]){let r=te(t,e),a=jm(t,n);if(r.localPath)throw we(Cn);if(!t.vm.net.hostUnix){if(t.vm.fs.stat(a))throw we(Fr);if(!t.vm.fs.write(a,new Uint8Array(0)))throw we(Di)}let s=yield*Os(t.vm.net.bindUnix(r,a),t);if(s)throw we(s);r.localPath=Sm(n)},"sun/nio/ch/UnixDomainSockets.connect0(Ljava/io/FileDescriptor;[B)I":function*(t,[e,n]){let r=te(t,e),a=jm(t,n);if(r.connected||r.connecting)throw we(106);if(!t.vm.net.hostUnix&&!t.vm.fs.stat(a))throw we(ks);let s=yield*Os(t.vm.net.connectUnix(r,a),t);if(s&&s!==115)throw we(s);if(r.connecting){if(!r.blocking)return gn;yield*dc(t,r,-1)}return 1},"sun/nio/ch/UnixDomainSockets.accept0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/Object;)I":function*(t,[e,n,r]){let a=yield*Am(t,te(t,e));return typeof a=="number"?a:(t.vm.setField(n,xc,"fd",pn(t,a)),r.a[0]=wm(t,a.remotePath),1)},"sun/nio/ch/UnixDomainSockets.localAddress0(Ljava/io/FileDescriptor;)[B":(t,[e])=>wm(t,te(t,e).localPath),"sun/nio/ch/IOUtil.makePipe(Z)J":(t,[e])=>{let[n,r]=Kl();return n.blocking=r.blocking=e===1,BigInt(pn(t,n))<<32n|BigInt(pn(t,r))},"sun/nio/ch/IOUtil.write1(IB)I":(t,[e,n])=>{let r=lt(t.vm.state).get(e);if(!r)throw nt(or);let a=Ss(r,Uint8Array.of(n));if(a)throw nt(a);return 1},"sun/net/spi/DefaultProxySelector.init()Z":()=>0,"sun/net/spi/DefaultProxySelector.getSystemProxies(Ljava/lang/String;Ljava/lang/String;)[Ljava/net/Proxy;":()=>null,"sun/nio/ch/InheritedChannel.dup(I)I":(t,[e])=>e,"sun/nio/ch/InheritedChannel.dup2(II)V":()=>{},"sun/nio/ch/InheritedChannel.open0(Ljava/lang/String;I)I":(t,[e])=>Lr(t,t.vm.jsString(e),!0,!1,!1),"sun/nio/ch/InheritedChannel.close0(I)V":(t,[e])=>{e>2&&sr(t,e)},"sun/nio/ch/InheritedChannel.soType0(I)I":()=>-1,"sun/nio/ch/InheritedChannel.addressFamily(I)I":()=>-1,"sun/nio/ch/InheritedChannel.inetPeerAddress0(I)Ljava/net/InetAddress;":()=>null,"sun/nio/ch/InheritedChannel.unixPeerAddress0(I)[B":()=>null,"sun/nio/ch/InheritedChannel.peerPort0(I)I":()=>0,"sun/nio/ch/InheritedChannel.isConnected(I)Z":()=>0,"sun/net/PortConfig.getLower0()I":()=>32768,"sun/net/PortConfig.getUpper0()I":()=>60999,"sun/nio/ch/EPoll.eventSize()I":()=>Yi,"sun/nio/ch/EPoll.eventsOffset()I":()=>0,"sun/nio/ch/EPoll.dataOffset()I":()=>4,"sun/nio/ch/EPoll.create()I":t=>ey(t),"sun/nio/ch/EPoll.ctl(IIII)I":(t,[e,n,r,a])=>{let{set:s}=km(t,e),i=lt(t.vm.state).get(r);if(!i)return r>=0&&t.vm.state.get("fds")?.files.has(r)?1:or;let c=s.interest.get(r);switch(n){case 1:return c?Vg:(s.interest.set(r,{events:a,armed:!0}),i.watchers.add(s.wake),s.wake(),0);case 2:return c?(s.interest.delete(r),i.watchers.delete(s.wake),0):ks;case 3:return c?(c.events=a,c.armed=!0,s.wake(),0):ks}return Cn},"sun/nio/ch/EPoll.wait(IJII)I":function*(t,[e,n,r,a]){let{s,set:i}=km(t,e),c=uc(a),o=c<0?1/0:performance.now()+c;for(;;){let u=Qg(t,i,Number(n),r);if(u>0)return u;let l=o-performance.now();if(l<=0)return 0;if((yield t.block(Vr(t,s,l===1/0?-1:l)))==="signal")return Rr}},"sun/nio/ch/EventFD.eventfd0()I":t=>pn(t,new zt("event")),"sun/nio/ch/EventFD.set0(I)I":(t,[e])=>{let n=lt(t.vm.state).get(e);if(!n)throw nt(or);return n.counter++,n.notify(),8},"sun/nio/ch/IOUtil.drain(I)Z":(t,[e])=>fc(t,e,16)>0?1:0,"sun/nio/ch/IOUtil.drain1(I)I":(t,[e])=>fc(t,e,1),"sun/nio/ch/EPollPort.socketpair([I)V":(t,[e])=>{let[n,r]=Kl();n.blocking=r.blocking=!1,e.a[0]=pn(t,n),e.a[1]=pn(t,r)},"sun/nio/ch/EPollPort.interrupt(I)V":(t,[e])=>{let n=lt(t.vm.state).get(e);if(!n)throw nt(or);Ss(n,Uint8Array.of(1))},"sun/nio/ch/EPollPort.drain1(I)V":(t,[e])=>{fc(t,e,1)},"sun/nio/ch/EPollPort.close0(I)V":(t,[e])=>{sr(t,e)},"sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.accept0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I":function*(t,[e,n,r]){return yield*xm(t,e,n,r)},"sun/nio/ch/UnixAsynchronousSocketChannelImpl.checkConnect(I)V":(t,[e])=>{let n=lt(t.vm.state).get(e);if(!n)throw nt(or);let r=n.error;if(n.error=0,r)throw we(r)},"sun/nio/ch/IOUtil.configureBlocking(Ljava/io/FileDescriptor;Z)V":(t,[e,n])=>{let r=Ur(t,e);r&&(r.blocking=n===1)},"sun/nio/ch/NativeThread.current0()J":t=>BigInt(t.id),"sun/nio/ch/NativeThread.signal0(J)V":(t,[e])=>{for(let n of t.vm.threads)BigInt(n.id)===e&&gc.get(n)?.()}};var Ot=2,no=9,Sc=13,Jc=17,Em=18,Mc=20,$c=21,Tc=22,Aa=30,Pm=39,to=38,ty={[Ot]:"No such file or directory",[no]:"Bad file descriptor",[Sc]:"Permission denied",[Jc]:"File exists",[Em]:"Invalid cross-device link",[Mc]:"Not a directory",[$c]:"Is a directory",[Tc]:"Invalid argument",[Aa]:"Read-only file system",[Pm]:"Directory not empty",[to]:"Function not implemented"},ny=3,Om=64,ry=128,ay=512,sy=1024,iy=16384,oy=32768,ly=8192;function ae(t){throw new A("sun/nio/fs/UnixException",null,{desc:"(I)V",args:[t]})}function Dm(t,e){let n=t.vm.mem.u8,r=Number(e);for(;n[r]!==0;)r++;return new TextDecoder().decode(n.subarray(Number(e),r))}function Gr(t,e){let n=new TextEncoder().encode(e),r=t.vm.newArray(t.vm.primClass("B"),n.length);return r.a.set(new Int8Array(n.buffer,n.byteOffset,n.length)),r}function wt(t,e){return Ne(t,Dm(t,e))}function jc(t,e,n){Js(t,n);let r=t.vm.fs.stat(n);if(!r)return Ot;let a=t.vm,s="sun/nio/fs/UnixFileAttributes",i=a.fs.writable(n),c=r.device?ly|438:r.dir?iy|(i?493:365):oy|(i?420:292),o=BigInt(Math.floor(r.mtime/1e3)),u=BigInt(Math.floor(r.mtime%1e3*1e6));a.setField(e,s,"st_mode",c),a.setField(e,s,"st_ino",BigInt(Rm(t,n))),a.setField(e,s,"st_dev",1n),a.setField(e,s,"st_nlink",1),a.setField(e,s,"st_uid",1e3),a.setField(e,s,"st_gid",1e3),a.setField(e,s,"st_size",BigInt(r.size));for(let l of["atime","mtime","ctime"])a.setField(e,s,`st_${l}_sec`,o),a.setField(e,s,`st_${l}_nsec`,u);return 0}function wc(t){let e=t.vm.state.get("mntent");return e||t.vm.state.set("mntent",e=new Map),e}function Rm(t,e){let n=t.vm.state.get("inodes");n||t.vm.state.set("inodes",n=new Map);let r=n.get(e);return r===void 0&&n.set(e,r=n.size+2),r}function Ic(t){let e=t.vm.state.get("dirs");return e||t.vm.state.set("dirs",e=new Map),e}var cy=1n,Y="sun/nio/fs/UnixNativeDispatcher.",Oc={[`${Y}init()I`]:()=>0,[`${Y}getcwd()[B`]:t=>Gr(t,t.vm.opts.cwd??"/"),[`${Y}strerror(I)[B`]:(t,[e])=>Gr(t,ty[e]??`errno ${e}`),[`${Y}stat0(JLsun/nio/fs/UnixFileAttributes;)I`]:(t,[e,n])=>jc(t,n,wt(t,e)),[`${Y}lstat0(JLsun/nio/fs/UnixFileAttributes;)V`]:(t,[e,n])=>{let r=jc(t,n,wt(t,e));r&&ae(r)},[`${Y}fstat0(ILsun/nio/fs/UnixFileAttributes;)V`]:(t,[e,n])=>{let a=t.vm.state.get("fds")?.files?.get(e);a||ae(no),jc(t,n,a.path)},[`${Y}access0(JI)I`]:(t,[e,n])=>{let r=wt(t,e);return t.vm.fs.stat(r)?t.vm.fs.access(r,n)?0:Sc:Ot},[`${Y}open0(JII)I`]:(t,[e,n])=>{let r=wt(t,e),a=t.vm.fs.stat(r);n&Om&&n&ry&&a&&ae(Jc),!a&&!(n&Om)&&ae(Ot);let s=(n&ny)!==0;a?.dir&&s&&ae($c),(s||!a)&&t.vm.fs.denied(r)&&ae(Sc);try{return Lr(t,r,s,(n&ay)!==0,(n&sy)!==0)}catch(i){throw i instanceof A&&ae(t.vm.fs.writable(r)?Ot:Aa),i}},[`${Y}close0(I)V`]:(t,[e])=>sr(t,e),[`${Y}dup(I)I`]:()=>ae(to),[`${Y}mkdir0(JI)V`]:(t,[e])=>{let n=wt(t,e);t.vm.fs.stat(n)&&ae(Jc),t.vm.fs.mkdir(n)||ae(t.vm.fs.writable(n)?Ot:Aa)},[`${Y}rmdir0(J)V`]:(t,[e])=>{nc(Dm(t,e))&&ae(Tc);let n=wt(t,e),r=t.vm.fs.stat(n);r||ae(Ot),r.dir||ae(Mc),Gi(t,n)||ae(Pm)},[`${Y}unlink0(J)V`]:(t,[e])=>{let n=wt(t,e),r=t.vm.fs.stat(n);r||ae(Ot),r.dir&&ae($c),Gi(t,n)||ae(Aa)},[`${Y}rename0(JJ)V`]:(t,[e,n])=>{t.vm.fs.stat(wt(t,e))||ae(Ot),rc(t,wt(t,e),wt(t,n))||ae(Em)},[`${Y}realpath0(J)[B`]:(t,[e])=>{let n=wt(t,e);return t.vm.fs.stat(n)||ae(Ot),Gr(t,n)},[`${Y}readlink0(J)[B`]:()=>ae(Tc),[`${Y}symlink0(JJ)V`]:()=>ae(to),[`${Y}link0(JJ)V`]:()=>ae(to),[`${Y}chmod0(JI)V`]:()=>{},[`${Y}fchmod0(II)V`]:()=>{},[`${Y}chown0(JII)V`]:()=>{},[`${Y}lchown0(JII)V`]:()=>{},[`${Y}fchown0(III)V`]:()=>{},[`${Y}utimensat0(IJJJI)V`]:(t,[,e,,n])=>{let r=wt(t,e);t.vm.fs.stat(r)||ae(Ot),Vi(t,r,Number(n)/1e6)||ae(Aa)},[`${Y}futimens0(IJJ)V`]:(t,[e,,n])=>{let r=Re(t,e);Vi(t,r.path,Number(n)/1e6)||ae(Aa)},[`${Y}opendir0(J)J`]:(t,[e])=>{let n=wt(t,e),r=t.vm.fs.stat(n);r||ae(Ot),r.dir||ae(Mc);let a=cy++;return Ic(t).set(a,{names:t.vm.fs.list(n)??[],pos:0}),a},[`${Y}readdir0(J)[B`]:(t,[e])=>{let n=Ic(t).get(e);return n||ae(no),n.pos<n.names.length?Gr(t,n.names[n.pos++]):null},[`${Y}closedir(J)V`]:(t,[e])=>{Ic(t).delete(e)},[`${Y}getpwuid(I)[B`]:t=>Gr(t,t.vm.props.get("user.name")??"user"),[`${Y}getgrgid(I)[B`]:t=>Gr(t,t.vm.props.get("user.name")??"user"),[`${Y}getpwnam0(J)I`]:()=>1e3,[`${Y}getgrnam0(J)I`]:()=>1e3,[`${Y}fchmodatNoFollowSupported0()Z`]:()=>0,[`${Y}statvfs0(JLsun/nio/fs/UnixFileStoreAttributes;)V`]:()=>{},[`${Y}flistxattr(IJI)I`]:()=>0,[`${Y}getlinelen(J)I`]:()=>-1,[`${Y}rewind(J)V`]:()=>{},"sun/nio/fs/LinuxNativeDispatcher.setmntent0(JJ)J":t=>{let e=wc(t),n=Math.max(0,...e.keys())+1;return e.set(n,!1),BigInt(n)},"sun/nio/fs/LinuxNativeDispatcher.getmntent0(JLsun/nio/fs/UnixMountEntry;JI)I":(t,[e,n])=>{let r=wc(t);if(r.get(Number(e))!==!1)return-1;r.set(Number(e),!0);let a="sun/nio/fs/UnixMountEntry";for(let[s,i]of[["name","java-web"],["dir","/"],["fstype","java-web"],["opts","rw"]])t.vm.setField(n,a,s,Gr(t,i));return t.vm.setField(n,a,"dev",1n),0},"sun/nio/fs/LinuxNativeDispatcher.endmntent(J)V":(t,[e])=>{wc(t).delete(Number(e))},"sun/nio/fs/LinuxNativeDispatcher.init()V":()=>{},"sun/nio/fs/LinuxNativeDispatcher.posix_fadvise(IJJI)I":()=>0,"sun/nio/fs/LinuxNativeDispatcher.directCopy0(IIJ)I":(t,[e,n])=>Lm(t,e,n),"sun/nio/fs/UnixFileSystem.bufferedCopy0(IIJIJ)V":(t,[e,n])=>{Lm(t,e,n)}};function Lm(t,e,n){let r=t.vm.state.get("fds")?.files,a=r?.get(n),s=r?.get(e);(!a||!s)&&ae(no);let i=new Uint8Array(65536);for(let c;(c=a.read(i,0,i.length))>0;)s.write(i.subarray(0,c));return 0}var Fc="java/io/FileDescriptor",Nm=-6;function Ns(t,e){return t.vm.getField(e,Fc,"fd")}function Un(t,e){let n=t.vm.state.get("fds")?.files.get(Ns(t,e));if(!n)throw new A("java/io/IOException","Bad file descriptor");return n}var uy=1;function eo(t){let e=t.vm.state.get("mappings");return e||t.vm.state.set("mappings",e=new Map),e}function Bm(t,e,n,r,a){let s=e.pos+r-n,i=Math.min(a,e.f.size-s);if(i<=0)return;let c=e.f.pos;e.f.pos=s,e.f.write(t.vm.mem.u8.slice(r,r+i)),e.f.pos=c,Nr(t,e.f)}function kc(t,e,n,r,a){let s=Un(t,e),i=s.pos;a!==null&&(s.pos=a);let c=s.read(t.vm.mem.u8,Number(n),r);return a!==null&&(s.pos=i),c}function Ac(t,e,n,r,a){let s=Ns(t,e),i=t.vm.mem.u8.slice(Number(n),Number(n)+r);if(s===1||s===2)return(s===1?t.vm.opts.stdout:t.vm.opts.stderr)(i),r;let c=Un(t,e),o=c.pos;return a!==null&&(c.pos=a),c.write(i),a!==null&&(c.pos=o),r}function Cm(t,e,n,r){let a=t.vm.mem.dv,s=0;for(let i=0;i<n;i++){let c=Number(e)+i*16,o=a.getBigInt64(c,!0),u=Number(a.getBigInt64(c+8,!0)),l=r(o,u);if(l<0)return BigInt(s===0?l:s);if(s+=l,l<u)break}return BigInt(s)}var Fe="sun/nio/ch/UnixFileDispatcherImpl.";Object.assign(Oc,{"sun/nio/ch/IOUtil.fdVal(Ljava/io/FileDescriptor;)I":(t,[e])=>Ns(t,e),"sun/nio/ch/IOUtil.setfdVal(Ljava/io/FileDescriptor;I)V":(t,[e,n])=>t.vm.setField(e,Fc,"fd",n),"sun/nio/ch/IOUtil.iovMax()I":()=>16,"sun/nio/ch/IOUtil.writevMax()J":()=>0x7fffffffn,"sun/nio/ch/IOUtil.fdLimit()I":()=>1024,"sun/nio/ch/IOUtil.randomBytes([B)Z":(t,[e])=>(crypto.getRandomValues(e.a),1),[`${Fe}read0(Ljava/io/FileDescriptor;JI)I`]:(t,[e,n,r])=>Jm(t,e,n,r)??kc(t,e,n,r,null),[`${Fe}pread0(Ljava/io/FileDescriptor;JIJ)I`]:(t,[e,n,r,a])=>kc(t,e,n,r,Number(a)),[`${Fe}readv0(Ljava/io/FileDescriptor;JI)J`]:(t,[e,n,r])=>Mm(t,e,n,r)??Cm(t,n,r,(a,s)=>kc(t,e,a,s,null)),[`${Fe}write0(Ljava/io/FileDescriptor;JI)I`]:(t,[e,n,r])=>$m(t,e,n,r)??Ac(t,e,n,r,null),[`${Fe}pwrite0(Ljava/io/FileDescriptor;JIJ)I`]:(t,[e,n,r,a])=>Ac(t,e,n,r,Number(a)),[`${Fe}writev0(Ljava/io/FileDescriptor;JI)J`]:(t,[e,n,r])=>Tm(t,e,n,r)??Cm(t,n,r,(a,s)=>Ac(t,e,a,s,null)),[`${Fe}force0(Ljava/io/FileDescriptor;Z)I`]:(t,[e])=>{let n=Un(t,e);return Nr(t,n),0},[`${Fe}seek0(Ljava/io/FileDescriptor;J)J`]:(t,[e,n])=>{let r=Un(t,e);return n>=0n&&(r.pos=Number(n)),BigInt(r.pos)},[`${Fe}truncate0(Ljava/io/FileDescriptor;J)I`]:(t,[e,n])=>(Un(t,e).setLength(Number(n)),0),[`${Fe}size0(Ljava/io/FileDescriptor;)J`]:(t,[e])=>BigInt(Un(t,e).size),[`${Fe}available0(Ljava/io/FileDescriptor;)I`]:(t,[e])=>{let n=Un(t,e);return n.size-n.pos},[`${Fe}isOther0(Ljava/io/FileDescriptor;)Z`]:()=>0,[`${Fe}lock0(Ljava/io/FileDescriptor;ZJJZ)I`]:()=>0,[`${Fe}release0(Ljava/io/FileDescriptor;JJ)V`]:()=>{},[`${Fe}closeIntFD(I)V`]:(t,[e])=>sr(t,e),[`${Fe}allocationGranularity0()J`]:()=>4096n,[`${Fe}map0(Ljava/io/FileDescriptor;IJJZ)J`]:(t,[e,n,r,a])=>{let s=Un(t,e),i=t.vm.mem.malloc(Number(a)),c=s.pos;s.pos=Number(r);let o=Math.min(s.size-Number(r),Number(a));return o>0&&s.read(t.vm.mem.u8,i,o),s.pos=c,n===uy&&eo(t).set(i,{f:s,pos:Number(r),len:Number(a)}),BigInt(i)},[`${Fe}unmap0(JJ)I`]:(t,[e])=>{let n=eo(t).get(Number(e));return n&&Bm(t,n,Number(e),Number(e),n.len),eo(t).delete(Number(e)),t.vm.mem.freeBlock(Number(e)),0},"java/nio/MappedMemoryUtils.force0(Ljava/io/FileDescriptor;JJ)V":(t,[,e,n])=>{let r=Number(e),a=r+Number(n);for(let[s,i]of eo(t)){let c=Math.max(r,s),o=Math.min(a,s+i.len);c<o&&Bm(t,i,s,c,o-c)}},"java/nio/MappedMemoryUtils.isLoaded0(JJJ)Z":()=>1,"java/nio/MappedMemoryUtils.load0(JJ)V":()=>{},"java/nio/MappedMemoryUtils.unload0(JJ)V":()=>{},[`${Fe}setDirect0(Ljava/io/FileDescriptor;)I`]:()=>-1,"sun/nio/ch/FileDispatcherImpl.init0()V":()=>{},"sun/nio/ch/FileDispatcherImpl.transferTo0(Ljava/io/FileDescriptor;JJLjava/io/FileDescriptor;Z)J":()=>BigInt(Nm),"sun/nio/ch/FileDispatcherImpl.transferFrom0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;JJZ)J":()=>BigInt(Nm),"sun/nio/ch/NativeThread.init()V":()=>{},"sun/nio/ch/NativeThread.supportPendingSignals0()Z":()=>0,"sun/nio/ch/FileKey.init(Ljava/io/FileDescriptor;[J)V":(t,[e,n])=>{let r=Un(t,e);n.a[0]=1n,n.a[1]=BigInt(Rm(t,r.path))},"sun/nio/ch/UnixDispatcher.init()V":()=>{},"sun/nio/ch/UnixDispatcher.preClose0(Ljava/io/FileDescriptor;)V":(t,[e])=>Yd(t.vm.state,Ns(t,e)),"sun/nio/ch/UnixDispatcher.close0(Ljava/io/FileDescriptor;)V":(t,[e])=>{sr(t,Ns(t,e)),t.vm.setField(e,Fc,"fd",-1)}});var Lt="java/lang/ref/Reference";function Bs(t){let e=t.state.get("refs");return e||(e={pending:[],waiters:[],registry:new FinalizationRegistry(n=>{let r=n.deref();if(!(!r||!(r.x instanceof WeakRef))){r.x=null,e.pending.push(r);for(let a of e.waiters.splice(0))a()}}),weak:t.loadBoot("java/lang/ref/WeakReference"),phantom:t.loadBoot("java/lang/ref/PhantomReference")},t.state.set("refs",e)),e}function Lc(t,e){return e.x instanceof WeakRef?e.x.deref()??null:t.vm.getField(e,Lt,"referent")}function Um(t,e){e.x instanceof WeakRef&&Bs(t.vm).registry.unregister(e),e.x=null,t.vm.setField(e,Lt,"referent",null)}var Vm={[`${Lt}.<init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V`]:function*(t,[e,n,r]){let a=t.vm,s=a.loadBoot("java/lang/ref/ReferenceQueue");s.state!==z&&(yield*a.initGen(t,s));let i=a.getStatic(s,"NULL_QUEUE"),c=r??i;a.setField(e,Lt,"queue",c);let o=Bs(a);n!==null&&(e.cls.isSubclassOf(o.weak)||e.cls.isSubclassOf(o.phantom))?(e.x=new WeakRef(n),c!==i&&o.registry.register(n,new WeakRef(e),e)):a.setField(e,Lt,"referent",n)},[`${Lt}.get()Ljava/lang/Object;`]:(t,[e])=>Lc(t,e)},Gm={[`${Lt}.refersTo0(Ljava/lang/Object;)Z`]:(t,[e,n])=>Lc(t,e)===n?1:0,[`${Lt}.clear0()V`]:(t,[e])=>Um(t,e),"java/lang/ref/PhantomReference.refersTo0(Ljava/lang/Object;)Z":(t,[e,n])=>Lc(t,e)===n?1:0,"java/lang/ref/PhantomReference.clear0()V":(t,[e])=>Um(t,e),[`${Lt}.hasReferencePendingList()Z`]:t=>Bs(t.vm).pending.length>0?1:0,[`${Lt}.getAndClearReferencePendingList()Ljava/lang/ref/Reference;`]:t=>{let e=Bs(t.vm).pending.splice(0);for(let n=0;n<e.length;n++)t.vm.setField(e[n],Lt,"discovered",e[n+1]??null);return e[0]??null},[`${Lt}.waitForReferencePendingList()V`]:function*(t){let e=Bs(t.vm);for(;e.pending.length===0;)yield t.block(new Promise(n=>e.waiters.push(n)))},"java/lang/ref/Finalizer.isFinalizationEnabled()Z":()=>0,"java/lang/ref/Finalizer.reportComplete(Ljava/lang/Object;)V":()=>{}};var Cs=Symbol("underflow"),fy=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],dy=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],my=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],hy=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],by=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=class extends Error{};function py(t){let e=1,n=0;for(let r of t)e=(e+r)%65521,n=(n+e)%65521;return(n<<16|e)>>>0}function Es(t,e){let n=0;for(let o=0;o<e;o++)t[o]>n&&(n=t[o]);let r=Math.max(n,1),a=new Int32Array(1<<r),s=new Array(16).fill(0);for(let o=0;o<e;o++)s[t[o]]++;s[0]=0;let i=new Array(16).fill(0),c=0;for(let o=1;o<=15;o++)c=c+s[o-1]<<1,i[o]=c;for(let o=0;o<e;o++){let u=t[o];if(!u)continue;let l=i[u]++,d=0;for(let f=0;f<u;f++)d=d<<1|l&1,l>>=1;for(let f=d;f<a.length;f+=1<<u)a[f]=o<<4|u}return{t:a,bits:r}}var Nc=null,_m=null;function gy(){if(!Nc){let t=new Uint8Array(288);t.fill(8,0,144),t.fill(9,144,256),t.fill(7,256,280),t.fill(8,280,288),Nc=Es(t,288),_m=Es(new Uint8Array(30).fill(5),30)}return[Nc,_m]}var ce={Header:0,Dict:1,Block:2,Stored:3,Huffman:4,Trailer:5,Done:6},Ps=class{stage;bitbuf=0;bitcnt=0;last=!1;stored=0;lit=null;dist=null;copyLen=0;copyDist=0;win=new Uint8Array(32768);wpos=0;s1=1;s2=0;wrap;dictId=0;needDict=!1;in;ip=0;out;op=0;oe=0;constructor(e){this.wrap=!e,this.stage=e?ce.Block:ce.Header}get finished(){return this.stage===ce.Done}get adler(){return this.stage===ce.Dict?this.dictId:(this.s2<<16|this.s1)>>>0}reset(){this.stage=this.wrap?ce.Header:ce.Block,this.bitbuf=this.bitcnt=this.stored=this.copyLen=this.copyDist=this.wpos=0,this.last=this.needDict=!1,this.pending=new Uint8Array(0),this.s1=1,this.s2=0}setDictionary(e){if(this.stage===ce.Dict&&py(e)!==this.dictId)return!1;for(let n of e)this.win[this.wpos++&32767]=n;return this.needDict=!1,this.stage===ce.Dict&&(this.stage=ce.Block),!0}pending=new Uint8Array(0);run(e,n,r,a){let s=this.pending.length,i=e;s&&(i=new Uint8Array(s+e.length),i.set(this.pending),i.set(e,s));let[c,o]=this.decodeAll(i,n,r,a);return this.stage!==ce.Done&&!this.needDict&&o<a?(this.pending=i.slice(c),[e.length,o]):c>=s?(this.pending=new Uint8Array(0),[c-s,o]):(this.pending=this.pending.slice(c),[0,o])}decodeAll(e,n,r,a){this.in=e,this.ip=0,this.out=n,this.op=r,this.oe=r+a;let s=0,i=0,c=0;try{for(;;)if(s=this.ip,i=this.bitbuf,c=this.bitcnt,this.stage===ce.Huffman){if(!this.huffman())break}else if(!this.step())break}catch(o){if(o!==Cs)throw o;this.ip=s,this.bitbuf=i,this.bitcnt=c}return this.stage===ce.Done&&(this.ip-=this.bitcnt>>3,this.bitbuf=this.bitcnt=0),[this.ip,this.op-r]}need(e){for(;this.bitcnt<e;){if(this.ip>=this.in.length)throw Cs;this.bitbuf|=this.in[this.ip++]<<this.bitcnt,this.bitcnt+=8}}bits(e){if(e===0)return 0;this.need(e);let n=this.bitbuf&(1<<e)-1;return this.bitbuf>>>=e,this.bitcnt-=e,n}decode(e){for(;this.bitcnt<e.bits&&this.ip<this.in.length;)this.bitbuf|=this.in[this.ip++]<<this.bitcnt,this.bitcnt+=8;let n=e.t[this.bitbuf&(1<<e.bits)-1],r=n&15;if(r===0)throw this.bitcnt<e.bits?Cs:new rt("invalid code");if(r>this.bitcnt)throw Cs;return this.bitbuf>>>=r,this.bitcnt-=r,n>>4}adlerByte(e){this.s1=(this.s1+e)%65521,this.s2=(this.s2+this.s1)%65521}emit(e){this.out[this.op++]=e,this.win[this.wpos++&32767]=e,this.wrap&&this.adlerByte(e)}align(){let e=this.bitcnt&7;this.bitbuf>>>=e,this.bitcnt-=e}step(){switch(this.stage){case ce.Header:{let e=this.bits(8),n=this.bits(8);if((e&15)!==8||(e<<8|n)%31!==0)throw new rt("incorrect header check");return n&32?(this.dictId=this.u32be(),this.stage=ce.Dict):this.stage=ce.Block,!0}case ce.Dict:return this.needDict=!0,!1;case ce.Block:{if(this.last)return this.stage=this.wrap?ce.Trailer:ce.Done,!0;let e=this.bits(1),n=this.bits(2);if(n===0){this.align();let r=this.bits(16),a=this.bits(16);if((r^65535)!==a)throw new rt("invalid stored block lengths");this.stored=r,this.stage=ce.Stored}else if(n===1)[this.lit,this.dist]=gy(),this.stage=ce.Huffman;else if(n===2)this.dynamicHeader(),this.stage=ce.Huffman;else throw new rt("invalid block type");return this.last=e===1,!0}case ce.Stored:{for(;this.stored>0;){if(this.op>=this.oe)return!1;if(this.bitcnt>=8)this.emit(this.bits(8));else if(this.ip<this.in.length)this.emit(this.in[this.ip++]);else return!1;this.stored--}return this.stage=ce.Block,!0}case ce.Trailer:{if(this.align(),this.u32be()!==this.adler)throw new rt("incorrect data check");return this.stage=ce.Done,!1}default:return!1}}u32be(){let e=this.bits(8),n=this.bits(8),r=this.bits(8),a=this.bits(8);return(e<<24|n<<16|r<<8|a)>>>0}dynamicHeader(){let e=this.bits(5)+257,n=this.bits(5)+1,r=this.bits(4)+4,a=new Uint8Array(19);for(let c=0;c<r;c++)a[by[c]]=this.bits(3);let s=Es(a,19),i=new Uint8Array(e+n);for(let c=0;c<i.length;){let o=this.decode(s);if(o<16)i[c++]=o;else{let u,l=0;if(o===16){if(c===0)throw new rt("invalid bit length repeat");l=i[c-1],u=3+this.bits(2)}else o===17?u=3+this.bits(3):u=11+this.bits(7);if(c+u>i.length)throw new rt("invalid bit length repeat");i.fill(l,c,c+u),c+=u}}if(i[256]===0)throw new rt("invalid code -- missing end-of-block");this.lit=Es(i.subarray(0,e),e),this.dist=Es(i.subarray(e),n)}huffman(){let e=this.win;for(;this.copyLen>0;){if(this.op>=this.oe)return!1;this.emit(e[this.wpos-this.copyDist&32767]),this.copyLen--}for(;;){if(this.op>=this.oe)return!1;let n=this.ip,r=this.bitbuf,a=this.bitcnt;try{let s=this.decode(this.lit);if(s<256){this.emit(s);continue}if(s===256)return this.stage=ce.Block,!0;let i=s-257;if(i>=29)throw new rt("invalid literal/length code");let c=fy[i]+this.bits(dy[i]),o=this.decode(this.dist);if(o>=30)throw new rt("invalid distance code");let u=my[o]+this.bits(hy[o]);if(u>this.wpos)throw new rt("invalid distance too far back");this.copyLen=c,this.copyDist=u}catch(s){if(s!==Cs)throw s;return this.ip=n,this.bitbuf=r,this.bitcnt=a,!1}for(;this.copyLen>0;){if(this.op>=this.oe)return!1;this.emit(e[this.wpos-this.copyDist&32767]),this.copyLen--}}}};var yy=(()=>{let t=new Int32Array(256);for(let e=0;e<256;e++){let n=e;for(let r=0;r<8;r++)n=n&1?3988292384^n>>>1:n>>>1;t[e]=n}return t})();function Bc(t,e){let n=~t;for(let r=0;r<e.length;r++)n=yy[(n^e[r])&255]^n>>>8;return~n}function Rs(t,e){let n=t&65535,r=t>>>16;for(let a=0;a<e.length;){let s=Math.min(e.length,a+3800);for(;a<s;a++)n+=e[a],r+=n;n%=65521,r%=65521}return r<<16|n|0}var ro=65535,io=class{wrap;headerDone=!1;held=new Uint8Array(ro);heldLen=0;pending=new Uint8Array(ro+32);pendPos=0;pendLen=0;adler=1;dictId=null;lastFlush=0;ended=!1;constructor(e){this.wrap=!e}get finished(){return this.ended&&this.pendPos===this.pendLen}get checksum(){return this.headerDone||this.dictId===null?this.adler:this.dictId}reset(){this.headerDone=this.ended=!1,this.heldLen=this.pendPos=this.pendLen=this.lastFlush=0,this.adler=1,this.dictId=null}setDictionary(e){this.wrap&&!this.headerDone&&(this.dictId=Rs(1,e)>>>0)}put(...e){for(let n of e)this.pending[this.pendLen++]=n}block(e){let n=this.heldLen;this.put(e?1:0,n&255,n>>8,~n&255,~n>>8&255),this.pending.set(this.held.subarray(0,n),this.pendLen),this.pendLen+=n,this.heldLen=0}be32(e){this.put(e>>>24,e>>>16&255,e>>>8&255,e&255)}drain(e,n){let r=Math.min(e.length-n,this.pendLen-this.pendPos);return e.set(this.pending.subarray(this.pendPos,this.pendPos+r),n),this.pendPos+=r,this.pendPos===this.pendLen&&(this.pendPos=this.pendLen=0),r}run(e,n,r){let a=0,s=this.drain(n,0);if(this.pendLen)return this.lastFlush=-1,[0,s];if(e.length===0&&r<=this.lastFlush&&r!==4)return[0,s];this.lastFlush=r;let i=!1;for(;;){if(s+=this.drain(n,s),this.pendLen||this.ended)return[a,s];if(!this.headerDone){this.headerDone=!0,this.wrap&&(this.dictId===null?this.put(120,1):(this.put(120,32),this.be32(this.dictId)));continue}if(a<e.length){let c=Math.min(ro-this.heldLen,e.length-a),o=e.subarray(a,a+c);this.held.set(o,this.heldLen),this.wrap&&(this.adler=Rs(this.adler,o)),this.heldLen+=c,a+=c,this.heldLen===ro&&this.block(!1);continue}if(i||r!==2&&r!==3&&r!==4)return[a,s];i=!0,r===4?(this.block(!0),this.wrap&&this.be32(this.adler>>>0),this.ended=!0):(this.heldLen&&this.block(!1),this.block(!1))}}};function Sa(t){let e=t.vm.state.get("zstreams");return e||t.vm.state.set("zstreams",e=new Map),e}var Hm=1n;function oo(t,e){let n=Sa(t).get(e);if(!(n instanceof Ps))throw new A("java/lang/NullPointerException","Inflater has been closed");return n}function Ds(t,e){let n=Sa(t).get(e);if(!(n instanceof io))throw new A("java/lang/NullPointerException","Deflater has been closed");return n}function Zm(t,e,n,r){let a=BigInt(t)|BigInt(e)<<31n;return n&&(a|=1n<<62n),r&&(a|=1n<<63n),BigInt.asIntN(64,a)}function ao(t,e,n,r,a,s){let i=oo(t,e);try{let[c,o]=i.run(n,r,a,s);return Zm(c,o,i.finished,i.needDict)}catch(c){throw c instanceof rt?new A("java/util/zip/DataFormatException",c.message):c}}function zm(t,e,n){if(!oo(t,e).setDictionary(n))throw new A("java/lang/IllegalArgumentException")}function so(t,e,n,r,a){let s=Ds(t,e),[i,c]=s.run(n,r,a);return Zm(i,c,s.finished,!1)}function Nt(t,e,n){return t.vm.mem.u8.subarray(Number(e),Number(e)+n)}var yn="java/util/zip/Inflater.",vn="java/util/zip/Deflater.",Wm={[`${yn}init(Z)J`]:(t,[e])=>{let n=Hm++;return Sa(t).set(n,new Ps(e===1)),n},[`${yn}inflateBytesBytes(J[BII[BII)J`]:(t,[,e,n,r,a,s,i,c])=>ao(t,e,me(n,r,a),me(s),i,c),[`${yn}inflateBytesBuffer(J[BIIJI)J`]:(t,[,e,n,r,a,s,i])=>ao(t,e,me(n,r,a),Nt(t,s,i),0,i),[`${yn}inflateBufferBytes(JJI[BII)J`]:(t,[,e,n,r,a,s,i])=>ao(t,e,Nt(t,n,r).slice(),me(a),s,i),[`${yn}inflateBufferBuffer(JJIJI)J`]:(t,[,e,n,r,a,s])=>ao(t,e,Nt(t,n,r).slice(),Nt(t,a,s),0,s),[`${yn}setDictionary(J[BII)V`]:(t,[e,n,r,a])=>zm(t,e,me(n,r,a)),[`${yn}setDictionaryBuffer(JJI)V`]:(t,[e,n,r])=>zm(t,e,Nt(t,n,r)),[`${yn}getAdler(J)I`]:(t,[e])=>oo(t,e).adler|0,[`${yn}reset(J)V`]:(t,[e])=>oo(t,e).reset(),[`${yn}end(J)V`]:(t,[e])=>{Sa(t).delete(e)},[`${vn}init(IIZ)J`]:(t,[,,e])=>{let n=Hm++;return Sa(t).set(n,new io(e===1)),n},[`${vn}deflateBytesBytes(J[BII[BIIII)J`]:(t,[,e,n,r,a,s,i,c,o])=>so(t,e,me(n,r,a),me(s,i,c),o),[`${vn}deflateBytesBuffer(J[BIIJIII)J`]:(t,[,e,n,r,a,s,i,c])=>so(t,e,me(n,r,a),Nt(t,s,i),c),[`${vn}deflateBufferBytes(JJI[BIIII)J`]:(t,[,e,n,r,a,s,i,c])=>so(t,e,Nt(t,n,r),me(a,s,i),c),[`${vn}deflateBufferBuffer(JJIJIII)J`]:(t,[,e,n,r,a,s,i])=>so(t,e,Nt(t,n,r),Nt(t,a,s),i),[`${vn}setDictionary(J[BII)V`]:(t,[e,n,r,a])=>Ds(t,e).setDictionary(me(n,r,a)),[`${vn}setDictionaryBuffer(JJI)V`]:(t,[e,n,r])=>Ds(t,e).setDictionary(Nt(t,n,r)),[`${vn}getAdler(J)I`]:(t,[e])=>Ds(t,e).checksum|0,[`${vn}reset(J)V`]:(t,[e])=>Ds(t,e).reset(),[`${vn}end(J)V`]:(t,[e])=>{Sa(t).delete(e)},"java/util/zip/CRC32.update(II)I":(t,[e,n])=>Bc(e,Uint8Array.of(n)),"java/util/zip/CRC32.updateBytes0(I[BII)I":(t,[e,n,r,a])=>Bc(e,me(n,r,a)),"java/util/zip/CRC32.updateByteBuffer0(IJII)I":(t,[e,n,r,a])=>Bc(e,Nt(t,n+BigInt(r),a)),"java/util/zip/Adler32.update(II)I":(t,[e,n])=>Rs(e,Uint8Array.of(n)),"java/util/zip/Adler32.updateBytes(I[BII)I":(t,[e,n,r,a])=>Rs(e,me(n,r,a)),"java/util/zip/Adler32.updateByteBuffer(IJII)I":(t,[e,n,r,a])=>Rs(e,Nt(t,n+BigInt(r),a))};var Be="sun/java2d/pipe/ShapeSpanIterator",Xm="sun/java2d/pipe/SpanClipRenderer",Uc=0,Us=1,Ce=2,Hr=3,Vs=4,Xt=0,Vn=1,_r=2,Cc=3,Ec=4,Pc=5,Dc=6,ct=7,qm=10,Vc=2147483647,Ym=1,vy=2,xy=4,jy=8,$=Math.fround;function Gn(t){return t!==t?0:t>=2147483647?2147483647:t<=-2147483648?-2147483648:t|0}var Km=t=>Gn(t*Vc);function Rc(t,e,n,r,a,s){n=$(n-t),r=$(r-e),a=$(a-t),s=$(s-e);let i=$($(a*n)+$(s*r)),c;return i<=0?c=0:(a=$(n-a),s=$(r-s),i=$($(a*n)+$(s*r)),i<=0?c=0:c=$($(i*i)/$($(n*n)+$(r*r)))),$($($(a*a)+$(s*s))-c)}function wy(t,e){let n=t*e;return Math.abs(n)<9007199254740992?n|0:Number(BigInt.asIntN(32,BigInt(t)*BigInt(e)))}function Iy(t,e,n){let r=t*n;if(Math.abs(r)<4503599627370496){let s=e+r;return[Math.floor(s/2147483648)|0,s|0]}let a=BigInt(e)+BigInt(t)*BigInt(n);return[Number(BigInt.asIntN(32,a>>31n)),Number(BigInt.asIntN(32,a))]}var Ja=class{state=Uc;evenodd=!1;first=!0;adjust;lox=0;loy=0;hix=0;hiy=0;curx=0;cury=0;movx=0;movy=0;adjx=0;adjy=0;pathlox=0;pathloy=0;pathhix=0;pathhiy=0;seg=new Int32Array(20*ct);numSegments=0;table=new Int32Array(0);lowSegment=0;curSegment=0;hiSegment=0;scratch=new Int32Array(4);constructor(e){this.adjust=e}boxPoint(e,n){this.first?(this.pathlox=this.pathhix=e,this.pathloy=this.pathhiy=n,this.first=!1):(this.pathlox>e&&(this.pathlox=e),this.pathloy>n&&(this.pathloy=n),this.pathhix<e&&(this.pathhix=e),this.pathhiy<n&&(this.pathhiy=n))}moveTo(e,n){if(this.close(),this.adjust){let r=$(Math.floor($(e+.25))+.25),a=$(Math.floor($(n+.25))+.25);this.adjx=$(r-e),this.adjy=$(a-n),e=r,n=a}this.movx=e,this.movy=n,this.boxPoint(e,n),this.curx=e,this.cury=n}lineTo(e,n){if(this.adjust){let r=$(Math.floor($(e+.25))+.25),a=$(Math.floor($(n+.25))+.25);this.adjx=$(r-e),this.adjy=$(a-n),e=r,n=a}this.subdivideLine(this.curx,this.cury,e,n),this.boxPoint(e,n),this.curx=e,this.cury=n}quadTo(e,n,r,a){if(this.adjust){let s=$(Math.floor($(r+.25))+.25),i=$(Math.floor($(a+.25))+.25),c=$(s-r),o=$(i-a);r=s,a=i,e=$(e+$($(this.adjx+o)/2)),n=$(n+$($(this.adjy+o)/2)),this.adjx=c,this.adjy=o}this.subdivideQuad(0,this.curx,this.cury,e,n,r,a),this.boxPoint(e,n),this.boxPoint(r,a),this.curx=r,this.cury=a}cubicTo(e,n,r,a,s,i){if(this.adjust){let c=$(Math.floor($(s+.25))+.25),o=$(Math.floor($(i+.25))+.25),u=$(c-s),l=$(o-i);s=c,i=o,e=$(e+this.adjx),n=$(n+this.adjy),r=$(r+u),a=$(a+l),this.adjx=u,this.adjy=l}this.subdivideCubic(0,this.curx,this.cury,e,n,r,a,s,i),this.boxPoint(e,n),this.boxPoint(r,a),this.boxPoint(s,i),this.curx=s,this.cury=i}close(){(this.curx!==this.movx||this.cury!==this.movy)&&(this.subdivideLine(this.curx,this.cury,this.movx,this.movy),this.curx=this.movx,this.cury=this.movy)}endPath(){this.close(),this.state=Hr}appendSegment(e,n,r,a){let s;if(n>a){let j=e;e=r,r=j,j=n,n=a,a=j,s=-1}else s=1;let i=Gn(Math.ceil($(n-.5))),c=Gn(Math.ceil($(a-.5)));if(i>=c||i>=this.hiy||c<=this.loy)return;if((this.numSegments+1)*ct>this.seg.length){let j=new Int32Array(this.seg.length*2);j.set(this.seg),this.seg=j}let o=$(r-e),u=$(a-n),l=$(o/u),d=$($($(i)+.5)-n);e=$(e+$($(d*o)/u));let f=Gn(Math.ceil($(e-.5))),m=Math.floor(l),p=Gn(m),b=Km(l-m),y=Km($(e-$($(f)-.5))),g=this.numSegments++*ct,h=this.seg;h[g+Xt]=f,h[g+Vn]=i,h[g+_r]=c,h[g+Cc]=y,h[g+Ec]=p,h[g+Pc]=b,h[g+Dc]=s}subdivideLine(e,n,r,a){let s=e<r?e:r,i=e<r?r:e,c=n<a?n:a;if(!((n<a?a:n)<=$(this.loy)||c>=$(this.hiy)||s>=$(this.hix))){if(i<=$(this.lox)){this.appendSegment(i,n,i,a);return}this.appendSegment(e,n,r,a)}}subdivideQuad(e,n,r,a,s,i,c){let[o,u]=Qm(n,a,i),[l,d]=Qm(r,s,c);if(!(d<=$(this.loy)||l>=$(this.hiy)||o>=$(this.hix))){if(u<=$(this.lox)){this.appendSegment(u,r,u,c);return}if(e<qm&&Rc(n,r,i,c,a,s)>1){let f=$($(n+a)/2),m=$($(a+i)/2);a=$($(f+m)/2);let p=$($(r+s)/2),b=$($(s+c)/2);s=$($(p+b)/2),e++,this.subdivideQuad(e,n,r,f,p,a,s),this.subdivideQuad(e,a,s,m,b,i,c);return}this.appendSegment(n,r,i,c)}}subdivideCubic(e,n,r,a,s,i,c,o,u){let[l,d]=eh(n,a,i,o),[f,m]=eh(r,s,c,u);if(!(m<=$(this.loy)||f>=$(this.hiy)||l>=$(this.hix))){if(d<=$(this.lox)){this.appendSegment(d,r,d,u);return}if(e<qm&&(Rc(n,r,o,u,a,s)>1||Rc(n,r,o,u,i,c)>1)){let p=$($(a+i)/2);a=$($(n+a)/2),i=$($(i+o)/2);let b=$($(a+p)/2),y=$($(p+i)/2);p=$($(b+y)/2);let g=$($(s+c)/2);s=$($(r+s)/2),c=$($(c+u)/2);let h=$($(s+g)/2),j=$($(g+c)/2);g=$($(h+j)/2),e++,this.subdivideCubic(e,n,r,a,s,b,h,p,g),this.subdivideCubic(e,p,g,y,j,i,c,o,u);return}this.appendSegment(n,r,o,u)}}appendPoly(e,n,r,a,s){let i=$(a),c=$(s);if(this.adjust&&(i=$(i+.25),c=$(c+.25)),r>0){let o=$($(e[0])+i),u=$($(n[0])+c),l=this.outcodes(o,u);this.movx=this.curx=o,this.movy=this.cury=u,this.pathlox=this.pathhix=o,this.pathloy=this.pathhiy=u,this.first=!1;for(let d=1;d<r;d++){if(o=$($(e[d])+i),u=$($(n[d])+c),u===this.cury){o!==this.curx&&(l=this.outcodes(o,u),this.curx=o,this.pathlox>o&&(this.pathlox=o),this.pathhix<o&&(this.pathhix=o));continue}let f=this.outcodes(o,u);l&=f,l===0?this.appendSegment(this.curx,this.cury,o,u):l===Ym&&this.appendSegment($(this.lox),this.cury,$(this.lox),u),this.pathlox>o&&(this.pathlox=o),this.pathloy>u&&(this.pathloy=u),this.pathhix<o&&(this.pathhix=o),this.pathhiy<u&&(this.pathhiy=u),l=f,this.curx=o,this.cury=u}}this.endPath()}outcodes(e,n){let r;return n<=$(this.loy)?r=xy:n>=$(this.hiy)?r=jy:r=0,e<=$(this.lox)?r|=Ym:e>=$(this.hix)&&(r|=vy),r}getPathBox(e){e[0]=Gn(Math.floor(this.pathlox)),e[1]=Gn(Math.floor(this.pathloy)),e[2]=Gn(Math.ceil(this.pathhix)),e[3]=Gn(Math.ceil(this.pathhiy))}intersectClipBox(e,n,r,a){e>this.lox&&(this.lox=e),n>this.loy&&(this.loy=n),r<this.hix&&(this.hix=r),a<this.hiy&&(this.hiy=a)}initSegmentTable(){let e=this.numSegments,n=this.seg,r=new Int32Array(e);for(let s=0;s<e;s++)r[s]=s;r.sort((s,i)=>(s*=ct,i*=ct,n[s+Vn]!==n[i+Vn]?n[s+Vn]<n[i+Vn]?-1:1:n[s+Xt]!==n[i+Xt]?n[s+Xt]<n[i+Xt]?-1:1:n[s+_r]!==n[i+_r]?n[s+_r]<n[i+_r]?-1:1:0)),this.table=r,this.state=Vs;let a=0;for(;a<e&&n[r[a]*ct+_r]<=this.loy;)a++;this.lowSegment=this.curSegment=this.hiSegment=a,this.loy=this.loy-1|0}nextSpan(e){this.state!==Vs&&this.initSegmentTable();let n=this.table,r=this.seg,a=this.numSegments,s=this.lowSegment,i=this.curSegment,c=this.hiSegment,o=this.loy,u=!1;for(;s<a;){if(i<c){let d=n[i]*ct,f=r[d+Xt];if(f>=this.hix){i=c;continue}f<this.lox&&(f=this.lox);let m;if(this.evenodd)i+=2,m=i<=c?r[n[i-1]*ct+Xt]:this.hix;else{let p=r[d+Dc];for(i++;;){if(i>=c){m=this.hix;break}if(d=n[i++]*ct,p+=r[d+Dc],p===0){m=r[d+Xt];break}}}if(m>this.hix&&(m=this.hix),m<=f)continue;e[0]=f,e[1]=o,e[2]=m,e[3]=o+1|0,u=!0;break}if(o=o+1|0,o>=this.hiy){s=i=c=a;break}let l=i=c;for(;--i>=s;){let d=n[i];r[d*ct+_r]>o&&(n[--l]=d)}if(s=l,s===c&&s<a){let d=r[n[s]*ct+Vn];o<d&&(o=d)}for(;c<a&&r[n[c]*ct+Vn]<=o;)c++;for(i=s;i<c;i++){let d=n[i],f=d*ct,m=r[f+Xt],p=r[f+Vn],b=r[f+Cc];if((p=p+1|0)===o)m=m+r[f+Ec]|0,b=b+r[f+Pc]|0,m=m-(b>>31)|0,b&=Vc;else{let y=o-(p-1|0);p=o,m=m+wy(y,r[f+Ec])|0;let[g,h]=Iy(y,b,r[f+Pc]);m=m+g|0,b=h&Vc}for(r[f+Xt]=m,r[f+Vn]=p,r[f+Cc]=b,l=i;l>s;l--){let y=n[l-1];if(r[y*ct+Xt]<=m)break;n[l]=y}n[l]=d}i=s}return this.lowSegment=s,this.hiSegment=c,this.curSegment=i,this.loy=o,u}skipDownTo(e){this.state!==Vs&&this.initSegmentTable(),this.loy<e&&(this.loy=e-1|0,this.curSegment=this.hiSegment)}};function Qm(t,e,n){return t<e?t<n?[t,e<n?n:e]:[n,e]:t<n?[e,n]:[e<n?e:n,t]}function eh(t,e,n,r){return t<e?n<r?[t<n?t:n,e<r?r:e]:[t<r?t:r,e<n?n:e]:n<r?[e<n?e:n,t<r?r:t]:[e<r?e:r,t<n?n:t]}function rh(t){return t.x instanceof Ja?t.x:null}function Gc(t){throw new A("java/lang/InternalError",t)}function xn(t){throw new A("java/lang/NullPointerException",t)}function at(t,e,n){let r=t.x;return r instanceof Ja?r.state<e||r.state>n?Gc("bad path delivery sequence"):r:xn("private data")}function th(t){if(t===null)return xn("int array");let e=t.a;if(e.length<4)throw new A("java/lang/ArrayIndexOutOfBoundsException","Array region 0..4 out of bounds for length "+e.length);return e}var Ma=t=>new A("java/lang/ArrayIndexOutOfBoundsException",t),zr="sun/java2d/pipe/RegionIterator",nh="sun/java2d/pipe/Region";function lo(t,e,n,r,a,s,i,c){let o=e+a*n+r|0,u=n-s|0;for(;--i>=0;){for(let l=0;l<s;l++)t[o++]=c;o+=u}}function ah(t,e,n,r,a,s){s===null&&xn("band array");let i=s.a;if(i.length<4)throw Ma("band array");if(n===null||e===null)return xn("alpha tile array");let c=t.vm,o=n.a,u=o.length,l=c.getField(e,zr,"curIndex"),d=c.getField(e,zr,"numXbands"),f=c.getField(e,zr,"region");if(f===null)return xn("region");let m=c.getField(f,nh,"bands");if(m===null)return xn("bands");let p=m.a,b=c.getField(f,nh,"endIndex");b>p.length&&(b=p.length);let y=i[0],g=i[1],h=i[2],j=i[3];if(u<r||u<(r+(h-y|0)|0)||((u-r-(h-y|0)|0)/a|0)<(j-g-1|0))throw Ma("alpha tile array");let x=l,w=d,v=j,I=j,J=h,O=y,S=0,M=0,T=0,F=0;for(;;){if(x=x+w*2|0,!(x+3<b)){w=0;break}if(M=p[x++],F=p[x++],w=p[x++],F<=g){d=w,l=x;continue}if(M>=j)break;M<g&&(M=g),F>j&&(F=j);let N=y;for(;w>0&&x+2<=b;)if(w--,S=p[x++],T=p[x++],!(T<=y)){if(S>=h)break;if(S<y&&(S=y),I<M&&lo(o,r,a,0,I-g,h-y,M-I,0),I=F,J>S&&(J=S),N<S&&lo(o,r,a,N-y,M-g,S-N,F-M,0),N=T,N>=h){N=h;break}}N>y&&(N<h&&lo(o,r,a,N-y,M-g,h-N,F-M,0),v>M&&(v=M)),O<N&&(O=N)}i[0]=J,i[1]=v,i[2]=O,i[3]=I,c.setField(e,zr,"curIndex",l),c.setField(e,zr,"numXbands",d)}function ky(t,e,n,r,a,s){s===null&&xn("band array");let i=s.a;if(i.length<4)throw Ma("band array");if(n===null)return xn("alpha tile array");let c=n.a,o=i[2]-i[0]|0,u=i[3]-i[1]|0;if(c.length<r||((c.length-r|0)/a|0)<u)throw Ma("alpha tile array");lo(c,r,a,0,0,o,u,-1),ah(t,e,n,r,a,s)}var sh={[`${Be}.setNormalize(Z)V`]:(t,[e,n])=>{e.x instanceof Ja&&Gc("private data already initialized"),e.x=new Ja(!!n)},[`${Be}.setOutputAreaXYXY(IIII)V`]:(t,[e,n,r,a,s])=>{let i=at(e,Uc,Uc);i.lox=n,i.loy=r,i.hix=a,i.hiy=s,i.state=Us},[`${Be}.setRule(I)V`]:(t,[e,n])=>{let r=at(e,Us,Us);r.evenodd=n===0,r.state=Ce},[`${Be}.addSegment(I[F)V`]:(t,[e,n,r])=>{let a=at(e,Ce,Ce);r===null&&xn("coords");let s=r.a;if(s.length<6)throw Ma(`Array region 0..6 out of bounds for length ${s.length}`);switch(n){case 0:a.moveTo(s[0],s[1]);break;case 1:a.lineTo(s[0],s[1]);break;case 2:a.quadTo(s[0],s[1],s[2],s[3]);break;case 3:a.cubicTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case 4:a.close();break;default:Gc("bad path segment type")}},[`${Be}.getPathBox([I)V`]:(t,[e,n])=>{at(e,Hr,Hr).getPathBox(th(n))},[`${Be}.intersectClipBox(IIII)V`]:(t,[e,n,r,a,s])=>{at(e,Hr,Hr).intersectClipBox(n,r,a,s)},[`${Be}.nextSpan([I)Z`]:(t,[e,n])=>{let r=at(e,Hr,Vs);return r.nextSpan(r.scratch)?(th(n).set(r.scratch),1):0},[`${Be}.skipDownTo(I)V`]:(t,[e,n])=>{at(e,Hr,Vs).skipDownTo(n)},[`${Be}.getNativeIterator()J`]:()=>1n,[`${Be}.dispose()V`]:(t,[e])=>{e.x=null},[`${Be}.appendPoly([I[IIII)V`]:(t,[e,n,r,a,s,i])=>{let c=at(e,Us,Us);c.evenodd=!0,c.state=Ce,(n===null||r===null)&&xn("polygon data arrays");let o=n.a,u=r.a;if(o.length<a||u.length<a)throw Ma("polygon data arrays");c.appendPoly(o,u,a,s,i)},[`${Be}.moveTo(FF)V`]:(t,[e,n,r])=>at(e,Ce,Ce).moveTo(n,r),[`${Be}.lineTo(FF)V`]:(t,[e,n,r])=>at(e,Ce,Ce).lineTo(n,r),[`${Be}.quadTo(FFFF)V`]:(t,[e,n,r,a,s])=>at(e,Ce,Ce).quadTo(n,r,a,s),[`${Be}.curveTo(FFFFFF)V`]:(t,[e,n,r,a,s,i,c])=>at(e,Ce,Ce).cubicTo(n,r,a,s,i,c),[`${Be}.closePath()V`]:(t,[e])=>at(e,Ce,Ce).close(),[`${Be}.pathDone()V`]:(t,[e])=>at(e,Ce,Ce).endPath(),[`${Be}.getNativeConsumer()J`]:(t,[e])=>(at(e,Ce,Ce),1n),[`${Xm}.fillTile(L${zr};[BII[I)V`]:(t,[,e,n,r,a,s])=>ky(t,e,n,r,a,s),[`${Xm}.eraseTile(L${zr};[BII[I)V`]:(t,[,e,n,r,a,s])=>ah(t,e,n,r,a,s)};var Zr=class t{u8=null;i32=null;u16=null;lut=null;lutSize=0;icm=null;cdata=null;bpp=0;bo=0;off;ps;scan;w;h;constructor(e,n,r,a,s,i){this.off=n,this.ps=r,this.scan=a,this.w=s,this.h=i,e instanceof Int32Array?this.i32=e:e instanceof Int16Array?this.u16=new Uint16Array(e.buffer,e.byteOffset,e.length):e instanceof Int8Array&&(this.u8=new Uint8Array(e.buffer,e.byteOffset,e.length))}at(e,n,r){return Object.assign(Object.create(t.prototype),this,{off:e,w:n,h:r})}},ch=new Uint8Array(65536),_c=new Uint8Array(65536);for(let t=1;t<256;t++){let e=(t<<16)+(t<<8)+t,n=e+(1<<23);for(let a=1;a<256;a++)ch[t<<8|a]=n>>>24,n+=e;let r=Math.floor((255*16777216+(t>>1))/t);n=1<<23;for(let a=0;a<t;a++)_c[t<<8|a]=Math.floor(n/16777216),n+=r;for(let a=t;a<256;a++)_c[t<<8|a]=255}var E=(t,e)=>ch[t<<8|e],he=(t,e)=>_c[e<<8|t],Wr=(t,e,n)=>77*t+150*e+29*n+128>>8;function jn(t,e,n,r,a,s=!1){return{ps:t,opaque:e,pre:n,gray:s,rd:r,wr:a}}var $a=(t,e)=>t<<8-e|t>>2*e-8,V={IntArgb:jn(4,!1,!1,(t,e)=>t.i32[e>>2],(t,e,n)=>{t.i32[e>>2]=n}),IntArgbPre:jn(4,!1,!0,(t,e)=>t.i32[e>>2],(t,e,n)=>{t.i32[e>>2]=n}),IntRgb:{...jn(4,!0,!1,(t,e)=>t.i32[e>>2]|4278190080,(t,e,n)=>{t.i32[e>>2]=n&16777215}),wrWord:(t,e,n)=>{t.i32[e>>2]=n}},IntBgr:jn(4,!0,!1,(t,e)=>{let n=t.i32[e>>2];return 4278190080|(n&255)<<16|n&65280|n>>16&255},(t,e,n)=>{t.i32[e>>2]=(n&255)<<16|n&65280|n>>16&255}),ThreeByteBgr:jn(3,!0,!1,(t,e)=>4278190080|t.u8[e+2]<<16|t.u8[e+1]<<8|t.u8[e],(t,e,n)=>{t.u8[e]=n,t.u8[e+1]=n>>8,t.u8[e+2]=n>>16}),FourByteAbgr:jn(4,!1,!1,ih,oh),FourByteAbgrPre:jn(4,!1,!0,ih,oh),ByteGray:jn(1,!0,!1,(t,e)=>4278190080|t.u8[e]*65793,(t,e,n)=>{t.u8[e]=Wr(n>>16&255,n>>8&255,n&255)},!0),Ushort565Rgb:jn(2,!0,!1,(t,e)=>{let n=t.u16[e>>1];return 4278190080|$a(n>>11&31,5)<<16|$a(n>>5&63,6)<<8|$a(n&31,5)},(t,e,n)=>{t.u16[e>>1]=(n>>19&31)<<11|(n>>10&63)<<5|n>>3&31}),Ushort555Rgb:jn(2,!0,!1,(t,e)=>{let n=t.u16[e>>1];return 4278190080|$a(n>>10&31,5)<<16|$a(n>>5&31,5)<<8|$a(n&31,5)},(t,e,n)=>{t.u16[e>>1]=(n>>19&31)<<10|(n>>11&31)<<5|n>>3&31})};function ih(t,e){let n=t.u8;return n[e]<<24|n[e+3]<<16|n[e+2]<<8|n[e+1]}function oh(t,e,n){let r=t.u8;r[e]=n>>>24,r[e+1]=n,r[e+2]=n>>8,r[e+3]=n>>16}function uh(t,e,n){let r=t.rd(e,n);if(!t.pre)return r;let a=r>>>24;return a===255||a===0?r:a<<24|he(r>>16&255,a)<<16|he(r>>8&255,a)<<8|he(r&255,a)}function Gs(t){let e=t>>>24;return e===255?t:e<<24|E(e,t>>16&255)<<16|E(e,t>>8&255)<<8|E(e,t&255)}function fh(t,e,n,r,a=0){t.wr(e,n,t.pre?Gs(r):r,a)}function Hc(t,e,n){return t.rdPre?t.rdPre(e,n):t.pre?t.rd(e,n):Gs(t.rd(e,n))}var wn=[0,0,0],co=[0,0,255],uo=[255,0,0],lr=[255,-1,256],Xr=[[wn,wn],[wn,wn],[co,wn],[co,lr],[lr,co],[uo,wn],[wn,uo],[lr,wn],[wn,lr],[wn,co],[uo,lr],[lr,uo],[lr,lr]];function dh(t){return Math.fround(t*255)+.5|0}function zc(t,e){let n=e>>16&255,r=e>>8&255,a=e&255;return t.gray&&(n=r=a=Wr(n,r,a)),{a:e>>>24,r:n,g:r,b:a}}var cr=(t,e,n)=>((t?t.dy:0)+n&7)<<3|(t?t.dx:0)+e&7;function mh(t){return(e,n,r,a,s,i,c,o)=>{let u=zc(t,o),l=u.a,d=u.r,f=u.g,m=u.b,p;l===0?(d=f=m=0,p=0):(p=l<<24|u.r<<16|u.g<<8|u.b,l!==255&&(d=E(l,d),f=E(l,f),m=E(l,m)),t.pre&&(p=l<<24|d<<16|f<<8|m));let b=l!==0&&t.opaque&&!t.gray?o:p,y=t.wrWord??t.wr;for(let g=0;g<c;g++){let h=n+g*e.scan;for(let j=0;j<i;j++,h+=t.ps){let x=r?r[a+g*s+j]:255;if(x===0)continue;if(x===255){y(e,h,b);continue}let w=255-x,v=t.rd(e,h),I=E(w,v>>>24),J=t.pre?w:I;I+=E(x,l);let O=E(J,v>>16&255)+E(x,d),S=E(J,v>>8&255)+E(x,f),M=E(J,v&255)+E(x,m);!t.pre&&I&&I<255&&(O=he(O,I),S=he(S,I),M=he(M,I)),t.wr(e,h,I<<24|O<<16|S<<8|M)}}}}function hh(t){return(e,n,r,a,s,i,c,o)=>{let u=zc(t,o),l=u.a,d=u.r,f=u.g,m=u.b;if(l!==255){if(l===0)return;d=E(l,d),f=E(l,f),m=E(l,m)}for(let p=0;p<c;p++){let b=n+p*e.scan;for(let y=0;y<i;y++,b+=t.ps){let g=255,h,j,x,w;if(r){if(g=r[a+p*s+y],g===0)continue;if(g!==255?(h=E(g,l),j=E(g,d),x=E(g,f),w=E(g,m)):(h=l,j=d,x=f,w=m),h!==255){let v=255-h,I=t.rd(e,b),J=E(v,I>>>24);if(t.pre||(v=J),h+=J,v){let O=I>>16&255,S=I>>8&255,M=I&255;v!==255&&(O=E(v,O),S=E(v,S),M=E(v,M)),j+=O,x+=S,w+=M}}!t.opaque&&!t.pre&&h&&h<255&&(j=he(j,h),x=he(x,h),w=he(w,h))}else{let v=255-l,I=t.rd(e,b);h=E(v,I>>>24),t.pre||(v=h),h+=l,j=E(v,I>>16&255)+d,x=E(v,I>>8&255)+f,w=E(v,I&255)+m,!t.opaque&&!t.pre&&h&&h<255&&(j=he(j,h),x=he(x,h),w=he(w,h))}t.wr(e,b,h<<24|j<<16|x<<8|w)}}}}function _s(t){return(e,n,r,a,s,i,c,o,u,l)=>{let d=zc(t,o),f=d.a,m=d.r,p=d.g,b=d.b;f!==255&&(m=E(f,m),p=E(f,p),b=E(f,b));let[[y,g,h],[j,x,w]]=Xr[u],v=(f&j^x)+w,I=r!==null||(j|w)!==0||y!==0;for(let J=0;J<c;J++){let O=n+J*e.scan;for(let S=0;S<i;S++,O+=t.ps){let M=255,T=v;if(r&&(M=r[a+J*s+S],M===0))continue;let F=0,N=0;I&&(N=t.rd(e,O),F=N>>>24);let C=(F&y^g)+h;M!==255&&(C=E(M,C),T=255-M+E(M,T));let L,R,U,D;if(C)C===255?(L=f,R=m,U=p,D=b):(L=E(C,f),R=E(C,m),U=E(C,p),D=E(C,b));else{if(T===255)continue;L=R=U=D=0}if(T&&(F=E(T,F),L+=F,t.pre&&(F=T),F)){let G=N>>16&255,q=N>>8&255,P=N&255;F!==255&&(G=E(F,G),q=E(F,q),P=E(F,P)),R+=G,U+=q,D+=P}!t.pre&&L&&L<255&&(R=he(R,L),U=he(U,L),D=he(D,L)),t.wr(e,O,L<<24|R<<16|U<<8|D,cr(l,S,J))}}}}function bh(t,e,n){if(!e.gray)return n;let r=Wr(n>>16&255,n>>8&255,n&255);return n&4278190080|r*65793}function Zc(t,e){return(n,r,a,s,i,c,o,u,l,d,f)=>{for(let m=0;m<l;m++){let p=r+m*n.scan,b=s+m*a.scan;for(let y=0;y<u;y++,p+=e.ps,b+=t.ps){let g=255;if(i){if(g=i[c+m*o+y],g===0)continue;g=E(g,f)}else g=f;let h=t.rd(a,b),j=E(g,h>>>24);if(!j)continue;let x=t.pre?g:j,w=bh(t,e,h),v=w>>16&255,I=w>>8&255,J=w&255;if(j<255){let O=e.rd(n,p),S=255-j,M=E(S,O>>>24);e.pre||(S=M),j+=M,v=E(S,O>>16&255)+E(x,v),I=E(S,O>>8&255)+E(x,I),J=E(S,O&255)+E(x,J)}else x<255&&(v=E(x,v),I=E(x,I),J=E(x,J));!e.opaque&&!e.pre&&j&&j<255&&(v=he(v,j),I=he(I,j),J=he(J,j)),e.wr(n,p,j<<24|v<<16|I<<8|J)}}}}function ur(t,e){return(n,r,a,s,i,c,o,u,l,d,f,m)=>{let[[p,b,y],[g,h,j]]=Xr[d],x=(p|y)!==0||g!==0,w=i!==null||(g|j)!==0||p!==0;for(let v=0;v<l;v++){let I=r+v*n.scan,J=s+v*a.scan;for(let O=0;O<u;O++,I+=e.ps,J+=t.ps){let S=255;if(i&&(S=i[c+v*o+O],S===0))continue;let M=0,T=0,F=0,N=0;x&&(F=t.rd(a,J),M=E(f,F>>>24)),w&&(N=e.rd(n,I),T=N>>>24);let C=(T&p^b)+y,L=(M&g^h)+j;S!==255&&(C=E(S,C),L=255-S+E(S,L));let R=0,U=0,D=0,G=0;if(C){if(R=E(C,M),C=t.pre?E(C,f):R,C){let q=bh(t,e,F);U=q>>16&255,D=q>>8&255,G=q&255,C!==255&&(U=E(C,U),D=E(C,D),G=E(C,G))}else if(L===255)continue}else{if(L===255)continue;R=0}if(L&&(T=E(L,T),e.pre||(L=T),R+=T,L)){let q=N>>16&255,P=N>>8&255,ee=N&255;L!==255&&(q=E(L,q),P=E(L,P),ee=E(L,ee)),U+=q,D+=P,G+=ee}!e.pre&&R&&R<255&&(U=he(U,R),D=he(D,R),G=he(G,R)),e.wr(n,I,R<<24|U<<16|D<<8|G,cr(m,O,v))}}}}function Ay(t){return(e,n,r,a,s,i)=>{let c=s*t,u=(e.i32??e.u16??e.u8)===(r.i32??r.u16??r.u8)&&n>a;for(let l=0;l<i;l++){let d=u?i-1-l:l,f=n+d*e.scan,m=a+d*r.scan;e.i32?e.i32.copyWithin(f>>2,m>>2,m+c>>2):e.u16?e.u16.copyWithin(f>>1,m>>1,m+c>>1):e.u8.copyWithin(f,m,m+c)}}}function lh(t,e,n){return t.i32?t.i32.subarray(e>>2,e+n>>2):t.u16?t.u16.subarray(e>>1,e+n>>1):t.u8.subarray(e,e+n)}function qr(t){let e=Ay(t);return(n,r,a,s,i,c)=>{if((n.i32??n.u16??n.u8)===(a.i32??a.u16??a.u8))return e(n,r,a,s,i,c);let o=i*t;for(let u=0;u<c;u++)lh(n,r+u*n.scan,o).set(lh(a,s+u*a.scan,o))}}function Bt(t,e){return(n,r,a,s,i,c,o)=>{for(let u=0;u<c;u++){let l=r+u*n.scan,d=s+u*a.scan;for(let f=0;f<i;f++,l+=e.ps,d+=t.ps)fh(e,n,l,uh(t,a,d),cr(o,f,u))}}}var ph=t=>t<<16|t&65280|t>>16&255;function gh(){return(t,e,n,r,a,s)=>{for(let i=0;i<s;i++){let c=e+i*t.scan>>2,o=r+i*n.scan>>2;for(let u=0;u<a;u++)t.i32[c++]=ph(n.i32[o++])}}}function yh(){return(t,e,n,r,a,s,i,c,o,u,l)=>{for(let d=0;d<s;d++,c+=u){let f=r+(c>>l)*n.scan,m=e+d*t.scan>>2,p=i;for(let b=0;b<a;b++,p+=o)t.i32[m++]=ph(n.i32[f+(p>>l)*4>>2])}}}function Yr(t){return(e,n,r,a,s,i,c,o,u,l,d)=>{for(let f=0;f<i;f++,o+=l){let m=a+(o>>d)*r.scan,p=n+f*e.scan,b=c;for(let y=0;y<s;y++,p+=t,b+=u){let g=m+(b>>d)*t;if(e.i32)e.i32[p>>2]=r.i32[g>>2];else if(e.u16)e.u16[p>>1]=r.u16[g>>1];else for(let h=0;h<t;h++)e.u8[p+h]=r.u8[g+h]}}}}function _n(t,e){return(n,r,a,s,i,c,o,u,l,d,f,m)=>{for(let p=0;p<c;p++,u+=d){let b=s+(u>>f)*a.scan,y=r+p*n.scan,g=o;for(let h=0;h<i;h++,y+=e.ps,g+=l)fh(e,n,y,uh(t,a,b+(g>>f)*t.ps),cr(m,h,p))}}}var In="sun/java2d/loops/",fo=In+"GraphicsPrimitive",Hs=[{cls:"",src:"",comp:"",dst:"",fn:null}];function ve(t,e,n,r,a=null){Hs.push({cls:t,src:e,comp:n,dst:r,fn:a})}function Se(t,e){if(e===null)throw new A("java/lang/NullPointerException","surfaceData");let n=e.x;if(n)return n;if(e.cls.name==="sun/java2d/NullSurfaceData")return null;throw t.vm.getField(e,"sun/java2d/SurfaceData","valid")?new A("java/lang/NullPointerException","native ops missing"):new A("sun/java2d/InvalidPipeException","invalid data")}function ut(t,e){let n=Hs[Number(t.getField(e,fo,"pNativePrim"))];if(!n||!n.cls)throw new A("java/lang/InternalError","Non-native Primitive invoked natively");return n}var ft=t=>t>=2147483647?2147483647:t<=-2147483648?-2147483648:t!==t?0:Math.trunc(t);function We(t,e){if(e===null)return{x1:-2147483648,y1:-2147483648,x2:2147483647,y2:2147483647};let n=r=>t.getField(e,"sun/java2d/pipe/Region",r);return{x1:n("lox"),y1:n("loy"),x2:n("hix"),y2:n("hiy")}}function be(t,e,n,r,a){t.x1<e&&(t.x1=e),t.y1<n&&(t.y1=n),t.x2>r&&(t.x2=r),t.y2>a&&(t.y2=a)}function vh(t,e,n,r,a){be(t,e,n,r<=0?e:e+r|0,a<=0?n:n+a|0)}function*Ta(t,e,n){if(n.x1>=n.x2||n.y1>=n.y2)return;let r=t.vm,a=e?r.getField(e,"sun/java2d/pipe/Region","endIndex"):0;if(a===0){yield{...n};return}let s=r.getField(e,"sun/java2d/pipe/Region","bands").a,i=0;for(;i<a;){let c=s[i++];if(c>=n.y2)return;c<n.y1&&(c=n.y1);let o=s[i++],u=s[i++];if(o>n.y2&&(o=n.y2),o<=c){i+=u*2;continue}for(;u-- >0;){let l=s[i++],d=s[i++];if(l>=n.x2){i+=u*2;break}l<n.x1&&(l=n.x1),d>n.x2&&(d=n.x2),d>l&&(yield{x1:l,y1:c,x2:d,y2:o})}}}function Kr(t,e){return e?{ea:t.getField(e,"java/awt/AlphaComposite","extraAlpha"),rule:t.getField(e,"java/awt/AlphaComposite","rule"),extra:dh(t.getField(e,"java/awt/AlphaComposite","extraAlpha"))}:{rule:0,extra:0,ea:0}}function qt(t,e,n){if(t.i32)t.i32[e>>2]=n;else if(t.u16)t.u16[e>>1]=n;else{let r=t.u8;r[e]=n,t.ps>1&&(r[e+1]=n>>8,r[e+2]=n>>16,t.ps>3&&(r[e+3]=n>>24))}}function dt(t,e){return be(t,0,0,e.w,e.h),t.x2>t.x1&&t.y2>t.y1}var st=(t,e,n)=>t.getField(e,"sun/java2d/SunGraphics2D",n);function zs(t,e,n){if(t.i32)t.i32[e>>2]^=n;else if(t.u16)t.u16[e>>1]^=n;else{let r=t.u8;r[e]^=n,t.ps>1&&(r[e+1]^=n>>8,r[e+2]^=n>>16,t.ps>3&&(r[e+3]^=n>>24))}}var xh=(t,e)=>e&1?t.ps:e&2?-t.ps:e&4?t.scan:e&8?-t.scan:0;function Ih(t,e,n,r,a,s,i,c,o,u){let l=xh(t,s),d=xh(t,c)+l,f=t.off+n*t.scan+e*t.ps;if(i===0)do u(f),f+=l;while(--r>0);else do u(f),a<0?(f+=l,a=a+i|0):(f+=d,a=a-o|0);while(--r>0)}var mo={fill(t,e,n,r,a,s){for(let i=n;i<a;i++){let c=t.off+i*t.scan+e*t.ps;if(t.i32)t.i32.fill(s,c>>2,(c>>2)+r-e);else if(t.u16)t.u16.fill(s,c>>1,(c>>1)+r-e);else if(t.ps===1)t.u8.fill(s&255,c,c+r-e);else for(let o=0,u=c;o<r-e;o++,u+=t.ps)qt(t,u,s)}},run(t,e,n,r,a,s,i,c,o,u){Ih(t,e,n,a,s,i,c,o,u,l=>qt(t,l,r))},put(t,e,n,r){qt(t,t.off+n*t.scan+e*t.ps,r)}};function kh(t,e){let n=r=>(r^t)&~e;return{fill(r,a,s,i,c,o){let u=n(o);for(let l=s;l<c;l++)for(let d=a,f=r.off+l*r.scan+a*r.ps;d<i;d++,f+=r.ps)zs(r,f,u)},run(r,a,s,i,c,o,u,l,d,f){let m=n(i);Ih(r,a,s,c,o,u,l,d,f,p=>zs(r,p,m))},put(r,a,s,i){zs(r,r.off+s*r.scan+a*r.ps,n(i))}}}var Sy="sun/java2d/SunGraphics2D",jh="sun/java2d/loops/XORComposite";function fr(t,e,n){let r=ut(t,e);if(r.comp!=="Xor")return r.fn(0,0);let a=t.getField(n,Sy,"composite");return r.fn(t.getField(a,jh,"xorPixel"),t.getField(a,jh,"alphaMask"))}var wh=t=>t<<8|t>>>24,Ct={IntArgb:t=>t,IntArgbPre:Gs,IntRgb:t=>t,IntBgr:t=>t<<16|t&65280|t>>16&255,ThreeByteBgr:t=>t,FourByteAbgr:wh,FourByteAbgrPre:t=>wh(Gs(t)),ByteGray:t=>Wr(t>>16&255,t>>8&255,t&255),Ushort565Rgb:t=>t>>8&63488|t>>5&2016|t>>3&31,Ushort555Rgb:t=>t>>9&31744|t>>6&992|t>>3&31};function Fa(t){let e=Ct[t];return(n,r,a,s,i,c,o)=>{for(let u=0;u<c;u++){let l=r+u*n.scan,d=s+u*a.scan;for(let f=0;f<i;f++,l+=n.ps,d+=4){let m=a.i32[d>>2];m>=0||zs(n,l,(e(m,n)^o.xor)&~o.mask)}}}}function Jy(t,e){if(t.i32)return t.i32[e>>2];if(t.u16)return t.u16[e>>1];let n=t.u8,r=n[e];return t.ps>1&&(r|=n[e+1]<<8|n[e+2]<<16),t.ps>3&&(r|=n[e+3]<<24),r}var ho=(t,e,n,r,a,s,i)=>{for(let c=0;c<s;c++){let o=e+c*t.scan,u=r+c*n.scan;for(let l=0;l<a;l++,o+=t.ps,u+=n.ps)zs(t,o,Jy(n,u)^i.xor)}};var My=(t,e,n)=>(19672*t+38621*e+7500*n)/256&65535,Qr=t=>My(t>>16&255,t>>8&255,t&255),le=(t,e)=>Math.floor((t*e>>>0)/65535),Wc=(t,e)=>Math.floor((t*65535>>>0)/e),Yt=t=>(t<<8)+t;V.UshortGray={ps:2,opaque:!0,pre:!1,gray:!0,rd:(t,e)=>4278190080|(t.u16[e>>1]>>8)*65793,wr:(t,e,n)=>{t.u16[e>>1]=Qr(n)}};Ct.UshortGray=Qr;function bo([t,e,n]){let r=n+e;return{and:Yt(t),xor:e,add:Yt(r)-e}}var po=(t,e)=>(e&t.and^t.xor)+t.add|0,Ah=t=>Math.floor(t.ea*65535+.5),$y=(t,e,n,r,a,s,i,c)=>{let o=Yt(c>>>24),u=Qr(c),l;o===0?(u=0,l=0):(l=u,o!==65535&&(u=le(o,u)));for(let d=0;d<i;d++){let f=e+d*t.scan;for(let m=0;m<s;m++,f+=2){if(n){let p=n[r+d*a+m];if(p===0)continue;if(p!==255){p=Yt(p);let b=65535-p,y=le(b,65535);b=y,y+=le(p,o);let g=Math.floor((b*t.u16[f>>1]+p*u>>>0)/65535);y&&y<65535&&(g=Wc(g,y)),t.u16[f>>1]=g;continue}}t.u16[f>>1]=l}}},Ty=(t,e,n,r,a,s,i,c)=>{let o=Yt(c>>>24),u=Qr(c);if(o!==65535){if(o===0)return;u=le(o,u)}for(let l=0;l<i;l++){let d=e+l*t.scan;for(let f=0;f<s;f++,d+=2){let m,p;if(n){let b=n[r+l*a+f];if(b===0)continue;if(b!==255?(b=Yt(b),m=le(b,o),p=le(b,u)):(m=o,p=u),m!==65535){let y=65535-m,g=le(y,65535);if(y=g,m+=g,y){let h=t.u16[d>>1];y!==65535&&(h=le(y,h)),p+=h}}}else{let b=65535-o;m=le(b,65535),b=m,m+=o,p=le(b,t.u16[d>>1])+u}t.u16[d>>1]=p}}},Fy=(t,e,n,r,a,s,i,c,o)=>{let u=Yt(c>>>24),l=Qr(c);u!==65535&&(l=le(u,l));let d=bo(Xr[o][0]),f=bo(Xr[o][1]),m=n!==null||(f.and|f.add)!==0||d.and!==0,p=po(f,u);for(let b=0;b<i;b++){let y=e+b*t.scan;for(let g=0;g<s;g++,y+=2){let h=65535,j=p;if(n){if(h=n[r+b*a+g],h===0)continue;h=Yt(h)}let x=m?65535:0,w=po(d,x);h!==65535&&(w=le(h,w),j=65535-h+le(h,j));let v,I;if(w)w===65535?(v=u,I=l):(v=le(w,u),I=le(w,l));else{if(j===65535)continue;v=0,I=0}if(j&&(x=le(j,x),v+=x,x)){let J=t.u16[y>>1];x!==65535&&(J=le(x,J)),I+=J}v&&v<65535&&(I=Wc(I,v)),t.u16[y>>1]=I}}},Sh=(t,e)=>t.opaque?65535:Yt(e>>>24);function Oy(t){return(e,n,r,a,s,i,c,o,u,l,d,f)=>{let m=Ah(f);for(let p=0;p<u;p++){let b=n+p*e.scan,y=a+p*r.scan;for(let g=0;g<o;g++,b+=2,y+=4){let h=65535;if(s){if(h=s[i+p*c+g],h===0)continue;h=le(Yt(h),m)}else h=m;let j=t.rd(r,y),x=le(h,Sh(t,j));if(!x)continue;let w=t.pre?h:x,v=Qr(j);if(x<65535){let I=65535-x,J=le(I,65535);I=J,x+=J,v=Math.floor((I*e.u16[b>>1]+w*v>>>0)/65535)}else w<65535&&(v=le(w,v));e.u16[b>>1]=v}}}}function Ly(t){return(e,n,r,a,s,i,c,o,u,l,d,f)=>{let m=Ah(f),p=bo(Xr[l][0]),b=bo(Xr[l][1]),y=(p.and|p.add)!==0||b.and!==0,g=s!==null||(b.and|b.add)!==0||p.and!==0;for(let h=0;h<u;h++){let j=n+h*e.scan,x=a+h*r.scan;for(let w=0;w<o;w++,j+=2,x+=4){let v=65535;if(s){if(v=s[i+h*c+w],v===0)continue;v=Yt(v)}let I=0,J=0,O=0;y&&(O=t.rd(r,x),I=le(m,Sh(t,O))),g&&(J=65535);let S=po(p,J),M=po(b,I);v!==65535&&(S=le(v,S),M=65535-v+le(v,M));let T=0,F=0;if(S){if(T=le(S,I),S=t.pre?le(S,m):T,S)F=Qr(O),S!==65535&&(F=le(S,F));else if(M===65535)continue}else if(M===65535)continue;if(M&&(J=le(M,J),M=J,T+=J,M)){let N=e.u16[j>>1];M!==65535&&(N=le(M,N)),F+=N}T&&T<65535&&(F=Wc(F,T)),e.u16[j>>1]=F}}}}function Jh(t){let e=V.UshortGray,n=(r,a=r)=>{t("Blit",r,"SrcNoEa","UshortGray",Bt(V[a],e)),t("ScaledBlit",r,"SrcNoEa","UshortGray",_n(V[a],e))};t("Blit","UshortGray","SrcNoEa","UshortGray",qr(2)),t("ScaledBlit","UshortGray","SrcNoEa","UshortGray",Yr(2)),t("Blit","UshortGray","Xor","UshortGray",ho),t("Blit","UshortGray","SrcNoEa","IntArgb",Bt(e,V.IntArgb)),t("ScaledBlit","UshortGray","SrcNoEa","IntArgb",_n(e,V.IntArgb)),t("Blit","UshortGray","SrcNoEa","ByteGray",Bt(e,V.ByteGray)),t("ScaledBlit","UshortGray","SrcNoEa","ByteGray",_n(e,V.ByteGray)),n("IntArgb"),n("IntRgb","IntArgb"),n("ThreeByteBgr"),n("ByteGray"),t("Blit","IntArgb","Xor","UshortGray",Fa("UshortGray")),t("MaskFill","AnyColor","Src","UshortGray",$y),t("MaskFill","AnyColor","SrcOver","UshortGray",Ty),t("MaskFill","AnyColor","AnyAlpha","UshortGray",Fy);for(let r of["IntArgb","IntArgbPre"])t("MaskBlit",r,"SrcOver","UshortGray",Oy(V[r]));for(let r of["IntArgb","IntArgbPre","IntRgb"])t("MaskBlit",r,"AnyAlpha","UshortGray",Ly(V[r]))}function yo(t,e,n){t.used[e]||(t.used[e]=1,t.lut[e]=n,t.rgb[t.active]=e,t.indices[t.active]=n,t.active++)}function Xc(t,e,n,r,a){(t&e)+n<=e&&yo(r,t+n,a),(t&e)>=n&&yo(r,t-n,a)}function Fh(t){let e={used:t.used,lut:t.lut,rgb:new Uint16Array(6*t.active),indices:new Uint8Array(6*t.active),active:0};for(let n=t.active-1;n>=0;n--){let r=t.rgb[n],a=t.indices[n];Xc(r,31744,1024,e,a),Xc(r,992,32,e,a),Xc(r,31,1,e,a)}e.active&&Fh(e)}function Ny(t,e){let n={used:new Uint8Array(32768),lut:new Uint8Array(32768),rgb:new Uint16Array(e),indices:new Uint8Array(e),active:0},r=s=>(s&16252928)>>9|(s&63488)>>6|(s&248)>>3,a=(e>>1)+(e&1);for(let s=0;s<a;s++)yo(n,r(t[s]),s&255),yo(n,r(t[e-s-1]),e-s-1&255);return Fh(n),n.lut}function By(t,e){for(let r=0;r<32;r+=31)for(let a=0;a<32;a+=31)for(let s=0;s<32;s+=31){let i=t[e[r+32*(a+32*s)]],c=i>>16&255,o=i>>8&255,u=i&255;if((r===0?u>5:u<250)||(a===0?o>5:o<250)||(s===0?c>5:c<250))return!1}return!0}function qc(t,e){let n=new Int8Array(64);for(let r=1;r<8;r*=2)for(let a=0;a<r;a++)for(let s=0;s<r;s++)n[(a<<3)+s]=n[(a<<3)+s]*4,n[(a+r<<3)+s+r]=n[(a<<3)+s]+1,n[(a<<3)+s+r]=n[(a<<3)+s]+2,n[(a+r<<3)+s]=n[(a<<3)+s]+3;for(let r=0;r<64;r++)n[r]=Math.trunc(n[r]*(e-t)/64)+t;return n}var Yc=(()=>{let t=Math.trunc(256/Math.pow(256,.3333333333333333)),e=qc(-t>>1,t>>1),n=qc(-t>>1,t>>1),r=qc(-t>>1,t>>1);for(let a=0;a<8;a++)for(let s=0;s<4;s++){let i=n[(a<<3)+s];n[(a<<3)+s]=n[(a<<3)+7-s],n[(a<<3)+7-s]=i,i=r[(s<<3)+a],r[(s<<3)+a]=r[(7-s<<3)+a],r[(7-s<<3)+a]=i}return{r:e,g:n,b:r}})();function Oh(t){if(t.cdata)return t.cdata;if(!t.lut)throw new A("java/lang/NullPointerException","Attempt to lock missing colormap");let e=Ny(t.lut,t.lutSize);return t.cdata={inv:e,primaries:By(t.lut,e)}}var Oa=(t,e)=>Oh(e).inv[((t>>19&31)<<10)+((t>>11&31)<<5)+(t>>3&31)],La=(t,e)=>t.lut[e]|0,Lh=(t,e,n,r=0)=>{let a=n>>16&255,s=n>>8&255,i=n&255,c=Oh(t);(a===0||a===255)&&(s===0||s===255)&&(i===0||i===255)&&c.primaries||(a+=Yc.r[r],s+=Yc.g[r],i+=Yc.b[r]),(a|s|i)>>8!==0&&(a>>8!==0&&(a=~(a>>31)&255),s>>8!==0&&(s=~(s>>31)&255),i>>8!==0&&(i=~(i>>31)&255)),t.u8[e]=c.inv[(a>>3<<10)+(s>>3<<5)+(i>>3)]};function eu(t){let e=t===1?3:t===2?2:1,n=(1<<t)-1,r=8-t,a=8/t;return{ps:1,packed:!0,opaque:!1,pre:!1,gray:!1,rd:(s,i)=>La(s,s.u8[i>>e]>>r-(i&a-1)*t&n),wr:(s,i,c)=>{let o=r-(i&a-1)*t,u=i>>e;s.u8[u]=s.u8[u]&~(n<<o)|Oa(c,s)<<o}}}V.ByteIndexed={ps:1,opaque:!1,pre:!1,gray:!1,rd:(t,e)=>La(t,t.u8[e]),wr:Lh};V.ByteIndexedBm={...V.ByteIndexed,rdPre:(t,e)=>{let n=La(t,t.u8[e]);return n&n>>24}};V.ByteBinary1Bit=eu(1);V.ByteBinary2Bit=eu(2);V.ByteBinary4Bit=eu(4);Ct.ByteIndexed=Oa;Ct.ByteBinary1Bit=Oa;Ct.ByteBinary2Bit=Oa;Ct.ByteBinary4Bit=Oa;function Mh(t,e,n){let r=t===1?3:t===2?2:1,a=(1<<t)-1,s=8-t,i=8/t,c=(o,u,l)=>{let d=s-(u&i-1)*t,f=u>>r;o.u8[f]=e?o.u8[f]^((l^n)&a)<<d:o.u8[f]&~(a<<d)|l<<d};return{fill(o,u,l,d,f,m){for(let p=l;p<f;p++)for(let b=u,y=o.off+p*o.scan+u;b<d;b++,y++)c(o,y,m)},run(o,u,l,d,f,m,p,b,y,g){let h=v=>v&1?1:v&2?-1:v&4?o.scan:v&8?-o.scan:0,j=h(p),x=h(y)+j,w=(o.off-o.bo+l*o.scan)/i;do{let v=u+o.bo,I=v%i,J=s-I*t;if(J<8){let O=w+Math.trunc(v/i);o.u8[O]=e?o.u8[O]^((d^n)&a)<<J:o.u8[O]&~(a<<J)|d<<J}b===0||m<0?(u+=j,m=m+b|0):(u+=x,m=m-g|0)}while(--f>0)},put(o,u,l,d){c(o,o.off+l*o.scan+u,d)}}}var Cy=t=>{let e=Mh(t,!1,0);return{plain:()=>e,xor:n=>Mh(t,!0,n)}};function Ey(t){let e=(1<<t)-1,n=8-t,r=8/t,a=t===1?3:t===2?2:1;return(s,i,c,o,u,l,d)=>{for(let f=0;f<l;f++){let m=i+f*s.scan,p=o+f*c.scan;for(let b=0;b<u;b++,m++,p+=4){let y=c.i32[p>>2];if(y>=0)continue;let g=n-(m&r-1)*t;s.u8[m>>a]^=((Oa(y,s)^d.xor)&e)<<g}}}}var Py=(t,e,n)=>t==="IntBgr"?(e&255)<<16|e&65280|e>>16&255:Ct[t](e,n);function tu(t,e,n,r,a,s){t==="ByteIndexed"?Lh(n,r,a,s):Nh(n,r,e?Py(t,a,n):Ct[t](a,n))}function Kc(t,e){let n=V[t].ps;return(r,a,s,i,c,o,u)=>{for(let l=0;l<o;l++){let d=a+l*r.scan,f=i+l*s.scan;for(let m=0;m<c;m++,d+=n,f++){let p=La(s,s.u8[f]);(!e||p<0)&&tu(t,e,r,d,p,cr(u,m,l))}}}}function Qc(t,e){let n=V[t].ps;return(r,a,s,i,c,o,u,l,d,f,m,p)=>{for(let b=0;b<o;b++,l+=f){let y=i+(l>>m)*s.scan,g=a+b*r.scan,h=u;for(let j=0;j<c;j++,g+=n,h+=d){let x=La(s,s.u8[y+(h>>m)]);(!e||x<0)&&tu(t,e,r,g,x,cr(p,j,b))}}}}function $h(t){let e=V[t].ps;return(n,r,a,s,i,c,o,u)=>{for(let l=0;l<c;l++){let d=r+l*n.scan,f=s+l*a.scan;for(let m=0;m<i;m++,d+=e,f++){let p=La(a,a.u8[f]);p<0?tu(t,!1,n,d,p,cr(u,m,l)):Nh(n,d,o)}}}}function Nh(t,e,n){if(t.i32)t.i32[e>>2]=n;else if(t.u16)t.u16[e>>1]=n;else{let r=t.u8;r[e]=n,t.ps>1&&(r[e+1]=n>>8,r[e+2]=n>>16,t.ps>3&&(r[e+3]=n>>24))}}function Bh(t,e){if(t.lut===e.lut)return!0;if(t.lutSize>e.lutSize)return!1;for(let n=0;n<t.lutSize;n++)if(t.lut[n]!==e.lut[n])return!1;return!0}var Dy=(()=>{let t=Bt(V.ByteIndexed,V.ByteIndexed),e=qr(1);return(n,r,a,s,i,c,o)=>Bh(a,n)?e(n,r,a,s,i,c,o):t(n,r,a,s,i,c,o)})(),Ry=(()=>{let t=_n(V.ByteIndexed,V.ByteIndexed),e=Yr(1);return(n,r,a,s,i,c,o,u,l,d,f,m)=>Bh(a,n)?e(n,r,a,s,i,c,o,u,l,d,f,m):t(n,r,a,s,i,c,o,u,l,d,f,m)})(),Uy=["IntArgb","IntArgbPre","IntRgb","IntBgr","ThreeByteBgr","FourByteAbgr","FourByteAbgrPre","ByteGray","Ushort565Rgb","Ushort555Rgb","UshortGray"];function Ch(t){let e=V.ByteIndexed,n=(r,a=r)=>{t("Blit",r,"SrcNoEa","ByteIndexed",Bt(V[a],e)),t("ScaledBlit",r,"SrcNoEa","ByteIndexed",_n(V[a],e))};n("IntArgb"),n("IntRgb","IntArgb"),n("ThreeByteBgr"),n("ByteGray"),t("Blit","ByteIndexed","SrcNoEa","ByteIndexed",Dy),t("ScaledBlit","ByteIndexed","SrcNoEa","ByteIndexed",Ry),t("Blit","ByteIndexedBm","SrcOverNoEa","ByteIndexed",Kc("ByteIndexed",!0)),t("ScaledBlit","ByteIndexedBm","SrcOverNoEa","ByteIndexed",Qc("ByteIndexed",!0)),t("BlitBg","ByteIndexedBm","SrcNoEa","ByteIndexed",$h("ByteIndexed")),t("Blit","IntArgb","Xor","ByteIndexed",Fa("ByteIndexed")),t("MaskFill","AnyColor","AnyAlpha","ByteIndexed",_s(e));for(let r of["IntArgb","IntArgbPre","IntRgb"])t("MaskBlit",r,"AnyAlpha","ByteIndexed",ur(V[r],e));for(let r of Uy)t("Blit","ByteIndexed","SrcNoEa",r,Kc(r,!1)),t("ScaledBlit","ByteIndexed","SrcNoEa",r,Qc(r,!1)),t("Blit","ByteIndexedBm","SrcOverNoEa",r,Kc(r,!0)),t("ScaledBlit","ByteIndexedBm","SrcOverNoEa",r,Qc(r,!0)),t("BlitBg","ByteIndexedBm","SrcNoEa",r,$h(r));t("TransformHelper","ByteIndexed","SrcNoEa","IntArgbPre"),t("TransformHelper","ByteIndexedBm","SrcNoEa","IntArgbPre")}var go=(t,e,n)=>(r,a,s,i,c,o,u)=>t(r,n?a+u.dx:a,s,e?i+u.sx:i,c,o,u),Th=(t,e,n)=>(r,a,s,i,c,o,u,l,d,f,m,p)=>t(r,n?a+p.dx:a,s,e?i+p.sx:i,c,o,u,l,d,f,m,p),Vy=t=>(e,n,r,a,s,i,c,o,u,l)=>t(e,n+l.dx,r,a,s,i,c,o,u,l);function Eh(t){for(let e of[1,2,4]){let n="ByteBinary"+e+"Bit",r=V[n],a=Cy(e);for(let s of["FillRect","FillSpans","DrawLine","DrawRect","DrawPolygons","DrawPath","FillPath"])t(s,"AnyColor","SrcNoEa",n,a.plain),t(s,"AnyColor","Xor",n,a.xor);t("Blit",n,"SrcNoEa",n,go(Bt(r,r),!0,!0)),t("Blit",n,"SrcNoEa","IntArgb",go(Bt(r,V.IntArgb),!0,!1)),t("Blit","IntArgb","SrcNoEa",n,go(Bt(V.IntArgb,r),!1,!0)),t("Blit","IntArgb","Xor",n,go(Ey(e),!1,!0)),t("MaskBlit",n,"AnyAlpha","IntArgb",Th(ur(r,V.IntArgb),!0,!1)),t("MaskBlit","IntArgb","AnyAlpha",n,Th(ur(V.IntArgb,r),!1,!0)),t("MaskFill","AnyColor","AnyAlpha",n,Vy(_s(r)))}}var ea="sun/font/GlyphList",Gy=["AnyByte","AnyShort","Any3Byte","AnyInt","Any4Byte"],_y=["IntArgb","IntArgbPre","IntRgb","IntBgr","ThreeByteBgr","FourByteAbgr","FourByteAbgrPre","ByteGray","Ushort565Rgb","Ushort555Rgb"];function vo(t,e,n,r,a,s,i){for(let c of e){if(!c.pixels)continue;let o=c.x,u=c.y,l=c.pixels,d=o+c.width,f=u+c.height;o<n&&(l+=n-o,o=n),u<r&&(l+=(r-u)*c.rowBytes,u=r),d>a&&(d=a),f>s&&(f=s);for(let m=u;m<f;m++,l+=c.rowBytes){let p=t.off+m*t.scan+o*t.ps;for(let b=0;b<d-o;b++,p+=t.ps)i(p,l+b)}}}var Hy=(t,e,n,r,a,s,i,c,o)=>vo(t,n,s,i,c,o,(u,l)=>{e[l]&&qt(t,u,r)});function zy(t){return(e,n,r,a,s,i,c,o,u)=>{let l=s>>16&255,d=s>>8&255,f=s&255;vo(e,r,i,c,o,u,(m,p)=>{let b=n[p];if(!b)return;if(b===255)return qt(e,m,a);let y=255-b,g=t.rd(e,m);t.wr(e,m,4278190080|E(y,g>>16&255)+E(b,l)<<16|E(y,g>>8&255)+E(b,d)<<8|E(y,g&255)+E(b,f))})}}function Zy(t,e,n,r,a,s,i,c,o){let u=Wr(a>>16&255,a>>8&255,a&255);vo(t,n,s,i,c,o,(l,d)=>{let f=e[d];if(f){if(f===255)return qt(t,l,r);t.u8[l]=E(255-f,t.u8[l])+E(f,u)}})}function Wy(t){return(e,n,r,a,s,i,c,o,u)=>{let l=s>>>24,d=s>>16&255,f=s>>8&255,m=s&255;vo(e,r,i,c,o,u,(p,b)=>{let y=n[b];if(!y)return;let g=y===255?l:E(y,l);if(g===255)return qt(e,p,a);let h=255-g,j=t.rd(e,p),x=j>>>24,w=E(g,d),v=E(g,f),I=E(g,m);if(x){x=E(h,x),g+=x;let J=t.pre?h:x,O=j>>16&255,S=j>>8&255,M=j&255;J!==255&&(O=E(J,O),S=E(J,S),M=E(J,M)),w+=O,v+=S,I+=M}!t.pre&&g&&g<255&&(w=he(w,g),v=he(v,g),I=he(I,g)),t.wr(e,p,g<<24|w<<16|v<<8|I)})}}for(let t of Gy)ve("DrawGlyphList","AnyColor","SrcNoEa",t,Hy);for(let t of _y){let e=V[t];ve("DrawGlyphListAA","AnyColor","SrcNoEa",t,e.gray?Zy:e.opaque?zy(e):Wy(e))}var Na=Math.fround,Ph=t=>Math.floor(t)|0;function Xy(t,e,n,r){let a=t.mem.dv,s=t.getField(e,ea,"gposx"),i=t.getField(e,ea,"gposy"),c=t.getField(e,ea,"images").a,u=t.getField(e,ea,"usePositions")?t.getField(e,ea,"positions").a:null,l=[];for(let d=n;d<r;d++){let f=Number(c[d]),m=a.getFloat32(f+16,!0),p=a.getFloat32(f+20,!0),b=u?Na(s+u[d*2]):s,y=u?Na(i+u[d*2+1]):i;l.push({pixels:Number(a.getBigUint64(f+32,!0)),width:a.getUint16(f+8,!0),height:a.getUint16(f+10,!0),rowBytes:a.getUint16(f+12,!0),x:Ph(Na(b+m)),y:Ph(Na(y+p))}),u||(s=Na(s+a.getFloat32(f,!0)),i=Na(i+a.getFloat32(f+4,!0)))}return u||(t.setField(e,ea,"gposx",s),t.setField(e,ea,"gposy",i)),l}function Dh(t,e,n,r,a,s,i){let c=t.vm,o=Xy(c,a,s,i),u=Se(t,r);if(!u)return;let l=We(c,c.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));l.y2<=l.y1||l.x2<=l.x1||!dt(l,u)||ut(c,e).fn(u,c.mem.u8,o,st(c,n,"pixel"),st(c,n,"eargb"),l.x1,l.y1,l.x2,l.y2)}var Rh={"sun/java2d/loops/DrawGlyphList.DrawGlyphList"(t,[e,n,r,a,s,i]){Dh(t,e,n,r,a,s,i)},"sun/java2d/loops/DrawGlyphListAA.DrawGlyphListAA"(t,[e,n,r,a,s,i]){Dh(t,e,n,r,a,s,i)}};var xo=2048,nu=4294967296,Ba=1n<<31n;function dr(t){return t*=nu,t!==t?0n:t>=2**63?(1n<<63n)-1n:t<=-(2**63)?-(1n<<63n):BigInt(Math.trunc(t))}var mr=t=>Number(BigInt.asIntN(32,t)),ru=1,wo=2,Uh=3,Ca=class{hi;lo;dhi;dlo;constructor(e,n){this.hi=Number(e>>32n),this.lo=Number(e&0xffffffffn),this.dhi=Number(n>>32n),this.dlo=Number(n&0xffffffffn)}step(){this.lo+=this.dlo,this.lo>=nu&&(this.lo-=nu,this.hi++),this.hi+=this.dhi}},qy=(t,e,n,r,a,s,i,c,o)=>{let u=t.ps,l=e.scan,d=0,f=0,m=e.w,p=e.h;if(o===ru){let h=new Ca(a,s),j=new Ca(i,c);for(let x=0;x<r;x++)n[x]=Hc(t,e,e.off+(j.hi|0)*l+(h.hi|0)*u),h.step(),j.step();return}let b=new Ca(a-Ba,s),y=new Ca(i-Ba,c),g=(h,j)=>Hc(t,e,e.off+h*l+j*u);if(o===wo){for(let h=0;h<r;h++){let j=b.hi|0,x=y.hi|0,w=j+1-m>>>31,v=j>>31;j-=v,w+=v;let I=x+1-p>>31;v=x>>31,x-=v,I-=v;let J=x+f,O=J+(I&1);j+=d,n[h*4]=g(J,j),n[h*4+1]=g(J,j+w),n[h*4+2]=g(O,j),n[h*4+3]=g(O,j+w),b.step(),y.step()}return}for(let h=0;h<r;h++){let j=b.hi|0,x=y.hi|0,w=-j>>31,v=j+1-m>>>31,I=j+2-m>>>31,J=j>>31;j-=J,v+=J,I+=v;let O=-x>>31&-1,S=x+1-p>>31&1,M=x+2-p>>31&1;J=x>>31,x-=J,S+=J&-1,j+=d;let T=x+f+O,F=[j+w,j,j+v,j+I];for(let N=0;N<4;N++){for(let C=0;C<4;C++)n[h*16+N*4+C]=g(T,F[C]);T+=N===0?-O:N===1?S:M}b.step(),y.step()}};function Yy(t,e,n,r,a,s){for(let i=0;i<e;i++){let c=n>>>24,o=a>>>24,u=0;for(let l=0;l<32;l+=8){let d=b=>t[i*4+b]>>>l&255,f=d(0),m=d(1),p=(f<<8)+(m-f)*c;f=d(2),m=d(3),m=(f<<8)+(m-f)*c,p=(p<<8)+(m-p)*o,u|=p+32768>>16<<l}t[i]=u,n=n+r|0,a=a+s|0}}var kn=new Int32Array(513),Gh=!1;function Ky(t){let e=0;for(;e<256;e++){let n=e/256;n=((t+2)*n-(t+3))*n*n+1,kn[e]=Math.trunc(n*256)}for(;e<384;e++){let n=e/256;n=((t*n-5*t)*n+8*t)*n-4*t,kn[e]=Math.trunc(n*256)}for(kn[384]=(256-kn[128]*2)/2|0,e++;e<=512;e++)kn[e]=256-(kn[512-e]+kn[e-256]+kn[768-e]);Gh=!0}var jo=(t,e)=>(t&=~(t>>31),t-=e,t&=t>>31,t+e);function Qy(t,e,n,r,a,s){Gh||Ky(-.5);for(let i=0;i<e;i++){let c=n>>>24,o=a>>>24,u=32768,l=32768,d=32768,f=32768,m=[o+256,o,256-o,512-o],p=[c+256,c,256-c,512-c];for(let b=0;b<16;b++){let y=kn[p[b&3]]*kn[m[b>>2]],g=t[i*16+b];f+=(g&255)*y,d+=(g>>8&255)*y,l+=(g>>16&255)*y,u+=(g>>24&255)*y}u=jo(u>>16,255),l=jo(l>>16,u),d=jo(d>>16,u),f=jo(f>>16,u),t[i]=u<<24|l<<16|d<<8|f,n=n+r|0,a=a+s|0}}var Vh=t=>!Number.isFinite(t)||Math.abs(t)>=1<<30,_h={"sun/java2d/loops/TransformHelper.Transform"(t,[e,n,r,a,s,i,c,o,u,l,d,f,m,p,b,y,g,h,j]){let x=t.vm,w=Se(t,r),v=w&&Se(t,a),I=V[ut(x,e).src],J=ut(x,n),O=J.fn;if(!w||!v)return;let{rule:S,extra:M,ea:T}=Kr(x,s),F=o;if(F!==ru&&F!==wo&&F!==Uh)return;let N=F===ru?xo:F===wo?xo/4:xo/16,C={x1:u,y1:l,x2:d,y2:f},L={x1:m,y1:p,x2:b,y2:y},R=We(x,i);be(L,R.x1,R.y1,R.x2,R.y2),be(C,0,0,w.w,w.h),be(L,0,0,v.w,v.h),be(R,L.x1,L.y1,L.x2,L.y2);let U=Q=>x.getField(c,"java/awt/geom/AffineTransform",Q),D=U("m00"),G=U("m01"),q=U("m02"),P=U("m10"),ee=U("m11"),$e=U("m12"),Vt=L.y2-L.y1,pe;if(Vt<=0)pe=new Int32Array(2);else if(g!==null&&(g.a.length>>1)-1>=Vt)pe=g.a;else if(g===null)pe=new Int32Array(2+Vt*2);else throw new A("java/lang/InternalError","Unable to allocate edge list");if(R.x2<=R.x1||R.y2<=R.y1){pe[0]=pe[1]=0;return}let pt=d-u,yr=f-l,_a=(Q,ge)=>[D*Q+G*ge+q,P*Q+ee*ge+$e],vr=new Int32Array(xo),gb=w.at(w.off+C.y1*w.scan+C.x1*I.ps,C.x2-C.x1,C.y2-C.y1),yb=V[J.dst].ps,vb={sx:0,dx:L.x1,dy:L.y1,xor:0,mask:0,ea:T},xb=(Q,ge,ye)=>O(v,v.off+ge*v.scan+Q*yb,jb,0,null,0,0,ye,1,S,M,vb),jb=new Zr(vr,0,4,0,0,0),el=[[L.x1+.5,L.y1+.5],[L.x2-.5,L.y1+.5],[L.x1+.5,L.y2-.5],[L.x2-.5,L.y2-.5]],_u=_a(h+el[0][0],j+el[0][1]),wb=el.some(([Q,ge])=>{let[ye,ie]=_a(h+Q,j+ge);return Vh(ye)||Vh(ie)}),Hu=(Q,ge,ye,ie,xe,kt,Wn)=>{qy(I,gb,vr,ye,ie,kt,xe,Wn,F),F===wo?Yy(vr,ye,mr(ie-Ba),mr(kt),mr(xe-Ba),mr(Wn)):F===Uh&&Qy(vr,ye,mr(ie-Ba),mr(kt),mr(xe-Ba),mr(Wn)),xb(Q,ge,ye)};if(wb){pe[0]=L.y1,pe[1]=L.y2;for(let Q=L.y1;Q<L.y2;Q++)pe[(Q-L.y1)*2+2]=L.x2,pe[(Q-L.y1)*2+3]=L.x1;for(let Q of Ta(t,i,R))for(let ge=Q.y1;ge<Q.y2;ge++){let ye=(ge-L.y1)*2;for(let ie=Q.x1;ie<Q.x2;ie++){let[xe,kt]=_a(h+ie+.5,j+ge+.5);if(!(xe>=0&&kt>=0&&xe<pt&&kt<yr))continue;let Wn=dr(xe),li=dr(kt);Wn>>32n<BigInt(pt)&&li>>32n<BigInt(yr)&&(pe[ye+2]>ie&&(pe[ye+2]=ie),pe[ye+3]<=ie&&(pe[ye+3]=ie+1),Hu(ie,ge,1,Wn,li,0n,0n))}}return}let Ha=dr(D),za=dr(P),tl=dr(G),nl=dr(ee),zu=dr(_u[0]),Zu=dr(_u[1]);pe[0]=L.y1,pe[1]=L.y2;let Wu=(Q,ge)=>{let ye=Q>>32n,ie=ge>>32n;return ye>=0n&&ye<BigInt(pt)&&ie>=0n&&ie<BigInt(yr)},Ib=BigInt(L.x2-L.x1-1)*Ha,kb=BigInt(L.x2-L.x1-1)*za,rl=zu,al=Zu;for(let Q=L.y1;Q<L.y2;Q++){let ge=L.x1,ye=L.x2,ie=rl,xe=al;for(;ge<ye&&!Wu(ie,xe);)ge++,ie+=Ha,xe+=za;for(ie=rl+Ib,xe=al+kb;ye>ge&&!Wu(ie,xe);)ye--,ie-=Ha,xe-=za;pe[(Q-L.y1)*2+2]=ge,pe[(Q-L.y1)*2+3]=ye,rl+=tl,al+=nl}for(let Q of Ta(t,i,R)){let ge=zu+BigInt(Q.y1-L.y1)*tl,ye=Zu+BigInt(Q.y1-L.y1)*nl;for(let ie=Q.y1;ie<Q.y2;ie++){let xe=pe[(ie-L.y1)*2+2],kt=pe[(ie-L.y1)*2+3];for(xe<Q.x1&&(xe=Q.x1),kt>Q.x2&&(kt=Q.x2);xe<kt;){let Wn=Math.min(kt-xe,N),li=ge+BigInt(xe-L.x1)*Ha,Ab=ye+BigInt(xe-L.x1)*za;Hu(xe,ie,Wn,li,Ab,Ha,za),xe+=N}ge+=tl,ye+=nl}}}};var ev=["IntArgb","IntArgbPre","IntRgb","IntBgr","ThreeByteBgr","FourByteAbgr","FourByteAbgrPre","ByteGray","Ushort565Rgb","Ushort555Rgb"],tv=["AnyByte","AnyShort","Any3Byte","AnyInt","Any4Byte"],nv=["IntArgb>IntBgr","IntRgb>IntBgr","IntBgr>IntRgb"],rv=["Ushort565Rgb","Ushort555Rgb"],Hh="java/awt/image/IndexColorModel",zh="sun/java2d/loops/XORComposite",av=["FillRect","FillSpans","DrawLine","DrawRect","DrawPolygons","DrawPath","FillPath"],sv=["ByteGray","IntBgr","IntRgb","ThreeByteBgr","Ushort565Rgb","Ushort555Rgb"],iv=["FillRect","FillSpans","DrawLine","DrawRect","DrawPolygons","FillPath","DrawPath","FillParallelogram","DrawParallelogram"],ov="ByteGray>IntArgb IntArgb>ByteGray IntRgb>ByteGray=IntArgb>ByteGray ThreeByteBgr>ByteGray FourByteAbgr>IntArgb IntArgb>FourByteAbgr IntRgb>FourByteAbgr ThreeByteBgr>FourByteAbgr ByteGray>FourByteAbgr FourByteAbgrPre>IntArgb IntArgb>FourByteAbgrPre IntRgb>FourByteAbgrPre ThreeByteBgr>FourByteAbgrPre ByteGray>FourByteAbgrPre IntArgbPre>IntArgb IntArgb>IntArgbPre IntRgb>IntArgbPre ThreeByteBgr>IntArgbPre ByteGray>IntArgbPre IntBgr>IntArgb IntArgb>IntBgr ThreeByteBgr>IntBgr IntRgb>IntBgr=IntArgb>IntBgr IntBgr>IntRgb=IntArgb>IntBgr ByteGray>IntBgr=ByteGray>IntRgb IntRgb>IntArgb IntArgb>IntRgb=copy ThreeByteBgr>IntRgb ByteGray>IntRgb ThreeByteBgr>IntArgb IntArgb>ThreeByteBgr IntRgb>ThreeByteBgr=IntArgb>ThreeByteBgr ByteGray>ThreeByteBgr Ushort555Rgb>IntArgb IntArgb>Ushort555Rgb IntRgb>Ushort555Rgb=IntArgb>Ushort555Rgb ThreeByteBgr>Ushort555Rgb ByteGray>Ushort555Rgb Ushort565Rgb>IntArgb IntArgb>Ushort565Rgb IntRgb>Ushort565Rgb=IntArgb>Ushort565Rgb ThreeByteBgr>Ushort565Rgb ByteGray>Ushort565Rgb".split(" "),lv=["IntArgb","IntArgbPre"],cv=["IntArgb","IntArgbPre","IntRgb"];function uv(){for(let t of tv){for(let e of iv)ve(e,"AnyColor","SrcNoEa",t,()=>mo);for(let e of av)ve(e,"AnyColor","Xor",t,kh)}for(let t of ev){let e=V[t];ve("Blit","IntArgb","Xor",t,Fa(t)),sv.includes(t)&&ve("Blit",t,"Xor",t,ho),ve("Blit",t,"SrcNoEa",t,qr(e.ps)),ve("ScaledBlit",t,"SrcNoEa",t,Yr(e.ps)),ve("MaskFill","AnyColor","Src",t,mh(e)),ve("MaskFill","AnyColor","SrcOver",t,hh(e)),ve("MaskFill","AnyColor","AnyAlpha",t,_s(e));for(let n of lv)ve("MaskBlit",n,"SrcOver",t,Zc(V[n],e));for(let n of cv)ve("MaskBlit",n,"AnyAlpha",t,ur(V[n],e));rv.includes(t)||ve("TransformHelper",t,"SrcNoEa","IntArgbPre")}ve("MaskBlit","FourByteAbgrPre","SrcOver","IntArgbPre",Zc(V.FourByteAbgrPre,V.IntArgbPre)),ve("MaskBlit","FourByteAbgrPre","AnyAlpha","IntArgbPre",ur(V.FourByteAbgrPre,V.IntArgbPre)),ve("MaskBlit","IntBgr","AnyAlpha","IntBgr",ur(V.IntBgr,V.IntBgr)),Ch(ve),Eh(ve),Jh(ve);for(let t of ov){let[e,n]=t.split("="),[r,a]=e.split(">"),s,i;if(n==="copy")s=qr(4),i=Yr(4);else if(nv.includes(e))s=gh(),i=yh();else{let[c,o]=n?n.split(">"):[r,a];s=Bt(V[c],V[o]),i=_n(V[c],V[o])}ve("Blit",r,"SrcNoEa",a,s),ve("ScaledBlit",r,"SrcNoEa",a,i)}}uv();var Zs=1,su=2,Ws=4,iu=8;function Io(t,e,n){return(e<n.y1?Zs:e>n.y2-1?su:0)|(t<n.x1?Ws:t>n.x2-1?iu:0)}function Ea(t,e,n,r,a,s,i,c,o=mo){if(a===i){if(a>=e.y1&&a<e.y2){let u=r<s?r:s+c|0,l=r<s?s-c|0:r;l=l+1|0,l<u&&(l=l-1|0),u<e.x1&&(u=e.x1),l>e.x2&&(l=e.x2),u<l&&o.run(t,u,a,n,l-u,0,1,0,0,0)}}else if(r===s){if(r>=e.x1&&r<e.x2){let u=a<i?a:i+c|0,l=a<i?i-c|0:a;l=l+1|0,l<u&&(l=l-1|0),u<e.y1&&(u=e.y1),l>e.y2&&(l=e.y2),u<l&&o.run(t,r,u,n,l-u,0,4,0,0,0)}}else fv(t,e,n,r,a,s,i,c,o)}var Et=(1<<29)-1,Pt=-(1<<29),ko=t=>t!==t<<17>>17,Ao=t=>t!==t<<2>>2;function So(t,e,n,r){let a=2*t*e+n;return Math.abs(a)<2**52?Math.trunc(a/r):Number(BigInt.asIntN(64,(2n*BigInt(t)*BigInt(e)+BigInt(n))/BigInt(r)))}function fv(t,e,n,r,a,s,i,c,o=mo){if((ko(r)||ko(a)||ko(s)||ko(i))&&(Ao(r)||Ao(a)||Ao(s)||Ao(i))){let C=s-r,L=i-a,R=r,U=a,D=s,G=i;r<Pt?(U=a+(Pt-r)*L/C,R=Pt):r>Et&&(U=a-(r-Et)*L/C,R=Et),U<Pt?(R=r+(Pt-a|0)*C/L,U=Pt):U>Et&&(R=r-(a-Et|0)*C/L,U=Et),s<Pt?(G=i+(Pt-s)*L/C,D=Pt):s>Et&&(G=i-(s-Et)*L/C,D=Et),G<Pt?(D=s+(Pt-i|0)*C/L,G=Pt):G>Et&&(D=s-(i-Et|0)*C/L,G=Et),r=ft(R),a=ft(U),s=ft(D),i=ft(G)}let u=r,l=a,d=s,f=i,m=d-u|0,p=f-l|0,b=Math.abs(m),y=Math.abs(p),g=e.x1,h=e.y1,j=e.x2-1,x=e.y2-1,w=b>=y,v=Io(u,l,e),I=Io(d,f,e),J=C=>C|0;for(;(v|I)!==0;){if((v&I)!==0)return;if(v!==0){if(v&(Zs|su)){l=v&Zs?h:x;let C=So(Math.abs(l-a),b,w?y-b-1+y:y,2*y);u=J(r+J(m<0?-C:C))}else if(v&(Ws|iu)){u=v&Ws?g:j;let C=So(Math.abs(u-r),y,w?b:b-y-1+b,2*b);l=J(a+J(p<0?-C:C))}v=Io(u,l,e)}else{if(I&(Zs|su)){f=I&Zs?h:x;let C=So(Math.abs(f-i),b,w?y-b+y:y-1,2*y);d=J(s+J(m>0?-C:C))}else if(I&(Ws|iu)){d=I&Ws?g:j;let C=So(Math.abs(d-s),y,w?b-1:b-y+b,2*b);f=J(i+J(p>0?-C:C))}I=Io(d,f,e)}}let O,S,M,T,F;if(w?(O=y*2,S=b*2,M=m<0?2:1,T=p<0?8:4,b=-b,F=d-u,d!==s&&(c=0)):(O=b*2,S=y*2,M=p<0?8:4,T=m<0?2:1,y=-y,F=f-l,f!==i&&(c=0)),F=Math.abs(F)+1-c,F===0)return;let N=-Math.trunc(S/2);l!==a&&(N=N+Math.imul(Math.abs(l-a),b)*2|0),u!==r&&(N=N+Math.imul(Math.abs(u-r),y)*2|0),N=N+O|0,S-=O,o.run(t,u,l,n,F,N,M,O,T,S)}function dv(t,e,n,r,a){let s=(o,u)=>{let l=Math.min(o,u),d=Math.max(o,u)+1|0;return d<=l&&(d=d-1|0),[l,d]},[i,c]=s(e,r);be(t,i,-2147483648,c,2147483647),[i,c]=s(n,a),be(t,-2147483648,i,2147483647,c)}var mv={"sun/java2d/loops/FillRect.FillRect"(t,[e,n,r,a,s,i,c]){let o=t.vm;if(i<=0||c<=0)return;let u=Se(t,r);if(!u)return;let l=We(o,o.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));vh(l,a,s,i,c),!(l.y2<=l.y1||l.x2<=l.x1)&&dt(l,u)&&fr(o,e,n).fill(u,l.x1,l.y1,l.x2,l.y2,st(o,n,"pixel"))},"sun/java2d/loops/FillSpans.FillSpans"(t,[e,n,r,a,s,i]){let c=Se(t,r),o=rh(i);if(!o)throw new A("java/lang/NullPointerException","native iterator not supplied");if(!c)return;let u=new Int32Array(4);o.getPathBox(u);let l={x1:u[0],y1:u[1],x2:u[2],y2:u[3]};dt(l,c),o.intersectClipBox(l.x1,l.y1,l.x2,l.y2);let d=fr(t.vm,e,n);for(;o.nextSpan(u);)d.fill(c,u[0],u[1],u[2],u[3],a)},"sun/java2d/loops/DrawLine.DrawLine"(t,[e,n,r,a,s,i,c]){let o=t.vm,u=Se(t,r);if(!u)return;let l=We(o,o.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));dv(l,a,s,i,c),dt(l,u)&&Ea(u,l,st(o,n,"pixel"),a,s,i,c,0,fr(o,e,n))},"sun/java2d/loops/DrawPolygons.DrawPolygons"(t,[e,n,r,a,s,i,c,o,u,l]){let d=t.vm;if(a===null||s===null)throw new A("java/lang/NullPointerException","coordinate array");if(i===null)throw new A("java/lang/NullPointerException","polygon length array");let f=i.a,m=a.a,p=s.a;if(f.length<c)throw new A("java/lang/ArrayIndexOutOfBoundsException","polygon length array size");let b=Se(t,r);if(!b)return;let y=We(d,d.getField(n,"sun/java2d/SunGraphics2D","clipRegion")),g=0;for(let w=0;w<c;w++)f[w]>0&&(g+=f[w]);if(p.length<g||m.length<g)throw new A("java/lang/ArrayIndexOutOfBoundsException","coordinate array length");if(!dt(y,b))return;let h=st(d,n,"pixel"),j=fr(d,e,n),x=0;for(let w=0;w<c;w++){let v=f[w];if(v>1){let I=!0,J=o+m[x]|0,O=u+p[x++]|0,S=J,M=O;for(;--v>0;){let T=o+m[x]|0,F=u+p[x++]|0;I=I&&S===T&&M===F,Ea(b,y,h,S,M,T,F,v>1||l?1:0,j),S=T,M=F}l&&(I||S!==J||M!==O)&&Ea(b,y,h,S,M,J,O,I?0:1,j)}else v===1&&x++}},"sun/java2d/loops/DrawRect.DrawRect"(t,[e,n,r,a,s,i,c]){let o=t.vm;if(i<0||c<0)return;let u=Se(t,r);if(!u)return;let l=a,d=s,f=a+i+1|0,m=s+c+1|0,p=We(o,o.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));if(be(p,l,d,f,m),!dt(p,u))return;let b=st(o,n,"pixel"),y=fr(o,e,n),g=d===p.y1?1:0,h=m===p.y2?1:0,j=p.x2-p.x1,x=p.y2-p.y1-g-h;g&&y.run(u,p.x1,p.y1,b,j,0,1,0,0,0),l===p.x1&&x>0&&y.run(u,p.x1,p.y1+g,b,x,0,4,0,0,0),f===p.x2&&x>0&&l!==f-1&&y.run(u,p.x2-1,p.y1+g,b,x,0,4,0,0,0),h&&d!==m-1&&y.run(u,p.x1,p.y2-1,b,j,0,1,0,0,0)}};function*$o(t,e){let n=t.vm.loadBootOrFail(e);return n.state!==z&&(yield*t.vm.initGen(t,n)),n}function*hv(t){let e=t.vm,n=yield*$o(t,In+"SurfaceType"),r=yield*$o(t,In+"CompositeType"),a=e.loadBootOrFail(In+"GraphicsPrimitiveMgr"),s=u=>e.getStatic(n,u),i=u=>e.getStatic(r,u),c=[];for(let u=1;u<Hs.length;u++){let l=Hs[u],d=yield*$o(t,In+l.cls),f=e.newObject(d),m=d.methodMap.get(`<init>(JL${In}SurfaceType;L${In}CompositeType;L${In}SurfaceType;)V`);yield t.call(m,f,BigInt(u),s(l.src),i(l.comp),s(l.dst)),c.push(f)}let o=a.methodMap.get(`register([L${fo};)V`);yield t.call(o,e.newObjectArray(fo,c))}var bv={"sun/awt/image/BufImgSurfaceData.initRaster"(t,[e,n,r,a,s,i,c,o,u]){let l=n.a,d=t.vm,f=u===null?null:d.getField(u,Hh,"rgb").a,m=u===null?0:d.getField(u,Hh,"map_size"),p=d.getField(e,"sun/java2d/SurfaceData","surfaceType"),b=d.loadBootOrFail(In+"SurfaceType"),y=[1,2,4].find(j=>p===d.getStatic(b,`ByteBinary${j}Bit`))??0,g=8/y,h=y?new Zr(l,r*g+(a/y|0),1,o*g,s,i):new Zr(l,r,c,o,s,i);h.bpp=y,h.bo=y?a/y|0:0,h.lut=f,h.lutSize=m,h.icm=u,e.x=h},"sun/java2d/SurfaceData.isOpaqueGray"(t,[e]){return e===null?0:t.vm.getField(e,"java/awt/image/IndexColorModel","allgrayopaque")},"sun/java2d/loops/GraphicsPrimitiveMgr.initIDs":function*(t){yield*$o(t,"sun/awt/SunHints")},"sun/java2d/loops/GraphicsPrimitiveMgr.registerNativeLoops":function*(t){yield*hv(t)}},Jo=(t,e)=>t>=0&&e>=0&&t>2147483647-e||t<0&&e<0&&t<-2147483648-e,Zh=(t,e)=>e>=0&&t<0&&t<-2147483648+e||e<0&&t>=0&&t>2147483647+e;function au(t,e,n,r,a,s,i,c,o,u,l){let d=t.vm,f=Se(t,n),m=f&&Se(t,r);if(!f||!m||u<=0||l<=0||Jo(s,u)||Jo(i,l)||Jo(c,u)||Jo(o,l)||Zh(s,c)||Zh(i,o))return null;let p=We(d,a),b={x1:s,y1:i,x2:s+u,y2:i+l},y={x1:c,y1:o,x2:c+u,y2:o+l},g=s-c,h=i-o;return be(y,p.x1,p.y1,p.x2,p.y2),be(b,0,0,f.w,f.h),be(y,0,0,m.w,m.h),be(b,y.x1+g|0,y.y1+h|0,y.x2+g|0,y.y2+h|0),be(y,b.x1-g|0,b.y1-h|0,b.x2-g|0,b.y2-h|0),be(p,y.x1,y.y1,y.x2,y.y2),{src:f,dst:m,rects:Ta(t,a,p),dx:g,dy:h,dby:y.y1,p:ut(d,e)}}var pv={"sun/java2d/loops/Blit.Blit"(t,[e,n,r,a,s,i,c,o,u,l,d]){let f=au(t,e,n,r,s,i,c,o,u,l,d);if(!f)return;let m=f.p.fn,p=Hn(f.p.src),b=Hn(f.p.dst),y=f.p.comp==="Xor"?gv(t.vm,a):{xor:0,mask:0};for(let g of f.rects)m(f.dst,f.dst.off+g.y1*f.dst.scan+g.x1*b,f.src,f.src.off+(f.dy+g.y1)*f.src.scan+(f.dx+g.x1)*p,g.x2-g.x1,g.y2-g.y1,{sx:f.dx+g.x1,dx:g.x1,dy:f.dby,...y})},"sun/java2d/loops/BlitBg.BlitBg"(t,[e,n,r,a,s,i,c,o,u,l,d,f]){let m=au(t,e,n,r,s,c,o,u,l,d,f);if(!m)return;let p=m.p.fn,b=Hn(m.p.src),y=Hn(m.p.dst),g=Ct[m.p.dst](i,m.dst);for(let h of m.rects)p(m.dst,m.dst.off+h.y1*m.dst.scan+h.x1*y,m.src,m.src.off+(m.dy+h.y1)*m.src.scan+(m.dx+h.x1)*b,h.x2-h.x1,h.y2-h.y1,g,{sx:m.dx+h.x1,dx:h.x1,dy:m.dby,xor:0,mask:0})},"sun/java2d/loops/MaskBlit.MaskBlit"(t,[e,n,r,a,s,i,c,o,u,l,d,f,m,p]){let b=au(t,e,n,r,s,i,c,o,u,l,d);if(!b)return;let y=b.p.fn,g=Wh(f),{rule:h,extra:j,ea:x}=Kr(t.vm,a),w=Hn(b.p.src),v=Hn(b.p.dst);for(let I of b.rects)m+=(I.y1-u)*p+(I.x1-o),y(b.dst,b.dst.off+I.y1*b.dst.scan+I.x1*v,b.src,b.src.off+(b.dy+I.y1)*b.src.scan+(b.dx+I.x1)*w,g,m,p,I.x2-I.x1,I.y2-I.y1,h,j,{sx:b.dx+I.x1,dx:I.x1,dy:b.dby,xor:0,mask:0,ea:x})},"sun/java2d/loops/MaskFill.MaskFill"(t,[e,n,r,a,s,i,c,o,u,l,d]){let f=t.vm,m=Se(t,r);if(!m)return;let p={x1:s,y1:i,x2:s+c|0,y2:i+o|0};if(!dt(p,m))return;let b=ut(f,e).fn,y=Wh(u),g=Hn(ut(f,e).dst);b(m,m.off+p.y1*m.scan+p.x1*g,y,l+(p.y1-i)*d+(p.x1-s),d,p.x2-p.x1,p.y2-p.y1,st(f,n,"eargb"),Kr(f,a).rule,{sx:0,dx:p.x1,dy:p.y1,xor:0,mask:0})}};function gv(t,e){return e?{xor:t.getField(e,zh,"xorPixel"),mask:t.getField(e,zh,"alphaMask")}:{xor:0,mask:0}}var ou=(t,e,n)=>e+(t-e&~(n-1)),ta=(t,e,n)=>Math.ceil((t+.5-e)*n-.5);function yv(t,e,n){if(e>n&&(e=n),e===0)return 1;for(;1<<t>e;)t--;return t=t>=16?t-8:t>>1,1<<t}function Mo(t,e,n,r,a,s){let i=ft(Math.ceil(e+a/r-.5)),c=!1,o=!1;for(;;){let u=ou(i,t,n),l=ta(u,e,r);if(i>u&&(l+=s*(i-u)),l>=a){if(c)break;i--,o=!0}else{if(i++,o)break;c=!0}}return i}function vv(t,[e,n,r,a,s,i,c,o,u,l,d,f,m]){let p=t.vm,b=ut(p,e),y=Se(t,n),g=y&&Se(t,r);if(!y||!g)return;let h=o-i|u-c,j=0;if(h>0)for(;((h<<=1)|0)>0;)j++;let x=m-d<1,w=f-l<1,v=(u-c|0)/(m-d)*(1<<j),I=x?u-c<<j:ft(v),J=(o-i|0)/(f-l)*(1<<j);h=w?o-i<<j:ft(J);let O=yv(j,h,I),S={x1:i,y1:c,x2:o,y2:u};if(be(S,0,0,y.w,y.h),S.x2<=S.x1||S.y2<=S.y1)return;let M=ft(Math.ceil(l-.5)),T=ft(Math.ceil(d-.5)),F={x1:0,y1:0,x2:0,y2:0};if(w){let P=i+ta(M,l,J)/(1<<j);F.x1=F.x2=M,P>=S.x1&&P<S.x2&&F.x2++}else F.x1=S.x1<=i?M:Mo(M,l,O,J,S.x1-i<<j,h),F.x2=Mo(M,l,O,J,S.x2-i<<j,h);if(x){let P=c+ta(T,d,v)/(1<<j);F.y1=F.y2=T,P>=S.y1&&P<S.y2&&F.y2++}else F.y1=S.y1<=c?T:Mo(T,d,O,v,S.y1-c<<j,I),F.y2=Mo(T,d,O,v,S.y2-c<<j,I);let N=We(p,s);if(be(F,N.x1,N.y1,N.x2,N.y2),be(F,0,0,g.w,g.h),F.x2<=F.x1||F.y2<=F.y1)return;be(N,F.x1,F.y1,F.x2,F.y2);let C=b.fn,L=Hn(b.src),R=Hn(b.dst),U={sx:0,dx:F.x1,dy:F.y1,xor:0,mask:0},D=y.off+c*y.scan+i*L,G=(P,ee,$e,Vt,pe,pt)=>C(g,g.off+ee*g.scan+P*R,y,D,$e-P,Vt-ee,pe,pt,h,I,j,U),q=O>=f-l&&O>=m-d;for(let P of Ta(t,s,N)){if(q){let ee=ft(ta(M,l,J)),$e=ft(ta(T,d,v));P.y1>T&&($e+=I*(P.y1-T)),P.x1>M&&(ee+=h*(P.x1-M)),G(P.x1,P.y1,P.x2,P.y2,ee,$e);continue}for(let ee=ou(P.y1,T,O);ee<P.y2;ee+=O){let $e=Math.max(ee,P.y1),Vt=Math.min(ee+O,P.y2),pe=ft(ta(ee,d,v));$e>ee&&(pe+=I*($e-ee));for(let pt=ou(P.x1,M,O);pt<P.x2;pt+=O){let yr=Math.max(pt,P.x1),_a=Math.min(pt+O,P.x2),vr=ft(ta(pt,l,J));yr>pt&&(vr+=h*(yr-pt)),G(yr,$e,_a,Vt,vr,pe)}}}}function Wh(t){if(t===null)return null;let e=t.a;return new Uint8Array(e.buffer,e.byteOffset,e.length)}function Hn(t){let e=V[t];return e.packed?0:e.ps}var Xh={..._h,...Rh,...bv,...mv,...pv,"sun/java2d/loops/ScaledBlit.Scale":vv};var Oo=1024,lu=1/256,xv=new Uint8Array(Oo),qh=new Float32Array(Oo+2);function Kt(t){return t!==t?0:t>=2147483647?2147483647:t<=-2147483648?-2147483648:t|0}function Dt(t){return t*=255.9999,t>=-2147483648&&t<2147483648?t&255:0}function Rt(t,e,n,r,a){t.fn(t.s,e,n,0,0,r,a,t.color,t.rule,t.at)}function Yh(t,e,n,r,a,s){let i=t.b.x1,c=t.b.x2,o=t.b.y2,u=t.b.y1,l=t.mask,d=Kt(Math.ceil(n)),f=Kt(Math.ceil(r)),m=Kt(Math.floor(a)),p=Kt(Math.floor(s)),b=c-i;if(n=d-n,r=f-r,a=a-m,s=s-p,p<f&&(r=r+s-1,p=o),m<d&&(n=n+a-1,m=c),u<f&&(l.fill(Dt(r),0,b),i<d&&(l[0]=Dt(r*n)),c>m&&(l[b-1]=Dt(r*a)),Rt(t,e,l,b,1),e+=t.scan,u++),u<p&&u<o){let y=(p<o?p:o)-u,g=i,h=e;if(g<d&&(l[0]=Dt(n),Rt(t,h,l,1,y),h+=t.ps,g++),g<m&&g<c){let j=(m<c?m:c)-g;Rt(t,h,null,j,y),h+=j*t.ps,g+=j}g<c&&(l[0]=Dt(a),Rt(t,h,l,1,y)),u+=y,e+=y*t.scan}u<o&&(l.fill(Dt(s),0,b),i<d&&(l[0]=Dt(s*n)),c>m&&(l[b-1]=Dt(s*a)),Rt(t,e,l,b,1))}var Fo=class{x=0;y=0;xbot=0;ybot=0;xnexty=0;ynextx=0;xnextx=0;linedx=0;celldx=0;celldy=0;isTrailing=!1};function To(t,e,n,r,a,s,i,c,o,u){let l=e+r,d=n+a,f;if(t.x=e,t.y=n,t.xbot=l,t.ybot=d,a>lu&&d>i&&n<o&&l===l&&(e<c||l<c)){if(r<-lu||r>lu){let m=r/a,p=a/r,b;n<i&&(t.x=e=e+(i-n)*m,t.y=n=i),t.linedx=m,r<0?(t.celldx=-1,t.celldy=-p,t.xnextx=b=Math.ceil(e)-1):(t.celldx=1,t.celldy=p,t.xnextx=b=Math.floor(e)+1),t.ynextx=n+(b-e)*p,t.xnexty=e+(Math.floor(n)+1-n)*m}else n<i&&(t.y=n=i),t.xbot=e,t.linedx=0,t.celldx=0,t.celldy=1,t.xnextx=e,t.xnexty=e,t.ynextx=d;f=!0}else t.ybot=n,t.linedx=r,t.celldx=r,t.celldy=0,t.xnextx=l,t.xnexty=l,t.ynextx=n,f=!1;return t.isTrailing=u,f}function cu(t,e,n,r,a,s,i,c,o,u,l,d,f,m){let p=!1;return p=To(t[e],r,a,s,i,u,l,d,f,m)||p,p=To(t[e+1],r+s,a+i,c,o,u,l,d,f,m)||p,p=To(t[n],r,a,c,o,u,l,d,f,!m)||p,p=To(t[n+1],r+c,a+o,s,i,u,l,d,f,!m)||p,p}var An=0,Sn=0;function Kh(t,e,n,r,a,s,i,c){let o=(e+r)*.5;if(o<i){let u=a-n,l,d;if(o<s)l=0,d=u;else{let f=Math.floor(o);l=Kt(f)-s,d=(f+1-o)*u}An>l&&(An=l),t[l]+=Math.fround(c*d),l++,t[l]+=Math.fround(c*(u-d)),l++,Sn<l&&(Sn=l)}}function Pa(t,e,n,r,a,s){let i=t.y,c=t.celldy,o=t.ybot;if(o<=r||i>=s||c===0)return;let u=t.x,l=t.celldx,d;o>s?(o=s,d=t.xnexty):d=t.xbot;let f=t.xnextx,m=t.ynextx,p=t.isTrailing?-1:1;for(;m<=o;)Kh(e,u,i,f,m,n,a,p),u=f,i=m,f+=l,m+=c;t.ynextx=m,t.xnextx=f,Kh(e,u,i,d,o,n,a,p),t.x=d,t.y=o,t.xnexty=d+t.linedx}function e0(t){return t>Oo?new Float32Array(t+2):(qh.fill(0,0,t+2),qh)}function jv(t,e,n,r,a,s,i,c){let o=t.b.x1,u=t.b.x2,l=t.b.y2,d=t.b.y1,f=u-o,m=Array.from({length:4},()=>new Fo);if(!cu(m,0,2,n,r,a,s,i,c,o,d,u,l,!1))return;let p=e0(f),b=t.mask;for(;d<l;){An=f+2,Sn=0,Pa(m[0],p,o,d,u,d+1),Pa(m[1],p,o,d,u,d+1);let y=An,g=Sn;An=f+2,Sn=0,Pa(m[2],p,o,d,u,d+1),Pa(m[3],p,o,d,u,d+1);let h=An,j=Sn;g>f&&(g=f),j>f&&(j=f),h<=g&&(g=j);let x=y,w=0,v=0,I=0;for(;x<g;)w+=p[x],p[x]=0,b[v++]=I=Dt(w),x++;if(I===255){v>0&&(Rt(t,e+(x-v)*t.ps,b,v,1),v=0);let J=h<j?h:f;x<J&&(Rt(t,e+x*t.ps,null,J-x,1),x=J)}else I>0&&h>=j&&(j=f);for(;x<j;)w+=p[x],p[x]=0,b[v++]=Dt(w),x++;v>0&&Rt(t,e+(x-v)*t.ps,b,v,1),e+=t.scan,d++}}function wv(t,e,n,r,a,s,i,c,o,u,l,d){let f=t.b.x1,m=t.b.x2,p=t.b.y2,b=t.b.y1,y=m-f,g=Array.from({length:8},()=>new Fo);if(!cu(g,0,6,n,r,a+o,s+u,i+l,c+d,f,b,m,p,!1))return;cu(g,2,4,n+o+l,r+u+d,a-o,s-u,i-l,c-d,f,b,m,p,!0);let h=e0(y),j=t.mask;for(;b<p;){An=y+2,Sn=0;for(let T=0;T<4;T++)Pa(g[T],h,f,b,m,b+1);let x=An,w=Sn;An=y+2,Sn=0;for(let T=4;T<8;T++)Pa(g[T],h,f,b,m,b+1);let v=An,I=Sn;w>y&&(w=y),I>y&&(I=y),v<=w&&(w=I);let J=x,O=0,S=0,M=0;for(;J<w;)O+=h[J],h[J]=0,j[S++]=M=Dt(O),J++;if(M===0||M===255){S>0&&(Rt(t,e+(J-S)*t.ps,j,S,1),S=0);let T=v<I?v:y;J<T&&(M===255&&Rt(t,e+J*t.ps,null,T-J,1),J=T)}else v>=I&&(I=y);for(;J<I;)O+=h[J],h[J]=0,j[S++]=M=Dt(O),J++;S>0&&Rt(t,e+(J-S)*t.ps,j,S,1),M===255&&J<y&&Rt(t,e+J*t.ps,null,y-J,1),e+=t.scan,b++}}function t0(t,e,n,r,a,s,i,c,o,u){let l=t.vm,d=ut(l,e),f=Se(t,r);if(!f)return;let m=We(l,l.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));if(be(m,s,i,c,o),m.y2<=m.y1||m.x2<=m.x1||!dt(m,f))return;let p=m.x2-m.x1,b=V[d.dst],y=b.packed?0:b.ps,g={s:f,fn:d.fn,ps:y,scan:f.scan,color:st(l,n,"eargb"),rule:Kr(l,a).rule,mask:p>Oo?new Uint8Array(p):xv,b:m,at:{sx:0,dx:m.x1,dy:m.y1,xor:0,mask:0}};u(g,f.off+m.y1*f.scan+m.x1*y)}function n0(t,e,n){if(t[3]<0&&(t[0]+=t[2],t[1]+=t[3],t[2]=-t[2],t[3]=-t[3]),t[5]<0&&(t[0]+=t[4],t[1]+=t[5],t[4]=-t[4],t[5]=-t[5]),t[2]*t[5]>t[4]*t[3]){let r=t[2];t[2]=t[4],t[4]=r,r=t[3],t[3]=t[5],t[5]=r,e&&(r=n[0],n[0]=n[1],n[1]=r)}}function r0(t,e,n){let r,a;return e<0?(r=t+e,a=t):(r=t,a=t+e),n<0?r+=n:a+=n,[Kt(Math.floor(r)),Kt(Math.ceil(a))]}function Qh(t,e,n,r,a,s,i,c,o,u,l){if(o===0&&c===0||l===0&&u===0)return;let d=[s,i,c,o,u,l];n0(d,!1,[]),[s,i,c,o,u,l]=d;let[f,m]=r0(s,c,u),p=Kt(Math.floor(i)),b=Kt(Math.ceil(i+o+l));t0(t,e,n,r,a,f,p,m,b,(y,g)=>{o===0&&u===0?(c<0&&(s+=c,c=-c),Yh(y,g,s,i,s+c,i+l)):c===0&&l===0?(u<0&&(s+=u,u=-u),Yh(y,g,s,i,s+u,i+o)):jv(y,g,s,i,c,o,u,l)})}var a0={"sun/java2d/loops/MaskFill.FillAAPgram"(t,[e,n,r,a,s,i,c,o,u,l]){Qh(t,e,n,r,a,s,i,c,o,u,l)},"sun/java2d/loops/MaskFill.DrawAAPgram"(t,[e,n,r,a,s,i,c,o,u,l,d,f]){if(o===0&&c===0||l===0&&u===0)return;let m=[s,i,c,o,u,l],p=[d,f];n0(m,!0,p),[s,i,c,o,u,l]=m,[d,f]=p;let b=c*d,y=o*d,g=u*f,h=l*f,j=s-(b+g)/2,x=i-(y+h)/2;if(d>=1||f>=1){Qh(t,e,n,r,a,j,x,c+b,o+y,u+g,l+h);return}let[w,v]=r0(j,c+b,u+g),I=Kt(Math.floor(x)),J=Kt(Math.ceil(x+o+y+l+h));t0(t,e,n,r,a,w,I,v,J,(O,S)=>{wv(O,S,j,x,c,o,u,l,b,y,g,h)})}};var k=Math.fround;function H(t){return t>=2147483647?2147483647:t<=-2147483648?-2147483648:t!==t?0:Math.trunc(t)|0}var Iv=(1n<<63n)-1n,kv=-(1n<<63n);function Ks(t){return t*=4294967296,t!==t?0n:t>=9223372036854776e3?Iv:t<=-9223372036854776e3?kv:BigInt(Math.trunc(t))}var fu=t=>BigInt.asIntN(64,t),Da=(t,e)=>Math.trunc(t/e)|0,Ee=10,K=1<<Ee,mt=K>>1,ht=-K,du=k(34028234663852886e22/4),s0=-du,mu=1<<30-Ee,i0=-mu,o0=1/K,Av=1<<30-Ee,Sv=256,Jv=1024,Ua=3,Eo=2,Mn=7,Lo=Mn+Ua*3-Ee,uu=Mn+Eo*2-Ee,Mv=1<<Ua,$v=1<<Eo,l0=1<<Ua*3+Mn+2,c0=1<<Ua*3+Mn-1,Tv=1<<Eo*2+Mn+2,u0=1<<Mn,f0=1<<Ua+Mn+1,d0=1<<Ua*2+Mn,m0=1<<Mn,h0=1<<Eo+Mn,na=0,Qs=1,g0=2,Xe=3,Xs=t=>t===na||t===Qs,Me=0,Ve=0;function Qt(t,e,n,r,a,s,i){if(Me=n,Ve=r,n>=t&&n<=e)return g0;let c,o;if(n<t){if(a<t)return Xe;c=na,o=t}else{if(a>e)return Xe;c=Qs,o=e}return i?(Ve=k(r+(o-n)*k(s-r)/k(a-n)),Me=k(o)):(Ve=H(r+(o-n)*(s-r|0)/(a-n|0)),Me=H(o)),c}var Ys=0,Ra=0,qs=0;function No(t,e,n,r,a,s,i){Ra=n,qs=r,Ys=a;let c=Qt(t,e,n,r,a,s,i);if(c===na||c===Qs)Ra=Me;else if(c===Xe){if(n>e)return Xe;Me=i?k(t):H(t),Ys=Me,c=g0}return c}var hu=class{s;b;pixel;fill;pure;xMin;yMin;xMax;yMax;xMinf=0;yMinf=0;xMaxf=0;yMaxf=0;pts=[];plgYMin=0;plgYMax=0;pen;constructor(e,n,r,a,s,i){this.pen=i,this.s=e,this.b=n,this.pixel=r,this.fill=a,this.pure=s,this.xMin=n.x1,this.yMin=n.y1,this.xMax=n.x2,this.yMax=n.y2}drawPixel(e,n){this.pen.put(this.s,e,n,this.pixel)}drawLine(e,n,r,a){Ea(this.s,this.b,this.pixel,e,n,r,a,0,this.pen)}drawScanline(e,n,r){this.pen.run(this.s,e,r,this.pixel,n-e+1,0,1,0,0,0)}processFixedLine(e,n,r,a,s,i,c){this.fill?this.storeFixedLine(e,n,r,a,s,i,c):this.fixedLine(e,n,r,a,s,i)}endSubPath(){this.fill&&this.pts.length&&(this.pts[this.pts.length-1].last=!0)}processLineFixed(e,n,r,a,s,i){let c=e>>Ee,o=n>>Ee,u=r>>Ee,l=a>>Ee;if(s){let d=k(this.xMinf+.5),f=k(this.yMinf+.5),m=k(this.xMaxf+.5),p=k(this.yMaxf+.5);if(Qt(f,p,o,c,l,u,!1)===Xe||(o=Me,c=Ve,Qt(f,p,l,u,o,c,!1)===Xe)||(l=Me,u=Ve,Qt(d,m,c,o,u,l,!1)===Xe)||(c=Me,o=Ve,Qt(d,m,u,l,c,o,!1)===Xe))return;u=Me,l=Ve}if((c^u|o^l)===0){i[0]===0?(i[0]=1,i[1]=c,i[2]=o,i[3]=c,i[4]=o,this.drawPixel(c,o)):(c!==i[3]||o!==i[4])&&(c!==i[1]||o!==i[2])&&(this.drawPixel(c,o),i[3]=c,i[4]=o);return}i[0]&&(i[1]===c&&i[2]===o||i[3]===c&&i[4]===o)&&this.drawPixel(c,o),this.drawLine(c,o,u,l),i[0]===0&&(i[0]=1,i[1]=c,i[2]=o,i[3]=c,i[4]=o),(i[1]===u&&i[2]===l||i[3]===u&&i[4]===l)&&this.drawPixel(u,l),i[3]=u,i[4]=l}processPoint(e,n,r,a){let s=e>>Ee,i=n>>Ee;r&&(this.yMin>i||this.yMax<=i||this.xMin>s||this.xMax<=s)||(a[0]===0?(a[0]=1,a[1]=s,a[2]=i,a[3]=s,a[4]=i,this.drawPixel(s,i)):(s!==a[3]||i!==a[4])&&(s!==a[1]||i!==a[2])&&(this.drawPixel(s,i),a[3]=s,a[4]=i))}fixedLine(e,n,r,a,s,i){let c=e^r|n^a,o,u,l,d;if((c&ht)===0){c===0&&this.processPoint(e+mt|0,n+mt|0,i,s);return}if(e===r||n===a)o=e+mt|0,l=r+mt|0,u=n+mt|0,d=a+mt|0;else{let f=r-e|0,m=a-n|0,p=e&ht,b=n&ht,y=r&ht,g=a&ht;if(p===e||b===n)o=e+mt|0,u=n+mt|0;else{let h=e<r?p+K|0:p,j=n<a?b+K|0:b,x=n+Da(Math.imul(h-e|0,m),f)|0;x>=b&&x<=b+K?(o=h,u=x+mt|0):(x=e+Da(Math.imul(j-n|0,f),m)|0,o=x+mt|0,u=j)}if(y===r||g===a)l=r+mt|0,d=a+mt|0;else{let h=e>r?y+K|0:y,j=n>a?g+K|0:g,x=a+Da(Math.imul(h-r|0,m),f)|0;x>=g&&x<=g+K?(l=h,d=x+mt|0):(x=r+Da(Math.imul(j-a|0,f),m)|0,l=x+mt|0,d=j)}}this.processLineFixed(o,u,l,d,i,s)}storeFixedLine(e,n,r,a,s,i,c){if(i){let u=H(k(this.xMinf*K)),l=H(k(this.xMaxf*K)),d=H(k(this.yMinf*K)),f=H(k(this.yMaxf*K));if(Qt(d,f,n,e,a,r,!1)===Xe)return;n=Me,e=Ve;let m=Qt(d,f,a,r,n,e,!1);if(m===Xe)return;a=Me,r=Ve;let p=Xs(m);if(m=No(u,l,e,n,r,a,!1),m===Xe)return;e=Me,n=Ve,r=Ys;let b=Ra,y=qs;m===na&&this.storeFixedLine(b,y,e,n,s,!1,p),m=No(u,l,r,a,e,n,!1),r=Me,a=Ve,e=Ys,b=Ra,y=qs,p=p||m===Qs,this.storeFixedLine(e,n,r,a,s,!1,p),m===na&&this.storeFixedLine(r,a,b,y,s,!1,p);return}let o=this.pts;(o.length===0||o[o.length-1].last)&&this.addPoint(e,n),this.addPoint(r,a),c&&(o[o.length-1].last=!0)}addPoint(e,n){let r=this.pts;r.length?(this.plgYMin>n&&(this.plgYMin=n),this.plgYMax<n&&(this.plgYMax=n)):(this.plgYMin=n,this.plgYMax=n),r.push({x:e,y:n,last:!1,prev:null,next:null,nextByY:null,edge:null})}processLine(e,n,r,a,s){let{xMinf:i,yMinf:c,xMaxf:o,yMaxf:u}=this,l=Qt(c,u,n,e,a,r,!0);if(l===Xe)return;n=Me,e=Ve;let d=Xs(l);if(l=Qt(c,u,a,r,n,e,!0),l===Xe)return;a=Me,r=Ve;let f=Xs(l);if(d=d||f,!this.fill){if(l=Qt(i,o,e,n,r,a,!0),l===Xe||(e=Me,n=Ve,d=d||Xs(l),l=Qt(i,o,r,a,e,n,!0),l===Xe))return;r=Me,a=Ve,f=f||Xs(l),d=d||f;let j=H(k(e*K)),x=H(k(n*K)),w=H(k(r*K)),v=H(k(a*K));this.processFixedLine(j,x,w,v,s,d,f);return}if(l=No(i,o,e,n,r,a,!0),l===Xe)return;e=Me,n=Ve,r=Ys;let m=Ra,p=qs,b=H(k(e*K)),y=H(k(n*K));if(l===na){let j=H(k(m*K)),x=H(k(p*K));this.processFixedLine(j,x,b,y,s,!1,f)}l=No(i,o,r,a,e,n,!0),r=Me,a=Ve,m=Ra,p=qs,f=f||l===Qs;let g=H(k(r*K)),h=H(k(a*K));if(this.processFixedLine(b,y,g,h,s,!1,f),l===na){let j=H(k(m*K)),x=H(k(p*K));this.processFixedLine(g,h,j,x,s,!1,f)}}curveBounds(e,n){let r=e[0],a=e[0],s=e[1],i=e[1];for(let l=2;l<n;l+=2)e[l]<r&&(r=e[l]),e[l]>a&&(a=e[l]),e[l+1]<s&&(s=e[l+1]),e[l+1]>i&&(i=e[l+1]);let c=n===6?Jv:Sv;if(this.fill){if(this.yMaxf<s||this.yMinf>i||this.xMaxf<r)return{skip:!0,split:!1,check:!1};if(this.xMinf>a)for(let l=0;l<n;l+=2)e[l]=this.xMinf}else if(this.xMaxf<r||this.xMinf>a||this.yMaxf<s||this.yMinf>i)return{skip:!0,split:!1,check:!1};let o=k(a-r)>c||k(i-s)>c,u=n===6?this.xMinf>=r||this.xMaxf<=a||this.yMinf>=s||this.yMaxf<=i:this.xMinf>r||this.xMaxf<a||this.yMinf>s||this.yMaxf<i;return{skip:!1,split:o,check:u}}drawMonotonicQuad(e,n,r){let a=H(k(e[0]*K)),s=H(k(e[1]*K)),i=H(k(e[4]*K)),c=H(k(e[5]*K)),o=(a&~ht)<<uu,u=(s&~ht)<<uu,l=$v,d=uu,f=H(k(k(k(e[0]-k(2*e[2]))+e[4])*m0)),m=H(k(k(k(e[1]-k(2*e[3]))+e[5])*m0)),p=H(k(k(k(-2*e[0])+k(2*e[2]))*h0)),b=H(k(k(k(-2*e[1])+k(2*e[3]))*h0)),y=2*f|0,g=2*m|0,h=f+p|0,j=m+b|0,x,w,v=a,I=s,J=N=>(N^N>>31)-(N>>31)|0,O=Math.max(J(y),J(g)),S=a&ht,M=s&ht,T=i-a|0,F=c-s|0;for(;O>Tv;)h=(h<<1)-f|0,j=(j<<1)-m|0,l<<=1,O>>=2,o<<=2,u<<=2,d+=2;for(;l-- >1;)o=o+h|0,u=u+j|0,h=h+y|0,j=j+g|0,x=v,w=I,v=S+(o>>d)|0,I=M+(u>>d)|0,((i-v|0)^T)<0&&(v=i),((c-I|0)^F)<0&&(I=c),this.processFixedLine(x,w,v,I,r,n,!1);this.processFixedLine(v,I,i,c,r,n,!1)}processMonotonicQuad(e,n){let r=this.curveBounds(e,6);if(!r.skip)if(r.split){let a=new Float32Array(6);a[4]=e[4],a[5]=e[5],a[2]=k(e[2]+e[4])/2,a[3]=k(e[3]+e[5])/2,e[2]=k(e[0]+e[2])/2,e[3]=k(e[1]+e[3])/2,e[4]=a[0]=k(e[2]+a[2])/2,e[5]=a[1]=k(e[3]+a[3])/2,this.processMonotonicQuad(e,n),this.processMonotonicQuad(a,n)}else this.drawMonotonicQuad(e,r.check,n)}firstPartOfQuad(e,n,r){let a=new Float32Array(6);a[0]=e[0],a[1]=e[1],a[2]=k(e[0]+k(r*k(e[2]-e[0]))),a[3]=k(e[1]+k(r*k(e[3]-e[1]))),e[2]=k(e[2]+k(r*k(e[4]-e[2]))),e[3]=k(e[3]+k(r*k(e[5]-e[3]))),e[0]=a[4]=k(a[2]+k(r*k(e[2]-a[2]))),e[1]=a[5]=k(a[3]+k(r*k(e[3]-a[3]))),this.processMonotonicQuad(a,n)}processQuad(e,n){let r=[0,0],a=0,s;if((e[0]>e[2]||e[2]>e[4])&&(e[0]<e[2]||e[2]<e[4])){let i=k(k(e[0]-k(2*e[2]))+e[4]);i!==0&&(s=k(e[0]-e[2])/i,s<1&&s>0&&(r[a++]=s))}if((e[1]>e[3]||e[3]>e[5])&&(e[1]<e[3]||e[3]<e[5])){let i=k(k(e[1]-k(2*e[3]))+e[5]);i!==0&&(s=k(e[1]-e[3])/i,s<1&&s>0&&(a>0?r[0]>s?(r[a++]=r[0],r[0]=s):r[0]<s&&(r[a++]=s):r[a++]=s))}a>=1&&(this.firstPartOfQuad(e,n,k(r[0])),a===2&&(s=r[1]-r[0],s>0&&this.firstPartOfQuad(e,n,k(s/(1-r[0]))))),this.processMonotonicQuad(e,n)}drawMonotonicCubic(e,n,r){let a=H(k(e[0]*K)),s=H(k(e[1]*K)),i=H(k(e[6]*K)),c=H(k(e[7]*K)),o=(a&~ht)<<Lo,u=(s&~ht)<<Lo,l=c0,d=c0<<1,f=l0,m=l0<<1,p=Mv,b=Lo,y=(P,ee,$e,Vt)=>k(k(k(-P+k(3*ee))-k(3*$e))+Vt),g=H(k(y(e[0],e[2],e[4],e[6])*u0)),h=H(k(y(e[1],e[3],e[5],e[7])*u0)),j=(P,ee,$e)=>k(k(k(3*P)-k(6*ee))+k(3*$e)),x=H(k(j(e[0],e[2],e[4])*f0)),w=H(k(j(e[1],e[3],e[5])*f0)),v=H(k(k(k(-3*e[0])+k(3*e[2]))*d0)),I=H(k(k(k(-3*e[1])+k(3*e[3]))*d0)),J=Math.imul(6,g),O=Math.imul(6,h),S=J+x|0,M=O+w|0,T=g+(x>>1)+v|0,F=h+(w>>1)+I|0,N,C,L=a,R=s,U=a&ht,D=s&ht,G=i-a|0,q=c-s|0;for(;p>0;){for(;(S+f|0)>>>0>m>>>0||(M+f|0)>>>0>m>>>0;)S=(S<<1)-J|0,M=(M<<1)-O|0,T=(T<<2)-(S>>1)|0,F=(F<<2)-(M>>1)|0,p<<=1,f<<=3,m<<=3,l<<=3,d<<=3,o<<=3,u<<=3,b+=3;for(;p&1^1&&b>Lo&&(T+l|0)>>>0<=d>>>0&&(F+l|0)>>>0<=d>>>0;)T=(T>>2)+(S>>3)|0,F=(F>>2)+(M>>3)|0,S=S+J>>1,M=M+O>>1,p>>=1,f>>=3,m>>=3,l>>=3,d>>=3,o>>=3,u>>=3,b-=3;p--,p?(o=o+T|0,u=u+F|0,T=T+S|0,F=F+M|0,S=S+J|0,M=M+O|0,N=L,C=R,L=U+(o>>b)|0,R=D+(u>>b)|0,((i-L|0)^G)<0&&(L=i),((c-R|0)^q)<0&&(R=c),this.processFixedLine(N,C,L,R,r,n,!1)):this.processFixedLine(L,R,i,c,r,n,!1)}}processMonotonicCubic(e,n){let r=this.curveBounds(e,8);if(!r.skip)if(r.split){let a=new Float32Array(8);a[6]=e[6],a[7]=e[7],a[4]=k(e[4]+e[6])/2,a[5]=k(e[5]+e[7])/2;let s=k(k(e[2]+e[4])/2),i=k(k(e[3]+e[5])/2);a[2]=k(s+a[4])/2,a[3]=k(i+a[5])/2,e[2]=k(e[0]+e[2])/2,e[3]=k(e[1]+e[3])/2,e[4]=k(e[2]+s)/2,e[5]=k(e[3]+i)/2,e[6]=a[0]=k(e[4]+a[2])/2,e[7]=a[1]=k(e[5]+a[3])/2,this.processMonotonicCubic(e,n),this.processMonotonicCubic(a,n)}else this.drawMonotonicCubic(e,r.check,n)}firstPartOfCubic(e,n,r){let a=new Float32Array(8);a[0]=e[0],a[1]=e[1];let s=k(e[2]+k(r*k(e[4]-e[2]))),i=k(e[3]+k(r*k(e[5]-e[3])));a[2]=k(e[0]+k(r*k(e[2]-e[0]))),a[3]=k(e[1]+k(r*k(e[3]-e[1]))),a[4]=k(a[2]+k(r*k(s-a[2]))),a[5]=k(a[3]+k(r*k(i-a[3]))),e[4]=k(e[4]+k(r*k(e[6]-e[4]))),e[5]=k(e[5]+k(r*k(e[7]-e[5]))),e[2]=k(s+k(r*k(e[4]-s))),e[3]=k(i+k(r*k(e[5]-i))),e[0]=a[6]=k(a[4]+k(r*k(e[2]-a[4]))),e[1]=a[7]=k(a[5]+k(r*k(e[3]-a[5]))),this.processMonotonicCubic(a,n)}processCubic(e,n){let r=[],a=(i,c,o)=>{let u;if(i!==0){let l=c*c-4*i*o;if(l<0)return;l=Math.sqrt(l),c<0&&(l=-l);let d=(c+l)/-2;if(u=d/i,u<1&&u>0&&r.push(u),l===0||d===0)return;u=o/d,u<1&&u>0&&r.push(u)}else{if(c===0)return;u=-o/c,u<1&&u>0&&r.push(u)}};(e[0]>e[2]||e[2]>e[4]||e[4]>e[6])&&(e[0]<e[2]||e[2]<e[4]||e[4]<e[6])&&a(k(k(k(-e[0]+k(3*e[2]))-k(3*e[4]))+e[6]),k(2*k(k(e[0]-k(2*e[2]))+e[4])),k(-e[0]+e[2])),(e[1]>e[3]||e[3]>e[5]||e[5]>e[7])&&(e[1]<e[3]||e[3]<e[5]||e[5]<e[7])&&a(k(k(k(-e[1]+k(3*e[3]))-k(3*e[5]))+e[7]),k(2*k(k(e[1]-k(2*e[3]))+e[5])),k(-e[1]+e[3]));let s=r.length;if(s>0){for(let i=1;i<s;i++){let c=r[i],o;for(o=i-1;o>=0&&r[o]>c;o--)r[o+1]=r[o];r[o+1]=c}this.firstPartOfCubic(e,n,k(r[0]));for(let i=1;i<s;i++){let c=r[i]-r[i-1];c>0&&this.firstPartOfCubic(e,n,k(c/(1-r[i-1])))}}this.processMonotonicCubic(e,n)}fillPolygon(e){let n=this.pts,r=n.length,a=this.plgYMin,s=this.plgYMax,i=(s-a>>Ee)+4,c=a-1&ht,o=this.xMax-1,u=e?1:-1;if(r<=1)return;let l=new Array(i).fill(null);n[0].prev=null;let d=g=>g.y-c-1>>Ee;for(let g=0;g<r-1;g++){let h=n[g],j=n[g+1],x=d(h);h.nextByY=l[x],l[x]=h,h.next=j,j.prev=h,h.edge=null}let f=n[r-1],m=d(f);f.nextByY=l[m],l[m]=f,f.next=null,f.edge=null;let p={head:null},b=g=>{let h=g.prev,j=g.next;h?h.next=j:p.head=j,j&&(j.prev=h)},y=(g,h)=>{let j=g.next;if(g.y===j.y)return;let x={x:0,dx:0,dir:0,prev:null,next:null},w=j.x-g.x|0,v=j.y-g.y|0,I;g.y<j.y?(x.dir=-1,x.x=g.x,I=h-g.y|0):(x.dir=1,x.x=j.x,I=h-j.y|0),(w^w>>31)-(w>>31)>Av?(x.dx=H(w*K/v),x.x=x.x+H(w*I/v)|0):(x.dx=Da(w<<Ee,v),x.x=x.x+Da(Math.imul(w,I),v)|0),x.next=p.head,p.head&&(p.head.prev=x),p.head=x,g.edge=x};for(let g=c+K|0,h=0;g<=s&&h<i;g=g+K|0,h++){for(let S=l[h];S;S=S.nextByY)S.prev&&!S.prev.last&&(S.prev.edge&&S.prev.y<=g?(b(S.prev.edge),S.prev.edge=null):S.prev.y>g&&y(S.prev,g)),!S.last&&S.next&&(S.edge&&S.next.y<=g?(b(S.edge),S.edge=null):S.next.y>g&&y(S,g));if(!p.head)continue;let j=null,x=!0;for(;j!==p.head.next&&x;){let S=p.head,M=S,T=S.next;for(x=!1;S!==j;){if(S.x>=T.x){x=!0;let F=T.next;T.next=S,S.next=F,S===p.head?p.head=T:M.next=T,M=T}else M=S,S=S.next;T=S.next,T===j&&(j=S)}}let w=null;for(let S=p.head;S;S=S.next)S.prev=w,w=S;let v=this.xMin,I,J=0,O=!1;for(let S=p.head;S;S=S.next)J+=S.dir,J&u&&!O&&(v=S.x+K-1>>Ee,O=!0),!(J&u)&&O&&(I=S.x-1>>Ee,v<=I&&this.drawScanline(v,I,g>>Ee),O=!1),S.x=S.x+S.dx|0;O&&v<=o&&this.drawScanline(v,o,g>>Ee)}}processPath(e,n,r,a,s,i){let c=new Float32Array(8),o=new Float32Array(2),u=new Int32Array(5),l=!1,d=!1,f,m,p=0,b=k(e),y=k(n);this.pure&&(o[0]=-.5,o[1]=-.5,b=k(b-.5),y=k(y-.5));let g=x=>x<i0?i0:x>mu?mu:x;this.xMin=g(this.xMin),this.yMin=g(this.yMin),this.xMax=g(this.xMax),this.yMax=g(this.yMax),this.xMinf=k(this.xMin-.5),this.yMinf=k(this.yMin-.5),this.xMaxf=k(k(this.xMax-.5)-o0),this.yMaxf=k(k(this.yMax-.5)-o0);let h=(x,w)=>x<du&&x>s0&&w<du&&w>s0,j=()=>{this.fill&&(c[0]!==o[0]||c[1]!==o[1])&&this.processLine(c[0],c[1],o[0],o[1],u),this.endSubPath()};for(let x=0;x<i;x++)switch(s[x]){case 0:if(p+2>a)return!1;d&&!l&&j(),c[0]=r[p++]+b,c[1]=r[p++]+y,h(c[0],c[1])?(d=!0,l=!1,o[0]=c[0],o[1]=c[1]):l=!0;break;case 1:if(p+2>a)return!1;c[2]=r[p++]+b,c[3]=r[p++]+y,f=c[2],m=c[3],h(f,m)&&(l?(c[0]=o[0]=f,c[1]=o[1]=m,d=!0,l=!1):(this.processLine(c[0],c[1],c[2],c[3],u),c[0]=f,c[1]=m));break;case 2:if(p+4>a)return!1;c[2]=r[p++]+b,c[3]=r[p++]+y,c[4]=r[p++]+b,c[5]=r[p++]+y,f=c[4],m=c[5],h(f,m)&&(l?(c[0]=o[0]=f,c[1]=o[1]=m,d=!0,l=!1):(h(c[2],c[3])?this.processQuad(c,u):this.processLine(c[0],c[1],c[4],c[5],u),c[0]=f,c[1]=m));break;case 3:if(p+6>a)return!1;c[2]=r[p++]+b,c[3]=r[p++]+y,c[4]=r[p++]+b,c[5]=r[p++]+y,c[6]=r[p++]+b,c[7]=r[p++]+y,f=c[6],m=c[7],h(f,m)&&(l?(c[0]=o[0]=c[6],c[1]=o[1]=c[7],d=!0,l=!1):(h(c[2],c[3])&&h(c[4],c[5])?this.processCubic(c,u):this.processLine(c[0],c[1],c[6],c[7],u),c[0]=f,c[1]=m));break;case 4:d&&!l&&(l=!1,(c[0]!==o[0]||c[1]!==o[1])&&(this.processLine(c[0],c[1],o[0],o[1],u),c[0]=o[0],c[1]=o[1]),this.endSubPath());break}return d&&!l&&j(),!0}},Fv=2,Bo="java/awt/geom/Path2D";function b0(t){return(e,[n,r,a,s,i,c])=>{let o=e.vm,u=st(o,r,"strokeHint"),l=Se(e,a),d=o.getField(c,Bo,"pointTypes"),f=o.getField(c,Bo+"$Float","floatCoords");if(f===null)throw new A("java/lang/NullPointerException","coordinates array");let m=o.getField(c,Bo,"numTypes"),p=o.getField(c,Bo,"windingRule");if(d===null||d.a.length<m)throw new A("java/lang/ArrayIndexOutOfBoundsException","types array");if(!l)return;let b=We(o,o.getField(r,"sun/java2d/SunGraphics2D","clipRegion"));if(!dt(b,l))return;let y=new hu(l,b,st(o,r,"pixel"),t,u===Fv,fr(o,n,r)),g=f.a;if(!y.processPath(s,i,g,g.length,d.a,m))throw new A("java/lang/ArrayIndexOutOfBoundsException","coords array");t&&y.fillPolygon(p!==1)}}function y0(t,e,n,r,a){let s,i;return e+n<0?(s=t+e+n,i=t):(s=t,i=t+e+n),r+a<0?s+=r+a:i+=r+a,[H(Math.floor(s+.5)),H(Math.floor(i+.5))]}var Jn=(t,e,n,r)=>fu(Ks(e+r*(t+.5-n))+(1n<<31n)-1n);function v0(t,e,n,r,a,s,i,c,o,u){for(;r<s;){let l=Number(i>>32n)|0,d=Number(o>>32n)|0;l<n&&(l=n),d>a&&(d=a);let f=t.off+r*t.scan+l*t.ps;for(;l<d;l++,f+=t.ps)qt(t,f,e);i=fu(i+c),o=fu(o+u),r++}}function x0(t,e){if(t[3]<0&&(t[0]+=t[2],t[1]+=t[3],t[2]=-t[2],t[3]=-t[3]),t[5]<0&&(t[0]+=t[4],t[1]+=t[5],t[4]=-t[4],t[5]=-t[5]),t[2]*t[5]>t[4]*t[3]){let n=t[2];t[2]=t[4],t[4]=n,n=t[3],t[3]=t[5],t[5]=n,e&&(n=e[0],e[0]=e[1],e[1]=n)}}function j0(t,e,n,r,a,s,i){let c=t.vm,o=Se(t,n);if(!o)return null;let u=We(c,c.getField(e,"sun/java2d/SunGraphics2D","clipRegion"));return be(u,r,a,s,i),u.y2<=u.y1||u.x2<=u.x1||!dt(u,o)?null:{s:o,b:u,pixel:st(c,e,"pixel")}}function Ov(t,[,e,n,r,a,s,i,c,o]){if(i===0&&s===0||o===0&&c===0)return;let u=[r,a,s,i,c,o];x0(u),[r,a,s,i,c,o]=u;let[l,d]=y0(r,s,0,c,0),f=H(Math.floor(a+.5)),m=H(Math.floor(a+i+o+.5)),p=j0(t,e,n,l,f,d,m);if(!p)return;let{s:b,b:y,pixel:g}=p,h=i===0?0:s/i,j=o===0?0:c/o,x=Ks(h),w=Ks(j);s+=r,i+=a,c+=r,o+=a;let v=H(Math.floor(i+.5)),I=H(Math.floor(o+.5)),J=(F,N,C,L,R,U)=>v0(b,g,y.x1,F,y.x2,N,C,L,R,U),O=y.y1,S=y.y2,M=O,T=v<I?v:I;T>S&&(T=S),M<T&&J(M,T,Jn(M,r,a,h),x,Jn(M,r,a,j),w),v<I?(M=v,T=I,M<O&&(M=O),T>S&&(T=S),M<T&&J(M,T,Jn(M,s,i,j),w,Jn(M,r,a,j),w)):I<v&&(M=I,T=v,M<O&&(M=O),T>S&&(T=S),M<T&&J(M,T,Jn(M,r,a,h),x,Jn(M,c,o,h),x)),M=v>I?v:I,M<O&&(M=O),T=S,M<T&&J(M,T,Jn(M,s,i,j),w,Jn(M,c,o,h),x)}function Co(t,e,n,r,a){return{x0:t,y0:e,slope:r,dx:a,ystart:H(Math.floor(e+.5)),yend:H(Math.floor(n+.5))}}function p0(t,e,n,r,a,s,i,c,o,u,l,d,f){t[e]=Co(r,a,a+i,u,d),t[n]=Co(r,a,a+o,l,f),t[e+1]=Co(r+s,a+i,a+i+o,l,f),t[n+1]=Co(r+c,a+o,a+i+o,u,d)}function Lv(t,[,e,n,r,a,s,i,c,o,u,l]){let d=[r,a,s,i,c,o],f=[u,l];x0(d,f),[r,a,s,i,c,o]=d,[u,l]=f;let m=s*u,p=i*u,b=c*l,y=o*l,g=r-(m+b)/2,h=a-(p+y)/2,[j,x]=y0(g,s,m,c,b),w=H(Math.floor(h+.5)),v=H(Math.floor(h+i+p+o+y+.5)),I=j0(t,e,n,j,w,x,v);if(!I)return;let{s:J,b:O,pixel:S}=I,M=i===0?0:s/i,T=o===0?0:c/o,F=Ks(M),N=Ks(T),C=[],L;if(u<1&&l<1){if(u=Math.sqrt(m*m+p*p),l=Math.sqrt(b*b+y*y),u<=1.0001&&l<=1.0001){s+=r,i+=a;let D=s+c,G=i+o;c+=r,o+=a;let q=(P,ee,$e,Vt)=>Ea(J,O,S,H(Math.floor(P)),H(Math.floor(ee)),H(Math.floor($e)),H(Math.floor(Vt)),1);q(r,a,s,i),q(s,i,D,G),q(D,G,c,o),q(c,o,r,a);return}p0(C,2,4,g+m+b,h+p+y,s-m,i-p,c-b,o-y,M,T,F,N),L=8}else L=4;p0(C,0,L-2,g,h,s+m,i+p,c+b,o+y,M,T,F,N);let R=O.y2,U=C[0].ystart;for(U<O.y1&&(U=O.y1);U<R;){let D=[],G=R;for(let q=0;q<L;q++){let P=C[q];U<P.yend&&(U<P.ystart?G>P.ystart&&(G=P.ystart):(D.push(P),G>P.yend&&(G=P.yend)))}for(let q=0;q<D.length;q+=2){let P=D[q],ee=D[q+1];v0(J,S,O.x1,U,O.x2,G,Jn(U,P.x0,P.y0,P.slope),P.dx,Jn(U,ee.x0,ee.y0,ee.slope),ee.dx)}U=G}}var w0={"sun/java2d/loops/FillPath.FillPath":b0(!0),"sun/java2d/loops/DrawPath.DrawPath":b0(!1),"sun/java2d/loops/FillParallelogram.FillParallelogram":Ov,"sun/java2d/loops/DrawParallelogram.DrawParallelogram":Lv};var se=(t,e)=>t.getUint16(e),zn=(t,e)=>t.getInt16(e),bt=(t,e)=>t.getUint32(e),en=t=>(t.charCodeAt(0)<<24|t.charCodeAt(1)<<16|t.charCodeAt(2)<<8|t.charCodeAt(3))>>>0,I0=en("head"),Nv=en("hhea"),Bv=en("maxp"),bu=en("hmtx"),Cv=en("vmtx"),Ev=en("glyf"),Pv=en("loca"),Dv=en("cmap"),Rv=en("kern"),Uv=en("ttcf"),Vv=new Set([65536,131072,en("true"),2775278180,2775348084]),Ut=class extends Error{},pu=Symbol("bad glyph"),Po=class{upem;numGlyphs;ascender;descender;height;maxAdvance;dv;tables=new Map;longLoca;locaOff;numLocations;glyfOff;glyfLen;hMetrics;cmap=null;cache=new Map;constructor(e,n=0){let r=e.length,a=this.dv=new DataView(e.buffer,e.byteOffset,r),s=j=>{throw new Error(j)};r<12&&s("short file");let i=0;if(bt(a,0)===Uv){let j=bt(a,8);(j===0||j>r/32||n>=j)&&s("bad collection"),i=bt(a,12+n*4),i+12>r&&s("bad collection")}else n!==0&&s("bad face index");Vv.has(bt(a,i))||s("not TrueType");let c=!1;for(let j=0,x=se(a,i+4);j<x;j++){let w=i+12+j*16;if(w+16>r)break;let v=bt(a,w),I=bt(a,w+8),J=bt(a,w+12);if(!(I>r)){if(J>r-I){if(v!==bu&&v!==Cv)continue;J=r-I&-4}else v===I0&&(c=!0,J<54&&s("head too small"));this.tables.has(v)||this.tables.set(v,{off:I,len:J})}}let o=this.tables.get(I0),u=this.tables.get(Nv),l=this.tables.get(Bv),d=this.tables.get(bu),f=this.tables.get(Ev),m=this.tables.get(Pv);(!c||!o)&&s("no head"),this.upem=se(a,o.off+18),(this.upem<16||this.upem>16384)&&s("bad unitsPerEm"),this.longLoca=zn(a,o.off+50)!==0;let p=l&&l.off+6<=r?se(a,l.off+4):0;(!u||u.off+36>r||!d||!f||!m)&&s("missing table");let b=u.off;this.ascender=zn(a,b+4),this.descender=zn(a,b+6),this.height=this.ascender-this.descender+zn(a,b+8),this.maxAdvance=se(a,b+10),this.hMetrics=se(a,b+34),this.glyfOff=f.off,this.glyfLen=f.len;let y=this.longLoca?2:1,g=Math.min(m.len,65536*2**y),h=Math.floor(g/2**y);if(h<p+1){let j=(p+1)*2**y,x=2147483647,w=!1;for(let v of this.tables.values()){let I=v.off-m.off;I>0&&I<x&&(x=I,w=!0)}w||(x=r-m.off),j<=x?(h=p+1,g=j):p=h?h-1:0}this.numGlyphs=p,this.numLocations=h,this.locaOff=m.off;try{this.pickCmap(this.tables.get(Dv)?.off??0)}catch{this.cmap=null}}pickCmap(e){if(!e)return;let n=this.dv,r=-1,a=0;for(let s=0,i=se(n,e+2);s<i;s++){let c=se(n,e+4+s*8),o=se(n,e+6+s*8),u=e+bt(n,e+8+s*8),l=se(n,u);if(l!==4&&l!==12)continue;let d=c===3&&o===10||c===0&&o>=4?3:c===3&&o===1||c===0?2:-1;d>r&&(r=d,a=u)}r>=0&&(this.cmap={format:se(n,a),off:a})}glyphIndex(e){try{return this.lookup(e)}catch{return 0}}lookup(e){let n=this.cmap;if(!n)return 0;let r=this.dv,a=n.off;if(n.format===12){let f=0,m=bt(r,a+12)-1;for(;f<=m;){let p=f+m>>1,b=a+16+p*12;if(e<bt(r,b))m=p-1;else if(e>bt(r,b+4))f=p+1;else return bt(r,b+8)+e-bt(r,b)}return 0}if(e>65535)return 0;let s=se(r,a+6),i=a+14,c=i+s+2,o=c+s,u=o+s,l=0,d=s/2-1;for(;l<=d;){let f=l+d>>1;if(e>se(r,i+f*2))l=f+1;else if(e<se(r,c+f*2))d=f-1;else{let m=se(r,u+f*2);if(m===0)return e+se(r,o+f*2)&65535;let p=se(r,u+f*2+m+(e-se(r,c+f*2))*2);return p===0?0:p+se(r,o+f*2)&65535}}return 0}advance(e){let n=this.tables.get(bu),r=this.hMetrics;if(!n||r===0)return 0;let a=e<r?e*4:(r-1)*4;return a+(e<r?4:2)>n.len?0:se(this.dv,n.off+a)}location(e){let n=this.dv,r=this.longLoca,a=this.numLocations,s=0,i=0;if(e<a){let c=r?4:2,o=this.locaOff+e*c,u=l=>r?bt(n,l):se(n,l);s=i=u(o),e+1<a&&(i=u(o+c)),r||(s*=2,i*=2)}if(s>this.glyfLen)return[0,0];if(i>this.glyfLen){if(e!==a-2)return[0,0];i=this.glyfLen}return[s,i>=s?i-s:this.glyfLen-s]}glyph(e){let n=this.cache.get(e);if(n===void 0){try{n=e>=0&&e<this.numGlyphs?this.parse(e):pu}catch{n=pu}this.cache.size>1024&&this.cache.clear(),this.cache.set(e,n)}if(n===pu)throw new Ut;return n}parse(e){let[n,r]=this.location(e);if(r===0)return null;let a=this.glyfOff+n,s=a+r;if(a+10>s)throw new Ut;let i=zn(this.dv,a);return i===0?null:i<0?{parts:this.composite(a+10,s)}:{simple:this.simple(a+10,s,i)}}simple(e,n,r){let a=this.dv,s=new Uint8Array(a.buffer,a.byteOffset,a.byteLength),i=()=>{throw new Ut};(r>=4095||e+2*r+2>n)&&i();let c=[];for(let p=0,b=-1;p<r;p++,e+=2){let y=se(a,e);y<=b&&i(),c.push(b=y)}let o=c[r-1]+1,u=se(a,e);e+=2,e+u>n&&i(),e+=u;let l=[];for(;l.length<o;){e+1>n&&i();let p=s[e++];if(l.push(p),p&8){e+1>n&&i();let b=s[e++];for(l.length+b>o&&i();b-- >0;)l.push(p)}}let d=(p,b,y)=>{let g=[],h=0;for(let j of l)j&p?(e+1>n&&i(),h+=j&b?s[e++]:-s[e++]):j&y||(e+2>n&&i(),h+=zn(a,e),e+=2),g.push(h);return g},f=d(2,16,16),m=d(4,32,32);return{x:f,y:m,on:l.map(p=>(p&1)!==0),ends:c}}composite(e,n){let r=this.dv,a=[];for(;;){if(e+4>n)throw new Ut;let s=se(r,e),i=se(r,e+2);if(e+=4,i>=this.numGlyphs)throw new Ut;let c=s&1,o=s&8?2:s&64?4:s&128?8:0;if(e+2+c*2+o>n)throw new Ut;let u=0,l=0;s&2&&(u=c?zn(r,e):r.getInt8(e),l=c?zn(r,e+2):r.getInt8(e+1)),e+=2+c*2;let d=m=>r.getInt16(m)*4,f=[65536,0,0,65536];if(s&8?f=[d(e),0,0,d(e)]:s&64?f=[d(e),0,0,d(e+2)]:s&128&&(f=[d(e),d(e+4),d(e+2),d(e+6)]),e+=o,a.push({gid:i,m:f,dx:u,dy:l}),!(s&32))return a}}scaled(e,n,r=[]){if(r.length>100)throw new Ut;let a=this.glyph(e);if(!a)return null;if("simple"in a){let i=a.simple;return{x:i.x.map(c=>fe(c,n)),y:i.y.map(c=>fe(c,n)),on:i.on,ends:i.ends}}if(r.includes(e))throw new Ut;r.push(e);let s={x:[],y:[],on:[],ends:[]};for(let i of a.parts){let c=this.scaled(i.gid,n,r);if(!c)continue;let o=s.x.length,[u,l,d,f]=i.m,m=fe(i.dx,n),p=fe(i.dy,n);for(let b=0;b<c.x.length;b++)s.x.push(fe(c.x[b],u)+fe(c.y[b],l)+m),s.y.push(fe(c.x[b],d)+fe(c.y[b],f)+p),s.on.push(c.on[b]);for(let b of c.ends)s.ends.push(b+o)}return r.pop(),s.x.length?s:null}kern(e,n){try{return this.pairKern(e,n)}catch{return 0}}pairKern(e,n){let r=this.dv,a=this.tables.get(Rv)?.off??0;if(!a)return 0;let s=a+4;for(let i=se(r,a+2);i>0;i--){let c=se(r,s+2);if(se(r,s+4)===1){let u=se(r,s+6),l=e*65536+n,d=0,f=u-1;for(;d<=f;){let m=d+f>>1,p=s+14+m*6,b=se(r,p)*65536+se(r,p+2);if(l<b)f=m-1;else if(l>b)d=m+1;else return zn(r,p+4)}}s+=c}return 0}};function fe(t,e){let n=Math.abs(t)*Math.abs(e),r=Math.floor((n+32768)/65536);return t<0!=e<0?-r:r}function k0(t,e){let n=t.x.length,r=new Array(n),a=new Array(n);for(let s=0;s<n;s++)r[s]=fe(t.x[s],e[0])+fe(t.y[s],e[1]),a[s]=fe(t.x[s],e[2])+fe(t.y[s],e[3]);return{x:r,y:a,on:t.on,ends:t.ends}}function hr(t,e,n){let r=t<0!=e<0!=n<0,a=Math.abs(n),s=a>0?Math.floor((Math.abs(t)*Math.abs(e)+Math.floor(a/2))/a):2147483647;return r?-s:s}var A0=(t,e)=>hr(t,65536,e),gu=t=>31-Math.clz32(t);function Gv(t){let e=t.x|0,n=t.y|0,r=e<0?-1:1,a=n<0?-1:1,s=Math.abs(e)>>>0,i=Math.abs(n)>>>0;if(s===0)return i>0&&(t.y=a*65536),i;if(i===0)return s>0&&(t.x=r*65536),s;let c=s>i?s+(i>>>1):i+(s>>>1),o=31-gu(c);o-=15+(c>=2863311530>>>o?1:0),o>0?(s=s<<o>>>0,i=i<<o>>>0,c=s>i?s+(i>>>1):i+(s>>>1)):(s>>>=-o,i>>>=-o,c>>>=-o);let u=65536-c|0,l,d,f,m=s|0,p=i|0;do d=m+(Math.imul(m,u)>>16)>>>0,f=p+(Math.imul(p,u)>>16)>>>0,l=Math.trunc(-(Math.imul(d,d)+Math.imul(f,f)|0)/512),l=Math.trunc(Math.imul(l,65536+u>>8)/65536),u=u+l|0;while(l>0);return t.x=r<0?-d:d,t.y=a<0?-f:f,c=65536+Math.trunc((Math.imul(d,s)+Math.imul(f,i)|0)/65536)>>>0,o>0?c+(1<<o-1)>>>o:c<<-o>>>0}function yu(t){let e=1/0,n=1/0,r=-1/0,a=-1/0;for(let s=0;s<t.x.length;s++)t.x[s]<e&&(e=t.x[s]),t.x[s]>r&&(r=t.x[s]),t.y[s]<n&&(n=t.y[s]),t.y[s]>a&&(a=t.y[s]);return[e,n,r,a]}function _v(t){if(t.x.length===0)return 1;let[e,n,r,a]=yu(t);if(e===r||n===a||e<-16777216||n<-16777216||r>16777216||a>16777216)return 0;let s=Math.max(gu(Math.abs(r)|Math.abs(e))-14,0),i=Math.max(gu(a-n)-14,0),c=0;for(let o=0,u=0;o<t.ends.length;u=t.ends[o++]+1){let l=t.ends[o],d=t.x[l]>>s,f=t.y[l]>>i;for(let m=u;m<=l;m++){let p=t.x[m]>>s,b=t.y[m]>>i;c+=(b-f)*(p+d),d=p,f=b}}return c>0?-1:c<0?1:0}function S0(t,e){let n=Math.trunc(e/2);if(n===0)return;let r=_v(t);if(r===0)return;let a=r>0,s=0;for(let i of t.ends){let c={x:0,y:0},o=0,u={x:0,y:0},l=0,d=i,f=s,m=-1;for(;f!==d&&d!==m;){let p,b;if(f!==m){if(p={x:t.x[f]-t.x[d],y:t.y[f]-t.y[d]},b=Gv(p),b===0){f=f<i?f+1:s;continue}}else p=u,b=l;if(o!==0){m<0&&(m=d,u=c,l=o);let y=fe(c.x,p.x)+fe(c.y,p.y),g=0,h=0;if(y>-61440){y+=65536,g=c.y+p.y,h=c.x+p.x,a?g=-g:h=-h;let j=fe(p.x,c.y)-fe(p.y,c.x);a&&(j=-j);let x=Math.min(o,b),w=fe(n,j)<=fe(x,y);g=w?hr(g,n,y):hr(g,x,j),h=w?hr(h,n,y):hr(h,x,j)}for(;d!==f;d=d<i?d+1:s)t.x[d]+=n+g,t.y[d]+=n+h}else d=f;c=p,o=b,f=f<i?f+1:s}s=i+1}}var J0=0,M0=1,$0=2,vu=4;function Do(t,e){let n=0;for(let r of t.ends){let{x:a,y:s,on:i}=t,c,o,u=n,l=r;i[n]?(c=a[n],o=s[n],u=n+1):i[r]?(c=a[r],o=s[r],l=r-1):(c=Math.trunc((a[n]+a[r])/2),o=Math.trunc((s[n]+s[r])/2)),e.move(c,o);let d=0,f=0,m=!1;for(let p=u;p<=l;p++)i[p]?(m?e.quad(d,f,a[p],s[p]):e.line(a[p],s[p]),m=!1):(m&&e.quad(d,f,Math.trunc((d+a[p])/2),Math.trunc((f+s[p])/2)),d=a[p],f=s[p],m=!0);m?e.quad(d,f,c,o):e.line(c,o),e.close(),n=r+1}}function T0(t){if(t.x.length===0||t.ends.length===0)return[0,0,0,0];let e=2147483647,n=[e,e,-e,-e],r=[e,e,-e,-e],a=(o,u,l)=>{u<o[0]&&(o[0]=u),l<o[1]&&(o[1]=l),u>o[2]&&(o[2]=u),l>o[3]&&(o[3]=l)};for(let o=0;o<t.x.length;o++)a(n,t.x[o],t.y[o]),t.on[o]&&a(r,t.x[o],t.y[o]);if(n[0]>=r[0]&&n[1]>=r[1]&&n[2]<=r[2]&&n[3]<=r[3])return[r[0],r[1],r[2],r[3]];let s=(o,u,l,d)=>{o-=u,l-=u,u+=hr(o,l,o+l),u<r[d]&&(r[d]=u),u>r[d+2]&&(r[d+2]=u)},i=0,c=0;return Do(t,{move(o,u){a(r,o,u),i=o,c=u},line(o,u){i=o,c=u},quad(o,u,l,d){a(r,l,d),(o<r[0]||o>r[2])&&s(i,o,l,0),(u<r[1]||u>r[3])&&s(c,u,d,1),i=l,c=d},close(){}}),[r[0],r[1],r[2],r[3]]}function F0(t,e,n){let r=t.x.length;if(r===0)return null;let a=1/0,s=1/0,i=-1/0,c=-1/0;for(let v=0;v<r;v++)t.x[v]<a&&(a=t.x[v]),t.x[v]>i&&(i=t.x[v]),t.y[v]<s&&(s=t.y[v]),t.y[v]>c&&(c=t.y[v]);let o=a>>6,u=c+63>>6,l=(i+63>>6)-o,d=u-(s>>6);if(l<=0||d<=0)return null;if(l>n||d>n)return{left:o,top:u,width:l,height:d,pixels:new Uint8Array(0)};let f=l+2,m=new Float32Array(f*d+2),p=v=>v/64-o,b=v=>u-v/64,y=0,g=0,h=0,j=0,x=(v,I,J,O)=>Hv(m,f,d,v,I,J,O);Do(t,{move(v,I){y=h=p(v),g=j=b(I)},line(v,I){let J=p(v),O=b(I);x(y,g,J,O),y=J,g=O},quad(v,I,J,O){let S=p(v),M=b(I),T=p(J),F=b(O),N=Math.hypot(y-2*S+T,g-2*M+F),C=Math.min(32,Math.max(1,Math.ceil(Math.sqrt(N/.2)))),L=y,R=g;for(let U=1;U<=C;U++){let D=U/C,G=1-D,q=G*G*y+2*G*D*S+D*D*T,P=G*G*g+2*G*D*M+D*D*F;x(L,R,q,P),L=q,R=P}y=T,g=F},close(){x(y,g,h,j)}});let w=new Uint8Array(l*d);for(let v=0;v<d;v++){let I=0;for(let J=0;J<l;J++){I+=m[v*f+J];let O=Math.min(Math.abs(I),1);w[v*l+J]=e?O>=.5?255:0:Math.round(O*255)}}return{left:o,top:u,width:l,height:d,pixels:w}}function Hv(t,e,n,r,a,s,i){if(a===i)return;let c=1;a>i&&(c=-1,[r,a,s,i]=[s,i,r,a]);let o=(s-r)/(i-a),u=r,l=Math.floor(a);a<0&&(u-=a*o,l=0);let d=Math.min(n,Math.ceil(i));for(;l<d;l++){let f=l*e,m=Math.min(l+1,i)-Math.max(l,a),p=u+o*m,b=m*c,y=u<p?u:p,g=u<p?p:u,h=Math.floor(y),j=Math.ceil(g);if(j<=h+1){let x=.5*(u+p)-h;t[f+h]+=b-b*x,t[f+h+1]+=b*x}else{let x=1/(g-y),w=y-h,v=.5*x*(1-w)*(1-w),I=g-j+1,J=.5*x*I*I;if(t[f+h]+=b*v,j===h+2)t[f+h+1]+=b*(1-v-J);else{let O=x*(1.5-w);t[f+h+1]+=b*(O-v);for(let M=h+2;M<j-1;M++)t[f+M]+=b*x;let S=O+(j-h-3)*x;t[f+j-1]+=b*(1-S-J)}t[f+j]+=b*J}u=p}}var zv="DejaVuSans.ttf",Zv=1,D0=2,Wv=65534,Ro=40,Xv=1024,O0=13930,Ye=Math.fround,wu=class{bundled=new Map;scalers=new Map;contexts=new Map;nullContext=0},L0=new WeakMap;function tn(t){let e=L0.get(t);return e||L0.set(t,e=new wu),e}var xu=65536;function*qv(t,e,n){if(n<=0)return null;let r=yield*R0(t,"java/nio/ByteBuffer"),a=yield t.call(r.methodMap.get("allocate(I)Ljava/nio/ByteBuffer;"),Math.min(n,xu)),s=t.vm.getField(a,"java/nio/ByteBuffer","hb").a,i=new Uint8Array(n);try{for(let c=0;c<n;c+=xu){let o=Math.min(xu,n-c);if((yield t.callVirtual(e,"readBlock","(Ljava/nio/ByteBuffer;II)I",a,c,o))!==o)return null;i.set(new Uint8Array(s.buffer,s.byteOffset,o),c)}}catch{return null}return i}function*Yv(t,e,n,r){let a=t.vm,s=tn(a),i=a.getField(e,"sun/font/PhysicalFont","platName"),c=i&&a.jsString(i),o=c!==null&&c.startsWith(`${ku(a)}/`),u=o?s.bundled.get(c):void 0;if(u)return u;let l=o?a.fs.read(c):yield*qv(t,e,r);if(!l)return null;try{let d=new Po(l,n);return o&&s.bundled.set(c,d),d}catch{return null}}function*R0(t,e){let n=t.vm.loadBootOrFail(e);return n.state!==z&&(yield*t.vm.initGen(t,n)),n}function*ra(t,e,n,...r){let a=yield*R0(t,e),s=t.vm.newObject(a);return yield t.call(a.methodMap.get(`<init>${n}`),s,...r),s}function*Kv(t,e,n){return yield*ra(t,"java/awt/geom/Point2D$Float","(FF)V",e,n)}function ei(t,e,n,r,a,s,i,c){let o=c?c.length:0,u=t.mem,l=u.malloc(Ro+o);u.u8.fill(0,l,l+Ro+o);let d=u.dv;return d.setFloat32(l,e,!0),d.setFloat32(l+4,n,!0),d.setUint16(l+8,r,!0),d.setUint16(l+10,a,!0),d.setUint16(l+12,r,!0),d.setFloat32(l+16,s,!0),d.setFloat32(l+20,i,!0),c&&o>0&&(d.setBigUint64(l+32,BigInt(l+Ro),!0),u.u8.set(c,l+Ro)),l}var Uo=t=>Math.trunc(Ye(Ye(t)*65536));function Qv(t,e,n,r,a,s,i){let c=Math.hypot(n[2],n[3]);c<1&&(c=1),c>16384&&(c=16384,a=D0);for(let d of n)if(Math.abs(Math.trunc(d/c))>32766)return 0n;let o=tn(t),u=t.mem.malloc(16),l=Math.trunc(c*64);return o.contexts.set(u,{ttf:e,ptsz26:l,scale:A0(l,e.upem),xx:Uo(n[0]/c),yx:-Uo(n[1]/c),xy:-Uo(n[2]/c),yy:Uo(n[3]/c),aa:r,fm:a,bold:s!==1,italic:i!==0}),BigInt(u)}function Zn(t,e){return tn(t).contexts.get(Number(e))??null}function N0(t){return t.italic?[t.xx,fe(t.xx,O0)+t.xy,t.yx,fe(t.yx,O0)+t.yy]:[t.xx,t.xy,t.yx,t.yy]}var Iu=t=>Math.trunc(fe(t.ttf.upem,t.scale)/32);function ti(t,e){let n=t.ttf;if(e>=n.numGlyphs)return null;let r;try{r=n.scaled(e,t.scale)}catch(p){if(p instanceof Ut)return null;throw p}let a=r&&yu(r),s=a!==null&&a[0]!==a[2]&&a[1]!==a[3],i=r&&k0(r,N0(t));i&&s&&t.bold&&S0(i,Iu(t));let c=n.advance(e),o=hr(c,t.scale,64),u=t.bold&&s&&o!==0?Iu(t):0;if(t.fm===D0){let p=Ye((o+u*1024)/65536);return{o:i,ax:Ye(p*Ye(t.xx/65536)),ay:Ye(-(p*Ye(t.yx/65536)))}}let l=Math.round(c*t.ptsz26/64/n.upem)*64,d=N0(t),f=fe(l,d[0]),m=fe(l,d[2]);return u&&f&&(f+=fe(u,t.xx)),u&&m&&(m+=fe(u,t.yx)),{o:i,ax:f/64,ay:m?-m/64:0}}function Vo(t,e){return e>=Wv?null:ti(t,e)?.o??null}function ex(t,e,n){let r=e&&ti(e,n);if(!r)return ei(t,0,0,0,0,0,0,null);let a=r.o&&r.o.x.length>0?F0(r.o,e.aa===Zv,Xv):null;return a&&a.pixels.length===0?ei(t,0,0,0,0,0,0,null):ei(t,r.ax,r.ay,a?.width??0,a?.height??0,a?.left??0,a?-a.top:0,a?.pixels??null)}var Ho=class{types=[];coords=[];add(e,n,r){let a=(s,i)=>this.coords.push(Ye((s+n)/64),Ye(-(i+r)/64));Do(e,{move:(s,i)=>{this.coords.length&&this.types.push(vu),a(s,i),this.types.push(J0)},line:(s,i)=>{a(s,i),this.types.push(M0)},quad:(s,i,c,o)=>{a(s,i),a(c,o),this.types.push($0)},close:()=>{}}),this.coords.length&&this.types.push(vu)}};function*B0(t,e){if(!e||e.coords.length===0)return yield*ra(t,"java/awt/geom/GeneralPath","()V");let n=t.vm,r=n.newArray(n.primClass("B"),e.types.length),a=n.newArray(n.primClass("F"),e.coords.length);return r.a.set(e.types),a.a.set(e.coords),yield*ra(t,"java/awt/geom/GeneralPath","(I[BI[FI)V",0,r,e.types.length,a,e.coords.length)}var Go=t=>Math.trunc(t*64),qe="sun/font/FreetypeFontScaler.",tx=1,nx={[qe+"initIDs"]:()=>{},[qe+"initNativeScaler"]:function*(t,[,e,n,r,,a]){let s=n===tx?yield*Yv(t,e,r,a):null;if(!s)return 0n;let i=t.vm.mem.malloc(16);return tn(t.vm).scalers.set(i,s),BigInt(i)},[qe+"disposeNativeScaler"](t,[,,e]){let n=tn(t.vm),r=Number(e);n.scalers.delete(r)&&t.vm.mem.freeBlock(r)},[qe+"createScalerContextNative"](t,[,e,n,r,a,s,i]){let c=tn(t.vm).scalers.get(Number(e));return c?Qv(t.vm,c,n.a,r,a,s,i):0n},[qe+"getNumGlyphsNative"](t,[,e]){return tn(t.vm).scalers.get(Number(e))?.numGlyphs??1},[qe+"getMissingGlyphCodeNative"]:()=>0,[qe+"getUnitsPerEMNative"](t,[,e]){return BigInt(tn(t.vm).scalers.get(Number(e))?.upem??2048)},[qe+"getGlyphCodeNative"](t,[,,e,n]){return tn(t.vm).scalers.get(Number(e))?.glyphIndex(n)??0},[qe+"getGlyphAdvanceNative"](t,[,,e,,n]){let r=Zn(t.vm,e);return r&&ti(r,n)?.ax||0},[qe+"getGlyphMetricsNative"](t,[,,e,,n,r]){let a=Zn(t.vm,e),s=a&&ti(a,n);t.vm.setField(r,"java/awt/geom/Point2D$Float","x",s?s.ax:0),t.vm.setField(r,"java/awt/geom/Point2D$Float","y",s?s.ay:0)},[qe+"getGlyphImageNative"](t,[,,e,,n]){return BigInt(ex(t.vm,Zn(t.vm,e),n))},[qe+"getFontMetricsNative"]:function*(t,[,,e]){let n=Zn(t.vm,e),r=[0,0,0,0,0,0,0,0,0,0];if(n){let a=n.ttf,s=n.scale,i=s,c=(g,h)=>Ye(g*h/65536/64),o=-c(a.ascender,s),u=-c(a.descender,s),l=c(a.height,s)+o-u,d=g=>g+32&-64,f=d(Math.round(a.height*s/65536)),p=(d(Math.round(a.maxAdvance*i/65536))+(n.italic?Math.trunc(f*13930/65536):0)+(n.bold?Iu(n):0))/64,b=(g,h)=>Ye(n.xx/65536*g-n.xy/65536*h),y=(g,h)=>Ye(-n.yx/65536*g+n.yy/65536*h);r=[b(0,o),y(0,o),b(0,u),y(0,u),0,0,b(0,l),y(0,l),b(p,0),y(p,0)]}return yield*ra(t,"sun/font/StrikeMetrics","(FFFFFFFFFF)V",...r)},[qe+"getGlyphOutlineBoundsNative"]:function*(t,[,,e,,n]){let r=Zn(t.vm,e),a=r&&Vo(r,n);if(a){let[s,i,c,o]=T0(a);if(s<c&&i<o)return yield*ra(t,"java/awt/geom/Rectangle2D$Float","(FFFF)V",s/64,-o/64,(c-s)/64,(o-i)/64)}return yield*ra(t,"java/awt/geom/Rectangle2D$Float","()V")},[qe+"getGlyphOutlineNative"]:function*(t,[,,e,,n,r,a]){let s=Zn(t.vm,e),i=s&&Vo(s,n),c=null;return i&&(c=new Ho,c.add(i,Go(r),Go(-a))),yield*B0(t,c)},[qe+"getGlyphVectorOutlineNative"]:function*(t,[,,e,,n,r,a,s]){let i=Zn(t.vm,e),c=new Ho,o=n.a;for(let u=0;i&&u<r;u++){let l=Vo(i,o[u]);l&&c.add(l,Go(a),Go(-s))}return yield*B0(t,c)},[qe+"getGlyphPointNative"]:function*(t,[,,e,,n,r]){let a=Zn(t.vm,e),s=a&&Vo(a,n);return yield*Kv(t,s&&s.x.length>r?s.x[r]/64:0,s&&s.x.length>r?-s.y[r]/64:0)}},rx={"sun/font/StrikeCache.getInvisibleGlyphPtr"(t){return BigInt(ei(t.vm,0,0,0,0,0,0,null))},"sun/font/StrikeCache.freeIntPointer"(t,[e]){e&&t.vm.mem.freeBlock(e)},"sun/font/StrikeCache.freeLongPointer"(t,[e]){e&&t.vm.mem.freeBlock(Number(e))},"sun/font/StrikeCache.freeIntMemory"(t,[e,n]){for(let r of e.a)r&&t.vm.mem.freeBlock(r);C0(t.vm,n)},"sun/font/StrikeCache.freeLongMemory"(t,[e,n]){for(let r of e.a)r&&t.vm.mem.freeBlock(Number(r));C0(t.vm,n)},"sun/font/SunFontManager.initIDs":()=>{},"sun/font/NullFontScaler.getNullScalerContext"(t){let e=tn(t.vm);return BigInt(e.nullContext||(e.nullContext=t.vm.mem.malloc(16)))},"sun/font/NullFontScaler.getGlyphImage"(t){return BigInt(ei(t.vm,0,0,0,0,0,0,null))}};function C0(t,e){let n=tn(t),r=Number(e);r&&r!==n.nullContext&&(n.contexts.delete(r),t.mem.freeBlock(r))}var br="sun/font/FontConfigManager",ku=t=>`${t.opts.javaHome}/lib/fonts`,ax={"sun/awt/FcFontManager.getFontPathNative"(t){return t.vm.str(ku(t.vm))},[`${br}.getFontConfigVersion`]:()=>21402,[`${br}.getFontConfigAASettings`]:()=>2,[`${br}.getFontConfig`]:function*(t,[,e,n,r]){let a=t.vm;a.setField(e,`${br}$FontConfigInfo`,"fcVersion",21402);let s=yield*ra(t,`${br}$FontConfigFont`,"()V"),i=`${br}$FontConfigFont`;a.setField(s,i,"familyName",a.str("DejaVu Sans")),a.setField(s,i,"styleStr",a.str("Book")),a.setField(s,i,"fullName",a.str("DejaVu Sans")),a.setField(s,i,"fontFile",a.str(`${ku(a)}/${zv}`));for(let c of n.a)a.setField(c,`${br}$FcCompFont`,"firstFont",s),r&&a.setField(c,`${br}$FcCompFont`,"allFonts",a.newObjectArray(i,[s]))}},sx=1,ix=-2147483648,ox=t=>t===173||t===847||t===1564||t>=6068&&t<=6069||t>=6155&&t<=6158||t>=8203&&t<=8207||t>=8234&&t<=8238||t>=8288&&t<=8303||t>=65024&&t<=65039||t===65279||t>=65520&&t<=65528||t>=119155&&t<=119162||t>=917504&&t<=921599,E0=65535;function*_o(t,e,n,r,...a){try{let s=yield t.callVirtual(e,n,r,...a);return s<0?0:s}catch{return 0}}var P0=new Map([[8192,2],[8193,1],[8194,2],[8195,1],[8196,3],[8197,4],[8198,6],[8201,5],[8202,16],[12288,1]]),lx=new Set([32,160,8199,8200,8239,8287]),cx=t=>t>=65024&&t<=65039||t>=917760&&t<=917999,ju="sun/font/SunLayoutEngine.",ux={[ju+"createFace"]:()=>1n,[ju+"disposeFace"]:()=>{},[ju+"shape"]:function*(t,[e,n,r,,,a,s,,i,c,o,u,l,d]){let f=t.vm,m=Zn(f,f.getField(n,"sun/font/PhysicalStrike","pScalerContext")),p=a.a,b=[];for(let M=i;M<c;M++){let T=p[M],F=M;T>=55296&&T<56320&&M+1<c&&p[M+1]>=56320&&p[M+1]<57344?T=65536+(T-55296<<10)+(p[++M]-56320):T>=55296&&T<57344&&(T=65533);let N=-1,C=p[M+1],L=p[M+2],R=C>=55296&&C<56320&&M+2<c&&L>=56320&&L<57344?65536+(C-55296<<10)+(L-56320):C;M+1<c&&cx(R)&&(N=yield*_o(t,e,"charToVariationGlyph","(II)I",T,R),N===0?N=-1:M+=R>65535?2:1),ox(T)?N=E0:N<0&&(N=yield*_o(t,e,"charToGlyph","(I)I",T));let U=G=>m&&(G&65534)!==65534?Math.trunc(Ye(ti(m,G)?.ax??0)*65536):0,D=U(N);if(N===0&&(P0.has(T)||lx.has(T))){let G=yield*_o(t,e,"charToGlyph","(I)I",32),q=Math.trunc(r*65536);N=G||E0,D=G?U(G):Math.trunc(q/4);let P=P0.get(T);if(P)D=Math.trunc((q+(P>>1))/P);else if(T===8287)D=Math.trunc(q*4/18);else if(T===8239)D=Math.trunc(D/2);else if(T===8199||T===8200)for(let ee of T===8199?"0123456789":".,"){let $e=yield*_o(t,e,"charToGlyph","(I)I",ee.charCodeAt(0));if($e){D=U($e);break}}}b.push({gid:N,cluster:F,adv:D/65536})}if(m&&l&sx){let M=m.ttf,T=Math.trunc(r*65536);for(let F=0;F+1<b.length;F++){let N=M.kern(b[F].gid,b[F+1].gid);N&&(b[F].adv+=Math.round(N*T/M.upem)/65536)}}l&ix&&b.reverse();let y="sun/font/GlyphLayout$GVData",g=f.getField(s,y,"_count"),h=Math.max(c-i,b.length)+g;for(;;){let M=f.getField(s,y,"_glyphs"),T=f.getField(s,y,"_positions");if(h<=M.a.length&&h*2+2<=T.a.length)break;yield t.call(s.cls.methodMap.get("grow()V"),s)}let j=f.getField(s,y,"_glyphs").a,x=f.getField(s,y,"_positions").a,w=f.getField(s,y,"_indices").a,v="java/awt/geom/Point2D$Float",I=f.getField(u,v,"x"),J=f.getField(u,v,"y"),O=0;b.forEach((M,T)=>{let F=T+g;w[F]=o+M.cluster-i,j[F]=M.gid|d,x[F*2]=I+O,x[F*2+1]=J,O=Ye(O+M.adv)});let S=g+b.length;return x[S*2]=Ye(I+O),x[S*2+1]=J,f.setField(u,v,"x",Ye(I+O)),f.setField(s,y,"_count",S),1}},U0={...nx,...rx,...ax,...ux};var V0={...Af,...Vf,...rm,...sm,...as,...Xf,...Wm,...Oc,...fm,...Fm,...vm,...yf,...Gm,...jf,...df,...sh,...a0,...w0,...Xh,...U0},G0={...Uf,...Vm,...rd};var Va=class{b=[];u1(e){this.b.push(e&255)}u2(e){this.b.push(e>>8&255,e&255)}u4(e){this.u2(e>>>16),this.u2(e&65535)}raw(e){for(let n=0;n<e.length;n++)this.b.push(e[n])}},Au=class{w;out=new Va;maxStack=16;maxLocals;fixups=[];constructor(e,n){this.w=e,this.maxLocals=n}get pc(){return this.out.b.length}op(...e){for(let n of e)this.out.u1(n);return this}u2op(e,n){return this.out.u1(e),this.out.u2(n),this}iconst(e){return e>=-1&&e<=5?this.op(3+e):e>=-128&&e<=127?this.op(16,e):e>=-32768&&e<=32767?this.op(17,e>>8&255,e):this.ldc(this.w.int(e))}ldc(e){return e<256?this.op(18,e):this.u2op(19,e)}ldcString(e){return this.ldc(this.w.string(e))}ldc2(e){return this.u2op(20,e)}load(e,n){return this.local([21,22,23,24,25],e,n)}store(e,n){return this.local([54,55,56,57,58],e,n)}local(e,n,r){let a=_0(n);return r<256?this.op(e[a],r):this.op(196,e[a],r>>8&255,r)}ret(e){return e==="V"?this.op(177):this.op([172,173,174,175,176][_0(e)])}getfield(e,n,r){return this.u2op(180,this.w.field(e,n,r))}putfield(e,n,r){return this.u2op(181,this.w.field(e,n,r))}getstatic(e,n,r){return this.u2op(178,this.w.field(e,n,r))}putstatic(e,n,r){return this.u2op(179,this.w.field(e,n,r))}invokevirtual(e,n,r){return this.u2op(182,this.w.method(e,n,r,!1))}invokespecial(e,n,r,a=!1){return this.u2op(183,this.w.method(e,n,r,a))}invokestatic(e,n,r,a=!1){return this.u2op(184,this.w.method(e,n,r,a))}invokeinterface(e,n,r){let{params:a}=yt(r),s=1;for(let i of a)s+=ke(i)?2:1;return this.u2op(185,this.w.method(e,n,r,!0)),this.op(s,0)}anew(e){return this.u2op(187,this.w.cls(e))}checkcast(e){return this.u2op(192,this.w.cls(e))}instanceOf(e){return this.u2op(193,this.w.cls(e))}label(){return new Su}bind(e){return e.pc=this.pc,this}jump(e,n){let r=this.pc;return this.op(e),this.fixups.push({at:this.pc,from:r,label:n}),this.out.u2(0),this}finish(){for(let e of this.fixups){let n=e.label.pc-e.from;this.out.b[e.at]=n>>8&255,this.out.b[e.at+1]=n&255}return this.out.b}},Su=class{pc=-1};function _0(t){switch(t[0]){case"J":return 1;case"F":return 2;case"D":return 3;case"L":case"[":return 4;default:return 0}}var aa=class{pool=new Va;count=1;keys=new Map;name;access;superName;interfaces;fields=[];methods=[];attrs=[];constructor(e,n,r,a=[]){this.access=e,this.name=n,this.superName=r,this.interfaces=a}entry(e,n,r=1){let a=this.keys.get(e);if(a!==void 0)return a;let s=this.count;return n(this.pool),this.count+=r,this.keys.set(e,s),s}utf8(e){return this.entry("U"+e,n=>{let r=qu(e);n.u1(B.Utf8),n.u2(r.length),n.raw(r)})}cls(e){let n=this.utf8(e);return this.entry("C"+e,r=>{r.u1(B.Class),r.u2(n)})}string(e){let n=this.utf8(e);return this.entry("S"+e,r=>{r.u1(B.String),r.u2(n)})}int(e){return this.entry("I"+e,n=>{n.u1(B.Integer),n.u4(e)})}float(e){let n=new DataView(new ArrayBuffer(4));return n.setFloat32(0,e),this.entry("F"+n.getUint32(0),r=>{r.u1(B.Float),r.u4(n.getUint32(0))})}long(e){return this.entry("J"+e,n=>{n.u1(B.Long),n.u4(Number(BigInt.asUintN(64,e)>>32n)),n.u4(Number(BigInt.asUintN(32,e)))},2)}double(e){let n=new DataView(new ArrayBuffer(8));return n.setFloat64(0,e),this.entry("D"+n.getBigUint64(0),r=>{r.u1(B.Double),r.u4(n.getUint32(0)),r.u4(n.getUint32(4))},2)}nat(e,n){let r=this.utf8(e),a=this.utf8(n);return this.entry(`N${e}:${n}`,s=>{s.u1(B.NameAndType),s.u2(r),s.u2(a)})}field(e,n,r){let a=this.cls(e),s=this.nat(n,r);return this.entry(`f${e}.${n}:${r}`,i=>{i.u1(B.Fieldref),i.u2(a),i.u2(s)})}method(e,n,r,a){let s=this.cls(e),i=this.nat(n,r),c=a?B.InterfaceMethodref:B.Methodref;return this.entry(`m${c}${e}.${n}:${r}`,o=>{o.u1(c),o.u2(s),o.u2(i)})}addField(e,n,r){this.fields.push({access:e,name:n,desc:r})}addMethod(e,n,r){let{params:a}=yt(r),s=e&8?0:1;for(let c of a)s+=ke(c)?2:1;let i=new Au(this,s+4);return this.methods.push({access:e,name:n,desc:r,code:i}),i}addAttribute(e,n){this.attrs.push([e,n])}toBytes(){let e=this.cls(this.name),n=this.cls(this.superName),r=this.interfaces.map(u=>this.cls(u)),a=u=>{let l=new Va;l.u2(u.length);for(let d of u){if(l.u2(d.access),l.u2(this.utf8(d.name)),l.u2(this.utf8(d.desc)),!d.code){l.u2(0);continue}let f=d.code.finish();l.u2(1),l.u2(this.utf8("Code")),l.u4(12+f.length),l.u2(d.code.maxStack),l.u2(d.code.maxLocals),l.u4(f.length),l.raw(f),l.u2(0),l.u2(0)}return l.b},s=a(this.fields),i=a(this.methods),c=this.attrs.map(([u])=>this.utf8(u)),o=new Va;o.u4(3405691582),o.u2(0),o.u2(52),o.u2(this.count),o.raw(this.pool.b),o.u2(this.access),o.u2(e),o.u2(n),o.u2(r.length);for(let u of r)o.u2(u);return o.raw(s),o.raw(i),o.u2(this.attrs.length),this.attrs.forEach(([,u],l)=>{o.u2(c[l]),o.u4(u.length),o.raw(u)}),Uint8Array.from(o.b)}};var fx=1;var dx=4,Fu=5,mx=6,X0=7,$u=8,q0=9;function Tu(t,e){let n=t.cf.cp,r=n[e];switch(r.tag){case B.Integer:case B.Float:case B.Long:case B.Double:return{kind:"value",tag:r.tag,value:r.value};case B.String:return{kind:"value",tag:r.tag,value:_(n,r.a)};case B.Class:return{kind:"class",name:de(n,e)};case B.MethodType:return{kind:"mt",desc:_(n,r.a)};case B.MethodHandle:{let a=n[r.b],s=n[a.b];return{kind:"mh",refKind:r.a,owner:de(n,a.a),name:_(n,s.a),desc:_(n,s.b),iface:a.tag===B.InterfaceMethodref}}case B.Dynamic:return{kind:"condy",index:e}}throw new A("java/lang/InternalError",`bad bootstrap argument tag ${r.tag}`)}function hx(t){let e=0;for(let n of t)e+=ke(n)?2:1;return e}function Y0(t){return t[0]==="L"?t.slice(1,-1):t}var zo={Z:"java/lang/Boolean",B:"java/lang/Byte",C:"java/lang/Character",S:"java/lang/Short",I:"java/lang/Integer",J:"java/lang/Long",F:"java/lang/Float",D:"java/lang/Double"},H0=Object.fromEntries(Object.entries(zo).map(([t,e])=>[`L${e};`,t])),Ju={Z:"booleanValue",B:"byteValue",C:"charValue",S:"shortValue",I:"intValue",J:"longValue",F:"floatValue",D:"doubleValue"};function ni(t){return t.length===1}function z0(t,e,n){if(e===n)return;let i={IJ:133,IF:134,ID:135,JF:137,JD:138,FD:141}[(e==="J"?"J":e==="F"?"F":e==="D"?"D":"I")+(n==="J"?"J":n==="F"?"F":n==="D"?"D":"I")];i&&t.op(i)}function Mu(t,e,n,r){if(e!==r){if(ni(e)&&ni(r))return z0(t,e,r);if(ni(e)){let a=zo[e];t.invokestatic(a,"valueOf",`(${e})L${a};`);return}if(ni(r)){let a=H0[n]??H0[e];if(a){let s=zo[a];t.checkcast(s).invokevirtual(s,Ju[a],`()${a}`),z0(t,a,r)}else if(r==="Z"||r==="C"){let s=zo[r];t.checkcast(s).invokevirtual(s,Ju[r],`()${r}`)}else t.checkcast("java/lang/Number").invokevirtual("java/lang/Number",Ju[r],`()${r}`);return}r!=="Ljava/lang/Object;"&&t.checkcast(Y0(r))}}function bx(t,e){switch(e.refKind){case Fu:t.invokevirtual(e.owner,e.name,e.desc);break;case q0:t.invokeinterface(e.owner,e.name,e.desc);break;case mx:t.invokestatic(e.owner,e.name,e.desc,e.iface);break;case X0:t.invokespecial(e.owner,e.name,e.desc,e.iface);break;case $u:t.invokespecial(e.owner,"<init>",e.desc);break;default:throw new A("java/lang/invoke/LambdaConversionException",`unsupported method handle kind ${e.refKind}`)}}function*Zo(t,e,n,r){let a=yield*t.defineClassGen(e,n.loader,r.toBytes(),null,null,!0);return a.nestHost=yield*rr(e,n),yield*t.initGen(e,a),a}function*Z0(t,e,n,r,a,s,i){let c=s[0],o=s[1],u=s[2];if(c.kind!=="mt"||o.kind!=="mh"||u.kind!=="mt")return null;let l=[],d=[];if(i){let F=s[3].value;if(F&1)return null;let N=4;if(F&2){let C=s[N++].value;for(let L=0;L<C;L++)l.push(s[N++].name)}if(F&4){let C=s[N++].value;for(let L=0;L<C;L++)d.push(s[N++].desc)}}let{params:f,ret:m}=yt(a),p=Y0(m),b=`${n.cf.name}$$Lambda`,y=new aa(Ie|Ir|kr,b,"java/lang/Object",[p,...l]);f.forEach((F,N)=>y.addField(Yn|Ie,`arg$${N+1}`,F));let g=`(${f.join("")})V`,h=y.addMethod(Yn,"<init>",g);h.maxStack=3,h.op(42).invokespecial("java/lang/Object","<init>","()V");let j=1;f.forEach((F,N)=>{h.op(42).load(F,j).putfield(b,`arg$${N+1}`,F),j+=ke(F)?2:1}),h.op(177);let x=y.addMethod(gt,"get$Lambda",a);if(x.maxStack=2+hx(f),f.length===0){y.addField(Yn|gt|Ie,"INSTANCE",`L${b};`);let F=y.addMethod(gt,"<clinit>","()V");F.maxStack=2,F.anew(b).op(89).invokespecial(b,"<init>","()V").putstatic(b,"INSTANCE",`L${b};`).op(177),x.getstatic(b,"INSTANCE",`L${b};`).op(176)}else{x.anew(b).op(89),j=0;for(let F of f)x.load(F,j),j+=ke(F)?2:1;x.invokespecial(b,"<init>",g).op(176)}let{params:w,ret:v}=yt(o.desc),J=o.refKind===Fu||o.refKind===q0||o.refKind===X0?[`L${o.owner};`,...w]:w,O=o.refKind===$u?`L${o.owner};`:v,S=yt(u.desc);for(let F of[c.desc,...d]){let{params:N,ret:C}=yt(F),L=y.addMethod(sn,r,F);L.maxStack=4+2*(f.length+N.length),o.refKind===$u&&L.anew(o.owner).op(89);let R=0;f.forEach((D,G)=>{L.op(42).getfield(b,`arg$${G+1}`,D),Mu(L,D,D,J[R++])});let U=1;N.forEach((D,G)=>{L.load(D,U),U+=ke(D)?2:1,Mu(L,D,S.params[G]??D,J[R++])}),bx(L,o),C==="V"?O!=="V"&&L.op(ke(O)?88:87):Mu(L,O,O,C),L.ret(C)}let M=yield*Zo(t,e,n,y),T=M.methodMap.get("get$Lambda"+a);return M.vmMembers=new Set([T,...M.fields.filter(F=>F.name==="INSTANCE")]),T}function ri(t){switch(t){case"Z":case"C":case"I":case"J":case"F":case"D":return`(${t})Ljava/lang/StringBuilder;`;case"B":case"S":return"(I)Ljava/lang/StringBuilder;";case"Ljava/lang/String;":return"(Ljava/lang/String;)Ljava/lang/StringBuilder;";default:return"(Ljava/lang/Object;)Ljava/lang/StringBuilder;"}}var nn="java/lang/StringBuilder";function*W0(t,e,n,r,a,s){let{params:i}=yt(r),c=s?a[0].value:"".repeat(i.length),o=s?a.slice(1):[];if(o.some(g=>g.kind!=="value"))return null;let u=new aa(Ie|Ir|kr,`${n.cf.name}$$StringConcat`,"java/lang/Object"),l=u.addMethod(gt,"concat",r);l.maxStack=4,l.anew(nn).op(89).invokespecial(nn,"<init>","()V");let d="",f=0,m=0,p=0,b=()=>{d&&l.ldcString(d).invokevirtual(nn,"append",ri("Ljava/lang/String;")),d=""};for(let g of c)if(g===""){b();let h=i[m++];l.load(h,f),f+=ke(h)?2:1,l.invokevirtual(nn,"append",ri(h))}else if(g===""){let h=o[p++];d+=h.tag===B.Float||h.tag===B.Double?px(h.value,h.tag===B.Float):String(h.value)}else d+=g;return b(),l.invokevirtual(nn,"toString","()Ljava/lang/String;").op(176),(yield*Zo(t,e,n,u)).methodMap.get("concat"+r)}function px(t,e){return Number.isNaN(t)?"NaN":Number.isFinite(t)?Number.isInteger(t)&&Math.abs(t)<1e7?(Object.is(t,-0)?"-0":String(t))+".0":String(e?Math.fround(t):t):t>0?"Infinity":"-Infinity"}function gx(t){let e=t.cf?.attrs.get("InnerClasses");if(e){let r=t.cf.cp;for(let a=0,s=ue(e,0);a<s;a++){let i=2+a*8;if(de(r,ue(e,i))===t.cf.name){let c=ue(e,i+4);return c?_(r,c):""}}}let n=t.cf.name;return n.slice(n.lastIndexOf("/")+1)}var yx={Z:["java/lang/Boolean","(Z)I"],B:["java/lang/Byte","(B)I"],S:["java/lang/Short","(S)I"],C:["java/lang/Character","(C)I"],I:["java/lang/Integer","(I)I"],J:["java/lang/Long","(J)I"],F:["java/lang/Float","(F)I"],D:["java/lang/Double","(D)I"]};function*vx(t,e,n,r,a,s){let i=s[0],c=s[1];if(i.kind!=="class"||c.kind!=="value")return null;let o=s.slice(2);if(o.some(b=>b.kind!=="mh"||b.refKind!==fx))return null;let u=yield*t.loadClassGen(e,n.loader,i.name),l=i.name,d=c.value.length?c.value.split(";"):[],f=new aa(Ie|Ir|kr,`${n.cf.name}$$ObjectMethods`,"java/lang/Object"),m=f.addMethod(gt,r,a);if(m.maxStack=6,r==="toString")m.anew(nn).op(89).ldcString(gx(u)+"[").invokespecial(nn,"<init>","(Ljava/lang/String;)V"),o.forEach((b,y)=>{m.ldcString((y?", ":"")+d[y]+"=").invokevirtual(nn,"append",ri("Ljava/lang/String;")),m.op(42).getfield(b.owner,b.name,b.desc).invokevirtual(nn,"append",ri(b.desc))}),m.ldcString("]").invokevirtual(nn,"append",ri("Ljava/lang/String;")),m.invokevirtual(nn,"toString","()Ljava/lang/String;").op(176);else if(r==="hashCode"){m.op(3);for(let b of o){m.op(16,31,104),m.op(42).getfield(b.owner,b.name,b.desc);let y=yx[b.desc];y?m.invokestatic(y[0],"hashCode",y[1]):m.invokestatic("java/util/Objects","hashCode","(Ljava/lang/Object;)I"),m.op(96)}m.op(172)}else if(r==="equals"){let b=m.label(),y=m.label(),g=m.label();m.op(42,43).jump(166,b).op(4,172).bind(b),m.op(43).instanceOf(l).jump(154,y).op(3,172).bind(y),m.op(43).checkcast(l).op(77);for(let h of o)switch(m.op(42).getfield(h.owner,h.name,h.desc).op(44).getfield(h.owner,h.name,h.desc),h.desc){case"J":m.op(148).jump(154,g);break;case"F":m.invokestatic("java/lang/Float","compare","(FF)I").jump(154,g);break;case"D":m.invokestatic("java/lang/Double","compare","(DD)I").jump(154,g);break;case"Z":case"B":case"S":case"C":case"I":m.jump(160,g);break;default:m.invokestatic("java/util/Objects","equals","(Ljava/lang/Object;Ljava/lang/Object;)Z").jump(153,g)}m.op(4,172).bind(g).op(3,172)}else return null;return(yield*Zo(t,e,n,f)).methodMap.get(r+a)}function*xx(t,e,n,r,a,s){let i=r==="enumSwitch";if(!a.startsWith("(L")&&!a.startsWith("(["))return null;for(let d of s){if(d.kind==="class"){if(d.name.length===1)return null;continue}if(d.kind!=="value"||(i?d.tag!==B.String:d.tag!==B.String&&d.tag!==B.Integer))return null}let c=new aa(Ie|Ir|kr,`${n.cf.name}$$Switch`,"java/lang/Object"),o=c.addMethod(gt,r,a);o.maxStack=4;let u=o.label();return o.op(42).jump(199,u).op(2,172).bind(u),s.forEach((d,f)=>{let m=o.label();if(o.op(27).iconst(f).jump(163,m),d.kind==="class")o.op(42).instanceOf(d.name).jump(153,m);else if(i)o.op(42).invokevirtual("java/lang/Enum","name","()Ljava/lang/String;").ldcString(d.value).invokevirtual("java/lang/String","equals","(Ljava/lang/Object;)Z").jump(153,m);else if(d.kind==="value"&&d.tag===B.String)o.ldcString(d.value).op(42).invokevirtual("java/lang/Object","equals","(Ljava/lang/Object;)Z").jump(153,m);else{let p=o.label(),b=o.label();o.op(42).instanceOf("java/lang/Number").jump(153,p),o.op(42).checkcast("java/lang/Number").invokevirtual("java/lang/Number","intValue","()I").jump(167,b),o.bind(p).op(42).instanceOf("java/lang/Character").jump(153,m),o.op(42).checkcast("java/lang/Character").invokevirtual("java/lang/Character","charValue","()C"),o.bind(b).iconst(d.value).jump(160,m)}o.iconst(f).op(172).bind(m)}),o.iconst(s.length).op(172),(yield*Zo(t,e,n,c)).methodMap.get(r+a)}var jx="java/lang/invoke/MethodHandleNatives";function*wx(t,e,n){let r=t.loadBoot(n);return r.state!==z&&(yield*t.initGen(e,r)),r}function*ai(t,e,n,...r){let a=yield*wx(t,e,jx);return yield e.call(a.methodMap.get(n),...r)}function*Wo(t,e,n,r){let{params:a,ret:s}=yt(r),i={loader:n},c=yield*cn(e,i,s),o=[];for(let u of a)o.push(t.mirror(yield*cn(e,i,u)));return yield*ai(t,e,"findMethodHandleType(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;",t.mirror(c),t.newObjectArray("java/lang/Class",o))}function*Ix(t,e,n,r){let a=yield*t.loadClassGen(e,n.loader,r.owner),s=r.refKind<=dx?t.mirror(yield*cn(e,n,r.desc)):yield*Wo(t,e,n.loader,r.desc);return yield*ai(t,e,"linkMethodHandleConstant(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;",t.mirror(n),r.refKind,t.mirror(a),t.intern(r.name),s)}function*kx(t,e,n,r){let a=n.cf.cp,s=a[r],i=n.cf.bootstrap[s.a],c=a[s.b],o=yield*Xo(t,e,n,i.ref),u=yield*cn(e,n,_(a,c.b)),l=yield*K0(t,e,n,i.args);return yield*ai(t,e,"linkDynamicConstant(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;",t.mirror(n),o,t.intern(_(a,c.a)),t.mirror(u),l)}function*K0(t,e,n,r){if(r.length===0)return null;let a=[];for(let s of r)a.push(yield*Xo(t,e,n,s));return t.newObjectArray("java/lang/Object",a)}function*Xo(t,e,n,r){let a=n.cf.cp,s=a[r];switch(s.tag){case B.Integer:return yield*Jr(e,"I",s.value);case B.Float:return yield*Jr(e,"F",s.value);case B.Long:return yield*Jr(e,"J",s.value);case B.Double:return yield*Jr(e,"D",s.value);case B.String:return t.intern(_(a,s.a));case B.Class:return t.mirror(yield*t.loadClassGen(e,n.loader,de(a,r)))}let i=n.ldc[r];if(i!==void 0&&s.tag!==B.Dynamic)return i;let c;if(s.tag===B.MethodType)c=yield*Wo(t,e,n.loader,_(a,s.a));else if(s.tag===B.MethodHandle)c=yield*Ix(t,e,n,Tu(n,r));else{if(s.tag===B.Dynamic)return yield*kx(t,e,n,r);throw new A("java/lang/InternalError",`bad constant tag ${s.tag}`)}return n.ldc[r]=c,c}function*Q0(t,e,n,r){let a=n.cf.cp,s=a[r],i=yield*Xo(t,e,n,r);if(s.tag===B.Dynamic){let c=_(a,a[s.b].b);if(ni(c))return i===null?null:t.getField(i,i.cls.name,"value")}return i}function*Ax(t,e,n,r){let a=n.cf.cp,s=a[r],i=n.cf.bootstrap[s.a],c=a[s.b],o=yield*Xo(t,e,n,i.ref),u=yield*Wo(t,e,n.loader,_(a,c.b)),l=yield*K0(t,e,n,i.args),d=t.newObjectArray("java/lang/Object",[null]),f=yield*ai(t,e,"linkCallSite(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;",t.mirror(n),o,t.intern(_(a,c.a)),u,l,d);return{m:Nn(e,f),appendix:d.a[0]}}function*eb(t,e,n,r){let a=n.cf.cp,s=a[r],i=n.cf.bootstrap[s.a],c=a[s.b],o=_(a,c.a),u=_(a,c.b),l=Tu(n,i.ref),d=i.args.map(m=>Tu(n,m)),f=null;switch(`${l.owner}.${l.name}`){case"java/lang/invoke/LambdaMetafactory.metafactory":f=yield*Z0(t,e,n,o,u,d,!1);break;case"java/lang/invoke/LambdaMetafactory.altMetafactory":f=yield*Z0(t,e,n,o,u,d,!0);break;case"java/lang/invoke/StringConcatFactory.makeConcatWithConstants":f=yield*W0(t,e,n,u,d,!0);break;case"java/lang/invoke/StringConcatFactory.makeConcat":f=yield*W0(t,e,n,u,d,!1);break;case"java/lang/runtime/ObjectMethods.bootstrap":f=yield*vx(t,e,n,o,u,d);break;case"java/lang/runtime/SwitchBootstraps.typeSwitch":case"java/lang/runtime/SwitchBootstraps.enumSwitch":f=yield*xx(t,e,n,o,u,d);break}return f?{m:f}:yield*Ax(t,e,n,r)}var Sx="java/lang/invoke/MethodHandle";function tb(t,e,n,r){let a=n.stack;switch(r.name){case"invokeBasic":{let i=a[n.sp-r.argSlots];if(i===null)throw new A("java/lang/NullPointerException");let c=t.getField(i,Sx,"form");return ha(e,n,Nn(e,t.getField(c,"java/lang/invoke/LambdaForm","vmentry")))}case"linkToStatic":case"linkToSpecial":case"linkToVirtual":case"linkToInterface":{let i=Nn(e,a[n.sp-1]);if(r.name==="linkToStatic"&&i.cls.state!==z&&!t.initialize(e,i.cls))return!1;if(n.sp--,r.name==="linkToVirtual"||r.name==="linkToInterface"){let c=a[n.sp-i.argSlots];if(c===null)throw new A("java/lang/NullPointerException");let o=c.cls.selectMethod(i.key);if(!o)throw new A("java/lang/AbstractMethodError",`${c.cls.javaName}.${i.name}${i.desc}`);i=o}return ha(e,n,i)}case"linkToNative":throw new A("java/lang/UnsupportedOperationException","native method handles are not supported")}let s=r.link;if(!s){let i=n.m.cls;return e.pushNative((function*(){let c=yield*Wo(t,e,i.loader,r.desc),o=t.newObjectArray("java/lang/Object",[null]),u=yield*ai(t,e,"linkMethod(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;",t.mirror(i),Fu,t.mirror(r.cls),t.intern(r.name),c,o);r.link={m:Nn(e,u),appendix:o.a[0]}})(),null,"V",!0),!1}return s.m.argSlots===r.argSlots+1&&(a[n.sp++]=s.appendix),ha(e,n,s.m)}var nb=t=>typeof t?.then=="function";function rb(t){let e=t?.message;return typeof e=="string"?e:String(t)}function ab(t){return new A("java/lang/RuntimeException",rb(t))}function Ou(t){let e="";for(let n of t){let r=n.charCodeAt(0);n==="/"?e+="_":n==="_"?e+="_1":n===";"?e+="_2":n==="["?e+="_3":r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122?e+=n:e+="_0"+r.toString(16).padStart(4,"0")}return e}function sb(t){let e=`Java_${Ou(t.cls.name)}_${Ou(t.name)}`;return[e,`${e}__${Ou(t.desc.slice(1,t.desc.indexOf(")")))}`]}function ib(t,e){let n=t.isStatic?t.params:["Ljava/lang/Object;",...t.params];return function*(r,a){let s=r.vm.library,i=a.map((l,d)=>s.toWire(n[d],l)),c;try{c=e(i)}catch(l){throw ab(l)}let o=nb(c)?yield*s.pump(r,Promise.resolve(c).catch(l=>Promise.reject(ab(l)))):c,u=yield*s.toJava(r,t.ret,yield*s.resolve(r,o.value),t.cls.loader);return o.back?.forEach((l,d)=>{let f=a[d];l&&f instanceof W&&ArrayBuffer.isView(f.a)&&f.a.set(l)}),u}}var Nu=class extends Error{throwable},Jx=new Set(["java/lang/Boolean","java/lang/Byte","java/lang/Short","java/lang/Character","java/lang/Integer","java/lang/Long","java/lang/Float","java/lang/Double"]),qo=new Set(["Ljava/lang/Object;","Ljava/lang/Comparable;","Ljava/io/Serializable;"]);function ub(t){if(t instanceof Int8Array)return"B";if(t instanceof Uint8Array)return"Z";if(t instanceof Uint16Array)return"C";if(t instanceof Int16Array)return"S";if(t instanceof Int32Array)return"I";if(t instanceof BigInt64Array)return"J";if(t instanceof Float32Array)return"F";if(t instanceof Float64Array)return"D"}var ob=new WeakMap;function Mx(t){let e=ob.get(t);if(!e){e=new Set;for(let n of t.allSupers())e.add(n.name);ob.set(t,e)}return e}function Bu(t,e){let n=t[0]==="L"||t[0]==="[";if(e==null)return n?1:-1;switch(typeof e){case"string":return t==="Ljava/lang/String;"?2:t==="Ljava/lang/CharSequence;"||t==="C"&&e.length===1?1:qo.has(t)?0:-1;case"boolean":return t==="Z"?2:t==="Ljava/lang/Boolean;"?1:qo.has(t)?0:-1;case"bigint":return t==="J"?2:t==="Ljava/lang/Long;"||t==="Ljava/lang/Number;"?1:qo.has(t)?0:-1;case"number":{let r=Number.isInteger(e);return!r&&t==="D"?2:r&&t==="I"?3:r&&t==="J"?2:t.length===1&&"DFSBC".includes(t)?r||t==="F"?1:-1:t==="Ljava/lang/Double;"||t==="Ljava/lang/Float;"||t==="Ljava/lang/Number;"||r&&/^Ljava\/lang\/(Integer|Long|Short|Byte);$/.test(t)?1:qo.has(t)?0:-1}case"object":if(e instanceof Ge){if(t[0]!=="L")return-1;let r=t.slice(1,-1);return e.cls.name===r?3:r==="java/lang/Object"?1:Mx(e.cls).has(r)?2:-1}if(ArrayBuffer.isView(e)){if(t[0]==="["){let r=ub(e);return t==="["+r?3:r==="Z"&&t==="[B"?1:-1}return t==="Ljava/lang/Object;"||t==="Ljava/lang/Cloneable;"||t==="Ljava/io/Serializable;"?1:-1}if(Array.isArray(e)){if(t==="Ljava/lang/Object;")return 0;if(t[0]!=="[")return-1;let r=t.slice(1);for(let a of e)if(Bu(r,a)<0)return-1;return r==="Ljava/lang/Object;"?1:2}return-1;default:return-1}}function lb(t){return t===null?"null":t instanceof Ge?t.cls.javaName:ArrayBuffer.isView(t)?t.constructor.name:Array.isArray(t)?"array":typeof t}function Lu(t,e){switch(t[0]){case"Z":return e?1:0;case"J":return typeof e=="bigint"?BigInt.asIntN(64,e):BigInt(Math.trunc(Number(e)||0));case"F":return Math.fround(Number(e));case"D":return Number(e);case"B":return Number(e)<<24>>24;case"S":return Number(e)<<16>>16;case"C":return(typeof e=="string"?e.charCodeAt(0):Number(e))&65535;default:return Number(e)|0}}var cb={"Ljava/lang/Integer;":["java/lang/Integer","I"],"Ljava/lang/Short;":["java/lang/Short","S"],"Ljava/lang/Byte;":["java/lang/Byte","B"],"Ljava/lang/Long;":["java/lang/Long","J"],"Ljava/lang/Float;":["java/lang/Float","F"],"Ljava/lang/Double;":["java/lang/Double","D"]},Yo=class{vm;ids=new Map;table=new Map;nextId=1;sent=new Set;loader=null;queue=[];idle=[];busy=0;depth=new Map;inflight=new Set;closed=!1;constructor(e){this.vm=e}handle(e){let n=this.ids.get(e);n===void 0&&(n=this.nextId++,this.ids.set(e,n),this.table.set(n,{obj:e,refs:0})),this.table.get(n).refs++;let r={$java:n,cls:e.cls.javaName};return this.sent.has(e.cls)||(this.sent.add(e.cls),r.supers=[...e.cls.allSupers()].map(a=>a.javaName)),this.vm.isInstance(e,"java/lang/Throwable")&&(r.msg=this.vm.describeThrowable(e)),r}object(e){let n=this.table.get(e);if(!n)throw new Error("that Java object was released");return n.obj}release(e){for(let[n,r]of e){let a=this.table.get(n);a&&(a.refs-=r,a.refs<=0&&(this.table.delete(n),this.ids.delete(a.obj)))}}get handleCount(){return this.table.size}convert(e,n){if(e===null)return null;if(e instanceof W){let a=e.a;return Array.isArray(a)?a.map(s=>this.convert(s,n)):e.cls.component.prim==="Z"?new Uint8Array(a.buffer,a.byteOffset,a.length).slice():a.slice()}let r=e.cls.name;if(r==="java/lang/String")return this.vm.jsString(e);if(Jx.has(r)){let a=this.vm.getField(e,r,"value");return r==="java/lang/Boolean"?a!==0:typeof a=="bigint"?Number(a):a}return n(e)}toWire(e,n){switch(e[0]){case"V":return;case"Z":return n!==0;case"J":return Number(n);case"L":case"[":return this.convert(n,r=>this.handle(r));default:return n}}*resolve(e,n){if(n===null||typeof n!="object"||ArrayBuffer.isView(n))return n;if(Array.isArray(n)){let r=[];for(let a of n)r.push(yield*this.resolve(e,a));return r}if("$java"in n)return this.object(n.$java);if("$get"in n){let[r,a]=n.$get,[s,i]=yield*this.readField(e,r,a);return i[0]==="L"||i[0]==="["?this.convert(s,c=>c):this.toWire(i,s)}return n}*box(e,n,r,a){let s=this.vm.loadBootOrFail(n);s.state!==z&&(yield*this.vm.initGen(e,s));let i=r==="Z"?"valueOf(Z)":`valueOf(${r})`;return yield e.call(s.methodMap.get(`${i}L${n};`),Lu(r,a))}*toJava(e,n,r,a){if(n[0]!=="L"&&n[0]!=="[")return n[0]==="V"?void 0:Lu(n,r);if(r==null)return null;if(r instanceof Ge)return r;if(typeof r=="string")return this.vm.str(r);if(typeof r=="boolean")return yield*this.box(e,"java/lang/Boolean","Z",r);if(typeof r=="bigint")return yield*this.box(e,"java/lang/Long","J",r);if(typeof r=="number"){let[s,i]=cb[n]??cb[r===(r|0)?"Ljava/lang/Integer;":Number.isSafeInteger(r)?"Ljava/lang/Long;":"Ljava/lang/Double;"];return yield*this.box(e,s,i,r)}if(ArrayBuffer.isView(r)){let s=n[0]==="["?n[1]:ub(r),i=Te(s,r.length);return i.set(r),new W(this.vm.primArrayClass(s),i)}if(Array.isArray(r))return yield*this.toJavaArray(e,n[0]==="["?n:"[Ljava/lang/Object;",r,a);throw new Error(`cannot convert ${lb(r)} to ${n}`)}*toJavaArray(e,n,r,a){let s=n.slice(1);if(s[0]!=="L"&&s[0]!=="["){let o=Te(s,r.length);for(let u=0;u<r.length;u++)o[u]=Lu(s,r[u]);return new W(this.vm.primArrayClass(s),o)}let i=[];for(let o of r)i.push(yield*this.toJava(e,s,o,a));let c=yield*this.vm.loadClassGen(e,a,s[0]==="L"?s.slice(1,-1):s);return new W(this.vm.arrayOf(c),i)}request(e){return new Promise((n,r)=>{if(this.closed)return r(new Error("the VM has exited"));this.queue.push({req:e,resolve:n,reject:r}),this.dispatch()})}close(){this.closed=!0;let e=new Error("the VM has exited");for(let n of[...this.queue,...this.inflight])n.reject(e);this.queue=[],this.inflight.clear(),this.table.clear(),this.ids.clear()}dispatch(){for(;this.busy===0&&this.queue.length>0&&this.idle.length>0;){let e=this.idle.shift();e.call=this.queue.shift(),this.busy++,e.wake?.()}}*loop(e){let n={call:null,wake:null};for(;;){for(this.idle.push(n),this.dispatch();!n.call;)yield e.block(new Promise(a=>n.wake=a));let r=n.call;n.call=null,yield*this.serve(e,r)}}*pump(e,n){let r=null,a={call:null,wake:null};n.then(c=>{r={v:c},a.wake?.()},c=>{r={e:c},a.wake?.()});let s=(this.depth.get(e)??0)>0;s&&this.busy--;try{for(;;){for(this.idle.push(a),this.dispatch();!a.call&&!r;)yield e.block(new Promise(o=>a.wake=o));if(!a.call){this.idle.splice(this.idle.indexOf(a),1);break}let c=a.call;a.call=null,yield*this.serve(e,c)}}finally{s&&this.busy++}let i=r;if("e"in i)throw i.e;return i.v}*serve(e,n){this.inflight.add(n),this.depth.set(e,(this.depth.get(e)??0)+1);try{n.resolve(yield*this.run(e,n.req))}catch(r){n.reject(this.failure(r))}finally{this.depth.set(e,this.depth.get(e)-1),this.inflight.delete(n),this.busy--,this.dispatch()}}failure(e){if(e instanceof oe){let n=new Nu(this.vm.describeThrowable(e.obj));return n.throwable=this.handle(e.obj),n}return e instanceof Error?e:new Error(String(e))}*systemLoader(e){if(!this.loader){let n=this.vm.loadBootOrFail("java/lang/ClassLoader");this.loader=yield e.call(n.methodMap.get("getSystemClassLoader()Ljava/lang/ClassLoader;"))}return this.loader}*loadClass(e,n){let r=yield*this.systemLoader(e),a=yield*this.vm.loadClassGen(e,r,n.replace(/\./g,"/"),!0);return a.state!==z&&(yield*this.vm.initGen(e,a)),a}*run(e,n){switch(n.op){case"class":return yield*this.loadClass(e,n.cls),{value:void 0};case"static":{let r=yield*this.loadClass(e,n.cls);return yield*this.invoke(e,"static method",r,n.method,null,n.args)}case"new":{let r=yield*this.loadClass(e,n.cls);if(r.isInterface||r.access&1024)throw new Error(`${r.javaName} is abstract and cannot be created`);let a=this.vm.newObject(r);return yield*this.invoke(e,"constructor",r,"<init>",a,n.args),{value:this.handle(a)}}case"call":{let r=this.object(n.obj);return yield*this.invoke(e,"method",r.cls,n.method,r,n.args)}case"getStatic":case"get":{let[r,a]=yield*this.readField(e,n.op==="get"?n.obj:n.cls,n.field);return{value:this.toWire(a,r)}}case"setStatic":case"set":{let{f:r,obj:a}=yield*this.field(e,n.op==="set"?n.obj:n.cls,n.field),s=yield*this.toJava(e,r.desc,yield*this.resolve(e,n.value),r.cls.loader);return a?a.f[r.slot]=s:r.cls.statics[r.slot]=s,{value:void 0}}}}*field(e,n,r){let a=null;if(typeof n=="number")a=this.object(n);else if(typeof n=="object"){let[c,o]=n.$get,[u]=yield*this.readField(e,c,o);if(!(u instanceof Ge))throw new Error(`${o} is not a Java object`);a=u}let s=a?a.cls:yield*this.loadClass(e,n),i=s.findField(r);if(!i||i.isStatic===!!a||!(i.access&sn))throw new Error(`no ${a?"":"static "}field ${r} in ${s.javaName}`);return!a&&i.cls.state!==z&&(yield*this.vm.initGen(e,i.cls)),{f:i,obj:a}}*readField(e,n,r){let{f:a,obj:s}=yield*this.field(e,n,r);return[s?s.f[a.slot]:a.cls.statics[a.slot],a.desc]}methodsOf(e,n,r){let a=new Set,s=[],i=r?$x(e):e.allSupers();for(let c of i){for(let o of c.methods)o.name!==n||o.isStatic!==r||o.access&kr||a.has(o.key)||!r&&!(o.access&sn)||(a.add(o.key),s.push(o));if(n==="<init>")break}return s}pick(e,n){let r=null,a=-1;for(let s of e){if(s.params.length!==n.length)continue;let i=0;for(let c=0;c<n.length&&i>=0;c++){let o=Bu(s.params[c],n[c]);i=o<0?-1:i+o}i>a&&([r,a]=[s,i])}if(r)return{m:r,varargs:!1};for(let s of e){let i=s.params.length-1;if(!(s.access&qa)||n.length<i)continue;let c=0;for(let o=0;o<n.length&&c>=0;o++){let u=Bu(o<i?s.params[o]:s.params[i].slice(1),n[o]);c=u<0?-1:c+u}c>a&&([r,a]=[s,c])}return r?{m:r,varargs:!0}:null}*invoke(e,n,r,a,s,i){let c=yield*this.resolve(e,i),o=a==="<init>",u=this.pick(this.methodsOf(r,a,s===null),c);if(!u)throw new Error(`no ${n}${o?"":" "+a} in ${r.javaName} takes (${c.map(lb).join(", ")})`);let{m:l,varargs:d}=u,f=d?l.params.length-1:l.params.length,m=[];for(let g=0;g<f;g++)m.push(yield*this.toJava(e,l.params[g],c[g],l.cls.loader));d&&m.push(yield*this.toJavaArray(e,l.params[f],c.slice(f),l.cls.loader));let p=l;s&&!o&&(p=s.cls.selectMethod(l.key)??l);let b=yield s?e.call(p,s,...m):e.call(p,...m),y={value:o?void 0:this.toWire(l.ret,b)};for(let g=0;g<f;g++){let h=c[g];if(!ArrayBuffer.isView(h)||!(m[g]instanceof W))continue;let j=m[g].a,x=h,w=!1;for(let v=0;v<j.length&&!w;v++)w=j[v]!==x[v];w&&(y.back??=[]).push([g,this.convert(m[g],v=>v)])}return y}};function*$x(t){for(let e=t;e;e=e.superclass)yield e}var Tx=(()=>{if(typeof setImmediate=="function")return n=>setImmediate(n);let t=new MessageChannel,e=[];return t.port1.onmessage=()=>e.shift()?.(),n=>{e.push(n),t.port2.postMessage(0)}})(),Ko=class{opts;fs;mem=new Bi;boot=new Map;bootPackages=new Map;bootModules=new Map;bootUnnamedModule=null;natives=new Map;interned=new Map;prims=new Map;slots=new Map;threads=new Set;runQueue=[];queued=new Set;scheduled=!1;hashSeed=625341585;hiddenCount=0;classCount=0;threadsStarted=0;peakThreads=0;exitCode=null;exitResolve;exited;startTime=Date.now();props;state=new Map;net;timers=new Set;constructor(e){this.opts=e,this.fs=e.fs;let n=Ui(e.hostName);if(this.net=e.net??new ws(n,e.fetch),this.props=new Map(Object.entries(e.props??{})),this.net instanceof ws&&this.net.fetch){let s=!this.props.has("https.proxyHost");for(let i of["http","https"])this.props.has(`${i}.proxyHost`)||(this.props.set(`${i}.proxyHost`,Ci),this.props.set(`${i}.proxyPort`,String(Ei)));s&&!this.props.has("java.security.properties")&&this.props.set("java.security.properties",`${e.javaHome}/conf/security/java-web-proxy.security`),n&&!this.props.has("http.nonProxyHosts")&&this.props.set("http.nonProxyHosts",`localhost|127.*|[::1]|0.0.0.0|[::0]|${vs(n)}`)}this.exited=new Promise(s=>this.exitResolve=s);for(let[s,i]of Object.entries(V0))this.natives.set(s,i);let r=this.fs.read(`${e.javaHome}/lib/packages.txt`);if(!r)throw new Error(`no JDK at ${e.javaHome}; run pnpm jdk`);let a=new Map;for(let s of new TextDecoder().decode(r).split(`
|
|
17
|
-
`)){let i=s.indexOf(" ");if(i<=0)continue;let c=s.slice(0,i),o=a.get(c);o===void 0&&a.set(c,o=this.fs.stat(`${e.javaHome}/modules/${c}`)!==null),o&&this.bootPackages.set(s.slice(i+1),c)}}debug(...e){this.opts.debug&&console.error(`[jvm +${Date.now()-this.startTime}ms]`,...e)}registerNatives(e){for(let[n,r]of Object.entries(e))this.natives.set(n,r)}loaderClasses(e){return e===null?this.boot:this.loaderData(e).classes}loaderData(e){return e.x??={classes:new Map,modules:new Map}}findLoaded(e,n){return this.loaderClasses(e).get(n)}loadBoot(e){let n=this.boot.get(e);if(n)return n;if(e[0]==="["){let u=this.componentFromDesc(e.slice(1),null);return u?this.arrayOf(u):null}let r=e.lastIndexOf("/"),a=this.bootPackages.get(r<0?"":e.slice(0,r));if(!a)return null;let s=this.fs.read(`${this.opts.javaHome}/modules/${a}/${e}.class`);if(!s)return null;let i=ol(s),c=i.superName?this.loadBootOrFail(i.superName):null,o=i.interfaces.map(u=>this.loadBootOrFail(u));return this.defineLinked(i,null,c,o)}loadBootOrFail(e){let n=this.loadBoot(e);if(!n)throw new A("java/lang/NoClassDefFoundError",e);return n}componentFromDesc(e,n){if(e[0]==="["){let r=this.componentFromDesc(e.slice(1),n);return r&&this.arrayOf(r)}if(e[0]==="L"){let r=e.slice(1,-1);return n===null?this.loadBoot(r):this.findLoaded(n,r)}return this.primClass(e)}primClass(e){let n=this.prims.get(e);return n||(n=new Tn(e,null,null,sn|Ie|ia),n.prim=e,n.state=z,this.prims.set(e,n)),n}primArrayClass(e){return this.arrayOf(this.primClass(e))}arrayOf(e){if(e.arrayClass)return e.arrayClass;let n="["+e.desc,r=new Tn(n,e.loader,null,e.access&(sn|Yn|cl)|Ie|ia);return r.component=e,r.superclass=this.loadBoot("java/lang/Object"),r.interfaces=[this.loadBoot("java/lang/Cloneable"),this.loadBoot("java/io/Serializable")],r.state=z,e.arrayClass=r,this.loaderClasses(e.loader).set(n,r),r}defineLinked(e,n,r,a,s=!1){let i=this.loaderClasses(n);if(!s&&i.has(e.name))throw new A("java/lang/LinkageError",`duplicate class definition: ${e.name}`);let c=s?`${e.name}/0x${(++this.hiddenCount).toString(16).padStart(16,"0")}`:e.name,o=new Tn(c,n,e,e.access);this.classCount++,o.hidden=s,o.superclass=r,o.interfaces=a;let u=r?r.instanceSlots:0,l=r?r.template.slice():[];for(let[f,m]of e.fields.entries()){let p=new hi(o,m);p.index=f,p.isStatic?(p.slot=o.statics.length,o.statics.push(fl(p.desc))):(p.slot=u++,l.push(fl(p.desc))),o.fields.push(p)}o.instanceSlots=u,o.template=l;let d=e.name==="java/lang/invoke/MethodHandle"||e.name==="java/lang/invoke/VarHandle";for(let[f,m]of e.methods.entries()){let p=n===null?G0[`${e.name}.${m.name}${m.desc}`]:void 0,b=new Xa(o,p?{...m,code:null,access:m.access|Ya}:m);p&&(b.native=p,b.intrinsic=!0),b.index=f,d&&(b.access&(Ya|qa))===(Ya|qa)&&(b.polymorphic=!0),o.methods.push(b),o.methodMap.set(b.key,b)}return o.state=sf,s||i.set(e.name,o),o}*loadClassGen(e,n,r,a=!1){let s=this.findLoaded(n,r);if(s)return s;if(r[0]==="["){let o=0;for(;r[o]==="[";)o++;let u;for(r[o]==="L"?u=yield*this.loadClassGen(e,n,r.slice(o+1,-1),a):u=this.primClass(r[o]);o>0;o--)u=this.arrayOf(u);return this.loaderClasses(n).set(r,u),u}if(n===null)return this.loadBootOrFail(r);let i;try{i=yield e.callVirtual(n,"loadClass","(Ljava/lang/String;)Ljava/lang/Class;",this.str(r.replace(/\//g,".")))}catch(o){throw!a&&o instanceof oe&&this.isInstance(o.obj,"java/lang/ClassNotFoundException")?new A("java/lang/NoClassDefFoundError",r):o}if(!i)throw new A("java/lang/NoClassDefFoundError",r);let c=i.x;return this.loaderClasses(n).set(r,c),c}*defineClassGen(e,n,r,a,s,i=!1){let c;try{c=ol(r,this.opts.enablePreview)}catch(d){throw Fx(d,a??"class")}if(i&&a&&a!==c.name&&(c={...c,name:a,renamedFrom:c.name}),a&&a!==c.name)throw new A("java/lang/NoClassDefFoundError",`${a} (wrong name: ${c.name})`);let o=c.superName?yield*this.loadClassGen(e,n,c.superName):null,u=[];for(let d of c.interfaces)u.push(yield*this.loadClassGen(e,n,d));let l=this.defineLinked(c,n,o,u,i);return s&&this.setField(this.mirror(l),"java/lang/Class","protectionDomain",s),l}classRef(e,n,r){let a=de(n.cf.cp,r),s=a===n.cf.name||a===n.cf.renamedFrom?n:this.resolveClass(e,n.loader,a);return s&&(n.rcp[r]=s),s}resolveClass(e,n,r){let a=this.findLoaded(n,r);if(a)return a;if(n===null)return this.loadBootOrFail(r);if(r[0]==="["){let s=0;for(;r[s]==="[";)s++;if(r[s]!=="L"){let i=this.primClass(r[s]);for(;s>0;s--)i=this.arrayOf(i);return i}}e.pushNative(this.loadClassGen(e,n,r),null,"V",!0)}cpClassName(e,n){return de(e.cf.cp,n)}fieldRef(e,n,r){let a=n.cf.cp,s=a[r],i=n.rcp[s.a]??this.classRef(e,n,s.a);if(!i)return;let c=a[s.b],o=_(a,c.a),u=i.findField(o,_(a,c.b));if(!u)throw new A("java/lang/NoSuchFieldError",o);return n.rcp[r]=u,u}methodRef(e,n,r){let a=n.cf.cp,s=a[r],i=n.rcp[s.a]??this.classRef(e,n,s.a);if(!i)return;let c=a[s.b],o=_(a,c.a),u=_(a,c.b),l=this.resolveMethod(i,o,u);return n.rcp[r]=l,l}resolveMethod(e,n,r){let a=e.findMethod(n+r);if(!a&&(e.name==="java/lang/invoke/MethodHandle"||e.name==="java/lang/invoke/VarHandle")){let s=e.methods.find(i=>i.name===n&&i.polymorphic);s&&(a=new Xa(e,{access:s.access,name:n,desc:r,attrs:s.attrs,code:null}),a.polymorphic=!0)}if(!a)throw new A("java/lang/NoSuchMethodError",`'${r}' ${e.javaName}.${n}`);return a}specialTarget(e,n){if(n.name==="<init>"||n.isPrivate)return n;let r=n.cls;if(!r.isInterface&&r!==e&&e.isSubclassOf(r))for(let a=e.superclass;a;a=a.superclass){let s=a.methodMap.get(n.key);if(s&&!s.isStatic)return s}return n.isAbstract&&r.isInterface?r.selectMethod(n.key)??n:n}constant(e,n,r){let a=n.cf.cp,s=a[r],i;switch(s.tag){case B.Integer:case B.Float:case B.Long:case B.Double:i=s.value;break;case B.String:i=this.intern(_(a,s.a));break;case B.Class:{let c=this.classRef(e,n,r);if(!c)return;i=this.mirror(c);break}case B.MethodType:case B.MethodHandle:case B.Dynamic:e.pushNative(this.resolveConstantGen(e,n,r),null,"V",!0);return;default:throw new A("java/lang/InternalError",`bad ldc constant tag ${s.tag}`)}return n.ldc[r]=i,i}*resolveConstantGen(e,n,r){n.ldc[r]=yield*Q0(this,e,n,r)}callSite(e,n,r){let a=n.m.cache??=[],s=n.pc,i=a[s];if(i!==void 0)return i;e.pushNative((function*(c){a[s]=yield*eb(c,e,n.m.cls,r)})(this),null,"V",!0)}invokePolymorphic(e,n,r,a){return tb(this,e,n,r)}initialize(e,n){return n.state===z||n.state===pi&&n.initThread===e?!0:(e.pushNative(this.initGen(e,n),null,"V",!0),!1)}*initGen(e,n){for(;;){if(n.state===z)return;if(n.state===ul){let r=yield*this.newThrowable(e,"java/lang/NoClassDefFoundError",`Could not initialize class ${n.javaName}`);throw n.initError&&(yield e.callVirtual(r,"initCause","(Ljava/lang/Throwable;)Ljava/lang/Throwable;",n.initError)),new oe(r)}if(n.state===pi){if(n.initThread===e)return;yield e.block(new Promise(r=>n.initWaiters.push(r)));continue}break}n.state=pi,n.initThread=e;try{!n.isInterface&&n.superclass&&n.superclass.state!==z&&(yield*this.initGen(e,n.superclass));for(let a of n.interfaces)a.state!==z&&a.methods.some(s=>!s.isAbstract&&!s.isStatic)&&(yield*this.initGen(e,a));this.applyConstantValues(n);let r=n.methodMap.get("<clinit>()V");r&&(yield e.call(r))}catch(r){if(n.state=ul,n.initThread=null,this.wakeInit(n),r instanceof oe){let a=this.getField(r.obj,"java/lang/Throwable","detailMessage"),s=`Exception ${r.obj.cls.javaName}${a?": "+this.jsString(a):""}`,i=yield*this.newThrowable(e,"java/lang/ExceptionInInitializerError",`${s} [in thread "${e.name}"]`);try{this.setField(i,"java/lang/Throwable","stackTrace",yield e.callVirtual(r.obj,"getStackTrace","()[Ljava/lang/StackTraceElement;")),this.setField(i,"java/lang/Throwable","backtrace",null)}catch(c){if(!(c instanceof oe))throw c}throw n.initError=i,this.isInstance(r.obj,"java/lang/Error")?r:new oe(yield*this.newThrowable(e,"java/lang/ExceptionInInitializerError",null,r.obj))}throw r}n.state=z,n.initThread=null,this.wakeInit(n)}wakeInit(e){let n=e.initWaiters;e.initWaiters=[];for(let r of n)r()}applyConstantValues(e){let n=e.cf?.cp;if(n)for(let r of e.fields){if(!r.isStatic)continue;let a=r.attrs.get("ConstantValue");if(!a)continue;let s=n[a[0]<<8|a[1]];e.statics[r.slot]=s.tag===B.String?this.intern(_(n,s.a)):s.value}}newObject(e){return new Ge(e,e.template.slice())}newArray(e,n){return new W(this.arrayOf(e),Te(e.prim??"L",n))}newObjectArray(e,n){let r=this.loadBootOrFail(e);return new W(this.arrayOf(r),n)}multiArray(e,n){let[r,...a]=n,s=e.component;if(a.length===0)return new W(e,Te(s.prim??"L",r));let i=Te("L",r);for(let c=0;c<r;c++)i[c]=this.multiArray(s,a);return new W(e,i)}identityHash(e){if(e.hash===0){let n=this.hashSeed;n^=n<<13,n^=n>>>17,n^=n<<5,this.hashSeed=n,e.hash=n&2147483647||1}return e.hash}isInstance(e,n){for(let r of e.cls.allSupers())if(r.name===n)return!0;return!1}mirror(e){if(e.mirror)return e.mirror;let n=this.newObject(this.loadBootOrFail("java/lang/Class"));return n.x=e,e.mirror=n,this.setField(n,"java/lang/Class","classLoader",e.loader),e.component&&this.setField(n,"java/lang/Class","componentType",this.mirror(e.component)),this.setField(n,"java/lang/Class","modifiers",this.classModifiers(e)),this.setField(n,"java/lang/Class","primitive",e.prim?1:0),this.setField(n,"java/lang/Class","module",this.moduleOf(e)),n}classOf(e){return e.x}classModifiers(e){if(e.component){let a=e.component;for(;a.component;)a=a.component;return this.classModifiers(a)&(sn|Yn|cl)|Ie|ia}return e.prim?sn|Ie|ia:((e.cf?Ox(e.cf,e.name):null)??e.access)&~Ir&32767}moduleOf(e){for(;e.component;)e=e.component;if(e.prim)return this.bootModules.get("java.base")??null;if(e.loader===null){let r=this.bootPackages.get(e.packageName);return r?this.bootModules.get(r)??null:this.bootUnnamedModule}let n=this.loaderData(e.loader).modules.get(e.packageName);return n||this.getField(e.loader,"java/lang/ClassLoader","unnamedModule")}shownVersion(e){let n=e.x?.version;if(!n||!this.getField(e,"java/lang/Module","name"))return null;let r=`file://${this.opts.javaHome}/modules/`,a=e.x.location??"",s=a.startsWith(r)?`jrt:/${a.slice(r.length)}`:a,i=this.getField(e,"java/lang/Module","loader"),c=i?.cls.name==="jdk/internal/loader/ClassLoaders$PlatformClassLoader",o=!i||c||i.cls.name==="jdk/internal/loader/ClassLoaders$AppClassLoader";return(!i||c)&&s.startsWith("jrt:/java.")||o&&s.startsWith("jrt:/jdk.")&&n===this.bootModules.get("java.base")?.x?.version?null:n}castMessage(e,n){let r=i=>this.moduleOf(i),a=i=>{let c=r(i),o=c&&this.getField(c,"java/lang/Module","name"),u=o&&this.shownVersion(c),l=i;for(;l.component;)l=l.component;let d=l.loader&&this.getField(l.loader,"java/lang/ClassLoader","nameAndId");return`${o?`module ${this.jsString(o)}${u?`@${u}`:""}`:"unnamed module"} of loader ${d?this.jsString(d):"'bootstrap'"}`},s=`class ${e.javaName} cannot be cast to class ${n.javaName}`;return r(e)===r(n)?`${s} (${e.javaName} and ${n.javaName} are in ${a(e)})`:`${s} (${e.javaName} is in ${a(e)}; ${n.javaName} is in ${a(n)})`}slotOf(e,n){let r=e+"."+n,a=this.slots.get(r);if(a===void 0){let i=this.loadBootOrFail(e).findField(n);if(!i)throw new Error(`no field ${r}`);a=i.slot,this.slots.set(r,a)}return a}getField(e,n,r){return e.f[this.slotOf(n,r)]}setField(e,n,r,a){e.f[this.slotOf(n,r)]=a}getStatic(e,n){let r=e.findField(n);if(!r||!r.isStatic)throw new Error(`no static ${e.name}.${n}`);return r.cls.statics[r.slot]}setStatic(e,n,r){let a=e.findField(n);if(!a||!a.isStatic)throw new Error(`no static ${e.name}.${n}`);a.cls.statics[a.slot]=r}str(e){let n=this.loadBootOrFail("java/lang/String"),r=this.newObject(n),a=!0;for(let i=0;i<e.length;i++)if(e.charCodeAt(i)>255){a=!1;break}let s;if(a){s=new Int8Array(e.length);for(let i=0;i<e.length;i++)s[i]=e.charCodeAt(i)}else{s=new Int8Array(e.length*2);let i=new Uint16Array(s.buffer);for(let c=0;c<e.length;c++)i[c]=e.charCodeAt(c)}return r.f[this.slotOf("java/lang/String","value")]=new W(this.primArrayClass("B"),s),r.f[this.slotOf("java/lang/String","coder")]=a?0:1,r}jsString(e){let n=e.f[this.slotOf("java/lang/String","value")].a,r=e.f[this.slotOf("java/lang/String","coder")],a;r===0?a=new Uint8Array(n.buffer,n.byteOffset,n.length):n.byteOffset%2===0?a=new Uint16Array(n.buffer,n.byteOffset,n.length>>1):a=new Uint16Array(n.slice().buffer);let s="";for(let i=0;i<a.length;i+=8192)s+=String.fromCharCode.apply(null,Array.prototype.slice.call(a,i,i+8192));return s}intern(e){let n=this.interned.get(e);return n||(n=this.str(e),this.interned.set(e,n)),n}internObject(e){let n=this.jsString(e),r=this.interned.get(n);return r||(this.interned.set(n,e),e)}*newThrowable(e,n,r,a=null,s){let i=this.loadBootOrFail(n);i.state!==z&&(yield*this.initGen(e,i));let c=this.newObject(i);return s?yield e.call(i.methodMap.get(`<init>${s.desc}`),c,...s.args):a&&i.methodMap.has("<init>(Ljava/lang/Throwable;)V")&&r===null?yield e.call(i.methodMap.get("<init>(Ljava/lang/Throwable;)V"),c,a):r===null?yield e.call(i.methodMap.get("<init>()V"),c):yield e.call(i.methodMap.get("<init>(Ljava/lang/String;)V"),c,this.str(r)),c}throwNew(e,n,r,a,s=null){let i=this;e.pushNative((function*(){throw new oe(yield*i.newThrowable(e,n,r,null,a))})(),s,"V",!1)}internalError(e,n){console.error("jvm: internal error in",e.name,n),this.dumpStack(e),this.throwNew(e,"java/lang/InternalError",n instanceof Error?n.message:String(n))}dumpStack(e){for(let n=e.frames.length-1;n>=0;n--){let r=e.frames[n];r instanceof Oe?console.error(` at ${r.m} pc=${r.pc} line=${r.m.lineAt(r.pc)}`):console.error(` at <native ${r.m??"vm"}>`)}}bindNative(e){let n=`${e.cls.name}.${e.name}${e.desc}`,r=this.natives.get(n)??this.natives.get(`${e.cls.name}.${e.name}`);if(!r){let a=this.opts.hostNatives?.(sb(e));a?r=ib(e,a):e.name==="registerNatives"||e.name==="initIDs"?r=()=>{}:(this.debug("missing native",n),r=()=>{throw new A("java/lang/UnsatisfiedLinkError",n)})}return e.native=r,r}monitorEnter(e,n){return this.tryMonitorEnter(e,n)?(e.blockedOnMonitor&&(e.blockedOnMonitor=!1,this.setThreadStatus(e,$n)),!0):(e.blockedOnMonitor||(e.blockedOnMonitor=!0,this.setThreadStatus(e,di)),e.state=fi,n.mon.entry.push(()=>this.wake(e)),!1)}setThreadStatus(e,n){if(!e.obj)return;let r=this.getField(e.obj,"java/lang/Thread","holder");r&&this.setField(r,"java/lang/Thread$FieldHolder","threadStatus",n)}tryMonitorEnter(e,n){let r=n.mon??=new bi;return r.owner===null?(r.owner=e,r.count=1,e.held++,!0):r.owner===e?(r.count++,e.held++,!0):!1}monitorExit(e,n){let r=n.mon;if(!r||r.owner!==e)throw new A("java/lang/IllegalMonitorStateException");e.held--,--r.count===0&&this.releaseMonitor(r)}releaseMonitor(e){e.owner=null,e.count=0;let n=e.entry;e.entry=[];for(let r of n)r()}startThread(e){this.threads.add(e),this.threadsStarted++;let n=0;for(let r of this.threads)r.state!==At&&n++;n>this.peakThreads&&(this.peakThreads=n),this.wake(e)}wake(e){e.state!==At&&(e.state=wr,this.queued.has(e)||(this.queued.add(e),this.runQueue.push(e)),this.schedule())}schedule(){this.scheduled||this.exitCode!==null||(this.scheduled=!0,Tx(()=>this.loop()))}loop(){this.scheduled=!1;let e=performance.now()+20;for(;this.runQueue.length>0&&this.exitCode===null;){let n=this.runQueue.shift();if(this.queued.delete(n),n.state===wr&&(Vd(n,2e4),n.state===wr&&!this.queued.has(n)&&(this.queued.add(n),this.runQueue.push(n)),performance.now()>e))break}this.runQueue.length>0&&this.schedule()}nonDaemonAlive(e){for(let n of this.threads)if(n!==e&&!n.daemon&&n.state!==At)return!0;return!1}halt(e){if(this.exitCode===null){this.exitCode=e,this.lib?.close();for(let n of this.timers)clearTimeout(n);this.timers.clear();for(let n of this.threads)n.frames=[],n.state=At;this.exitResolve(e)}}javaThread(e){let n=new qn(this);n.obj=e,e.x=n;let r=this,a=this.getField(e,"java/lang/Thread","holder");return n.daemon=this.getField(a,"java/lang/Thread$FieldHolder","daemon")===1,n.pushNative((function*(){try{yield n.callVirtual(e,"run","()V")}catch(s){if(!(s instanceof oe))throw s;try{yield n.callVirtual(e,"dispatchUncaughtException","(Ljava/lang/Throwable;)V",s.obj)}catch{}}yield*r.exitThread(n)})(),null,"V",!1),n}*exitThread(e){let n=e.obj;try{yield e.callVirtual(n,"exit","()V")}catch{}for(;!this.tryMonitorEnter(e,n);)yield e.block(new Promise(a=>n.mon.entry.push(a)));let r=this.getField(n,"java/lang/Thread","holder");this.setField(r,"java/lang/Thread$FieldHolder","threadStatus",Yu),this.setField(n,"java/lang/Thread","eetop",0n),this.notifyAll(n),this.monitorExit(e,n)}notifyAll(e){let n=e.mon;if(!n)return;let r=n.waiters;n.waiters=[];for(let a of r)a.wake()}run(e,n,r){this.props.has("sun.java.command")||this.props.set("sun.java.command",[n,...r].join(" "));let a=new qn(this);return a.pushNative(this.mainGen(a,e,n,r),null,"V",!1),this.startThread(a),this.exited}startLibrary(){let e=new qn(this),n=new Promise((r,a)=>{e.pushNative(this.libraryGen(e,r,a),null,"V",!1)});return this.startThread(e),n}lib=null;get library(){return this.lib??=new Yo(this)}callStatic(e,n,r){let a=n===null?{op:"class",cls:e}:{op:"static",cls:e,method:n,args:r};return this.library.request(a).then(s=>s.value)}*libraryGen(e,n,r){try{yield*this.bootGen(e)}catch(a){r(a instanceof Error?a:new Error(String(a)));return}n(),yield*this.library.loop(e)}*bootGen(e){let n=a=>this.loadBootOrFail(a),r=a=>this.initGen(e,n(a));try{yield*r("java/lang/String"),yield*r("java/lang/System"),yield*r("java/lang/Class"),yield*r("java/lang/ThreadGroup");let a=n("java/lang/ThreadGroup"),s=this.newObject(a);yield e.call(a.methodMap.get("<init>()V"),s);let i=this.newObject(a);yield e.call(a.methodMap.get("<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V"),i,s,this.str("main")),yield*r("java/lang/Thread");let c=n("java/lang/Thread"),o=this.newObject(c);e.obj=o,o.x=e,this.setField(o,"java/lang/Thread","eetop",1n),yield e.call(c.methodMap.get("<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V"),o,i,this.str("main"));let u=this.getField(o,"java/lang/Thread","holder");this.setField(u,"java/lang/Thread$FieldHolder","threadStatus",$n),yield*r("java/lang/Module"),yield*r("jdk/internal/misc/UnsafeConstants");let l=n("jdk/internal/misc/UnsafeConstants");this.setStatic(l,"ADDRESS_SIZE0",8),this.setStatic(l,"PAGE_SIZE",4096),this.setStatic(l,"BIG_ENDIAN",0),this.setStatic(l,"UNALIGNED_ACCESS",1),this.setStatic(l,"DATA_CACHE_LINE_FLUSH_SIZE",0),yield*r("java/lang/reflect/Method"),yield*r("java/lang/ref/Finalizer"),this.debug("initPhase1"),yield e.call(n("java/lang/System").methodMap.get("initPhase1()V"));for(let f of["java/lang/OutOfMemoryError","java/lang/NullPointerException","java/lang/ClassCastException","java/lang/ArrayStoreException","java/lang/ArithmeticException","java/lang/ArrayIndexOutOfBoundsException","java/lang/StackOverflowError","java/lang/IllegalMonitorStateException","java/lang/IllegalArgumentException","java/lang/InternalError","java/lang/invoke/MethodHandle","java/lang/invoke/ResolvedMethodName","java/lang/invoke/MemberName","java/lang/invoke/MethodHandleNatives"])yield*r(f);this.debug("initPhase2");let d=yield e.call(n("java/lang/System").methodMap.get("initPhase2(ZZ)I"),1,1);if(d!==0)throw new Error(`initPhase2 failed: ${d}`);this.debug("initPhase3"),yield e.call(n("java/lang/System").methodMap.get("initPhase3()V")),this.debug("vm started in",Date.now()-this.startTime,"ms")}catch(a){throw a instanceof oe&&(console.error("jvm: exception during startup:",this.describeThrowable(a.obj)),this.dumpJavaStack(a.obj)),this.halt(1),a}}*mainGen(e,n,r,a){let s=c=>this.loadBootOrFail(c);yield*this.bootGen(e);let i=0;try{let c=s("sun/launcher/LauncherHelper"),o=yield e.call(c.methodMap.get("checkAndLoadMain(ZILjava/lang/String;)Ljava/lang/Class;"),1,n,this.str(r)),u=this.classOf(o),l=this.getStatic(c,"isStaticMain")===1,d=this.getStatic(c,"noArgMain")===1,f=this.newObjectArray("java/lang/String",a.map(p=>this.str(p)));u.state!==z&&(yield*this.initGen(e,u));let m=d?"main()V":"main([Ljava/lang/String;)V";if(l){let p=u.findMethod(m);yield d?e.call(p):e.call(p,f)}else{let p=this.newObject(u);yield e.call(u.methodMap.get("<init>()V"),p);let b=u.selectMethod(m);yield d?e.call(b,p):e.call(b,p,f)}}catch(c){if(!(c instanceof oe))throw c;i=1;try{yield e.callVirtual(e.obj,"dispatchUncaughtException","(Ljava/lang/Throwable;)V",c.obj)}catch{}}for(;this.nonDaemonAlive(e);)yield e.block(new Promise(c=>{let o=()=>this.nonDaemonAlive(e)?setTimeout(o,5):c();o()}));yield*this.exitThread(e),yield e.call(s("java/lang/Shutdown").methodMap.get("shutdown()V")),this.halt(i)}describeThrowable(e){let n=this.getField(e,"java/lang/Throwable","detailMessage");return e.cls.javaName+(n?": "+this.jsString(n):"")}dumpJavaStack(e){let n=this.getField(e,"java/lang/Throwable","backtrace");if(Array.isArray(n))for(let{m:a,pc:s}of n)console.error(` at ${a.cls.javaName}.${a.name}(line ${a.lineAt(s)})`);let r=this.getField(e,"java/lang/Throwable","cause");r&&r!==e&&(console.error(" caused by:",this.describeThrowable(r)),this.dumpJavaStack(r))}};function Fx(t,e){if(t instanceof Za)return new A("java/lang/ClassFormatError",`Incompatible magic value ${t.magic} in class file ${e}`);if(t instanceof an)return new A("java/lang/ClassFormatError",t.message);if(!(t instanceof sa))return t;let{major:n,minor:r}=t,a=`${n}.${r}`,s;return n>jr?s=`${e} has been compiled by a more recent version of the Java Runtime (class file version ${a}), this version of the Java Runtime only recognizes class file versions up to ${jr}.0`:n<45?s=`${e} (class file version ${a}) was compiled with an invalid major version`:r!==65535?s=`${e} (class file version ${a}) was compiled with an invalid non-zero minor version`:n!==jr?s=`${e} (class file version ${a}) was compiled with preview features that are unsupported. This version of the Java Runtime only recognizes preview features for class file version ${jr}.65535`:s=`Preview features are not enabled for ${e} (class file version ${a}). Try running with '--enable-preview'`,new A("java/lang/UnsupportedClassVersionError",s)}function Ox(t,e){let n=t.attrs.get("InnerClasses");if(!n)return null;let r=n[0]<<8|n[1];for(let a=0;a<r;a++){let s=2+a*8,i=n[s]<<8|n[s+1];if(i&&de(t.cp,i)===e)return n[s+6]<<8|n[s+7]}return null}function Cu(t){let e=new DataView(t),n=new Uint8Array(t),r=new TextDecoder,a=new Map;for(let c=0;c<t.byteLength;){let o=e.getUint16(c),u=r.decode(n.subarray(c+2,c+2+o));c+=2+o;let l=e.getUint32(c);a.set(u,n.subarray(c+4,c+4+l)),c+=4+l}let s={files:a,index:null,lazy:new Map,offsets:new Map},i=a.get("/index.txt");return i&&(s.index=new Map([["/",-1]]),Eu(s,r.decode(i)),a.delete("/index.txt")),s}function Eu(t,e){for(let n of e.split(`
|
|
18
|
-
`)){let[r,a,s,...i]=n.split(" ");if(r==="d")t.index.set(a,-1);else if(r==="f"){t.index.set(a,Number(s));let c=i[0]===void 0?null:/^([^:]+):(\d+)$/.exec(i[0]);c&&(t.offsets.set(a,{image:`/${c[1]}.jar`,at:Number(c[2])}),i.shift()),i[0]&&t.lazy.set(a,i[0])}}}var pr=65536;function fb(t){let e=t.getResponseHeader("Content-Encoding");return!!e&&e!=="identity"}function
|
|
16
|
+
`);return c.push(l),o||c.push(a),!s}};var mn=1,hn=4,Or=8,bn=16,Is=32,vg=1,ks=2,xg=9,jg=11,Pi=13,En=22,As=32,Zl=92,Wl=95,wg=97,Fr=98,xs=99,_l=101,Ig=103,Di=104,kg=105,Ag=106,Pn=107,Xl=110,Ht=111,ql=113,Ei=115,Xd=90,Sg={[vg]:"Operation not permitted",[ks]:"No such file or directory",[xg]:"Bad file descriptor",19:"No such device",[jg]:"Resource temporarily unavailable",[Pi]:"Permission denied",[En]:"Invalid argument",[As]:"Broken pipe",[Xd]:"Message too long",[Zl]:"Protocol not available",[Wl]:"Operation not supported",[wg]:"Address family not supported by protocol",[Fr]:"Address already in use",[xs]:"Cannot assign requested address",[_l]:"Network is unreachable",[Ig]:"Software caused connection abort",[Di]:"Connection reset by peer",[kg]:"No buffer space available",[Ag]:"Transport endpoint is already connected",[Pn]:"Transport endpoint is not connected",[Xl]:"Connection timed out",[Ht]:"Connection refused",[ql]:"No route to host",[Ei]:"Operation now in progress"};function pa(t){return Sg[t]??`Unknown error ${t}`}var Hl=1<<20,Jg=65507,Yl=212992,zt=class{fd=-1;kind;blocking=!0;local=null;remote=null;listening=!1;connecting=!1;connected=!1;closed=!1;preclosed=!1;eof=!1;shutRd=!1;shutWr=!1;error=0;rx=[];rxBytes=0;dgrams=[];backlog=[];maxBacklog=0;wblocked=!1;counter=0;options=new Map;unix=!1;localPath="";remotePath="";pipe=!1;peer=null;groups=new Set;impl=null;waiters=new Set;watchers=new Set;constructor(e){this.kind=e}get stream(){return this.kind==="stream"}option(e,n,r){return this.options.get(e<<16|n)??r}setOption(e,n,r){this.options.set(e<<16|n,r)}poll(){if(this.closed)return Is;if(this.kind==="epoll")return this.impl.ready()?mn:0;if(this.kind==="event")return hn|(this.counter>0?mn:0);let e=this.error?Or:0;return this.kind==="dgram"?e|hn|(this.dgrams.length>0?mn:0):this.listening?e|(this.backlog.length>0?mn:0):this.connecting?e:this.connected?((this.rxBytes>0||this.eof||this.shutRd&&!this.pipe)&&(e|=mn),!this.shutWr&&!this.wblocked&&(e|=hn),this.pipe&&this.shutRd&&!this.peer&&(e|=Or),(this.eof||this.shutRd)&&this.shutWr&&(e|=bn),e):e|hn|bn}notify(){if(this.waiters.size>0){let e=[...this.waiters];this.waiters.clear();for(let n of e)n()}for(let e of this.watchers)e()}push(e){e.length!==0&&(this.rx.push(e),this.rxBytes+=e.length,this.notify())}take(e,n,r){let a=0;for(;a<r&&this.rx.length>0;){let s=this.rx[0],i=Math.min(r-a,s.length);e.set(s.subarray(0,i),n+a),a+=i,i===s.length?this.rx.shift():this.rx[0]=s.subarray(i)}return this.rxBytes-=a,a>0&&this.drained(),a}drained(){let e=this.peer;e&&e.wblocked&&this.rxBytes<Hl&&(e.wblocked=!1,e.notify());let n=this.impl?.resume;n&&this.rxBytes<Hl&&n()}endOfFile(){this.eof=!0,this.notify()}fail(e){this.error=e,this.notify()}},zl=class{socks=new Map};function lt(t){let e=t.get("socks");return e||t.set("socks",e=new zl),e.socks}function qd(t,e,n){let r=lt(t),a=r.get(n);return a?(r.delete(n),a.closed=!0,a.kind==="epoll"?a.impl.dispose():a.pipe?ys(a):a.kind!=="event"&&e.close(a),a.notify(),!0):!1}function Ss(t,e){let n=t.peer;return!n||n.closed||t.shutWr?As:(n.shutRd||(n.push(e),n.rxBytes>=Hl&&(t.wblocked=!0)),0)}function ys(t,e=!1){let n=t.peer;n&&(n.peer=null,e&&(n.error=Di),(!t.shutWr||e)&&n.endOfFile(),n.wblocked=!1,n.notify())}function Kl(){let t=new zt("stream"),e=new zt("stream");return t.pipe=e.pipe=!0,t.connected=e.connected=!0,t.shutWr=!0,e.shutRd=!0,t.peer=e,e.peer=t,[t,e]}function Yd(t,e){let n=lt(t).get(e);n&&(n.preclosed=!0,n.notify())}var Zd=t=>(t[0]&240)===224,vs=t=>`${t[0]}.${t[1]}.${t[2]}.${t[3]}`,ba=t=>t[0]===127,Mt=t=>t[0]===0&&t[1]===0&&t[2]===0&&t[3]===0,js=(t,e)=>t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3],Mg=new Uint8Array(4),Wd=4096,Vl=(t,e)=>Mt(t)||Mt(e)||js(t,e);function Ri(t){let e=t?/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(t):null;return e&&e.slice(1).every(n=>+n<256)?Uint8Array.of(+e[1],+e[2],+e[3],+e[4]):null}var Gl={name:"lo",index:1,up:!0,loopback:!0,p2p:!1,multicast:!1,mtu:65536,mac:null,addrs:[{addr:Uint8Array.of(127,0,0,1),prefix:8,broadcast:null}]},ws=class{bound=[];wild=new WeakSet;waiting=new Map;nextPort=49152;extra;fetch;constructor(e=null,n=null){this.extra=e&&!ba(e)&&!Mt(e)?e:null,this.fetch=n}hostName(){return"localhost"}interfaces(){if(!this.extra)return[Gl];let e={...Gl,name:"eth0",index:2,loopback:!1,multicast:!0,mtu:1500,addrs:[{addr:this.extra,prefix:24,broadcast:null}]};return[Gl,e]}local(e){return ba(e)||Mt(e)||this.extra!==null&&js(e,this.extra)}async lookup(e){return e==="localhost"||e==="localhost.localdomain"?[Uint8Array.of(127,0,0,1)]:null}async lookupAddr(e){return ba(e)?"localhost":null}free(e,n){for(let r of this.bound){let a=this.wild.has(r)?Mg:r.local.addr;if(r===n||r.local.port!==e.port||r.kind!==n.kind||!Vl(a,e.addr)||n.option(1,15,0)&&r.option(1,15,0))continue;let s=n.option(1,2,0)&&r.option(1,2,0);if(n.stream?!s||r.listening:!s)return!1}return!0}ephemeral(){for(let e=0;e<28e3;e++){let n=this.nextPort;if(this.nextPort=this.nextPort>=60999?32768:this.nextPort+1,!this.bound.some(r=>r.local.port===n))return n}return 0}bind(e,n){if(!this.local(n.addr))return xs;let r=n.port||this.ephemeral();if(r===0)return Fr;let a={addr:n.addr.slice(),port:r};return this.free(a,e)?(e.local=a,Mt(a.addr)&&this.wild.add(e),this.bound.push(e),0):Fr}listen(e,n){return e.listening=!0,e.maxBacklog=n<0?Wd:Math.min(n,Wd),0}autobind(e,n,r=!1){if(e.local){r&&Mt(e.local.addr)&&(e.local={addr:n.slice(),port:e.local.port});return}let a=this.ephemeral();e.local={addr:Mt(n)?Uint8Array.of(127,0,0,1):n.slice(),port:a},this.bound.push(e)}connect(e,n){if(!this.local(n.addr))return _l;let r=Mt(n.addr)?Uint8Array.of(127,0,0,1):n.addr;if(!e.stream)return this.autobind(e,r,!0),e.remote={addr:r.slice(),port:n.port},e.connected=!0,0;let a=this.bound.find(i=>i.listening&&i.local.port===n.port&&Vl(i.local.addr,r)),s=!a&&this.fetch!==null&&n.port===Ci&&vs(r)===Bi;if(!a&&!s)return e.blocking?Ht:(e.connecting=!0,queueMicrotask(()=>{e.connecting=!1,e.fail(Ht)}),Ei);if(this.autobind(e,r,!0),!a)return zd(this.pair(e,r,n.port),this.fetch),this.established(e);if(a.backlog.length>a.maxBacklog){e.connecting=!0;let i=this.waiting.get(a);return i?i.push({s:e,to:r}):this.waiting.set(a,[{s:e,to:r}]),Ei}return this.enqueue(a,e,r),this.established(e)}pair(e,n,r){let a=new zt("stream");return a.local={addr:n.slice(),port:r},a.remote={addr:e.local.addr.slice(),port:e.local.port},a.connected=!0,a.peer=e,e.peer=a,e.remote={addr:n.slice(),port:r},a}enqueue(e,n,r){e.backlog.push(this.pair(n,r,e.local.port)),e.notify()}accepted(e){let n=this.waiting.get(e);for(;n&&n.length>0&&e.backlog.length<=e.maxBacklog;){let{s:r,to:a}=n.shift();r.closed||r.preclosed||(this.enqueue(e,r,a),r.connecting=!1,r.connected=!0,r.notify())}}established(e){return e.blocking?(e.connected=!0,0):(e.connecting=!0,queueMicrotask(()=>{e.connecting=!1,e.connected=!0,e.notify()}),Ei)}disconnect(e){return e.remote=null,e.connected=!1,0}write(e,n){return Ss(e,n)}send(e,n,r){let a=r??e.remote;if(!a)return Pn;if(n.length>Jg)return Xd;if(Zd(a.addr))return this.multicast(e,n,a);if(!this.local(a.addr))return _l;let s=Mt(a.addr)?Uint8Array.of(127,0,0,1):a.addr;this.autobind(e,s);let i={addr:Mt(e.local.addr)?s.slice():e.local.addr.slice(),port:e.local.port},c=!1;for(let o of this.bound)o.kind!=="dgram"||o.closed||o.local.port!==a.port||!Vl(o.local.addr,s)||o.remote&&!(o.remote.port===i.port&&js(o.remote.addr,i.addr))||(c=!0,this.deliver(o,i,n));return!c&&e.connected&&e.fail(Ht),0}deliver(e,n,r){e.rxBytes+r.length>e.option(1,8,Yl)||(e.rxBytes+=r.length,e.dgrams.push({from:n,data:r.slice()}),e.notify())}multicast(e,n,r){this.autobind(e,Uint8Array.of(127,0,0,1));let a={addr:Uint8Array.of(127,0,0,1),port:e.local.port},s=vs(r.addr);for(let i of this.bound)i.kind!=="dgram"||i.closed||i.local.port!==r.port||!i.groups.has(s)||i===e&&e.option(0,34,1)===0||this.deliver(i,a,n);return 0}membership(e,n,r){if(!Zd(r))return En;let a=vs(r);return(n?e.groups.has(a):!e.groups.has(a))?n?Fr:xs:(n?e.groups.add(a):e.groups.delete(a),0)}shutdown(e,n){if(n!==1&&(e.shutRd=!0),n!==0){e.shutWr=!0;let r=e.peer;r&&r.endOfFile()}e.notify()}setOption(){}close(e){let n=this.bound.indexOf(e);n>=0&&this.bound.splice(n,1);for(let r of e.backlog)ys(r,!0);e.backlog=[];for(let r of this.waiting.get(e)??[])r.s.connecting=!1,r.s.fail(Ht);this.waiting.delete(e);for(let r of this.waiting.values()){let a=r.findIndex(s=>s.s===e);a>=0&&r.splice(a,1)}for(let[r,a]of this.unixBound)a===e&&this.unixBound.delete(r);ys(e,e.stream&&!e.pipe&&(e.option(1,13,-1)===0||e.rxBytes>0))}hostUnix=!1;unixBound=new Map;bindUnix(e,n){return this.unixBound.set(n,e),e.localPath=n,0}connectUnix(e,n){let r=this.unixBound.get(n);if(!r||!r.listening)return Ht;let a=new zt("stream");return a.unix=!0,a.localPath=r.localPath,a.connected=!0,a.peer=e,e.peer=a,e.remotePath=r.localPath,r.backlog.push(a),r.notify(),this.established(e)}};var va=class{path;pos=0;writable;contents;constructor(e,n,r,a){this.path=e,this.contents=a??{data:n,size:n.length,dirty:!1},this.writable=r}get data(){return this.contents.data}set data(e){this.contents.data=e}get size(){return this.contents.size}set size(e){this.contents.size=e}get dirty(){return this.contents.dirty}set dirty(e){this.contents.dirty=e}read(e,n,r){if(this.pos>=this.size)return-1;let a=Math.min(r,this.size-this.pos);return e.set(this.data.subarray(this.pos,this.pos+a),n),this.pos+=a,a}write(e){this.pos>this.size&&this.data.fill(0,this.size,Math.min(this.pos,this.data.length));let n=this.pos+e.length;if(n>this.data.length){let r=new Uint8Array(Math.max(n,this.data.length*2,64));r.set(this.data.subarray(0,this.size)),this.data=r}this.data.set(e,this.pos),this.pos=n,n>this.size&&(this.size=n),this.dirty=!0}setLength(e){if(e>this.data.length){let n=new Uint8Array(e);n.set(this.data.subarray(0,this.size)),this.data=n}else e>this.size&&this.data.fill(0,this.size,e);this.size=e,this.pos>e&&(this.pos=e),this.dirty=!0}},ec=class extends va{constructor(e){super(e,new Uint8Array(0),!0)}read(e,n,r){if(this.path==="/dev/null")return-1;let a=e.subarray(n,n+r);if(this.path==="/dev/zero")a.fill(0);else for(let s=0;s<a.length;s+=65536)crypto.getRandomValues(a.subarray(s,s+65536));return a.length}write(e){}setLength(e){}},tc=class extends va{vfs;constructor(e,n,r){super(e,new Uint8Array(0),!1),this.size=n,this.vfs=r}read(e,n,r){if(this.pos>=this.size)return-1;let a=Math.min(r,this.size-this.pos),s=this.vfs.readRange(this.path,this.pos,a);if(!s||s.length<a)throw new A("java/io/IOException",`cannot read ${this.path}`);return e.set(s.subarray(0,a),n),this.pos+=a,a}},$g=262144;function pn(t){let e=t.vm.state.get("fds");return e||t.vm.state.set("fds",e={next:3,files:new Map}),e}function nc(t){let e=t.replace(/\/+$/,"").split("/").pop();return e==="."||e===".."}function Ne(t,e){return Pe(e.startsWith("/")?e:`${t.vm.opts.cwd??"/"}/${e}`)}function ga(t,e="No such file or directory"){throw new A("java/io/FileNotFoundException",`${t} (${e})`)}function Lr(t,e,n,r,a){let s=t.vm.fs,i=Ne(t,e);Js(t,i);let c=s.stat(i);c?.dir&&ga(e,"Is a directory");let o=c?[...pn(t).files.values()].find(m=>m.path===i&&m.constructor===va)?.contents:void 0;if(c?.device||c&&!o&&!n&&c.size>=$g&&s.canReadRange(i)){let m=pn(t);return m.files.set(m.next,c.device?new ec(i):new tc(i,c.size,s)),m.next++}n&&s.denied(i)&&ga(e,"Permission denied");let u;c?(n&&!s.writable(i)&&ga(e,"Read-only file system"),o?u=o.data:r?u=new Uint8Array(0):u=s.read(i)??ga(e,"Operation not supported")):(n||ga(e),s.write(i,new Uint8Array(0))||ga(e,s.writable(i)?"No such file or directory":"Read-only file system"),u=new Uint8Array(0));let l=new va(i,u,n,o);r&&c&&l.setLength(0),a&&(l.pos=l.size);let d=pn(t),f=d.next++;return d.files.set(f,l),f}function Js(t,e){for(let n of pn(t).files.values())n.path===e&&Nr(t,n)}function Ui(t,e,n){return Js(t,e),t.vm.fs.setMtime(e,n)}function Re(t,e){let n=pn(t).files.get(e);if(!n)throw new A("java/io/IOException","Stream Closed");return n}function Nr(t,e){if(e.dirty&&e.writable&&e.path){let n=e.data.slice(0,e.size),r=t.vm.fs.write(e.path,n),a=0;!r&&t.vm.fs.chmod(e.path,s=>(a=s)|128)&&(r=t.vm.fs.write(e.path,n),t.vm.fs.chmod(e.path,()=>a)),r&&(e.dirty=!1)}}function tm(t){return pn(t).next++}function sr(t,e){if(qd(t.vm.state,t.vm.net,e))return;let n=pn(t),r=n.files.get(e);r&&(Nr(t,r),n.files.delete(e),r.writable&&r.path&&t.vm.opts.fileClosed?.(r.path))}function rc(t,e,n){let r=[...pn(t).files.values()],a=(i,c)=>i.path===c||i.path.startsWith(c+"/"),s=r.filter(i=>a(i,e));for(let i of s)Nr(t,i);if(!t.vm.fs.rename(e,n))return!1;for(let i of r)!s.includes(i)&&a(i,n)&&(i.path="");for(let i of s)i.path=n+i.path.slice(e.length);return!0}function Vi(t,e){if(!t.vm.fs.remove(e))return!1;for(let n of pn(t).files.values())n.path===e&&(n.path="");return!0}function Ze(t,e,n){let r=t.vm.getField(e,n,"fd");return t.vm.getField(r,"java/io/FileDescriptor","fd")}function Ql(t,e,n,r){let a=t.vm.getField(e,n,"fd");t.vm.setField(a,"java/io/FileDescriptor","fd",r)}function Kd(t,e,n){if(e===1)t.vm.opts.stdout(n.slice());else if(e===2)t.vm.opts.stderr(n.slice());else{let r=Re(t,e);if(!r.writable)throw new A("java/io/IOException","Bad file descriptor");r.write(n)}}function*Qd(t,e,n,r){let a=t.vm.state.get("stdin");for(a||t.vm.state.set("stdin",a={buf:new Uint8Array(0),eof:!t.vm.opts.stdin});a.buf.length===0&&!a.eof;){let i=yield t.block(t.vm.opts.stdin());i===null?a.eof=!0:a.buf=i}if(a.buf.length===0)return-1;let s=Math.min(r,a.buf.length);return e.set(a.buf.subarray(0,s),n),a.buf=a.buf.subarray(s),s}function nm(t,e){let n=t.vm.fs.stat(Ne(t,$t(t,e)));return n?1|(n.dir?4:n.device?0:2):0}function em(t,e,n){return t.vm.fs.chmod(Ne(t,$t(t,e)),n)??nm(t,e)!==0}function $t(t,e){return t.vm.jsString(t.vm.getField(e,"java/io/File","path"))}var ya="java/io/FileOutputStream",et="java/io/FileInputStream",Le="java/io/RandomAccessFile",tt="java/io/UnixFileSystem",rm={"java/io/ObjectStreamClass.initNative()V":()=>{},"java/io/ObjectStreamClass.hasStaticInitializer(Ljava/lang/Class;)Z":(t,[e])=>t.vm.classOf(e).methodMap.has("<clinit>()V")?1:0,"java/io/FileDescriptor.getHandle(I)J":()=>-1n,"java/io/FileDescriptor.getAppend(I)Z":()=>0,"java/io/FileDescriptor.sync0()V":(t,[e])=>{let n=t.vm.getField(e,"java/io/FileDescriptor","fd"),r=pn(t).files.get(n);r&&Nr(t,r)},"java/io/FileDescriptor.close0()V":(t,[e])=>{let n=t.vm.getField(e,"java/io/FileDescriptor","fd");n>2&&sr(t,n),t.vm.setField(e,"java/io/FileDescriptor","fd",-1)},[`${ya}.open0(Ljava/lang/String;Z)V`]:(t,[e,n,r])=>Ql(t,e,ya,Lr(t,t.vm.jsString(n),!0,!r,r===1)),[`${ya}.writeBytes([BIIZ)V`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");Kd(t,Ze(t,e,ya),me(s,r,a))},[`${ya}.write(IZ)V`]:(t,[e,n])=>Kd(t,Ze(t,e,ya),Uint8Array.of(n&255)),[`${et}.open0(Ljava/lang/String;)V`]:(t,[e,n])=>Ql(t,e,et,Lr(t,t.vm.jsString(n),!1,!1,!1)),[`${et}.readBytes([BII)I`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");if(a===0)return 0;let i=Ze(t,e,et);return i===0?Qd(t,me(s),r,a):Re(t,i).read(me(s),r,a)},[`${et}.read0()I`]:function*(t,[e]){let n=Ze(t,e,et),r=new Uint8Array(1);return(n===0?yield*Qd(t,r,0,1):Re(t,n).read(r,0,1))<=0?-1:r[0]},[`${et}.length0()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,et)).size),[`${et}.position0()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,et)).pos),[`${et}.skip0(J)J`]:(t,[e,n])=>{let r=Re(t,Ze(t,e,et));if(r.pos+Number(n)<0)throw new A("java/io/IOException","Invalid argument");return r.pos+=Number(n),n},[`${et}.available0()I`]:(t,[e])=>{let n=Ze(t,e,et);if(n===0)return t.vm.state.get("stdin")?.buf.length??0;let r=Re(t,n);return Math.min(Math.max(0,r.size-r.pos),2147483647)},[`${et}.isRegularFile0(Ljava/io/FileDescriptor;)Z`]:(t,[,e])=>t.vm.getField(e,"java/io/FileDescriptor","fd")>2,[`${Le}.open0(Ljava/lang/String;I)V`]:(t,[e,n,r])=>Ql(t,e,Le,Lr(t,t.vm.jsString(n),(r&2)!==0,!1,!1)),[`${Le}.read0()I`]:(t,[e])=>{let n=new Uint8Array(1);return Re(t,Ze(t,e,Le)).read(n,0,1)<=0?-1:n[0]},[`${Le}.readBytes0([BII)I`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");return a===0?0:Re(t,Ze(t,e,Le)).read(me(s),r,a)},[`${Le}.write0(I)V`]:(t,[e,n])=>Re(t,Ze(t,e,Le)).write(Uint8Array.of(n&255)),[`${Le}.writeBytes0([BII)V`]:(t,[e,n,r,a])=>{let s=vt(n);if(r<0||a<0||r+a>s.a.length)throw new A("java/lang/IndexOutOfBoundsException");Re(t,Ze(t,e,Le)).write(me(s,r,a))},[`${Le}.getFilePointer()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,Le)).pos),[`${Le}.seek0(J)V`]:(t,[e,n])=>{Re(t,Ze(t,e,Le)).pos=Number(n)},[`${Le}.length0()J`]:(t,[e])=>BigInt(Re(t,Ze(t,e,Le)).size),[`${Le}.setLength0(J)V`]:(t,[e,n])=>{let r=Re(t,Ze(t,e,Le));if(!r.writable)throw new A("java/io/IOException","Invalid argument");r.setLength(Number(n))},[`${tt}.canonicalize0(Ljava/lang/String;)Ljava/lang/String;`]:(t,[,e])=>t.vm.str(Ne(t,t.vm.jsString(e))),[`${tt}.getBooleanAttributes0(Ljava/io/File;)I`]:(t,[,e])=>nm(t,e),[`${tt}.checkAccess0(Ljava/io/File;I)Z`]:(t,[,e,n])=>{let r=Ne(t,$t(t,e));return!!t.vm.fs.stat(r)&&t.vm.fs.access(r,n)},[`${tt}.getLastModifiedTime0(Ljava/io/File;)J`]:(t,[,e])=>BigInt(Math.floor(t.vm.fs.stat(Ne(t,$t(t,e)))?.mtime??0)),[`${tt}.getLength0(Ljava/io/File;)J`]:(t,[,e])=>{let n=Ne(t,$t(t,e));return Js(t,n),BigInt(t.vm.fs.stat(n)?.size??0)},[`${tt}.setPermission0(Ljava/io/File;IZZ)Z`]:(t,[,e,n,r,a])=>{let s=a?n<<6:n*73;return em(t,e,i=>r?i|s:i&~s)},[`${tt}.createFileExclusively0(Ljava/lang/String;)Z`]:(t,[,e])=>{let n=Ne(t,t.vm.jsString(e));if(t.vm.fs.stat(n))return 0;if(t.vm.fs.denied(n))throw new A("java/io/IOException","Permission denied");if(!t.vm.fs.write(n,new Uint8Array(0)))throw new A("java/io/IOException","No such file or directory");return 1},[`${tt}.delete0(Ljava/io/File;)Z`]:(t,[,e])=>!nc($t(t,e))&&Vi(t,Ne(t,$t(t,e))),[`${tt}.list0(Ljava/io/File;)[Ljava/lang/String;`]:(t,[,e])=>{let n=t.vm.fs.list(Ne(t,$t(t,e)));return n?t.vm.newObjectArray("java/lang/String",n.map(r=>t.vm.str(r))):null},[`${tt}.createDirectory0(Ljava/io/File;)Z`]:(t,[,e])=>t.vm.fs.mkdir(Ne(t,$t(t,e))),[`${tt}.rename0(Ljava/io/File;Ljava/io/File;)Z`]:(t,[,e,n])=>rc(t,Ne(t,$t(t,e)),Ne(t,$t(t,n))),[`${tt}.setLastModifiedTime0(Ljava/io/File;J)Z`]:(t,[,e,n])=>Ui(t,Ne(t,$t(t,e)),Number(n)),[`${tt}.setReadOnly0(Ljava/io/File;)Z`]:(t,[,e])=>em(t,e,n=>n&-147),[`${tt}.getSpace0(Ljava/io/File;I)J`]:()=>0n,[`${tt}.getNameMax0(Ljava/lang/String;)J`]:()=>255n};var xa="java/lang/ClassLoader",Tg=2,Fg=1;function Gi(t,e){return e===null?null:ln(t,e).replace(/\./g,"/")}function*am(t,e,n,r,a){let s=yield*t.vm.defineClassGen(t,e,r,Gi(t,n),a);return t.vm.mirror(s)}function Og(t,e,n,r,a){let s=t.vm,i=ln(t,s.getField(e,"java/lang/Module","name"));e.x={version:ln(t,n),location:ln(t,r)};let c=s.getField(e,"java/lang/Module","loader"),o=a.a.map(u=>s.jsString(u).replace(/\./g,"/"));if(c===null){i&&s.bootModules.set(i,e);let u=new Set(o);for(let l of[...s.boot.values(),...s.prims.values()]){let d=l;for(;d.component;)d=d.component;l.mirror&&(d.prim?i==="java.base":u.has(d.packageName))&&s.setField(l.mirror,"java/lang/Class","module",e)}}else{let u=s.loaderData(c).modules;for(let l of o)u.set(l,e)}}var sm={"java/lang/Module.defineModule0(Ljava/lang/Module;ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V":(t,[e,,n,r,a])=>Og(t,e,n,r,a),"java/lang/Module.addReads0(Ljava/lang/Module;Ljava/lang/Module;)V":()=>{},"java/lang/Module.addExports0(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V":()=>{},"java/lang/Module.addExportsToAll0(Ljava/lang/Module;Ljava/lang/String;)V":()=>{},"java/lang/Module.addExportsToAllUnnamed0(Ljava/lang/Module;Ljava/lang/String;)V":()=>{},[`${xa}.defineClass1(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e,n,r,a,s,i])=>am(t,e,n,me(r,a,s).slice(),i),[`${xa}.defineClass2(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e,n,r,a,s,i])=>{let c=t.vm,o=c.getField(r,"java/nio/ByteBuffer","hb"),u;if(o){let l=c.getField(r,"java/nio/ByteBuffer","offset");u=me(o,l+a,s).slice()}else{let l=Number(c.getField(r,"java/nio/Buffer","address"));u=c.mem.u8.slice(l+a,l+a+s)}return am(t,e,n,u,i)},[`${xa}.defineClass0(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/String;[BIILjava/security/ProtectionDomain;ZILjava/lang/Object;)Ljava/lang/Class;`]:function*(t,[e,n,r,a,s,i,c,o,u,l]){let d=t.vm,f=(u&Tg)!==0,m=yield*d.defineClassGen(t,e,me(a,s,i).slice(),Gi(t,r),c,f);u&Fg&&(m.nestHost=yield*rr(t,d.classOf(n)));let p=d.mirror(m);return d.setField(p,"java/lang/Class","classData",l),o&&m.state!==z&&(yield*d.initGen(t,m)),p},[`${xa}.findBootstrapClass(Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e])=>{let n=Gi(t,e);if(n.startsWith("["))return null;let r=t.vm.loadBoot(n);return r?t.vm.mirror(r):null},[`${xa}.findLoadedClass0(Ljava/lang/String;)Ljava/lang/Class;`]:(t,[e,n])=>{let r=t.vm.findLoaded(e,Gi(t,n));return r?t.vm.mirror(r):null},[`${xa}.retrieveDirectives()Ljava/lang/AssertionStatusDirectives;`]:function*(t){let e=t.vm,n=e.loadBoot("java/lang/AssertionStatusDirectives");n.state!==z&&(yield*e.initGen(t,n));let r=e.newObject(n),a="java/lang/AssertionStatusDirectives",s=e.opts.assertions,i=o=>e.newObjectArray("java/lang/String",o.map(([u])=>e.str(u))),c=o=>{let u=e.newArray(e.primClass("Z"),o.length);return o.forEach(([,l],d)=>u.a[d]=l?1:0),u};return e.setField(r,a,"classes",i(s?.classes??[])),e.setField(r,a,"classEnabled",c(s?.classes??[])),e.setField(r,a,"packages",i(s?.packages??[])),e.setField(r,a,"packageEnabled",c(s?.packages??[])),e.setField(r,a,"deflt",s?.user?1:0),r}};function*sc(t,e,n,...r){let a=t.vm;e.state!==z&&(yield*a.initGen(t,e));let s=a.newObject(e);return yield t.call(e.methodMap.get(`<init>${n}`),s,...r),s}function*Cr(t,e,n){let r=t.vm,a=r.newArray(r.primClass("B"),4);return a.a.set(n),yield*sc(t,r.loadBoot("java/net/Inet4Address"),"(Ljava/lang/String;[B)V",e===null?null:r.str(e),a)}function*um(t,e){let n=yield*Cr(t,null,e.addr);return yield*sc(t,t.vm.loadBoot("java/net/InetSocketAddress"),"(Ljava/net/InetAddress;I)V",n,e.port)}function Ms(t,e){if(e.cls.name==="java/net/Inet6Address")throw new A("java/net/SocketException","Protocol family unavailable");let n=t.vm.getField(e,"java/net/InetAddress","holder"),r=t.vm.getField(n,"java/net/InetAddress$InetAddressHolder","address");return Uint8Array.of(r>>>24,r>>>16&255,r>>>8&255,r&255)}function im(t){return t.vm.opts.hostName??t.vm.net.hostName()}function*om(t,e){let n=e===t.vm.opts.hostName?[Ri(e)??Uint8Array.of(127,0,0,1)]:yield t.block(t.vm.net.lookup(e));if(!n)throw new A("java/net/UnknownHostException",`${e}: Name or service not known`);let r=[];for(let a of n)r.push(yield*Cr(t,e,a));return t.vm.newObjectArray("java/net/InetAddress",r)}function*lm(t,e){let n=e.a,r=Uint8Array.from(n),a=ba(r)?"localhost":yield t.block(t.vm.net.lookupAddr(r));if(!a)throw new A("java/net/UnknownHostException");return t.vm.str(a)}function Br(t){return t.vm.net.interfaces()}function ac(t,e){return t.addrs.some(n=>js(n.addr,e))}function*_i(t,e){let n=t.vm,r=n.loadBoot("java/net/NetworkInterface"),a=[],s=[],i=n.loadBoot("java/net/InterfaceAddress");i.state!==z&&(yield*n.initGen(t,i));for(let o of e.addrs){let u=yield*Cr(t,null,o.addr);a.push(u);let l=n.newObject(i);n.setField(l,"java/net/InterfaceAddress","address",u),o.broadcast&&n.setField(l,"java/net/InterfaceAddress","broadcast",yield*Cr(t,null,o.broadcast)),n.setField(l,"java/net/InterfaceAddress","maskLength",o.prefix),s.push(l)}let c=yield*sc(t,r,"(Ljava/lang/String;I[Ljava/net/InetAddress;)V",n.str(e.name),e.index,n.newObjectArray("java/net/InetAddress",a));return n.setField(c,"java/net/NetworkInterface","displayName",n.str(e.name)),n.setField(c,"java/net/NetworkInterface","bindings",n.newObjectArray("java/net/InterfaceAddress",s)),n.setField(c,"java/net/NetworkInterface","childs",n.newObjectArray("java/net/NetworkInterface",[])),c}function ja(t,e){if(!e)throw new A("java/lang/NullPointerException","network interface name is NULL");let n=t.vm.jsString(e),r=Br(t).find(a=>a.name===n);if(!r)throw new A("java/net/SocketException","No such device");return r}var fm={"java/net/InetAddress.init()V":()=>{},"java/net/Inet4Address.init()V":()=>{},"java/net/Inet6Address.init()V":()=>{},"java/net/NetworkInterface.init()V":()=>{},"java/net/InetAddress.isIPv4Available()Z":()=>1,"java/net/InetAddress.isIPv6Supported()Z":()=>0,"java/net/NetworkInterface.getAll()[Ljava/net/NetworkInterface;":function*(t){let e=[];for(let n of Br(t))e.push(yield*_i(t,n));return t.vm.newObjectArray("java/net/NetworkInterface",e)},"java/net/NetworkInterface.getByName0(Ljava/lang/String;)Ljava/net/NetworkInterface;":function*(t,[e]){if(!e)throw new A("java/lang/NullPointerException","network interface name is NULL");let n=t.vm.jsString(e),r=Br(t).find(a=>a.name===n);return r?yield*_i(t,r):null},"java/net/NetworkInterface.getByIndex0(I)Ljava/net/NetworkInterface;":function*(t,[e]){let n=e>0?Br(t).find(r=>r.index===e):void 0;return n?yield*_i(t,n):null},"java/net/NetworkInterface.getByInetAddress0(Ljava/net/InetAddress;)Ljava/net/NetworkInterface;":function*(t,[e]){let n=Ms(t,e),r=Br(t).find(a=>ac(a,n));return r?yield*_i(t,r):null},"java/net/NetworkInterface.boundInetAddress0(Ljava/net/InetAddress;)Z":(t,[e])=>{let n=Ms(t,e);return Br(t).some(r=>ac(r,n))?1:0},"java/net/NetworkInterface.isUp0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).up?1:0,"java/net/NetworkInterface.isLoopback0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).loopback?1:0,"java/net/NetworkInterface.supportsMulticast0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).multicast?1:0,"java/net/NetworkInterface.isP2P0(Ljava/lang/String;I)Z":(t,[e])=>ja(t,e).p2p?1:0,"java/net/NetworkInterface.getMTU0(Ljava/lang/String;I)I":(t,[e])=>ja(t,e).mtu,"java/net/NetworkInterface.getMacAddr0([BLjava/lang/String;I)[B":(t,[,e])=>{let n=ja(t,e).mac;if(!n)return null;let r=t.vm.newArray(t.vm.primClass("B"),n.length);return r.a.set(n),r},"java/net/Inet4AddressImpl.getLocalHostName()Ljava/lang/String;":t=>t.vm.str(im(t)),"java/net/Inet4AddressImpl.lookupAllHostAddr(Ljava/lang/String;)[Ljava/net/InetAddress;":(t,[,e])=>om(t,t.vm.jsString(e)),"java/net/Inet4AddressImpl.getHostByAddr([B)Ljava/lang/String;":(t,[,e])=>lm(t,e),"java/net/Inet4AddressImpl.isReachable0([BI[BI)Z":(t,[,e])=>cm(t,e),"java/net/Inet6AddressImpl.getLocalHostName()Ljava/lang/String;":t=>t.vm.str(im(t)),"java/net/Inet6AddressImpl.lookupAllHostAddr(Ljava/lang/String;I)[Ljava/net/InetAddress;":(t,[,e])=>om(t,t.vm.jsString(e)),"java/net/Inet6AddressImpl.getHostByAddr([B)Ljava/lang/String;":(t,[,e])=>lm(t,e),"java/net/Inet6AddressImpl.isReachable0([BII[BII)Z":(t,[,e])=>cm(t,e),"java/util/TimeZone.getSystemTimeZoneID(Ljava/lang/String;)Ljava/lang/String;":t=>{let e="UTC";try{e=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{}return t.vm.str(e)},"java/util/TimeZone.getSystemGMTOffsetID()Ljava/lang/String;":t=>{let e=-new Date().getTimezoneOffset(),n=Math.abs(e),r=a=>String(a).padStart(2,"0");return t.vm.str(`GMT${e<0?"-":"+"}${r(Math.floor(n/60))}:${r(n%60)}`)}};function cm(t,e){let n=Uint8Array.from(e.a);return ba(n)||!Mt(n)&&Br(t).some(r=>ac(r,n))?1:0}var Lg=0,Je=1,Zt=2,ir=3,Rn=4,jt=5,Fs=6,dm=7,bm=8,pm=9,gm=10,ym=11,Ue=12,zi=131071,Ng=1e6,ic=5,Bg=-2,Cg=-1,Ts=class extends Error{},$s=(t,e)=>t<<4|e,Pr=t=>t>>4,oc=t=>t&15,Dn=t=>t===Zt||t===Rn?2:t===Ue?0:1;function Eg(t,e){let n=oc(t),r=oc(e);return n!==r?(n===jt||n===Fs)&&(r===jt||r===Fs)?Pr(t)===Pr(e)?$s(Pr(t),jt):$s(zi,jt):$s(zi,Lg):Pr(t)===Pr(e)?t:$s(zi,n)}function Er(t){switch(t){case"Z":return bm;case"B":return pm;case"C":return gm;case"S":return ym;case"I":return Je;case"J":return Zt;case"F":return ir;case"D":return Rn;case"L":return jt;case"[":return Fs;default:return Ue}}function lc(t){let e=[];for(let n=1;t[n]!==")";){let r=n;for(;t[n]==="[";)n++;n=t[n]==="L"?t.indexOf(";",n)+1:n+1,e.push(t.slice(r,n))}return e}var mm=t=>lc(t).reduce((e,n)=>e+Dn(Er(n[0])),0),Pg={Z:"boolean",B:"byte",C:"char",S:"short",I:"int",J:"long",F:"float",D:"double"};function Dg(t){let e=0;for(;t[e]==="[";)e++;return(t[e]==="L"?t.slice(e+1,-1).replace(/\//g,"."):Pg[t[e]])+"[]".repeat(e)}function Rg(t){return t.replace(/(^|, )java\.lang\.(?=Object|String)/g,"$1")}function hm(t){let e=t.replace(/\//g,".");return e==="java.lang.Object"?"Object":e==="java.lang.String"?"String":e}var Un=new Uint8Array(256).fill(1);for(let t of[16,18,21,22,23,24,25,54,55,56,57,58,169,188])Un[t]=2;for(let t of[17,19,20,132,178,179,180,181,182,183,184,187,189,192,193,198,199])Un[t]=3;for(let t=153;t<=168;t++)Un[t]=3;Un[185]=5;Un[186]=5;Un[197]=4;Un[200]=5;Un[201]=5;function Tt(t,e){return t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}function je(t,e){return t[e]<<8|t[e+1]}function Hi(t,e){return je(t,e)<<16>>16}function Ug(t,e){let n=t[e];if(n===170){let r=e+4&-4;return r+12+(Tt(t,r+8)-Tt(t,r+4)+1)*4-e}if(n===171){let r=e+4&-4;return r+8+Tt(t,r+4)*8-e}return n===196?t[e+1]===132?6:4:Un[n]}var Ia=new Int8Array(256),Dr=new Int8Array(256).fill(-1);function Z(t,e,n){Ia[t]=e,Dr[t]=n}function Wt(t,e,n,r){for(let a=0;a<e;a++)Z(t+a,n,typeof r=="number"?r:r(a))}var Zi=[Je,Zt,ir,Rn];Z(0,0,Ue);Z(1,0,jt);Wt(2,7,0,Je);Wt(9,2,0,Zt);Wt(11,3,0,ir);Wt(14,2,0,Rn);Wt(16,2,0,Je);Wt(21,5,0,t=>t===4?jt:Zi[t]);Wt(26,20,0,t=>t>=16?jt:Zi[t>>2]);Z(46,2,Je);Z(47,2,Zt);Z(48,2,ir);Z(49,2,Rn);Z(50,2,jt);Z(51,2,Je);Z(52,2,Je);Z(53,2,Je);Z(79,3,Ue);Z(80,4,Ue);Z(81,3,Ue);Z(82,4,Ue);Z(83,3,Ue);Z(84,3,Ue);Z(85,3,Ue);Z(86,3,Ue);Z(87,1,Ue);Z(88,2,Ue);Wt(96,20,0,t=>Zi[t&3]);for(let t=96;t<=115;t++)Ia[t]=2*Dn(Dr[t]);Wt(116,4,0,t=>Zi[t]);for(let t=116;t<=119;t++)Ia[t]=Dn(Dr[t]);Wt(120,6,0,t=>t&1?Zt:Je);for(let t=120;t<=125;t++)Ia[t]=1+Dn(Dr[t]);Wt(126,6,0,t=>t&1?Zt:Je);for(let t=126;t<=131;t++)Ia[t]=2*Dn(Dr[t]);Z(132,0,Ue);Z(133,1,Zt);Z(134,1,ir);Z(135,1,Rn);Z(136,2,Je);Z(137,2,ir);Z(138,2,Rn);Z(139,1,Je);Z(140,1,Zt);Z(141,1,Rn);Z(142,2,Je);Z(143,2,Zt);Z(144,2,ir);Z(145,1,pm);Z(146,1,gm);Z(147,1,ym);Z(148,4,Je);Z(149,2,Je);Z(150,2,Je);Z(151,4,Je);Z(152,4,Je);Z(187,0,jt);Z(188,1,Fs);Z(189,1,Fs);Z(190,1,Je);Z(193,1,bm);Z(194,1,Ue);Z(195,1,Ue);var wa=class{s;lo=0;hi=0;constructor(e){this.s=e?e.s.slice():[],e&&(this.lo=e.lo,this.hi=e.hi)}pushRaw(e){oc(e)!==Ue&&this.s.push(e)}push(e,n){let r=$s(e,n);this.pushRaw(r),Dn(n)===2&&this.pushRaw(r)}pop(e){if(e>this.s.length)throw new Ts;this.s.length-=e}at(e){if(e>=this.s.length)throw new Ts;return this.s[this.s.length-e-1]}merge(e){if(this.s.length!==e.s.length)throw new Ts;for(let n=this.s.length-1;n>=0;n--)this.s[n]=Eg(this.s[n],e.s[n]);this.lo|=e.lo,this.hi|=e.hi}setWritten(e){e>63||(e<32?this.lo|=1<<e:this.hi|=1<<e-32)}wasWritten(e){return e>63?!0:(e<32?this.lo&1<<e:this.hi&1<<e-32)!==0}},cc=class{m;c;cp;stacks;out="";entries=0;addedOne=!0;allProcessed=!1;constructor(e,n){this.m=e;let r=e.code;this.c=r.code,this.cp=e.cls.cf.cp;let a=this.c.length;this.stacks=new Array(a+1).fill(null),this.stacks[0]=new wa;for(let s of r.handlers)this.stacks[s.handler]||(this.stacks[s.handler]=new wa,this.stacks[s.handler].push(s.handler,jt));for(;!this.allProcessed&&this.addedOne;){this.allProcessed=!0,this.addedOne=!1;for(let s=0;s<a;){if(s+=this.step(s),n===s&&this.stacks[s]){this.allProcessed=!0;break}if(this.entries>Ng)return}}}merge(e,n){let r=this.stacks[e];r?n.merge(r):this.entries+=n.s.length,this.stacks[e]=new wa(n)}mergeTo(e,n){this.stacks[e]||(this.addedOne=!0),this.merge(e,n)}refDesc(e){return _(this.cp,this.cp[this.cp[e].b].b)}refName(e){return _(this.cp,this.cp[this.cp[e].b].a)}step(e){let n=this.c,r=Ug(n,e),a=this.stacks[e];if(!a)return this.allProcessed=!1,r;let s=new wa(a),i=-1,c=[],o=!1,u=n[e],l=e+1;if(u===196&&(u=n[e+1],l++),Dr[u]>=0)s.pop(Ia[u]),s.push(e,Dr[u]);else if(u>=54&&u<=78){let d,f;u<=58?(d=l!==e+1?je(n,e+2):n[e+1],f=u-54):(d=u-59&3,f=u-59>>2),s.setWritten(d),s.pop(f===1||f===3?2:1)}else switch(u){case 18:case 19:case 20:{let d=this.cp[u===18?n[l]:je(n,l)];d.tag===B.Integer?s.push(e,Je):d.tag===B.Long?s.push(e,Zt):d.tag===B.Float?s.push(e,ir):d.tag===B.Double?s.push(e,Rn):d.tag===B.Dynamic?s.push(e,Er(_(this.cp,this.cp[d.b].b)[0])):s.push(e,jt);break}case 89:s.pushRaw(s.at(0));break;case 90:{let d=s.at(0),f=s.at(1);s.pop(2),s.pushRaw(d),s.pushRaw(f),s.pushRaw(d);break}case 91:{let d=s.at(0),f=s.at(1),m=s.at(2);s.pop(3),s.pushRaw(d),s.pushRaw(m),s.pushRaw(f),s.pushRaw(d);break}case 92:s.pushRaw(s.at(1)),s.pushRaw(s.at(1));break;case 93:{let d=s.at(0),f=s.at(1),m=s.at(2);s.pop(3),s.pushRaw(f),s.pushRaw(d),s.pushRaw(m),s.pushRaw(f),s.pushRaw(d);break}case 94:{let d=s.at(0),f=s.at(1),m=s.at(2),p=s.at(3);s.pop(4),s.pushRaw(f),s.pushRaw(d),s.pushRaw(p),s.pushRaw(m),s.pushRaw(f),s.pushRaw(d);break}case 95:{let d=s.at(0),f=s.at(1);s.pop(2),s.pushRaw(d),s.pushRaw(f);break}case 153:case 154:case 155:case 156:case 157:case 158:case 198:case 199:s.pop(1),i=e+Hi(n,l);break;case 159:case 160:case 161:case 162:case 163:case 164:case 165:case 166:s.pop(2),i=e+Hi(n,l);break;case 167:i=e+Hi(n,l),o=!0;break;case 200:i=e+Tt(n,l),o=!0;break;case 168:s.push(e,dm),i=e+Hi(n,l),o=!0;break;case 201:s.push(e,dm),i=e+Tt(n,l),o=!0;break;case 169:o=!0;break;case 170:{s.pop(1);let d=l+3&-4;i=e+Tt(n,d);let f=Tt(n,d+4),m=Tt(n,d+8);for(let p=f;p<=m;p++)c.push(e+Tt(n,d+12+4*(p-f)));break}case 171:{s.pop(1);let d=l+3&-4;i=e+Tt(n,d);let f=Tt(n,d+4);for(let m=0;m<f;m++)c.push(e+Tt(n,d+12+8*m));break}case 172:case 174:case 176:case 191:s.pop(1),o=!0;break;case 173:case 175:s.pop(2),o=!0;break;case 177:o=!0;break;case 178:case 180:{u===180&&s.pop(1),s.push(e,Er(this.refDesc(je(n,l))[0]));break}case 179:case 181:{let d=Dn(Er(this.refDesc(je(n,l))[0]));s.pop(u===179?d:d+1);break}case 182:case 183:case 184:case 185:case 186:{let d=this.refDesc(je(n,l));u!==184&&u!==186&&s.pop(1),s.pop(mm(d)),s.push(e,Er(d[d.indexOf(")")+1]));break}case 192:break;case 197:s.pop(n[l+2]),s.push(e,jt);break;default:return this.allProcessed=!1,this.addedOne=!1,r}o||this.mergeTo(e+r,s),i!==-1&&this.mergeTo(i,s);for(let d of c)this.mergeTo(d,s);return r}nullSlot(e){let n=this.c,r=n[e],a=e+1;switch(r===196&&(r=n[e+1],a++),r){case 180:case 190:case 191:case 194:case 195:return 0;case 46:case 48:case 50:case 51:case 52:case 53:case 47:case 49:return 1;case 79:case 81:case 83:case 84:case 85:case 86:return 2;case 80:case 82:return 3;case 181:return Dn(Er(this.refDesc(je(n,a))[0]));case 182:case 183:case 185:return this.refName(je(n,a))==="<init>"?Bg:mm(this.refDesc(je(n,a)));default:return Cg}}methodName(e){let n=this.cp[e],r=this.refDesc(e),a=lc(r).map(Dg).join(", ");return`${hm(de(this.cp,n.a))}.${this.refName(e)}(${Rg(a)})`}localVar(e,n,r){let a=this.m,s=a.code.localVars;if(s)for(let o=je(s,0),u=2;o>0;o--,u+=10){let l=je(s,u);if(e>=l&&e<l+je(s,u+2)&&je(s,u+8)===n)return _(this.cp,je(s,u+4))}if(!a.isStatic&&n===0&&r)return"this";let i=a.isStatic?0:1,c=1;for(let o of lc(a.desc)){let u=Dn(Er(o[0]));if(n>=i&&n<i+u)return r?`<parameter${c}>`:`<local${n}>`;c++,i+=u}return`<local${n}>`}cause0(e,n,r,a=!1,s){if(r<=0)return!1;let i=this.stacks[e];if(!i)return!1;let c=i.at(n);if(Pr(c)===zi)return!1;let o=this.c,u=Pr(c),l=o[u],d=u+1,f=!1;l===196&&(f=!0,l=o[u+1],d++);let m=l>=182&&l<=185;r===ic&&s!==void 0&&!m&&(this.out+=s);let p=-1;if(l>=26&&l<=29?p=l-26:l>=42&&l<=45?p=l-42:(l===21||l===25)&&(p=f?je(o,u+2):o[u+1]),p>=0)return this.out+=this.localVar(u,p,!i.wasWritten(p)),!0;switch(l){case 1:return this.out+="null",!0;case 2:return this.out+="-1",!0;case 3:case 4:case 5:case 6:case 7:case 8:return this.out+=String(l-3),!0;case 16:return this.out+=String(o[u+1]<<24>>24),!0;case 17:return this.out+=String(je(o,u+1)),!0;case 46:case 50:return this.cause0(u,1,r-1,a)||(this.out+="<array>"),this.out+="[",this.cause0(u,0,r,!0)||(this.out+="..."),this.out+="]",!0;case 178:{let b=je(o,d);return this.out+=`${hm(de(this.cp,this.cp[b].a))}.${this.refName(b)}`,!0}case 180:return this.cause0(u,0,r-1,a)&&(this.out+="."),this.out+=this.refName(je(o,d)),!0;case 182:case 183:case 184:case 185:return r===ic&&!a&&(this.out+=' because the return value of "'),this.out+=this.methodName(je(o,d)),!0;default:return!1}}cause(e,n){this.cause0(e,n,ic,!1,' because "')&&(this.out+='" is null')}failedAction(e){let n=this.c,r=n[e],a=e+1;r===196&&(r=n[e+1],a++);let s=["int","long","float","double","object","byte/boolean","char","short"];r>=46&&r<=53?this.out+=`Cannot load from ${s[r-46]} array`:r>=79&&r<=86?this.out+=`Cannot store to ${s[r-79]} array`:r===190?this.out+="Cannot read the array length":r===191?this.out+="Cannot throw exception":r===194?this.out+="Cannot enter synchronized block":r===195?this.out+="Cannot exit synchronized block":r===180?this.out+=`Cannot read field "${this.refName(je(n,a))}"`:r===181?this.out+=`Cannot assign field "${this.refName(je(n,a))}"`:this.out+=`Cannot invoke "${this.methodName(je(n,a))}"`}};function Vg(t,e){try{let n=new cc(t,e),r=n.nullSlot(e);return r<0?null:(n.failedAction(e),n.cause(e,r),n.out)}catch{return null}}var vm={"java/lang/NullPointerException.getExtendedNPEMessage()Ljava/lang/String;":(t,[e])=>{let n=t.vm.getField(e,"java/lang/Throwable","backtrace");if(!Array.isArray(n)||n.length===0)return null;let{m:r,pc:a}=n[0];if(r.isNative||!r.code||a<0||r.cls.name==="jdk/internal/reflect/DirectConstructorHandleAccessor$NativeAccessor")return null;let s=Vg(r,a);return s===null?null:t.vm.str(s)}};var xc="java/io/FileDescriptor",pc=-1,yn=-2,Rr=-3,Gg=17,or=9,_g=71,gc=new WeakMap;function Vr(t,e,n){return new Promise(r=>{let a,s=c=>{e.waiters.delete(i),gc.delete(t),a!==void 0&&(clearTimeout(a),t.vm.timers.delete(a)),r(c)},i=()=>s("ready");e.waiters.add(i),gc.set(t,()=>s("signal")),n>=0&&(a=setTimeout(()=>s("timeout"),n),t.vm.timers.add(a))})}var uc=t=>{let e=Number(t);return e<-1?-1:Math.min(e,2147483647)};function gn(t,e){let n=t.vm,r=lt(n.state);return r.size===0&&!n.state.get("socksHooked")&&(n.state.set("socksHooked",!0),n.exited.then(()=>{for(let a of r.values())a.closed=!0;n.net.closeAll?.(),r.clear()})),e.fd=tm(t),r.set(e.fd,e),e.fd}function Hg(t,e){return t.vm.getField(e,xc,"fd")}function Ur(t,e){return lt(t.vm.state).get(Hg(t,e))}function te(t,e,n="java/net/SocketException"){let r=Ur(t,e);if(!r)throw new A(n,pa(or));return r}function we(t,e){let n="java/net/SocketException";switch(t){case _g:n="java/net/ProtocolException";break;case Ht:case Xl:case Pn:n="java/net/ConnectException";break;case ql:n="java/net/NoRouteToHostException";break;case Fr:case xs:case Pi:n="java/net/BindException";break}return new A(n,e?`${pa(t)} (${e})`:pa(t))}var nt=t=>new A("java/io/IOException",pa(t)),zg=()=>new A("sun/net/ConnectionResetException","Connection reset");function fc(t,e,n){let r=lt(t.vm.state).get(e);if(!r)throw nt(or);if(r.kind==="event"){let a=r.counter>0?1:0;return r.counter=0,a}return r.take(new Uint8Array(n),0,n)}function*Os(t,e){return t instanceof Promise?yield e.block(t):t}function*dc(t,e,n,r){let a=n<0?1/0:performance.now()+n;for(;e.connecting;){let s=a-performance.now();if(s<=0||(yield t.block(Vr(t,e,s===1/0?-1:s)))==="signal")return!1}if(e.error){let s=e.error;throw e.error=0,we(s,r)}if(!e.connected)throw we(Pn,"peer closed connection after accepting");return!0}function*Zg(t,e,n,r){let a=n|Or|bn|Is,s=r<0?1/0:performance.now()+r;for(;;){let i=e.preclosed?mn|hn|bn:e.poll();if(i&a)return i&a;let c=s-performance.now();if(c<=0||(yield t.block(Vr(t,e,c===1/0?-1:c)))==="signal")return 0}}function*Yi(t,e,n,r){if(n===0)return 0;for(;;){if(e.rxBytes>0)return r(Math.min(n,e.rxBytes));if(e.error){let a=e.error;throw e.error=0,e.eof=!0,a===Di||a===As?zg():nt(a)}if(e.preclosed||e.eof||e.shutRd)return pc;if(!e.connected)throw nt(Pn);if(!e.blocking)return yn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function*Ki(t,e,n){if(n.length===0)return 0;for(;;){if(e.preclosed||e.shutWr)throw nt(As);if(!e.connected)throw nt(Pn);if(!e.wblocked){let r=e.pipe?Ss(e,n):t.vm.net.write(e,n);if(r)throw nt(r);return n.length}if(!e.blocking)return yn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function*Am(t,e){for(;;){let n=e.backlog.shift();if(n)return t.vm.net.accepted?.(e),n;if(e.preclosed)return Rr;if(!e.listening)throw nt(En);if(!e.blocking)return yn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function*xm(t,e,n,r){let a=yield*Am(t,te(t,e));return typeof a=="number"?a:(t.vm.setField(n,xc,"fd",gn(t,a)),r.a[0]=yield*um(t,a.remote),1)}var Sm=t=>new TextDecoder().decode(Uint8Array.from(t.a)),jm=(t,e)=>Ne(t,Sm(e));function wm(t,e){let n=new TextEncoder().encode(e),r=t.vm.newArray(t.vm.primClass("B"),n.length);return r.a.set(new Int8Array(n.buffer,n.byteOffset,n.length)),r}function Jm(t,e,n,r){let a=Ur(t,e);return a?Yi(t,a,r,s=>a.take(t.vm.mem.u8,Number(n),s)):null}function Mm(t,e,n,r){let a=Ur(t,e);if(!a)return null;let s=ka(t,n,r);return(function*(){return BigInt(yield*Yi(t,a,s.reduce((i,c)=>i+c.len,0),i=>{let c=new Uint8Array(i);return a.take(c,0,i),yc(t,s,c)}))})()}function $m(t,e,n,r){let a=Ur(t,e);return a?Ki(t,a,t.vm.mem.u8.slice(Number(n),Number(n)+r)):null}function Tm(t,e,n,r){let a=Ur(t,e);return a?(function*(){return BigInt(yield*Ki(t,a,vc(t,ka(t,n,r))))})():null}function Wg(t,e,n){t[e]=2,t[e+1]=0,t[e+2]=n.port>>8,t[e+3]=n.port&255,t.set(n.addr,e+4)}function Xg(t,e,n){let r=n>16&&t[e]===10,a=t[e+2]<<8|t[e+3];return{addr:r?t.slice(e+8+12,e+8+16):t.slice(e+4,e+8),port:a}}function*mc(t,e,n,r){for(;;){let a=e.dgrams.shift();if(a)return e.rxBytes-=a.data.length,r(a);if(e.error){let s=e.error;if(e.error=0,s===Ht){if(n)throw new A("java/net/PortUnreachableException");continue}throw we(s)}if(e.preclosed)return Rr;if(!e.blocking)return yn;if((yield t.block(Vr(t,e,-1)))==="signal")return Rr}}function Wi(t){if(t.error===Ht)throw t.error=0,new A("java/net/PortUnreachableException")}var hc=t=>Uint8Array.of(t>>>24,t>>>16&255,t>>>8&255,t&255);function ka(t,e,n){let r=t.vm.mem.dv,a=[];for(let s=0;s<n;s++){let i=Number(e)+s*16;a.push({base:Number(r.getBigInt64(i,!0)),len:Number(r.getBigInt64(i+8,!0))})}return a}function yc(t,e,n){let r=0;for(let a of e){if(r>=n.length)break;let s=Math.min(a.len,n.length-r);t.vm.mem.u8.set(n.subarray(r,r+s),a.base),r+=s}return r}function vc(t,e){let n=new Uint8Array(e.reduce((a,s)=>a+s.len,0)),r=0;for(let a of e)n.set(t.vm.mem.u8.subarray(a.base,a.base+a.len),r),r+=a.len;return n}var qg=new Map([[65549,-1],[33,1],[34,1],[2,64]]),Yg=(t,e)=>t.stream?e===7?16384:131072:Yl;function Kg(t,e,n,r){if(n===1&&r===4){let i=t.error;return t.error=0,i}if(n===1&&r===3)return t.stream?1:2;let a=n===1&&(r===7||r===8),s=t.option(n,r,a?Yg(t,r):qg.get(n<<16|r)??0);return e&&a?Math.trunc(s/2):s}function Im(t,e,n,r,a,s){r===1&&(a===7||a===8)?(n&&a===8&&(s=Math.max(s,1024)),s=Math.min(s,212992),e.setOption(r,a,Math.max(s*2,a===7?4608:2304))):(n&&r===0&&a===1&&(s&=254),e.setOption(r,a,s)),t.vm.net.setOption(e,r,a,s)}var Qg=1<<30,qi=12;function km(t,e){let n=lt(t.vm.state).get(e);if(!n||n.kind!=="epoll")throw new A("java/io/IOException",pa(or));return{s:n,set:n.impl}}function ey(t,e,n,r){let a=lt(t.vm.state),s=t.vm.mem.dv,i=0;for(let[c,o]of e.interest){if(i>=r)break;let u=a.get(c);if(!u){e.interest.delete(c);continue}if(!o.armed)continue;let l=(u.preclosed?mn|hn|bn:u.poll())&(o.events|Or|bn);l&&(s.setUint32(n+i*qi,l,!0),s.setUint32(n+i*qi+4,c,!0),s.setUint32(n+i*qi+8,0,!0),o.events&Qg&&(o.armed=!1),i++)}return i}function ty(t){let e=new zt("epoll"),n=lt(t.vm.state),r={interest:new Map,wake:()=>e.notify(),ready:()=>{for(let[a,s]of r.interest){let i=n.get(a);if(i&&s.armed&&(i.preclosed?mn|hn|bn:i.poll())&(s.events|Or|bn))return!0}return!1},dispose:()=>{for(let a of r.interest.keys())n.get(a)?.watchers.delete(r.wake);r.interest.clear()}};return e.impl=r,gn(t,e)}var X="sun/nio/ch/Net.",Xi="sun/nio/ch/SocketDispatcher.",Ls="sun/nio/ch/DatagramDispatcher.",bc="sun/nio/ch/DatagramChannelImpl.",Ft="sun/nio/ch/NativeSocketAddress.",Fm={[`${X}isIPv6Available0()Z`]:()=>0,[`${X}isReusePortAvailable0()Z`]:()=>1,[`${X}isExclusiveBindAvailable()I`]:()=>-1,[`${X}shouldShutdownWriteBeforeClose0()Z`]:()=>0,[`${X}shouldSetBothIPv4AndIPv6Options0()Z`]:()=>1,[`${X}canIPv6SocketJoinIPv4Group0()Z`]:()=>1,[`${X}canJoin6WithIPv4Group0()Z`]:()=>0,[`${X}canUseIPv6OptionsWithIPv4LocalAddress0()Z`]:()=>1,[`${X}pollinValue()S`]:()=>mn,[`${X}polloutValue()S`]:()=>hn,[`${X}pollerrValue()S`]:()=>Or,[`${X}pollhupValue()S`]:()=>bn,[`${X}pollnvalValue()S`]:()=>Is,[`${X}pollconnValue()S`]:()=>hn,[`${X}socket0(ZZZZ)I`]:(t,[,e,n])=>{let r=new zt(e?"stream":"dgram");return n&&r.setOption(1,2,1),gn(t,r)},[`${X}bind0(Ljava/io/FileDescriptor;ZZLjava/net/InetAddress;I)V`]:function*(t,[e,,,n,r]){let a=te(t,e);if(a.local)throw we(En);let s=yield*Os(t.vm.net.bind(a,{addr:Ms(t,n),port:r}),t);if(s)throw we(s)},[`${X}listen(Ljava/io/FileDescriptor;I)V`]:(t,[e,n])=>{let r=te(t,e);if(!r.local&&!r.localPath)throw we(En);let a=t.vm.net.listen(r,n);if(a)throw we(a)},[`${X}connect0(ZLjava/io/FileDescriptor;Ljava/net/InetAddress;I)I`]:function*(t,[,e,n,r]){let a=te(t,e);if(a.connected||a.connecting)throw we(106);let s=yield*Os(t.vm.net.connect(a,{addr:Ms(t,n),port:r}),t);if(s&&s!==115)throw we(s);if(a.connecting){if(!a.blocking)return yn;yield*dc(t,a,-1)}return 1},[`${X}accept(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I`]:function*(t,[e,n,r]){return yield*xm(t,e,n,r)},[`${X}shutdown(Ljava/io/FileDescriptor;I)V`]:(t,[e,n])=>{let r=te(t,e);r.connected&&t.vm.net.shutdown(r,n)},[`${X}localPort(Ljava/io/FileDescriptor;)I`]:(t,[e])=>te(t,e).local?.port??0,[`${X}localInetAddress(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;`]:function*(t,[e]){return yield*Cr(t,null,te(t,e).local?.addr??new Uint8Array(4))},[`${X}remotePort(Ljava/io/FileDescriptor;)I`]:(t,[e])=>{let n=te(t,e);if(!n.remote)throw we(Pn);return n.remote.port},[`${X}remoteInetAddress(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;`]:function*(t,[e]){let n=te(t,e);if(!n.remote)throw we(Pn);return yield*Cr(t,null,n.remote.addr)},[`${X}getIntOption0(Ljava/io/FileDescriptor;ZII)I`]:(t,[e,n,r,a])=>Kg(te(t,e),n===1,r,a),[`${X}setIntOption0(Ljava/io/FileDescriptor;ZIIIZ)V`]:(t,[e,n,r,a,s])=>Im(t,te(t,e),n===1,r,a,s),[`${X}poll(Ljava/io/FileDescriptor;IJ)I`]:function*(t,[e,n,r]){let a=Ur(t,e);return a?yield*Zg(t,a,n,uc(r)):Is},[`${X}pollConnect(Ljava/io/FileDescriptor;J)Z`]:function*(t,[e,n]){return yield*dc(t,te(t,e),uc(n),"connect failed")},[`${X}available(Ljava/io/FileDescriptor;)I`]:(t,[e])=>{let n=te(t,e);return n.stream?Math.min(n.rxBytes,2147483647):n.dgrams[0]?.data.length??0},[`${X}sendOOB(Ljava/io/FileDescriptor;B)I`]:()=>{throw new A("java/net/SocketException","Operation not supported")},[`${X}discardOOB(Ljava/io/FileDescriptor;)Z`]:()=>0,[`${X}joinOrDrop4(ZLjava/io/FileDescriptor;III)I`]:(t,[e,n,r,a,s])=>{let i=t.vm.net.membership(te(t,n),e===1,hc(r),a===0?null:hc(a),s===0?null:hc(s));if(i&&e===1&&(i===Zl||i===Wl))return yn;if(i)throw we(i,"setsockopt failed");return 0},[`${X}blockOrUnblock4(ZLjava/io/FileDescriptor;III)I`]:()=>yn,[`${X}joinOrDrop6(ZLjava/io/FileDescriptor;[BI[B)I`]:()=>yn,[`${X}blockOrUnblock6(ZLjava/io/FileDescriptor;[BI[B)I`]:()=>yn,[`${X}setInterface4(Ljava/io/FileDescriptor;I)V`]:(t,[e,n])=>Im(t,te(t,e),!1,0,32,n),[`${X}getInterface4(Ljava/io/FileDescriptor;)I`]:(t,[e])=>te(t,e).option(0,32,0),[`${X}setInterface6(Ljava/io/FileDescriptor;I)V`]:()=>{},[`${X}getInterface6(Ljava/io/FileDescriptor;)I`]:()=>0,[`${Xi}read0(Ljava/io/FileDescriptor;JI)I`]:function*(t,[e,n,r]){return yield*Yi(t,te(t,e,"java/io/IOException"),r,a=>te(t,e).take(t.vm.mem.u8,Number(n),a))},[`${Xi}readv0(Ljava/io/FileDescriptor;JI)J`]:function*(t,[e,n,r]){let a=ka(t,n,r),s=a.reduce((c,o)=>c+o.len,0),i=yield*Yi(t,te(t,e,"java/io/IOException"),s,c=>{let o=new Uint8Array(c);return te(t,e).take(o,0,c),yc(t,a,o)});return BigInt(i)},[`${Xi}write0(Ljava/io/FileDescriptor;JI)I`]:function*(t,[e,n,r]){return yield*Ki(t,te(t,e,"java/io/IOException"),t.vm.mem.u8.slice(Number(n),Number(n)+r))},[`${Xi}writev0(Ljava/io/FileDescriptor;JI)J`]:function*(t,[e,n,r]){return BigInt(yield*Ki(t,te(t,e,"java/io/IOException"),vc(t,ka(t,n,r))))},[`${Ls}read0(Ljava/io/FileDescriptor;JI)I`]:function*(t,[e,n,r]){let a=te(t,e,"java/io/IOException");Wi(a);let s=yield*mc(t,a,!0,({data:i})=>{let c=Math.min(r,i.length);return t.vm.mem.u8.set(i.subarray(0,c),Number(n)),c});return s===0?pc:s},[`${Ls}readv0(Ljava/io/FileDescriptor;JI)J`]:function*(t,[e,n,r]){let a=te(t,e,"java/io/IOException");Wi(a);let s=ka(t,n,r),i=yield*mc(t,a,!0,({data:c})=>yc(t,s,c));return BigInt(i===0?pc:i)},[`${Ls}write0(Ljava/io/FileDescriptor;JI)I`]:(t,[e,n,r])=>{let a=te(t,e,"java/io/IOException");Wi(a);let s=t.vm.net.send(a,t.vm.mem.u8.slice(Number(n),Number(n)+r),null);if(s)throw nt(s);return r},[`${Ls}writev0(Ljava/io/FileDescriptor;JI)J`]:(t,[e,n,r])=>{let a=te(t,e,"java/io/IOException");Wi(a);let s=vc(t,ka(t,n,r)),i=t.vm.net.send(a,s,null);if(i)throw nt(i);return BigInt(s.length)},[`${Ls}dup0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)V`]:()=>{throw nt(En)},[`${bc}disconnect0(Ljava/io/FileDescriptor;Z)V`]:function*(t,[e]){let n=te(t,e),r=yield*Os(t.vm.net.disconnect(n),t);if(r)throw we(r)},[`${bc}receive0(Ljava/io/FileDescriptor;JIJZ)I`]:function*(t,[e,n,r,a,s]){return yield*mc(t,te(t,e),s===1,({data:i,from:c})=>{let o=Math.min(r,i.length),u=t.vm.mem.u8;return u.set(i.subarray(0,o),Number(n)),Wg(u,Number(a),c),o})},[`${bc}send0(Ljava/io/FileDescriptor;JIJI)I`]:(t,[e,n,r,a,s])=>{let i=te(t,e),c=Xg(t.vm.mem.u8,Number(a),s),o=t.vm.net.send(i,t.vm.mem.u8.slice(Number(n),Number(n)+r),c);if(o===Ht)throw new A("java/net/PortUnreachableException");if(o)throw we(o);return r},[`${Ft}AFINET()I`]:()=>2,[`${Ft}AFINET6()I`]:()=>10,[`${Ft}sizeofSockAddr4()I`]:()=>16,[`${Ft}sizeofSockAddr6()I`]:()=>28,[`${Ft}sizeofFamily()I`]:()=>2,[`${Ft}offsetFamily()I`]:()=>0,[`${Ft}offsetSin4Port()I`]:()=>2,[`${Ft}offsetSin4Addr()I`]:()=>4,[`${Ft}offsetSin6Port()I`]:()=>2,[`${Ft}offsetSin6Addr()I`]:()=>8,[`${Ft}offsetSin6ScopeId()I`]:()=>24,[`${Ft}offsetSin6FlowInfo()I`]:()=>4,"sun/nio/ch/UnixDomainSockets.init()Z":()=>1,"sun/nio/ch/UnixDomainSockets.socket0()I":t=>{let e=new zt("stream");return e.unix=!0,gn(t,e)},"sun/nio/ch/UnixDomainSockets.bind0(Ljava/io/FileDescriptor;[B)V":function*(t,[e,n]){let r=te(t,e),a=jm(t,n);if(r.localPath)throw we(En);if(!t.vm.net.hostUnix){if(t.vm.fs.stat(a))throw we(Fr);if(!t.vm.fs.write(a,new Uint8Array(0)))throw we(Pi)}let s=yield*Os(t.vm.net.bindUnix(r,a),t);if(s)throw we(s);r.localPath=Sm(n)},"sun/nio/ch/UnixDomainSockets.connect0(Ljava/io/FileDescriptor;[B)I":function*(t,[e,n]){let r=te(t,e),a=jm(t,n);if(r.connected||r.connecting)throw we(106);if(!t.vm.net.hostUnix&&!t.vm.fs.stat(a))throw we(ks);let s=yield*Os(t.vm.net.connectUnix(r,a),t);if(s&&s!==115)throw we(s);if(r.connecting){if(!r.blocking)return yn;yield*dc(t,r,-1)}return 1},"sun/nio/ch/UnixDomainSockets.accept0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/Object;)I":function*(t,[e,n,r]){let a=yield*Am(t,te(t,e));return typeof a=="number"?a:(t.vm.setField(n,xc,"fd",gn(t,a)),r.a[0]=wm(t,a.remotePath),1)},"sun/nio/ch/UnixDomainSockets.localAddress0(Ljava/io/FileDescriptor;)[B":(t,[e])=>wm(t,te(t,e).localPath),"sun/nio/ch/IOUtil.makePipe(Z)J":(t,[e])=>{let[n,r]=Kl();return n.blocking=r.blocking=e===1,BigInt(gn(t,n))<<32n|BigInt(gn(t,r))},"sun/nio/ch/IOUtil.write1(IB)I":(t,[e,n])=>{let r=lt(t.vm.state).get(e);if(!r)throw nt(or);let a=Ss(r,Uint8Array.of(n));if(a)throw nt(a);return 1},"sun/net/spi/DefaultProxySelector.init()Z":()=>0,"sun/net/spi/DefaultProxySelector.getSystemProxies(Ljava/lang/String;Ljava/lang/String;)[Ljava/net/Proxy;":()=>null,"sun/nio/ch/InheritedChannel.dup(I)I":(t,[e])=>e,"sun/nio/ch/InheritedChannel.dup2(II)V":()=>{},"sun/nio/ch/InheritedChannel.open0(Ljava/lang/String;I)I":(t,[e])=>Lr(t,t.vm.jsString(e),!0,!1,!1),"sun/nio/ch/InheritedChannel.close0(I)V":(t,[e])=>{e>2&&sr(t,e)},"sun/nio/ch/InheritedChannel.soType0(I)I":()=>-1,"sun/nio/ch/InheritedChannel.addressFamily(I)I":()=>-1,"sun/nio/ch/InheritedChannel.inetPeerAddress0(I)Ljava/net/InetAddress;":()=>null,"sun/nio/ch/InheritedChannel.unixPeerAddress0(I)[B":()=>null,"sun/nio/ch/InheritedChannel.peerPort0(I)I":()=>0,"sun/nio/ch/InheritedChannel.isConnected(I)Z":()=>0,"sun/net/PortConfig.getLower0()I":()=>32768,"sun/net/PortConfig.getUpper0()I":()=>60999,"sun/nio/ch/EPoll.eventSize()I":()=>qi,"sun/nio/ch/EPoll.eventsOffset()I":()=>0,"sun/nio/ch/EPoll.dataOffset()I":()=>4,"sun/nio/ch/EPoll.create()I":t=>ty(t),"sun/nio/ch/EPoll.ctl(IIII)I":(t,[e,n,r,a])=>{let{set:s}=km(t,e),i=lt(t.vm.state).get(r);if(!i)return r>=0&&t.vm.state.get("fds")?.files.has(r)?1:or;let c=s.interest.get(r);switch(n){case 1:return c?Gg:(s.interest.set(r,{events:a,armed:!0}),i.watchers.add(s.wake),s.wake(),0);case 2:return c?(s.interest.delete(r),i.watchers.delete(s.wake),0):ks;case 3:return c?(c.events=a,c.armed=!0,s.wake(),0):ks}return En},"sun/nio/ch/EPoll.wait(IJII)I":function*(t,[e,n,r,a]){let{s,set:i}=km(t,e),c=uc(a),o=c<0?1/0:performance.now()+c;for(;;){let u=ey(t,i,Number(n),r);if(u>0)return u;let l=o-performance.now();if(l<=0)return 0;if((yield t.block(Vr(t,s,l===1/0?-1:l)))==="signal")return Rr}},"sun/nio/ch/EventFD.eventfd0()I":t=>gn(t,new zt("event")),"sun/nio/ch/EventFD.set0(I)I":(t,[e])=>{let n=lt(t.vm.state).get(e);if(!n)throw nt(or);return n.counter++,n.notify(),8},"sun/nio/ch/IOUtil.drain(I)Z":(t,[e])=>fc(t,e,16)>0?1:0,"sun/nio/ch/IOUtil.drain1(I)I":(t,[e])=>fc(t,e,1),"sun/nio/ch/EPollPort.socketpair([I)V":(t,[e])=>{let[n,r]=Kl();n.blocking=r.blocking=!1,e.a[0]=gn(t,n),e.a[1]=gn(t,r)},"sun/nio/ch/EPollPort.interrupt(I)V":(t,[e])=>{let n=lt(t.vm.state).get(e);if(!n)throw nt(or);Ss(n,Uint8Array.of(1))},"sun/nio/ch/EPollPort.drain1(I)V":(t,[e])=>{fc(t,e,1)},"sun/nio/ch/EPollPort.close0(I)V":(t,[e])=>{sr(t,e)},"sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.accept0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I":function*(t,[e,n,r]){return yield*xm(t,e,n,r)},"sun/nio/ch/UnixAsynchronousSocketChannelImpl.checkConnect(I)V":(t,[e])=>{let n=lt(t.vm.state).get(e);if(!n)throw nt(or);let r=n.error;if(n.error=0,r)throw we(r)},"sun/nio/ch/IOUtil.configureBlocking(Ljava/io/FileDescriptor;Z)V":(t,[e,n])=>{let r=Ur(t,e);r&&(r.blocking=n===1)},"sun/nio/ch/NativeThread.current0()J":t=>BigInt(t.id),"sun/nio/ch/NativeThread.signal0(J)V":(t,[e])=>{for(let n of t.vm.threads)BigInt(n.id)===e&&gc.get(n)?.()}};var Ot=2,to=9,Sc=13,Jc=17,Em=18,Mc=20,$c=21,Tc=22,Aa=30,Pm=39,eo=38,ny={[Ot]:"No such file or directory",[to]:"Bad file descriptor",[Sc]:"Permission denied",[Jc]:"File exists",[Em]:"Invalid cross-device link",[Mc]:"Not a directory",[$c]:"Is a directory",[Tc]:"Invalid argument",[Aa]:"Read-only file system",[Pm]:"Directory not empty",[eo]:"Function not implemented"},ry=3,Om=64,ay=128,sy=512,iy=1024,oy=16384,ly=32768,cy=8192;function ae(t){throw new A("sun/nio/fs/UnixException",null,{desc:"(I)V",args:[t]})}function Dm(t,e){let n=t.vm.mem.u8,r=Number(e);for(;n[r]!==0;)r++;return new TextDecoder().decode(n.subarray(Number(e),r))}function Gr(t,e){let n=new TextEncoder().encode(e),r=t.vm.newArray(t.vm.primClass("B"),n.length);return r.a.set(new Int8Array(n.buffer,n.byteOffset,n.length)),r}function wt(t,e){return Ne(t,Dm(t,e))}function jc(t,e,n){Js(t,n);let r=t.vm.fs.stat(n);if(!r)return Ot;let a=t.vm,s="sun/nio/fs/UnixFileAttributes",i=a.fs.writable(n),c=r.device?cy|438:r.dir?oy|(i?493:365):ly|(i?420:292),o=BigInt(Math.floor(r.mtime/1e3)),u=BigInt(Math.floor(r.mtime%1e3*1e6));a.setField(e,s,"st_mode",c),a.setField(e,s,"st_ino",BigInt(Rm(t,n))),a.setField(e,s,"st_dev",1n),a.setField(e,s,"st_nlink",1),a.setField(e,s,"st_uid",1e3),a.setField(e,s,"st_gid",1e3),a.setField(e,s,"st_size",BigInt(r.size));for(let l of["atime","mtime","ctime"])a.setField(e,s,`st_${l}_sec`,o),a.setField(e,s,`st_${l}_nsec`,u);return 0}function wc(t){let e=t.vm.state.get("mntent");return e||t.vm.state.set("mntent",e=new Map),e}function Rm(t,e){let n=t.vm.state.get("inodes");n||t.vm.state.set("inodes",n=new Map);let r=n.get(e);return r===void 0&&n.set(e,r=n.size+2),r}function Ic(t){let e=t.vm.state.get("dirs");return e||t.vm.state.set("dirs",e=new Map),e}var uy=1n,Y="sun/nio/fs/UnixNativeDispatcher.",Oc={[`${Y}init()I`]:()=>0,[`${Y}getcwd()[B`]:t=>Gr(t,t.vm.opts.cwd??"/"),[`${Y}strerror(I)[B`]:(t,[e])=>Gr(t,ny[e]??`errno ${e}`),[`${Y}stat0(JLsun/nio/fs/UnixFileAttributes;)I`]:(t,[e,n])=>jc(t,n,wt(t,e)),[`${Y}lstat0(JLsun/nio/fs/UnixFileAttributes;)V`]:(t,[e,n])=>{let r=jc(t,n,wt(t,e));r&&ae(r)},[`${Y}fstat0(ILsun/nio/fs/UnixFileAttributes;)V`]:(t,[e,n])=>{let a=t.vm.state.get("fds")?.files?.get(e);a||ae(to),jc(t,n,a.path)},[`${Y}access0(JI)I`]:(t,[e,n])=>{let r=wt(t,e);return t.vm.fs.stat(r)?t.vm.fs.access(r,n)?0:Sc:Ot},[`${Y}open0(JII)I`]:(t,[e,n])=>{let r=wt(t,e),a=t.vm.fs.stat(r);n&Om&&n&ay&&a&&ae(Jc),!a&&!(n&Om)&&ae(Ot);let s=(n&ry)!==0;a?.dir&&s&&ae($c),(s||!a)&&t.vm.fs.denied(r)&&ae(Sc);try{return Lr(t,r,s,(n&sy)!==0,(n&iy)!==0)}catch(i){throw i instanceof A&&ae(t.vm.fs.writable(r)?Ot:Aa),i}},[`${Y}close0(I)V`]:(t,[e])=>sr(t,e),[`${Y}dup(I)I`]:()=>ae(eo),[`${Y}mkdir0(JI)V`]:(t,[e])=>{let n=wt(t,e);t.vm.fs.stat(n)&&ae(Jc),t.vm.fs.mkdir(n)||ae(t.vm.fs.writable(n)?Ot:Aa)},[`${Y}rmdir0(J)V`]:(t,[e])=>{nc(Dm(t,e))&&ae(Tc);let n=wt(t,e),r=t.vm.fs.stat(n);r||ae(Ot),r.dir||ae(Mc),Vi(t,n)||ae(Pm)},[`${Y}unlink0(J)V`]:(t,[e])=>{let n=wt(t,e),r=t.vm.fs.stat(n);r||ae(Ot),r.dir&&ae($c),Vi(t,n)||ae(Aa)},[`${Y}rename0(JJ)V`]:(t,[e,n])=>{t.vm.fs.stat(wt(t,e))||ae(Ot),rc(t,wt(t,e),wt(t,n))||ae(Em)},[`${Y}realpath0(J)[B`]:(t,[e])=>{let n=wt(t,e);return t.vm.fs.stat(n)||ae(Ot),Gr(t,n)},[`${Y}readlink0(J)[B`]:()=>ae(Tc),[`${Y}symlink0(JJ)V`]:()=>ae(eo),[`${Y}link0(JJ)V`]:()=>ae(eo),[`${Y}chmod0(JI)V`]:()=>{},[`${Y}fchmod0(II)V`]:()=>{},[`${Y}chown0(JII)V`]:()=>{},[`${Y}lchown0(JII)V`]:()=>{},[`${Y}fchown0(III)V`]:()=>{},[`${Y}utimensat0(IJJJI)V`]:(t,[,e,,n])=>{let r=wt(t,e);t.vm.fs.stat(r)||ae(Ot),Ui(t,r,Number(n)/1e6)||ae(Aa)},[`${Y}futimens0(IJJ)V`]:(t,[e,,n])=>{let r=Re(t,e);Ui(t,r.path,Number(n)/1e6)||ae(Aa)},[`${Y}opendir0(J)J`]:(t,[e])=>{let n=wt(t,e),r=t.vm.fs.stat(n);r||ae(Ot),r.dir||ae(Mc);let a=uy++;return Ic(t).set(a,{names:t.vm.fs.list(n)??[],pos:0}),a},[`${Y}readdir0(J)[B`]:(t,[e])=>{let n=Ic(t).get(e);return n||ae(to),n.pos<n.names.length?Gr(t,n.names[n.pos++]):null},[`${Y}closedir(J)V`]:(t,[e])=>{Ic(t).delete(e)},[`${Y}getpwuid(I)[B`]:t=>Gr(t,t.vm.props.get("user.name")??"user"),[`${Y}getgrgid(I)[B`]:t=>Gr(t,t.vm.props.get("user.name")??"user"),[`${Y}getpwnam0(J)I`]:()=>1e3,[`${Y}getgrnam0(J)I`]:()=>1e3,[`${Y}fchmodatNoFollowSupported0()Z`]:()=>0,[`${Y}statvfs0(JLsun/nio/fs/UnixFileStoreAttributes;)V`]:()=>{},[`${Y}flistxattr(IJI)I`]:()=>0,[`${Y}getlinelen(J)I`]:()=>-1,[`${Y}rewind(J)V`]:()=>{},"sun/nio/fs/LinuxNativeDispatcher.setmntent0(JJ)J":t=>{let e=wc(t),n=Math.max(0,...e.keys())+1;return e.set(n,!1),BigInt(n)},"sun/nio/fs/LinuxNativeDispatcher.getmntent0(JLsun/nio/fs/UnixMountEntry;JI)I":(t,[e,n])=>{let r=wc(t);if(r.get(Number(e))!==!1)return-1;r.set(Number(e),!0);let a="sun/nio/fs/UnixMountEntry";for(let[s,i]of[["name","java-web"],["dir","/"],["fstype","java-web"],["opts","rw"]])t.vm.setField(n,a,s,Gr(t,i));return t.vm.setField(n,a,"dev",1n),0},"sun/nio/fs/LinuxNativeDispatcher.endmntent(J)V":(t,[e])=>{wc(t).delete(Number(e))},"sun/nio/fs/LinuxNativeDispatcher.init()V":()=>{},"sun/nio/fs/LinuxNativeDispatcher.posix_fadvise(IJJI)I":()=>0,"sun/nio/fs/LinuxNativeDispatcher.directCopy0(IIJ)I":(t,[e,n])=>Lm(t,e,n),"sun/nio/fs/UnixFileSystem.bufferedCopy0(IIJIJ)V":(t,[e,n])=>{Lm(t,e,n)}};function Lm(t,e,n){let r=t.vm.state.get("fds")?.files,a=r?.get(n),s=r?.get(e);(!a||!s)&&ae(to);let i=new Uint8Array(65536);for(let c;(c=a.read(i,0,i.length))>0;)s.write(i.subarray(0,c));return 0}var Fc="java/io/FileDescriptor",Nm=-6;function Ns(t,e){return t.vm.getField(e,Fc,"fd")}function Vn(t,e){let n=t.vm.state.get("fds")?.files.get(Ns(t,e));if(!n)throw new A("java/io/IOException","Bad file descriptor");return n}var fy=1;function Qi(t){let e=t.vm.state.get("mappings");return e||t.vm.state.set("mappings",e=new Map),e}function Bm(t,e,n,r,a){let s=e.pos+r-n,i=Math.min(a,e.f.size-s);if(i<=0)return;let c=e.f.pos;e.f.pos=s,e.f.write(t.vm.mem.u8.slice(r,r+i)),e.f.pos=c,Nr(t,e.f)}function kc(t,e,n,r,a){let s=Vn(t,e),i=s.pos;a!==null&&(s.pos=a);let c=s.read(t.vm.mem.u8,Number(n),r);return a!==null&&(s.pos=i),c}function Ac(t,e,n,r,a){let s=Ns(t,e),i=t.vm.mem.u8.slice(Number(n),Number(n)+r);if(s===1||s===2)return(s===1?t.vm.opts.stdout:t.vm.opts.stderr)(i),r;let c=Vn(t,e),o=c.pos;return a!==null&&(c.pos=a),c.write(i),a!==null&&(c.pos=o),r}function Cm(t,e,n,r){let a=t.vm.mem.dv,s=0;for(let i=0;i<n;i++){let c=Number(e)+i*16,o=a.getBigInt64(c,!0),u=Number(a.getBigInt64(c+8,!0)),l=r(o,u);if(l<0)return BigInt(s===0?l:s);if(s+=l,l<u)break}return BigInt(s)}var Fe="sun/nio/ch/UnixFileDispatcherImpl.";Object.assign(Oc,{"sun/nio/ch/IOUtil.fdVal(Ljava/io/FileDescriptor;)I":(t,[e])=>Ns(t,e),"sun/nio/ch/IOUtil.setfdVal(Ljava/io/FileDescriptor;I)V":(t,[e,n])=>t.vm.setField(e,Fc,"fd",n),"sun/nio/ch/IOUtil.iovMax()I":()=>16,"sun/nio/ch/IOUtil.writevMax()J":()=>0x7fffffffn,"sun/nio/ch/IOUtil.fdLimit()I":()=>1024,"sun/nio/ch/IOUtil.randomBytes([B)Z":(t,[e])=>(crypto.getRandomValues(e.a),1),[`${Fe}read0(Ljava/io/FileDescriptor;JI)I`]:(t,[e,n,r])=>Jm(t,e,n,r)??kc(t,e,n,r,null),[`${Fe}pread0(Ljava/io/FileDescriptor;JIJ)I`]:(t,[e,n,r,a])=>kc(t,e,n,r,Number(a)),[`${Fe}readv0(Ljava/io/FileDescriptor;JI)J`]:(t,[e,n,r])=>Mm(t,e,n,r)??Cm(t,n,r,(a,s)=>kc(t,e,a,s,null)),[`${Fe}write0(Ljava/io/FileDescriptor;JI)I`]:(t,[e,n,r])=>$m(t,e,n,r)??Ac(t,e,n,r,null),[`${Fe}pwrite0(Ljava/io/FileDescriptor;JIJ)I`]:(t,[e,n,r,a])=>Ac(t,e,n,r,Number(a)),[`${Fe}writev0(Ljava/io/FileDescriptor;JI)J`]:(t,[e,n,r])=>Tm(t,e,n,r)??Cm(t,n,r,(a,s)=>Ac(t,e,a,s,null)),[`${Fe}force0(Ljava/io/FileDescriptor;Z)I`]:(t,[e])=>{let n=Vn(t,e);return Nr(t,n),0},[`${Fe}seek0(Ljava/io/FileDescriptor;J)J`]:(t,[e,n])=>{let r=Vn(t,e);return n>=0n&&(r.pos=Number(n)),BigInt(r.pos)},[`${Fe}truncate0(Ljava/io/FileDescriptor;J)I`]:(t,[e,n])=>(Vn(t,e).setLength(Number(n)),0),[`${Fe}size0(Ljava/io/FileDescriptor;)J`]:(t,[e])=>BigInt(Vn(t,e).size),[`${Fe}available0(Ljava/io/FileDescriptor;)I`]:(t,[e])=>{let n=Vn(t,e);return n.size-n.pos},[`${Fe}isOther0(Ljava/io/FileDescriptor;)Z`]:()=>0,[`${Fe}lock0(Ljava/io/FileDescriptor;ZJJZ)I`]:()=>0,[`${Fe}release0(Ljava/io/FileDescriptor;JJ)V`]:()=>{},[`${Fe}closeIntFD(I)V`]:(t,[e])=>sr(t,e),[`${Fe}allocationGranularity0()J`]:()=>4096n,[`${Fe}map0(Ljava/io/FileDescriptor;IJJZ)J`]:(t,[e,n,r,a])=>{let s=Vn(t,e),i=t.vm.mem.malloc(Number(a)),c=s.pos;s.pos=Number(r);let o=Math.min(s.size-Number(r),Number(a));return o>0&&s.read(t.vm.mem.u8,i,o),s.pos=c,n===fy&&Qi(t).set(i,{f:s,pos:Number(r),len:Number(a)}),BigInt(i)},[`${Fe}unmap0(JJ)I`]:(t,[e])=>{let n=Qi(t).get(Number(e));return n&&Bm(t,n,Number(e),Number(e),n.len),Qi(t).delete(Number(e)),t.vm.mem.freeBlock(Number(e)),0},"java/nio/MappedMemoryUtils.force0(Ljava/io/FileDescriptor;JJ)V":(t,[,e,n])=>{let r=Number(e),a=r+Number(n);for(let[s,i]of Qi(t)){let c=Math.max(r,s),o=Math.min(a,s+i.len);c<o&&Bm(t,i,s,c,o-c)}},"java/nio/MappedMemoryUtils.isLoaded0(JJJ)Z":()=>1,"java/nio/MappedMemoryUtils.load0(JJ)V":()=>{},"java/nio/MappedMemoryUtils.unload0(JJ)V":()=>{},[`${Fe}setDirect0(Ljava/io/FileDescriptor;)I`]:()=>-1,"sun/nio/ch/FileDispatcherImpl.init0()V":()=>{},"sun/nio/ch/FileDispatcherImpl.transferTo0(Ljava/io/FileDescriptor;JJLjava/io/FileDescriptor;Z)J":()=>BigInt(Nm),"sun/nio/ch/FileDispatcherImpl.transferFrom0(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;JJZ)J":()=>BigInt(Nm),"sun/nio/ch/NativeThread.init()V":()=>{},"sun/nio/ch/NativeThread.supportPendingSignals0()Z":()=>0,"sun/nio/ch/FileKey.init(Ljava/io/FileDescriptor;[J)V":(t,[e,n])=>{let r=Vn(t,e);n.a[0]=1n,n.a[1]=BigInt(Rm(t,r.path))},"sun/nio/ch/UnixDispatcher.init()V":()=>{},"sun/nio/ch/UnixDispatcher.preClose0(Ljava/io/FileDescriptor;)V":(t,[e])=>Yd(t.vm.state,Ns(t,e)),"sun/nio/ch/UnixDispatcher.close0(Ljava/io/FileDescriptor;)V":(t,[e])=>{sr(t,Ns(t,e)),t.vm.setField(e,Fc,"fd",-1)}});var Lt="java/lang/ref/Reference";function Bs(t){let e=t.state.get("refs");return e||(e={pending:[],waiters:[],registry:new FinalizationRegistry(n=>{let r=n.deref();if(!(!r||!(r.x instanceof WeakRef))){r.x=null,e.pending.push(r);for(let a of e.waiters.splice(0))a()}}),weak:t.loadBoot("java/lang/ref/WeakReference"),phantom:t.loadBoot("java/lang/ref/PhantomReference")},t.state.set("refs",e)),e}function Lc(t,e){return e.x instanceof WeakRef?e.x.deref()??null:t.vm.getField(e,Lt,"referent")}function Um(t,e){e.x instanceof WeakRef&&Bs(t.vm).registry.unregister(e),e.x=null,t.vm.setField(e,Lt,"referent",null)}var Vm={[`${Lt}.<init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V`]:function*(t,[e,n,r]){let a=t.vm,s=a.loadBoot("java/lang/ref/ReferenceQueue");s.state!==z&&(yield*a.initGen(t,s));let i=a.getStatic(s,"NULL_QUEUE"),c=r??i;a.setField(e,Lt,"queue",c);let o=Bs(a);n!==null&&(e.cls.isSubclassOf(o.weak)||e.cls.isSubclassOf(o.phantom))?(e.x=new WeakRef(n),c!==i&&o.registry.register(n,new WeakRef(e),e)):a.setField(e,Lt,"referent",n)},[`${Lt}.get()Ljava/lang/Object;`]:(t,[e])=>Lc(t,e)},Gm={[`${Lt}.refersTo0(Ljava/lang/Object;)Z`]:(t,[e,n])=>Lc(t,e)===n?1:0,[`${Lt}.clear0()V`]:(t,[e])=>Um(t,e),"java/lang/ref/PhantomReference.refersTo0(Ljava/lang/Object;)Z":(t,[e,n])=>Lc(t,e)===n?1:0,"java/lang/ref/PhantomReference.clear0()V":(t,[e])=>Um(t,e),[`${Lt}.hasReferencePendingList()Z`]:t=>Bs(t.vm).pending.length>0?1:0,[`${Lt}.getAndClearReferencePendingList()Ljava/lang/ref/Reference;`]:t=>{let e=Bs(t.vm).pending.splice(0);for(let n=0;n<e.length;n++)t.vm.setField(e[n],Lt,"discovered",e[n+1]??null);return e[0]??null},[`${Lt}.waitForReferencePendingList()V`]:function*(t){let e=Bs(t.vm);for(;e.pending.length===0;)yield t.block(new Promise(n=>e.waiters.push(n)))},"java/lang/ref/Finalizer.isFinalizationEnabled()Z":()=>0,"java/lang/ref/Finalizer.reportComplete(Ljava/lang/Object;)V":()=>{}};var Cs=Symbol("underflow"),dy=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],my=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],hy=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],by=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],py=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=class extends Error{};function gy(t){let e=1,n=0;for(let r of t)e=(e+r)%65521,n=(n+e)%65521;return(n<<16|e)>>>0}function Es(t,e){let n=0;for(let o=0;o<e;o++)t[o]>n&&(n=t[o]);let r=Math.max(n,1),a=new Int32Array(1<<r),s=new Array(16).fill(0);for(let o=0;o<e;o++)s[t[o]]++;s[0]=0;let i=new Array(16).fill(0),c=0;for(let o=1;o<=15;o++)c=c+s[o-1]<<1,i[o]=c;for(let o=0;o<e;o++){let u=t[o];if(!u)continue;let l=i[u]++,d=0;for(let f=0;f<u;f++)d=d<<1|l&1,l>>=1;for(let f=d;f<a.length;f+=1<<u)a[f]=o<<4|u}return{t:a,bits:r}}var Nc=null,_m=null;function yy(){if(!Nc){let t=new Uint8Array(288);t.fill(8,0,144),t.fill(9,144,256),t.fill(7,256,280),t.fill(8,280,288),Nc=Es(t,288),_m=Es(new Uint8Array(30).fill(5),30)}return[Nc,_m]}var ce={Header:0,Dict:1,Block:2,Stored:3,Huffman:4,Trailer:5,Done:6},Ps=class{stage;bitbuf=0;bitcnt=0;last=!1;stored=0;lit=null;dist=null;copyLen=0;copyDist=0;win=new Uint8Array(32768);wpos=0;s1=1;s2=0;wrap;dictId=0;needDict=!1;in;ip=0;out;op=0;oe=0;constructor(e){this.wrap=!e,this.stage=e?ce.Block:ce.Header}get finished(){return this.stage===ce.Done}get adler(){return this.stage===ce.Dict?this.dictId:(this.s2<<16|this.s1)>>>0}reset(){this.stage=this.wrap?ce.Header:ce.Block,this.bitbuf=this.bitcnt=this.stored=this.copyLen=this.copyDist=this.wpos=0,this.last=this.needDict=!1,this.pending=new Uint8Array(0),this.s1=1,this.s2=0}setDictionary(e){if(this.stage===ce.Dict&&gy(e)!==this.dictId)return!1;for(let n of e)this.win[this.wpos++&32767]=n;return this.needDict=!1,this.stage===ce.Dict&&(this.stage=ce.Block),!0}pending=new Uint8Array(0);run(e,n,r,a){let s=this.pending.length,i=e;s&&(i=new Uint8Array(s+e.length),i.set(this.pending),i.set(e,s));let[c,o]=this.decodeAll(i,n,r,a);return this.stage!==ce.Done&&!this.needDict&&o<a?(this.pending=i.slice(c),[e.length,o]):c>=s?(this.pending=new Uint8Array(0),[c-s,o]):(this.pending=this.pending.slice(c),[0,o])}decodeAll(e,n,r,a){this.in=e,this.ip=0,this.out=n,this.op=r,this.oe=r+a;let s=0,i=0,c=0;try{for(;;)if(s=this.ip,i=this.bitbuf,c=this.bitcnt,this.stage===ce.Huffman){if(!this.huffman())break}else if(!this.step())break}catch(o){if(o!==Cs)throw o;this.ip=s,this.bitbuf=i,this.bitcnt=c}return this.stage===ce.Done&&(this.ip-=this.bitcnt>>3,this.bitbuf=this.bitcnt=0),[this.ip,this.op-r]}need(e){for(;this.bitcnt<e;){if(this.ip>=this.in.length)throw Cs;this.bitbuf|=this.in[this.ip++]<<this.bitcnt,this.bitcnt+=8}}bits(e){if(e===0)return 0;this.need(e);let n=this.bitbuf&(1<<e)-1;return this.bitbuf>>>=e,this.bitcnt-=e,n}decode(e){for(;this.bitcnt<e.bits&&this.ip<this.in.length;)this.bitbuf|=this.in[this.ip++]<<this.bitcnt,this.bitcnt+=8;let n=e.t[this.bitbuf&(1<<e.bits)-1],r=n&15;if(r===0)throw this.bitcnt<e.bits?Cs:new rt("invalid code");if(r>this.bitcnt)throw Cs;return this.bitbuf>>>=r,this.bitcnt-=r,n>>4}adlerByte(e){this.s1=(this.s1+e)%65521,this.s2=(this.s2+this.s1)%65521}emit(e){this.out[this.op++]=e,this.win[this.wpos++&32767]=e,this.wrap&&this.adlerByte(e)}align(){let e=this.bitcnt&7;this.bitbuf>>>=e,this.bitcnt-=e}step(){switch(this.stage){case ce.Header:{let e=this.bits(8),n=this.bits(8);if((e&15)!==8||(e<<8|n)%31!==0)throw new rt("incorrect header check");return n&32?(this.dictId=this.u32be(),this.stage=ce.Dict):this.stage=ce.Block,!0}case ce.Dict:return this.needDict=!0,!1;case ce.Block:{if(this.last)return this.stage=this.wrap?ce.Trailer:ce.Done,!0;let e=this.bits(1),n=this.bits(2);if(n===0){this.align();let r=this.bits(16),a=this.bits(16);if((r^65535)!==a)throw new rt("invalid stored block lengths");this.stored=r,this.stage=ce.Stored}else if(n===1)[this.lit,this.dist]=yy(),this.stage=ce.Huffman;else if(n===2)this.dynamicHeader(),this.stage=ce.Huffman;else throw new rt("invalid block type");return this.last=e===1,!0}case ce.Stored:{for(;this.stored>0;){if(this.op>=this.oe)return!1;if(this.bitcnt>=8)this.emit(this.bits(8));else if(this.ip<this.in.length)this.emit(this.in[this.ip++]);else return!1;this.stored--}return this.stage=ce.Block,!0}case ce.Trailer:{if(this.align(),this.u32be()!==this.adler)throw new rt("incorrect data check");return this.stage=ce.Done,!1}default:return!1}}u32be(){let e=this.bits(8),n=this.bits(8),r=this.bits(8),a=this.bits(8);return(e<<24|n<<16|r<<8|a)>>>0}dynamicHeader(){let e=this.bits(5)+257,n=this.bits(5)+1,r=this.bits(4)+4,a=new Uint8Array(19);for(let c=0;c<r;c++)a[py[c]]=this.bits(3);let s=Es(a,19),i=new Uint8Array(e+n);for(let c=0;c<i.length;){let o=this.decode(s);if(o<16)i[c++]=o;else{let u,l=0;if(o===16){if(c===0)throw new rt("invalid bit length repeat");l=i[c-1],u=3+this.bits(2)}else o===17?u=3+this.bits(3):u=11+this.bits(7);if(c+u>i.length)throw new rt("invalid bit length repeat");i.fill(l,c,c+u),c+=u}}if(i[256]===0)throw new rt("invalid code -- missing end-of-block");this.lit=Es(i.subarray(0,e),e),this.dist=Es(i.subarray(e),n)}huffman(){let e=this.win;for(;this.copyLen>0;){if(this.op>=this.oe)return!1;this.emit(e[this.wpos-this.copyDist&32767]),this.copyLen--}for(;;){if(this.op>=this.oe)return!1;let n=this.ip,r=this.bitbuf,a=this.bitcnt;try{let s=this.decode(this.lit);if(s<256){this.emit(s);continue}if(s===256)return this.stage=ce.Block,!0;let i=s-257;if(i>=29)throw new rt("invalid literal/length code");let c=dy[i]+this.bits(my[i]),o=this.decode(this.dist);if(o>=30)throw new rt("invalid distance code");let u=hy[o]+this.bits(by[o]);if(u>this.wpos)throw new rt("invalid distance too far back");this.copyLen=c,this.copyDist=u}catch(s){if(s!==Cs)throw s;return this.ip=n,this.bitbuf=r,this.bitcnt=a,!1}for(;this.copyLen>0;){if(this.op>=this.oe)return!1;this.emit(e[this.wpos-this.copyDist&32767]),this.copyLen--}}}};var vy=(()=>{let t=new Int32Array(256);for(let e=0;e<256;e++){let n=e;for(let r=0;r<8;r++)n=n&1?3988292384^n>>>1:n>>>1;t[e]=n}return t})();function Bc(t,e){let n=~t;for(let r=0;r<e.length;r++)n=vy[(n^e[r])&255]^n>>>8;return~n}function Rs(t,e){let n=t&65535,r=t>>>16;for(let a=0;a<e.length;){let s=Math.min(e.length,a+3800);for(;a<s;a++)n+=e[a],r+=n;n%=65521,r%=65521}return r<<16|n|0}var no=65535,so=class{wrap;headerDone=!1;held=new Uint8Array(no);heldLen=0;pending=new Uint8Array(no+32);pendPos=0;pendLen=0;adler=1;dictId=null;lastFlush=0;ended=!1;constructor(e){this.wrap=!e}get finished(){return this.ended&&this.pendPos===this.pendLen}get checksum(){return this.headerDone||this.dictId===null?this.adler:this.dictId}reset(){this.headerDone=this.ended=!1,this.heldLen=this.pendPos=this.pendLen=this.lastFlush=0,this.adler=1,this.dictId=null}setDictionary(e){this.wrap&&!this.headerDone&&(this.dictId=Rs(1,e)>>>0)}put(...e){for(let n of e)this.pending[this.pendLen++]=n}block(e){let n=this.heldLen;this.put(e?1:0,n&255,n>>8,~n&255,~n>>8&255),this.pending.set(this.held.subarray(0,n),this.pendLen),this.pendLen+=n,this.heldLen=0}be32(e){this.put(e>>>24,e>>>16&255,e>>>8&255,e&255)}drain(e,n){let r=Math.min(e.length-n,this.pendLen-this.pendPos);return e.set(this.pending.subarray(this.pendPos,this.pendPos+r),n),this.pendPos+=r,this.pendPos===this.pendLen&&(this.pendPos=this.pendLen=0),r}run(e,n,r){let a=0,s=this.drain(n,0);if(this.pendLen)return this.lastFlush=-1,[0,s];if(e.length===0&&r<=this.lastFlush&&r!==4)return[0,s];this.lastFlush=r;let i=!1;for(;;){if(s+=this.drain(n,s),this.pendLen||this.ended)return[a,s];if(!this.headerDone){this.headerDone=!0,this.wrap&&(this.dictId===null?this.put(120,1):(this.put(120,32),this.be32(this.dictId)));continue}if(a<e.length){let c=Math.min(no-this.heldLen,e.length-a),o=e.subarray(a,a+c);this.held.set(o,this.heldLen),this.wrap&&(this.adler=Rs(this.adler,o)),this.heldLen+=c,a+=c,this.heldLen===no&&this.block(!1);continue}if(i||r!==2&&r!==3&&r!==4)return[a,s];i=!0,r===4?(this.block(!0),this.wrap&&this.be32(this.adler>>>0),this.ended=!0):(this.heldLen&&this.block(!1),this.block(!1))}}};function Sa(t){let e=t.vm.state.get("zstreams");return e||t.vm.state.set("zstreams",e=new Map),e}var Hm=1n;function io(t,e){let n=Sa(t).get(e);if(!(n instanceof Ps))throw new A("java/lang/NullPointerException","Inflater has been closed");return n}function Ds(t,e){let n=Sa(t).get(e);if(!(n instanceof so))throw new A("java/lang/NullPointerException","Deflater has been closed");return n}function Zm(t,e,n,r){let a=BigInt(t)|BigInt(e)<<31n;return n&&(a|=1n<<62n),r&&(a|=1n<<63n),BigInt.asIntN(64,a)}function ro(t,e,n,r,a,s){let i=io(t,e);try{let[c,o]=i.run(n,r,a,s);return Zm(c,o,i.finished,i.needDict)}catch(c){throw c instanceof rt?new A("java/util/zip/DataFormatException",c.message):c}}function zm(t,e,n){if(!io(t,e).setDictionary(n))throw new A("java/lang/IllegalArgumentException")}function ao(t,e,n,r,a){let s=Ds(t,e),[i,c]=s.run(n,r,a);return Zm(i,c,s.finished,!1)}function Nt(t,e,n){return t.vm.mem.u8.subarray(Number(e),Number(e)+n)}var vn="java/util/zip/Inflater.",xn="java/util/zip/Deflater.",Wm={[`${vn}init(Z)J`]:(t,[e])=>{let n=Hm++;return Sa(t).set(n,new Ps(e===1)),n},[`${vn}inflateBytesBytes(J[BII[BII)J`]:(t,[,e,n,r,a,s,i,c])=>ro(t,e,me(n,r,a),me(s),i,c),[`${vn}inflateBytesBuffer(J[BIIJI)J`]:(t,[,e,n,r,a,s,i])=>ro(t,e,me(n,r,a),Nt(t,s,i),0,i),[`${vn}inflateBufferBytes(JJI[BII)J`]:(t,[,e,n,r,a,s,i])=>ro(t,e,Nt(t,n,r).slice(),me(a),s,i),[`${vn}inflateBufferBuffer(JJIJI)J`]:(t,[,e,n,r,a,s])=>ro(t,e,Nt(t,n,r).slice(),Nt(t,a,s),0,s),[`${vn}setDictionary(J[BII)V`]:(t,[e,n,r,a])=>zm(t,e,me(n,r,a)),[`${vn}setDictionaryBuffer(JJI)V`]:(t,[e,n,r])=>zm(t,e,Nt(t,n,r)),[`${vn}getAdler(J)I`]:(t,[e])=>io(t,e).adler|0,[`${vn}reset(J)V`]:(t,[e])=>io(t,e).reset(),[`${vn}end(J)V`]:(t,[e])=>{Sa(t).delete(e)},[`${xn}init(IIZ)J`]:(t,[,,e])=>{let n=Hm++;return Sa(t).set(n,new so(e===1)),n},[`${xn}deflateBytesBytes(J[BII[BIIII)J`]:(t,[,e,n,r,a,s,i,c,o])=>ao(t,e,me(n,r,a),me(s,i,c),o),[`${xn}deflateBytesBuffer(J[BIIJIII)J`]:(t,[,e,n,r,a,s,i,c])=>ao(t,e,me(n,r,a),Nt(t,s,i),c),[`${xn}deflateBufferBytes(JJI[BIIII)J`]:(t,[,e,n,r,a,s,i,c])=>ao(t,e,Nt(t,n,r),me(a,s,i),c),[`${xn}deflateBufferBuffer(JJIJIII)J`]:(t,[,e,n,r,a,s,i])=>ao(t,e,Nt(t,n,r),Nt(t,a,s),i),[`${xn}setDictionary(J[BII)V`]:(t,[e,n,r,a])=>Ds(t,e).setDictionary(me(n,r,a)),[`${xn}setDictionaryBuffer(JJI)V`]:(t,[e,n,r])=>Ds(t,e).setDictionary(Nt(t,n,r)),[`${xn}getAdler(J)I`]:(t,[e])=>Ds(t,e).checksum|0,[`${xn}reset(J)V`]:(t,[e])=>Ds(t,e).reset(),[`${xn}end(J)V`]:(t,[e])=>{Sa(t).delete(e)},"java/util/zip/CRC32.update(II)I":(t,[e,n])=>Bc(e,Uint8Array.of(n)),"java/util/zip/CRC32.updateBytes0(I[BII)I":(t,[e,n,r,a])=>Bc(e,me(n,r,a)),"java/util/zip/CRC32.updateByteBuffer0(IJII)I":(t,[e,n,r,a])=>Bc(e,Nt(t,n+BigInt(r),a)),"java/util/zip/Adler32.update(II)I":(t,[e,n])=>Rs(e,Uint8Array.of(n)),"java/util/zip/Adler32.updateBytes(I[BII)I":(t,[e,n,r,a])=>Rs(e,me(n,r,a)),"java/util/zip/Adler32.updateByteBuffer(IJII)I":(t,[e,n,r,a])=>Rs(e,Nt(t,n+BigInt(r),a))};var Be="sun/java2d/pipe/ShapeSpanIterator",Xm="sun/java2d/pipe/SpanClipRenderer",Uc=0,Us=1,Ce=2,Hr=3,Vs=4,Xt=0,Gn=1,_r=2,Cc=3,Ec=4,Pc=5,Dc=6,ct=7,qm=10,Vc=2147483647,Ym=1,xy=2,jy=4,wy=8,$=Math.fround;function _n(t){return t!==t?0:t>=2147483647?2147483647:t<=-2147483648?-2147483648:t|0}var Km=t=>_n(t*Vc);function Rc(t,e,n,r,a,s){n=$(n-t),r=$(r-e),a=$(a-t),s=$(s-e);let i=$($(a*n)+$(s*r)),c;return i<=0?c=0:(a=$(n-a),s=$(r-s),i=$($(a*n)+$(s*r)),i<=0?c=0:c=$($(i*i)/$($(n*n)+$(r*r)))),$($($(a*a)+$(s*s))-c)}function Iy(t,e){let n=t*e;return Math.abs(n)<9007199254740992?n|0:Number(BigInt.asIntN(32,BigInt(t)*BigInt(e)))}function ky(t,e,n){let r=t*n;if(Math.abs(r)<4503599627370496){let s=e+r;return[Math.floor(s/2147483648)|0,s|0]}let a=BigInt(e)+BigInt(t)*BigInt(n);return[Number(BigInt.asIntN(32,a>>31n)),Number(BigInt.asIntN(32,a))]}var Ja=class{state=Uc;evenodd=!1;first=!0;adjust;lox=0;loy=0;hix=0;hiy=0;curx=0;cury=0;movx=0;movy=0;adjx=0;adjy=0;pathlox=0;pathloy=0;pathhix=0;pathhiy=0;seg=new Int32Array(20*ct);numSegments=0;table=new Int32Array(0);lowSegment=0;curSegment=0;hiSegment=0;scratch=new Int32Array(4);constructor(e){this.adjust=e}boxPoint(e,n){this.first?(this.pathlox=this.pathhix=e,this.pathloy=this.pathhiy=n,this.first=!1):(this.pathlox>e&&(this.pathlox=e),this.pathloy>n&&(this.pathloy=n),this.pathhix<e&&(this.pathhix=e),this.pathhiy<n&&(this.pathhiy=n))}moveTo(e,n){if(this.close(),this.adjust){let r=$(Math.floor($(e+.25))+.25),a=$(Math.floor($(n+.25))+.25);this.adjx=$(r-e),this.adjy=$(a-n),e=r,n=a}this.movx=e,this.movy=n,this.boxPoint(e,n),this.curx=e,this.cury=n}lineTo(e,n){if(this.adjust){let r=$(Math.floor($(e+.25))+.25),a=$(Math.floor($(n+.25))+.25);this.adjx=$(r-e),this.adjy=$(a-n),e=r,n=a}this.subdivideLine(this.curx,this.cury,e,n),this.boxPoint(e,n),this.curx=e,this.cury=n}quadTo(e,n,r,a){if(this.adjust){let s=$(Math.floor($(r+.25))+.25),i=$(Math.floor($(a+.25))+.25),c=$(s-r),o=$(i-a);r=s,a=i,e=$(e+$($(this.adjx+o)/2)),n=$(n+$($(this.adjy+o)/2)),this.adjx=c,this.adjy=o}this.subdivideQuad(0,this.curx,this.cury,e,n,r,a),this.boxPoint(e,n),this.boxPoint(r,a),this.curx=r,this.cury=a}cubicTo(e,n,r,a,s,i){if(this.adjust){let c=$(Math.floor($(s+.25))+.25),o=$(Math.floor($(i+.25))+.25),u=$(c-s),l=$(o-i);s=c,i=o,e=$(e+this.adjx),n=$(n+this.adjy),r=$(r+u),a=$(a+l),this.adjx=u,this.adjy=l}this.subdivideCubic(0,this.curx,this.cury,e,n,r,a,s,i),this.boxPoint(e,n),this.boxPoint(r,a),this.boxPoint(s,i),this.curx=s,this.cury=i}close(){(this.curx!==this.movx||this.cury!==this.movy)&&(this.subdivideLine(this.curx,this.cury,this.movx,this.movy),this.curx=this.movx,this.cury=this.movy)}endPath(){this.close(),this.state=Hr}appendSegment(e,n,r,a){let s;if(n>a){let j=e;e=r,r=j,j=n,n=a,a=j,s=-1}else s=1;let i=_n(Math.ceil($(n-.5))),c=_n(Math.ceil($(a-.5)));if(i>=c||i>=this.hiy||c<=this.loy)return;if((this.numSegments+1)*ct>this.seg.length){let j=new Int32Array(this.seg.length*2);j.set(this.seg),this.seg=j}let o=$(r-e),u=$(a-n),l=$(o/u),d=$($($(i)+.5)-n);e=$(e+$($(d*o)/u));let f=_n(Math.ceil($(e-.5))),m=Math.floor(l),p=_n(m),b=Km(l-m),y=Km($(e-$($(f)-.5))),g=this.numSegments++*ct,h=this.seg;h[g+Xt]=f,h[g+Gn]=i,h[g+_r]=c,h[g+Cc]=y,h[g+Ec]=p,h[g+Pc]=b,h[g+Dc]=s}subdivideLine(e,n,r,a){let s=e<r?e:r,i=e<r?r:e,c=n<a?n:a;if(!((n<a?a:n)<=$(this.loy)||c>=$(this.hiy)||s>=$(this.hix))){if(i<=$(this.lox)){this.appendSegment(i,n,i,a);return}this.appendSegment(e,n,r,a)}}subdivideQuad(e,n,r,a,s,i,c){let[o,u]=Qm(n,a,i),[l,d]=Qm(r,s,c);if(!(d<=$(this.loy)||l>=$(this.hiy)||o>=$(this.hix))){if(u<=$(this.lox)){this.appendSegment(u,r,u,c);return}if(e<qm&&Rc(n,r,i,c,a,s)>1){let f=$($(n+a)/2),m=$($(a+i)/2);a=$($(f+m)/2);let p=$($(r+s)/2),b=$($(s+c)/2);s=$($(p+b)/2),e++,this.subdivideQuad(e,n,r,f,p,a,s),this.subdivideQuad(e,a,s,m,b,i,c);return}this.appendSegment(n,r,i,c)}}subdivideCubic(e,n,r,a,s,i,c,o,u){let[l,d]=eh(n,a,i,o),[f,m]=eh(r,s,c,u);if(!(m<=$(this.loy)||f>=$(this.hiy)||l>=$(this.hix))){if(d<=$(this.lox)){this.appendSegment(d,r,d,u);return}if(e<qm&&(Rc(n,r,o,u,a,s)>1||Rc(n,r,o,u,i,c)>1)){let p=$($(a+i)/2);a=$($(n+a)/2),i=$($(i+o)/2);let b=$($(a+p)/2),y=$($(p+i)/2);p=$($(b+y)/2);let g=$($(s+c)/2);s=$($(r+s)/2),c=$($(c+u)/2);let h=$($(s+g)/2),j=$($(g+c)/2);g=$($(h+j)/2),e++,this.subdivideCubic(e,n,r,a,s,b,h,p,g),this.subdivideCubic(e,p,g,y,j,i,c,o,u);return}this.appendSegment(n,r,o,u)}}appendPoly(e,n,r,a,s){let i=$(a),c=$(s);if(this.adjust&&(i=$(i+.25),c=$(c+.25)),r>0){let o=$($(e[0])+i),u=$($(n[0])+c),l=this.outcodes(o,u);this.movx=this.curx=o,this.movy=this.cury=u,this.pathlox=this.pathhix=o,this.pathloy=this.pathhiy=u,this.first=!1;for(let d=1;d<r;d++){if(o=$($(e[d])+i),u=$($(n[d])+c),u===this.cury){o!==this.curx&&(l=this.outcodes(o,u),this.curx=o,this.pathlox>o&&(this.pathlox=o),this.pathhix<o&&(this.pathhix=o));continue}let f=this.outcodes(o,u);l&=f,l===0?this.appendSegment(this.curx,this.cury,o,u):l===Ym&&this.appendSegment($(this.lox),this.cury,$(this.lox),u),this.pathlox>o&&(this.pathlox=o),this.pathloy>u&&(this.pathloy=u),this.pathhix<o&&(this.pathhix=o),this.pathhiy<u&&(this.pathhiy=u),l=f,this.curx=o,this.cury=u}}this.endPath()}outcodes(e,n){let r;return n<=$(this.loy)?r=jy:n>=$(this.hiy)?r=wy:r=0,e<=$(this.lox)?r|=Ym:e>=$(this.hix)&&(r|=xy),r}getPathBox(e){e[0]=_n(Math.floor(this.pathlox)),e[1]=_n(Math.floor(this.pathloy)),e[2]=_n(Math.ceil(this.pathhix)),e[3]=_n(Math.ceil(this.pathhiy))}intersectClipBox(e,n,r,a){e>this.lox&&(this.lox=e),n>this.loy&&(this.loy=n),r<this.hix&&(this.hix=r),a<this.hiy&&(this.hiy=a)}initSegmentTable(){let e=this.numSegments,n=this.seg,r=new Int32Array(e);for(let s=0;s<e;s++)r[s]=s;r.sort((s,i)=>(s*=ct,i*=ct,n[s+Gn]!==n[i+Gn]?n[s+Gn]<n[i+Gn]?-1:1:n[s+Xt]!==n[i+Xt]?n[s+Xt]<n[i+Xt]?-1:1:n[s+_r]!==n[i+_r]?n[s+_r]<n[i+_r]?-1:1:0)),this.table=r,this.state=Vs;let a=0;for(;a<e&&n[r[a]*ct+_r]<=this.loy;)a++;this.lowSegment=this.curSegment=this.hiSegment=a,this.loy=this.loy-1|0}nextSpan(e){this.state!==Vs&&this.initSegmentTable();let n=this.table,r=this.seg,a=this.numSegments,s=this.lowSegment,i=this.curSegment,c=this.hiSegment,o=this.loy,u=!1;for(;s<a;){if(i<c){let d=n[i]*ct,f=r[d+Xt];if(f>=this.hix){i=c;continue}f<this.lox&&(f=this.lox);let m;if(this.evenodd)i+=2,m=i<=c?r[n[i-1]*ct+Xt]:this.hix;else{let p=r[d+Dc];for(i++;;){if(i>=c){m=this.hix;break}if(d=n[i++]*ct,p+=r[d+Dc],p===0){m=r[d+Xt];break}}}if(m>this.hix&&(m=this.hix),m<=f)continue;e[0]=f,e[1]=o,e[2]=m,e[3]=o+1|0,u=!0;break}if(o=o+1|0,o>=this.hiy){s=i=c=a;break}let l=i=c;for(;--i>=s;){let d=n[i];r[d*ct+_r]>o&&(n[--l]=d)}if(s=l,s===c&&s<a){let d=r[n[s]*ct+Gn];o<d&&(o=d)}for(;c<a&&r[n[c]*ct+Gn]<=o;)c++;for(i=s;i<c;i++){let d=n[i],f=d*ct,m=r[f+Xt],p=r[f+Gn],b=r[f+Cc];if((p=p+1|0)===o)m=m+r[f+Ec]|0,b=b+r[f+Pc]|0,m=m-(b>>31)|0,b&=Vc;else{let y=o-(p-1|0);p=o,m=m+Iy(y,r[f+Ec])|0;let[g,h]=ky(y,b,r[f+Pc]);m=m+g|0,b=h&Vc}for(r[f+Xt]=m,r[f+Gn]=p,r[f+Cc]=b,l=i;l>s;l--){let y=n[l-1];if(r[y*ct+Xt]<=m)break;n[l]=y}n[l]=d}i=s}return this.lowSegment=s,this.hiSegment=c,this.curSegment=i,this.loy=o,u}skipDownTo(e){this.state!==Vs&&this.initSegmentTable(),this.loy<e&&(this.loy=e-1|0,this.curSegment=this.hiSegment)}};function Qm(t,e,n){return t<e?t<n?[t,e<n?n:e]:[n,e]:t<n?[e,n]:[e<n?e:n,t]}function eh(t,e,n,r){return t<e?n<r?[t<n?t:n,e<r?r:e]:[t<r?t:r,e<n?n:e]:n<r?[e<n?e:n,t<r?r:t]:[e<r?e:r,t<n?n:t]}function rh(t){return t.x instanceof Ja?t.x:null}function Gc(t){throw new A("java/lang/InternalError",t)}function jn(t){throw new A("java/lang/NullPointerException",t)}function at(t,e,n){let r=t.x;return r instanceof Ja?r.state<e||r.state>n?Gc("bad path delivery sequence"):r:jn("private data")}function th(t){if(t===null)return jn("int array");let e=t.a;if(e.length<4)throw new A("java/lang/ArrayIndexOutOfBoundsException","Array region 0..4 out of bounds for length "+e.length);return e}var Ma=t=>new A("java/lang/ArrayIndexOutOfBoundsException",t),zr="sun/java2d/pipe/RegionIterator",nh="sun/java2d/pipe/Region";function oo(t,e,n,r,a,s,i,c){let o=e+a*n+r|0,u=n-s|0;for(;--i>=0;){for(let l=0;l<s;l++)t[o++]=c;o+=u}}function ah(t,e,n,r,a,s){s===null&&jn("band array");let i=s.a;if(i.length<4)throw Ma("band array");if(n===null||e===null)return jn("alpha tile array");let c=t.vm,o=n.a,u=o.length,l=c.getField(e,zr,"curIndex"),d=c.getField(e,zr,"numXbands"),f=c.getField(e,zr,"region");if(f===null)return jn("region");let m=c.getField(f,nh,"bands");if(m===null)return jn("bands");let p=m.a,b=c.getField(f,nh,"endIndex");b>p.length&&(b=p.length);let y=i[0],g=i[1],h=i[2],j=i[3];if(u<r||u<(r+(h-y|0)|0)||((u-r-(h-y|0)|0)/a|0)<(j-g-1|0))throw Ma("alpha tile array");let x=l,w=d,v=j,I=j,J=h,O=y,S=0,M=0,T=0,F=0;for(;;){if(x=x+w*2|0,!(x+3<b)){w=0;break}if(M=p[x++],F=p[x++],w=p[x++],F<=g){d=w,l=x;continue}if(M>=j)break;M<g&&(M=g),F>j&&(F=j);let N=y;for(;w>0&&x+2<=b;)if(w--,S=p[x++],T=p[x++],!(T<=y)){if(S>=h)break;if(S<y&&(S=y),I<M&&oo(o,r,a,0,I-g,h-y,M-I,0),I=F,J>S&&(J=S),N<S&&oo(o,r,a,N-y,M-g,S-N,F-M,0),N=T,N>=h){N=h;break}}N>y&&(N<h&&oo(o,r,a,N-y,M-g,h-N,F-M,0),v>M&&(v=M)),O<N&&(O=N)}i[0]=J,i[1]=v,i[2]=O,i[3]=I,c.setField(e,zr,"curIndex",l),c.setField(e,zr,"numXbands",d)}function Ay(t,e,n,r,a,s){s===null&&jn("band array");let i=s.a;if(i.length<4)throw Ma("band array");if(n===null)return jn("alpha tile array");let c=n.a,o=i[2]-i[0]|0,u=i[3]-i[1]|0;if(c.length<r||((c.length-r|0)/a|0)<u)throw Ma("alpha tile array");oo(c,r,a,0,0,o,u,-1),ah(t,e,n,r,a,s)}var sh={[`${Be}.setNormalize(Z)V`]:(t,[e,n])=>{e.x instanceof Ja&&Gc("private data already initialized"),e.x=new Ja(!!n)},[`${Be}.setOutputAreaXYXY(IIII)V`]:(t,[e,n,r,a,s])=>{let i=at(e,Uc,Uc);i.lox=n,i.loy=r,i.hix=a,i.hiy=s,i.state=Us},[`${Be}.setRule(I)V`]:(t,[e,n])=>{let r=at(e,Us,Us);r.evenodd=n===0,r.state=Ce},[`${Be}.addSegment(I[F)V`]:(t,[e,n,r])=>{let a=at(e,Ce,Ce);r===null&&jn("coords");let s=r.a;if(s.length<6)throw Ma(`Array region 0..6 out of bounds for length ${s.length}`);switch(n){case 0:a.moveTo(s[0],s[1]);break;case 1:a.lineTo(s[0],s[1]);break;case 2:a.quadTo(s[0],s[1],s[2],s[3]);break;case 3:a.cubicTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case 4:a.close();break;default:Gc("bad path segment type")}},[`${Be}.getPathBox([I)V`]:(t,[e,n])=>{at(e,Hr,Hr).getPathBox(th(n))},[`${Be}.intersectClipBox(IIII)V`]:(t,[e,n,r,a,s])=>{at(e,Hr,Hr).intersectClipBox(n,r,a,s)},[`${Be}.nextSpan([I)Z`]:(t,[e,n])=>{let r=at(e,Hr,Vs);return r.nextSpan(r.scratch)?(th(n).set(r.scratch),1):0},[`${Be}.skipDownTo(I)V`]:(t,[e,n])=>{at(e,Hr,Vs).skipDownTo(n)},[`${Be}.getNativeIterator()J`]:()=>1n,[`${Be}.dispose()V`]:(t,[e])=>{e.x=null},[`${Be}.appendPoly([I[IIII)V`]:(t,[e,n,r,a,s,i])=>{let c=at(e,Us,Us);c.evenodd=!0,c.state=Ce,(n===null||r===null)&&jn("polygon data arrays");let o=n.a,u=r.a;if(o.length<a||u.length<a)throw Ma("polygon data arrays");c.appendPoly(o,u,a,s,i)},[`${Be}.moveTo(FF)V`]:(t,[e,n,r])=>at(e,Ce,Ce).moveTo(n,r),[`${Be}.lineTo(FF)V`]:(t,[e,n,r])=>at(e,Ce,Ce).lineTo(n,r),[`${Be}.quadTo(FFFF)V`]:(t,[e,n,r,a,s])=>at(e,Ce,Ce).quadTo(n,r,a,s),[`${Be}.curveTo(FFFFFF)V`]:(t,[e,n,r,a,s,i,c])=>at(e,Ce,Ce).cubicTo(n,r,a,s,i,c),[`${Be}.closePath()V`]:(t,[e])=>at(e,Ce,Ce).close(),[`${Be}.pathDone()V`]:(t,[e])=>at(e,Ce,Ce).endPath(),[`${Be}.getNativeConsumer()J`]:(t,[e])=>(at(e,Ce,Ce),1n),[`${Xm}.fillTile(L${zr};[BII[I)V`]:(t,[,e,n,r,a,s])=>Ay(t,e,n,r,a,s),[`${Xm}.eraseTile(L${zr};[BII[I)V`]:(t,[,e,n,r,a,s])=>ah(t,e,n,r,a,s)};var Zr=class t{u8=null;i32=null;u16=null;lut=null;lutSize=0;icm=null;cdata=null;bpp=0;bo=0;off;ps;scan;w;h;constructor(e,n,r,a,s,i){this.off=n,this.ps=r,this.scan=a,this.w=s,this.h=i,e instanceof Int32Array?this.i32=e:e instanceof Int16Array?this.u16=new Uint16Array(e.buffer,e.byteOffset,e.length):e instanceof Int8Array&&(this.u8=new Uint8Array(e.buffer,e.byteOffset,e.length))}at(e,n,r){return Object.assign(Object.create(t.prototype),this,{off:e,w:n,h:r})}},ch=new Uint8Array(65536),_c=new Uint8Array(65536);for(let t=1;t<256;t++){let e=(t<<16)+(t<<8)+t,n=e+(1<<23);for(let a=1;a<256;a++)ch[t<<8|a]=n>>>24,n+=e;let r=Math.floor((255*16777216+(t>>1))/t);n=1<<23;for(let a=0;a<t;a++)_c[t<<8|a]=Math.floor(n/16777216),n+=r;for(let a=t;a<256;a++)_c[t<<8|a]=255}var E=(t,e)=>ch[t<<8|e],he=(t,e)=>_c[e<<8|t],Wr=(t,e,n)=>77*t+150*e+29*n+128>>8;function wn(t,e,n,r,a,s=!1){return{ps:t,opaque:e,pre:n,gray:s,rd:r,wr:a}}var $a=(t,e)=>t<<8-e|t>>2*e-8,V={IntArgb:wn(4,!1,!1,(t,e)=>t.i32[e>>2],(t,e,n)=>{t.i32[e>>2]=n}),IntArgbPre:wn(4,!1,!0,(t,e)=>t.i32[e>>2],(t,e,n)=>{t.i32[e>>2]=n}),IntRgb:{...wn(4,!0,!1,(t,e)=>t.i32[e>>2]|4278190080,(t,e,n)=>{t.i32[e>>2]=n&16777215}),wrWord:(t,e,n)=>{t.i32[e>>2]=n}},IntBgr:wn(4,!0,!1,(t,e)=>{let n=t.i32[e>>2];return 4278190080|(n&255)<<16|n&65280|n>>16&255},(t,e,n)=>{t.i32[e>>2]=(n&255)<<16|n&65280|n>>16&255}),ThreeByteBgr:wn(3,!0,!1,(t,e)=>4278190080|t.u8[e+2]<<16|t.u8[e+1]<<8|t.u8[e],(t,e,n)=>{t.u8[e]=n,t.u8[e+1]=n>>8,t.u8[e+2]=n>>16}),FourByteAbgr:wn(4,!1,!1,ih,oh),FourByteAbgrPre:wn(4,!1,!0,ih,oh),ByteGray:wn(1,!0,!1,(t,e)=>4278190080|t.u8[e]*65793,(t,e,n)=>{t.u8[e]=Wr(n>>16&255,n>>8&255,n&255)},!0),Ushort565Rgb:wn(2,!0,!1,(t,e)=>{let n=t.u16[e>>1];return 4278190080|$a(n>>11&31,5)<<16|$a(n>>5&63,6)<<8|$a(n&31,5)},(t,e,n)=>{t.u16[e>>1]=(n>>19&31)<<11|(n>>10&63)<<5|n>>3&31}),Ushort555Rgb:wn(2,!0,!1,(t,e)=>{let n=t.u16[e>>1];return 4278190080|$a(n>>10&31,5)<<16|$a(n>>5&31,5)<<8|$a(n&31,5)},(t,e,n)=>{t.u16[e>>1]=(n>>19&31)<<10|(n>>11&31)<<5|n>>3&31})};function ih(t,e){let n=t.u8;return n[e]<<24|n[e+3]<<16|n[e+2]<<8|n[e+1]}function oh(t,e,n){let r=t.u8;r[e]=n>>>24,r[e+1]=n,r[e+2]=n>>8,r[e+3]=n>>16}function uh(t,e,n){let r=t.rd(e,n);if(!t.pre)return r;let a=r>>>24;return a===255||a===0?r:a<<24|he(r>>16&255,a)<<16|he(r>>8&255,a)<<8|he(r&255,a)}function Gs(t){let e=t>>>24;return e===255?t:e<<24|E(e,t>>16&255)<<16|E(e,t>>8&255)<<8|E(e,t&255)}function fh(t,e,n,r,a=0){t.wr(e,n,t.pre?Gs(r):r,a)}function Hc(t,e,n){return t.rdPre?t.rdPre(e,n):t.pre?t.rd(e,n):Gs(t.rd(e,n))}var In=[0,0,0],lo=[0,0,255],co=[255,0,0],lr=[255,-1,256],Xr=[[In,In],[In,In],[lo,In],[lo,lr],[lr,lo],[co,In],[In,co],[lr,In],[In,lr],[In,lo],[co,lr],[lr,co],[lr,lr]];function dh(t){return Math.fround(t*255)+.5|0}function zc(t,e){let n=e>>16&255,r=e>>8&255,a=e&255;return t.gray&&(n=r=a=Wr(n,r,a)),{a:e>>>24,r:n,g:r,b:a}}var cr=(t,e,n)=>((t?t.dy:0)+n&7)<<3|(t?t.dx:0)+e&7;function mh(t){return(e,n,r,a,s,i,c,o)=>{let u=zc(t,o),l=u.a,d=u.r,f=u.g,m=u.b,p;l===0?(d=f=m=0,p=0):(p=l<<24|u.r<<16|u.g<<8|u.b,l!==255&&(d=E(l,d),f=E(l,f),m=E(l,m)),t.pre&&(p=l<<24|d<<16|f<<8|m));let b=l!==0&&t.opaque&&!t.gray?o:p,y=t.wrWord??t.wr;for(let g=0;g<c;g++){let h=n+g*e.scan;for(let j=0;j<i;j++,h+=t.ps){let x=r?r[a+g*s+j]:255;if(x===0)continue;if(x===255){y(e,h,b);continue}let w=255-x,v=t.rd(e,h),I=E(w,v>>>24),J=t.pre?w:I;I+=E(x,l);let O=E(J,v>>16&255)+E(x,d),S=E(J,v>>8&255)+E(x,f),M=E(J,v&255)+E(x,m);!t.pre&&I&&I<255&&(O=he(O,I),S=he(S,I),M=he(M,I)),t.wr(e,h,I<<24|O<<16|S<<8|M)}}}}function hh(t){return(e,n,r,a,s,i,c,o)=>{let u=zc(t,o),l=u.a,d=u.r,f=u.g,m=u.b;if(l!==255){if(l===0)return;d=E(l,d),f=E(l,f),m=E(l,m)}for(let p=0;p<c;p++){let b=n+p*e.scan;for(let y=0;y<i;y++,b+=t.ps){let g=255,h,j,x,w;if(r){if(g=r[a+p*s+y],g===0)continue;if(g!==255?(h=E(g,l),j=E(g,d),x=E(g,f),w=E(g,m)):(h=l,j=d,x=f,w=m),h!==255){let v=255-h,I=t.rd(e,b),J=E(v,I>>>24);if(t.pre||(v=J),h+=J,v){let O=I>>16&255,S=I>>8&255,M=I&255;v!==255&&(O=E(v,O),S=E(v,S),M=E(v,M)),j+=O,x+=S,w+=M}}!t.opaque&&!t.pre&&h&&h<255&&(j=he(j,h),x=he(x,h),w=he(w,h))}else{let v=255-l,I=t.rd(e,b);h=E(v,I>>>24),t.pre||(v=h),h+=l,j=E(v,I>>16&255)+d,x=E(v,I>>8&255)+f,w=E(v,I&255)+m,!t.opaque&&!t.pre&&h&&h<255&&(j=he(j,h),x=he(x,h),w=he(w,h))}t.wr(e,b,h<<24|j<<16|x<<8|w)}}}}function _s(t){return(e,n,r,a,s,i,c,o,u,l)=>{let d=zc(t,o),f=d.a,m=d.r,p=d.g,b=d.b;f!==255&&(m=E(f,m),p=E(f,p),b=E(f,b));let[[y,g,h],[j,x,w]]=Xr[u],v=(f&j^x)+w,I=r!==null||(j|w)!==0||y!==0;for(let J=0;J<c;J++){let O=n+J*e.scan;for(let S=0;S<i;S++,O+=t.ps){let M=255,T=v;if(r&&(M=r[a+J*s+S],M===0))continue;let F=0,N=0;I&&(N=t.rd(e,O),F=N>>>24);let C=(F&y^g)+h;M!==255&&(C=E(M,C),T=255-M+E(M,T));let L,R,U,D;if(C)C===255?(L=f,R=m,U=p,D=b):(L=E(C,f),R=E(C,m),U=E(C,p),D=E(C,b));else{if(T===255)continue;L=R=U=D=0}if(T&&(F=E(T,F),L+=F,t.pre&&(F=T),F)){let G=N>>16&255,q=N>>8&255,P=N&255;F!==255&&(G=E(F,G),q=E(F,q),P=E(F,P)),R+=G,U+=q,D+=P}!t.pre&&L&&L<255&&(R=he(R,L),U=he(U,L),D=he(D,L)),t.wr(e,O,L<<24|R<<16|U<<8|D,cr(l,S,J))}}}}function bh(t,e,n){if(!e.gray)return n;let r=Wr(n>>16&255,n>>8&255,n&255);return n&4278190080|r*65793}function Zc(t,e){return(n,r,a,s,i,c,o,u,l,d,f)=>{for(let m=0;m<l;m++){let p=r+m*n.scan,b=s+m*a.scan;for(let y=0;y<u;y++,p+=e.ps,b+=t.ps){let g=255;if(i){if(g=i[c+m*o+y],g===0)continue;g=E(g,f)}else g=f;let h=t.rd(a,b),j=E(g,h>>>24);if(!j)continue;let x=t.pre?g:j,w=bh(t,e,h),v=w>>16&255,I=w>>8&255,J=w&255;if(j<255){let O=e.rd(n,p),S=255-j,M=E(S,O>>>24);e.pre||(S=M),j+=M,v=E(S,O>>16&255)+E(x,v),I=E(S,O>>8&255)+E(x,I),J=E(S,O&255)+E(x,J)}else x<255&&(v=E(x,v),I=E(x,I),J=E(x,J));!e.opaque&&!e.pre&&j&&j<255&&(v=he(v,j),I=he(I,j),J=he(J,j)),e.wr(n,p,j<<24|v<<16|I<<8|J)}}}}function ur(t,e){return(n,r,a,s,i,c,o,u,l,d,f,m)=>{let[[p,b,y],[g,h,j]]=Xr[d],x=(p|y)!==0||g!==0,w=i!==null||(g|j)!==0||p!==0;for(let v=0;v<l;v++){let I=r+v*n.scan,J=s+v*a.scan;for(let O=0;O<u;O++,I+=e.ps,J+=t.ps){let S=255;if(i&&(S=i[c+v*o+O],S===0))continue;let M=0,T=0,F=0,N=0;x&&(F=t.rd(a,J),M=E(f,F>>>24)),w&&(N=e.rd(n,I),T=N>>>24);let C=(T&p^b)+y,L=(M&g^h)+j;S!==255&&(C=E(S,C),L=255-S+E(S,L));let R=0,U=0,D=0,G=0;if(C){if(R=E(C,M),C=t.pre?E(C,f):R,C){let q=bh(t,e,F);U=q>>16&255,D=q>>8&255,G=q&255,C!==255&&(U=E(C,U),D=E(C,D),G=E(C,G))}else if(L===255)continue}else{if(L===255)continue;R=0}if(L&&(T=E(L,T),e.pre||(L=T),R+=T,L)){let q=N>>16&255,P=N>>8&255,ee=N&255;L!==255&&(q=E(L,q),P=E(L,P),ee=E(L,ee)),U+=q,D+=P,G+=ee}!e.pre&&R&&R<255&&(U=he(U,R),D=he(D,R),G=he(G,R)),e.wr(n,I,R<<24|U<<16|D<<8|G,cr(m,O,v))}}}}function Sy(t){return(e,n,r,a,s,i)=>{let c=s*t,u=(e.i32??e.u16??e.u8)===(r.i32??r.u16??r.u8)&&n>a;for(let l=0;l<i;l++){let d=u?i-1-l:l,f=n+d*e.scan,m=a+d*r.scan;e.i32?e.i32.copyWithin(f>>2,m>>2,m+c>>2):e.u16?e.u16.copyWithin(f>>1,m>>1,m+c>>1):e.u8.copyWithin(f,m,m+c)}}}function lh(t,e,n){return t.i32?t.i32.subarray(e>>2,e+n>>2):t.u16?t.u16.subarray(e>>1,e+n>>1):t.u8.subarray(e,e+n)}function qr(t){let e=Sy(t);return(n,r,a,s,i,c)=>{if((n.i32??n.u16??n.u8)===(a.i32??a.u16??a.u8))return e(n,r,a,s,i,c);let o=i*t;for(let u=0;u<c;u++)lh(n,r+u*n.scan,o).set(lh(a,s+u*a.scan,o))}}function Bt(t,e){return(n,r,a,s,i,c,o)=>{for(let u=0;u<c;u++){let l=r+u*n.scan,d=s+u*a.scan;for(let f=0;f<i;f++,l+=e.ps,d+=t.ps)fh(e,n,l,uh(t,a,d),cr(o,f,u))}}}var ph=t=>t<<16|t&65280|t>>16&255;function gh(){return(t,e,n,r,a,s)=>{for(let i=0;i<s;i++){let c=e+i*t.scan>>2,o=r+i*n.scan>>2;for(let u=0;u<a;u++)t.i32[c++]=ph(n.i32[o++])}}}function yh(){return(t,e,n,r,a,s,i,c,o,u,l)=>{for(let d=0;d<s;d++,c+=u){let f=r+(c>>l)*n.scan,m=e+d*t.scan>>2,p=i;for(let b=0;b<a;b++,p+=o)t.i32[m++]=ph(n.i32[f+(p>>l)*4>>2])}}}function Yr(t){return(e,n,r,a,s,i,c,o,u,l,d)=>{for(let f=0;f<i;f++,o+=l){let m=a+(o>>d)*r.scan,p=n+f*e.scan,b=c;for(let y=0;y<s;y++,p+=t,b+=u){let g=m+(b>>d)*t;if(e.i32)e.i32[p>>2]=r.i32[g>>2];else if(e.u16)e.u16[p>>1]=r.u16[g>>1];else for(let h=0;h<t;h++)e.u8[p+h]=r.u8[g+h]}}}}function Hn(t,e){return(n,r,a,s,i,c,o,u,l,d,f,m)=>{for(let p=0;p<c;p++,u+=d){let b=s+(u>>f)*a.scan,y=r+p*n.scan,g=o;for(let h=0;h<i;h++,y+=e.ps,g+=l)fh(e,n,y,uh(t,a,b+(g>>f)*t.ps),cr(m,h,p))}}}var kn="sun/java2d/loops/",uo=kn+"GraphicsPrimitive",Hs=[{cls:"",src:"",comp:"",dst:"",fn:null}];function ve(t,e,n,r,a=null){Hs.push({cls:t,src:e,comp:n,dst:r,fn:a})}function Se(t,e){if(e===null)throw new A("java/lang/NullPointerException","surfaceData");let n=e.x;if(n)return n;if(e.cls.name==="sun/java2d/NullSurfaceData")return null;throw t.vm.getField(e,"sun/java2d/SurfaceData","valid")?new A("java/lang/NullPointerException","native ops missing"):new A("sun/java2d/InvalidPipeException","invalid data")}function ut(t,e){let n=Hs[Number(t.getField(e,uo,"pNativePrim"))];if(!n||!n.cls)throw new A("java/lang/InternalError","Non-native Primitive invoked natively");return n}var ft=t=>t>=2147483647?2147483647:t<=-2147483648?-2147483648:t!==t?0:Math.trunc(t);function We(t,e){if(e===null)return{x1:-2147483648,y1:-2147483648,x2:2147483647,y2:2147483647};let n=r=>t.getField(e,"sun/java2d/pipe/Region",r);return{x1:n("lox"),y1:n("loy"),x2:n("hix"),y2:n("hiy")}}function be(t,e,n,r,a){t.x1<e&&(t.x1=e),t.y1<n&&(t.y1=n),t.x2>r&&(t.x2=r),t.y2>a&&(t.y2=a)}function vh(t,e,n,r,a){be(t,e,n,r<=0?e:e+r|0,a<=0?n:n+a|0)}function*Ta(t,e,n){if(n.x1>=n.x2||n.y1>=n.y2)return;let r=t.vm,a=e?r.getField(e,"sun/java2d/pipe/Region","endIndex"):0;if(a===0){yield{...n};return}let s=r.getField(e,"sun/java2d/pipe/Region","bands").a,i=0;for(;i<a;){let c=s[i++];if(c>=n.y2)return;c<n.y1&&(c=n.y1);let o=s[i++],u=s[i++];if(o>n.y2&&(o=n.y2),o<=c){i+=u*2;continue}for(;u-- >0;){let l=s[i++],d=s[i++];if(l>=n.x2){i+=u*2;break}l<n.x1&&(l=n.x1),d>n.x2&&(d=n.x2),d>l&&(yield{x1:l,y1:c,x2:d,y2:o})}}}function Kr(t,e){return e?{ea:t.getField(e,"java/awt/AlphaComposite","extraAlpha"),rule:t.getField(e,"java/awt/AlphaComposite","rule"),extra:dh(t.getField(e,"java/awt/AlphaComposite","extraAlpha"))}:{rule:0,extra:0,ea:0}}function qt(t,e,n){if(t.i32)t.i32[e>>2]=n;else if(t.u16)t.u16[e>>1]=n;else{let r=t.u8;r[e]=n,t.ps>1&&(r[e+1]=n>>8,r[e+2]=n>>16,t.ps>3&&(r[e+3]=n>>24))}}function dt(t,e){return be(t,0,0,e.w,e.h),t.x2>t.x1&&t.y2>t.y1}var st=(t,e,n)=>t.getField(e,"sun/java2d/SunGraphics2D",n);function zs(t,e,n){if(t.i32)t.i32[e>>2]^=n;else if(t.u16)t.u16[e>>1]^=n;else{let r=t.u8;r[e]^=n,t.ps>1&&(r[e+1]^=n>>8,r[e+2]^=n>>16,t.ps>3&&(r[e+3]^=n>>24))}}var xh=(t,e)=>e&1?t.ps:e&2?-t.ps:e&4?t.scan:e&8?-t.scan:0;function Ih(t,e,n,r,a,s,i,c,o,u){let l=xh(t,s),d=xh(t,c)+l,f=t.off+n*t.scan+e*t.ps;if(i===0)do u(f),f+=l;while(--r>0);else do u(f),a<0?(f+=l,a=a+i|0):(f+=d,a=a-o|0);while(--r>0)}var fo={fill(t,e,n,r,a,s){for(let i=n;i<a;i++){let c=t.off+i*t.scan+e*t.ps;if(t.i32)t.i32.fill(s,c>>2,(c>>2)+r-e);else if(t.u16)t.u16.fill(s,c>>1,(c>>1)+r-e);else if(t.ps===1)t.u8.fill(s&255,c,c+r-e);else for(let o=0,u=c;o<r-e;o++,u+=t.ps)qt(t,u,s)}},run(t,e,n,r,a,s,i,c,o,u){Ih(t,e,n,a,s,i,c,o,u,l=>qt(t,l,r))},put(t,e,n,r){qt(t,t.off+n*t.scan+e*t.ps,r)}};function kh(t,e){let n=r=>(r^t)&~e;return{fill(r,a,s,i,c,o){let u=n(o);for(let l=s;l<c;l++)for(let d=a,f=r.off+l*r.scan+a*r.ps;d<i;d++,f+=r.ps)zs(r,f,u)},run(r,a,s,i,c,o,u,l,d,f){let m=n(i);Ih(r,a,s,c,o,u,l,d,f,p=>zs(r,p,m))},put(r,a,s,i){zs(r,r.off+s*r.scan+a*r.ps,n(i))}}}var Jy="sun/java2d/SunGraphics2D",jh="sun/java2d/loops/XORComposite";function fr(t,e,n){let r=ut(t,e);if(r.comp!=="Xor")return r.fn(0,0);let a=t.getField(n,Jy,"composite");return r.fn(t.getField(a,jh,"xorPixel"),t.getField(a,jh,"alphaMask"))}var wh=t=>t<<8|t>>>24,Ct={IntArgb:t=>t,IntArgbPre:Gs,IntRgb:t=>t,IntBgr:t=>t<<16|t&65280|t>>16&255,ThreeByteBgr:t=>t,FourByteAbgr:wh,FourByteAbgrPre:t=>wh(Gs(t)),ByteGray:t=>Wr(t>>16&255,t>>8&255,t&255),Ushort565Rgb:t=>t>>8&63488|t>>5&2016|t>>3&31,Ushort555Rgb:t=>t>>9&31744|t>>6&992|t>>3&31};function Fa(t){let e=Ct[t];return(n,r,a,s,i,c,o)=>{for(let u=0;u<c;u++){let l=r+u*n.scan,d=s+u*a.scan;for(let f=0;f<i;f++,l+=n.ps,d+=4){let m=a.i32[d>>2];m>=0||zs(n,l,(e(m,n)^o.xor)&~o.mask)}}}}function My(t,e){if(t.i32)return t.i32[e>>2];if(t.u16)return t.u16[e>>1];let n=t.u8,r=n[e];return t.ps>1&&(r|=n[e+1]<<8|n[e+2]<<16),t.ps>3&&(r|=n[e+3]<<24),r}var mo=(t,e,n,r,a,s,i)=>{for(let c=0;c<s;c++){let o=e+c*t.scan,u=r+c*n.scan;for(let l=0;l<a;l++,o+=t.ps,u+=n.ps)zs(t,o,My(n,u)^i.xor)}};var $y=(t,e,n)=>(19672*t+38621*e+7500*n)/256&65535,Qr=t=>$y(t>>16&255,t>>8&255,t&255),le=(t,e)=>Math.floor((t*e>>>0)/65535),Wc=(t,e)=>Math.floor((t*65535>>>0)/e),Yt=t=>(t<<8)+t;V.UshortGray={ps:2,opaque:!0,pre:!1,gray:!0,rd:(t,e)=>4278190080|(t.u16[e>>1]>>8)*65793,wr:(t,e,n)=>{t.u16[e>>1]=Qr(n)}};Ct.UshortGray=Qr;function ho([t,e,n]){let r=n+e;return{and:Yt(t),xor:e,add:Yt(r)-e}}var bo=(t,e)=>(e&t.and^t.xor)+t.add|0,Ah=t=>Math.floor(t.ea*65535+.5),Ty=(t,e,n,r,a,s,i,c)=>{let o=Yt(c>>>24),u=Qr(c),l;o===0?(u=0,l=0):(l=u,o!==65535&&(u=le(o,u)));for(let d=0;d<i;d++){let f=e+d*t.scan;for(let m=0;m<s;m++,f+=2){if(n){let p=n[r+d*a+m];if(p===0)continue;if(p!==255){p=Yt(p);let b=65535-p,y=le(b,65535);b=y,y+=le(p,o);let g=Math.floor((b*t.u16[f>>1]+p*u>>>0)/65535);y&&y<65535&&(g=Wc(g,y)),t.u16[f>>1]=g;continue}}t.u16[f>>1]=l}}},Fy=(t,e,n,r,a,s,i,c)=>{let o=Yt(c>>>24),u=Qr(c);if(o!==65535){if(o===0)return;u=le(o,u)}for(let l=0;l<i;l++){let d=e+l*t.scan;for(let f=0;f<s;f++,d+=2){let m,p;if(n){let b=n[r+l*a+f];if(b===0)continue;if(b!==255?(b=Yt(b),m=le(b,o),p=le(b,u)):(m=o,p=u),m!==65535){let y=65535-m,g=le(y,65535);if(y=g,m+=g,y){let h=t.u16[d>>1];y!==65535&&(h=le(y,h)),p+=h}}}else{let b=65535-o;m=le(b,65535),b=m,m+=o,p=le(b,t.u16[d>>1])+u}t.u16[d>>1]=p}}},Oy=(t,e,n,r,a,s,i,c,o)=>{let u=Yt(c>>>24),l=Qr(c);u!==65535&&(l=le(u,l));let d=ho(Xr[o][0]),f=ho(Xr[o][1]),m=n!==null||(f.and|f.add)!==0||d.and!==0,p=bo(f,u);for(let b=0;b<i;b++){let y=e+b*t.scan;for(let g=0;g<s;g++,y+=2){let h=65535,j=p;if(n){if(h=n[r+b*a+g],h===0)continue;h=Yt(h)}let x=m?65535:0,w=bo(d,x);h!==65535&&(w=le(h,w),j=65535-h+le(h,j));let v,I;if(w)w===65535?(v=u,I=l):(v=le(w,u),I=le(w,l));else{if(j===65535)continue;v=0,I=0}if(j&&(x=le(j,x),v+=x,x)){let J=t.u16[y>>1];x!==65535&&(J=le(x,J)),I+=J}v&&v<65535&&(I=Wc(I,v)),t.u16[y>>1]=I}}},Sh=(t,e)=>t.opaque?65535:Yt(e>>>24);function Ly(t){return(e,n,r,a,s,i,c,o,u,l,d,f)=>{let m=Ah(f);for(let p=0;p<u;p++){let b=n+p*e.scan,y=a+p*r.scan;for(let g=0;g<o;g++,b+=2,y+=4){let h=65535;if(s){if(h=s[i+p*c+g],h===0)continue;h=le(Yt(h),m)}else h=m;let j=t.rd(r,y),x=le(h,Sh(t,j));if(!x)continue;let w=t.pre?h:x,v=Qr(j);if(x<65535){let I=65535-x,J=le(I,65535);I=J,x+=J,v=Math.floor((I*e.u16[b>>1]+w*v>>>0)/65535)}else w<65535&&(v=le(w,v));e.u16[b>>1]=v}}}}function Ny(t){return(e,n,r,a,s,i,c,o,u,l,d,f)=>{let m=Ah(f),p=ho(Xr[l][0]),b=ho(Xr[l][1]),y=(p.and|p.add)!==0||b.and!==0,g=s!==null||(b.and|b.add)!==0||p.and!==0;for(let h=0;h<u;h++){let j=n+h*e.scan,x=a+h*r.scan;for(let w=0;w<o;w++,j+=2,x+=4){let v=65535;if(s){if(v=s[i+h*c+w],v===0)continue;v=Yt(v)}let I=0,J=0,O=0;y&&(O=t.rd(r,x),I=le(m,Sh(t,O))),g&&(J=65535);let S=bo(p,J),M=bo(b,I);v!==65535&&(S=le(v,S),M=65535-v+le(v,M));let T=0,F=0;if(S){if(T=le(S,I),S=t.pre?le(S,m):T,S)F=Qr(O),S!==65535&&(F=le(S,F));else if(M===65535)continue}else if(M===65535)continue;if(M&&(J=le(M,J),M=J,T+=J,M)){let N=e.u16[j>>1];M!==65535&&(N=le(M,N)),F+=N}T&&T<65535&&(F=Wc(F,T)),e.u16[j>>1]=F}}}}function Jh(t){let e=V.UshortGray,n=(r,a=r)=>{t("Blit",r,"SrcNoEa","UshortGray",Bt(V[a],e)),t("ScaledBlit",r,"SrcNoEa","UshortGray",Hn(V[a],e))};t("Blit","UshortGray","SrcNoEa","UshortGray",qr(2)),t("ScaledBlit","UshortGray","SrcNoEa","UshortGray",Yr(2)),t("Blit","UshortGray","Xor","UshortGray",mo),t("Blit","UshortGray","SrcNoEa","IntArgb",Bt(e,V.IntArgb)),t("ScaledBlit","UshortGray","SrcNoEa","IntArgb",Hn(e,V.IntArgb)),t("Blit","UshortGray","SrcNoEa","ByteGray",Bt(e,V.ByteGray)),t("ScaledBlit","UshortGray","SrcNoEa","ByteGray",Hn(e,V.ByteGray)),n("IntArgb"),n("IntRgb","IntArgb"),n("ThreeByteBgr"),n("ByteGray"),t("Blit","IntArgb","Xor","UshortGray",Fa("UshortGray")),t("MaskFill","AnyColor","Src","UshortGray",Ty),t("MaskFill","AnyColor","SrcOver","UshortGray",Fy),t("MaskFill","AnyColor","AnyAlpha","UshortGray",Oy);for(let r of["IntArgb","IntArgbPre"])t("MaskBlit",r,"SrcOver","UshortGray",Ly(V[r]));for(let r of["IntArgb","IntArgbPre","IntRgb"])t("MaskBlit",r,"AnyAlpha","UshortGray",Ny(V[r]))}function go(t,e,n){t.used[e]||(t.used[e]=1,t.lut[e]=n,t.rgb[t.active]=e,t.indices[t.active]=n,t.active++)}function Xc(t,e,n,r,a){(t&e)+n<=e&&go(r,t+n,a),(t&e)>=n&&go(r,t-n,a)}function Fh(t){let e={used:t.used,lut:t.lut,rgb:new Uint16Array(6*t.active),indices:new Uint8Array(6*t.active),active:0};for(let n=t.active-1;n>=0;n--){let r=t.rgb[n],a=t.indices[n];Xc(r,31744,1024,e,a),Xc(r,992,32,e,a),Xc(r,31,1,e,a)}e.active&&Fh(e)}function By(t,e){let n={used:new Uint8Array(32768),lut:new Uint8Array(32768),rgb:new Uint16Array(e),indices:new Uint8Array(e),active:0},r=s=>(s&16252928)>>9|(s&63488)>>6|(s&248)>>3,a=(e>>1)+(e&1);for(let s=0;s<a;s++)go(n,r(t[s]),s&255),go(n,r(t[e-s-1]),e-s-1&255);return Fh(n),n.lut}function Cy(t,e){for(let r=0;r<32;r+=31)for(let a=0;a<32;a+=31)for(let s=0;s<32;s+=31){let i=t[e[r+32*(a+32*s)]],c=i>>16&255,o=i>>8&255,u=i&255;if((r===0?u>5:u<250)||(a===0?o>5:o<250)||(s===0?c>5:c<250))return!1}return!0}function qc(t,e){let n=new Int8Array(64);for(let r=1;r<8;r*=2)for(let a=0;a<r;a++)for(let s=0;s<r;s++)n[(a<<3)+s]=n[(a<<3)+s]*4,n[(a+r<<3)+s+r]=n[(a<<3)+s]+1,n[(a<<3)+s+r]=n[(a<<3)+s]+2,n[(a+r<<3)+s]=n[(a<<3)+s]+3;for(let r=0;r<64;r++)n[r]=Math.trunc(n[r]*(e-t)/64)+t;return n}var Yc=(()=>{let t=Math.trunc(256/Math.pow(256,.3333333333333333)),e=qc(-t>>1,t>>1),n=qc(-t>>1,t>>1),r=qc(-t>>1,t>>1);for(let a=0;a<8;a++)for(let s=0;s<4;s++){let i=n[(a<<3)+s];n[(a<<3)+s]=n[(a<<3)+7-s],n[(a<<3)+7-s]=i,i=r[(s<<3)+a],r[(s<<3)+a]=r[(7-s<<3)+a],r[(7-s<<3)+a]=i}return{r:e,g:n,b:r}})();function Oh(t){if(t.cdata)return t.cdata;if(!t.lut)throw new A("java/lang/NullPointerException","Attempt to lock missing colormap");let e=By(t.lut,t.lutSize);return t.cdata={inv:e,primaries:Cy(t.lut,e)}}var Oa=(t,e)=>Oh(e).inv[((t>>19&31)<<10)+((t>>11&31)<<5)+(t>>3&31)],La=(t,e)=>t.lut[e]|0,Lh=(t,e,n,r=0)=>{let a=n>>16&255,s=n>>8&255,i=n&255,c=Oh(t);(a===0||a===255)&&(s===0||s===255)&&(i===0||i===255)&&c.primaries||(a+=Yc.r[r],s+=Yc.g[r],i+=Yc.b[r]),(a|s|i)>>8!==0&&(a>>8!==0&&(a=~(a>>31)&255),s>>8!==0&&(s=~(s>>31)&255),i>>8!==0&&(i=~(i>>31)&255)),t.u8[e]=c.inv[(a>>3<<10)+(s>>3<<5)+(i>>3)]};function eu(t){let e=t===1?3:t===2?2:1,n=(1<<t)-1,r=8-t,a=8/t;return{ps:1,packed:!0,opaque:!1,pre:!1,gray:!1,rd:(s,i)=>La(s,s.u8[i>>e]>>r-(i&a-1)*t&n),wr:(s,i,c)=>{let o=r-(i&a-1)*t,u=i>>e;s.u8[u]=s.u8[u]&~(n<<o)|Oa(c,s)<<o}}}V.ByteIndexed={ps:1,opaque:!1,pre:!1,gray:!1,rd:(t,e)=>La(t,t.u8[e]),wr:Lh};V.ByteIndexedBm={...V.ByteIndexed,rdPre:(t,e)=>{let n=La(t,t.u8[e]);return n&n>>24}};V.ByteBinary1Bit=eu(1);V.ByteBinary2Bit=eu(2);V.ByteBinary4Bit=eu(4);Ct.ByteIndexed=Oa;Ct.ByteBinary1Bit=Oa;Ct.ByteBinary2Bit=Oa;Ct.ByteBinary4Bit=Oa;function Mh(t,e,n){let r=t===1?3:t===2?2:1,a=(1<<t)-1,s=8-t,i=8/t,c=(o,u,l)=>{let d=s-(u&i-1)*t,f=u>>r;o.u8[f]=e?o.u8[f]^((l^n)&a)<<d:o.u8[f]&~(a<<d)|l<<d};return{fill(o,u,l,d,f,m){for(let p=l;p<f;p++)for(let b=u,y=o.off+p*o.scan+u;b<d;b++,y++)c(o,y,m)},run(o,u,l,d,f,m,p,b,y,g){let h=v=>v&1?1:v&2?-1:v&4?o.scan:v&8?-o.scan:0,j=h(p),x=h(y)+j,w=(o.off-o.bo+l*o.scan)/i;do{let v=u+o.bo,I=v%i,J=s-I*t;if(J<8){let O=w+Math.trunc(v/i);o.u8[O]=e?o.u8[O]^((d^n)&a)<<J:o.u8[O]&~(a<<J)|d<<J}b===0||m<0?(u+=j,m=m+b|0):(u+=x,m=m-g|0)}while(--f>0)},put(o,u,l,d){c(o,o.off+l*o.scan+u,d)}}}var Ey=t=>{let e=Mh(t,!1,0);return{plain:()=>e,xor:n=>Mh(t,!0,n)}};function Py(t){let e=(1<<t)-1,n=8-t,r=8/t,a=t===1?3:t===2?2:1;return(s,i,c,o,u,l,d)=>{for(let f=0;f<l;f++){let m=i+f*s.scan,p=o+f*c.scan;for(let b=0;b<u;b++,m++,p+=4){let y=c.i32[p>>2];if(y>=0)continue;let g=n-(m&r-1)*t;s.u8[m>>a]^=((Oa(y,s)^d.xor)&e)<<g}}}}var Dy=(t,e,n)=>t==="IntBgr"?(e&255)<<16|e&65280|e>>16&255:Ct[t](e,n);function tu(t,e,n,r,a,s){t==="ByteIndexed"?Lh(n,r,a,s):Nh(n,r,e?Dy(t,a,n):Ct[t](a,n))}function Kc(t,e){let n=V[t].ps;return(r,a,s,i,c,o,u)=>{for(let l=0;l<o;l++){let d=a+l*r.scan,f=i+l*s.scan;for(let m=0;m<c;m++,d+=n,f++){let p=La(s,s.u8[f]);(!e||p<0)&&tu(t,e,r,d,p,cr(u,m,l))}}}}function Qc(t,e){let n=V[t].ps;return(r,a,s,i,c,o,u,l,d,f,m,p)=>{for(let b=0;b<o;b++,l+=f){let y=i+(l>>m)*s.scan,g=a+b*r.scan,h=u;for(let j=0;j<c;j++,g+=n,h+=d){let x=La(s,s.u8[y+(h>>m)]);(!e||x<0)&&tu(t,e,r,g,x,cr(p,j,b))}}}}function $h(t){let e=V[t].ps;return(n,r,a,s,i,c,o,u)=>{for(let l=0;l<c;l++){let d=r+l*n.scan,f=s+l*a.scan;for(let m=0;m<i;m++,d+=e,f++){let p=La(a,a.u8[f]);p<0?tu(t,!1,n,d,p,cr(u,m,l)):Nh(n,d,o)}}}}function Nh(t,e,n){if(t.i32)t.i32[e>>2]=n;else if(t.u16)t.u16[e>>1]=n;else{let r=t.u8;r[e]=n,t.ps>1&&(r[e+1]=n>>8,r[e+2]=n>>16,t.ps>3&&(r[e+3]=n>>24))}}function Bh(t,e){if(t.lut===e.lut)return!0;if(t.lutSize>e.lutSize)return!1;for(let n=0;n<t.lutSize;n++)if(t.lut[n]!==e.lut[n])return!1;return!0}var Ry=(()=>{let t=Bt(V.ByteIndexed,V.ByteIndexed),e=qr(1);return(n,r,a,s,i,c,o)=>Bh(a,n)?e(n,r,a,s,i,c,o):t(n,r,a,s,i,c,o)})(),Uy=(()=>{let t=Hn(V.ByteIndexed,V.ByteIndexed),e=Yr(1);return(n,r,a,s,i,c,o,u,l,d,f,m)=>Bh(a,n)?e(n,r,a,s,i,c,o,u,l,d,f,m):t(n,r,a,s,i,c,o,u,l,d,f,m)})(),Vy=["IntArgb","IntArgbPre","IntRgb","IntBgr","ThreeByteBgr","FourByteAbgr","FourByteAbgrPre","ByteGray","Ushort565Rgb","Ushort555Rgb","UshortGray"];function Ch(t){let e=V.ByteIndexed,n=(r,a=r)=>{t("Blit",r,"SrcNoEa","ByteIndexed",Bt(V[a],e)),t("ScaledBlit",r,"SrcNoEa","ByteIndexed",Hn(V[a],e))};n("IntArgb"),n("IntRgb","IntArgb"),n("ThreeByteBgr"),n("ByteGray"),t("Blit","ByteIndexed","SrcNoEa","ByteIndexed",Ry),t("ScaledBlit","ByteIndexed","SrcNoEa","ByteIndexed",Uy),t("Blit","ByteIndexedBm","SrcOverNoEa","ByteIndexed",Kc("ByteIndexed",!0)),t("ScaledBlit","ByteIndexedBm","SrcOverNoEa","ByteIndexed",Qc("ByteIndexed",!0)),t("BlitBg","ByteIndexedBm","SrcNoEa","ByteIndexed",$h("ByteIndexed")),t("Blit","IntArgb","Xor","ByteIndexed",Fa("ByteIndexed")),t("MaskFill","AnyColor","AnyAlpha","ByteIndexed",_s(e));for(let r of["IntArgb","IntArgbPre","IntRgb"])t("MaskBlit",r,"AnyAlpha","ByteIndexed",ur(V[r],e));for(let r of Vy)t("Blit","ByteIndexed","SrcNoEa",r,Kc(r,!1)),t("ScaledBlit","ByteIndexed","SrcNoEa",r,Qc(r,!1)),t("Blit","ByteIndexedBm","SrcOverNoEa",r,Kc(r,!0)),t("ScaledBlit","ByteIndexedBm","SrcOverNoEa",r,Qc(r,!0)),t("BlitBg","ByteIndexedBm","SrcNoEa",r,$h(r));t("TransformHelper","ByteIndexed","SrcNoEa","IntArgbPre"),t("TransformHelper","ByteIndexedBm","SrcNoEa","IntArgbPre")}var po=(t,e,n)=>(r,a,s,i,c,o,u)=>t(r,n?a+u.dx:a,s,e?i+u.sx:i,c,o,u),Th=(t,e,n)=>(r,a,s,i,c,o,u,l,d,f,m,p)=>t(r,n?a+p.dx:a,s,e?i+p.sx:i,c,o,u,l,d,f,m,p),Gy=t=>(e,n,r,a,s,i,c,o,u,l)=>t(e,n+l.dx,r,a,s,i,c,o,u,l);function Eh(t){for(let e of[1,2,4]){let n="ByteBinary"+e+"Bit",r=V[n],a=Ey(e);for(let s of["FillRect","FillSpans","DrawLine","DrawRect","DrawPolygons","DrawPath","FillPath"])t(s,"AnyColor","SrcNoEa",n,a.plain),t(s,"AnyColor","Xor",n,a.xor);t("Blit",n,"SrcNoEa",n,po(Bt(r,r),!0,!0)),t("Blit",n,"SrcNoEa","IntArgb",po(Bt(r,V.IntArgb),!0,!1)),t("Blit","IntArgb","SrcNoEa",n,po(Bt(V.IntArgb,r),!1,!0)),t("Blit","IntArgb","Xor",n,po(Py(e),!1,!0)),t("MaskBlit",n,"AnyAlpha","IntArgb",Th(ur(r,V.IntArgb),!0,!1)),t("MaskBlit","IntArgb","AnyAlpha",n,Th(ur(V.IntArgb,r),!1,!0)),t("MaskFill","AnyColor","AnyAlpha",n,Gy(_s(r)))}}var ea="sun/font/GlyphList",_y=["AnyByte","AnyShort","Any3Byte","AnyInt","Any4Byte"],Hy=["IntArgb","IntArgbPre","IntRgb","IntBgr","ThreeByteBgr","FourByteAbgr","FourByteAbgrPre","ByteGray","Ushort565Rgb","Ushort555Rgb"];function yo(t,e,n,r,a,s,i){for(let c of e){if(!c.pixels)continue;let o=c.x,u=c.y,l=c.pixels,d=o+c.width,f=u+c.height;o<n&&(l+=n-o,o=n),u<r&&(l+=(r-u)*c.rowBytes,u=r),d>a&&(d=a),f>s&&(f=s);for(let m=u;m<f;m++,l+=c.rowBytes){let p=t.off+m*t.scan+o*t.ps;for(let b=0;b<d-o;b++,p+=t.ps)i(p,l+b)}}}var zy=(t,e,n,r,a,s,i,c,o)=>yo(t,n,s,i,c,o,(u,l)=>{e[l]&&qt(t,u,r)});function Zy(t){return(e,n,r,a,s,i,c,o,u)=>{let l=s>>16&255,d=s>>8&255,f=s&255;yo(e,r,i,c,o,u,(m,p)=>{let b=n[p];if(!b)return;if(b===255)return qt(e,m,a);let y=255-b,g=t.rd(e,m);t.wr(e,m,4278190080|E(y,g>>16&255)+E(b,l)<<16|E(y,g>>8&255)+E(b,d)<<8|E(y,g&255)+E(b,f))})}}function Wy(t,e,n,r,a,s,i,c,o){let u=Wr(a>>16&255,a>>8&255,a&255);yo(t,n,s,i,c,o,(l,d)=>{let f=e[d];if(f){if(f===255)return qt(t,l,r);t.u8[l]=E(255-f,t.u8[l])+E(f,u)}})}function Xy(t){return(e,n,r,a,s,i,c,o,u)=>{let l=s>>>24,d=s>>16&255,f=s>>8&255,m=s&255;yo(e,r,i,c,o,u,(p,b)=>{let y=n[b];if(!y)return;let g=y===255?l:E(y,l);if(g===255)return qt(e,p,a);let h=255-g,j=t.rd(e,p),x=j>>>24,w=E(g,d),v=E(g,f),I=E(g,m);if(x){x=E(h,x),g+=x;let J=t.pre?h:x,O=j>>16&255,S=j>>8&255,M=j&255;J!==255&&(O=E(J,O),S=E(J,S),M=E(J,M)),w+=O,v+=S,I+=M}!t.pre&&g&&g<255&&(w=he(w,g),v=he(v,g),I=he(I,g)),t.wr(e,p,g<<24|w<<16|v<<8|I)})}}for(let t of _y)ve("DrawGlyphList","AnyColor","SrcNoEa",t,zy);for(let t of Hy){let e=V[t];ve("DrawGlyphListAA","AnyColor","SrcNoEa",t,e.gray?Wy:e.opaque?Zy(e):Xy(e))}var Na=Math.fround,Ph=t=>Math.floor(t)|0;function qy(t,e,n,r){let a=t.mem.dv,s=t.getField(e,ea,"gposx"),i=t.getField(e,ea,"gposy"),c=t.getField(e,ea,"images").a,u=t.getField(e,ea,"usePositions")?t.getField(e,ea,"positions").a:null,l=[];for(let d=n;d<r;d++){let f=Number(c[d]),m=a.getFloat32(f+16,!0),p=a.getFloat32(f+20,!0),b=u?Na(s+u[d*2]):s,y=u?Na(i+u[d*2+1]):i;l.push({pixels:Number(a.getBigUint64(f+32,!0)),width:a.getUint16(f+8,!0),height:a.getUint16(f+10,!0),rowBytes:a.getUint16(f+12,!0),x:Ph(Na(b+m)),y:Ph(Na(y+p))}),u||(s=Na(s+a.getFloat32(f,!0)),i=Na(i+a.getFloat32(f+4,!0)))}return u||(t.setField(e,ea,"gposx",s),t.setField(e,ea,"gposy",i)),l}function Dh(t,e,n,r,a,s,i){let c=t.vm,o=qy(c,a,s,i),u=Se(t,r);if(!u)return;let l=We(c,c.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));l.y2<=l.y1||l.x2<=l.x1||!dt(l,u)||ut(c,e).fn(u,c.mem.u8,o,st(c,n,"pixel"),st(c,n,"eargb"),l.x1,l.y1,l.x2,l.y2)}var Rh={"sun/java2d/loops/DrawGlyphList.DrawGlyphList"(t,[e,n,r,a,s,i]){Dh(t,e,n,r,a,s,i)},"sun/java2d/loops/DrawGlyphListAA.DrawGlyphListAA"(t,[e,n,r,a,s,i]){Dh(t,e,n,r,a,s,i)}};var vo=2048,nu=4294967296,Ba=1n<<31n;function dr(t){return t*=nu,t!==t?0n:t>=2**63?(1n<<63n)-1n:t<=-(2**63)?-(1n<<63n):BigInt(Math.trunc(t))}var mr=t=>Number(BigInt.asIntN(32,t)),ru=1,jo=2,Uh=3,Ca=class{hi;lo;dhi;dlo;constructor(e,n){this.hi=Number(e>>32n),this.lo=Number(e&0xffffffffn),this.dhi=Number(n>>32n),this.dlo=Number(n&0xffffffffn)}step(){this.lo+=this.dlo,this.lo>=nu&&(this.lo-=nu,this.hi++),this.hi+=this.dhi}},Yy=(t,e,n,r,a,s,i,c,o)=>{let u=t.ps,l=e.scan,d=0,f=0,m=e.w,p=e.h;if(o===ru){let h=new Ca(a,s),j=new Ca(i,c);for(let x=0;x<r;x++)n[x]=Hc(t,e,e.off+(j.hi|0)*l+(h.hi|0)*u),h.step(),j.step();return}let b=new Ca(a-Ba,s),y=new Ca(i-Ba,c),g=(h,j)=>Hc(t,e,e.off+h*l+j*u);if(o===jo){for(let h=0;h<r;h++){let j=b.hi|0,x=y.hi|0,w=j+1-m>>>31,v=j>>31;j-=v,w+=v;let I=x+1-p>>31;v=x>>31,x-=v,I-=v;let J=x+f,O=J+(I&1);j+=d,n[h*4]=g(J,j),n[h*4+1]=g(J,j+w),n[h*4+2]=g(O,j),n[h*4+3]=g(O,j+w),b.step(),y.step()}return}for(let h=0;h<r;h++){let j=b.hi|0,x=y.hi|0,w=-j>>31,v=j+1-m>>>31,I=j+2-m>>>31,J=j>>31;j-=J,v+=J,I+=v;let O=-x>>31&-1,S=x+1-p>>31&1,M=x+2-p>>31&1;J=x>>31,x-=J,S+=J&-1,j+=d;let T=x+f+O,F=[j+w,j,j+v,j+I];for(let N=0;N<4;N++){for(let C=0;C<4;C++)n[h*16+N*4+C]=g(T,F[C]);T+=N===0?-O:N===1?S:M}b.step(),y.step()}};function Ky(t,e,n,r,a,s){for(let i=0;i<e;i++){let c=n>>>24,o=a>>>24,u=0;for(let l=0;l<32;l+=8){let d=b=>t[i*4+b]>>>l&255,f=d(0),m=d(1),p=(f<<8)+(m-f)*c;f=d(2),m=d(3),m=(f<<8)+(m-f)*c,p=(p<<8)+(m-p)*o,u|=p+32768>>16<<l}t[i]=u,n=n+r|0,a=a+s|0}}var An=new Int32Array(513),Gh=!1;function Qy(t){let e=0;for(;e<256;e++){let n=e/256;n=((t+2)*n-(t+3))*n*n+1,An[e]=Math.trunc(n*256)}for(;e<384;e++){let n=e/256;n=((t*n-5*t)*n+8*t)*n-4*t,An[e]=Math.trunc(n*256)}for(An[384]=(256-An[128]*2)/2|0,e++;e<=512;e++)An[e]=256-(An[512-e]+An[e-256]+An[768-e]);Gh=!0}var xo=(t,e)=>(t&=~(t>>31),t-=e,t&=t>>31,t+e);function ev(t,e,n,r,a,s){Gh||Qy(-.5);for(let i=0;i<e;i++){let c=n>>>24,o=a>>>24,u=32768,l=32768,d=32768,f=32768,m=[o+256,o,256-o,512-o],p=[c+256,c,256-c,512-c];for(let b=0;b<16;b++){let y=An[p[b&3]]*An[m[b>>2]],g=t[i*16+b];f+=(g&255)*y,d+=(g>>8&255)*y,l+=(g>>16&255)*y,u+=(g>>24&255)*y}u=xo(u>>16,255),l=xo(l>>16,u),d=xo(d>>16,u),f=xo(f>>16,u),t[i]=u<<24|l<<16|d<<8|f,n=n+r|0,a=a+s|0}}var Vh=t=>!Number.isFinite(t)||Math.abs(t)>=1<<30,_h={"sun/java2d/loops/TransformHelper.Transform"(t,[e,n,r,a,s,i,c,o,u,l,d,f,m,p,b,y,g,h,j]){let x=t.vm,w=Se(t,r),v=w&&Se(t,a),I=V[ut(x,e).src],J=ut(x,n),O=J.fn;if(!w||!v)return;let{rule:S,extra:M,ea:T}=Kr(x,s),F=o;if(F!==ru&&F!==jo&&F!==Uh)return;let N=F===ru?vo:F===jo?vo/4:vo/16,C={x1:u,y1:l,x2:d,y2:f},L={x1:m,y1:p,x2:b,y2:y},R=We(x,i);be(L,R.x1,R.y1,R.x2,R.y2),be(C,0,0,w.w,w.h),be(L,0,0,v.w,v.h),be(R,L.x1,L.y1,L.x2,L.y2);let U=Q=>x.getField(c,"java/awt/geom/AffineTransform",Q),D=U("m00"),G=U("m01"),q=U("m02"),P=U("m10"),ee=U("m11"),$e=U("m12"),Vt=L.y2-L.y1,pe;if(Vt<=0)pe=new Int32Array(2);else if(g!==null&&(g.a.length>>1)-1>=Vt)pe=g.a;else if(g===null)pe=new Int32Array(2+Vt*2);else throw new A("java/lang/InternalError","Unable to allocate edge list");if(R.x2<=R.x1||R.y2<=R.y1){pe[0]=pe[1]=0;return}let pt=d-u,yr=f-l,_a=(Q,ge)=>[D*Q+G*ge+q,P*Q+ee*ge+$e],vr=new Int32Array(vo),gb=w.at(w.off+C.y1*w.scan+C.x1*I.ps,C.x2-C.x1,C.y2-C.y1),yb=V[J.dst].ps,vb={sx:0,dx:L.x1,dy:L.y1,xor:0,mask:0,ea:T},xb=(Q,ge,ye)=>O(v,v.off+ge*v.scan+Q*yb,jb,0,null,0,0,ye,1,S,M,vb),jb=new Zr(vr,0,4,0,0,0),Qo=[[L.x1+.5,L.y1+.5],[L.x2-.5,L.y1+.5],[L.x1+.5,L.y2-.5],[L.x2-.5,L.y2-.5]],_u=_a(h+Qo[0][0],j+Qo[0][1]),wb=Qo.some(([Q,ge])=>{let[ye,ie]=_a(h+Q,j+ge);return Vh(ye)||Vh(ie)}),Hu=(Q,ge,ye,ie,xe,kt,Xn)=>{Yy(I,gb,vr,ye,ie,kt,xe,Xn,F),F===jo?Ky(vr,ye,mr(ie-Ba),mr(kt),mr(xe-Ba),mr(Xn)):F===Uh&&ev(vr,ye,mr(ie-Ba),mr(kt),mr(xe-Ba),mr(Xn)),xb(Q,ge,ye)};if(wb){pe[0]=L.y1,pe[1]=L.y2;for(let Q=L.y1;Q<L.y2;Q++)pe[(Q-L.y1)*2+2]=L.x2,pe[(Q-L.y1)*2+3]=L.x1;for(let Q of Ta(t,i,R))for(let ge=Q.y1;ge<Q.y2;ge++){let ye=(ge-L.y1)*2;for(let ie=Q.x1;ie<Q.x2;ie++){let[xe,kt]=_a(h+ie+.5,j+ge+.5);if(!(xe>=0&&kt>=0&&xe<pt&&kt<yr))continue;let Xn=dr(xe),li=dr(kt);Xn>>32n<BigInt(pt)&&li>>32n<BigInt(yr)&&(pe[ye+2]>ie&&(pe[ye+2]=ie),pe[ye+3]<=ie&&(pe[ye+3]=ie+1),Hu(ie,ge,1,Xn,li,0n,0n))}}return}let Ha=dr(D),za=dr(P),el=dr(G),tl=dr(ee),zu=dr(_u[0]),Zu=dr(_u[1]);pe[0]=L.y1,pe[1]=L.y2;let Wu=(Q,ge)=>{let ye=Q>>32n,ie=ge>>32n;return ye>=0n&&ye<BigInt(pt)&&ie>=0n&&ie<BigInt(yr)},Ib=BigInt(L.x2-L.x1-1)*Ha,kb=BigInt(L.x2-L.x1-1)*za,nl=zu,rl=Zu;for(let Q=L.y1;Q<L.y2;Q++){let ge=L.x1,ye=L.x2,ie=nl,xe=rl;for(;ge<ye&&!Wu(ie,xe);)ge++,ie+=Ha,xe+=za;for(ie=nl+Ib,xe=rl+kb;ye>ge&&!Wu(ie,xe);)ye--,ie-=Ha,xe-=za;pe[(Q-L.y1)*2+2]=ge,pe[(Q-L.y1)*2+3]=ye,nl+=el,rl+=tl}for(let Q of Ta(t,i,R)){let ge=zu+BigInt(Q.y1-L.y1)*el,ye=Zu+BigInt(Q.y1-L.y1)*tl;for(let ie=Q.y1;ie<Q.y2;ie++){let xe=pe[(ie-L.y1)*2+2],kt=pe[(ie-L.y1)*2+3];for(xe<Q.x1&&(xe=Q.x1),kt>Q.x2&&(kt=Q.x2);xe<kt;){let Xn=Math.min(kt-xe,N),li=ge+BigInt(xe-L.x1)*Ha,Ab=ye+BigInt(xe-L.x1)*za;Hu(xe,ie,Xn,li,Ab,Ha,za),xe+=N}ge+=el,ye+=tl}}}};var tv=["IntArgb","IntArgbPre","IntRgb","IntBgr","ThreeByteBgr","FourByteAbgr","FourByteAbgrPre","ByteGray","Ushort565Rgb","Ushort555Rgb"],nv=["AnyByte","AnyShort","Any3Byte","AnyInt","Any4Byte"],rv=["IntArgb>IntBgr","IntRgb>IntBgr","IntBgr>IntRgb"],av=["Ushort565Rgb","Ushort555Rgb"],Hh="java/awt/image/IndexColorModel",zh="sun/java2d/loops/XORComposite",sv=["FillRect","FillSpans","DrawLine","DrawRect","DrawPolygons","DrawPath","FillPath"],iv=["ByteGray","IntBgr","IntRgb","ThreeByteBgr","Ushort565Rgb","Ushort555Rgb"],ov=["FillRect","FillSpans","DrawLine","DrawRect","DrawPolygons","FillPath","DrawPath","FillParallelogram","DrawParallelogram"],lv="ByteGray>IntArgb IntArgb>ByteGray IntRgb>ByteGray=IntArgb>ByteGray ThreeByteBgr>ByteGray FourByteAbgr>IntArgb IntArgb>FourByteAbgr IntRgb>FourByteAbgr ThreeByteBgr>FourByteAbgr ByteGray>FourByteAbgr FourByteAbgrPre>IntArgb IntArgb>FourByteAbgrPre IntRgb>FourByteAbgrPre ThreeByteBgr>FourByteAbgrPre ByteGray>FourByteAbgrPre IntArgbPre>IntArgb IntArgb>IntArgbPre IntRgb>IntArgbPre ThreeByteBgr>IntArgbPre ByteGray>IntArgbPre IntBgr>IntArgb IntArgb>IntBgr ThreeByteBgr>IntBgr IntRgb>IntBgr=IntArgb>IntBgr IntBgr>IntRgb=IntArgb>IntBgr ByteGray>IntBgr=ByteGray>IntRgb IntRgb>IntArgb IntArgb>IntRgb=copy ThreeByteBgr>IntRgb ByteGray>IntRgb ThreeByteBgr>IntArgb IntArgb>ThreeByteBgr IntRgb>ThreeByteBgr=IntArgb>ThreeByteBgr ByteGray>ThreeByteBgr Ushort555Rgb>IntArgb IntArgb>Ushort555Rgb IntRgb>Ushort555Rgb=IntArgb>Ushort555Rgb ThreeByteBgr>Ushort555Rgb ByteGray>Ushort555Rgb Ushort565Rgb>IntArgb IntArgb>Ushort565Rgb IntRgb>Ushort565Rgb=IntArgb>Ushort565Rgb ThreeByteBgr>Ushort565Rgb ByteGray>Ushort565Rgb".split(" "),cv=["IntArgb","IntArgbPre"],uv=["IntArgb","IntArgbPre","IntRgb"];function fv(){for(let t of nv){for(let e of ov)ve(e,"AnyColor","SrcNoEa",t,()=>fo);for(let e of sv)ve(e,"AnyColor","Xor",t,kh)}for(let t of tv){let e=V[t];ve("Blit","IntArgb","Xor",t,Fa(t)),iv.includes(t)&&ve("Blit",t,"Xor",t,mo),ve("Blit",t,"SrcNoEa",t,qr(e.ps)),ve("ScaledBlit",t,"SrcNoEa",t,Yr(e.ps)),ve("MaskFill","AnyColor","Src",t,mh(e)),ve("MaskFill","AnyColor","SrcOver",t,hh(e)),ve("MaskFill","AnyColor","AnyAlpha",t,_s(e));for(let n of cv)ve("MaskBlit",n,"SrcOver",t,Zc(V[n],e));for(let n of uv)ve("MaskBlit",n,"AnyAlpha",t,ur(V[n],e));av.includes(t)||ve("TransformHelper",t,"SrcNoEa","IntArgbPre")}ve("MaskBlit","FourByteAbgrPre","SrcOver","IntArgbPre",Zc(V.FourByteAbgrPre,V.IntArgbPre)),ve("MaskBlit","FourByteAbgrPre","AnyAlpha","IntArgbPre",ur(V.FourByteAbgrPre,V.IntArgbPre)),ve("MaskBlit","IntBgr","AnyAlpha","IntBgr",ur(V.IntBgr,V.IntBgr)),Ch(ve),Eh(ve),Jh(ve);for(let t of lv){let[e,n]=t.split("="),[r,a]=e.split(">"),s,i;if(n==="copy")s=qr(4),i=Yr(4);else if(rv.includes(e))s=gh(),i=yh();else{let[c,o]=n?n.split(">"):[r,a];s=Bt(V[c],V[o]),i=Hn(V[c],V[o])}ve("Blit",r,"SrcNoEa",a,s),ve("ScaledBlit",r,"SrcNoEa",a,i)}}fv();var Zs=1,su=2,Ws=4,iu=8;function wo(t,e,n){return(e<n.y1?Zs:e>n.y2-1?su:0)|(t<n.x1?Ws:t>n.x2-1?iu:0)}function Ea(t,e,n,r,a,s,i,c,o=fo){if(a===i){if(a>=e.y1&&a<e.y2){let u=r<s?r:s+c|0,l=r<s?s-c|0:r;l=l+1|0,l<u&&(l=l-1|0),u<e.x1&&(u=e.x1),l>e.x2&&(l=e.x2),u<l&&o.run(t,u,a,n,l-u,0,1,0,0,0)}}else if(r===s){if(r>=e.x1&&r<e.x2){let u=a<i?a:i+c|0,l=a<i?i-c|0:a;l=l+1|0,l<u&&(l=l-1|0),u<e.y1&&(u=e.y1),l>e.y2&&(l=e.y2),u<l&&o.run(t,r,u,n,l-u,0,4,0,0,0)}}else dv(t,e,n,r,a,s,i,c,o)}var Et=(1<<29)-1,Pt=-(1<<29),Io=t=>t!==t<<17>>17,ko=t=>t!==t<<2>>2;function Ao(t,e,n,r){let a=2*t*e+n;return Math.abs(a)<2**52?Math.trunc(a/r):Number(BigInt.asIntN(64,(2n*BigInt(t)*BigInt(e)+BigInt(n))/BigInt(r)))}function dv(t,e,n,r,a,s,i,c,o=fo){if((Io(r)||Io(a)||Io(s)||Io(i))&&(ko(r)||ko(a)||ko(s)||ko(i))){let C=s-r,L=i-a,R=r,U=a,D=s,G=i;r<Pt?(U=a+(Pt-r)*L/C,R=Pt):r>Et&&(U=a-(r-Et)*L/C,R=Et),U<Pt?(R=r+(Pt-a|0)*C/L,U=Pt):U>Et&&(R=r-(a-Et|0)*C/L,U=Et),s<Pt?(G=i+(Pt-s)*L/C,D=Pt):s>Et&&(G=i-(s-Et)*L/C,D=Et),G<Pt?(D=s+(Pt-i|0)*C/L,G=Pt):G>Et&&(D=s-(i-Et|0)*C/L,G=Et),r=ft(R),a=ft(U),s=ft(D),i=ft(G)}let u=r,l=a,d=s,f=i,m=d-u|0,p=f-l|0,b=Math.abs(m),y=Math.abs(p),g=e.x1,h=e.y1,j=e.x2-1,x=e.y2-1,w=b>=y,v=wo(u,l,e),I=wo(d,f,e),J=C=>C|0;for(;(v|I)!==0;){if((v&I)!==0)return;if(v!==0){if(v&(Zs|su)){l=v&Zs?h:x;let C=Ao(Math.abs(l-a),b,w?y-b-1+y:y,2*y);u=J(r+J(m<0?-C:C))}else if(v&(Ws|iu)){u=v&Ws?g:j;let C=Ao(Math.abs(u-r),y,w?b:b-y-1+b,2*b);l=J(a+J(p<0?-C:C))}v=wo(u,l,e)}else{if(I&(Zs|su)){f=I&Zs?h:x;let C=Ao(Math.abs(f-i),b,w?y-b+y:y-1,2*y);d=J(s+J(m>0?-C:C))}else if(I&(Ws|iu)){d=I&Ws?g:j;let C=Ao(Math.abs(d-s),y,w?b-1:b-y+b,2*b);f=J(i+J(p>0?-C:C))}I=wo(d,f,e)}}let O,S,M,T,F;if(w?(O=y*2,S=b*2,M=m<0?2:1,T=p<0?8:4,b=-b,F=d-u,d!==s&&(c=0)):(O=b*2,S=y*2,M=p<0?8:4,T=m<0?2:1,y=-y,F=f-l,f!==i&&(c=0)),F=Math.abs(F)+1-c,F===0)return;let N=-Math.trunc(S/2);l!==a&&(N=N+Math.imul(Math.abs(l-a),b)*2|0),u!==r&&(N=N+Math.imul(Math.abs(u-r),y)*2|0),N=N+O|0,S-=O,o.run(t,u,l,n,F,N,M,O,T,S)}function mv(t,e,n,r,a){let s=(o,u)=>{let l=Math.min(o,u),d=Math.max(o,u)+1|0;return d<=l&&(d=d-1|0),[l,d]},[i,c]=s(e,r);be(t,i,-2147483648,c,2147483647),[i,c]=s(n,a),be(t,-2147483648,i,2147483647,c)}var hv={"sun/java2d/loops/FillRect.FillRect"(t,[e,n,r,a,s,i,c]){let o=t.vm;if(i<=0||c<=0)return;let u=Se(t,r);if(!u)return;let l=We(o,o.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));vh(l,a,s,i,c),!(l.y2<=l.y1||l.x2<=l.x1)&&dt(l,u)&&fr(o,e,n).fill(u,l.x1,l.y1,l.x2,l.y2,st(o,n,"pixel"))},"sun/java2d/loops/FillSpans.FillSpans"(t,[e,n,r,a,s,i]){let c=Se(t,r),o=rh(i);if(!o)throw new A("java/lang/NullPointerException","native iterator not supplied");if(!c)return;let u=new Int32Array(4);o.getPathBox(u);let l={x1:u[0],y1:u[1],x2:u[2],y2:u[3]};dt(l,c),o.intersectClipBox(l.x1,l.y1,l.x2,l.y2);let d=fr(t.vm,e,n);for(;o.nextSpan(u);)d.fill(c,u[0],u[1],u[2],u[3],a)},"sun/java2d/loops/DrawLine.DrawLine"(t,[e,n,r,a,s,i,c]){let o=t.vm,u=Se(t,r);if(!u)return;let l=We(o,o.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));mv(l,a,s,i,c),dt(l,u)&&Ea(u,l,st(o,n,"pixel"),a,s,i,c,0,fr(o,e,n))},"sun/java2d/loops/DrawPolygons.DrawPolygons"(t,[e,n,r,a,s,i,c,o,u,l]){let d=t.vm;if(a===null||s===null)throw new A("java/lang/NullPointerException","coordinate array");if(i===null)throw new A("java/lang/NullPointerException","polygon length array");let f=i.a,m=a.a,p=s.a;if(f.length<c)throw new A("java/lang/ArrayIndexOutOfBoundsException","polygon length array size");let b=Se(t,r);if(!b)return;let y=We(d,d.getField(n,"sun/java2d/SunGraphics2D","clipRegion")),g=0;for(let w=0;w<c;w++)f[w]>0&&(g+=f[w]);if(p.length<g||m.length<g)throw new A("java/lang/ArrayIndexOutOfBoundsException","coordinate array length");if(!dt(y,b))return;let h=st(d,n,"pixel"),j=fr(d,e,n),x=0;for(let w=0;w<c;w++){let v=f[w];if(v>1){let I=!0,J=o+m[x]|0,O=u+p[x++]|0,S=J,M=O;for(;--v>0;){let T=o+m[x]|0,F=u+p[x++]|0;I=I&&S===T&&M===F,Ea(b,y,h,S,M,T,F,v>1||l?1:0,j),S=T,M=F}l&&(I||S!==J||M!==O)&&Ea(b,y,h,S,M,J,O,I?0:1,j)}else v===1&&x++}},"sun/java2d/loops/DrawRect.DrawRect"(t,[e,n,r,a,s,i,c]){let o=t.vm;if(i<0||c<0)return;let u=Se(t,r);if(!u)return;let l=a,d=s,f=a+i+1|0,m=s+c+1|0,p=We(o,o.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));if(be(p,l,d,f,m),!dt(p,u))return;let b=st(o,n,"pixel"),y=fr(o,e,n),g=d===p.y1?1:0,h=m===p.y2?1:0,j=p.x2-p.x1,x=p.y2-p.y1-g-h;g&&y.run(u,p.x1,p.y1,b,j,0,1,0,0,0),l===p.x1&&x>0&&y.run(u,p.x1,p.y1+g,b,x,0,4,0,0,0),f===p.x2&&x>0&&l!==f-1&&y.run(u,p.x2-1,p.y1+g,b,x,0,4,0,0,0),h&&d!==m-1&&y.run(u,p.x1,p.y2-1,b,j,0,1,0,0,0)}};function*Mo(t,e){let n=t.vm.loadBootOrFail(e);return n.state!==z&&(yield*t.vm.initGen(t,n)),n}function*bv(t){let e=t.vm,n=yield*Mo(t,kn+"SurfaceType"),r=yield*Mo(t,kn+"CompositeType"),a=e.loadBootOrFail(kn+"GraphicsPrimitiveMgr"),s=u=>e.getStatic(n,u),i=u=>e.getStatic(r,u),c=[];for(let u=1;u<Hs.length;u++){let l=Hs[u],d=yield*Mo(t,kn+l.cls),f=e.newObject(d),m=d.methodMap.get(`<init>(JL${kn}SurfaceType;L${kn}CompositeType;L${kn}SurfaceType;)V`);yield t.call(m,f,BigInt(u),s(l.src),i(l.comp),s(l.dst)),c.push(f)}let o=a.methodMap.get(`register([L${uo};)V`);yield t.call(o,e.newObjectArray(uo,c))}var pv={"sun/awt/image/BufImgSurfaceData.initRaster"(t,[e,n,r,a,s,i,c,o,u]){let l=n.a,d=t.vm,f=u===null?null:d.getField(u,Hh,"rgb").a,m=u===null?0:d.getField(u,Hh,"map_size"),p=d.getField(e,"sun/java2d/SurfaceData","surfaceType"),b=d.loadBootOrFail(kn+"SurfaceType"),y=[1,2,4].find(j=>p===d.getStatic(b,`ByteBinary${j}Bit`))??0,g=8/y,h=y?new Zr(l,r*g+(a/y|0),1,o*g,s,i):new Zr(l,r,c,o,s,i);h.bpp=y,h.bo=y?a/y|0:0,h.lut=f,h.lutSize=m,h.icm=u,e.x=h},"sun/java2d/SurfaceData.isOpaqueGray"(t,[e]){return e===null?0:t.vm.getField(e,"java/awt/image/IndexColorModel","allgrayopaque")},"sun/java2d/loops/GraphicsPrimitiveMgr.initIDs":function*(t){yield*Mo(t,"sun/awt/SunHints")},"sun/java2d/loops/GraphicsPrimitiveMgr.registerNativeLoops":function*(t){yield*bv(t)}},So=(t,e)=>t>=0&&e>=0&&t>2147483647-e||t<0&&e<0&&t<-2147483648-e,Zh=(t,e)=>e>=0&&t<0&&t<-2147483648+e||e<0&&t>=0&&t>2147483647+e;function au(t,e,n,r,a,s,i,c,o,u,l){let d=t.vm,f=Se(t,n),m=f&&Se(t,r);if(!f||!m||u<=0||l<=0||So(s,u)||So(i,l)||So(c,u)||So(o,l)||Zh(s,c)||Zh(i,o))return null;let p=We(d,a),b={x1:s,y1:i,x2:s+u,y2:i+l},y={x1:c,y1:o,x2:c+u,y2:o+l},g=s-c,h=i-o;return be(y,p.x1,p.y1,p.x2,p.y2),be(b,0,0,f.w,f.h),be(y,0,0,m.w,m.h),be(b,y.x1+g|0,y.y1+h|0,y.x2+g|0,y.y2+h|0),be(y,b.x1-g|0,b.y1-h|0,b.x2-g|0,b.y2-h|0),be(p,y.x1,y.y1,y.x2,y.y2),{src:f,dst:m,rects:Ta(t,a,p),dx:g,dy:h,dby:y.y1,p:ut(d,e)}}var gv={"sun/java2d/loops/Blit.Blit"(t,[e,n,r,a,s,i,c,o,u,l,d]){let f=au(t,e,n,r,s,i,c,o,u,l,d);if(!f)return;let m=f.p.fn,p=zn(f.p.src),b=zn(f.p.dst),y=f.p.comp==="Xor"?yv(t.vm,a):{xor:0,mask:0};for(let g of f.rects)m(f.dst,f.dst.off+g.y1*f.dst.scan+g.x1*b,f.src,f.src.off+(f.dy+g.y1)*f.src.scan+(f.dx+g.x1)*p,g.x2-g.x1,g.y2-g.y1,{sx:f.dx+g.x1,dx:g.x1,dy:f.dby,...y})},"sun/java2d/loops/BlitBg.BlitBg"(t,[e,n,r,a,s,i,c,o,u,l,d,f]){let m=au(t,e,n,r,s,c,o,u,l,d,f);if(!m)return;let p=m.p.fn,b=zn(m.p.src),y=zn(m.p.dst),g=Ct[m.p.dst](i,m.dst);for(let h of m.rects)p(m.dst,m.dst.off+h.y1*m.dst.scan+h.x1*y,m.src,m.src.off+(m.dy+h.y1)*m.src.scan+(m.dx+h.x1)*b,h.x2-h.x1,h.y2-h.y1,g,{sx:m.dx+h.x1,dx:h.x1,dy:m.dby,xor:0,mask:0})},"sun/java2d/loops/MaskBlit.MaskBlit"(t,[e,n,r,a,s,i,c,o,u,l,d,f,m,p]){let b=au(t,e,n,r,s,i,c,o,u,l,d);if(!b)return;let y=b.p.fn,g=Wh(f),{rule:h,extra:j,ea:x}=Kr(t.vm,a),w=zn(b.p.src),v=zn(b.p.dst);for(let I of b.rects)m+=(I.y1-u)*p+(I.x1-o),y(b.dst,b.dst.off+I.y1*b.dst.scan+I.x1*v,b.src,b.src.off+(b.dy+I.y1)*b.src.scan+(b.dx+I.x1)*w,g,m,p,I.x2-I.x1,I.y2-I.y1,h,j,{sx:b.dx+I.x1,dx:I.x1,dy:b.dby,xor:0,mask:0,ea:x})},"sun/java2d/loops/MaskFill.MaskFill"(t,[e,n,r,a,s,i,c,o,u,l,d]){let f=t.vm,m=Se(t,r);if(!m)return;let p={x1:s,y1:i,x2:s+c|0,y2:i+o|0};if(!dt(p,m))return;let b=ut(f,e).fn,y=Wh(u),g=zn(ut(f,e).dst);b(m,m.off+p.y1*m.scan+p.x1*g,y,l+(p.y1-i)*d+(p.x1-s),d,p.x2-p.x1,p.y2-p.y1,st(f,n,"eargb"),Kr(f,a).rule,{sx:0,dx:p.x1,dy:p.y1,xor:0,mask:0})}};function yv(t,e){return e?{xor:t.getField(e,zh,"xorPixel"),mask:t.getField(e,zh,"alphaMask")}:{xor:0,mask:0}}var ou=(t,e,n)=>e+(t-e&~(n-1)),ta=(t,e,n)=>Math.ceil((t+.5-e)*n-.5);function vv(t,e,n){if(e>n&&(e=n),e===0)return 1;for(;1<<t>e;)t--;return t=t>=16?t-8:t>>1,1<<t}function Jo(t,e,n,r,a,s){let i=ft(Math.ceil(e+a/r-.5)),c=!1,o=!1;for(;;){let u=ou(i,t,n),l=ta(u,e,r);if(i>u&&(l+=s*(i-u)),l>=a){if(c)break;i--,o=!0}else{if(i++,o)break;c=!0}}return i}function xv(t,[e,n,r,a,s,i,c,o,u,l,d,f,m]){let p=t.vm,b=ut(p,e),y=Se(t,n),g=y&&Se(t,r);if(!y||!g)return;let h=o-i|u-c,j=0;if(h>0)for(;((h<<=1)|0)>0;)j++;let x=m-d<1,w=f-l<1,v=(u-c|0)/(m-d)*(1<<j),I=x?u-c<<j:ft(v),J=(o-i|0)/(f-l)*(1<<j);h=w?o-i<<j:ft(J);let O=vv(j,h,I),S={x1:i,y1:c,x2:o,y2:u};if(be(S,0,0,y.w,y.h),S.x2<=S.x1||S.y2<=S.y1)return;let M=ft(Math.ceil(l-.5)),T=ft(Math.ceil(d-.5)),F={x1:0,y1:0,x2:0,y2:0};if(w){let P=i+ta(M,l,J)/(1<<j);F.x1=F.x2=M,P>=S.x1&&P<S.x2&&F.x2++}else F.x1=S.x1<=i?M:Jo(M,l,O,J,S.x1-i<<j,h),F.x2=Jo(M,l,O,J,S.x2-i<<j,h);if(x){let P=c+ta(T,d,v)/(1<<j);F.y1=F.y2=T,P>=S.y1&&P<S.y2&&F.y2++}else F.y1=S.y1<=c?T:Jo(T,d,O,v,S.y1-c<<j,I),F.y2=Jo(T,d,O,v,S.y2-c<<j,I);let N=We(p,s);if(be(F,N.x1,N.y1,N.x2,N.y2),be(F,0,0,g.w,g.h),F.x2<=F.x1||F.y2<=F.y1)return;be(N,F.x1,F.y1,F.x2,F.y2);let C=b.fn,L=zn(b.src),R=zn(b.dst),U={sx:0,dx:F.x1,dy:F.y1,xor:0,mask:0},D=y.off+c*y.scan+i*L,G=(P,ee,$e,Vt,pe,pt)=>C(g,g.off+ee*g.scan+P*R,y,D,$e-P,Vt-ee,pe,pt,h,I,j,U),q=O>=f-l&&O>=m-d;for(let P of Ta(t,s,N)){if(q){let ee=ft(ta(M,l,J)),$e=ft(ta(T,d,v));P.y1>T&&($e+=I*(P.y1-T)),P.x1>M&&(ee+=h*(P.x1-M)),G(P.x1,P.y1,P.x2,P.y2,ee,$e);continue}for(let ee=ou(P.y1,T,O);ee<P.y2;ee+=O){let $e=Math.max(ee,P.y1),Vt=Math.min(ee+O,P.y2),pe=ft(ta(ee,d,v));$e>ee&&(pe+=I*($e-ee));for(let pt=ou(P.x1,M,O);pt<P.x2;pt+=O){let yr=Math.max(pt,P.x1),_a=Math.min(pt+O,P.x2),vr=ft(ta(pt,l,J));yr>pt&&(vr+=h*(yr-pt)),G(yr,$e,_a,Vt,vr,pe)}}}}function Wh(t){if(t===null)return null;let e=t.a;return new Uint8Array(e.buffer,e.byteOffset,e.length)}function zn(t){let e=V[t];return e.packed?0:e.ps}var Xh={..._h,...Rh,...pv,...hv,...gv,"sun/java2d/loops/ScaledBlit.Scale":xv};var Fo=1024,lu=1/256,jv=new Uint8Array(Fo),qh=new Float32Array(Fo+2);function Kt(t){return t!==t?0:t>=2147483647?2147483647:t<=-2147483648?-2147483648:t|0}function Dt(t){return t*=255.9999,t>=-2147483648&&t<2147483648?t&255:0}function Rt(t,e,n,r,a){t.fn(t.s,e,n,0,0,r,a,t.color,t.rule,t.at)}function Yh(t,e,n,r,a,s){let i=t.b.x1,c=t.b.x2,o=t.b.y2,u=t.b.y1,l=t.mask,d=Kt(Math.ceil(n)),f=Kt(Math.ceil(r)),m=Kt(Math.floor(a)),p=Kt(Math.floor(s)),b=c-i;if(n=d-n,r=f-r,a=a-m,s=s-p,p<f&&(r=r+s-1,p=o),m<d&&(n=n+a-1,m=c),u<f&&(l.fill(Dt(r),0,b),i<d&&(l[0]=Dt(r*n)),c>m&&(l[b-1]=Dt(r*a)),Rt(t,e,l,b,1),e+=t.scan,u++),u<p&&u<o){let y=(p<o?p:o)-u,g=i,h=e;if(g<d&&(l[0]=Dt(n),Rt(t,h,l,1,y),h+=t.ps,g++),g<m&&g<c){let j=(m<c?m:c)-g;Rt(t,h,null,j,y),h+=j*t.ps,g+=j}g<c&&(l[0]=Dt(a),Rt(t,h,l,1,y)),u+=y,e+=y*t.scan}u<o&&(l.fill(Dt(s),0,b),i<d&&(l[0]=Dt(s*n)),c>m&&(l[b-1]=Dt(s*a)),Rt(t,e,l,b,1))}var To=class{x=0;y=0;xbot=0;ybot=0;xnexty=0;ynextx=0;xnextx=0;linedx=0;celldx=0;celldy=0;isTrailing=!1};function $o(t,e,n,r,a,s,i,c,o,u){let l=e+r,d=n+a,f;if(t.x=e,t.y=n,t.xbot=l,t.ybot=d,a>lu&&d>i&&n<o&&l===l&&(e<c||l<c)){if(r<-lu||r>lu){let m=r/a,p=a/r,b;n<i&&(t.x=e=e+(i-n)*m,t.y=n=i),t.linedx=m,r<0?(t.celldx=-1,t.celldy=-p,t.xnextx=b=Math.ceil(e)-1):(t.celldx=1,t.celldy=p,t.xnextx=b=Math.floor(e)+1),t.ynextx=n+(b-e)*p,t.xnexty=e+(Math.floor(n)+1-n)*m}else n<i&&(t.y=n=i),t.xbot=e,t.linedx=0,t.celldx=0,t.celldy=1,t.xnextx=e,t.xnexty=e,t.ynextx=d;f=!0}else t.ybot=n,t.linedx=r,t.celldx=r,t.celldy=0,t.xnextx=l,t.xnexty=l,t.ynextx=n,f=!1;return t.isTrailing=u,f}function cu(t,e,n,r,a,s,i,c,o,u,l,d,f,m){let p=!1;return p=$o(t[e],r,a,s,i,u,l,d,f,m)||p,p=$o(t[e+1],r+s,a+i,c,o,u,l,d,f,m)||p,p=$o(t[n],r,a,c,o,u,l,d,f,!m)||p,p=$o(t[n+1],r+c,a+o,s,i,u,l,d,f,!m)||p,p}var Sn=0,Jn=0;function Kh(t,e,n,r,a,s,i,c){let o=(e+r)*.5;if(o<i){let u=a-n,l,d;if(o<s)l=0,d=u;else{let f=Math.floor(o);l=Kt(f)-s,d=(f+1-o)*u}Sn>l&&(Sn=l),t[l]+=Math.fround(c*d),l++,t[l]+=Math.fround(c*(u-d)),l++,Jn<l&&(Jn=l)}}function Pa(t,e,n,r,a,s){let i=t.y,c=t.celldy,o=t.ybot;if(o<=r||i>=s||c===0)return;let u=t.x,l=t.celldx,d;o>s?(o=s,d=t.xnexty):d=t.xbot;let f=t.xnextx,m=t.ynextx,p=t.isTrailing?-1:1;for(;m<=o;)Kh(e,u,i,f,m,n,a,p),u=f,i=m,f+=l,m+=c;t.ynextx=m,t.xnextx=f,Kh(e,u,i,d,o,n,a,p),t.x=d,t.y=o,t.xnexty=d+t.linedx}function e0(t){return t>Fo?new Float32Array(t+2):(qh.fill(0,0,t+2),qh)}function wv(t,e,n,r,a,s,i,c){let o=t.b.x1,u=t.b.x2,l=t.b.y2,d=t.b.y1,f=u-o,m=Array.from({length:4},()=>new To);if(!cu(m,0,2,n,r,a,s,i,c,o,d,u,l,!1))return;let p=e0(f),b=t.mask;for(;d<l;){Sn=f+2,Jn=0,Pa(m[0],p,o,d,u,d+1),Pa(m[1],p,o,d,u,d+1);let y=Sn,g=Jn;Sn=f+2,Jn=0,Pa(m[2],p,o,d,u,d+1),Pa(m[3],p,o,d,u,d+1);let h=Sn,j=Jn;g>f&&(g=f),j>f&&(j=f),h<=g&&(g=j);let x=y,w=0,v=0,I=0;for(;x<g;)w+=p[x],p[x]=0,b[v++]=I=Dt(w),x++;if(I===255){v>0&&(Rt(t,e+(x-v)*t.ps,b,v,1),v=0);let J=h<j?h:f;x<J&&(Rt(t,e+x*t.ps,null,J-x,1),x=J)}else I>0&&h>=j&&(j=f);for(;x<j;)w+=p[x],p[x]=0,b[v++]=Dt(w),x++;v>0&&Rt(t,e+(x-v)*t.ps,b,v,1),e+=t.scan,d++}}function Iv(t,e,n,r,a,s,i,c,o,u,l,d){let f=t.b.x1,m=t.b.x2,p=t.b.y2,b=t.b.y1,y=m-f,g=Array.from({length:8},()=>new To);if(!cu(g,0,6,n,r,a+o,s+u,i+l,c+d,f,b,m,p,!1))return;cu(g,2,4,n+o+l,r+u+d,a-o,s-u,i-l,c-d,f,b,m,p,!0);let h=e0(y),j=t.mask;for(;b<p;){Sn=y+2,Jn=0;for(let T=0;T<4;T++)Pa(g[T],h,f,b,m,b+1);let x=Sn,w=Jn;Sn=y+2,Jn=0;for(let T=4;T<8;T++)Pa(g[T],h,f,b,m,b+1);let v=Sn,I=Jn;w>y&&(w=y),I>y&&(I=y),v<=w&&(w=I);let J=x,O=0,S=0,M=0;for(;J<w;)O+=h[J],h[J]=0,j[S++]=M=Dt(O),J++;if(M===0||M===255){S>0&&(Rt(t,e+(J-S)*t.ps,j,S,1),S=0);let T=v<I?v:y;J<T&&(M===255&&Rt(t,e+J*t.ps,null,T-J,1),J=T)}else v>=I&&(I=y);for(;J<I;)O+=h[J],h[J]=0,j[S++]=M=Dt(O),J++;S>0&&Rt(t,e+(J-S)*t.ps,j,S,1),M===255&&J<y&&Rt(t,e+J*t.ps,null,y-J,1),e+=t.scan,b++}}function t0(t,e,n,r,a,s,i,c,o,u){let l=t.vm,d=ut(l,e),f=Se(t,r);if(!f)return;let m=We(l,l.getField(n,"sun/java2d/SunGraphics2D","clipRegion"));if(be(m,s,i,c,o),m.y2<=m.y1||m.x2<=m.x1||!dt(m,f))return;let p=m.x2-m.x1,b=V[d.dst],y=b.packed?0:b.ps,g={s:f,fn:d.fn,ps:y,scan:f.scan,color:st(l,n,"eargb"),rule:Kr(l,a).rule,mask:p>Fo?new Uint8Array(p):jv,b:m,at:{sx:0,dx:m.x1,dy:m.y1,xor:0,mask:0}};u(g,f.off+m.y1*f.scan+m.x1*y)}function n0(t,e,n){if(t[3]<0&&(t[0]+=t[2],t[1]+=t[3],t[2]=-t[2],t[3]=-t[3]),t[5]<0&&(t[0]+=t[4],t[1]+=t[5],t[4]=-t[4],t[5]=-t[5]),t[2]*t[5]>t[4]*t[3]){let r=t[2];t[2]=t[4],t[4]=r,r=t[3],t[3]=t[5],t[5]=r,e&&(r=n[0],n[0]=n[1],n[1]=r)}}function r0(t,e,n){let r,a;return e<0?(r=t+e,a=t):(r=t,a=t+e),n<0?r+=n:a+=n,[Kt(Math.floor(r)),Kt(Math.ceil(a))]}function Qh(t,e,n,r,a,s,i,c,o,u,l){if(o===0&&c===0||l===0&&u===0)return;let d=[s,i,c,o,u,l];n0(d,!1,[]),[s,i,c,o,u,l]=d;let[f,m]=r0(s,c,u),p=Kt(Math.floor(i)),b=Kt(Math.ceil(i+o+l));t0(t,e,n,r,a,f,p,m,b,(y,g)=>{o===0&&u===0?(c<0&&(s+=c,c=-c),Yh(y,g,s,i,s+c,i+l)):c===0&&l===0?(u<0&&(s+=u,u=-u),Yh(y,g,s,i,s+u,i+o)):wv(y,g,s,i,c,o,u,l)})}var a0={"sun/java2d/loops/MaskFill.FillAAPgram"(t,[e,n,r,a,s,i,c,o,u,l]){Qh(t,e,n,r,a,s,i,c,o,u,l)},"sun/java2d/loops/MaskFill.DrawAAPgram"(t,[e,n,r,a,s,i,c,o,u,l,d,f]){if(o===0&&c===0||l===0&&u===0)return;let m=[s,i,c,o,u,l],p=[d,f];n0(m,!0,p),[s,i,c,o,u,l]=m,[d,f]=p;let b=c*d,y=o*d,g=u*f,h=l*f,j=s-(b+g)/2,x=i-(y+h)/2;if(d>=1||f>=1){Qh(t,e,n,r,a,j,x,c+b,o+y,u+g,l+h);return}let[w,v]=r0(j,c+b,u+g),I=Kt(Math.floor(x)),J=Kt(Math.ceil(x+o+y+l+h));t0(t,e,n,r,a,w,I,v,J,(O,S)=>{Iv(O,S,j,x,c,o,u,l,b,y,g,h)})}};var k=Math.fround;function H(t){return t>=2147483647?2147483647:t<=-2147483648?-2147483648:t!==t?0:Math.trunc(t)|0}var kv=(1n<<63n)-1n,Av=-(1n<<63n);function Ks(t){return t*=4294967296,t!==t?0n:t>=9223372036854776e3?kv:t<=-9223372036854776e3?Av:BigInt(Math.trunc(t))}var fu=t=>BigInt.asIntN(64,t),Da=(t,e)=>Math.trunc(t/e)|0,Ee=10,K=1<<Ee,mt=K>>1,ht=-K,du=k(34028234663852886e22/4),s0=-du,mu=1<<30-Ee,i0=-mu,o0=1/K,Sv=1<<30-Ee,Jv=256,Mv=1024,Ua=3,Co=2,$n=7,Oo=$n+Ua*3-Ee,uu=$n+Co*2-Ee,$v=1<<Ua,Tv=1<<Co,l0=1<<Ua*3+$n+2,c0=1<<Ua*3+$n-1,Fv=1<<Co*2+$n+2,u0=1<<$n,f0=1<<Ua+$n+1,d0=1<<Ua*2+$n,m0=1<<$n,h0=1<<Co+$n,na=0,Qs=1,g0=2,Xe=3,Xs=t=>t===na||t===Qs,Me=0,Ve=0;function Qt(t,e,n,r,a,s,i){if(Me=n,Ve=r,n>=t&&n<=e)return g0;let c,o;if(n<t){if(a<t)return Xe;c=na,o=t}else{if(a>e)return Xe;c=Qs,o=e}return i?(Ve=k(r+(o-n)*k(s-r)/k(a-n)),Me=k(o)):(Ve=H(r+(o-n)*(s-r|0)/(a-n|0)),Me=H(o)),c}var Ys=0,Ra=0,qs=0;function Lo(t,e,n,r,a,s,i){Ra=n,qs=r,Ys=a;let c=Qt(t,e,n,r,a,s,i);if(c===na||c===Qs)Ra=Me;else if(c===Xe){if(n>e)return Xe;Me=i?k(t):H(t),Ys=Me,c=g0}return c}var hu=class{s;b;pixel;fill;pure;xMin;yMin;xMax;yMax;xMinf=0;yMinf=0;xMaxf=0;yMaxf=0;pts=[];plgYMin=0;plgYMax=0;pen;constructor(e,n,r,a,s,i){this.pen=i,this.s=e,this.b=n,this.pixel=r,this.fill=a,this.pure=s,this.xMin=n.x1,this.yMin=n.y1,this.xMax=n.x2,this.yMax=n.y2}drawPixel(e,n){this.pen.put(this.s,e,n,this.pixel)}drawLine(e,n,r,a){Ea(this.s,this.b,this.pixel,e,n,r,a,0,this.pen)}drawScanline(e,n,r){this.pen.run(this.s,e,r,this.pixel,n-e+1,0,1,0,0,0)}processFixedLine(e,n,r,a,s,i,c){this.fill?this.storeFixedLine(e,n,r,a,s,i,c):this.fixedLine(e,n,r,a,s,i)}endSubPath(){this.fill&&this.pts.length&&(this.pts[this.pts.length-1].last=!0)}processLineFixed(e,n,r,a,s,i){let c=e>>Ee,o=n>>Ee,u=r>>Ee,l=a>>Ee;if(s){let d=k(this.xMinf+.5),f=k(this.yMinf+.5),m=k(this.xMaxf+.5),p=k(this.yMaxf+.5);if(Qt(f,p,o,c,l,u,!1)===Xe||(o=Me,c=Ve,Qt(f,p,l,u,o,c,!1)===Xe)||(l=Me,u=Ve,Qt(d,m,c,o,u,l,!1)===Xe)||(c=Me,o=Ve,Qt(d,m,u,l,c,o,!1)===Xe))return;u=Me,l=Ve}if((c^u|o^l)===0){i[0]===0?(i[0]=1,i[1]=c,i[2]=o,i[3]=c,i[4]=o,this.drawPixel(c,o)):(c!==i[3]||o!==i[4])&&(c!==i[1]||o!==i[2])&&(this.drawPixel(c,o),i[3]=c,i[4]=o);return}i[0]&&(i[1]===c&&i[2]===o||i[3]===c&&i[4]===o)&&this.drawPixel(c,o),this.drawLine(c,o,u,l),i[0]===0&&(i[0]=1,i[1]=c,i[2]=o,i[3]=c,i[4]=o),(i[1]===u&&i[2]===l||i[3]===u&&i[4]===l)&&this.drawPixel(u,l),i[3]=u,i[4]=l}processPoint(e,n,r,a){let s=e>>Ee,i=n>>Ee;r&&(this.yMin>i||this.yMax<=i||this.xMin>s||this.xMax<=s)||(a[0]===0?(a[0]=1,a[1]=s,a[2]=i,a[3]=s,a[4]=i,this.drawPixel(s,i)):(s!==a[3]||i!==a[4])&&(s!==a[1]||i!==a[2])&&(this.drawPixel(s,i),a[3]=s,a[4]=i))}fixedLine(e,n,r,a,s,i){let c=e^r|n^a,o,u,l,d;if((c&ht)===0){c===0&&this.processPoint(e+mt|0,n+mt|0,i,s);return}if(e===r||n===a)o=e+mt|0,l=r+mt|0,u=n+mt|0,d=a+mt|0;else{let f=r-e|0,m=a-n|0,p=e&ht,b=n&ht,y=r&ht,g=a&ht;if(p===e||b===n)o=e+mt|0,u=n+mt|0;else{let h=e<r?p+K|0:p,j=n<a?b+K|0:b,x=n+Da(Math.imul(h-e|0,m),f)|0;x>=b&&x<=b+K?(o=h,u=x+mt|0):(x=e+Da(Math.imul(j-n|0,f),m)|0,o=x+mt|0,u=j)}if(y===r||g===a)l=r+mt|0,d=a+mt|0;else{let h=e>r?y+K|0:y,j=n>a?g+K|0:g,x=a+Da(Math.imul(h-r|0,m),f)|0;x>=g&&x<=g+K?(l=h,d=x+mt|0):(x=r+Da(Math.imul(j-a|0,f),m)|0,l=x+mt|0,d=j)}}this.processLineFixed(o,u,l,d,i,s)}storeFixedLine(e,n,r,a,s,i,c){if(i){let u=H(k(this.xMinf*K)),l=H(k(this.xMaxf*K)),d=H(k(this.yMinf*K)),f=H(k(this.yMaxf*K));if(Qt(d,f,n,e,a,r,!1)===Xe)return;n=Me,e=Ve;let m=Qt(d,f,a,r,n,e,!1);if(m===Xe)return;a=Me,r=Ve;let p=Xs(m);if(m=Lo(u,l,e,n,r,a,!1),m===Xe)return;e=Me,n=Ve,r=Ys;let b=Ra,y=qs;m===na&&this.storeFixedLine(b,y,e,n,s,!1,p),m=Lo(u,l,r,a,e,n,!1),r=Me,a=Ve,e=Ys,b=Ra,y=qs,p=p||m===Qs,this.storeFixedLine(e,n,r,a,s,!1,p),m===na&&this.storeFixedLine(r,a,b,y,s,!1,p);return}let o=this.pts;(o.length===0||o[o.length-1].last)&&this.addPoint(e,n),this.addPoint(r,a),c&&(o[o.length-1].last=!0)}addPoint(e,n){let r=this.pts;r.length?(this.plgYMin>n&&(this.plgYMin=n),this.plgYMax<n&&(this.plgYMax=n)):(this.plgYMin=n,this.plgYMax=n),r.push({x:e,y:n,last:!1,prev:null,next:null,nextByY:null,edge:null})}processLine(e,n,r,a,s){let{xMinf:i,yMinf:c,xMaxf:o,yMaxf:u}=this,l=Qt(c,u,n,e,a,r,!0);if(l===Xe)return;n=Me,e=Ve;let d=Xs(l);if(l=Qt(c,u,a,r,n,e,!0),l===Xe)return;a=Me,r=Ve;let f=Xs(l);if(d=d||f,!this.fill){if(l=Qt(i,o,e,n,r,a,!0),l===Xe||(e=Me,n=Ve,d=d||Xs(l),l=Qt(i,o,r,a,e,n,!0),l===Xe))return;r=Me,a=Ve,f=f||Xs(l),d=d||f;let j=H(k(e*K)),x=H(k(n*K)),w=H(k(r*K)),v=H(k(a*K));this.processFixedLine(j,x,w,v,s,d,f);return}if(l=Lo(i,o,e,n,r,a,!0),l===Xe)return;e=Me,n=Ve,r=Ys;let m=Ra,p=qs,b=H(k(e*K)),y=H(k(n*K));if(l===na){let j=H(k(m*K)),x=H(k(p*K));this.processFixedLine(j,x,b,y,s,!1,f)}l=Lo(i,o,r,a,e,n,!0),r=Me,a=Ve,m=Ra,p=qs,f=f||l===Qs;let g=H(k(r*K)),h=H(k(a*K));if(this.processFixedLine(b,y,g,h,s,!1,f),l===na){let j=H(k(m*K)),x=H(k(p*K));this.processFixedLine(g,h,j,x,s,!1,f)}}curveBounds(e,n){let r=e[0],a=e[0],s=e[1],i=e[1];for(let l=2;l<n;l+=2)e[l]<r&&(r=e[l]),e[l]>a&&(a=e[l]),e[l+1]<s&&(s=e[l+1]),e[l+1]>i&&(i=e[l+1]);let c=n===6?Mv:Jv;if(this.fill){if(this.yMaxf<s||this.yMinf>i||this.xMaxf<r)return{skip:!0,split:!1,check:!1};if(this.xMinf>a)for(let l=0;l<n;l+=2)e[l]=this.xMinf}else if(this.xMaxf<r||this.xMinf>a||this.yMaxf<s||this.yMinf>i)return{skip:!0,split:!1,check:!1};let o=k(a-r)>c||k(i-s)>c,u=n===6?this.xMinf>=r||this.xMaxf<=a||this.yMinf>=s||this.yMaxf<=i:this.xMinf>r||this.xMaxf<a||this.yMinf>s||this.yMaxf<i;return{skip:!1,split:o,check:u}}drawMonotonicQuad(e,n,r){let a=H(k(e[0]*K)),s=H(k(e[1]*K)),i=H(k(e[4]*K)),c=H(k(e[5]*K)),o=(a&~ht)<<uu,u=(s&~ht)<<uu,l=Tv,d=uu,f=H(k(k(k(e[0]-k(2*e[2]))+e[4])*m0)),m=H(k(k(k(e[1]-k(2*e[3]))+e[5])*m0)),p=H(k(k(k(-2*e[0])+k(2*e[2]))*h0)),b=H(k(k(k(-2*e[1])+k(2*e[3]))*h0)),y=2*f|0,g=2*m|0,h=f+p|0,j=m+b|0,x,w,v=a,I=s,J=N=>(N^N>>31)-(N>>31)|0,O=Math.max(J(y),J(g)),S=a&ht,M=s&ht,T=i-a|0,F=c-s|0;for(;O>Fv;)h=(h<<1)-f|0,j=(j<<1)-m|0,l<<=1,O>>=2,o<<=2,u<<=2,d+=2;for(;l-- >1;)o=o+h|0,u=u+j|0,h=h+y|0,j=j+g|0,x=v,w=I,v=S+(o>>d)|0,I=M+(u>>d)|0,((i-v|0)^T)<0&&(v=i),((c-I|0)^F)<0&&(I=c),this.processFixedLine(x,w,v,I,r,n,!1);this.processFixedLine(v,I,i,c,r,n,!1)}processMonotonicQuad(e,n){let r=this.curveBounds(e,6);if(!r.skip)if(r.split){let a=new Float32Array(6);a[4]=e[4],a[5]=e[5],a[2]=k(e[2]+e[4])/2,a[3]=k(e[3]+e[5])/2,e[2]=k(e[0]+e[2])/2,e[3]=k(e[1]+e[3])/2,e[4]=a[0]=k(e[2]+a[2])/2,e[5]=a[1]=k(e[3]+a[3])/2,this.processMonotonicQuad(e,n),this.processMonotonicQuad(a,n)}else this.drawMonotonicQuad(e,r.check,n)}firstPartOfQuad(e,n,r){let a=new Float32Array(6);a[0]=e[0],a[1]=e[1],a[2]=k(e[0]+k(r*k(e[2]-e[0]))),a[3]=k(e[1]+k(r*k(e[3]-e[1]))),e[2]=k(e[2]+k(r*k(e[4]-e[2]))),e[3]=k(e[3]+k(r*k(e[5]-e[3]))),e[0]=a[4]=k(a[2]+k(r*k(e[2]-a[2]))),e[1]=a[5]=k(a[3]+k(r*k(e[3]-a[3]))),this.processMonotonicQuad(a,n)}processQuad(e,n){let r=[0,0],a=0,s;if((e[0]>e[2]||e[2]>e[4])&&(e[0]<e[2]||e[2]<e[4])){let i=k(k(e[0]-k(2*e[2]))+e[4]);i!==0&&(s=k(e[0]-e[2])/i,s<1&&s>0&&(r[a++]=s))}if((e[1]>e[3]||e[3]>e[5])&&(e[1]<e[3]||e[3]<e[5])){let i=k(k(e[1]-k(2*e[3]))+e[5]);i!==0&&(s=k(e[1]-e[3])/i,s<1&&s>0&&(a>0?r[0]>s?(r[a++]=r[0],r[0]=s):r[0]<s&&(r[a++]=s):r[a++]=s))}a>=1&&(this.firstPartOfQuad(e,n,k(r[0])),a===2&&(s=r[1]-r[0],s>0&&this.firstPartOfQuad(e,n,k(s/(1-r[0]))))),this.processMonotonicQuad(e,n)}drawMonotonicCubic(e,n,r){let a=H(k(e[0]*K)),s=H(k(e[1]*K)),i=H(k(e[6]*K)),c=H(k(e[7]*K)),o=(a&~ht)<<Oo,u=(s&~ht)<<Oo,l=c0,d=c0<<1,f=l0,m=l0<<1,p=$v,b=Oo,y=(P,ee,$e,Vt)=>k(k(k(-P+k(3*ee))-k(3*$e))+Vt),g=H(k(y(e[0],e[2],e[4],e[6])*u0)),h=H(k(y(e[1],e[3],e[5],e[7])*u0)),j=(P,ee,$e)=>k(k(k(3*P)-k(6*ee))+k(3*$e)),x=H(k(j(e[0],e[2],e[4])*f0)),w=H(k(j(e[1],e[3],e[5])*f0)),v=H(k(k(k(-3*e[0])+k(3*e[2]))*d0)),I=H(k(k(k(-3*e[1])+k(3*e[3]))*d0)),J=Math.imul(6,g),O=Math.imul(6,h),S=J+x|0,M=O+w|0,T=g+(x>>1)+v|0,F=h+(w>>1)+I|0,N,C,L=a,R=s,U=a&ht,D=s&ht,G=i-a|0,q=c-s|0;for(;p>0;){for(;(S+f|0)>>>0>m>>>0||(M+f|0)>>>0>m>>>0;)S=(S<<1)-J|0,M=(M<<1)-O|0,T=(T<<2)-(S>>1)|0,F=(F<<2)-(M>>1)|0,p<<=1,f<<=3,m<<=3,l<<=3,d<<=3,o<<=3,u<<=3,b+=3;for(;p&1^1&&b>Oo&&(T+l|0)>>>0<=d>>>0&&(F+l|0)>>>0<=d>>>0;)T=(T>>2)+(S>>3)|0,F=(F>>2)+(M>>3)|0,S=S+J>>1,M=M+O>>1,p>>=1,f>>=3,m>>=3,l>>=3,d>>=3,o>>=3,u>>=3,b-=3;p--,p?(o=o+T|0,u=u+F|0,T=T+S|0,F=F+M|0,S=S+J|0,M=M+O|0,N=L,C=R,L=U+(o>>b)|0,R=D+(u>>b)|0,((i-L|0)^G)<0&&(L=i),((c-R|0)^q)<0&&(R=c),this.processFixedLine(N,C,L,R,r,n,!1)):this.processFixedLine(L,R,i,c,r,n,!1)}}processMonotonicCubic(e,n){let r=this.curveBounds(e,8);if(!r.skip)if(r.split){let a=new Float32Array(8);a[6]=e[6],a[7]=e[7],a[4]=k(e[4]+e[6])/2,a[5]=k(e[5]+e[7])/2;let s=k(k(e[2]+e[4])/2),i=k(k(e[3]+e[5])/2);a[2]=k(s+a[4])/2,a[3]=k(i+a[5])/2,e[2]=k(e[0]+e[2])/2,e[3]=k(e[1]+e[3])/2,e[4]=k(e[2]+s)/2,e[5]=k(e[3]+i)/2,e[6]=a[0]=k(e[4]+a[2])/2,e[7]=a[1]=k(e[5]+a[3])/2,this.processMonotonicCubic(e,n),this.processMonotonicCubic(a,n)}else this.drawMonotonicCubic(e,r.check,n)}firstPartOfCubic(e,n,r){let a=new Float32Array(8);a[0]=e[0],a[1]=e[1];let s=k(e[2]+k(r*k(e[4]-e[2]))),i=k(e[3]+k(r*k(e[5]-e[3])));a[2]=k(e[0]+k(r*k(e[2]-e[0]))),a[3]=k(e[1]+k(r*k(e[3]-e[1]))),a[4]=k(a[2]+k(r*k(s-a[2]))),a[5]=k(a[3]+k(r*k(i-a[3]))),e[4]=k(e[4]+k(r*k(e[6]-e[4]))),e[5]=k(e[5]+k(r*k(e[7]-e[5]))),e[2]=k(s+k(r*k(e[4]-s))),e[3]=k(i+k(r*k(e[5]-i))),e[0]=a[6]=k(a[4]+k(r*k(e[2]-a[4]))),e[1]=a[7]=k(a[5]+k(r*k(e[3]-a[5]))),this.processMonotonicCubic(a,n)}processCubic(e,n){let r=[],a=(i,c,o)=>{let u;if(i!==0){let l=c*c-4*i*o;if(l<0)return;l=Math.sqrt(l),c<0&&(l=-l);let d=(c+l)/-2;if(u=d/i,u<1&&u>0&&r.push(u),l===0||d===0)return;u=o/d,u<1&&u>0&&r.push(u)}else{if(c===0)return;u=-o/c,u<1&&u>0&&r.push(u)}};(e[0]>e[2]||e[2]>e[4]||e[4]>e[6])&&(e[0]<e[2]||e[2]<e[4]||e[4]<e[6])&&a(k(k(k(-e[0]+k(3*e[2]))-k(3*e[4]))+e[6]),k(2*k(k(e[0]-k(2*e[2]))+e[4])),k(-e[0]+e[2])),(e[1]>e[3]||e[3]>e[5]||e[5]>e[7])&&(e[1]<e[3]||e[3]<e[5]||e[5]<e[7])&&a(k(k(k(-e[1]+k(3*e[3]))-k(3*e[5]))+e[7]),k(2*k(k(e[1]-k(2*e[3]))+e[5])),k(-e[1]+e[3]));let s=r.length;if(s>0){for(let i=1;i<s;i++){let c=r[i],o;for(o=i-1;o>=0&&r[o]>c;o--)r[o+1]=r[o];r[o+1]=c}this.firstPartOfCubic(e,n,k(r[0]));for(let i=1;i<s;i++){let c=r[i]-r[i-1];c>0&&this.firstPartOfCubic(e,n,k(c/(1-r[i-1])))}}this.processMonotonicCubic(e,n)}fillPolygon(e){let n=this.pts,r=n.length,a=this.plgYMin,s=this.plgYMax,i=(s-a>>Ee)+4,c=a-1&ht,o=this.xMax-1,u=e?1:-1;if(r<=1)return;let l=new Array(i).fill(null);n[0].prev=null;let d=g=>g.y-c-1>>Ee;for(let g=0;g<r-1;g++){let h=n[g],j=n[g+1],x=d(h);h.nextByY=l[x],l[x]=h,h.next=j,j.prev=h,h.edge=null}let f=n[r-1],m=d(f);f.nextByY=l[m],l[m]=f,f.next=null,f.edge=null;let p={head:null},b=g=>{let h=g.prev,j=g.next;h?h.next=j:p.head=j,j&&(j.prev=h)},y=(g,h)=>{let j=g.next;if(g.y===j.y)return;let x={x:0,dx:0,dir:0,prev:null,next:null},w=j.x-g.x|0,v=j.y-g.y|0,I;g.y<j.y?(x.dir=-1,x.x=g.x,I=h-g.y|0):(x.dir=1,x.x=j.x,I=h-j.y|0),(w^w>>31)-(w>>31)>Sv?(x.dx=H(w*K/v),x.x=x.x+H(w*I/v)|0):(x.dx=Da(w<<Ee,v),x.x=x.x+Da(Math.imul(w,I),v)|0),x.next=p.head,p.head&&(p.head.prev=x),p.head=x,g.edge=x};for(let g=c+K|0,h=0;g<=s&&h<i;g=g+K|0,h++){for(let S=l[h];S;S=S.nextByY)S.prev&&!S.prev.last&&(S.prev.edge&&S.prev.y<=g?(b(S.prev.edge),S.prev.edge=null):S.prev.y>g&&y(S.prev,g)),!S.last&&S.next&&(S.edge&&S.next.y<=g?(b(S.edge),S.edge=null):S.next.y>g&&y(S,g));if(!p.head)continue;let j=null,x=!0;for(;j!==p.head.next&&x;){let S=p.head,M=S,T=S.next;for(x=!1;S!==j;){if(S.x>=T.x){x=!0;let F=T.next;T.next=S,S.next=F,S===p.head?p.head=T:M.next=T,M=T}else M=S,S=S.next;T=S.next,T===j&&(j=S)}}let w=null;for(let S=p.head;S;S=S.next)S.prev=w,w=S;let v=this.xMin,I,J=0,O=!1;for(let S=p.head;S;S=S.next)J+=S.dir,J&u&&!O&&(v=S.x+K-1>>Ee,O=!0),!(J&u)&&O&&(I=S.x-1>>Ee,v<=I&&this.drawScanline(v,I,g>>Ee),O=!1),S.x=S.x+S.dx|0;O&&v<=o&&this.drawScanline(v,o,g>>Ee)}}processPath(e,n,r,a,s,i){let c=new Float32Array(8),o=new Float32Array(2),u=new Int32Array(5),l=!1,d=!1,f,m,p=0,b=k(e),y=k(n);this.pure&&(o[0]=-.5,o[1]=-.5,b=k(b-.5),y=k(y-.5));let g=x=>x<i0?i0:x>mu?mu:x;this.xMin=g(this.xMin),this.yMin=g(this.yMin),this.xMax=g(this.xMax),this.yMax=g(this.yMax),this.xMinf=k(this.xMin-.5),this.yMinf=k(this.yMin-.5),this.xMaxf=k(k(this.xMax-.5)-o0),this.yMaxf=k(k(this.yMax-.5)-o0);let h=(x,w)=>x<du&&x>s0&&w<du&&w>s0,j=()=>{this.fill&&(c[0]!==o[0]||c[1]!==o[1])&&this.processLine(c[0],c[1],o[0],o[1],u),this.endSubPath()};for(let x=0;x<i;x++)switch(s[x]){case 0:if(p+2>a)return!1;d&&!l&&j(),c[0]=r[p++]+b,c[1]=r[p++]+y,h(c[0],c[1])?(d=!0,l=!1,o[0]=c[0],o[1]=c[1]):l=!0;break;case 1:if(p+2>a)return!1;c[2]=r[p++]+b,c[3]=r[p++]+y,f=c[2],m=c[3],h(f,m)&&(l?(c[0]=o[0]=f,c[1]=o[1]=m,d=!0,l=!1):(this.processLine(c[0],c[1],c[2],c[3],u),c[0]=f,c[1]=m));break;case 2:if(p+4>a)return!1;c[2]=r[p++]+b,c[3]=r[p++]+y,c[4]=r[p++]+b,c[5]=r[p++]+y,f=c[4],m=c[5],h(f,m)&&(l?(c[0]=o[0]=f,c[1]=o[1]=m,d=!0,l=!1):(h(c[2],c[3])?this.processQuad(c,u):this.processLine(c[0],c[1],c[4],c[5],u),c[0]=f,c[1]=m));break;case 3:if(p+6>a)return!1;c[2]=r[p++]+b,c[3]=r[p++]+y,c[4]=r[p++]+b,c[5]=r[p++]+y,c[6]=r[p++]+b,c[7]=r[p++]+y,f=c[6],m=c[7],h(f,m)&&(l?(c[0]=o[0]=c[6],c[1]=o[1]=c[7],d=!0,l=!1):(h(c[2],c[3])&&h(c[4],c[5])?this.processCubic(c,u):this.processLine(c[0],c[1],c[6],c[7],u),c[0]=f,c[1]=m));break;case 4:d&&!l&&(l=!1,(c[0]!==o[0]||c[1]!==o[1])&&(this.processLine(c[0],c[1],o[0],o[1],u),c[0]=o[0],c[1]=o[1]),this.endSubPath());break}return d&&!l&&j(),!0}},Ov=2,No="java/awt/geom/Path2D";function b0(t){return(e,[n,r,a,s,i,c])=>{let o=e.vm,u=st(o,r,"strokeHint"),l=Se(e,a),d=o.getField(c,No,"pointTypes"),f=o.getField(c,No+"$Float","floatCoords");if(f===null)throw new A("java/lang/NullPointerException","coordinates array");let m=o.getField(c,No,"numTypes"),p=o.getField(c,No,"windingRule");if(d===null||d.a.length<m)throw new A("java/lang/ArrayIndexOutOfBoundsException","types array");if(!l)return;let b=We(o,o.getField(r,"sun/java2d/SunGraphics2D","clipRegion"));if(!dt(b,l))return;let y=new hu(l,b,st(o,r,"pixel"),t,u===Ov,fr(o,n,r)),g=f.a;if(!y.processPath(s,i,g,g.length,d.a,m))throw new A("java/lang/ArrayIndexOutOfBoundsException","coords array");t&&y.fillPolygon(p!==1)}}function y0(t,e,n,r,a){let s,i;return e+n<0?(s=t+e+n,i=t):(s=t,i=t+e+n),r+a<0?s+=r+a:i+=r+a,[H(Math.floor(s+.5)),H(Math.floor(i+.5))]}var Mn=(t,e,n,r)=>fu(Ks(e+r*(t+.5-n))+(1n<<31n)-1n);function v0(t,e,n,r,a,s,i,c,o,u){for(;r<s;){let l=Number(i>>32n)|0,d=Number(o>>32n)|0;l<n&&(l=n),d>a&&(d=a);let f=t.off+r*t.scan+l*t.ps;for(;l<d;l++,f+=t.ps)qt(t,f,e);i=fu(i+c),o=fu(o+u),r++}}function x0(t,e){if(t[3]<0&&(t[0]+=t[2],t[1]+=t[3],t[2]=-t[2],t[3]=-t[3]),t[5]<0&&(t[0]+=t[4],t[1]+=t[5],t[4]=-t[4],t[5]=-t[5]),t[2]*t[5]>t[4]*t[3]){let n=t[2];t[2]=t[4],t[4]=n,n=t[3],t[3]=t[5],t[5]=n,e&&(n=e[0],e[0]=e[1],e[1]=n)}}function j0(t,e,n,r,a,s,i){let c=t.vm,o=Se(t,n);if(!o)return null;let u=We(c,c.getField(e,"sun/java2d/SunGraphics2D","clipRegion"));return be(u,r,a,s,i),u.y2<=u.y1||u.x2<=u.x1||!dt(u,o)?null:{s:o,b:u,pixel:st(c,e,"pixel")}}function Lv(t,[,e,n,r,a,s,i,c,o]){if(i===0&&s===0||o===0&&c===0)return;let u=[r,a,s,i,c,o];x0(u),[r,a,s,i,c,o]=u;let[l,d]=y0(r,s,0,c,0),f=H(Math.floor(a+.5)),m=H(Math.floor(a+i+o+.5)),p=j0(t,e,n,l,f,d,m);if(!p)return;let{s:b,b:y,pixel:g}=p,h=i===0?0:s/i,j=o===0?0:c/o,x=Ks(h),w=Ks(j);s+=r,i+=a,c+=r,o+=a;let v=H(Math.floor(i+.5)),I=H(Math.floor(o+.5)),J=(F,N,C,L,R,U)=>v0(b,g,y.x1,F,y.x2,N,C,L,R,U),O=y.y1,S=y.y2,M=O,T=v<I?v:I;T>S&&(T=S),M<T&&J(M,T,Mn(M,r,a,h),x,Mn(M,r,a,j),w),v<I?(M=v,T=I,M<O&&(M=O),T>S&&(T=S),M<T&&J(M,T,Mn(M,s,i,j),w,Mn(M,r,a,j),w)):I<v&&(M=I,T=v,M<O&&(M=O),T>S&&(T=S),M<T&&J(M,T,Mn(M,r,a,h),x,Mn(M,c,o,h),x)),M=v>I?v:I,M<O&&(M=O),T=S,M<T&&J(M,T,Mn(M,s,i,j),w,Mn(M,c,o,h),x)}function Bo(t,e,n,r,a){return{x0:t,y0:e,slope:r,dx:a,ystart:H(Math.floor(e+.5)),yend:H(Math.floor(n+.5))}}function p0(t,e,n,r,a,s,i,c,o,u,l,d,f){t[e]=Bo(r,a,a+i,u,d),t[n]=Bo(r,a,a+o,l,f),t[e+1]=Bo(r+s,a+i,a+i+o,l,f),t[n+1]=Bo(r+c,a+o,a+i+o,u,d)}function Nv(t,[,e,n,r,a,s,i,c,o,u,l]){let d=[r,a,s,i,c,o],f=[u,l];x0(d,f),[r,a,s,i,c,o]=d,[u,l]=f;let m=s*u,p=i*u,b=c*l,y=o*l,g=r-(m+b)/2,h=a-(p+y)/2,[j,x]=y0(g,s,m,c,b),w=H(Math.floor(h+.5)),v=H(Math.floor(h+i+p+o+y+.5)),I=j0(t,e,n,j,w,x,v);if(!I)return;let{s:J,b:O,pixel:S}=I,M=i===0?0:s/i,T=o===0?0:c/o,F=Ks(M),N=Ks(T),C=[],L;if(u<1&&l<1){if(u=Math.sqrt(m*m+p*p),l=Math.sqrt(b*b+y*y),u<=1.0001&&l<=1.0001){s+=r,i+=a;let D=s+c,G=i+o;c+=r,o+=a;let q=(P,ee,$e,Vt)=>Ea(J,O,S,H(Math.floor(P)),H(Math.floor(ee)),H(Math.floor($e)),H(Math.floor(Vt)),1);q(r,a,s,i),q(s,i,D,G),q(D,G,c,o),q(c,o,r,a);return}p0(C,2,4,g+m+b,h+p+y,s-m,i-p,c-b,o-y,M,T,F,N),L=8}else L=4;p0(C,0,L-2,g,h,s+m,i+p,c+b,o+y,M,T,F,N);let R=O.y2,U=C[0].ystart;for(U<O.y1&&(U=O.y1);U<R;){let D=[],G=R;for(let q=0;q<L;q++){let P=C[q];U<P.yend&&(U<P.ystart?G>P.ystart&&(G=P.ystart):(D.push(P),G>P.yend&&(G=P.yend)))}for(let q=0;q<D.length;q+=2){let P=D[q],ee=D[q+1];v0(J,S,O.x1,U,O.x2,G,Mn(U,P.x0,P.y0,P.slope),P.dx,Mn(U,ee.x0,ee.y0,ee.slope),ee.dx)}U=G}}var w0={"sun/java2d/loops/FillPath.FillPath":b0(!0),"sun/java2d/loops/DrawPath.DrawPath":b0(!1),"sun/java2d/loops/FillParallelogram.FillParallelogram":Lv,"sun/java2d/loops/DrawParallelogram.DrawParallelogram":Nv};var se=(t,e)=>t.getUint16(e),Zn=(t,e)=>t.getInt16(e),bt=(t,e)=>t.getUint32(e),en=t=>(t.charCodeAt(0)<<24|t.charCodeAt(1)<<16|t.charCodeAt(2)<<8|t.charCodeAt(3))>>>0,I0=en("head"),Bv=en("hhea"),Cv=en("maxp"),bu=en("hmtx"),Ev=en("vmtx"),Pv=en("glyf"),Dv=en("loca"),Rv=en("cmap"),Uv=en("kern"),Vv=en("ttcf"),Gv=new Set([65536,131072,en("true"),2775278180,2775348084]),Ut=class extends Error{},pu=Symbol("bad glyph"),Eo=class{upem;numGlyphs;ascender;descender;height;maxAdvance;dv;tables=new Map;longLoca;locaOff;numLocations;glyfOff;glyfLen;hMetrics;cmap=null;cache=new Map;constructor(e,n=0){let r=e.length,a=this.dv=new DataView(e.buffer,e.byteOffset,r),s=j=>{throw new Error(j)};r<12&&s("short file");let i=0;if(bt(a,0)===Vv){let j=bt(a,8);(j===0||j>r/32||n>=j)&&s("bad collection"),i=bt(a,12+n*4),i+12>r&&s("bad collection")}else n!==0&&s("bad face index");Gv.has(bt(a,i))||s("not TrueType");let c=!1;for(let j=0,x=se(a,i+4);j<x;j++){let w=i+12+j*16;if(w+16>r)break;let v=bt(a,w),I=bt(a,w+8),J=bt(a,w+12);if(!(I>r)){if(J>r-I){if(v!==bu&&v!==Ev)continue;J=r-I&-4}else v===I0&&(c=!0,J<54&&s("head too small"));this.tables.has(v)||this.tables.set(v,{off:I,len:J})}}let o=this.tables.get(I0),u=this.tables.get(Bv),l=this.tables.get(Cv),d=this.tables.get(bu),f=this.tables.get(Pv),m=this.tables.get(Dv);(!c||!o)&&s("no head"),this.upem=se(a,o.off+18),(this.upem<16||this.upem>16384)&&s("bad unitsPerEm"),this.longLoca=Zn(a,o.off+50)!==0;let p=l&&l.off+6<=r?se(a,l.off+4):0;(!u||u.off+36>r||!d||!f||!m)&&s("missing table");let b=u.off;this.ascender=Zn(a,b+4),this.descender=Zn(a,b+6),this.height=this.ascender-this.descender+Zn(a,b+8),this.maxAdvance=se(a,b+10),this.hMetrics=se(a,b+34),this.glyfOff=f.off,this.glyfLen=f.len;let y=this.longLoca?2:1,g=Math.min(m.len,65536*2**y),h=Math.floor(g/2**y);if(h<p+1){let j=(p+1)*2**y,x=2147483647,w=!1;for(let v of this.tables.values()){let I=v.off-m.off;I>0&&I<x&&(x=I,w=!0)}w||(x=r-m.off),j<=x?(h=p+1,g=j):p=h?h-1:0}this.numGlyphs=p,this.numLocations=h,this.locaOff=m.off;try{this.pickCmap(this.tables.get(Rv)?.off??0)}catch{this.cmap=null}}pickCmap(e){if(!e)return;let n=this.dv,r=-1,a=0;for(let s=0,i=se(n,e+2);s<i;s++){let c=se(n,e+4+s*8),o=se(n,e+6+s*8),u=e+bt(n,e+8+s*8),l=se(n,u);if(l!==4&&l!==12)continue;let d=c===3&&o===10||c===0&&o>=4?3:c===3&&o===1||c===0?2:-1;d>r&&(r=d,a=u)}r>=0&&(this.cmap={format:se(n,a),off:a})}glyphIndex(e){try{return this.lookup(e)}catch{return 0}}lookup(e){let n=this.cmap;if(!n)return 0;let r=this.dv,a=n.off;if(n.format===12){let f=0,m=bt(r,a+12)-1;for(;f<=m;){let p=f+m>>1,b=a+16+p*12;if(e<bt(r,b))m=p-1;else if(e>bt(r,b+4))f=p+1;else return bt(r,b+8)+e-bt(r,b)}return 0}if(e>65535)return 0;let s=se(r,a+6),i=a+14,c=i+s+2,o=c+s,u=o+s,l=0,d=s/2-1;for(;l<=d;){let f=l+d>>1;if(e>se(r,i+f*2))l=f+1;else if(e<se(r,c+f*2))d=f-1;else{let m=se(r,u+f*2);if(m===0)return e+se(r,o+f*2)&65535;let p=se(r,u+f*2+m+(e-se(r,c+f*2))*2);return p===0?0:p+se(r,o+f*2)&65535}}return 0}advance(e){let n=this.tables.get(bu),r=this.hMetrics;if(!n||r===0)return 0;let a=e<r?e*4:(r-1)*4;return a+(e<r?4:2)>n.len?0:se(this.dv,n.off+a)}location(e){let n=this.dv,r=this.longLoca,a=this.numLocations,s=0,i=0;if(e<a){let c=r?4:2,o=this.locaOff+e*c,u=l=>r?bt(n,l):se(n,l);s=i=u(o),e+1<a&&(i=u(o+c)),r||(s*=2,i*=2)}if(s>this.glyfLen)return[0,0];if(i>this.glyfLen){if(e!==a-2)return[0,0];i=this.glyfLen}return[s,i>=s?i-s:this.glyfLen-s]}glyph(e){let n=this.cache.get(e);if(n===void 0){try{n=e>=0&&e<this.numGlyphs?this.parse(e):pu}catch{n=pu}this.cache.size>1024&&this.cache.clear(),this.cache.set(e,n)}if(n===pu)throw new Ut;return n}parse(e){let[n,r]=this.location(e);if(r===0)return null;let a=this.glyfOff+n,s=a+r;if(a+10>s)throw new Ut;let i=Zn(this.dv,a);return i===0?null:i<0?{parts:this.composite(a+10,s)}:{simple:this.simple(a+10,s,i)}}simple(e,n,r){let a=this.dv,s=new Uint8Array(a.buffer,a.byteOffset,a.byteLength),i=()=>{throw new Ut};(r>=4095||e+2*r+2>n)&&i();let c=[];for(let p=0,b=-1;p<r;p++,e+=2){let y=se(a,e);y<=b&&i(),c.push(b=y)}let o=c[r-1]+1,u=se(a,e);e+=2,e+u>n&&i(),e+=u;let l=[];for(;l.length<o;){e+1>n&&i();let p=s[e++];if(l.push(p),p&8){e+1>n&&i();let b=s[e++];for(l.length+b>o&&i();b-- >0;)l.push(p)}}let d=(p,b,y)=>{let g=[],h=0;for(let j of l)j&p?(e+1>n&&i(),h+=j&b?s[e++]:-s[e++]):j&y||(e+2>n&&i(),h+=Zn(a,e),e+=2),g.push(h);return g},f=d(2,16,16),m=d(4,32,32);return{x:f,y:m,on:l.map(p=>(p&1)!==0),ends:c}}composite(e,n){let r=this.dv,a=[];for(;;){if(e+4>n)throw new Ut;let s=se(r,e),i=se(r,e+2);if(e+=4,i>=this.numGlyphs)throw new Ut;let c=s&1,o=s&8?2:s&64?4:s&128?8:0;if(e+2+c*2+o>n)throw new Ut;let u=0,l=0;s&2&&(u=c?Zn(r,e):r.getInt8(e),l=c?Zn(r,e+2):r.getInt8(e+1)),e+=2+c*2;let d=m=>r.getInt16(m)*4,f=[65536,0,0,65536];if(s&8?f=[d(e),0,0,d(e)]:s&64?f=[d(e),0,0,d(e+2)]:s&128&&(f=[d(e),d(e+4),d(e+2),d(e+6)]),e+=o,a.push({gid:i,m:f,dx:u,dy:l}),!(s&32))return a}}scaled(e,n,r=[]){if(r.length>100)throw new Ut;let a=this.glyph(e);if(!a)return null;if("simple"in a){let i=a.simple;return{x:i.x.map(c=>fe(c,n)),y:i.y.map(c=>fe(c,n)),on:i.on,ends:i.ends}}if(r.includes(e))throw new Ut;r.push(e);let s={x:[],y:[],on:[],ends:[]};for(let i of a.parts){let c=this.scaled(i.gid,n,r);if(!c)continue;let o=s.x.length,[u,l,d,f]=i.m,m=fe(i.dx,n),p=fe(i.dy,n);for(let b=0;b<c.x.length;b++)s.x.push(fe(c.x[b],u)+fe(c.y[b],l)+m),s.y.push(fe(c.x[b],d)+fe(c.y[b],f)+p),s.on.push(c.on[b]);for(let b of c.ends)s.ends.push(b+o)}return r.pop(),s.x.length?s:null}kern(e,n){try{return this.pairKern(e,n)}catch{return 0}}pairKern(e,n){let r=this.dv,a=this.tables.get(Uv)?.off??0;if(!a)return 0;let s=a+4;for(let i=se(r,a+2);i>0;i--){let c=se(r,s+2);if(se(r,s+4)===1){let u=se(r,s+6),l=e*65536+n,d=0,f=u-1;for(;d<=f;){let m=d+f>>1,p=s+14+m*6,b=se(r,p)*65536+se(r,p+2);if(l<b)f=m-1;else if(l>b)d=m+1;else return Zn(r,p+4)}}s+=c}return 0}};function fe(t,e){let n=Math.abs(t)*Math.abs(e),r=Math.floor((n+32768)/65536);return t<0!=e<0?-r:r}function k0(t,e){let n=t.x.length,r=new Array(n),a=new Array(n);for(let s=0;s<n;s++)r[s]=fe(t.x[s],e[0])+fe(t.y[s],e[1]),a[s]=fe(t.x[s],e[2])+fe(t.y[s],e[3]);return{x:r,y:a,on:t.on,ends:t.ends}}function hr(t,e,n){let r=t<0!=e<0!=n<0,a=Math.abs(n),s=a>0?Math.floor((Math.abs(t)*Math.abs(e)+Math.floor(a/2))/a):2147483647;return r?-s:s}var A0=(t,e)=>hr(t,65536,e),gu=t=>31-Math.clz32(t);function _v(t){let e=t.x|0,n=t.y|0,r=e<0?-1:1,a=n<0?-1:1,s=Math.abs(e)>>>0,i=Math.abs(n)>>>0;if(s===0)return i>0&&(t.y=a*65536),i;if(i===0)return s>0&&(t.x=r*65536),s;let c=s>i?s+(i>>>1):i+(s>>>1),o=31-gu(c);o-=15+(c>=2863311530>>>o?1:0),o>0?(s=s<<o>>>0,i=i<<o>>>0,c=s>i?s+(i>>>1):i+(s>>>1)):(s>>>=-o,i>>>=-o,c>>>=-o);let u=65536-c|0,l,d,f,m=s|0,p=i|0;do d=m+(Math.imul(m,u)>>16)>>>0,f=p+(Math.imul(p,u)>>16)>>>0,l=Math.trunc(-(Math.imul(d,d)+Math.imul(f,f)|0)/512),l=Math.trunc(Math.imul(l,65536+u>>8)/65536),u=u+l|0;while(l>0);return t.x=r<0?-d:d,t.y=a<0?-f:f,c=65536+Math.trunc((Math.imul(d,s)+Math.imul(f,i)|0)/65536)>>>0,o>0?c+(1<<o-1)>>>o:c<<-o>>>0}function yu(t){let e=1/0,n=1/0,r=-1/0,a=-1/0;for(let s=0;s<t.x.length;s++)t.x[s]<e&&(e=t.x[s]),t.x[s]>r&&(r=t.x[s]),t.y[s]<n&&(n=t.y[s]),t.y[s]>a&&(a=t.y[s]);return[e,n,r,a]}function Hv(t){if(t.x.length===0)return 1;let[e,n,r,a]=yu(t);if(e===r||n===a||e<-16777216||n<-16777216||r>16777216||a>16777216)return 0;let s=Math.max(gu(Math.abs(r)|Math.abs(e))-14,0),i=Math.max(gu(a-n)-14,0),c=0;for(let o=0,u=0;o<t.ends.length;u=t.ends[o++]+1){let l=t.ends[o],d=t.x[l]>>s,f=t.y[l]>>i;for(let m=u;m<=l;m++){let p=t.x[m]>>s,b=t.y[m]>>i;c+=(b-f)*(p+d),d=p,f=b}}return c>0?-1:c<0?1:0}function S0(t,e){let n=Math.trunc(e/2);if(n===0)return;let r=Hv(t);if(r===0)return;let a=r>0,s=0;for(let i of t.ends){let c={x:0,y:0},o=0,u={x:0,y:0},l=0,d=i,f=s,m=-1;for(;f!==d&&d!==m;){let p,b;if(f!==m){if(p={x:t.x[f]-t.x[d],y:t.y[f]-t.y[d]},b=_v(p),b===0){f=f<i?f+1:s;continue}}else p=u,b=l;if(o!==0){m<0&&(m=d,u=c,l=o);let y=fe(c.x,p.x)+fe(c.y,p.y),g=0,h=0;if(y>-61440){y+=65536,g=c.y+p.y,h=c.x+p.x,a?g=-g:h=-h;let j=fe(p.x,c.y)-fe(p.y,c.x);a&&(j=-j);let x=Math.min(o,b),w=fe(n,j)<=fe(x,y);g=w?hr(g,n,y):hr(g,x,j),h=w?hr(h,n,y):hr(h,x,j)}for(;d!==f;d=d<i?d+1:s)t.x[d]+=n+g,t.y[d]+=n+h}else d=f;c=p,o=b,f=f<i?f+1:s}s=i+1}}var J0=0,M0=1,$0=2,vu=4;function Po(t,e){let n=0;for(let r of t.ends){let{x:a,y:s,on:i}=t,c,o,u=n,l=r;i[n]?(c=a[n],o=s[n],u=n+1):i[r]?(c=a[r],o=s[r],l=r-1):(c=Math.trunc((a[n]+a[r])/2),o=Math.trunc((s[n]+s[r])/2)),e.move(c,o);let d=0,f=0,m=!1;for(let p=u;p<=l;p++)i[p]?(m?e.quad(d,f,a[p],s[p]):e.line(a[p],s[p]),m=!1):(m&&e.quad(d,f,Math.trunc((d+a[p])/2),Math.trunc((f+s[p])/2)),d=a[p],f=s[p],m=!0);m?e.quad(d,f,c,o):e.line(c,o),e.close(),n=r+1}}function T0(t){if(t.x.length===0||t.ends.length===0)return[0,0,0,0];let e=2147483647,n=[e,e,-e,-e],r=[e,e,-e,-e],a=(o,u,l)=>{u<o[0]&&(o[0]=u),l<o[1]&&(o[1]=l),u>o[2]&&(o[2]=u),l>o[3]&&(o[3]=l)};for(let o=0;o<t.x.length;o++)a(n,t.x[o],t.y[o]),t.on[o]&&a(r,t.x[o],t.y[o]);if(n[0]>=r[0]&&n[1]>=r[1]&&n[2]<=r[2]&&n[3]<=r[3])return[r[0],r[1],r[2],r[3]];let s=(o,u,l,d)=>{o-=u,l-=u,u+=hr(o,l,o+l),u<r[d]&&(r[d]=u),u>r[d+2]&&(r[d+2]=u)},i=0,c=0;return Po(t,{move(o,u){a(r,o,u),i=o,c=u},line(o,u){i=o,c=u},quad(o,u,l,d){a(r,l,d),(o<r[0]||o>r[2])&&s(i,o,l,0),(u<r[1]||u>r[3])&&s(c,u,d,1),i=l,c=d},close(){}}),[r[0],r[1],r[2],r[3]]}function F0(t,e,n){let r=t.x.length;if(r===0)return null;let a=1/0,s=1/0,i=-1/0,c=-1/0;for(let v=0;v<r;v++)t.x[v]<a&&(a=t.x[v]),t.x[v]>i&&(i=t.x[v]),t.y[v]<s&&(s=t.y[v]),t.y[v]>c&&(c=t.y[v]);let o=a>>6,u=c+63>>6,l=(i+63>>6)-o,d=u-(s>>6);if(l<=0||d<=0)return null;if(l>n||d>n)return{left:o,top:u,width:l,height:d,pixels:new Uint8Array(0)};let f=l+2,m=new Float32Array(f*d+2),p=v=>v/64-o,b=v=>u-v/64,y=0,g=0,h=0,j=0,x=(v,I,J,O)=>zv(m,f,d,v,I,J,O);Po(t,{move(v,I){y=h=p(v),g=j=b(I)},line(v,I){let J=p(v),O=b(I);x(y,g,J,O),y=J,g=O},quad(v,I,J,O){let S=p(v),M=b(I),T=p(J),F=b(O),N=Math.hypot(y-2*S+T,g-2*M+F),C=Math.min(32,Math.max(1,Math.ceil(Math.sqrt(N/.2)))),L=y,R=g;for(let U=1;U<=C;U++){let D=U/C,G=1-D,q=G*G*y+2*G*D*S+D*D*T,P=G*G*g+2*G*D*M+D*D*F;x(L,R,q,P),L=q,R=P}y=T,g=F},close(){x(y,g,h,j)}});let w=new Uint8Array(l*d);for(let v=0;v<d;v++){let I=0;for(let J=0;J<l;J++){I+=m[v*f+J];let O=Math.min(Math.abs(I),1);w[v*l+J]=e?O>=.5?255:0:Math.round(O*255)}}return{left:o,top:u,width:l,height:d,pixels:w}}function zv(t,e,n,r,a,s,i){if(a===i)return;let c=1;a>i&&(c=-1,[r,a,s,i]=[s,i,r,a]);let o=(s-r)/(i-a),u=r,l=Math.floor(a);a<0&&(u-=a*o,l=0);let d=Math.min(n,Math.ceil(i));for(;l<d;l++){let f=l*e,m=Math.min(l+1,i)-Math.max(l,a),p=u+o*m,b=m*c,y=u<p?u:p,g=u<p?p:u,h=Math.floor(y),j=Math.ceil(g);if(j<=h+1){let x=.5*(u+p)-h;t[f+h]+=b-b*x,t[f+h+1]+=b*x}else{let x=1/(g-y),w=y-h,v=.5*x*(1-w)*(1-w),I=g-j+1,J=.5*x*I*I;if(t[f+h]+=b*v,j===h+2)t[f+h+1]+=b*(1-v-J);else{let O=x*(1.5-w);t[f+h+1]+=b*(O-v);for(let M=h+2;M<j-1;M++)t[f+M]+=b*x;let S=O+(j-h-3)*x;t[f+j-1]+=b*(1-S-J)}t[f+j]+=b*J}u=p}}var Zv="DejaVuSans.ttf",Wv=1,D0=2,Xv=65534,Do=40,qv=1024,O0=13930,Ye=Math.fround,wu=class{bundled=new Map;scalers=new Map;contexts=new Map;nullContext=0},L0=new WeakMap;function tn(t){let e=L0.get(t);return e||L0.set(t,e=new wu),e}var xu=65536;function*Yv(t,e,n){if(n<=0)return null;let r=yield*R0(t,"java/nio/ByteBuffer"),a=yield t.call(r.methodMap.get("allocate(I)Ljava/nio/ByteBuffer;"),Math.min(n,xu)),s=t.vm.getField(a,"java/nio/ByteBuffer","hb").a,i=new Uint8Array(n);try{for(let c=0;c<n;c+=xu){let o=Math.min(xu,n-c);if((yield t.callVirtual(e,"readBlock","(Ljava/nio/ByteBuffer;II)I",a,c,o))!==o)return null;i.set(new Uint8Array(s.buffer,s.byteOffset,o),c)}}catch{return null}return i}function*Kv(t,e,n,r){let a=t.vm,s=tn(a),i=a.getField(e,"sun/font/PhysicalFont","platName"),c=i&&a.jsString(i),o=c!==null&&c.startsWith(`${ku(a)}/`),u=o?s.bundled.get(c):void 0;if(u)return u;let l=o?a.fs.read(c):yield*Yv(t,e,r);if(!l)return null;try{let d=new Eo(l,n);return o&&s.bundled.set(c,d),d}catch{return null}}function*R0(t,e){let n=t.vm.loadBootOrFail(e);return n.state!==z&&(yield*t.vm.initGen(t,n)),n}function*ra(t,e,n,...r){let a=yield*R0(t,e),s=t.vm.newObject(a);return yield t.call(a.methodMap.get(`<init>${n}`),s,...r),s}function*Qv(t,e,n){return yield*ra(t,"java/awt/geom/Point2D$Float","(FF)V",e,n)}function ei(t,e,n,r,a,s,i,c){let o=c?c.length:0,u=t.mem,l=u.malloc(Do+o);u.u8.fill(0,l,l+Do+o);let d=u.dv;return d.setFloat32(l,e,!0),d.setFloat32(l+4,n,!0),d.setUint16(l+8,r,!0),d.setUint16(l+10,a,!0),d.setUint16(l+12,r,!0),d.setFloat32(l+16,s,!0),d.setFloat32(l+20,i,!0),c&&o>0&&(d.setBigUint64(l+32,BigInt(l+Do),!0),u.u8.set(c,l+Do)),l}var Ro=t=>Math.trunc(Ye(Ye(t)*65536));function ex(t,e,n,r,a,s,i){let c=Math.hypot(n[2],n[3]);c<1&&(c=1),c>16384&&(c=16384,a=D0);for(let d of n)if(Math.abs(Math.trunc(d/c))>32766)return 0n;let o=tn(t),u=t.mem.malloc(16),l=Math.trunc(c*64);return o.contexts.set(u,{ttf:e,ptsz26:l,scale:A0(l,e.upem),xx:Ro(n[0]/c),yx:-Ro(n[1]/c),xy:-Ro(n[2]/c),yy:Ro(n[3]/c),aa:r,fm:a,bold:s!==1,italic:i!==0}),BigInt(u)}function Wn(t,e){return tn(t).contexts.get(Number(e))??null}function N0(t){return t.italic?[t.xx,fe(t.xx,O0)+t.xy,t.yx,fe(t.yx,O0)+t.yy]:[t.xx,t.xy,t.yx,t.yy]}var Iu=t=>Math.trunc(fe(t.ttf.upem,t.scale)/32);function ti(t,e){let n=t.ttf;if(e>=n.numGlyphs)return null;let r;try{r=n.scaled(e,t.scale)}catch(p){if(p instanceof Ut)return null;throw p}let a=r&&yu(r),s=a!==null&&a[0]!==a[2]&&a[1]!==a[3],i=r&&k0(r,N0(t));i&&s&&t.bold&&S0(i,Iu(t));let c=n.advance(e),o=hr(c,t.scale,64),u=t.bold&&s&&o!==0?Iu(t):0;if(t.fm===D0){let p=Ye((o+u*1024)/65536);return{o:i,ax:Ye(p*Ye(t.xx/65536)),ay:Ye(-(p*Ye(t.yx/65536)))}}let l=Math.round(c*t.ptsz26/64/n.upem)*64,d=N0(t),f=fe(l,d[0]),m=fe(l,d[2]);return u&&f&&(f+=fe(u,t.xx)),u&&m&&(m+=fe(u,t.yx)),{o:i,ax:f/64,ay:m?-m/64:0}}function Uo(t,e){return e>=Xv?null:ti(t,e)?.o??null}function tx(t,e,n){let r=e&&ti(e,n);if(!r)return ei(t,0,0,0,0,0,0,null);let a=r.o&&r.o.x.length>0?F0(r.o,e.aa===Wv,qv):null;return a&&a.pixels.length===0?ei(t,0,0,0,0,0,0,null):ei(t,r.ax,r.ay,a?.width??0,a?.height??0,a?.left??0,a?-a.top:0,a?.pixels??null)}var _o=class{types=[];coords=[];add(e,n,r){let a=(s,i)=>this.coords.push(Ye((s+n)/64),Ye(-(i+r)/64));Po(e,{move:(s,i)=>{this.coords.length&&this.types.push(vu),a(s,i),this.types.push(J0)},line:(s,i)=>{a(s,i),this.types.push(M0)},quad:(s,i,c,o)=>{a(s,i),a(c,o),this.types.push($0)},close:()=>{}}),this.coords.length&&this.types.push(vu)}};function*B0(t,e){if(!e||e.coords.length===0)return yield*ra(t,"java/awt/geom/GeneralPath","()V");let n=t.vm,r=n.newArray(n.primClass("B"),e.types.length),a=n.newArray(n.primClass("F"),e.coords.length);return r.a.set(e.types),a.a.set(e.coords),yield*ra(t,"java/awt/geom/GeneralPath","(I[BI[FI)V",0,r,e.types.length,a,e.coords.length)}var Vo=t=>Math.trunc(t*64),qe="sun/font/FreetypeFontScaler.",nx=1,rx={[qe+"initIDs"]:()=>{},[qe+"initNativeScaler"]:function*(t,[,e,n,r,,a]){let s=n===nx?yield*Kv(t,e,r,a):null;if(!s)return 0n;let i=t.vm.mem.malloc(16);return tn(t.vm).scalers.set(i,s),BigInt(i)},[qe+"disposeNativeScaler"](t,[,,e]){let n=tn(t.vm),r=Number(e);n.scalers.delete(r)&&t.vm.mem.freeBlock(r)},[qe+"createScalerContextNative"](t,[,e,n,r,a,s,i]){let c=tn(t.vm).scalers.get(Number(e));return c?ex(t.vm,c,n.a,r,a,s,i):0n},[qe+"getNumGlyphsNative"](t,[,e]){return tn(t.vm).scalers.get(Number(e))?.numGlyphs??1},[qe+"getMissingGlyphCodeNative"]:()=>0,[qe+"getUnitsPerEMNative"](t,[,e]){return BigInt(tn(t.vm).scalers.get(Number(e))?.upem??2048)},[qe+"getGlyphCodeNative"](t,[,,e,n]){return tn(t.vm).scalers.get(Number(e))?.glyphIndex(n)??0},[qe+"getGlyphAdvanceNative"](t,[,,e,,n]){let r=Wn(t.vm,e);return r&&ti(r,n)?.ax||0},[qe+"getGlyphMetricsNative"](t,[,,e,,n,r]){let a=Wn(t.vm,e),s=a&&ti(a,n);t.vm.setField(r,"java/awt/geom/Point2D$Float","x",s?s.ax:0),t.vm.setField(r,"java/awt/geom/Point2D$Float","y",s?s.ay:0)},[qe+"getGlyphImageNative"](t,[,,e,,n]){return BigInt(tx(t.vm,Wn(t.vm,e),n))},[qe+"getFontMetricsNative"]:function*(t,[,,e]){let n=Wn(t.vm,e),r=[0,0,0,0,0,0,0,0,0,0];if(n){let a=n.ttf,s=n.scale,i=s,c=(g,h)=>Ye(g*h/65536/64),o=-c(a.ascender,s),u=-c(a.descender,s),l=c(a.height,s)+o-u,d=g=>g+32&-64,f=d(Math.round(a.height*s/65536)),p=(d(Math.round(a.maxAdvance*i/65536))+(n.italic?Math.trunc(f*13930/65536):0)+(n.bold?Iu(n):0))/64,b=(g,h)=>Ye(n.xx/65536*g-n.xy/65536*h),y=(g,h)=>Ye(-n.yx/65536*g+n.yy/65536*h);r=[b(0,o),y(0,o),b(0,u),y(0,u),0,0,b(0,l),y(0,l),b(p,0),y(p,0)]}return yield*ra(t,"sun/font/StrikeMetrics","(FFFFFFFFFF)V",...r)},[qe+"getGlyphOutlineBoundsNative"]:function*(t,[,,e,,n]){let r=Wn(t.vm,e),a=r&&Uo(r,n);if(a){let[s,i,c,o]=T0(a);if(s<c&&i<o)return yield*ra(t,"java/awt/geom/Rectangle2D$Float","(FFFF)V",s/64,-o/64,(c-s)/64,(o-i)/64)}return yield*ra(t,"java/awt/geom/Rectangle2D$Float","()V")},[qe+"getGlyphOutlineNative"]:function*(t,[,,e,,n,r,a]){let s=Wn(t.vm,e),i=s&&Uo(s,n),c=null;return i&&(c=new _o,c.add(i,Vo(r),Vo(-a))),yield*B0(t,c)},[qe+"getGlyphVectorOutlineNative"]:function*(t,[,,e,,n,r,a,s]){let i=Wn(t.vm,e),c=new _o,o=n.a;for(let u=0;i&&u<r;u++){let l=Uo(i,o[u]);l&&c.add(l,Vo(a),Vo(-s))}return yield*B0(t,c)},[qe+"getGlyphPointNative"]:function*(t,[,,e,,n,r]){let a=Wn(t.vm,e),s=a&&Uo(a,n);return yield*Qv(t,s&&s.x.length>r?s.x[r]/64:0,s&&s.x.length>r?-s.y[r]/64:0)}},ax={"sun/font/StrikeCache.getInvisibleGlyphPtr"(t){return BigInt(ei(t.vm,0,0,0,0,0,0,null))},"sun/font/StrikeCache.freeIntPointer"(t,[e]){e&&t.vm.mem.freeBlock(e)},"sun/font/StrikeCache.freeLongPointer"(t,[e]){e&&t.vm.mem.freeBlock(Number(e))},"sun/font/StrikeCache.freeIntMemory"(t,[e,n]){for(let r of e.a)r&&t.vm.mem.freeBlock(r);C0(t.vm,n)},"sun/font/StrikeCache.freeLongMemory"(t,[e,n]){for(let r of e.a)r&&t.vm.mem.freeBlock(Number(r));C0(t.vm,n)},"sun/font/SunFontManager.initIDs":()=>{},"sun/font/NullFontScaler.getNullScalerContext"(t){let e=tn(t.vm);return BigInt(e.nullContext||(e.nullContext=t.vm.mem.malloc(16)))},"sun/font/NullFontScaler.getGlyphImage"(t){return BigInt(ei(t.vm,0,0,0,0,0,0,null))}};function C0(t,e){let n=tn(t),r=Number(e);r&&r!==n.nullContext&&(n.contexts.delete(r),t.mem.freeBlock(r))}var br="sun/font/FontConfigManager",ku=t=>`${t.opts.javaHome}/lib/fonts`,sx={"sun/awt/FcFontManager.getFontPathNative"(t){return t.vm.str(ku(t.vm))},[`${br}.getFontConfigVersion`]:()=>21402,[`${br}.getFontConfigAASettings`]:()=>2,[`${br}.getFontConfig`]:function*(t,[,e,n,r]){let a=t.vm;a.setField(e,`${br}$FontConfigInfo`,"fcVersion",21402);let s=yield*ra(t,`${br}$FontConfigFont`,"()V"),i=`${br}$FontConfigFont`;a.setField(s,i,"familyName",a.str("DejaVu Sans")),a.setField(s,i,"styleStr",a.str("Book")),a.setField(s,i,"fullName",a.str("DejaVu Sans")),a.setField(s,i,"fontFile",a.str(`${ku(a)}/${Zv}`));for(let c of n.a)a.setField(c,`${br}$FcCompFont`,"firstFont",s),r&&a.setField(c,`${br}$FcCompFont`,"allFonts",a.newObjectArray(i,[s]))}},ix=1,ox=-2147483648,lx=t=>t===173||t===847||t===1564||t>=6068&&t<=6069||t>=6155&&t<=6158||t>=8203&&t<=8207||t>=8234&&t<=8238||t>=8288&&t<=8303||t>=65024&&t<=65039||t===65279||t>=65520&&t<=65528||t>=119155&&t<=119162||t>=917504&&t<=921599,E0=65535;function*Go(t,e,n,r,...a){try{let s=yield t.callVirtual(e,n,r,...a);return s<0?0:s}catch{return 0}}var P0=new Map([[8192,2],[8193,1],[8194,2],[8195,1],[8196,3],[8197,4],[8198,6],[8201,5],[8202,16],[12288,1]]),cx=new Set([32,160,8199,8200,8239,8287]),ux=t=>t>=65024&&t<=65039||t>=917760&&t<=917999,ju="sun/font/SunLayoutEngine.",fx={[ju+"createFace"]:()=>1n,[ju+"disposeFace"]:()=>{},[ju+"shape"]:function*(t,[e,n,r,,,a,s,,i,c,o,u,l,d]){let f=t.vm,m=Wn(f,f.getField(n,"sun/font/PhysicalStrike","pScalerContext")),p=a.a,b=[];for(let M=i;M<c;M++){let T=p[M],F=M;T>=55296&&T<56320&&M+1<c&&p[M+1]>=56320&&p[M+1]<57344?T=65536+(T-55296<<10)+(p[++M]-56320):T>=55296&&T<57344&&(T=65533);let N=-1,C=p[M+1],L=p[M+2],R=C>=55296&&C<56320&&M+2<c&&L>=56320&&L<57344?65536+(C-55296<<10)+(L-56320):C;M+1<c&&ux(R)&&(N=yield*Go(t,e,"charToVariationGlyph","(II)I",T,R),N===0?N=-1:M+=R>65535?2:1),lx(T)?N=E0:N<0&&(N=yield*Go(t,e,"charToGlyph","(I)I",T));let U=G=>m&&(G&65534)!==65534?Math.trunc(Ye(ti(m,G)?.ax??0)*65536):0,D=U(N);if(N===0&&(P0.has(T)||cx.has(T))){let G=yield*Go(t,e,"charToGlyph","(I)I",32),q=Math.trunc(r*65536);N=G||E0,D=G?U(G):Math.trunc(q/4);let P=P0.get(T);if(P)D=Math.trunc((q+(P>>1))/P);else if(T===8287)D=Math.trunc(q*4/18);else if(T===8239)D=Math.trunc(D/2);else if(T===8199||T===8200)for(let ee of T===8199?"0123456789":".,"){let $e=yield*Go(t,e,"charToGlyph","(I)I",ee.charCodeAt(0));if($e){D=U($e);break}}}b.push({gid:N,cluster:F,adv:D/65536})}if(m&&l&ix){let M=m.ttf,T=Math.trunc(r*65536);for(let F=0;F+1<b.length;F++){let N=M.kern(b[F].gid,b[F+1].gid);N&&(b[F].adv+=Math.round(N*T/M.upem)/65536)}}l&ox&&b.reverse();let y="sun/font/GlyphLayout$GVData",g=f.getField(s,y,"_count"),h=Math.max(c-i,b.length)+g;for(;;){let M=f.getField(s,y,"_glyphs"),T=f.getField(s,y,"_positions");if(h<=M.a.length&&h*2+2<=T.a.length)break;yield t.call(s.cls.methodMap.get("grow()V"),s)}let j=f.getField(s,y,"_glyphs").a,x=f.getField(s,y,"_positions").a,w=f.getField(s,y,"_indices").a,v="java/awt/geom/Point2D$Float",I=f.getField(u,v,"x"),J=f.getField(u,v,"y"),O=0;b.forEach((M,T)=>{let F=T+g;w[F]=o+M.cluster-i,j[F]=M.gid|d,x[F*2]=I+O,x[F*2+1]=J,O=Ye(O+M.adv)});let S=g+b.length;return x[S*2]=Ye(I+O),x[S*2+1]=J,f.setField(u,v,"x",Ye(I+O)),f.setField(s,y,"_count",S),1}},U0={...rx,...ax,...sx,...fx};var V0={...Af,...Vf,...rm,...sm,...as,...Xf,...Wm,...Oc,...fm,...Fm,...vm,...yf,...Gm,...jf,...df,...sh,...a0,...w0,...Xh,...U0},G0={...Uf,...Vm,...rd};var Va=class{b=[];u1(e){this.b.push(e&255)}u2(e){this.b.push(e>>8&255,e&255)}u4(e){this.u2(e>>>16),this.u2(e&65535)}raw(e){for(let n=0;n<e.length;n++)this.b.push(e[n])}},Au=class{w;out=new Va;maxStack=16;maxLocals;fixups=[];constructor(e,n){this.w=e,this.maxLocals=n}get pc(){return this.out.b.length}op(...e){for(let n of e)this.out.u1(n);return this}u2op(e,n){return this.out.u1(e),this.out.u2(n),this}iconst(e){return e>=-1&&e<=5?this.op(3+e):e>=-128&&e<=127?this.op(16,e):e>=-32768&&e<=32767?this.op(17,e>>8&255,e):this.ldc(this.w.int(e))}ldc(e){return e<256?this.op(18,e):this.u2op(19,e)}ldcString(e){return this.ldc(this.w.string(e))}ldc2(e){return this.u2op(20,e)}load(e,n){return this.local([21,22,23,24,25],e,n)}store(e,n){return this.local([54,55,56,57,58],e,n)}local(e,n,r){let a=_0(n);return r<256?this.op(e[a],r):this.op(196,e[a],r>>8&255,r)}ret(e){return e==="V"?this.op(177):this.op([172,173,174,175,176][_0(e)])}getfield(e,n,r){return this.u2op(180,this.w.field(e,n,r))}putfield(e,n,r){return this.u2op(181,this.w.field(e,n,r))}getstatic(e,n,r){return this.u2op(178,this.w.field(e,n,r))}putstatic(e,n,r){return this.u2op(179,this.w.field(e,n,r))}invokevirtual(e,n,r){return this.u2op(182,this.w.method(e,n,r,!1))}invokespecial(e,n,r,a=!1){return this.u2op(183,this.w.method(e,n,r,a))}invokestatic(e,n,r,a=!1){return this.u2op(184,this.w.method(e,n,r,a))}invokeinterface(e,n,r){let{params:a}=yt(r),s=1;for(let i of a)s+=ke(i)?2:1;return this.u2op(185,this.w.method(e,n,r,!0)),this.op(s,0)}anew(e){return this.u2op(187,this.w.cls(e))}checkcast(e){return this.u2op(192,this.w.cls(e))}instanceOf(e){return this.u2op(193,this.w.cls(e))}label(){return new Su}bind(e){return e.pc=this.pc,this}jump(e,n){let r=this.pc;return this.op(e),this.fixups.push({at:this.pc,from:r,label:n}),this.out.u2(0),this}finish(){for(let e of this.fixups){let n=e.label.pc-e.from;this.out.b[e.at]=n>>8&255,this.out.b[e.at+1]=n&255}return this.out.b}},Su=class{pc=-1};function _0(t){switch(t[0]){case"J":return 1;case"F":return 2;case"D":return 3;case"L":case"[":return 4;default:return 0}}var aa=class{pool=new Va;count=1;keys=new Map;name;access;superName;interfaces;fields=[];methods=[];attrs=[];constructor(e,n,r,a=[]){this.access=e,this.name=n,this.superName=r,this.interfaces=a}entry(e,n,r=1){let a=this.keys.get(e);if(a!==void 0)return a;let s=this.count;return n(this.pool),this.count+=r,this.keys.set(e,s),s}utf8(e){return this.entry("U"+e,n=>{let r=qu(e);n.u1(B.Utf8),n.u2(r.length),n.raw(r)})}cls(e){let n=this.utf8(e);return this.entry("C"+e,r=>{r.u1(B.Class),r.u2(n)})}string(e){let n=this.utf8(e);return this.entry("S"+e,r=>{r.u1(B.String),r.u2(n)})}int(e){return this.entry("I"+e,n=>{n.u1(B.Integer),n.u4(e)})}float(e){let n=new DataView(new ArrayBuffer(4));return n.setFloat32(0,e),this.entry("F"+n.getUint32(0),r=>{r.u1(B.Float),r.u4(n.getUint32(0))})}long(e){return this.entry("J"+e,n=>{n.u1(B.Long),n.u4(Number(BigInt.asUintN(64,e)>>32n)),n.u4(Number(BigInt.asUintN(32,e)))},2)}double(e){let n=new DataView(new ArrayBuffer(8));return n.setFloat64(0,e),this.entry("D"+n.getBigUint64(0),r=>{r.u1(B.Double),r.u4(n.getUint32(0)),r.u4(n.getUint32(4))},2)}nat(e,n){let r=this.utf8(e),a=this.utf8(n);return this.entry(`N${e}:${n}`,s=>{s.u1(B.NameAndType),s.u2(r),s.u2(a)})}field(e,n,r){let a=this.cls(e),s=this.nat(n,r);return this.entry(`f${e}.${n}:${r}`,i=>{i.u1(B.Fieldref),i.u2(a),i.u2(s)})}method(e,n,r,a){let s=this.cls(e),i=this.nat(n,r),c=a?B.InterfaceMethodref:B.Methodref;return this.entry(`m${c}${e}.${n}:${r}`,o=>{o.u1(c),o.u2(s),o.u2(i)})}addField(e,n,r){this.fields.push({access:e,name:n,desc:r})}addMethod(e,n,r){let{params:a}=yt(r),s=e&8?0:1;for(let c of a)s+=ke(c)?2:1;let i=new Au(this,s+4);return this.methods.push({access:e,name:n,desc:r,code:i}),i}addAttribute(e,n){this.attrs.push([e,n])}toBytes(){let e=this.cls(this.name),n=this.cls(this.superName),r=this.interfaces.map(u=>this.cls(u)),a=u=>{let l=new Va;l.u2(u.length);for(let d of u){if(l.u2(d.access),l.u2(this.utf8(d.name)),l.u2(this.utf8(d.desc)),!d.code){l.u2(0);continue}let f=d.code.finish();l.u2(1),l.u2(this.utf8("Code")),l.u4(12+f.length),l.u2(d.code.maxStack),l.u2(d.code.maxLocals),l.u4(f.length),l.raw(f),l.u2(0),l.u2(0)}return l.b},s=a(this.fields),i=a(this.methods),c=this.attrs.map(([u])=>this.utf8(u)),o=new Va;o.u4(3405691582),o.u2(0),o.u2(52),o.u2(this.count),o.raw(this.pool.b),o.u2(this.access),o.u2(e),o.u2(n),o.u2(r.length);for(let u of r)o.u2(u);return o.raw(s),o.raw(i),o.u2(this.attrs.length),this.attrs.forEach(([,u],l)=>{o.u2(c[l]),o.u4(u.length),o.raw(u)}),Uint8Array.from(o.b)}};var dx=1;var mx=4,Fu=5,hx=6,X0=7,$u=8,q0=9;function Tu(t,e){let n=t.cf.cp,r=n[e];switch(r.tag){case B.Integer:case B.Float:case B.Long:case B.Double:return{kind:"value",tag:r.tag,value:r.value};case B.String:return{kind:"value",tag:r.tag,value:_(n,r.a)};case B.Class:return{kind:"class",name:de(n,e)};case B.MethodType:return{kind:"mt",desc:_(n,r.a)};case B.MethodHandle:{let a=n[r.b],s=n[a.b];return{kind:"mh",refKind:r.a,owner:de(n,a.a),name:_(n,s.a),desc:_(n,s.b),iface:a.tag===B.InterfaceMethodref}}case B.Dynamic:return{kind:"condy",index:e}}throw new A("java/lang/InternalError",`bad bootstrap argument tag ${r.tag}`)}function bx(t){let e=0;for(let n of t)e+=ke(n)?2:1;return e}function Y0(t){return t[0]==="L"?t.slice(1,-1):t}var Ho={Z:"java/lang/Boolean",B:"java/lang/Byte",C:"java/lang/Character",S:"java/lang/Short",I:"java/lang/Integer",J:"java/lang/Long",F:"java/lang/Float",D:"java/lang/Double"},H0=Object.fromEntries(Object.entries(Ho).map(([t,e])=>[`L${e};`,t])),Ju={Z:"booleanValue",B:"byteValue",C:"charValue",S:"shortValue",I:"intValue",J:"longValue",F:"floatValue",D:"doubleValue"};function ni(t){return t.length===1}function z0(t,e,n){if(e===n)return;let i={IJ:133,IF:134,ID:135,JF:137,JD:138,FD:141}[(e==="J"?"J":e==="F"?"F":e==="D"?"D":"I")+(n==="J"?"J":n==="F"?"F":n==="D"?"D":"I")];i&&t.op(i)}function Mu(t,e,n,r){if(e!==r){if(ni(e)&&ni(r))return z0(t,e,r);if(ni(e)){let a=Ho[e];t.invokestatic(a,"valueOf",`(${e})L${a};`);return}if(ni(r)){let a=H0[n]??H0[e];if(a){let s=Ho[a];t.checkcast(s).invokevirtual(s,Ju[a],`()${a}`),z0(t,a,r)}else if(r==="Z"||r==="C"){let s=Ho[r];t.checkcast(s).invokevirtual(s,Ju[r],`()${r}`)}else t.checkcast("java/lang/Number").invokevirtual("java/lang/Number",Ju[r],`()${r}`);return}r!=="Ljava/lang/Object;"&&t.checkcast(Y0(r))}}function px(t,e){switch(e.refKind){case Fu:t.invokevirtual(e.owner,e.name,e.desc);break;case q0:t.invokeinterface(e.owner,e.name,e.desc);break;case hx:t.invokestatic(e.owner,e.name,e.desc,e.iface);break;case X0:t.invokespecial(e.owner,e.name,e.desc,e.iface);break;case $u:t.invokespecial(e.owner,"<init>",e.desc);break;default:throw new A("java/lang/invoke/LambdaConversionException",`unsupported method handle kind ${e.refKind}`)}}function*zo(t,e,n,r){let a=yield*t.defineClassGen(e,n.loader,r.toBytes(),null,null,!0);return a.nestHost=yield*rr(e,n),yield*t.initGen(e,a),a}function*Z0(t,e,n,r,a,s,i){let c=s[0],o=s[1],u=s[2];if(c.kind!=="mt"||o.kind!=="mh"||u.kind!=="mt")return null;let l=[],d=[];if(i){let F=s[3].value;if(F&1)return null;let N=4;if(F&2){let C=s[N++].value;for(let L=0;L<C;L++)l.push(s[N++].name)}if(F&4){let C=s[N++].value;for(let L=0;L<C;L++)d.push(s[N++].desc)}}let{params:f,ret:m}=yt(a),p=Y0(m),b=`${n.cf.name}$$Lambda`,y=new aa(Ie|Ir|kr,b,"java/lang/Object",[p,...l]);f.forEach((F,N)=>y.addField(Kn|Ie,`arg$${N+1}`,F));let g=`(${f.join("")})V`,h=y.addMethod(Kn,"<init>",g);h.maxStack=3,h.op(42).invokespecial("java/lang/Object","<init>","()V");let j=1;f.forEach((F,N)=>{h.op(42).load(F,j).putfield(b,`arg$${N+1}`,F),j+=ke(F)?2:1}),h.op(177);let x=y.addMethod(gt,"get$Lambda",a);if(x.maxStack=2+bx(f),f.length===0){y.addField(Kn|gt|Ie,"INSTANCE",`L${b};`);let F=y.addMethod(gt,"<clinit>","()V");F.maxStack=2,F.anew(b).op(89).invokespecial(b,"<init>","()V").putstatic(b,"INSTANCE",`L${b};`).op(177),x.getstatic(b,"INSTANCE",`L${b};`).op(176)}else{x.anew(b).op(89),j=0;for(let F of f)x.load(F,j),j+=ke(F)?2:1;x.invokespecial(b,"<init>",g).op(176)}let{params:w,ret:v}=yt(o.desc),J=o.refKind===Fu||o.refKind===q0||o.refKind===X0?[`L${o.owner};`,...w]:w,O=o.refKind===$u?`L${o.owner};`:v,S=yt(u.desc);for(let F of[c.desc,...d]){let{params:N,ret:C}=yt(F),L=y.addMethod(sn,r,F);L.maxStack=4+2*(f.length+N.length),o.refKind===$u&&L.anew(o.owner).op(89);let R=0;f.forEach((D,G)=>{L.op(42).getfield(b,`arg$${G+1}`,D),Mu(L,D,D,J[R++])});let U=1;N.forEach((D,G)=>{L.load(D,U),U+=ke(D)?2:1,Mu(L,D,S.params[G]??D,J[R++])}),px(L,o),C==="V"?O!=="V"&&L.op(ke(O)?88:87):Mu(L,O,O,C),L.ret(C)}let M=yield*zo(t,e,n,y),T=M.methodMap.get("get$Lambda"+a);return M.vmMembers=new Set([T,...M.fields.filter(F=>F.name==="INSTANCE")]),T}function ri(t){switch(t){case"Z":case"C":case"I":case"J":case"F":case"D":return`(${t})Ljava/lang/StringBuilder;`;case"B":case"S":return"(I)Ljava/lang/StringBuilder;";case"Ljava/lang/String;":return"(Ljava/lang/String;)Ljava/lang/StringBuilder;";default:return"(Ljava/lang/Object;)Ljava/lang/StringBuilder;"}}var nn="java/lang/StringBuilder";function*W0(t,e,n,r,a,s){let{params:i}=yt(r),c=s?a[0].value:"".repeat(i.length),o=s?a.slice(1):[];if(o.some(g=>g.kind!=="value"))return null;let u=new aa(Ie|Ir|kr,`${n.cf.name}$$StringConcat`,"java/lang/Object"),l=u.addMethod(gt,"concat",r);l.maxStack=4,l.anew(nn).op(89).invokespecial(nn,"<init>","()V");let d="",f=0,m=0,p=0,b=()=>{d&&l.ldcString(d).invokevirtual(nn,"append",ri("Ljava/lang/String;")),d=""};for(let g of c)if(g===""){b();let h=i[m++];l.load(h,f),f+=ke(h)?2:1,l.invokevirtual(nn,"append",ri(h))}else if(g===""){let h=o[p++];d+=h.tag===B.Float||h.tag===B.Double?gx(h.value,h.tag===B.Float):String(h.value)}else d+=g;return b(),l.invokevirtual(nn,"toString","()Ljava/lang/String;").op(176),(yield*zo(t,e,n,u)).methodMap.get("concat"+r)}function gx(t,e){return Number.isNaN(t)?"NaN":Number.isFinite(t)?Number.isInteger(t)&&Math.abs(t)<1e7?(Object.is(t,-0)?"-0":String(t))+".0":String(e?Math.fround(t):t):t>0?"Infinity":"-Infinity"}function yx(t){let e=t.cf?.attrs.get("InnerClasses");if(e){let r=t.cf.cp;for(let a=0,s=ue(e,0);a<s;a++){let i=2+a*8;if(de(r,ue(e,i))===t.cf.name){let c=ue(e,i+4);return c?_(r,c):""}}}let n=t.cf.name;return n.slice(n.lastIndexOf("/")+1)}var vx={Z:["java/lang/Boolean","(Z)I"],B:["java/lang/Byte","(B)I"],S:["java/lang/Short","(S)I"],C:["java/lang/Character","(C)I"],I:["java/lang/Integer","(I)I"],J:["java/lang/Long","(J)I"],F:["java/lang/Float","(F)I"],D:["java/lang/Double","(D)I"]};function*xx(t,e,n,r,a,s){let i=s[0],c=s[1];if(i.kind!=="class"||c.kind!=="value")return null;let o=s.slice(2);if(o.some(b=>b.kind!=="mh"||b.refKind!==dx))return null;let u=yield*t.loadClassGen(e,n.loader,i.name),l=i.name,d=c.value.length?c.value.split(";"):[],f=new aa(Ie|Ir|kr,`${n.cf.name}$$ObjectMethods`,"java/lang/Object"),m=f.addMethod(gt,r,a);if(m.maxStack=6,r==="toString")m.anew(nn).op(89).ldcString(yx(u)+"[").invokespecial(nn,"<init>","(Ljava/lang/String;)V"),o.forEach((b,y)=>{m.ldcString((y?", ":"")+d[y]+"=").invokevirtual(nn,"append",ri("Ljava/lang/String;")),m.op(42).getfield(b.owner,b.name,b.desc).invokevirtual(nn,"append",ri(b.desc))}),m.ldcString("]").invokevirtual(nn,"append",ri("Ljava/lang/String;")),m.invokevirtual(nn,"toString","()Ljava/lang/String;").op(176);else if(r==="hashCode"){m.op(3);for(let b of o){m.op(16,31,104),m.op(42).getfield(b.owner,b.name,b.desc);let y=vx[b.desc];y?m.invokestatic(y[0],"hashCode",y[1]):m.invokestatic("java/util/Objects","hashCode","(Ljava/lang/Object;)I"),m.op(96)}m.op(172)}else if(r==="equals"){let b=m.label(),y=m.label(),g=m.label();m.op(42,43).jump(166,b).op(4,172).bind(b),m.op(43).instanceOf(l).jump(154,y).op(3,172).bind(y),m.op(43).checkcast(l).op(77);for(let h of o)switch(m.op(42).getfield(h.owner,h.name,h.desc).op(44).getfield(h.owner,h.name,h.desc),h.desc){case"J":m.op(148).jump(154,g);break;case"F":m.invokestatic("java/lang/Float","compare","(FF)I").jump(154,g);break;case"D":m.invokestatic("java/lang/Double","compare","(DD)I").jump(154,g);break;case"Z":case"B":case"S":case"C":case"I":m.jump(160,g);break;default:m.invokestatic("java/util/Objects","equals","(Ljava/lang/Object;Ljava/lang/Object;)Z").jump(153,g)}m.op(4,172).bind(g).op(3,172)}else return null;return(yield*zo(t,e,n,f)).methodMap.get(r+a)}function*jx(t,e,n,r,a,s){let i=r==="enumSwitch";if(!a.startsWith("(L")&&!a.startsWith("(["))return null;for(let d of s){if(d.kind==="class"){if(d.name.length===1)return null;continue}if(d.kind!=="value"||(i?d.tag!==B.String:d.tag!==B.String&&d.tag!==B.Integer))return null}let c=new aa(Ie|Ir|kr,`${n.cf.name}$$Switch`,"java/lang/Object"),o=c.addMethod(gt,r,a);o.maxStack=4;let u=o.label();return o.op(42).jump(199,u).op(2,172).bind(u),s.forEach((d,f)=>{let m=o.label();if(o.op(27).iconst(f).jump(163,m),d.kind==="class")o.op(42).instanceOf(d.name).jump(153,m);else if(i)o.op(42).invokevirtual("java/lang/Enum","name","()Ljava/lang/String;").ldcString(d.value).invokevirtual("java/lang/String","equals","(Ljava/lang/Object;)Z").jump(153,m);else if(d.kind==="value"&&d.tag===B.String)o.ldcString(d.value).op(42).invokevirtual("java/lang/Object","equals","(Ljava/lang/Object;)Z").jump(153,m);else{let p=o.label(),b=o.label();o.op(42).instanceOf("java/lang/Number").jump(153,p),o.op(42).checkcast("java/lang/Number").invokevirtual("java/lang/Number","intValue","()I").jump(167,b),o.bind(p).op(42).instanceOf("java/lang/Character").jump(153,m),o.op(42).checkcast("java/lang/Character").invokevirtual("java/lang/Character","charValue","()C"),o.bind(b).iconst(d.value).jump(160,m)}o.iconst(f).op(172).bind(m)}),o.iconst(s.length).op(172),(yield*zo(t,e,n,c)).methodMap.get(r+a)}var wx="java/lang/invoke/MethodHandleNatives";function*Ix(t,e,n){let r=t.loadBoot(n);return r.state!==z&&(yield*t.initGen(e,r)),r}function*ai(t,e,n,...r){let a=yield*Ix(t,e,wx);return yield e.call(a.methodMap.get(n),...r)}function*Zo(t,e,n,r){let{params:a,ret:s}=yt(r),i={loader:n},c=yield*un(e,i,s),o=[];for(let u of a)o.push(t.mirror(yield*un(e,i,u)));return yield*ai(t,e,"findMethodHandleType(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;",t.mirror(c),t.newObjectArray("java/lang/Class",o))}function*kx(t,e,n,r){let a=yield*t.loadClassGen(e,n.loader,r.owner),s=r.refKind<=mx?t.mirror(yield*un(e,n,r.desc)):yield*Zo(t,e,n.loader,r.desc);return yield*ai(t,e,"linkMethodHandleConstant(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;",t.mirror(n),r.refKind,t.mirror(a),t.intern(r.name),s)}function*Ax(t,e,n,r){let a=n.cf.cp,s=a[r],i=n.cf.bootstrap[s.a],c=a[s.b],o=yield*Wo(t,e,n,i.ref),u=yield*un(e,n,_(a,c.b)),l=yield*K0(t,e,n,i.args);return yield*ai(t,e,"linkDynamicConstant(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;",t.mirror(n),o,t.intern(_(a,c.a)),t.mirror(u),l)}function*K0(t,e,n,r){if(r.length===0)return null;let a=[];for(let s of r)a.push(yield*Wo(t,e,n,s));return t.newObjectArray("java/lang/Object",a)}function*Wo(t,e,n,r){let a=n.cf.cp,s=a[r];switch(s.tag){case B.Integer:return yield*Jr(e,"I",s.value);case B.Float:return yield*Jr(e,"F",s.value);case B.Long:return yield*Jr(e,"J",s.value);case B.Double:return yield*Jr(e,"D",s.value);case B.String:return t.intern(_(a,s.a));case B.Class:return t.mirror(yield*t.loadClassGen(e,n.loader,de(a,r)))}let i=n.ldc[r];if(i!==void 0&&s.tag!==B.Dynamic)return i;let c;if(s.tag===B.MethodType)c=yield*Zo(t,e,n.loader,_(a,s.a));else if(s.tag===B.MethodHandle)c=yield*kx(t,e,n,Tu(n,r));else{if(s.tag===B.Dynamic)return yield*Ax(t,e,n,r);throw new A("java/lang/InternalError",`bad constant tag ${s.tag}`)}return n.ldc[r]=c,c}function*Q0(t,e,n,r){let a=n.cf.cp,s=a[r],i=yield*Wo(t,e,n,r);if(s.tag===B.Dynamic){let c=_(a,a[s.b].b);if(ni(c))return i===null?null:t.getField(i,i.cls.name,"value")}return i}function*Sx(t,e,n,r){let a=n.cf.cp,s=a[r],i=n.cf.bootstrap[s.a],c=a[s.b],o=yield*Wo(t,e,n,i.ref),u=yield*Zo(t,e,n.loader,_(a,c.b)),l=yield*K0(t,e,n,i.args),d=t.newObjectArray("java/lang/Object",[null]),f=yield*ai(t,e,"linkCallSite(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;",t.mirror(n),o,t.intern(_(a,c.a)),u,l,d);return{m:Bn(e,f),appendix:d.a[0]}}function*eb(t,e,n,r){let a=n.cf.cp,s=a[r],i=n.cf.bootstrap[s.a],c=a[s.b],o=_(a,c.a),u=_(a,c.b),l=Tu(n,i.ref),d=i.args.map(m=>Tu(n,m)),f=null;switch(`${l.owner}.${l.name}`){case"java/lang/invoke/LambdaMetafactory.metafactory":f=yield*Z0(t,e,n,o,u,d,!1);break;case"java/lang/invoke/LambdaMetafactory.altMetafactory":f=yield*Z0(t,e,n,o,u,d,!0);break;case"java/lang/invoke/StringConcatFactory.makeConcatWithConstants":f=yield*W0(t,e,n,u,d,!0);break;case"java/lang/invoke/StringConcatFactory.makeConcat":f=yield*W0(t,e,n,u,d,!1);break;case"java/lang/runtime/ObjectMethods.bootstrap":f=yield*xx(t,e,n,o,u,d);break;case"java/lang/runtime/SwitchBootstraps.typeSwitch":case"java/lang/runtime/SwitchBootstraps.enumSwitch":f=yield*jx(t,e,n,o,u,d);break}return f?{m:f}:yield*Sx(t,e,n,r)}var Jx="java/lang/invoke/MethodHandle";function tb(t,e,n,r){let a=n.stack;switch(r.name){case"invokeBasic":{let i=a[n.sp-r.argSlots];if(i===null)throw new A("java/lang/NullPointerException");let c=t.getField(i,Jx,"form");return ha(e,n,Bn(e,t.getField(c,"java/lang/invoke/LambdaForm","vmentry")))}case"linkToStatic":case"linkToSpecial":case"linkToVirtual":case"linkToInterface":{let i=Bn(e,a[n.sp-1]);if(r.name==="linkToStatic"&&i.cls.state!==z&&!t.initialize(e,i.cls))return!1;if(n.sp--,r.name==="linkToVirtual"||r.name==="linkToInterface"){let c=a[n.sp-i.argSlots];if(c===null)throw new A("java/lang/NullPointerException");let o=c.cls.selectMethod(i.key);if(!o)throw new A("java/lang/AbstractMethodError",`${c.cls.javaName}.${i.name}${i.desc}`);i=o}return ha(e,n,i)}case"linkToNative":throw new A("java/lang/UnsupportedOperationException","native method handles are not supported")}let s=r.link;if(!s){let i=n.m.cls;return e.pushNative((function*(){let c=yield*Zo(t,e,i.loader,r.desc),o=t.newObjectArray("java/lang/Object",[null]),u=yield*ai(t,e,"linkMethod(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;",t.mirror(i),Fu,t.mirror(r.cls),t.intern(r.name),c,o);r.link={m:Bn(e,u),appendix:o.a[0]}})(),null,"V",!0),!1}return s.m.argSlots===r.argSlots+1&&(a[n.sp++]=s.appendix),ha(e,n,s.m)}var nb=t=>typeof t?.then=="function";function rb(t){let e=t?.message;return typeof e=="string"?e:String(t)}function ab(t){return new A("java/lang/RuntimeException",rb(t))}function Ou(t){let e="";for(let n of t){let r=n.charCodeAt(0);n==="/"?e+="_":n==="_"?e+="_1":n===";"?e+="_2":n==="["?e+="_3":r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122?e+=n:e+="_0"+r.toString(16).padStart(4,"0")}return e}function sb(t){let e=`Java_${Ou(t.cls.name)}_${Ou(t.name)}`;return[e,`${e}__${Ou(t.desc.slice(1,t.desc.indexOf(")")))}`]}function ib(t,e){let n=t.isStatic?t.params:["Ljava/lang/Object;",...t.params];return function*(r,a){let s=r.vm.library,i=a.map((l,d)=>s.toWire(n[d],l)),c;try{c=e(i)}catch(l){throw ab(l)}let o=nb(c)?yield*s.pump(r,Promise.resolve(c).catch(l=>Promise.reject(ab(l)))):c,u=yield*s.toJava(r,t.ret,yield*s.resolve(r,o.value),t.cls.loader);return o.back?.forEach((l,d)=>{let f=a[d];l&&f instanceof W&&ArrayBuffer.isView(f.a)&&f.a.set(l)}),u}}var Nu=class extends Error{throwable},Mx=new Set(["java/lang/Boolean","java/lang/Byte","java/lang/Short","java/lang/Character","java/lang/Integer","java/lang/Long","java/lang/Float","java/lang/Double"]),Xo=new Set(["Ljava/lang/Object;","Ljava/lang/Comparable;","Ljava/io/Serializable;"]);function ub(t){if(t instanceof Int8Array)return"B";if(t instanceof Uint8Array)return"Z";if(t instanceof Uint16Array)return"C";if(t instanceof Int16Array)return"S";if(t instanceof Int32Array)return"I";if(t instanceof BigInt64Array)return"J";if(t instanceof Float32Array)return"F";if(t instanceof Float64Array)return"D"}var ob=new WeakMap;function $x(t){let e=ob.get(t);if(!e){e=new Set;for(let n of t.allSupers())e.add(n.name);ob.set(t,e)}return e}function Bu(t,e){let n=t[0]==="L"||t[0]==="[";if(e==null)return n?1:-1;switch(typeof e){case"string":return t==="Ljava/lang/String;"?2:t==="Ljava/lang/CharSequence;"||t==="C"&&e.length===1?1:Xo.has(t)?0:-1;case"boolean":return t==="Z"?2:t==="Ljava/lang/Boolean;"?1:Xo.has(t)?0:-1;case"bigint":return t==="J"?2:t==="Ljava/lang/Long;"||t==="Ljava/lang/Number;"?1:Xo.has(t)?0:-1;case"number":{let r=Number.isInteger(e);return!r&&t==="D"?2:r&&t==="I"?3:r&&t==="J"?2:t.length===1&&"DFSBC".includes(t)?r||t==="F"?1:-1:t==="Ljava/lang/Double;"||t==="Ljava/lang/Float;"||t==="Ljava/lang/Number;"||r&&/^Ljava\/lang\/(Integer|Long|Short|Byte);$/.test(t)?1:Xo.has(t)?0:-1}case"object":if(e instanceof Ge){if(t[0]!=="L")return-1;let r=t.slice(1,-1);return e.cls.name===r?3:r==="java/lang/Object"?1:$x(e.cls).has(r)?2:-1}if(ArrayBuffer.isView(e)){if(t[0]==="["){let r=ub(e);return t==="["+r?3:r==="Z"&&t==="[B"?1:-1}return t==="Ljava/lang/Object;"||t==="Ljava/lang/Cloneable;"||t==="Ljava/io/Serializable;"?1:-1}if(Array.isArray(e)){if(t==="Ljava/lang/Object;")return 0;if(t[0]!=="[")return-1;let r=t.slice(1);for(let a of e)if(Bu(r,a)<0)return-1;return r==="Ljava/lang/Object;"?1:2}return-1;default:return-1}}function lb(t){return t===null?"null":t instanceof Ge?t.cls.javaName:ArrayBuffer.isView(t)?t.constructor.name:Array.isArray(t)?"array":typeof t}function Lu(t,e){switch(t[0]){case"Z":return e?1:0;case"J":return typeof e=="bigint"?BigInt.asIntN(64,e):BigInt(Math.trunc(Number(e)||0));case"F":return Math.fround(Number(e));case"D":return Number(e);case"B":return Number(e)<<24>>24;case"S":return Number(e)<<16>>16;case"C":return(typeof e=="string"?e.charCodeAt(0):Number(e))&65535;default:return Number(e)|0}}var cb={"Ljava/lang/Integer;":["java/lang/Integer","I"],"Ljava/lang/Short;":["java/lang/Short","S"],"Ljava/lang/Byte;":["java/lang/Byte","B"],"Ljava/lang/Long;":["java/lang/Long","J"],"Ljava/lang/Float;":["java/lang/Float","F"],"Ljava/lang/Double;":["java/lang/Double","D"]},qo=class{vm;ids=new Map;table=new Map;nextId=1;sent=new Set;loader=null;queue=[];idle=[];busy=0;depth=new Map;inflight=new Set;closed=!1;constructor(e){this.vm=e}handle(e){let n=this.ids.get(e);n===void 0&&(n=this.nextId++,this.ids.set(e,n),this.table.set(n,{obj:e,refs:0})),this.table.get(n).refs++;let r={$java:n,cls:e.cls.javaName};return this.sent.has(e.cls)||(this.sent.add(e.cls),r.supers=[...e.cls.allSupers()].map(a=>a.javaName)),this.vm.isInstance(e,"java/lang/Throwable")&&(r.msg=this.vm.describeThrowable(e)),r}object(e){let n=this.table.get(e);if(!n)throw new Error("that Java object was released");return n.obj}release(e){for(let[n,r]of e){let a=this.table.get(n);a&&(a.refs-=r,a.refs<=0&&(this.table.delete(n),this.ids.delete(a.obj)))}}get handleCount(){return this.table.size}convert(e,n){if(e===null)return null;if(e instanceof W){let a=e.a;return Array.isArray(a)?a.map(s=>this.convert(s,n)):e.cls.component.prim==="Z"?new Uint8Array(a.buffer,a.byteOffset,a.length).slice():a.slice()}let r=e.cls.name;if(r==="java/lang/String")return this.vm.jsString(e);if(Mx.has(r)){let a=this.vm.getField(e,r,"value");return r==="java/lang/Boolean"?a!==0:typeof a=="bigint"?Number(a):a}return n(e)}toWire(e,n){switch(e[0]){case"V":return;case"Z":return n!==0;case"J":return Number(n);case"L":case"[":return this.convert(n,r=>this.handle(r));default:return n}}*resolve(e,n){if(n===null||typeof n!="object"||ArrayBuffer.isView(n))return n;if(Array.isArray(n)){let r=[];for(let a of n)r.push(yield*this.resolve(e,a));return r}if("$java"in n)return this.object(n.$java);if("$get"in n){let[r,a]=n.$get,[s,i]=yield*this.readField(e,r,a);return i[0]==="L"||i[0]==="["?this.convert(s,c=>c):this.toWire(i,s)}return n}*box(e,n,r,a){let s=this.vm.loadBootOrFail(n);s.state!==z&&(yield*this.vm.initGen(e,s));let i=r==="Z"?"valueOf(Z)":`valueOf(${r})`;return yield e.call(s.methodMap.get(`${i}L${n};`),Lu(r,a))}*toJava(e,n,r,a){if(n[0]!=="L"&&n[0]!=="[")return n[0]==="V"?void 0:Lu(n,r);if(r==null)return null;if(r instanceof Ge)return r;if(typeof r=="string")return this.vm.str(r);if(typeof r=="boolean")return yield*this.box(e,"java/lang/Boolean","Z",r);if(typeof r=="bigint")return yield*this.box(e,"java/lang/Long","J",r);if(typeof r=="number"){let[s,i]=cb[n]??cb[r===(r|0)?"Ljava/lang/Integer;":Number.isSafeInteger(r)?"Ljava/lang/Long;":"Ljava/lang/Double;"];return yield*this.box(e,s,i,r)}if(ArrayBuffer.isView(r)){let s=n[0]==="["?n[1]:ub(r),i=Te(s,r.length);return i.set(r),new W(this.vm.primArrayClass(s),i)}if(Array.isArray(r))return yield*this.toJavaArray(e,n[0]==="["?n:"[Ljava/lang/Object;",r,a);throw new Error(`cannot convert ${lb(r)} to ${n}`)}*toJavaArray(e,n,r,a){let s=n.slice(1);if(s[0]!=="L"&&s[0]!=="["){let o=Te(s,r.length);for(let u=0;u<r.length;u++)o[u]=Lu(s,r[u]);return new W(this.vm.primArrayClass(s),o)}let i=[];for(let o of r)i.push(yield*this.toJava(e,s,o,a));let c=yield*this.vm.loadClassGen(e,a,s[0]==="L"?s.slice(1,-1):s);return new W(this.vm.arrayOf(c),i)}request(e){return new Promise((n,r)=>{if(this.closed)return r(new Error("the VM has exited"));this.queue.push({req:e,resolve:n,reject:r}),this.dispatch()})}close(){this.closed=!0;let e=new Error("the VM has exited");for(let n of[...this.queue,...this.inflight])n.reject(e);this.queue=[],this.inflight.clear(),this.table.clear(),this.ids.clear()}dispatch(){for(;this.busy===0&&this.queue.length>0&&this.idle.length>0;){let e=this.idle.shift();e.call=this.queue.shift(),this.busy++,e.wake?.()}}*loop(e){let n={call:null,wake:null};for(;;){for(this.idle.push(n),this.dispatch();!n.call;)yield e.block(new Promise(a=>n.wake=a));let r=n.call;n.call=null,yield*this.serve(e,r)}}*pump(e,n){let r=null,a={call:null,wake:null};n.then(c=>{r={v:c},a.wake?.()},c=>{r={e:c},a.wake?.()});let s=(this.depth.get(e)??0)>0;s&&this.busy--;try{for(;;){for(this.idle.push(a),this.dispatch();!a.call&&!r;)yield e.block(new Promise(o=>a.wake=o));if(!a.call){this.idle.splice(this.idle.indexOf(a),1);break}let c=a.call;a.call=null,yield*this.serve(e,c)}}finally{s&&this.busy++}let i=r;if("e"in i)throw i.e;return i.v}*serve(e,n){this.inflight.add(n),this.depth.set(e,(this.depth.get(e)??0)+1);try{n.resolve(yield*this.run(e,n.req))}catch(r){n.reject(this.failure(r))}finally{this.depth.set(e,this.depth.get(e)-1),this.inflight.delete(n),this.busy--,this.dispatch()}}failure(e){if(e instanceof oe){let n=new Nu(this.vm.describeThrowable(e.obj));return n.throwable=this.handle(e.obj),n}return e instanceof Error?e:new Error(String(e))}*systemLoader(e){if(!this.loader){let n=this.vm.loadBootOrFail("java/lang/ClassLoader");this.loader=yield e.call(n.methodMap.get("getSystemClassLoader()Ljava/lang/ClassLoader;"))}return this.loader}*loadClass(e,n){let r=yield*this.systemLoader(e),a=yield*this.vm.loadClassGen(e,r,n.replace(/\./g,"/"),!0);return a.state!==z&&(yield*this.vm.initGen(e,a)),a}*run(e,n){switch(n.op){case"class":return yield*this.loadClass(e,n.cls),{value:void 0};case"static":{let r=yield*this.loadClass(e,n.cls);return yield*this.invoke(e,"static method",r,n.method,null,n.args)}case"new":{let r=yield*this.loadClass(e,n.cls);if(r.isInterface||r.access&1024)throw new Error(`${r.javaName} is abstract and cannot be created`);let a=this.vm.newObject(r);return yield*this.invoke(e,"constructor",r,"<init>",a,n.args),{value:this.handle(a)}}case"call":{let r=this.object(n.obj);return yield*this.invoke(e,"method",r.cls,n.method,r,n.args)}case"getStatic":case"get":{let[r,a]=yield*this.readField(e,n.op==="get"?n.obj:n.cls,n.field);return{value:this.toWire(a,r)}}case"setStatic":case"set":{let{f:r,obj:a}=yield*this.field(e,n.op==="set"?n.obj:n.cls,n.field),s=yield*this.toJava(e,r.desc,yield*this.resolve(e,n.value),r.cls.loader);return a?a.f[r.slot]=s:r.cls.statics[r.slot]=s,{value:void 0}}}}*field(e,n,r){let a=null;if(typeof n=="number")a=this.object(n);else if(typeof n=="object"){let[c,o]=n.$get,[u]=yield*this.readField(e,c,o);if(!(u instanceof Ge))throw new Error(`${o} is not a Java object`);a=u}let s=a?a.cls:yield*this.loadClass(e,n),i=s.findField(r);if(!i||i.isStatic===!!a||!(i.access&sn))throw new Error(`no ${a?"":"static "}field ${r} in ${s.javaName}`);return!a&&i.cls.state!==z&&(yield*this.vm.initGen(e,i.cls)),{f:i,obj:a}}*readField(e,n,r){let{f:a,obj:s}=yield*this.field(e,n,r);return[s?s.f[a.slot]:a.cls.statics[a.slot],a.desc]}methodsOf(e,n,r){let a=new Set,s=[],i=r?Tx(e):e.allSupers();for(let c of i){for(let o of c.methods)o.name!==n||o.isStatic!==r||o.access&kr||a.has(o.key)||!r&&!(o.access&sn)||(a.add(o.key),s.push(o));if(n==="<init>")break}return s}pick(e,n){let r=null,a=-1;for(let s of e){if(s.params.length!==n.length)continue;let i=0;for(let c=0;c<n.length&&i>=0;c++){let o=Bu(s.params[c],n[c]);i=o<0?-1:i+o}i>a&&([r,a]=[s,i])}if(r)return{m:r,varargs:!1};for(let s of e){let i=s.params.length-1;if(!(s.access&qa)||n.length<i)continue;let c=0;for(let o=0;o<n.length&&c>=0;o++){let u=Bu(o<i?s.params[o]:s.params[i].slice(1),n[o]);c=u<0?-1:c+u}c>a&&([r,a]=[s,c])}return r?{m:r,varargs:!0}:null}*invoke(e,n,r,a,s,i){let c=yield*this.resolve(e,i),o=a==="<init>",u=this.pick(this.methodsOf(r,a,s===null),c);if(!u)throw new Error(`no ${n}${o?"":" "+a} in ${r.javaName} takes (${c.map(lb).join(", ")})`);let{m:l,varargs:d}=u,f=d?l.params.length-1:l.params.length,m=[];for(let g=0;g<f;g++)m.push(yield*this.toJava(e,l.params[g],c[g],l.cls.loader));d&&m.push(yield*this.toJavaArray(e,l.params[f],c.slice(f),l.cls.loader));let p=l;s&&!o&&(p=s.cls.selectMethod(l.key)??l);let b=yield s?e.call(p,s,...m):e.call(p,...m),y={value:o?void 0:this.toWire(l.ret,b)};for(let g=0;g<f;g++){let h=c[g];if(!ArrayBuffer.isView(h)||!(m[g]instanceof W))continue;let j=m[g].a,x=h,w=!1;for(let v=0;v<j.length&&!w;v++)w=j[v]!==x[v];w&&(y.back??=[]).push([g,this.convert(m[g],v=>v)])}return y}};function*Tx(t){for(let e=t;e;e=e.superclass)yield e}var Fx=(()=>{if(typeof setImmediate=="function")return n=>setImmediate(n);let t=new MessageChannel,e=[];return t.port1.onmessage=()=>e.shift()?.(),n=>{e.push(n),t.port2.postMessage(0)}})(),Yo=class{opts;fs;mem=new Ni;boot=new Map;bootPackages=new Map;bootModules=new Map;bootUnnamedModule=null;natives=new Map;interned=new Map;prims=new Map;slots=new Map;threads=new Set;runQueue=[];queued=new Set;scheduled=!1;hashSeed=625341585;hiddenCount=0;classCount=0;threadsStarted=0;peakThreads=0;exitCode=null;exitResolve;exited;startTime=Date.now();props;state=new Map;net;timers=new Set;constructor(e){this.opts=e,this.fs=e.fs;let n=Ri(e.hostName);if(this.net=e.net??new ws(n,e.fetch),this.props=new Map(Object.entries(e.props??{})),this.net instanceof ws&&this.net.fetch){let s=!this.props.has("https.proxyHost");for(let i of["http","https"])this.props.has(`${i}.proxyHost`)||(this.props.set(`${i}.proxyHost`,Bi),this.props.set(`${i}.proxyPort`,String(Ci)));s&&!this.props.has("java.security.properties")&&this.props.set("java.security.properties",`${e.javaHome}/conf/security/java-web-proxy.security`),n&&!this.props.has("http.nonProxyHosts")&&this.props.set("http.nonProxyHosts",`localhost|127.*|[::1]|0.0.0.0|[::0]|${vs(n)}`)}this.exited=new Promise(s=>this.exitResolve=s);for(let[s,i]of Object.entries(V0))this.natives.set(s,i);let r=this.fs.read(`${e.javaHome}/lib/packages.txt`);if(!r)throw new Error(`no JDK at ${e.javaHome}; run pnpm jdk`);let a=new Map;for(let s of new TextDecoder().decode(r).split(`
|
|
17
|
+
`)){let i=s.indexOf(" ");if(i<=0)continue;let c=s.slice(0,i),o=a.get(c);o===void 0&&a.set(c,o=this.fs.stat(`${e.javaHome}/modules/${c}`)!==null),o&&this.bootPackages.set(s.slice(i+1),c)}}debug(...e){this.opts.debug&&console.error(`[jvm +${Date.now()-this.startTime}ms]`,...e)}registerNatives(e){for(let[n,r]of Object.entries(e))this.natives.set(n,r)}loaderClasses(e){return e===null?this.boot:this.loaderData(e).classes}loaderData(e){return e.x??={classes:new Map,modules:new Map}}findLoaded(e,n){return this.loaderClasses(e).get(n)}loadBoot(e){let n=this.boot.get(e);if(n)return n;if(e[0]==="["){let u=this.componentFromDesc(e.slice(1),null);return u?this.arrayOf(u):null}let r=e.lastIndexOf("/"),a=this.bootPackages.get(r<0?"":e.slice(0,r));if(!a)return null;let s=this.fs.read(`${this.opts.javaHome}/modules/${a}/${e}.class`);if(!s)return null;let i=il(s),c=i.superName?this.loadBootOrFail(i.superName):null,o=i.interfaces.map(u=>this.loadBootOrFail(u));return this.defineLinked(i,null,c,o)}loadBootOrFail(e){let n=this.loadBoot(e);if(!n)throw new A("java/lang/NoClassDefFoundError",e);return n}componentFromDesc(e,n){if(e[0]==="["){let r=this.componentFromDesc(e.slice(1),n);return r&&this.arrayOf(r)}if(e[0]==="L"){let r=e.slice(1,-1);return n===null?this.loadBoot(r):this.findLoaded(n,r)}return this.primClass(e)}primClass(e){let n=this.prims.get(e);return n||(n=new Fn(e,null,null,sn|Ie|ia),n.prim=e,n.state=z,this.prims.set(e,n)),n}primArrayClass(e){return this.arrayOf(this.primClass(e))}arrayOf(e){if(e.arrayClass)return e.arrayClass;let n="["+e.desc,r=new Fn(n,e.loader,null,e.access&(sn|Kn|ll)|Ie|ia);return r.component=e,r.superclass=this.loadBoot("java/lang/Object"),r.interfaces=[this.loadBoot("java/lang/Cloneable"),this.loadBoot("java/io/Serializable")],r.state=z,e.arrayClass=r,this.loaderClasses(e.loader).set(n,r),r}defineLinked(e,n,r,a,s=!1){let i=this.loaderClasses(n);if(!s&&i.has(e.name))throw new A("java/lang/LinkageError",`duplicate class definition: ${e.name}`);let c=s?`${e.name}/0x${(++this.hiddenCount).toString(16).padStart(16,"0")}`:e.name,o=new Fn(c,n,e,e.access);this.classCount++,o.hidden=s,o.superclass=r,o.interfaces=a;let u=r?r.instanceSlots:0,l=r?r.template.slice():[];for(let[f,m]of e.fields.entries()){let p=new hi(o,m);p.index=f,p.isStatic?(p.slot=o.statics.length,o.statics.push(ul(p.desc))):(p.slot=u++,l.push(ul(p.desc))),o.fields.push(p)}o.instanceSlots=u,o.template=l;let d=e.name==="java/lang/invoke/MethodHandle"||e.name==="java/lang/invoke/VarHandle";for(let[f,m]of e.methods.entries()){let p=n===null?G0[`${e.name}.${m.name}${m.desc}`]:void 0,b=new Xa(o,p?{...m,code:null,access:m.access|Ya}:m);p&&(b.native=p,b.intrinsic=!0),b.index=f,d&&(b.access&(Ya|qa))===(Ya|qa)&&(b.polymorphic=!0),o.methods.push(b),o.methodMap.set(b.key,b)}return o.state=sf,s||i.set(e.name,o),o}*loadClassGen(e,n,r,a=!1){let s=this.findLoaded(n,r);if(s)return s;if(r[0]==="["){let o=0;for(;r[o]==="[";)o++;let u;for(r[o]==="L"?u=yield*this.loadClassGen(e,n,r.slice(o+1,-1),a):u=this.primClass(r[o]);o>0;o--)u=this.arrayOf(u);return this.loaderClasses(n).set(r,u),u}if(n===null)return this.loadBootOrFail(r);let i;try{i=yield e.callVirtual(n,"loadClass","(Ljava/lang/String;)Ljava/lang/Class;",this.str(r.replace(/\//g,".")))}catch(o){throw!a&&o instanceof oe&&this.isInstance(o.obj,"java/lang/ClassNotFoundException")?new A("java/lang/NoClassDefFoundError",r):o}if(!i)throw new A("java/lang/NoClassDefFoundError",r);let c=i.x;return this.loaderClasses(n).set(r,c),c}*defineClassGen(e,n,r,a,s,i=!1){let c;try{c=il(r,this.opts.enablePreview)}catch(d){throw Ox(d,a??"class")}if(i&&a&&a!==c.name&&(c={...c,name:a,renamedFrom:c.name}),a&&a!==c.name)throw new A("java/lang/NoClassDefFoundError",`${a} (wrong name: ${c.name})`);let o=c.superName?yield*this.loadClassGen(e,n,c.superName):null,u=[];for(let d of c.interfaces)u.push(yield*this.loadClassGen(e,n,d));let l=this.defineLinked(c,n,o,u,i);return s&&this.setField(this.mirror(l),"java/lang/Class","protectionDomain",s),l}classRef(e,n,r){let a=de(n.cf.cp,r),s=a===n.cf.name||a===n.cf.renamedFrom?n:this.resolveClass(e,n.loader,a);return s&&(n.rcp[r]=s),s}resolveClass(e,n,r){let a=this.findLoaded(n,r);if(a)return a;if(n===null)return this.loadBootOrFail(r);if(r[0]==="["){let s=0;for(;r[s]==="[";)s++;if(r[s]!=="L"){let i=this.primClass(r[s]);for(;s>0;s--)i=this.arrayOf(i);return i}}e.pushNative(this.loadClassGen(e,n,r),null,"V",!0)}cpClassName(e,n){return de(e.cf.cp,n)}fieldRef(e,n,r){let a=n.cf.cp,s=a[r],i=n.rcp[s.a]??this.classRef(e,n,s.a);if(!i)return;let c=a[s.b],o=_(a,c.a),u=i.findField(o,_(a,c.b));if(!u)throw new A("java/lang/NoSuchFieldError",o);return n.rcp[r]=u,u}methodRef(e,n,r){let a=n.cf.cp,s=a[r],i=n.rcp[s.a]??this.classRef(e,n,s.a);if(!i)return;let c=a[s.b],o=_(a,c.a),u=_(a,c.b),l=this.resolveMethod(i,o,u);return n.rcp[r]=l,l}resolveMethod(e,n,r){let a=e.findMethod(n+r);if(!a&&(e.name==="java/lang/invoke/MethodHandle"||e.name==="java/lang/invoke/VarHandle")){let s=e.methods.find(i=>i.name===n&&i.polymorphic);s&&(a=new Xa(e,{access:s.access,name:n,desc:r,attrs:s.attrs,code:null}),a.polymorphic=!0)}if(!a)throw new A("java/lang/NoSuchMethodError",`'${r}' ${e.javaName}.${n}`);return a}specialTarget(e,n){if(n.name==="<init>"||n.isPrivate)return n;let r=n.cls;if(!r.isInterface&&r!==e&&e.isSubclassOf(r))for(let a=e.superclass;a;a=a.superclass){let s=a.methodMap.get(n.key);if(s&&!s.isStatic)return s}return n.isAbstract&&r.isInterface?r.selectMethod(n.key)??n:n}constant(e,n,r){let a=n.cf.cp,s=a[r],i;switch(s.tag){case B.Integer:case B.Float:case B.Long:case B.Double:i=s.value;break;case B.String:i=this.intern(_(a,s.a));break;case B.Class:{let c=this.classRef(e,n,r);if(!c)return;i=this.mirror(c);break}case B.MethodType:case B.MethodHandle:case B.Dynamic:e.pushNative(this.resolveConstantGen(e,n,r),null,"V",!0);return;default:throw new A("java/lang/InternalError",`bad ldc constant tag ${s.tag}`)}return n.ldc[r]=i,i}*resolveConstantGen(e,n,r){n.ldc[r]=yield*Q0(this,e,n,r)}callSite(e,n,r){let a=n.m.cache??=[],s=n.pc,i=a[s];if(i!==void 0)return i;e.pushNative((function*(c){a[s]=yield*eb(c,e,n.m.cls,r)})(this),null,"V",!0)}invokePolymorphic(e,n,r,a){return tb(this,e,n,r)}initialize(e,n){return n.state===z||n.state===pi&&n.initThread===e?!0:(e.pushNative(this.initGen(e,n),null,"V",!0),!1)}*initGen(e,n){for(;;){if(n.state===z)return;if(n.state===cl){let r=yield*this.newThrowable(e,"java/lang/NoClassDefFoundError",`Could not initialize class ${n.javaName}`);throw n.initError&&(yield e.callVirtual(r,"initCause","(Ljava/lang/Throwable;)Ljava/lang/Throwable;",n.initError)),new oe(r)}if(n.state===pi){if(n.initThread===e)return;yield e.block(new Promise(r=>n.initWaiters.push(r)));continue}break}n.state=pi,n.initThread=e;try{!n.isInterface&&n.superclass&&n.superclass.state!==z&&(yield*this.initGen(e,n.superclass));for(let a of n.interfaces)a.state!==z&&a.methods.some(s=>!s.isAbstract&&!s.isStatic)&&(yield*this.initGen(e,a));this.applyConstantValues(n);let r=n.methodMap.get("<clinit>()V");r&&(yield e.call(r))}catch(r){if(n.state=cl,n.initThread=null,this.wakeInit(n),r instanceof oe){let a=this.getField(r.obj,"java/lang/Throwable","detailMessage"),s=`Exception ${r.obj.cls.javaName}${a?": "+this.jsString(a):""}`,i=yield*this.newThrowable(e,"java/lang/ExceptionInInitializerError",`${s} [in thread "${e.name}"]`);try{this.setField(i,"java/lang/Throwable","stackTrace",yield e.callVirtual(r.obj,"getStackTrace","()[Ljava/lang/StackTraceElement;")),this.setField(i,"java/lang/Throwable","backtrace",null)}catch(c){if(!(c instanceof oe))throw c}throw n.initError=i,this.isInstance(r.obj,"java/lang/Error")?r:new oe(yield*this.newThrowable(e,"java/lang/ExceptionInInitializerError",null,r.obj))}throw r}n.state=z,n.initThread=null,this.wakeInit(n)}wakeInit(e){let n=e.initWaiters;e.initWaiters=[];for(let r of n)r()}applyConstantValues(e){let n=e.cf?.cp;if(n)for(let r of e.fields){if(!r.isStatic)continue;let a=r.attrs.get("ConstantValue");if(!a)continue;let s=n[a[0]<<8|a[1]];e.statics[r.slot]=s.tag===B.String?this.intern(_(n,s.a)):s.value}}newObject(e){return new Ge(e,e.template.slice())}newArray(e,n){return new W(this.arrayOf(e),Te(e.prim??"L",n))}newObjectArray(e,n){let r=this.loadBootOrFail(e);return new W(this.arrayOf(r),n)}multiArray(e,n){let[r,...a]=n,s=e.component;if(a.length===0)return new W(e,Te(s.prim??"L",r));let i=Te("L",r);for(let c=0;c<r;c++)i[c]=this.multiArray(s,a);return new W(e,i)}identityHash(e){if(e.hash===0){let n=this.hashSeed;n^=n<<13,n^=n>>>17,n^=n<<5,this.hashSeed=n,e.hash=n&2147483647||1}return e.hash}isInstance(e,n){for(let r of e.cls.allSupers())if(r.name===n)return!0;return!1}mirror(e){if(e.mirror)return e.mirror;let n=this.newObject(this.loadBootOrFail("java/lang/Class"));return n.x=e,e.mirror=n,this.setField(n,"java/lang/Class","classLoader",e.loader),e.component&&this.setField(n,"java/lang/Class","componentType",this.mirror(e.component)),this.setField(n,"java/lang/Class","modifiers",this.classModifiers(e)),this.setField(n,"java/lang/Class","primitive",e.prim?1:0),this.setField(n,"java/lang/Class","module",this.moduleOf(e)),n}classOf(e){return e.x}classModifiers(e){if(e.component){let a=e.component;for(;a.component;)a=a.component;return this.classModifiers(a)&(sn|Kn|ll)|Ie|ia}return e.prim?sn|Ie|ia:((e.cf?Lx(e.cf,e.name):null)??e.access)&~Ir&32767}moduleOf(e){for(;e.component;)e=e.component;if(e.prim)return this.bootModules.get("java.base")??null;if(e.loader===null){let r=this.bootPackages.get(e.packageName);return r?this.bootModules.get(r)??null:this.bootUnnamedModule}let n=this.loaderData(e.loader).modules.get(e.packageName);return n||this.getField(e.loader,"java/lang/ClassLoader","unnamedModule")}shownVersion(e){let n=e.x?.version;if(!n||!this.getField(e,"java/lang/Module","name"))return null;let r=`file://${this.opts.javaHome}/modules/`,a=e.x.location??"",s=a.startsWith(r)?`jrt:/${a.slice(r.length)}`:a,i=this.getField(e,"java/lang/Module","loader"),c=i?.cls.name==="jdk/internal/loader/ClassLoaders$PlatformClassLoader",o=!i||c||i.cls.name==="jdk/internal/loader/ClassLoaders$AppClassLoader";return(!i||c)&&s.startsWith("jrt:/java.")||o&&s.startsWith("jrt:/jdk.")&&n===this.bootModules.get("java.base")?.x?.version?null:n}castMessage(e,n){let r=i=>this.moduleOf(i),a=i=>{let c=r(i),o=c&&this.getField(c,"java/lang/Module","name"),u=o&&this.shownVersion(c),l=i;for(;l.component;)l=l.component;let d=l.loader&&this.getField(l.loader,"java/lang/ClassLoader","nameAndId");return`${o?`module ${this.jsString(o)}${u?`@${u}`:""}`:"unnamed module"} of loader ${d?this.jsString(d):"'bootstrap'"}`},s=`class ${e.javaName} cannot be cast to class ${n.javaName}`;return r(e)===r(n)?`${s} (${e.javaName} and ${n.javaName} are in ${a(e)})`:`${s} (${e.javaName} is in ${a(e)}; ${n.javaName} is in ${a(n)})`}slotOf(e,n){let r=e+"."+n,a=this.slots.get(r);if(a===void 0){let i=this.loadBootOrFail(e).findField(n);if(!i)throw new Error(`no field ${r}`);a=i.slot,this.slots.set(r,a)}return a}getField(e,n,r){return e.f[this.slotOf(n,r)]}setField(e,n,r,a){e.f[this.slotOf(n,r)]=a}getStatic(e,n){let r=e.findField(n);if(!r||!r.isStatic)throw new Error(`no static ${e.name}.${n}`);return r.cls.statics[r.slot]}setStatic(e,n,r){let a=e.findField(n);if(!a||!a.isStatic)throw new Error(`no static ${e.name}.${n}`);a.cls.statics[a.slot]=r}str(e){let n=this.loadBootOrFail("java/lang/String"),r=this.newObject(n),a=!0;for(let i=0;i<e.length;i++)if(e.charCodeAt(i)>255){a=!1;break}let s;if(a){s=new Int8Array(e.length);for(let i=0;i<e.length;i++)s[i]=e.charCodeAt(i)}else{s=new Int8Array(e.length*2);let i=new Uint16Array(s.buffer);for(let c=0;c<e.length;c++)i[c]=e.charCodeAt(c)}return r.f[this.slotOf("java/lang/String","value")]=new W(this.primArrayClass("B"),s),r.f[this.slotOf("java/lang/String","coder")]=a?0:1,r}jsString(e){let n=e.f[this.slotOf("java/lang/String","value")].a,r=e.f[this.slotOf("java/lang/String","coder")],a;r===0?a=new Uint8Array(n.buffer,n.byteOffset,n.length):n.byteOffset%2===0?a=new Uint16Array(n.buffer,n.byteOffset,n.length>>1):a=new Uint16Array(n.slice().buffer);let s="";for(let i=0;i<a.length;i+=8192)s+=String.fromCharCode.apply(null,Array.prototype.slice.call(a,i,i+8192));return s}intern(e){let n=this.interned.get(e);return n||(n=this.str(e),this.interned.set(e,n)),n}internObject(e){let n=this.jsString(e),r=this.interned.get(n);return r||(this.interned.set(n,e),e)}*newThrowable(e,n,r,a=null,s){let i=this.loadBootOrFail(n);i.state!==z&&(yield*this.initGen(e,i));let c=this.newObject(i);return s?yield e.call(i.methodMap.get(`<init>${s.desc}`),c,...s.args):a&&i.methodMap.has("<init>(Ljava/lang/Throwable;)V")&&r===null?yield e.call(i.methodMap.get("<init>(Ljava/lang/Throwable;)V"),c,a):r===null?yield e.call(i.methodMap.get("<init>()V"),c):yield e.call(i.methodMap.get("<init>(Ljava/lang/String;)V"),c,this.str(r)),c}throwNew(e,n,r,a,s=null){let i=this;e.pushNative((function*(){throw new oe(yield*i.newThrowable(e,n,r,null,a))})(),s,"V",!1)}internalError(e,n){console.error("jvm: internal error in",e.name,n),this.dumpStack(e),this.throwNew(e,"java/lang/InternalError",n instanceof Error?n.message:String(n))}dumpStack(e){for(let n=e.frames.length-1;n>=0;n--){let r=e.frames[n];r instanceof Oe?console.error(` at ${r.m} pc=${r.pc} line=${r.m.lineAt(r.pc)}`):console.error(` at <native ${r.m??"vm"}>`)}}bindNative(e){let n=`${e.cls.name}.${e.name}${e.desc}`,r=this.natives.get(n)??this.natives.get(`${e.cls.name}.${e.name}`);if(!r){let a=this.opts.hostNatives?.(sb(e));a?r=ib(e,a):e.name==="registerNatives"||e.name==="initIDs"?r=()=>{}:(this.debug("missing native",n),r=()=>{throw new A("java/lang/UnsatisfiedLinkError",n)})}return e.native=r,r}monitorEnter(e,n){return this.tryMonitorEnter(e,n)?(e.blockedOnMonitor&&(e.blockedOnMonitor=!1,this.setThreadStatus(e,Tn)),!0):(e.blockedOnMonitor||(e.blockedOnMonitor=!0,this.setThreadStatus(e,di)),e.state=fi,n.mon.entry.push(()=>this.wake(e)),!1)}setThreadStatus(e,n){if(!e.obj)return;let r=this.getField(e.obj,"java/lang/Thread","holder");r&&this.setField(r,"java/lang/Thread$FieldHolder","threadStatus",n)}tryMonitorEnter(e,n){let r=n.mon??=new bi;return r.owner===null?(r.owner=e,r.count=1,e.held++,!0):r.owner===e?(r.count++,e.held++,!0):!1}monitorExit(e,n){let r=n.mon;if(!r||r.owner!==e)throw new A("java/lang/IllegalMonitorStateException");e.held--,--r.count===0&&this.releaseMonitor(r)}releaseMonitor(e){e.owner=null,e.count=0;let n=e.entry;e.entry=[];for(let r of n)r()}startThread(e){this.threads.add(e),this.threadsStarted++;let n=0;for(let r of this.threads)r.state!==At&&n++;n>this.peakThreads&&(this.peakThreads=n),this.wake(e)}wake(e){e.state!==At&&(e.state=wr,this.queued.has(e)||(this.queued.add(e),this.runQueue.push(e)),this.schedule())}schedule(){this.scheduled||this.exitCode!==null||(this.scheduled=!0,Fx(()=>this.loop()))}loop(){this.scheduled=!1;let e=performance.now()+20;for(;this.runQueue.length>0&&this.exitCode===null;){let n=this.runQueue.shift();if(this.queued.delete(n),n.state===wr&&(Vd(n,2e4),n.state===wr&&!this.queued.has(n)&&(this.queued.add(n),this.runQueue.push(n)),performance.now()>e))break}this.runQueue.length>0&&this.schedule()}nonDaemonAlive(e){for(let n of this.threads)if(n!==e&&!n.daemon&&n.state!==At)return!0;return!1}halt(e){if(this.exitCode===null){this.exitCode=e,this.lib?.close();for(let n of this.timers)clearTimeout(n);this.timers.clear();for(let n of this.threads)n.frames=[],n.state=At;this.exitResolve(e)}}javaThread(e){let n=new Yn(this);n.obj=e,e.x=n;let r=this,a=this.getField(e,"java/lang/Thread","holder");return n.daemon=this.getField(a,"java/lang/Thread$FieldHolder","daemon")===1,n.pushNative((function*(){try{yield n.callVirtual(e,"run","()V")}catch(s){if(!(s instanceof oe))throw s;try{yield n.callVirtual(e,"dispatchUncaughtException","(Ljava/lang/Throwable;)V",s.obj)}catch{}}yield*r.exitThread(n)})(),null,"V",!1),n}*exitThread(e){let n=e.obj;try{yield e.callVirtual(n,"exit","()V")}catch{}for(;!this.tryMonitorEnter(e,n);)yield e.block(new Promise(a=>n.mon.entry.push(a)));let r=this.getField(n,"java/lang/Thread","holder");this.setField(r,"java/lang/Thread$FieldHolder","threadStatus",Yu),this.setField(n,"java/lang/Thread","eetop",0n),this.notifyAll(n),this.monitorExit(e,n)}notifyAll(e){let n=e.mon;if(!n)return;let r=n.waiters;n.waiters=[];for(let a of r)a.wake()}run(e,n,r){this.props.has("sun.java.command")||this.props.set("sun.java.command",[n,...r].join(" "));let a=new Yn(this);return a.pushNative(this.mainGen(a,e,n,r),null,"V",!1),this.startThread(a),this.exited}startLibrary(){let e=new Yn(this),n=new Promise((r,a)=>{e.pushNative(this.libraryGen(e,r,a),null,"V",!1)});return this.startThread(e),n}lib=null;get library(){return this.lib??=new qo(this)}callStatic(e,n,r){let a=n===null?{op:"class",cls:e}:{op:"static",cls:e,method:n,args:r};return this.library.request(a).then(s=>s.value)}*libraryGen(e,n,r){try{yield*this.bootGen(e)}catch(a){r(a instanceof Error?a:new Error(String(a)));return}n(),yield*this.library.loop(e)}*bootGen(e){let n=a=>this.loadBootOrFail(a),r=a=>this.initGen(e,n(a));try{yield*r("java/lang/String"),yield*r("java/lang/System"),yield*r("java/lang/Class"),yield*r("java/lang/ThreadGroup");let a=n("java/lang/ThreadGroup"),s=this.newObject(a);yield e.call(a.methodMap.get("<init>()V"),s);let i=this.newObject(a);yield e.call(a.methodMap.get("<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V"),i,s,this.str("main")),yield*r("java/lang/Thread");let c=n("java/lang/Thread"),o=this.newObject(c);e.obj=o,o.x=e,this.setField(o,"java/lang/Thread","eetop",1n),yield e.call(c.methodMap.get("<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V"),o,i,this.str("main"));let u=this.getField(o,"java/lang/Thread","holder");this.setField(u,"java/lang/Thread$FieldHolder","threadStatus",Tn),yield*r("java/lang/Module"),yield*r("jdk/internal/misc/UnsafeConstants");let l=n("jdk/internal/misc/UnsafeConstants");this.setStatic(l,"ADDRESS_SIZE0",8),this.setStatic(l,"PAGE_SIZE",4096),this.setStatic(l,"BIG_ENDIAN",0),this.setStatic(l,"UNALIGNED_ACCESS",1),this.setStatic(l,"DATA_CACHE_LINE_FLUSH_SIZE",0),yield*r("java/lang/reflect/Method"),yield*r("java/lang/ref/Finalizer"),this.debug("initPhase1"),yield e.call(n("java/lang/System").methodMap.get("initPhase1()V"));for(let f of["java/lang/OutOfMemoryError","java/lang/NullPointerException","java/lang/ClassCastException","java/lang/ArrayStoreException","java/lang/ArithmeticException","java/lang/ArrayIndexOutOfBoundsException","java/lang/StackOverflowError","java/lang/IllegalMonitorStateException","java/lang/IllegalArgumentException","java/lang/InternalError","java/lang/invoke/MethodHandle","java/lang/invoke/ResolvedMethodName","java/lang/invoke/MemberName","java/lang/invoke/MethodHandleNatives"])yield*r(f);this.debug("initPhase2");let d=yield e.call(n("java/lang/System").methodMap.get("initPhase2(ZZ)I"),1,1);if(d!==0)throw new Error(`initPhase2 failed: ${d}`);this.debug("initPhase3"),yield e.call(n("java/lang/System").methodMap.get("initPhase3()V")),this.debug("vm started in",Date.now()-this.startTime,"ms")}catch(a){throw a instanceof oe&&(console.error("jvm: exception during startup:",this.describeThrowable(a.obj)),this.dumpJavaStack(a.obj)),this.halt(1),a}}*mainGen(e,n,r,a){let s=c=>this.loadBootOrFail(c);yield*this.bootGen(e);let i=0;try{let c=s("sun/launcher/LauncherHelper"),o=yield e.call(c.methodMap.get("checkAndLoadMain(ZILjava/lang/String;)Ljava/lang/Class;"),1,n,this.str(r)),u=this.classOf(o),l=this.getStatic(c,"isStaticMain")===1,d=this.getStatic(c,"noArgMain")===1,f=this.newObjectArray("java/lang/String",a.map(p=>this.str(p)));u.state!==z&&(yield*this.initGen(e,u));let m=d?"main()V":"main([Ljava/lang/String;)V";if(l){let p=u.findMethod(m);yield d?e.call(p):e.call(p,f)}else{let p=this.newObject(u);yield e.call(u.methodMap.get("<init>()V"),p);let b=u.selectMethod(m);yield d?e.call(b,p):e.call(b,p,f)}}catch(c){if(!(c instanceof oe))throw c;i=1;try{yield e.callVirtual(e.obj,"dispatchUncaughtException","(Ljava/lang/Throwable;)V",c.obj)}catch{}}for(;this.nonDaemonAlive(e);)yield e.block(new Promise(c=>{let o=()=>this.nonDaemonAlive(e)?setTimeout(o,5):c();o()}));yield*this.exitThread(e),yield e.call(s("java/lang/Shutdown").methodMap.get("shutdown()V")),this.halt(i)}describeThrowable(e){let n=this.getField(e,"java/lang/Throwable","detailMessage");return e.cls.javaName+(n?": "+this.jsString(n):"")}dumpJavaStack(e){let n=this.getField(e,"java/lang/Throwable","backtrace");if(Array.isArray(n))for(let{m:a,pc:s}of n)console.error(` at ${a.cls.javaName}.${a.name}(line ${a.lineAt(s)})`);let r=this.getField(e,"java/lang/Throwable","cause");r&&r!==e&&(console.error(" caused by:",this.describeThrowable(r)),this.dumpJavaStack(r))}};function Ox(t,e){if(t instanceof Za)return new A("java/lang/ClassFormatError",`Incompatible magic value ${t.magic} in class file ${e}`);if(t instanceof an)return new A("java/lang/ClassFormatError",t.message);if(!(t instanceof sa))return t;let{major:n,minor:r}=t,a=`${n}.${r}`,s;return n>jr?s=`${e} has been compiled by a more recent version of the Java Runtime (class file version ${a}), this version of the Java Runtime only recognizes class file versions up to ${jr}.0`:n<45?s=`${e} (class file version ${a}) was compiled with an invalid major version`:r!==65535?s=`${e} (class file version ${a}) was compiled with an invalid non-zero minor version`:n!==jr?s=`${e} (class file version ${a}) was compiled with preview features that are unsupported. This version of the Java Runtime only recognizes preview features for class file version ${jr}.65535`:s=`Preview features are not enabled for ${e} (class file version ${a}). Try running with '--enable-preview'`,new A("java/lang/UnsupportedClassVersionError",s)}function Lx(t,e){let n=t.attrs.get("InnerClasses");if(!n)return null;let r=n[0]<<8|n[1];for(let a=0;a<r;a++){let s=2+a*8,i=n[s]<<8|n[s+1];if(i&&de(t.cp,i)===e)return n[s+6]<<8|n[s+7]}return null}function Cu(t){let e=new DataView(t),n=new Uint8Array(t),r=new TextDecoder,a=new Map;for(let c=0;c<t.byteLength;){let o=e.getUint16(c),u=r.decode(n.subarray(c+2,c+2+o));c+=2+o;let l=e.getUint32(c);a.set(u,n.subarray(c+4,c+4+l)),c+=4+l}let s={files:a,index:null,lazy:new Map,offsets:new Map},i=a.get("/index.txt");return i&&(s.index=new Map([["/",-1]]),Eu(s,r.decode(i)),a.delete("/index.txt")),s}function Eu(t,e){for(let n of e.split(`
|
|
18
|
+
`)){let[r,a,s,...i]=n.split(" ");if(r==="d")t.index.set(a,-1);else if(r==="f"){t.index.set(a,Number(s));let c=i[0]===void 0?null:/^([^:]+):(\d+)$/.exec(i[0]);c&&(t.offsets.set(a,{image:`/${c[1]}.jar`,at:Number(c[2])}),i.shift()),i[0]&&t.lazy.set(a,i[0])}}}var pr=65536;function fb(t){let e=t.getResponseHeader("Content-Encoding");return!!e&&e!=="identity"}function Nx(t,e,n){if(fb(t))return!1;let r=t.getResponseHeader("Content-Range");if(r===null)return!0;let a=/^bytes (\d+)-(\d+)\//.exec(r);return a!==null&&Number(a[1])===e&&Number(a[2])-e+1===n}var si=class{writable=!1;base;pack;cache=new Map;stats=new Map;fetchedPacks=new Set;blocks=new Map;constructor(e,n={files:new Map,index:null,lazy:new Map,offsets:new Map}){this.base=e.endsWith("/")?e.slice(0,-1):e,this.pack=n}request(e,n){let r=new XMLHttpRequest;r.open(e,this.base+encodeURI(n),!1),e==="GET"&&(r.responseType="arraybuffer");try{r.send()}catch{return null}return r.status===200?r:null}stat(e){let n=this.pack.index;if(n){let s=n.get(e);return s===void 0?null:{dir:s<0,size:Math.max(s,0),mtime:0}}if(e==="/")return{dir:!0,size:0,mtime:0};if(this.stats.has(e))return this.stats.get(e);let r=this.cache.get(e),a=null;if(r)a={dir:!1,size:r.length,mtime:0};else{let s=this.request("HEAD",e);if(!e.slice(e.lastIndexOf("/")+1).includes(".")&&(!s||s.getResponseHeader("Content-Type")?.startsWith("text/html")))a={dir:!0,size:0,mtime:0};else if(s&&fb(s)){let c=this.read(e);c&&(a={dir:!1,size:c.length,mtime:0})}else s&&(a={dir:!1,size:Number(s.getResponseHeader("Content-Length")??0),mtime:0})}return this.stats.set(e,a),a}read(e){let n=this.pack.files.get(e);if(n)return n;let r=this.pack.lazy.get(e);if(r!==void 0&&!this.fetchedPacks.has(r)){this.fetchedPacks.add(r);let c=this.request("GET",`/${r}.pack`);if(c)for(let[o,u]of Cu(c.response).files)this.pack.files.set(o,u);return this.read(e)}if(this.cache.has(e))return this.cache.get(e);if(this.pack.index&&!this.pack.index.has(e))return null;if(this.pack.offsets.get(e)!==void 0)return this.readRange(e,0,this.pack.index.get(e));let s=this.request("GET",e),i=s?new Uint8Array(s.response):null;return this.cache.set(e,i),i}readRange(e,n,r){let a=this.pack.files.get(e)??this.cache.get(e);if(a)return a.subarray(n,n+r);if(r===0)return new Uint8Array(0);let s=this.pack.offsets.get(e);if(s!==void 0)return this.readRange(s.image,s.at+n,r);let i=this.blocks.get(e);i||this.blocks.set(e,i=new Map);let c=Math.floor(n/pr),o=Math.floor((n+r-1)/pr);for(let l=c;l<=o;l++){if(i.has(l))continue;let d=l;for(;d<o&&!i.has(d+1);)d++;let f=new XMLHttpRequest;f.open("GET",this.base+encodeURI(e),!1),f.responseType="arraybuffer",f.setRequestHeader("Range",`bytes=${l*pr}-${(d+1)*pr-1}`);try{f.send()}catch{return this.readWhole(e,n,r)}let m=new Uint8Array(f.response);if(f.status===200)return this.cache.set(e,m),this.blocks.delete(e),m.subarray(n,n+r);if(f.status!==206)return null;if(!Nx(f,l*pr,m.length))return this.readWhole(e,n,r);for(let p=l;p<=d;p++)i.set(p,m.subarray((p-l)*pr,(p-l+1)*pr));l=d}let u=new Uint8Array(r);for(let l=c,d=0;l<=o;l++){let f=i.get(l),m=l===c?n-l*pr:0,p=f.subarray(m,Math.min(f.length,m+r-d));u.set(p,d),d+=p.length}return u}readWhole(e,n,r){console.warn(`java-web: range reads of ${this.base}${e} came back compressed or wrong, so it is read whole. Serve it without compression (as .jar files are on GitHub Pages).`);let a=this.request("GET",e);if(!a)return null;let s=new Uint8Array(a.response);return this.cache.set(e,s),this.blocks.delete(e),s.subarray(n,n+r)}list(e){return this.pack.index?Bx(this.pack.index,e):null}};function Bx(t,e){if(t.get(e)!==-1)return null;let n=e==="/"?"/":e+"/",r=[];for(let a of t.keys())a.startsWith(n)&&a.length>n.length&&!a.slice(n.length).includes("/")&&r.push(a.slice(n.length));return r}var Cx="java-web",ii="files";function Pu(t){return new Promise((e,n)=>{t.onsuccess=()=>e(t.result),t.onerror=()=>n(t.error)})}async function db(t){if(typeof indexedDB>"u")return;let e;try{let o=indexedDB.open(Cx,1);o.onupgradeneeded=()=>o.result.createObjectStore(ii),e=await Pu(o)}catch{return}let n=e.transaction(ii,"readonly").objectStore(ii),[r,a]=await Promise.all([Pu(n.getAllKeys()),Pu(n.getAll())]);r.forEach((o,u)=>{let l=a[u];l==="dir"?t.putDir(o):t.put(o,l.data,l.mtime)});let s=new Map,i=!1,c=()=>{i=!1;let o=e.transaction(ii,"readwrite").objectStore(ii);for(let[u,l]of s)l===null?o.delete(u):o.put(l,u);s.clear()};t.onChange=(o,u)=>{s.set(o,u),i||(i=!0,setTimeout(c,50))}}var It=(t,e=[])=>self.postMessage(t,e),rn=null,gr=null,Ru=new xr,Ga=new xr,Uu=[],Ko=null,mb=Promise.resolve(),Vu=new Map,Gu=new Map,bb=1,oi=new Map;function Du(t,e){e.then(n=>It({type:"reply",id:t,value:n.value,back:n.back})).catch(n=>It({type:"reply",id:t,error:String(n?.message??n),throwable:n?.throwable}))}function hb(t,e){return n=>new Promise((r,a)=>{let s=bb++;Vu.set(s,{resolve:r,reject:a}),It({type:"native",id:s,vm:t,name:e,args:n})})}async function Ex(t,e){if(!e||!t.body)return t.arrayBuffer();let n=Number(t.headers.get("content-length"))||0,r=[],a=0,s=t.body.getReader();for(;;){let o=await s.read();if(o.done)break;r.push(o.value),a+=o.value.length,It({type:"progress",done:n?Math.min(a,n):a,total:n})}It({type:"progress",done:n||a,total:n||a});let i=new Uint8Array(a),c=0;for(let o of r)i.set(o,c),c+=o.length;return i.buffer}async function Px(t){gr=t;let e=await fetch(new URL("boot.pack",t.runtime));if(!e.ok)throw new Error(`cannot load ${e.url}: ${e.status}`);let[n]=await Promise.all([Ex(e,t.progress).then(Cu),db(Ga)]);if(Ga.putDir("/downloads"),Ga.putDir("/uploads"),rn=new ui,rn.mount("/",new xr),t.localeData){let r=await fetch(new URL("jdk/jdk.localedata.txt",t.runtime));if(!r.ok)throw new Error(`cannot load ${r.url}: ${r.status}`);Eu(n,await r.text())}rn.mount("/jdk",new si(new URL("jdk/",t.runtime).href,n)),rn.mount("/app",new si(t.app)),rn.mount("/files",Ga),rn.mount("/str",Ru),rn.mount("/tmp",new xr),It({type:"ready"})}function Dx(){return Uu.length>0?Promise.resolve(Uu.shift()):new Promise(t=>Ko=t)}function Rx(t){return new Promise((e,n)=>{let r=bb++;Gu.set(r,{resolve:e,reject:n});let a=t.startsWith("/app/")?void 0:rn.read(t)?.slice();if(!t.startsWith("/app/")&&!a)return n(new Error("cannot read the file"));It({type:"loadLibrary",id:r,path:t,bytes:a})})}var Ux="/files/downloads/";function Vx(t){if(!t.startsWith(Ux))return;let e=rn.read(t);e&&It({type:"download",name:t.slice(t.lastIndexOf("/")+1),data:e.slice()})}function pb(t,e){return new Yo({fs:rn,javaHome:"/jdk",classpath:t,cwd:gr.props["user.dir"]??"/files",props:{"java.io.tmpdir":"/tmp","user.home":"/files","jdk.module.enable.native.access.0":"ALL-UNNAMED",...gr.props},stdout:n=>It({type:"out",fd:1,data:n},[n.buffer]),stderr:n=>It({type:"out",fd:2,data:n},[n.buffer]),stdin:Dx,hostName:gr.hostName,env:gr.env,loadNativeLibrary:Rx,fileClosed:Vx,fetch:(n,r)=>fetch(n,r),hostNatives:([n,r])=>{let a=gr.natives;return a.includes(r)?hb(e,r):a.includes(n)?hb(e,n):null}})}function Gx(t,e,n,r,a){let s=pb(r,t);return oi.set(t,s),s.run(e,n,a).then(i=>{oi.delete(t),It({type:"exit",id:t,code:i})})}self.onmessage=t=>{let e=t.data;switch(e.type){case"init":Px(e).catch(n=>It({type:"error",message:String(n?.message??n)}));break;case"run":mb=mb.then(()=>Gx(e.id,e.mode,e.what,e.classpath,e.args)).catch(n=>It({type:"error",message:String(n?.message??n)}));break;case"file":(e.path.startsWith("/files/")?Ga:Ru).put(e.path.replace(/^\/(files|str)/,""),e.data);break;case"removeFile":(e.path.startsWith("/files/")?Ga:Ru).remove(e.path.replace(/^\/(files|str)/,""));break;case"libraryLoaded":{let n=Gu.get(e.id);if(Gu.delete(e.id),e.error!==void 0)n?.reject(new Error(e.error));else{for(let r of e.names??[])gr.natives.includes(r)||gr.natives.push(r);n?.resolve()}break}case"nativeResult":{let n=Vu.get(e.id);Vu.delete(e.id),e.error!==void 0?n?.reject(new Error(e.error)):n?.resolve({value:e.value,back:e.back});break}case"library":{let n=pb(e.classpath,e.lib);oi.set(e.lib,n),Du(e.id,n.startLibrary().then(()=>({value:void 0})));break}case"call":{let n=oi.get(e.lib);Du(e.id,n?n.library.request(e.req):Promise.reject(new Error("that VM has exited")));break}case"release":oi.get(e.lib)?.library.release(e.ids);break;case"readFile":{let n=rn?.read(e.path);Du(e.id,n?Promise.resolve({value:n.slice()}):Promise.reject(new Error(`cannot read ${e.path}`)));break}case"stdin":if(Ko){let n=Ko;Ko=null,n(e.data)}else Uu.push(e.data);break}};})();
|
|
19
19
|
//# sourceMappingURL=java-web-worker.js.map
|