UNPKG

jolt-physics

Version:

A WebAssembly port of JoltPhysics, a rigid body physics and collision detection library, suitable for games and VR applications

110 lines (108 loc) 1.27 MB
// SPDX-FileCopyrightText: 2022-2024 Jorrit Rouwe // SPDX-License-Identifier: MIT // This is Web Assembly version of Jolt Physics, see: https://github.com/jrouwe/JoltPhysics.js var Jolt = (() => { var _scriptName = import.meta.url; return ( async function(moduleArg = {}) { var moduleRtn; var b=moduleArg,aa,ba,aaa=new Promise((a,c)=>{aa=a;ba=c}),ca="object"==typeof window,da="undefined"!=typeof WorkerGlobalScope,ea="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type,fa=da&&self.name?.startsWith("em-pthread");if(ea){const {createRequire:a}=await import("module");var require=a(import.meta.url),ha=require("worker_threads");global.Worker=ha.Worker;fa=(da=!ha.zRa)&&"em-pthread"==ha.workerData} var ia={...b},ja="./this.program",ka=(a,c)=>{throw c;},la="",ma,na; if(ea){var fs=require("fs"),baa=require("path");import.meta.url.startsWith("data:")||(la=baa.dirname(require("url").fileURLToPath(import.meta.url))+"/");na=a=>{a=oa(a)?new URL(a):a;return fs.readFileSync(a)};ma=async a=>{a=oa(a)?new URL(a):a;return fs.readFileSync(a,void 0)};!b.thisProgram&&1<process.argv.length&&(ja=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ka=(a,c)=>{process.exitCode=a;throw c;}}else if(ca||da)da?la=self.location.href:"undefined"!=typeof document&& document.currentScript&&(la=document.currentScript.src),_scriptName&&(la=_scriptName),la.startsWith("blob:")?la="":la=la.slice(0,la.replace(/[?#].*/,"").lastIndexOf("/")+1),ea||(da&&(na=a=>{var c=new XMLHttpRequest;c.open("GET",a,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}),ma=async a=>{a=await fetch(a,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+" : "+a.url);});var pa=console.log.bind(console),qa=console.error.bind(console); ea&&(pa=(...a)=>fs.writeSync(1,a.join(" ")+"\n"),qa=(...a)=>fs.writeSync(2,a.join(" ")+"\n"));var ra=b.print||pa,sa=b.printErr||qa;Object.assign(b,ia);ia=null;b.thisProgram&&(ja=b.thisProgram);var ta=b.wasmBinary,ua,va,wa=!1,xa,ya,za,Aa,Ba,Ca,Da=!1,oa=a=>a.startsWith("file://"); if(fa){var Ea;if(ea){var Fa=ha.parentPort;Fa.on("message",e=>onmessage({data:e}));Object.assign(globalThis,{self:global,postMessage:e=>Fa.postMessage(e)})}var Ga=!1;function a(...e){ea?fs.writeSync(2,e.join(" ")+"\n"):console.error(...e)}b.printErr||(sa=a);self.onunhandledrejection=e=>{throw e.reason||e;};function c(e){try{var f=e.data,h=f.gEa;if("load"===h){let k=[];self.onmessage=q=>k.push(q);self.startWorker=()=>{postMessage({gEa:"loaded"});for(let q of k)c(q);self.onmessage=c};for(const q of f.oNa)if(!b[q]|| b[q].proxy)b[q]=(...y)=>{postMessage({gEa:"callHandler",nNa:q,args:y})},"print"==q&&(ra=b[q]),"printErr"==q&&(sa=b[q]);ua=f.xRa;Ha();Ea(f.yRa)}else if("run"===h){caa(f.XDa);Ia(f.XDa,0,0,1,0,0);Ja();Ka(f.XDa);Ga||=!0;try{La(f.uRa,f.DEa)}catch(k){if("unwind"!=k)throw k;}}else"setimmediate"!==f.target&&("checkMailbox"===h?Ga&&Ma():h&&(sa(`worker: received unknown command ${h}`),sa(f)))}catch(k){throw Na(),k;}}self.onmessage=c} function Ha(){var a=ua.buffer;b.HEAP8=ya=new Int8Array(a);b.HEAP16=new Int16Array(a);b.HEAPU8=za=new Uint8Array(a);b.HEAPU16=new Uint16Array(a);b.HEAP32=Aa=new Int32Array(a);b.HEAPU32=Ba=new Uint32Array(a);b.HEAPF32=new Float32Array(a);b.HEAPF64=Ca=new Float64Array(a)}if(!fa){if(b.wasmMemory)ua=b.wasmMemory;else{var Oa=b.INITIAL_MEMORY||134217728;ua=new WebAssembly.Memory({initial:Oa/65536,maximum:Oa/65536,shared:!0})}Ha()}function Pa(){Da=!0;fa?startWorker(b):(Qa(Ra),d.A())}var Sa=0,Ta=null; function Ua(){Sa++;b.monitorRunDependencies?.(Sa)}function Va(){Sa--;b.monitorRunDependencies?.(Sa);if(0==Sa&&Ta){var a=Ta;Ta=null;a()}}function Xa(a){b.onAbort?.(a);a="Aborted("+a+")";sa(a);wa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}var Ya; async function daa(a){if(!ta)try{var c=await ma(a);return new Uint8Array(c)}catch{}if(a==Ya&&ta)a=new Uint8Array(ta);else if(na)a=na(a);else throw"both async and sync fetching of the wasm failed";return a}async function eaa(a,c){try{var e=await daa(a);return await WebAssembly.instantiate(e,c)}catch(f){sa(`failed to asynchronously prepare wasm: ${f}`),Xa(f)}} async function faa(a){var c=Ya;if(!ta&&"function"==typeof WebAssembly.instantiateStreaming&&!ea)try{var e=fetch(c,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(e,a)}catch(f){sa(`wasm streaming compile failed: ${f}`),sa("falling back to ArrayBuffer instantiation")}return eaa(c,a)}function Za(){$a={x:ab,l:gaa,j:haa,v:iaa,k:jaa,g:kaa,i:Ka,h:laa,p:maa,d:naa,b:oaa,z:paa,e:qaa,y:raa,n:saa,c:taa,o:uaa,u:vaa,q:bb,r:cb,w:db,s:eb,t:fb,m:gb,f:hb,a:ua};return{a:$a}} class ib{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}} var jb=a=>{a.terminate();a.onmessage=()=>{}},Qa=a=>{for(;0<a.length;)a.shift()(b)},kb=[],qb=a=>{0==lb.length&&(mb(),nb(lb[0]));var c=lb.pop();if(!c)return 6;ob.push(c);pb[a.XDa]=c;c.XDa=a.XDa;var e={gEa:"run",uRa:a.tRa,DEa:a.DEa,XDa:a.XDa};ea&&c.unref();c.postMessage(e,a.fJa);return 0},rb=0,wb=(a,c,...e)=>{for(var f=e.length,h=sb(),k=tb(8*f),q=k>>3,y=0;y<e.length;y++)Ca[q+y]=e[y];a=ub(a,0,f,k,c);vb(h);return a}; function xb(a){if(fa)return wb(0,1,a);xa=a;if(!(yb||0<rb)){for(var c of ob)jb(c);for(c of lb)jb(c);lb=[];ob=[];pb={};b.onExit?.(a);wa=!0}ka(a,new ib(a))}function zb(a){if(fa)return wb(1,0,a);db(a)}var db=a=>{xa=a;if(fa)throw zb(a),"unwind";xb(a)},lb=[],ob=[],Ab=[],pb={};function waa(){for(var a=16;a--;)mb();kb.unshift(()=>{Ua();xaa(()=>Va())})}var Cb=a=>{var c=a.XDa;delete pb[c];lb.push(a);ob.splice(ob.indexOf(a),1);a.XDa=0;Bb(c)};function Ja(){Ab.forEach(a=>a())} var nb=a=>new Promise(c=>{a.onmessage=k=>{k=k.data;var q=k.gEa;if(k.hGa&&k.hGa!=Db()){var y=pb[k.hGa];y?y.postMessage(k,k.fJa):sa(`Internal error! Worker sent a message "${q}" to target pthread ${k.hGa}, but that thread no longer exists!`)}else if("checkMailbox"===q)Ma();else if("spawnThread"===q)qb(k);else if("cleanupThread"===q)Cb(pb[k.vRa]);else if("loaded"===q)a.loaded=!0,ea&&!a.XDa&&a.unref(),c(a);else if("setimmediate"===k.target)a.postMessage(k);else if("callHandler"===q)b[k.nNa](...k.args); else q&&sa(`worker sent an unknown command ${q}`)};a.onerror=k=>{sa(`${"worker sent an error!"} ${k.filename}:${k.lineno}: ${k.message}`);throw k;};ea&&(a.on("message",k=>a.onmessage({data:k})),a.on("error",k=>a.onerror(k)));var e=[],f=["onExit","onAbort","print","printErr"],h;for(h of f)b.propertyIsEnumerable(h)&&e.push(h);a.postMessage({gEa:"load",oNa:e,xRa:ua,yRa:va})});function xaa(a){fa?a():Promise.all(lb.map(nb)).then(a)} function mb(){if(b.mainScriptUrlOrBlob){var a=b.mainScriptUrlOrBlob;"string"!=typeof a&&(a=URL.createObjectURL(a));a=new Worker(a,{type:"module",workerData:"em-pthread",name:"em-pthread"})}else a=new Worker(new URL("jolt-physics.multithread.wasm.js",import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});lb.push(a)} var Eb=[],caa=a=>{var c=Ba[a+52>>2];Fb(c,c-Ba[a+56>>2]);vb(c)},Gb=[],Hb,La=(a,c)=>{yb=rb=0;var e=Gb[a];e||(Gb[a]=e=Hb.get(a));a=e(c);yb||0<rb?xa=a:Ib(a)},yb=b.noExitRuntime||!0;function Jb(a,c,e,f){return fa?wb(2,1,a,c,e,f):ab(a,c,e,f)} var ab=(a,c,e,f)=>{if("undefined"==typeof SharedArrayBuffer)return 6;var h=[];if(fa&&0===h.length)return Jb(a,c,e,f);a={tRa:e,XDa:a,DEa:f,fJa:h};return fa?(a.gEa="spawnThread",postMessage(a,h),0):qb(a)},gaa=()=>Xa(""),haa=a=>{Ia(a,!da,1,!ca,1048576,!1);Ja()},Ka=a=>{"function"===typeof Atomics.wRa&&(Atomics.wRa(Aa,a>>2,a).value.then(Ma),Atomics.store(Aa,a+128>>2,1))},Ma=()=>{var a=Db();if(a&&(Ka(a),a=Kb,!wa))try{if(a(),!(yb||0<rb))try{fa?Ib(xa):db(xa)}catch(c){c instanceof ib||"unwind"==c||ka(1,c)}}catch(c){c instanceof ib||"unwind"==c||ka(1,c)}},iaa=(a,c)=>{a==c?setTimeout(Ma):fa?postMessage({hGa:a,gEa:"checkMailbox"}):(a=pb[a])&&a.postMessage({gEa:"checkMailbox"})},Lb=[],jaa=(a,c,e,f,h)=>{Lb.length=f;e=h>>3;for(h=0;h<f;h++)Lb[h]=Ca[e+h];return(c?Mb[c]:yaa[a])(...Lb)},kaa=a=>{fa?postMessage({gEa:"cleanupThread",vRa:a}):Cb(pb[a])},laa=a=>{ea&&pb[a].ref()},Nb=(a,c,e,f)=>{if(0<f){f=e+f-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var q=a.charCodeAt(++h);k=65536+((k&1023)<<10)|q&1023}if(127>= k){if(e>=f)break;c[e++]=k}else{if(2047>=k){if(e+1>=f)break;c[e++]=192|k>>6}else{if(65535>=k){if(e+2>=f)break;c[e++]=224|k>>12}else{if(e+3>=f)break;c[e++]=240|k>>18;c[e++]=128|k>>12&63}c[e++]=128|k>>6&63}c[e++]=128|k&63}}c[e]=0}},maa=(a,c,e,f)=>{var h=(new Date).getFullYear(),k=(new Date(h,0,1)).getTimezoneOffset();h=(new Date(h,6,1)).getTimezoneOffset();Ba[a>>2]=60*Math.max(k,h);Aa[c>>2]=Number(k!=h);c=q=>{var y=Math.abs(q);return`UTC${0<=q?"-":"+"}${String(Math.floor(y/60)).padStart(2,"0")}${String(y% 60).padStart(2,"0")}`};a=c(k);c=c(h);h<k?(Nb(a,za,e,17),Nb(c,za,f,17)):(Nb(a,za,f,17),Nb(c,za,e,17))},taa=()=>performance.timeOrigin+performance.now(),Ob=[],Pb=(a,c,e)=>{Ob.length=0;for(var f;f=za[c++];){var h=105!=f;h&=112!=f;e+=h&&e%8?4:0;Ob.push(112==f?Ba[e>>2]:105==f?Aa[e>>2]:Ca[e>>3]);e+=h?8:4}return Mb[a](...Ob)},naa=(a,c,e)=>Pb(a,c,e),oaa=(a,c,e)=>Pb(a,c,e),paa=(a,c,e)=>Pb(a,c,e),qaa=()=>{},raa=()=>{rb+=1;throw"unwind";},saa=()=>za.length,uaa=()=>ea?require("os").cpus().length:navigator.hardwareConcurrency, vaa=()=>{Xa("OOM")},Qb={},Sb=()=>{if(!Rb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ja||"./this.program"},c;for(c in Qb)void 0===Qb[c]?delete a[c]:a[c]=Qb[c];var e=[];for(c in a)e.push(`${c}=${a[c]}`);Rb=e}return Rb},Rb; function bb(a,c){if(fa)return wb(3,1,a,c);var e=0;Sb().forEach((f,h)=>{var k=c+e;h=Ba[a+4*h>>2]=k;for(k=0;k<f.length;++k)ya[h++]=f.charCodeAt(k);ya[h]=0;e+=f.length+1});return 0}function cb(a,c){if(fa)return wb(4,1,a,c);var e=Sb();Ba[a>>2]=e.length;var f=0;e.forEach(h=>f+=h.length+1);Ba[c>>2]=f;return 0}function eb(a){return fa?wb(5,1,a):52}function fb(a,c,e,f){return fa?wb(6,1,a,c,e,f):52}function gb(a,c,e,f,h){return fa?wb(7,1,a,c,e,f,h):70} var zaa=[null,[],[]],Tb="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Ub=(a,c=0)=>{for(var e=c+NaN,f=c;a[f]&&!(f>=e);)++f;if(16<f-c&&a.buffer&&Tb)return Tb.decode(a.buffer instanceof ArrayBuffer?a.subarray(c,f):a.slice(c,f));for(e="";c<f;){var h=a[c++];if(h&128){var k=a[c++]&63;if(192==(h&224))e+=String.fromCharCode((h&31)<<6|k);else{var q=a[c++]&63;h=224==(h&240)?(h&15)<<12|k<<6|q:(h&7)<<18|k<<12|q<<6|a[c++]&63;65536>h?e+=String.fromCharCode(h):(h-=65536,e+=String.fromCharCode(55296|h>> 10,56320|h&1023))}}else e+=String.fromCharCode(h)}return e};function hb(a,c,e,f){if(fa)return wb(8,1,a,c,e,f);for(var h=0,k=0;k<e;k++){var q=Ba[c>>2],y=Ba[c+4>>2];c+=8;for(var R=0;R<y;R++){var Wa=a,Wd=za[q+R],Ng=zaa[Wa];0===Wd||10===Wd?((1===Wa?ra:sa)(Ub(Ng)),Ng.length=0):Ng.push(Wd)}h+=y}Ba[f>>2]=h;return 0}var Ra=[];fa||waa(); var yaa=[xb,zb,Jb,bb,cb,eb,fb,gb,hb],Mb={58842:a=>{a=b.getCache(b.PathConstraintPathJS)[a];if(!a.hasOwnProperty("GetPathMaxFraction"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetPathMaxFraction.";return a.GetPathMaxFraction()},59109:(a,c,e)=>{a=b.getCache(b.PathConstraintPathJS)[a];if(!a.hasOwnProperty("GetClosestPoint"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetClosestPoint.";return a.GetClosestPoint(c, e)},59372:(a,c,e,f,h,k)=>{a=b.getCache(b.PathConstraintPathJS)[a];if(!a.hasOwnProperty("GetPointOnPath"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetPointOnPath.";a.GetPointOnPath(c,e,f,h,k)},59634:(a,c,e)=>{a=b.getCache(b.GroupFilterJS)[a];if(!a.hasOwnProperty("CanCollide"))throw"a JSImplementation must implement all functions, you forgot GroupFilterJS::CanCollide.";return a.CanCollide(c,e)},59868:(a,c)=>{a=b.getCache(b.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveBody"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveBody."; return a.ShouldSaveBody(c)},60127:(a,c)=>{a=b.getCache(b.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveConstraint"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveConstraint.";return a.ShouldSaveConstraint(c)},60404:(a,c,e)=>{a=b.getCache(b.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveContact"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveContact.";return a.ShouldSaveContact(c, e)},60675:(a,c,e)=>{a=b.getCache(b.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldRestoreContact"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldRestoreContact.";return a.ShouldRestoreContact(c,e)},60955:a=>{a=b.getCache(b.StateRecorderJS)[a];if(!a.hasOwnProperty("IsEOF"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::IsEOF.";return a.IsEOF()},61173:a=>{a=b.getCache(b.StateRecorderJS)[a];if(!a.hasOwnProperty("IsFailed"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::IsFailed."; return a.IsFailed()},61400:(a,c,e)=>{a=b.getCache(b.StateRecorderJS)[a];if(!a.hasOwnProperty("WriteBytes"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::WriteBytes.";a.WriteBytes(c,e)},61631:(a,c,e)=>{a=b.getCache(b.StateRecorderJS)[a];if(!a.hasOwnProperty("ReadBytes"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::ReadBytes.";a.ReadBytes(c,e)},61859:(a,c,e,f,h)=>{a=b.getCache(b.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactAdded"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactAdded."; a.OnContactAdded(c,e,f,h)},62112:(a,c,e,f,h)=>{a=b.getCache(b.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactPersisted"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactPersisted.";a.OnContactPersisted(c,e,f,h)},62377:(a,c)=>{a=b.getCache(b.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactRemoved"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactRemoved.";a.OnContactRemoved(c)},62627:(a,c,e,f,h)=> {a=b.getCache(b.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactValidate"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactValidate.";return a.OnContactValidate(c,e,f,h)},62896:(a,c,e)=>{a=b.getCache(b.SoftBodyContactListenerJS)[a];if(!a.hasOwnProperty("OnSoftBodyContactAdded"))throw"a JSImplementation must implement all functions, you forgot SoftBodyContactListenerJS::OnSoftBodyContactAdded.";a.OnSoftBodyContactAdded(c,e)},63183:(a,c,e,f)=>{a=b.getCache(b.SoftBodyContactListenerJS)[a]; if(!a.hasOwnProperty("OnSoftBodyContactValidate"))throw"a JSImplementation must implement all functions, you forgot SoftBodyContactListenerJS::OnSoftBodyContactValidate.";return a.OnSoftBodyContactValidate(c,e,f)},63489:a=>{a=b.getCache(b.RayCastBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot RayCastBodyCollectorJS::Reset.";a.Reset()},63714:(a,c)=>{a=b.getCache(b.RayCastBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot RayCastBodyCollectorJS::AddHit."; a.AddHit(c)},63944:a=>{a=b.getCache(b.CollideShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollideShapeBodyCollectorJS::Reset.";a.Reset()},64179:(a,c)=>{a=b.getCache(b.CollideShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollideShapeBodyCollectorJS::AddHit.";a.AddHit(c)},64419:a=>{a=b.getCache(b.CastShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastShapeBodyCollectorJS::Reset."; a.Reset()},64648:(a,c)=>{a=b.getCache(b.CastShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastShapeBodyCollectorJS::AddHit.";a.AddHit(c)},64882:a=>{a=b.getCache(b.CastRayCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::Reset.";a.Reset()},65099:(a,c)=>{a=b.getCache(b.CastRayCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::OnBody."; a.OnBody(c)},65321:(a,c)=>{a=b.getCache(b.CastRayCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::AddHit.";a.AddHit(c)},65543:a=>{a=b.getCache(b.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::Reset.";a.Reset()},65770:(a,c)=>{a=b.getCache(b.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::OnBody."; a.OnBody(c)},66002:(a,c)=>{a=b.getCache(b.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::AddHit.";a.AddHit(c)},66234:a=>{a=b.getCache(b.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::Reset.";a.Reset()},66461:(a,c)=>{a=b.getCache(b.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::OnBody."; a.OnBody(c)},66693:(a,c)=>{a=b.getCache(b.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::AddHit.";a.AddHit(c)},66925:a=>{a=b.getCache(b.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::Reset.";a.Reset()},67146:(a,c)=>{a=b.getCache(b.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::OnBody."; a.OnBody(c)},67372:(a,c)=>{a=b.getCache(b.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::AddHit.";a.AddHit(c)},67598:a=>{a=b.getCache(b.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::Reset.";a.Reset()},67833:(a,c)=>{a=b.getCache(b.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::OnBody."; a.OnBody(c)},68073:(a,c)=>{a=b.getCache(b.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::AddHit.";a.AddHit(c)},68313:(a,c)=>{a=b.getCache(b.PhysicsStepListenerJS)[a];if(!a.hasOwnProperty("OnStep"))throw"a JSImplementation must implement all functions, you forgot PhysicsStepListenerJS::OnStep.";a.OnStep(c)},68541:(a,c,e)=>{a=b.getCache(b.BodyActivationListenerJS)[a];if(!a.hasOwnProperty("OnBodyActivated"))throw"a JSImplementation must implement all functions, you forgot BodyActivationListenerJS::OnBodyActivated."; a.OnBodyActivated(c,e)},68805:(a,c,e)=>{a=b.getCache(b.BodyActivationListenerJS)[a];if(!a.hasOwnProperty("OnBodyDeactivated"))throw"a JSImplementation must implement all functions, you forgot BodyActivationListenerJS::OnBodyDeactivated.";a.OnBodyDeactivated(c,e)},69075:(a,c,e,f,h)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnAdjustBodyVelocity"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnAdjustBodyVelocity.";a.OnAdjustBodyVelocity(c, e,f,h)},69364:(a,c,e,f)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactValidate"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactValidate.";return a.OnContactValidate(c,e,f)},69648:(a,c,e,f)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactValidate"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactValidate."; return a.OnCharacterContactValidate(c,e,f)},69959:(a,c,e,f)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactRemoved"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactRemoved.";a.OnContactRemoved(c,e,f)},70233:(a,c,e,f)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactRemoved"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactRemoved."; a.OnCharacterContactRemoved(c,e,f)},70534:(a,c,e,f,h,k,q)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactAdded"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactAdded.";a.OnContactAdded(c,e,f,h,k,q)},70811:(a,c,e,f,h,k,q)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactPersisted"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactPersisted."; a.OnContactPersisted(c,e,f,h,k,q)},71100:(a,c,e,f,h,k,q)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactAdded"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactAdded.";a.OnCharacterContactAdded(c,e,f,h,k,q)},71404:(a,c,e,f,h,k,q)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactPersisted"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactPersisted."; a.OnCharacterContactPersisted(c,e,f,h,k,q)},71720:(a,c,e,f,h,k,q,y,R,Wa)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactSolve"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactSolve.";a.OnContactSolve(c,e,f,h,k,q,y,R,Wa)},72006:(a,c,e,f,h,k,q,y,R,Wa)=>{a=b.getCache(b.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactSolve"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactSolve."; a.OnCharacterContactSolve(c,e,f,h,k,q,y,R,Wa)},72319:(a,c,e)=>{a=b.getCache(b.ObjectVsBroadPhaseLayerFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectVsBroadPhaseLayerFilterJS::ShouldCollide.";return a.ShouldCollide(c,e)},72598:(a,c)=>{a=b.getCache(b.ObjectLayerFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectLayerFilterJS::ShouldCollide.";return a.ShouldCollide(c)}, 72850:(a,c,e)=>{a=b.getCache(b.ObjectLayerPairFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectLayerPairFilterJS::ShouldCollide.";return a.ShouldCollide(c,e)},73113:(a,c)=>{a=b.getCache(b.BodyFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot BodyFilterJS::ShouldCollide.";return a.ShouldCollide(c)},73351:(a,c)=>{a=b.getCache(b.BodyFilterJS)[a];if(!a.hasOwnProperty("ShouldCollideLocked"))throw"a JSImplementation must implement all functions, you forgot BodyFilterJS::ShouldCollideLocked."; return a.ShouldCollideLocked(c)},73607:(a,c,e)=>{a=b.getCache(b.ShapeFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ShapeFilterJS::ShouldCollide.";return a.ShouldCollide(c,e)},73850:(a,c,e,f,h)=>{a=b.getCache(b.ShapeFilterJS2)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ShapeFilterJS2::ShouldCollide.";return a.ShouldCollide(c,e,f,h)},74101:(a,c,e,f,h,k,q)=>{a=b.getCache(b.SimShapeFilterJS)[a]; if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot SimShapeFilterJS::ShouldCollide.";return a.ShouldCollide(c,e,f,h,k,q)},74362:(a,c,e,f,h,k)=>{a=b.getCache(b.VehicleConstraintCallbacksJS)[a];if(!a.hasOwnProperty("GetCombinedFriction"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::GetCombinedFriction.";return a.GetCombinedFriction(c,e,f,h,k)},74662:(a,c,e)=>{a=b.getCache(b.VehicleConstraintCallbacksJS)[a]; if(!a.hasOwnProperty("OnPreStepCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPreStepCallback.";a.OnPreStepCallback(c,e)},74940:(a,c,e)=>{a=b.getCache(b.VehicleConstraintCallbacksJS)[a];if(!a.hasOwnProperty("OnPostCollideCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPostCollideCallback.";a.OnPostCollideCallback(c,e)},75230:(a,c,e)=>{a=b.getCache(b.VehicleConstraintCallbacksJS)[a]; if(!a.hasOwnProperty("OnPostStepCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPostStepCallback.";a.OnPostStepCallback(c,e)},75511:(a,c,e,f,h,k,q,y,R)=>{a=b.getCache(b.WheeledVehicleControllerCallbacksJS)[a];if(!a.hasOwnProperty("OnTireMaxImpulseCallback"))throw"a JSImplementation must implement all functions, you forgot WheeledVehicleControllerCallbacksJS::OnTireMaxImpulseCallback.";a.OnTireMaxImpulseCallback(c,e,f,h,k,q,y,R)},75842:a=> {a=b.getCache(b.BroadPhaseLayerInterfaceJS)[a];if(!a.hasOwnProperty("GetNumBroadPhaseLayers"))throw"a JSImplementation must implement all functions, you forgot BroadPhaseLayerInterfaceJS::GetNumBroadPhaseLayers.";return a.GetNumBroadPhaseLayers()},76133:(a,c)=>{a=b.getCache(b.BroadPhaseLayerInterfaceJS)[a];if(!a.hasOwnProperty("GetBPLayer"))throw"a JSImplementation must implement all functions, you forgot BroadPhaseLayerInterfaceJS::GetBPLayer.";return a.GetBPLayer(c)},76390:()=>ya.length},$a,d=await (async function(){function a(f, h){d=f.exports;Ab.push(d.fDa);Hb=d.G;va=h;Va();return d}Ua();var c=Za();if(b.instantiateWasm)return new Promise(f=>{b.instantiateWasm(c,(h,k)=>{a(h,k);f(h.exports)})});if(fa)return new Promise(f=>{Ea=h=>{var k=new WebAssembly.Instance(h,Za());f(a(k,h))}});Ya??=b.locateFile?b.locateFile?b.locateFile("jolt-physics.multithread.wasm.wasm",la):la+"jolt-physics.multithread.wasm.wasm":(new URL("jolt-physics.multithread.wasm.wasm",import.meta.url)).href;try{var e=await faa(c);return a(e.instance, e.module)}catch(f){return ba(f),Promise.reject(f)}}());b._webidl_free=a=>(b._webidl_free=d.B)(a);b._webidl_malloc=a=>(b._webidl_malloc=d.C)(a); var Vb=b._emscripten_bind_ShapeSettings_GetRefCount_0=a=>(Vb=b._emscripten_bind_ShapeSettings_GetRefCount_0=d.D)(a),Wb=b._emscripten_bind_ShapeSettings_AddRef_0=a=>(Wb=b._emscripten_bind_ShapeSettings_AddRef_0=d.E)(a),Xb=b._emscripten_bind_ShapeSettings_Release_0=a=>(Xb=b._emscripten_bind_ShapeSettings_Release_0=d.F)(a),Yb=b._emscripten_bind_ShapeSettings_Create_0=a=>(Yb=b._emscripten_bind_ShapeSettings_Create_0=d.H)(a),Zb=b._emscripten_bind_ShapeSettings_ClearCachedResult_0=a=>(Zb=b._emscripten_bind_ShapeSettings_ClearCachedResult_0= d.I)(a),$b=b._emscripten_bind_ShapeSettings_get_mUserData_0=a=>($b=b._emscripten_bind_ShapeSettings_get_mUserData_0=d.J)(a),ac=b._emscripten_bind_ShapeSettings_set_mUserData_1=(a,c,e)=>(ac=b._emscripten_bind_ShapeSettings_set_mUserData_1=d.K)(a,c,e),bc=b._emscripten_bind_ShapeSettings___destroy___0=a=>(bc=b._emscripten_bind_ShapeSettings___destroy___0=d.L)(a),cc=b._emscripten_bind_Shape_GetRefCount_0=a=>(cc=b._emscripten_bind_Shape_GetRefCount_0=d.M)(a),dc=b._emscripten_bind_Shape_AddRef_0=a=>(dc= b._emscripten_bind_Shape_AddRef_0=d.N)(a),ec=b._emscripten_bind_Shape_Release_0=a=>(ec=b._emscripten_bind_Shape_Release_0=d.O)(a),fc=b._emscripten_bind_Shape_GetType_0=a=>(fc=b._emscripten_bind_Shape_GetType_0=d.P)(a),gc=b._emscripten_bind_Shape_GetSubType_0=a=>(gc=b._emscripten_bind_Shape_GetSubType_0=d.Q)(a),hc=b._emscripten_bind_Shape_MustBeStatic_0=a=>(hc=b._emscripten_bind_Shape_MustBeStatic_0=d.R)(a),ic=b._emscripten_bind_Shape_GetLocalBounds_0=a=>(ic=b._emscripten_bind_Shape_GetLocalBounds_0= d.S)(a),jc=b._emscripten_bind_Shape_GetWorldSpaceBounds_2=(a,c,e)=>(jc=b._emscripten_bind_Shape_GetWorldSpaceBounds_2=d.T)(a,c,e),kc=b._emscripten_bind_Shape_GetCenterOfMass_0=a=>(kc=b._emscripten_bind_Shape_GetCenterOfMass_0=d.U)(a),lc=b._emscripten_bind_Shape_GetUserData_0=a=>(lc=b._emscripten_bind_Shape_GetUserData_0=d.V)(a),mc=b._emscripten_bind_Shape_SetUserData_1=(a,c,e)=>(mc=b._emscripten_bind_Shape_SetUserData_1=d.W)(a,c,e),nc=b._emscripten_bind_Shape_GetSubShapeIDBitsRecursive_0=a=>(nc=b._emscripten_bind_Shape_GetSubShapeIDBitsRecursive_0= d.X)(a),oc=b._emscripten_bind_Shape_GetInnerRadius_0=a=>(oc=b._emscripten_bind_Shape_GetInnerRadius_0=d.Y)(a),pc=b._emscripten_bind_Shape_GetMassProperties_0=a=>(pc=b._emscripten_bind_Shape_GetMassProperties_0=d.Z)(a),qc=b._emscripten_bind_Shape_GetLeafShape_2=(a,c,e)=>(qc=b._emscripten_bind_Shape_GetLeafShape_2=d._)(a,c,e),rc=b._emscripten_bind_Shape_GetMaterial_1=(a,c)=>(rc=b._emscripten_bind_Shape_GetMaterial_1=d.$)(a,c),sc=b._emscripten_bind_Shape_GetSurfaceNormal_2=(a,c,e)=>(sc=b._emscripten_bind_Shape_GetSurfaceNormal_2= d.aa)(a,c,e),tc=b._emscripten_bind_Shape_GetSubShapeUserData_1=(a,c)=>(tc=b._emscripten_bind_Shape_GetSubShapeUserData_1=d.ba)(a,c),uc=b._emscripten_bind_Shape_GetSubShapeTransformedShape_5=(a,c,e,f,h,k)=>(uc=b._emscripten_bind_Shape_GetSubShapeTransformedShape_5=d.ca)(a,c,e,f,h,k),vc=b._emscripten_bind_Shape_GetVolume_0=a=>(vc=b._emscripten_bind_Shape_GetVolume_0=d.da)(a),wc=b._emscripten_bind_Shape_IsValidScale_1=(a,c)=>(wc=b._emscripten_bind_Shape_IsValidScale_1=d.ea)(a,c),xc=b._emscripten_bind_Shape_MakeScaleValid_1= (a,c)=>(xc=b._emscripten_bind_Shape_MakeScaleValid_1=d.fa)(a,c),yc=b._emscripten_bind_Shape_ScaleShape_1=(a,c)=>(yc=b._emscripten_bind_Shape_ScaleShape_1=d.ga)(a,c),zc=b._emscripten_bind_Shape___destroy___0=a=>(zc=b._emscripten_bind_Shape___destroy___0=d.ha)(a),Ac=b._emscripten_bind_ConstraintSettings_GetRefCount_0=a=>(Ac=b._emscripten_bind_ConstraintSettings_GetRefCount_0=d.ia)(a),Bc=b._emscripten_bind_ConstraintSettings_AddRef_0=a=>(Bc=b._emscripten_bind_ConstraintSettings_AddRef_0=d.ja)(a),Cc= b._emscripten_bind_ConstraintSettings_Release_0=a=>(Cc=b._emscripten_bind_ConstraintSettings_Release_0=d.ka)(a),Dc=b._emscripten_bind_ConstraintSettings_get_mEnabled_0=a=>(Dc=b._emscripten_bind_ConstraintSettings_get_mEnabled_0=d.la)(a),Ec=b._emscripten_bind_ConstraintSettings_set_mEnabled_1=(a,c)=>(Ec=b._emscripten_bind_ConstraintSettings_set_mEnabled_1=d.ma)(a,c),Fc=b._emscripten_bind_ConstraintSettings_get_mNumVelocityStepsOverride_0=a=>(Fc=b._emscripten_bind_ConstraintSettings_get_mNumVelocityStepsOverride_0= d.na)(a),Gc=b._emscripten_bind_ConstraintSettings_set_mNumVelocityStepsOverride_1=(a,c)=>(Gc=b._emscripten_bind_ConstraintSettings_set_mNumVelocityStepsOverride_1=d.oa)(a,c),Hc=b._emscripten_bind_ConstraintSettings_get_mNumPositionStepsOverride_0=a=>(Hc=b._emscripten_bind_ConstraintSettings_get_mNumPositionStepsOverride_0=d.pa)(a),Ic=b._emscripten_bind_ConstraintSettings_set_mNumPositionStepsOverride_1=(a,c)=>(Ic=b._emscripten_bind_ConstraintSettings_set_mNumPositionStepsOverride_1=d.qa)(a,c),Jc= b._emscripten_bind_ConstraintSettings___destroy___0=a=>(Jc=b._emscripten_bind_ConstraintSettings___destroy___0=d.ra)(a),Kc=b._emscripten_bind_Constraint_GetRefCount_0=a=>(Kc=b._emscripten_bind_Constraint_GetRefCount_0=d.sa)(a),Lc=b._emscripten_bind_Constraint_AddRef_0=a=>(Lc=b._emscripten_bind_Constraint_AddRef_0=d.ta)(a),Mc=b._emscripten_bind_Constraint_Release_0=a=>(Mc=b._emscripten_bind_Constraint_Release_0=d.ua)(a),Nc=b._emscripten_bind_Constraint_GetType_0=a=>(Nc=b._emscripten_bind_Constraint_GetType_0= d.va)(a),Oc=b._emscripten_bind_Constraint_GetSubType_0=a=>(Oc=b._emscripten_bind_Constraint_GetSubType_0=d.wa)(a),Pc=b._emscripten_bind_Constraint_GetConstraintPriority_0=a=>(Pc=b._emscripten_bind_Constraint_GetConstraintPriority_0=d.xa)(a),Qc=b._emscripten_bind_Constraint_SetConstraintPriority_1=(a,c)=>(Qc=b._emscripten_bind_Constraint_SetConstraintPriority_1=d.ya)(a,c),Rc=b._emscripten_bind_Constraint_SetNumVelocityStepsOverride_1=(a,c)=>(Rc=b._emscripten_bind_Constraint_SetNumVelocityStepsOverride_1= d.za)(a,c),Sc=b._emscripten_bind_Constraint_GetNumVelocityStepsOverride_0=a=>(Sc=b._emscripten_bind_Constraint_GetNumVelocityStepsOverride_0=d.Aa)(a),Tc=b._emscripten_bind_Constraint_SetNumPositionStepsOverride_1=(a,c)=>(Tc=b._emscripten_bind_Constraint_SetNumPositionStepsOverride_1=d.Ba)(a,c),Uc=b._emscripten_bind_Constraint_GetNumPositionStepsOverride_0=a=>(Uc=b._emscripten_bind_Constraint_GetNumPositionStepsOverride_0=d.Ca)(a),Vc=b._emscripten_bind_Constraint_SetEnabled_1=(a,c)=>(Vc=b._emscripten_bind_Constraint_SetEnabled_1= d.Da)(a,c),Wc=b._emscripten_bind_Constraint_GetEnabled_0=a=>(Wc=b._emscripten_bind_Constraint_GetEnabled_0=d.Ea)(a),Xc=b._emscripten_bind_Constraint_IsActive_0=a=>(Xc=b._emscripten_bind_Constraint_IsActive_0=d.Fa)(a),Yc=b._emscripten_bind_Constraint_GetUserData_0=a=>(Yc=b._emscripten_bind_Constraint_GetUserData_0=d.Ga)(a),Zc=b._emscripten_bind_Constraint_SetUserData_1=(a,c,e)=>(Zc=b._emscripten_bind_Constraint_SetUserData_1=d.Ha)(a,c,e),$c=b._emscripten_bind_Constraint_ResetWarmStart_0=a=>($c=b._emscripten_bind_Constraint_ResetWarmStart_0= d.Ia)(a),ad=b._emscripten_bind_Constraint_SaveState_1=(a,c)=>(ad=b._emscripten_bind_Constraint_SaveState_1=d.Ja)(a,c),bd=b._emscripten_bind_Constraint_RestoreState_1=(a,c)=>(bd=b._emscripten_bind_Constraint_RestoreState_1=d.Ka)(a,c),cd=b._emscripten_bind_Constraint___destroy___0=a=>(cd=b._emscripten_bind_Constraint___destroy___0=d.La)(a),dd=b._emscripten_bind_PathConstraintPath_IsLooping_0=a=>(dd=b._emscripten_bind_PathConstraintPath_IsLooping_0=d.Ma)(a),ed=b._emscripten_bind_PathConstraintPath_SetIsLooping_1= (a,c)=>(ed=b._emscripten_bind_PathConstraintPath_SetIsLooping_1=d.Na)(a,c),fd=b._emscripten_bind_PathConstraintPath_GetRefCount_0=a=>(fd=b._emscripten_bind_PathConstraintPath_GetRefCount_0=d.Oa)(a),gd=b._emscripten_bind_PathConstraintPath_AddRef_0=a=>(gd=b._emscripten_bind_PathConstraintPath_AddRef_0=d.Pa)(a),hd=b._emscripten_bind_PathConstraintPath_Release_0=a=>(hd=b._emscripten_bind_PathConstraintPath_Release_0=d.Qa)(a),jd=b._emscripten_bind_PathConstraintPath___destroy___0=a=>(jd=b._emscripten_bind_PathConstraintPath___destroy___0= d.Ra)(a),kd=b._emscripten_bind_StateRecorder_SetValidating_1=(a,c)=>(kd=b._emscripten_bind_StateRecorder_SetValidating_1=d.Sa)(a,c),ld=b._emscripten_bind_StateRecorder_IsValidating_0=a=>(ld=b._emscripten_bind_StateRecorder_IsValidating_0=d.Ta)(a),md=b._emscripten_bind_StateRecorder_SetIsLastPart_1=(a,c)=>(md=b._emscripten_bind_StateRecorder_SetIsLastPart_1=d.Ua)(a,c),nd=b._emscripten_bind_StateRecorder_IsLastPart_0=a=>(nd=b._emscripten_bind_StateRecorder_IsLastPart_0=d.Va)(a),od=b._emscripten_bind_StateRecorder___destroy___0= a=>(od=b._emscripten_bind_StateRecorder___destroy___0=d.Wa)(a),pd=b._emscripten_bind_ContactListener___destroy___0=a=>(pd=b._emscripten_bind_ContactListener___destroy___0=d.Xa)(a),qd=b._emscripten_bind_SoftBodyContactListener___destroy___0=a=>(qd=b._emscripten_bind_SoftBodyContactListener___destroy___0=d.Ya)(a),rd=b._emscripten_bind_CharacterContactListener___destroy___0=a=>(rd=b._emscripten_bind_CharacterContactListener___destroy___0=d.Za)(a),sd=b._emscripten_bind_ObjectVsBroadPhaseLayerFilter_ObjectVsBroadPhaseLayerFilter_0= ()=>(sd=b._emscripten_bind_ObjectVsBroadPhaseLayerFilter_ObjectVsBroadPhaseLayerFilter_0=d._a)(),td=b._emscripten_bind_ObjectVsBroadPhaseLayerFilter___destroy___0=a=>(td=b._emscripten_bind_ObjectVsBroadPhaseLayerFilter___destroy___0=d.$a)(a),ud=b._emscripten_bind_VehicleControllerSettings___destroy___0=a=>(ud=b._emscripten_bind_VehicleControllerSettings___destroy___0=d.ab)(a),vd=b._emscripten_bind_VehicleController_GetConstraint_0=a=>(vd=b._emscripten_bind_VehicleController_GetConstraint_0=d.bb)(a), wd=b._emscripten_bind_VehicleController___destroy___0=a=>(wd=b._emscripten_bind_VehicleController___destroy___0=d.cb)(a),xd=b._emscripten_bind_BroadPhaseLayerInterface_GetNumBroadPhaseLayers_0=a=>(xd=b._emscripten_bind_BroadPhaseLayerInterface_GetNumBroadPhaseLayers_0=d.db)(a),yd=b._emscripten_bind_BroadPhaseLayerInterface___destroy___0=a=>(yd=b._emscripten_bind_BroadPhaseLayerInterface___destroy___0=d.eb)(a),zd=b._emscripten_bind_BroadPhaseCastResult_BroadPhaseCastResult_0=()=>(zd=b._emscripten_bind_BroadPhaseCastResult_BroadPhaseCastResult_0= d.fb)(),Ad=b._emscripten_bind_BroadPhaseCastResult_Reset_0=a=>(Ad=b._emscripten_bind_BroadPhaseCastResult_Reset_0=d.gb)(a),Bd=b._emscripten_bind_BroadPhaseCastResult_get_mBodyID_0=a=>(Bd=b._emscripten_bind_BroadPhaseCastResult_get_mBodyID_0=d.hb)(a),Cd=b._emscripten_bind_BroadPhaseCastResult_set_mBodyID_1=(a,c)=>(Cd=b._emscripten_bind_BroadPhaseCastResult_set_mBodyID_1=d.ib)(a,c),Dd=b._emscripten_bind_BroadPhaseCastResult_get_mFraction_0=a=>(Dd=b._emscripten_bind_BroadPhaseCastResult_get_mFraction_0= d.jb)(a),Ed=b._emscripten_bind_BroadPhaseCastResult_set_mFraction_1=(a,c)=>(Ed=b._emscripten_bind_BroadPhaseCastResult_set_mFraction_1=d.kb)(a,c),Fd=b._emscripten_bind_BroadPhaseCastResult___destroy___0=a=>(Fd=b._emscripten_bind_BroadPhaseCastResult___destroy___0=d.lb)(a),Gd=b._emscripten_bind_ConvexShapeSettings_GetRefCount_0=a=>(Gd=b._emscripten_bind_ConvexShapeSettings_GetRefCount_0=d.mb)(a),Hd=b._emscripten_bind_ConvexShapeSettings_AddRef_0=a=>(Hd=b._emscripten_bind_ConvexShapeSettings_AddRef_0= d.nb)(a),Id=b._emscripten_bind_ConvexShapeSettings_Release_0=a=>(Id=b._emscripten_bind_ConvexShapeSettings_Release_0=d.ob)(a),Jd=b._emscripten_bind_ConvexShapeSettings_Create_0=a=>(Jd=b._emscripten_bind_ConvexShapeSettings_Create_0=d.pb)(a),Kd=b._emscripten_bind_ConvexShapeSettings_ClearCachedResult_0=a=>(Kd=b._emscripten_bind_ConvexShapeSettings_ClearCachedResult_0=d.qb)(a),Ld=b._emscripten_bind_ConvexShapeSettings_get_mMaterial_0=a=>(Ld=b._emscripten_bind_ConvexShapeSettings_get_mMaterial_0=d.rb)(a), Md=b._emscripten_bind_ConvexShapeSettings_set_mMaterial_1=(a,c)=>(Md=b._emscripten_bind_ConvexShapeSettings_set_mMaterial_1=d.sb)(a,c),Nd=b._emscripten_bind_ConvexShapeSettings_get_mDensity_0=a=>(Nd=b._emscripten_bind_ConvexShapeSettings_get_mDensity_0=d.tb)(a),Od=b._emscripten_bind_ConvexShapeSettings_set_mDensity_1=(a,c)=>(Od=b._emscripten_bind_ConvexShapeSettings_set_mDensity_1=d.ub)(a,c),Pd=b._emscripten_bind_ConvexShapeSettings_get_mUserData_0=a=>(Pd=b._emscripten_bind_ConvexShapeSettings_get_mUserData_0= d.vb)(a),Qd=b._emscripten_bind_ConvexShapeSettings_set_mUserData_1=(a,c,e)=>(Qd=b._emscripten_bind_ConvexShapeSettings_set_mUserData_1=d.wb)(a,c,e),Rd=b._emscripten_bind_ConvexShapeSettings___destroy___0=a=>(Rd=b._emscripten_bind_ConvexShapeSettings___destroy___0=d.xb)(a),Sd=b._emscripten_bind_ConvexShape_SetMaterial_1=(a,c)=>(Sd=b._emscripten_bind_ConvexShape_SetMaterial_1=d.yb)(a,c),Td=b._emscripten_bind_ConvexShape_GetDensity_0=a=>(Td=b._emscripten_bind_ConvexShape_GetDensity_0=d.zb)(a),Ud=b._emscripten_bind_ConvexShape_SetDensity_1= (a,c)=>(Ud=b._emscripten_bind_ConvexShape_SetDensity_1=d.Ab)(a,c),Vd=b._emscripten_bind_ConvexShape_GetRefCount_0=a=>(Vd=b._emscripten_bind_ConvexShape_GetRefCount_0=d.Bb)(a),Xd=b._emscripten_bind_ConvexShape_AddRef_0=a=>(Xd=b._emscripten_bind_ConvexShape_AddRef_0=d.Cb)(a),Yd=b._emscripten_bind_ConvexShape_Release_0=a=>(Yd=b._emscripten_bind_ConvexShape_Release_0=d.Db)(a),Zd=b._emscripten_bind_ConvexShape_GetType_0=a=>(Zd=b._emscripten_bind_ConvexShape_GetType_0=d.Eb)(a),$d=b._emscripten_bind_ConvexShape_GetSubType_0= a=>($d=b._emscripten_bind_ConvexShape_GetSubType_0=d.Fb)(a),ae=b._emscripten_bind_ConvexShape_MustBeStatic_0=a=>(ae=b._emscripten_bind_ConvexShape_MustBeStatic_0=d.Gb)(a),be=b._emscripten_bind_ConvexShape_GetLocalBounds_0=a=>(be=b._emscripten_bind_ConvexShape_GetLocalBounds_0=d.Hb)(a),ce=b._emscripten_bind_ConvexShape_GetWorldSpaceBounds_2=(a,c,e)=>(ce=b._emscripten_bind_ConvexShape_GetWorldSpaceBounds_2=d.Ib)(a,c,e),de=b._emscripten_bind_ConvexShape_GetCenterOfMass_0=a=>(de=b._emscripten_bind_ConvexShape_GetCenterOfMass_0= d.Jb)(a),ee=b._emscripten_bind_ConvexShape_GetUserData_0=a=>(ee=b._emscripten_bind_ConvexShape_GetUserData_0=d.Kb)(a),fe=b._emscripten_bind_ConvexShape_SetUserData_1=(a,c,e)=>(fe=b._emscripten_bind_ConvexShape_SetUserData_1=d.Lb)(a,c,e),ge=b._emscripten_bind_ConvexShape_GetSubShapeIDBitsRecursive_0=a=>(ge=b._emscripten_bind_ConvexShape_GetSubShapeIDBitsRecursive_0=d.Mb)(a),he=b._emscripten_bind_ConvexShape_GetInnerRadius_0=a=>(he=b._emscripten_bind_ConvexShape_GetInnerRadius_0=d.Nb)(a),ie=b._emscripten_bind_ConvexShape_GetMassProperties_0= a=>(ie=b._emscripten_bind_ConvexShape_GetMassProperties_0=d.Ob)(a),je=b._emscripten_bind_ConvexShape_GetLeafShape_2=(a,c,e)=>(je=b._emscripten_bind_ConvexShape_GetLeafShape_2=d.Pb)(a,c,e),ke=b._emscripten_bind_ConvexShape_GetMaterial_1=(a,c)=>(ke=b._emscripten_bind_ConvexShape_GetMaterial_1=d.Qb)(a,c),le=b._emscripten_bind_ConvexShape_GetSurfaceNormal_2=(a,c,e)=>(le=b._emscripten_bind_ConvexShape_GetSurfaceNormal_2=d.Rb)(a,c,e),me=b._emscripten_bind_ConvexShape_GetSubShapeUserData_1=(a,c)=>(me=b._emscripten_bind_ConvexShape_GetSubShapeUserData_1= d.Sb)(a,c),ne=b._emscripten_bind_ConvexShape_GetSubShapeTransformedShape_5=(a,c,e,f,h,k)=>(ne=b._emscripten_bind_ConvexShape_GetSubShapeTransformedShape_5=d.Tb)(a,c,e,f,h,k),oe=b._emscripten_bind_ConvexShape_GetVolume_0=a=>(oe=b._emscripten_bind_ConvexShape_GetVolume_0=d.Ub)(a),pe=b._emscripten_bind_ConvexShape_IsValidScale_1=(a,c)=>(pe=b._emscripten_bind_ConvexShape_IsValidScale_1=d.Vb)(a,c),qe=b._emscripten_bind_ConvexShape_MakeScaleValid_1=(a,c)=>(qe=b._emscripten_bind_ConvexShape_MakeScaleValid_1= d.Wb)(a,c),re=b._emscripten_bind_ConvexShape_ScaleShape_1=(a,c)=>(re=b._emscripten_bind_ConvexShape_ScaleShape_1=d.Xb)(a,c),se=b._emscripten_bind_ConvexShape___destroy___0=a=>(se=b._emscripten_bind_ConvexShape___destroy___0=d.Yb)(a),te=b._emscripten_bind_CompoundShapeSettings_AddShape_4=(a,c,e,f,h)=>(te=b._emscripten_bind_CompoundShapeSettings_AddShape_4=d.Zb)(a,c,e,f,h),ue=b._emscripten_bind_CompoundShapeSettings_AddShapeShapeSettings_4=(a,c,e,f,h)=>(ue=b._emscripten_bind_CompoundShapeSettings_AddShapeShapeSettings_4= d._b)(a,c,e,f,h),ve=b._emscripten_bind_CompoundShapeSettings_AddShapeShape_4=(a,c,e,f,h)=>(ve=b._emscripten_bind_CompoundShapeSettings_AddShapeShape_4=d.$b)(a,c,e,f,h),we=b._emscripten_bind_CompoundShapeSettings_GetRefCount_0=a=>(we=b._emscripten_bind_CompoundShapeSettings_GetRefCount_0=d.ac)(a),xe=b._emscripten_bind_CompoundShapeSettings_AddRef_0=a=>(xe=b._emscripten_bind_CompoundShapeSettings_AddRef_0=d.bc)(a),ye=b._emscripten_bind_CompoundShapeSettings_Release_0=a=>(ye=b._emscripten_bind_CompoundShapeSettings_Release_0= d.cc)(a),ze=b._emscripten_bind_CompoundShapeSettings_Create_0=a=>(ze=b._emscripten_bind_CompoundShapeSettings_Create_0=d.dc)(a),Ae=b._emscripten_bind_CompoundShapeSettings_ClearCachedResult_0=a=>(Ae=b._emscripten_bind_CompoundShapeSettings_ClearCachedResult_0=d.ec)(a),Be=b._emscripten_bind_CompoundShapeSettings_get_mUserData_0=a=>(Be=b._emscripten_bind_CompoundShapeSettings_get_mUserData_0=d.fc)(a),Ce=b._emscripten_bind_CompoundShapeSettings_set_mUserData_1=(a,c,e)=>(Ce=b._emscripten_bind_CompoundShapeSettings_set_mUserData_1= d.gc)(a,c,e),De=b._emscripten_bind_CompoundShapeSettings___destroy___0=a=>(De=b._emscripten_bind_CompoundShapeSettings___destroy___0=d.hc)(a),Ee=b._emscripten_bind_CompoundShape_GetNumSubShapes_0=a=>(Ee=b._emscripten_bind_CompoundShape_GetNumSubShapes_0=d.ic)(a),Fe=b._emscripten_bind_CompoundShape_GetSubShape_1=(a,c)=>(Fe=b._emscripten_bind_CompoundShape_GetSubShape_1=d.jc)(a,c),Ge=b._emscripten_bind_CompoundShape_GetRefCount_0=a=>(Ge=b._emscripten_bind_CompoundShape_GetRefCount_0=d.kc)(a),He=b._emscripten_bind_CompoundShape_AddRef_0= a=>(He=b._emscripten_bind_CompoundShape_AddRef_0=d.lc)(a),Ie=b._emscripten_bind_CompoundShape_Release_0=a=>(Ie=b._emscripten_bind_CompoundShape_Release_0=d.mc)(a),Je=b._emscripten_bind_CompoundShape_GetType_0=a=>(Je=b._emscripten_bind_CompoundShape_GetType_0=d.nc)(a),Ke=b._emscripten_bind_CompoundShape_GetSubType_0=a=>(Ke=b._emscripten_bind_CompoundShape_GetSubType_0=d.oc)(a),Le=b._emscripten_bind_CompoundShape_MustBeStatic_0=a=>(Le=b._emscripten_bind_CompoundShape_MustBeStatic_0=d.pc)(a),Me=b._emscripten_bind_CompoundShape_GetLocalBounds_0= a=>(Me=b._emscripten_bind_CompoundShape_GetLocalBounds_0=d.qc)(a),Ne=b._emscripten_bind_CompoundShape_GetWorldSpaceBounds_2=(a,c,e)=>(Ne=b._emscripten_bind_CompoundShape_GetWorldSpaceBounds_2=d.rc)(a,c,e),Oe=b._emscripten_bind_CompoundShape_GetCenterOfMass_0=a=>(Oe=b._emscripten_bind_CompoundShape_GetCenterOfMass_0=d.sc)(a),Pe=b._emscripten_bind_CompoundShape_GetUserData_0=a=>(Pe=b._emscripten_bind_CompoundShape_GetUserData_0=d.tc)(a),Qe=b._emscripten_bind_CompoundShape_SetUserData_1=(a,c,e)=>(Qe= b._emscripten_bind_CompoundShape_SetUserData_1=d.uc)(a,c,e),Re=b._emscripten_bind_CompoundShape_GetSubShapeIDBitsRecursive_0=a=>(Re=b._emscripten_bind_CompoundShape_GetSubShapeIDBitsRecursive_0=d.vc)(a),Se=b._emscripten_bind_CompoundShape_GetInnerRadius_0=a=>(Se=b._emscripten_bind_CompoundShape_GetInnerRadius_0=d.wc)(a),Te=b._emscripten_bind_CompoundShape_GetMassProperties_0=a=>(Te=b._emscripten_bind_CompoundShape_GetMassProperties_0=d.xc)(a),Ue=b._emscripten_bind_CompoundShape_GetLeafShape_2=(a, c,e)=>(Ue=b._emscripten_bind_CompoundShape_GetLeafShape_2=d.yc)(a,c,e),Ve=b._emscripten_bind_CompoundShape_GetMaterial_1=(a,c)=>(Ve=b._emscripten_bind_CompoundShape_GetMaterial_1=d.zc)(a,c),We=b._emscripten_bind_CompoundShape_GetSurfaceNormal_2=(a,c,e)=>(We=b._emscripten_bind_CompoundShape_GetSurfaceNormal_2=d.Ac)(a,c,e),Xe=b._emscripten_bind_CompoundShape_GetSubShapeUserData_1=(a,c)=>(Xe=b._emscripten_bind_CompoundShape_GetSubShapeUserData_1=d.Bc)(a,c),Ye=b._emscripten_bind_CompoundShape_GetSubShapeTransformedShape_5= (a,c,e,f,h,k)=>(Ye=b._emscripten_bind_CompoundShape_GetSubShapeTransformedShape_5=d.Cc)(a,c,e,f,h,k),Ze=b._emscripten_bind_CompoundShape_GetVolume_0=a=>(Ze=b._emscripten_bind_CompoundShape_GetVolume_0=d.Dc)(a),$e=b._emscripten_bind_CompoundShape_IsValidScale_1=(a,c)=>($e=b._emscripten_bind_CompoundShape_IsValidScale_1=d.Ec)(a,c),af=b._emscripten_bind_CompoundShape_MakeScaleValid_1=(a,c)=>(af=b._emscripten_bind_CompoundShape_MakeScaleValid_1=d.Fc)(a,c),bf=b._emscripten_bind_CompoundShape_ScaleShape_1= (a,c)=>(bf=b._emscripten_bind_CompoundShape_ScaleShape_1=d.Gc)(a,c),cf=b._emscripten_bind_CompoundShape___destroy___0=a=>(cf=b._emscripten_bind_CompoundShape___destroy___0=d.Hc)(a),df=b._emscripten_bind_DecoratedShapeSettings_GetRefCount_0=a=>(df=b._emscripten_bind_DecoratedShapeSettings_GetRefCount_0=d.Ic)(a),ef=b._emscripten_bind_DecoratedShapeSettings_AddRef_0=a=>(ef=b._emscripten_bind_DecoratedShapeSettings_AddRef_0=d.Jc)(a),ff=b._emscripten_bind_DecoratedShapeSettings_Release_0=a=>(ff=b._emscripten_bind_DecoratedShapeSettings_Release_0= d.Kc)(a),gf=b._emscripten_bind_DecoratedShapeSettings_Create_0=a=>(gf=b._emscripten_bind_DecoratedShapeSettings_Create_0=d.Lc)(a),hf=b._emscripten_bind_DecoratedShapeSettings_ClearCachedResult_0=a=>(hf=b._emscripten_bind_DecoratedShapeSettings_ClearCachedResult_0=d.Mc)(a),jf=b._emscripten_bind_DecoratedShapeSettings_get_mUserData_0=a=>(jf=b._emscripten_bind_DecoratedShapeSettings_get_mUserData_0=d.Nc)(a),kf=b._emscripten_bind_DecoratedShapeSettings_set_mUserData_1=(a,c,e)=>(kf=b._emscripten_bind_DecoratedShapeSettings_set_mUserData_1= d.Oc)(a,c,e),lf=b._emscripten_bind_DecoratedShapeSettings___destroy___0=a=>(lf=b._emscripten_bind_DecoratedShapeSettings___destroy___0=d.Pc)(a),mf=b._emscripten_bind_DecoratedShape_GetInnerShape_0=a=>(mf=b._emscripten_bind_DecoratedShape_GetInnerShape_0=d.Qc)(a),nf=b._emscripten_bind_DecoratedShape_GetRefCount_0=a=>(nf=b._emscripten_bind_DecoratedShape_GetRefCount_0=d.Rc)(a),of=b._emscripten_bind_DecoratedShape_AddRef_0=a=>(of=b._emscripten_bind_DecoratedShape_AddRef_0=d.Sc)(a),pf=b._emscripten_bind_DecoratedShape_Release_0= a=>(pf=b._emscripten_bind_DecoratedShape_Release_0=d.Tc)(a),qf=b._emscripten_bind_DecoratedShape_GetType_0=a=>(qf=b._emscripten_bind_DecoratedShape_GetType_0=d.Uc)(a),rf=b._emscripten_bind_DecoratedShape_GetSubType_0=a=>(rf=b._emscripten_bind_DecoratedShape_GetSubType_0=d.Vc)(a),sf=b._emscripten_bind_DecoratedShape_MustBeStatic_0=a=>(sf=b._emscripten_bind_DecoratedShape_MustBeStatic_0=d.Wc)(a),tf=b._emscripten_bind_DecoratedShape_GetLocalBounds_0=a=>(tf=b._emscripten_bind_DecoratedShape_GetLocalBounds_0= d.Xc)(a),uf=b._emscripten_bind_DecoratedShape_GetWorldSpaceBounds_2=(a,c,e)=>(uf=b._emscripten_bind_DecoratedShape_GetWorldSpaceBounds_2=d.Yc)(a,c,e),vf=b._emscripten_bind_DecoratedShape_GetCenterOfMass_0=a=>(vf=b._emscripten_bind_DecoratedShape_GetCenterOfMass_0=d.Zc)(a),wf=b._emscripten_bind_DecoratedShape_GetUserData_0=a=>(wf=b._emscripten_bind_DecoratedShape_GetUserData_0=d._c)(a),xf=b._emscripten_bind_DecoratedShape_SetUserData_1=(a,c,e)=>(xf=b._emscripten_bind_DecoratedShape_SetUserData_1=d.$c)(a, c,e),yf=b._emscripten_bind_DecoratedShape_GetSubShapeIDBitsRecursive_0=a=>(yf=b._emscripten_bind_DecoratedShape_GetSubShapeIDBitsRecursive_0=d.ad)(a),zf=b._emscripten_bind_DecoratedShape_GetInnerRadius_0=a=>(zf=b._emscripten_bind_Decorated