1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347],{58630:(t,e,r)=>{r.d(e,{AA:()=>R,I9:()=>l,IU:()=>m,PT:()=>u,Pq:()=>y,uq:()=>c});var i=r(48482),s=r(13228),o=r(12549),a=r(31170),n=r(69102),h=r(73110);let _=t=>parseInt(t.toString().replace(/\W/g,""));class l{constructor(t=0,e=0){this.x=t,this.y=e}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let t=_(this.x),e=_(this.y),r=t;return 397*r^e}toArray(t,e=0){return t[e]=this.x,t[e+1]=this.y,this}fromArray(t,e=0){return l.FromArrayToRef(t,e,this),this}asArray(){return[this.x,this.y]}copyFrom(t){return this.x=t.x,this.y=t.y,this}copyFromFloats(t,e){return this.x=t,this.y=e,this}set(t,e){return this.copyFromFloats(t,e)}setAll(t){return this.copyFromFloats(t,t)}add(t){return new l(this.x+t.x,this.y+t.y)}addToRef(t,e){return e.x=this.x+t.x,e.y=this.y+t.y,e}addInPlace(t){return this.x+=t.x,this.y+=t.y,this}addInPlaceFromFloats(t,e){return this.x+=t,this.y+=e,this}addVector3(t){return new l(this.x+t.x,this.y+t.y)}subtract(t){return new l(this.x-t.x,this.y-t.y)}subtractToRef(t,e){return e.x=this.x-t.x,e.y=this.y-t.y,e}subtractInPlace(t){return this.x-=t.x,this.y-=t.y,this}multiplyInPlace(t){return this.x*=t.x,this.y*=t.y,this}multiply(t){return new l(this.x*t.x,this.y*t.y)}multiplyToRef(t,e){return e.x=this.x*t.x,e.y=this.y*t.y,e}multiplyByFloats(t,e){return new l(this.x*t,this.y*e)}divide(t){return new l(this.x/t.x,this.y/t.y)}divideToRef(t,e){return e.x=this.x/t.x,e.y=this.y/t.y,e}divideInPlace(t){return this.x=this.x/t.x,this.y=this.y/t.y,this}minimizeInPlace(t){return this.minimizeInPlaceFromFloats(t.x,t.y)}maximizeInPlace(t){return this.maximizeInPlaceFromFloats(t.x,t.y)}minimizeInPlaceFromFloats(t,e){return this.x=Math.min(t,this.x),this.y=Math.min(e,this.y),this}maximizeInPlaceFromFloats(t,e){return this.x=Math.max(t,this.x),this.y=Math.max(e,this.y),this}subtractFromFloats(t,e){return new l(this.x-t,this.y-e)}subtractFromFloatsToRef(t,e,r){return r.x=this.x-t,r.y=this.y-e,r}negate(){return new l(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(t){return t.x=-this.x,t.y=-this.y,t}scaleInPlace(t){return this.x*=t,this.y*=t,this}scale(t){return new l(this.x*t,this.y*t)}scaleToRef(t,e){return e.x=this.x*t,e.y=this.y*t,e}scaleAndAddToRef(t,e){return e.x+=this.x*t,e.y+=this.y*t,e}equals(t){return t&&this.x===t.x&&this.y===t.y}equalsWithEpsilon(t,e=i.bH){return t&&(0,h.WithinEpsilon)(this.x,t.x,e)&&(0,h.WithinEpsilon)(this.y,t.y,e)}equalsToFloats(t,e){return this.x===t&&this.y===e}floor(){return new l(Math.floor(this.x),Math.floor(this.y))}floorToRef(t){return t.x=Math.floor(this.x),t.y=Math.floor(this.y),t}fract(){return new l(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}fractToRef(t){return t.x=this.x-Math.floor(this.x),t.y=this.y-Math.floor(this.y),t}rotateToRef(t,e){let r=Math.cos(t),i=Math.sin(t),s=r*this.x-i*this.y,o=i*this.x+r*this.y;return e.x=s,e.y=o,e}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return this.normalizeFromLength(this.length())}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){let t=new l;return this.normalizeToRef(t),t}normalizeToRef(t){let e=this.length();return 0===e&&(t.x=this.x,t.y=this.y),this.scaleToRef(1/e,t)}clone(){return new l(this.x,this.y)}dot(t){return this.x*t.x+this.y*t.y}static Zero(){return new l(0,0)}static One(){return new l(1,1)}static Random(t=0,e=1){return new l((0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.copyFromFloats((0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e))}static get ZeroReadOnly(){return l._ZeroReadOnly}static FromArray(t,e=0){return new l(t[e],t[e+1])}static FromArrayToRef(t,e,r){return r.x=t[e],r.y=t[e+1],r}static FromFloatsToRef(t,e,r){return r.copyFromFloats(t,e),r}static CatmullRom(t,e,r,i,s){let o=s*s,a=s*o;return new l(.5*(2*e.x+(-t.x+r.x)*s+(2*t.x-5*e.x+4*r.x-i.x)*o+(-t.x+3*e.x-3*r.x+i.x)*a),.5*(2*e.y+(-t.y+r.y)*s+(2*t.y-5*e.y+4*r.y-i.y)*o+(-t.y+3*e.y-3*r.y+i.y)*a))}static ClampToRef(t,e,r,i){return i.x=(0,h.Clamp)(t.x,e.x,r.x),i.y=(0,h.Clamp)(t.y,e.y,r.y),i}static Clamp(t,e,r){return new l((0,h.Clamp)(t.x,e.x,r.x),(0,h.Clamp)(t.y,e.y,r.y))}static Hermite(t,e,r,i,s){let o=s*s,a=s*o,n=2*a-3*o+1,h=-2*a+3*o,_=a-2*o+s,y=a-o;return new l(t.x*n+r.x*h+e.x*_+i.x*y,t.y*n+r.y*h+e.y*_+i.y*y)}static Hermite1stDerivative(t,e,r,i,s){return this.Hermite1stDerivativeToRef(t,e,r,i,s,new l)}static Hermite1stDerivativeToRef(t,e,r,i,s,o){let a=s*s;return o.x=(a-s)*6*t.x+(3*a-4*s+1)*e.x+(-a+s)*6*r.x+(3*a-2*s)*i.x,o.y=(a-s)*6*t.y+(3*a-4*s+1)*e.y+(-a+s)*6*r.y+(3*a-2*s)*i.y,o}static Lerp(t,e,r){return l.LerpToRef(t,e,r,new l)}static LerpToRef(t,e,r,i){return i.x=t.x+(e.x-t.x)*r,i.y=t.y+(e.y-t.y)*r,i}static Dot(t,e){return t.x*e.x+t.y*e.y}static Normalize(t){return l.NormalizeToRef(t,new l)}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}
1static Minimize(t,e){return new l(t.x<e.x?t.x:e.x,t.y<e.y?t.y:e.y)}static Maximize(t,e){return new l(t.x>e.x?t.x:e.x,t.y>e.y?t.y:e.y)}static Transform(t,e){return l.TransformToRef(t,e,new l)}static TransformToRef(t,e,r){let i=e.m,s=t.x*i[0]+t.y*i[4]+i[12],o=t.x*i[1]+t.y*i[5]+i[13];return r.x=s,r.y=o,r}static PointInTriangle(t,e,r,i){let s=.5*(-r.y*i.x+e.y*(-r.x+i.x)+e.x*(r.y-i.y)+r.x*i.y),o=s<0?-1:1,a=(e.y*i.x-e.x*i.y+(i.y-e.y)*t.x+(e.x-i.x)*t.y)*o,n=(e.x*r.y-e.y*r.x+(e.y-r.y)*t.x+(r.x-e.x)*t.y)*o;return a>0&&n>0&&a+n<2*s*o}static Distance(t,e){return Math.sqrt(l.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t.x-e.x,i=t.y-e.y;return r*r+i*i}static Center(t,e){return l.CenterToRef(t,e,new l)}static CenterToRef(t,e,r){return r.copyFromFloats((t.x+e.x)/2,(t.y+e.y)/2)}static DistanceOfPointFromSegment(t,e,r){let i=l.DistanceSquared(e,r);if(0===i)return l.Distance(t,e);let s=r.subtract(e),o=Math.max(0,Math.min(1,l.Dot(t.subtract(e),s)/i)),a=e.add(s.multiplyByFloats(o,o));return l.Distance(t,a)}}l._V8PerformanceHack=new l(.5,.5),l._ZeroReadOnly=l.Zero(),Object.defineProperties(l.prototype,{dimension:{value:[2]},rank:{value:1}});class y{get x(){return this._x}set x(t){this._x=t,this._isDirty=!0}get y(){return this._y}set y(t){this._y=t,this._isDirty=!0}get z(){return this._z}set z(t){this._z=t,this._isDirty=!0}constructor(t=0,e=0,r=0){this._isDirty=!0,this._x=t,this._y=e,this._z=r}toString(){return`{X: ${this._x} Y: ${this._y} Z: ${this._z}}`}getClassName(){return"Vector3"}getHashCode(){let t=_(this._x),e=_(this._y),r=_(this._z),i=t;return 397*(i=397*i^e)^r}asArray(){return[this._x,this._y,this._z]}toArray(t,e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,this}fromArray(t,e=0){return y.FromArrayToRef(t,e,this),this}toQuaternion(){return u.RotationYawPitchRoll(this._y,this._x,this._z)}addInPlace(t){return this._x+=t._x,this._y+=t._y,this._z+=t._z,this._isDirty=!0,this}addInPlaceFromFloats(t,e,r){return this._x+=t,this._y+=e,this._z+=r,this._isDirty=!0,this}add(t){return new y(this._x+t._x,this._y+t._y,this._z+t._z)}addToRef(t,e){return e._x=this._x+t._x,e._y=this._y+t._y,e._z=this._z+t._z,e._isDirty=!0,e}subtractInPlace(t){return this._x-=t._x,this._y-=t._y,this._z-=t._z,this._isDirty=!0,this}subtract(t){return new y(this._x-t._x,this._y-t._y,this._z-t._z)}subtractToRef(t,e){return this.subtractFromFloatsToRef(t._x,t._y,t._z,e)}subtractFromFloats(t,e,r){return new y(this._x-t,this._y-e,this._z-r)}subtractFromFloatsToRef(t,e,r,i){return i._x=this._x-t,i._y=this._y-e,i._z=this._z-r,i._isDirty=!0,i}negate(){return new y(-this._x,-this._y,-this._z)}negateInPlace(){return this._x*=-1,this._y*=-1,this._z*=-1,this._isDirty=!0,this}negateToRef(t){return t._x=-1*this._x,t._y=-1*this._y,t._z=-1*this._z,t._isDirty=!0,t}scaleInPlace(t){return this._x*=t,this._y*=t,this._z*=t,this._isDirty=!0,this}scale(t){return new y(this._x*t,this._y*t,this._z*t)}scaleToRef(t,e){return e._x=this._x*t,e._y=this._y*t,e._z=this._z*t,e._isDirty=!0,e}getNormalToRef(t){let e=this.length(),r=Math.acos(this.y/e),i=Math.atan2(this.z,this.x);r>Math.PI/2?r-=Math.PI/2:r+=Math.PI/2;let s=e*Math.sin(r)*Math.cos(i),o=e*Math.cos(r),a=e*Math.sin(r)*Math.sin(i);return t.set(s,o,a),t}applyRotationQuaternionToRef(t,e){let r=this._x,i=this._y,s=this._z,o=t._x,a=t._y,n=t._z,h=t._w,_=2*(a*s-n*i),l=2*(n*r-o*s),y=2*(o*i-a*r);return e._x=r+h*_+a*y-n*l,e._y=i+h*l+n*_-o*y,e._z=s+h*y+o*l-a*_,e._isDirty=!0,e}applyRotationQuaternionInPlace(t){return this.applyRotationQuaternionToRef(t,this)}applyRotationQuaternion(t){return this.applyRotationQuaternionToRef(t,new y)}scaleAndAddToRef(t,e){return e._x+=this._x*t,e._y+=this._y*t,e._z+=this._z*t,e._isDirty=!0,e}projectOnPlane(t,e){return this.projectOnPlaneToRef(t,e,new y)}projectOnPlaneToRef(t,e,r){let i=t.normal,s=t.d,o=x.Vector3[0];this.subtractToRef(e,o),o.normalize();let a=y.Dot(o,i);if(1e-10>Math.abs(a))r.setAll(1/0);else{let t=-(y.Dot(e,i)+s)/a,n=o.scaleInPlace(t);e.addToRef(n,r)}return r}equals(t){return t&&this._x===t._x&&this._y===t._y&&this._z===t._z}equalsWithEpsilon(t,e=i.bH){return t&&(0,h.WithinEpsilon)(this._x,t._x,e)&&(0,h.WithinEpsilon)(this._y,t._y,e)&&(0,h.WithinEpsilon)(this._z,t._z,e)}
1equalsToFloats(t,e,r){return this._x===t&&this._y===e&&this._z===r}multiplyInPlace(t){return this._x*=t._x,this._y*=t._y,this._z*=t._z,this._isDirty=!0,this}multiply(t){return this.multiplyByFloats(t._x,t._y,t._z)}multiplyToRef(t,e){return e._x=this._x*t._x,e._y=this._y*t._y,e._z=this._z*t._z,e._isDirty=!0,e}multiplyByFloats(t,e,r){return new y(this._x*t,this._y*e,this._z*r)}divide(t){return new y(this._x/t._x,this._y/t._y,this._z/t._z)}divideToRef(t,e){return e._x=this._x/t._x,e._y=this._y/t._y,e._z=this._z/t._z,e._isDirty=!0,e}divideInPlace(t){return this._x=this._x/t._x,this._y=this._y/t._y,this._z=this._z/t._z,this._isDirty=!0,this}minimizeInPlace(t){return this.minimizeInPlaceFromFloats(t._x,t._y,t._z)}maximizeInPlace(t){return this.maximizeInPlaceFromFloats(t._x,t._y,t._z)}minimizeInPlaceFromFloats(t,e,r){return t<this._x&&(this.x=t),e<this._y&&(this.y=e),r<this._z&&(this.z=r),this}maximizeInPlaceFromFloats(t,e,r){return t>this._x&&(this.x=t),e>this._y&&(this.y=e),r>this._z&&(this.z=r),this}isNonUniformWithinEpsilon(t){let e=Math.abs(this._x),r=Math.abs(this._y);if(!(0,h.WithinEpsilon)(e,r,t))return!0;let i=Math.abs(this._z);return!((0,h.WithinEpsilon)(e,i,t)&&(0,h.WithinEpsilon)(r,i,t))}get isNonUniform(){let t=Math.abs(this._x);return t!==Math.abs(this._y)||t!==Math.abs(this._z)}floorToRef(t){return t._x=Math.floor(this._x),t._y=Math.floor(this._y),t._z=Math.floor(this._z),t._isDirty=!0,t}floor(){return new y(Math.floor(this.x),Math.floor(this.y),Math.floor(this.z))}fractToRef(t){return t._x=this.x-Math.floor(this._x),t._y=this.y-Math.floor(this._y),t._z=this.z-Math.floor(this._z),t._isDirty=!0,t}fract(){return new y(this.x-Math.floor(this._x),this.y-Math.floor(this._y),this.z-Math.floor(this._z))}length(){return Math.sqrt(this.lengthSquared())}lengthSquared(){return this._x*this._x+this._y*this._y+this._z*this._z}get hasAZeroComponent(){return this._x*this._y*this._z==0}normalize(){return this.normalizeFromLength(this.length())}reorderInPlace(t){if("xyz"===(t=t.toLowerCase()))return this;let e=x.Vector3[0].copyFrom(this);return this.x=e[t[0]],this.y=e[t[1]],this.z=e[t[2]],this}rotateByQuaternionToRef(t,e){return t.toRotationMatrix(x.Matrix[0]),y.TransformCoordinatesToRef(this,x.Matrix[0],e),e}rotateByQuaternionAroundPointToRef(t,e,r){return this.subtractToRef(e,x.Vector3[0]),x.Vector3[0].rotateByQuaternionToRef(t,x.Vector3[0]),e.addToRef(x.Vector3[0],r),r}cross(t){return y.CrossToRef(this,t,new y)}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){return this.normalizeToRef(new y)}normalizeToRef(t){let e=this.length();return 0===e||1===e?(t._x=this._x,t._y=this._y,t._z=this._z,t._isDirty=!0,t):this.scaleToRef(1/e,t)}clone(){return new y(this._x,this._y,this._z)}copyFrom(t){return this.copyFromFloats(t._x,t._y,t._z)}copyFromFloats(t,e,r){return this._x=t,this._y=e,this._z=r,this._isDirty=!0,this}set(t,e,r){return this.copyFromFloats(t,e,r)}setAll(t){return this._x=this._y=this._z=t,this._isDirty=!0,this}static GetClipFactor(t,e,r,i){let s=y.Dot(t,r);return(s-i)/(s-y.Dot(e,r))}static GetAngleBetweenVectors(t,e,r){let i=t.normalizeToRef(x.Vector3[1]),s=e.normalizeToRef(x.Vector3[2]),o=y.Dot(i,s),a=Math.acos(o=(0,h.Clamp)(o,-1,1)),n=x.Vector3[3];return(y.CrossToRef(i,s,n),y.Dot(n,r)>0)?isNaN(a)?0:a:isNaN(a)?-Math.PI:-Math.acos(o)}static GetAngleBetweenVectorsOnPlane(t,e,r){x.Vector3[0].copyFrom(t);let i=x.Vector3[0];x.Vector3[1].copyFrom(e);let s=x.Vector3[1];x.Vector3[2].copyFrom(r);let o=x.Vector3[2],a=x.Vector3[3],n=x.Vector3[4];i.normalize(),s.normalize(),o.normalize(),y.CrossToRef(o,i,a),y.CrossToRef(a,o,n);let _=Math.atan2(y.Dot(s,a),y.Dot(s,n));return(0,h.NormalizeRadians)(_)}static PitchYawRollToMoveBetweenPointsToRef(t,e,r){let i=R.Vector3[0];return e.subtractToRef(t,i),r._y=Math.atan2(i.x,i.z)||0,r._x=Math.atan2(Math.sqrt(i.x**2+i.z**2),i.y)||0,r._z=0,r._isDirty=!0,r}static PitchYawRollToMoveBetweenPoints(t,e){let r=y.Zero();return y.PitchYawRollToMoveBetweenPointsToRef(t,e,r)}static SlerpToRef(t,e,r,s){let o,a;r=(0,h.Clamp)(r,0,1);let n=x.Vector3[0],_=x.Vector3[1];n.copyFrom(t);let l=n.length();n.normalizeFromLength(l),_.copyFrom(e);let m=_.length();_.normalizeFromLength(m);let u=y.Dot(n,_);if(u<1-i.bH){let t=Math.acos(u),e=1/Math.sin(t);o=Math.sin((1-r)*t)*e,a=Math.sin(r*t)*e}else o=1-r,a=r;return n.scaleInPlace(o),_.scaleInPlace(a),s.copyFrom(n).addInPlace(_),s.scaleInPlace((0,h.Lerp)(l,m,r)),s}static SmoothToRef(t,e,r,i,s){return y.SlerpToRef(t,e,0===i?1:r/i,s),s}static FromArray(t,e=0){return new y(t[e],t[e+1],t[e+2])}static FromFloatArray(t,e){return y.FromArray(t,e)}static FromArrayToRef(t,e,r){return r._x=t[e],r._y=t[e+1],r._z=t[e+2],r._isDirty=!0,r}static FromFloatArrayToRef(t,e,r){return y.FromArrayToRef(t,e,r)}static FromFloatsToRef(t,e,r,i){return i.copyFromFloats(t,e,r),i}static Zero(){return new y(0,0,0)}static One(){return new y(1,1,1)}
1static Up(){return new y(0,1,0)}static get UpReadOnly(){return y._UpReadOnly}static get DownReadOnly(){return y._DownReadOnly}static get RightReadOnly(){return y._RightReadOnly}static get LeftReadOnly(){return y._LeftReadOnly}static get LeftHandedForwardReadOnly(){return y._LeftHandedForwardReadOnly}static get RightHandedForwardReadOnly(){return y._RightHandedForwardReadOnly}static get LeftHandedBackwardReadOnly(){return y._LeftHandedBackwardReadOnly}static get RightHandedBackwardReadOnly(){return y._RightHandedBackwardReadOnly}static get ZeroReadOnly(){return y._ZeroReadOnly}static get OneReadOnly(){return y._OneReadOnly}static Down(){return new y(0,-1,0)}static Forward(t=!1){return new y(0,0,t?-1:1)}static Backward(t=!1){return new y(0,0,t?1:-1)}static Right(){return new y(1,0,0)}static Left(){return new y(-1,0,0)}static Random(t=0,e=1){return new y((0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.copyFromFloats((0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e))}static TransformCoordinates(t,e){let r=y.Zero();return y.TransformCoordinatesToRef(t,e,r),r}static TransformCoordinatesToRef(t,e,r){return y.TransformCoordinatesFromFloatsToRef(t._x,t._y,t._z,e,r),r}static TransformCoordinatesFromFloatsToRef(t,e,r,i,s){let o=i.m,a=t*o[0]+e*o[4]+r*o[8]+o[12],n=t*o[1]+e*o[5]+r*o[9]+o[13],h=t*o[2]+e*o[6]+r*o[10]+o[14],_=1/(t*o[3]+e*o[7]+r*o[11]+o[15]);return s._x=a*_,s._y=n*_,s._z=h*_,s._isDirty=!0,s}static TransformNormal(t,e){let r=y.Zero();return y.TransformNormalToRef(t,e,r),r}static TransformNormalToRef(t,e,r){return this.TransformNormalFromFloatsToRef(t._x,t._y,t._z,e,r),r}static TransformNormalFromFloatsToRef(t,e,r,i,s){let o=i.m;return s._x=t*o[0]+e*o[4]+r*o[8],s._y=t*o[1]+e*o[5]+r*o[9],s._z=t*o[2]+e*o[6]+r*o[10],s._isDirty=!0,s}static CatmullRom(t,e,r,i,s){let o=s*s,a=s*o,n=.5*(2*e._x+(-t._x+r._x)*s+(2*t._x-5*e._x+4*r._x-i._x)*o+(-t._x+3*e._x-3*r._x+i._x)*a);return new y(n,.5*(2*e._y+(-t._y+r._y)*s+(2*t._y-5*e._y+4*r._y-i._y)*o+(-t._y+3*e._y-3*r._y+i._y)*a),.5*(2*e._z+(-t._z+r._z)*s+(2*t._z-5*e._z+4*r._z-i._z)*o+(-t._z+3*e._z-3*r._z+i._z)*a))}static Clamp(t,e,r){let i=new y;return y.ClampToRef(t,e,r,i),i}static ClampToRef(t,e,r,i){let s=t._x;s=(s=s>r._x?r._x:s)<e._x?e._x:s;let o=t._y;o=(o=o>r._y?r._y:o)<e._y?e._y:o;let a=t._z;return a=(a=a>r._z?r._z:a)<e._z?e._z:a,i.copyFromFloats(s,o,a),i}static CheckExtends(t,e,r){e.minimizeInPlace(t),r.maximizeInPlace(t)}static Hermite(t,e,r,i,s){let o=s*s,a=s*o,n=2*a-3*o+1,h=-2*a+3*o,_=a-2*o+s,l=a-o,m=t._x*n+r._x*h+e._x*_+i._x*l;return new y(m,t._y*n+r._y*h+e._y*_+i._y*l,t._z*n+r._z*h+e._z*_+i._z*l)}static Hermite1stDerivative(t,e,r,i,s){let o=new y;return this.Hermite1stDerivativeToRef(t,e,r,i,s,o),o}static Hermite1stDerivativeToRef(t,e,r,i,s,o){let a=s*s;return o._x=(a-s)*6*t._x+(3*a-4*s+1)*e._x+(-a+s)*6*r._x+(3*a-2*s)*i._x,o._y=(a-s)*6*t._y+(3*a-4*s+1)*e._y+(-a+s)*6*r._y+(3*a-2*s)*i._y,o._z=(a-s)*6*t._z+(3*a-4*s+1)*e._z+(-a+s)*6*r._z+(3*a-2*s)*i._z,o._isDirty=!0,o}static Lerp(t,e,r){let i=new y(0,0,0);return y.LerpToRef(t,e,r,i),i}static LerpToRef(t,e,r,i){return i._x=t._x+(e._x-t._x)*r,i._y=t._y+(e._y-t._y)*r,i._z=t._z+(e._z-t._z)*r,i._isDirty=!0,i}static Dot(t,e){return t._x*e._x+t._y*e._y+t._z*e._z}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z}static Cross(t,e){let r=new y;return y.CrossToRef(t,e,r),r}static CrossToRef(t,e,r){let i=t._y*e._z-t._z*e._y,s=t._z*e._x-t._x*e._z,o=t._x*e._y-t._y*e._x;return r.copyFromFloats(i,s,o),r}static Normalize(t){let e=y.Zero();return y.NormalizeToRef(t,e),e}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}static Project(t,e,r,i){let s=new y;return y.ProjectToRef(t,e,r,i,s),s}static ProjectToRef(t,e,r,i,s){let o=i.width,a=i.height,h=i.x,_=i.y,l=x.Matrix[1],m=n.q.LastCreatedEngine?.isNDCHalfZRange;c.FromValuesToRef(o/2,0,0,0,0,-a/2,0,0,0,0,m?1:.5,0,h+o/2,a/2+_,.5*!m,1,l);let u=x.Matrix[0];return e.multiplyToRef(r,u),u.multiplyToRef(l,u),y.TransformCoordinatesToRef(t,u,s),s}static Reflect(t,e){return this.ReflectToRef(t,e,new y)}static ReflectToRef(t,e,r){let i=R.Vector3[0];return i.copyFrom(e).scaleInPlace(2*y.Dot(t,e)),r.copyFrom(t).subtractInPlace(i)}static _UnprojectFromInvertedMatrixToRef(t,e,r){y.TransformCoordinatesToRef(t,e,r);let i=e.m,s=t._x*i[3]+t._y*i[7]+t._z*i[11]+i[15];return(0,h.WithinEpsilon)(s,1)&&r.scaleInPlace(1/s),r}static UnprojectFromTransform(t,e,r,i,s){return this.Unproject(t,e,r,i,s,c.IdentityReadOnly)}static Unproject(t,e,r,i,s,o){let a=new y;return y.UnprojectToRef(t,e,r,i,s,o,a),a}static UnprojectToRef(t,e,r,i,s,o,a){return y.UnprojectFloatsToRef(t._x,t._y,t._z,e,r,i,s,o,a),a}static UnprojectFloatsToRef(t,e,r,i,s,o,a,h,_){let l=x.Matrix[0];o.multiplyToRef(a,l),l.multiplyToRef(h,l),l.invert();let m=x.Vector3[0];return m.x=t/i*2-1,m.y=-(e/s*2-1),n.q.LastCreatedEngine?.isNDCHalfZRange?m.z=r:m.z=2*r-1,y._UnprojectFromInvertedMatrixToRef(m,l,_),_}
1static Minimize(t,e){let r=new y;return r.copyFrom(t),r.minimizeInPlace(e),r}static Maximize(t,e){let r=new y;return r.copyFrom(t),r.maximizeInPlace(e),r}static Distance(t,e){return Math.sqrt(y.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t._x-e._x,i=t._y-e._y,s=t._z-e._z;return r*r+i*i+s*s}static ProjectOnTriangleToRef(t,e,r,s,o){let a,n,_=x.Vector3[0],l=x.Vector3[1],m=x.Vector3[2],u=x.Vector3[3],c=x.Vector3[4];r.subtractToRef(e,_),s.subtractToRef(e,l),s.subtractToRef(r,m);let R=_.length(),f=l.length(),d=m.length();if(R<i.bH||f<i.bH||d<i.bH)return o.copyFrom(e),y.Distance(t,e);t.subtractToRef(e,c),y.CrossToRef(_,l,u);let z=u.length();if(z<i.bH)return o.copyFrom(e),y.Distance(t,e);u.normalizeFromLength(z);let T=c.length();if(T<i.bH)return o.copyFrom(e),0;c.normalizeFromLength(T);let w=y.Dot(u,c),p=x.Vector3[5],F=x.Vector3[6];p.copyFrom(u).scaleInPlace(-T*w),F.copyFrom(t).addInPlace(p);let M=x.Vector3[4],I=x.Vector3[5],g=x.Vector3[7],P=x.Vector3[8];M.copyFrom(_).scaleInPlace(1/R),P.copyFrom(l).scaleInPlace(1/f),M.addInPlace(P).scaleInPlace(-1),I.copyFrom(_).scaleInPlace(-1/R),P.copyFrom(m).scaleInPlace(1/d),I.addInPlace(P).scaleInPlace(-1),g.copyFrom(m).scaleInPlace(-1/d),P.copyFrom(l).scaleInPlace(-1/f),g.addInPlace(P).scaleInPlace(-1);let A=x.Vector3[9];A.copyFrom(F).subtractInPlace(e),y.CrossToRef(M,A,P);let D=y.Dot(P,u);A.copyFrom(F).subtractInPlace(r),y.CrossToRef(I,A,P);let C=y.Dot(P,u);A.copyFrom(F).subtractInPlace(s),y.CrossToRef(g,A,P);let V=y.Dot(P,u),k=x.Vector3[10];D>0&&C<0?(k.copyFrom(_),a=e,n=r):C>0&&V<0?(k.copyFrom(m),a=r,n=s):(k.copyFrom(l).scaleInPlace(-1),a=s,n=e);let H=x.Vector3[9],L=x.Vector3[4];if(a.subtractToRef(F,P),n.subtractToRef(F,H),y.CrossToRef(P,H,L),!(0>y.Dot(L,u)))return o.copyFrom(F),Math.abs(T*w);let O=x.Vector3[5];y.CrossToRef(k,L,O),O.normalize();let v=x.Vector3[9];v.copyFrom(a).subtractInPlace(F);let b=v.length();if(b<i.bH)return o.copyFrom(a),y.Distance(t,a);v.normalizeFromLength(b);let q=y.Dot(O,v),U=x.Vector3[7];U.copyFrom(F).addInPlace(O.scaleInPlace(b*q)),P.copyFrom(U).subtractInPlace(a),T=k.length(),k.normalizeFromLength(T);let S=y.Dot(P,k)/Math.max(T,i.bH);return S=(0,h.Clamp)(S,0,1),U.copyFrom(a).addInPlace(k.scaleInPlace(S*T)),o.copyFrom(U),y.Distance(t,U)}static Center(t,e){return y.CenterToRef(t,e,y.Zero())}static CenterToRef(t,e,r){return r.copyFromFloats((t._x+e._x)/2,(t._y+e._y)/2,(t._z+e._z)/2)}static RotationFromAxis(t,e,r){let i=new y;return y.RotationFromAxisToRef(t,e,r,i),i}static RotationFromAxisToRef(t,e,r,i){let s=x.Quaternion[0];return u.RotationQuaternionFromAxisToRef(t,e,r,s),s.toEulerAnglesToRef(i),i}}y._V8PerformanceHack=new y(.5,.5,.5),y._UpReadOnly=y.Up(),y._DownReadOnly=y.Down(),y._LeftHandedForwardReadOnly=y.Forward(!1),y._RightHandedForwardReadOnly=y.Forward(!0),y._LeftHandedBackwardReadOnly=y.Backward(!1),y._RightHandedBackwardReadOnly=y.Backward(!0),y._RightReadOnly=y.Right(),y._LeftReadOnly=y.Left(),y._ZeroReadOnly=y.Zero(),y._OneReadOnly=y.One(),Object.defineProperties(y.prototype,{dimension:{value:[3]},rank:{value:1}});class m{constructor(t=0,e=0,r=0,i=0){this.x=t,this.y=e,this.z=r,this.w=i}toString(){return`{X: ${this.x} Y: ${this.y} Z: ${this.z} W: ${this.w}}`}getClassName(){return"Vector4"}getHashCode(){let t=_(this.x),e=_(this.y),r=_(this.z),i=_(this.w),s=t;return 397*(s=397*(s=397*s^e)^r)^i}asArray(){return[this.x,this.y,this.z,this.w]}toArray(t,e){return void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,this}fromArray(t,e=0){return m.FromArrayToRef(t,e,this),this}addInPlace(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addInPlaceFromFloats(t,e,r,i){return this.x+=t,this.y+=e,this.z+=r,this.w+=i,this}add(t){return new m(this.x+t.x,this.y+t.y,this.z+t.z,this.w+t.w)}addToRef(t,e){return e.x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e.w=this.w+t.w,e}subtractInPlace(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subtract(t){return new m(this.x-t.x,this.y-t.y,this.z-t.z,this.w-t.w)}subtractToRef(t,e){return e.x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z,e.w=this.w-t.w,e}subtractFromFloats(t,e,r,i){return new m(this.x-t,this.y-e,this.z-r,this.w-i)}subtractFromFloatsToRef(t,e,r,i,s){return s.x=this.x-t,s.y=this.y-e,s.z=this.z-r,s.w=this.w-i,s}negate(){return new m(-this.x,-this.y,-this.z,-this.w)}negateInPlace(){return this.x*=-1,this.y*=-1,this.z*=-1,this.w*=-1,this}negateToRef(t){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=-this.w,t}scaleInPlace(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}scale(t){return new m(this.x*t,this.y*t,this.z*t,this.w*t)}scaleToRef(t,e){return e.x=this.x*t,e.y=this.y*t,e.z=this.z*t,e.w=this.w*t,e}scaleAndAddToRef(t,e){return e.x+=this.x*t,e.y+=this.y*t,e.z+=this.z*t,e.w+=this.w*t,e}equals(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w}equalsWithEpsilon(t,e=i.bH){return t&&(0,h.WithinEpsilon)(this.x,t.x,e)&&(0,h.WithinEpsilon)(this.y,t.y,e)&&(0,h.WithinEpsilon)(this.z,t.z,e)&&(0,h.WithinEpsilon)(this.w,t.w,e)}equalsToFloats(t,e,r,i){return this.x===t&&this.y===e&&this.z===r&&this.w===i}multiplyInPlace(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiply(t){return new m(this.x*t.x,this.y*t.y,this.z*t.z,this.w*t.w)}multiplyToRef(t,e){return e.x=this.x*t.x,e.y=this.y*t.y,e.z=this.z*t.z,e.w=this.w*t.w,e}multiplyByFloats(t,e,r,i){return new m(this.x*t,this.y*e,this.z*r,this.w*i)}divide(t){return new m(this.x/t.x,this.y/t.y,this.z/t.z,this.w/t.w)}divideToRef(t,e){return e.x=this.x/t.x,e.y=this.y/t.y,e.z=this.z/t.z,e.w=this.w/t.w,e}divideInPlace(t){return this.divideToRef(t,this)}minimizeInPlace(t){return t.x<this.x&&(this.x=t.x),t.y<this.y&&(this.y=t.y),t.z<this.z&&(this.z=t.z),t.w<this.w&&(this.w=t.w),this}maximizeInPlace(t){return t.x>this.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this}minimizeInPlaceFromFloats(t,e,r,i){return this.x=Math.min(t,this.x),this.y=Math.min(e,this.y),this.z=Math.min(r,this.z),this.w=Math.min(i,this.w),this}maximizeInPlaceFromFloats(t,e,r,i){return this.x=Math.max(t,this.x),this.y=Math.max(e,this.y),this.z=Math.max(r,this.z),this.w=Math.max(i,this.w),this}floorToRef(t){return t.x=Math.floor(this.x),t.y=Math.floor(this.y),t.z=Math.floor(this.z),t.w=Math.floor(this.w),t}floor(){return new m(Math.floor(this.x),Math.floor(this.y),Math.floor(this.z),Math.floor(this.w))}fractToRef(t){return t.x=this.x-Math.floor(this.x),t.y=this.y-Math.floor(this.y),t.z=this.z-Math.floor(this.z),t.w=this.w-Math.floor(this.w),t}fract(){return new m(this.x-Math.floor(this.x),this.y-Math.floor(this.y),this.z-Math.floor(this.z),this.w-Math.floor(this.w))}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}lengthSquared(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}normalize(){return this.normalizeFromLength(this.length())}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){return this.normalizeToRef(new m)}normalizeToRef(t){let e=this.length();return 0===e||1===e?(t.x=this.x,t.y=this.y,t.z=this.z,t.w=this.w,t):this.scaleToRef(1/e,t)}
1toVector3(){return new y(this.x,this.y,this.z)}clone(){return new m(this.x,this.y,this.z,this.w)}copyFrom(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}copyFromFloats(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this}set(t,e,r,i){return this.copyFromFloats(t,e,r,i)}setAll(t){return this.x=this.y=this.z=this.w=t,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}static FromArray(t,e){return e||(e=0),new m(t[e],t[e+1],t[e+2],t[e+3])}static FromArrayToRef(t,e,r){return r.x=t[e],r.y=t[e+1],r.z=t[e+2],r.w=t[e+3],r}static FromFloatArrayToRef(t,e,r){return m.FromArrayToRef(t,e,r),r}static FromFloatsToRef(t,e,r,i,s){return s.x=t,s.y=e,s.z=r,s.w=i,s}static Zero(){return new m(0,0,0,0)}static One(){return new m(1,1,1,1)}static Random(t=0,e=1){return new m((0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.x=(0,h.RandomRange)(t,e),r.y=(0,h.RandomRange)(t,e),r.z=(0,h.RandomRange)(t,e),r.w=(0,h.RandomRange)(t,e),r}static Clamp(t,e,r){return m.ClampToRef(t,e,r,new m)}static ClampToRef(t,e,r,i){return i.x=(0,h.Clamp)(t.x,e.x,r.x),i.y=(0,h.Clamp)(t.y,e.y,r.y),i.z=(0,h.Clamp)(t.z,e.z,r.z),i.w=(0,h.Clamp)(t.w,e.w,r.w),i}static CheckExtends(t,e,r){e.minimizeInPlace(t),r.maximizeInPlace(t)}static get ZeroReadOnly(){return m._ZeroReadOnly}static Normalize(t){return m.NormalizeToRef(t,new m)}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}static Minimize(t,e){let r=new m;return r.copyFrom(t),r.minimizeInPlace(e),r}static Maximize(t,e){let r=new m;return r.copyFrom(t),r.maximizeInPlace(e),r}static Distance(t,e){return Math.sqrt(m.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t.x-e.x,i=t.y-e.y,s=t.z-e.z,o=t.w-e.w;return r*r+i*i+s*s+o*o}static Center(t,e){return m.CenterToRef(t,e,new m)}static CenterToRef(t,e,r){return r.x=(t.x+e.x)/2,r.y=(t.y+e.y)/2,r.z=(t.z+e.z)/2,r.w=(t.w+e.w)/2,r}static TransformCoordinates(t,e){return m.TransformCoordinatesToRef(t,e,new m)}static TransformCoordinatesToRef(t,e,r){return m.TransformCoordinatesFromFloatsToRef(t._x,t._y,t._z,e,r),r}static TransformCoordinatesFromFloatsToRef(t,e,r,i,s){let o=i.m,a=t*o[0]+e*o[4]+r*o[8]+o[12],n=t*o[1]+e*o[5]+r*o[9]+o[13],h=t*o[2]+e*o[6]+r*o[10]+o[14],_=t*o[3]+e*o[7]+r*o[11]+o[15];return s.x=a,s.y=n,s.z=h,s.w=_,s}static TransformNormal(t,e){return m.TransformNormalToRef(t,e,new m)}static TransformNormalToRef(t,e,r){let i=e.m,s=t.x*i[0]+t.y*i[4]+t.z*i[8],o=t.x*i[1]+t.y*i[5]+t.z*i[9],a=t.x*i[2]+t.y*i[6]+t.z*i[10];return r.x=s,r.y=o,r.z=a,r.w=t.w,r}static TransformNormalFromFloatsToRef(t,e,r,i,s,o){let a=s.m;return o.x=t*a[0]+e*a[4]+r*a[8],o.y=t*a[1]+e*a[5]+r*a[9],o.z=t*a[2]+e*a[6]+r*a[10],o.w=i,o}static FromVector3(t,e=0){return new m(t._x,t._y,t._z,e)}static Dot(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w}}m._V8PerformanceHack=new m(.5,.5,.5,.5),m._ZeroReadOnly=m.Zero(),Object.defineProperties(m.prototype,{dimension:{value:[4]},rank:{value:1}});class u{get x(){return this._x}set x(t){this._x=t,this._isDirty=!0}get y(){return this._y}set y(t){this._y=t,this._isDirty=!0}get z(){return this._z}set z(t){this._z=t,this._isDirty=!0}get w(){return this._w}set w(t){this._w=t,this._isDirty=!0}constructor(t=0,e=0,r=0,i=1){this._isDirty=!0,this._x=t,this._y=e,this._z=r,this._w=i}toString(){return`{X: ${this._x} Y: ${this._y} Z: ${this._z} W: ${this._w}}`}getClassName(){return"Quaternion"}getHashCode(){let t=_(this._x),e=_(this._y),r=_(this._z),i=_(this._w),s=t;return 397*(s=397*(s=397*s^e)^r)^i}asArray(){return[this._x,this._y,this._z,this._w]}toArray(t,e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,this}fromArray(t,e=0){return u.FromArrayToRef(t,e,this)}equals(t){return t&&this._x===t._x&&this._y===t._y&&this._z===t._z&&this._w===t._w}equalsWithEpsilon(t,e=i.bH){return t&&(0,h.WithinEpsilon)(this._x,t._x,e)&&(0,h.WithinEpsilon)(this._y,t._y,e)&&(0,h.WithinEpsilon)(this._z,t._z,e)&&(0,h.WithinEpsilon)(this._w,t._w,e)}isApprox(t,e=i.bH){return t&&((0,h.WithinEpsilon)(this._x,t._x,e)&&(0,h.WithinEpsilon)(this._y,t._y,e)&&(0,h.WithinEpsilon)(this._z,t._z,e)&&(0,h.WithinEpsilon)(this._w,t._w,e)||(0,h.WithinEpsilon)(this._x,-t._x,e)&&(0,h.WithinEpsilon)(this._y,-t._y,e)&&(0,h.WithinEpsilon)(this._z,-t._z,e)&&(0,h.WithinEpsilon)(this._w,-t._w,e))}clone(){return new u(this._x,this._y,this._z,this._w)}copyFrom(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._w=t._w,this._isDirty=!0,this}copyFromFloats(t,e,r,i){return this._x=t,this._y=e,this._z=r,this._w=i,this._isDirty=!0,this}set(t,e,r,i){return this.copyFromFloats(t,e,r,i)}setAll(t){return this.copyFromFloats(t,t,t,t)}add(t){return new u(this._x+t._x,this._y+t._y,this._z+t._z,this._w+t._w)}addInPlace(t){return this._x+=t._x,this._y+=t._y,this._z+=t._z,this._w+=t._w,this._isDirty=!0,this}addToRef(t,e){return e._x=this._x+t._x,e._y=this._y+t._y,e._z=this._z+t._z,e._w=this._w+t._w,e._isDirty=!0,e}addInPlaceFromFloats(t,e,r,i){return this._x+=t,this._y+=e,this._z+=r,this._w+=i,this._isDirty=!0,this}subtractToRef(t,e){return e._x=this._x-t._x,e._y=this._y-t._y,e._z=this._z-t._z,e._w=this._w-t._w,e._isDirty=!0,e}subtractFromFloats(t,e,r,i){return this.subtractFromFloatsToRef(t,e,r,i,new u)}subtractFromFloatsToRef(t,e,r,i,s){return s._x=this._x-t,s._y=this._y-e,s._z=this._z-r,s._w=this._w-i,s._isDirty=!0,s}subtract(t){return new u(this._x-t._x,this._y-t._y,this._z-t._z,this._w-t._w)}subtractInPlace(t){return this._x-=t._x,this._y-=t._y,this._z-=t._z,this._w-=t._w,this._isDirty=!0,this}scale(t){return new u(this._x*t,this._y*t,this._z*t,this._w*t)}scaleToRef(t,e){return e._x=this._x*t,e._y=this._y*t,e._z=this._z*t,e._w=this._w*t,e._isDirty=!0,e}scaleInPlace(t){return this._x*=t,this._y*=t,this._z*=t,this._w*=t,this._isDirty=!0,this}scaleAndAddToRef(t,e){return e._x+=this._x*t,e._y+=this._y*t,e._z+=this._z*t,e._w+=this._w*t,e._isDirty=!0,e}multiply(t){let e=new u(0,0,0,1);return this.multiplyToRef(t,e),e}multiplyToRef(t,e){let r=this._x*t._w+this._y*t._z-this._z*t._y+this._w*t._x,i=-this._x*t._z+this._y*t._w+this._z*t._x+this._w*t._y,s=this._x*t._y-this._y*t._x+this._z*t._w+this._w*t._z,o=-this._x*t._x-this._y*t._y-this._z*t._z+this._w*t._w;return e.copyFromFloats(r,i,s,o),e}multiplyInPlace(t){return this.multiplyToRef(t,this)}multiplyByFloats(t,e,r,i){return this._x*=t,this._y*=e,this._z*=r,this._w*=i,this._isDirty=!0,this}divide(t){throw ReferenceError("Can not divide a quaternion")}divideToRef(t,e){throw ReferenceError("Can not divide a quaternion")}divideInPlace(t){throw ReferenceError("Can not divide a quaternion")}minimizeInPlace(){throw ReferenceError("Can not minimize a quaternion")}minimizeInPlaceFromFloats(){throw ReferenceError("Can not minimize a quaternion")}maximizeInPlace(){throw ReferenceError("Can not maximize a quaternion")}maximizeInPlaceFromFloats(){throw ReferenceError("Can not maximize a quaternion")}negate(){return this.negateToRef(new u)}negateInPlace(){return this._x=-this._x,this._y=-this._y,this._z=-this._z,this._w=-this._w,this._isDirty=!0,this}negateToRef(t){return t._x=-this._x,t._y=-this._y,t._z=-this._z,t._w=-this._w,t._isDirty=!0,t}equalsToFloats(t,e,r,i){return this._x===t&&this._y===e&&this._z===r&&this._w===i}floorToRef(t){throw ReferenceError("Can not floor a quaternion")}floor(){throw ReferenceError("Can not floor a quaternion")}fractToRef(t){throw ReferenceError("Can not fract a quaternion")}fract(){throw ReferenceError("Can not fract a quaternion")}conjugateToRef(t){return t.copyFromFloats(-this._x,-this._y,-this._z,this._w),t}
1conjugateInPlace(){return this._x*=-1,this._y*=-1,this._z*=-1,this._isDirty=!0,this}conjugate(){return new u(-this._x,-this._y,-this._z,this._w)}invert(){let t=this.conjugate(),e=this.lengthSquared();return 0==e||1==e||t.scaleInPlace(1/e),t}invertInPlace(){this.conjugateInPlace();let t=this.lengthSquared();return 0==t||1==t||this.scaleInPlace(1/t),this}lengthSquared(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this.lengthSquared())}normalize(){return this.normalizeFromLength(this.length())}normalizeFromLength(t){return 0===t||1===t?this:this.scaleInPlace(1/t)}normalizeToNew(){let t=new u(0,0,0,1);return this.normalizeToRef(t),t}normalizeToRef(t){let e=this.length();return 0===e||1===e?t.copyFromFloats(this._x,this._y,this._z,this._w):this.scaleToRef(1/e,t)}toEulerAngles(){let t=y.Zero();return this.toEulerAnglesToRef(t),t}toEulerAnglesToRef(t){let e=this._z,r=this._x,i=this._y,s=this._w,o=i*e-r*s;if(o<-.4999999)t._y=2*Math.atan2(i,s),t._x=Math.PI/2,t._z=0,t._isDirty=!0;else if(o>.4999999)t._y=2*Math.atan2(i,s),t._x=-Math.PI/2,t._z=0,t._isDirty=!0;else{let a=s*s,n=e*e,h=r*r,_=i*i;t._z=Math.atan2(2*(r*i+e*s),-n-h+_+a),t._x=Math.asin(-2*o),t._y=Math.atan2(2*(e*r+i*s),n-h-_+a),t._isDirty=!0}return t}toAlphaBetaGammaToRef(t){let e=this._z,r=this._x,i=this._y,s=this._w,o=2*Math.atan2(Math.sqrt(r*r+i*i),Math.sqrt(e*e+s*s)),a=2*Math.atan2(e,s),n=2*Math.atan2(i,r);return t.set((a-n)/2,o,(a+n)/2),t}toRotationMatrix(t){return c.FromQuaternionToRef(this,t),t}fromRotationMatrix(t){return u.FromRotationMatrixToRef(t,this),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}static FromRotationMatrix(t){let e=new u;return u.FromRotationMatrixToRef(t,e),e}static FromRotationMatrixToRef(t,e){let r,i=t.m,s=i[0],o=i[4],a=i[8],n=i[1],h=i[5],_=i[9],l=i[2],y=i[6],m=i[10],u=s+h+m;return u>0?(e._w=.25/(r=.5/Math.sqrt(u+1)),e._x=(y-_)*r,e._y=(a-l)*r,e._z=(n-o)*r):s>h&&s>m?(e._w=(y-_)/(r=2*Math.sqrt(1+s-h-m)),e._x=.25*r,e._y=(o+n)/r,e._z=(a+l)/r):h>m?(e._w=(a-l)/(r=2*Math.sqrt(1+h-s-m)),e._x=(o+n)/r,e._y=.25*r,e._z=(_+y)/r):(e._w=(n-o)/(r=2*Math.sqrt(1+m-s-h)),e._x=(a+l)/r,e._y=(_+y)/r,e._z=.25*r),e._isDirty=!0,e}static Dot(t,e){return t._x*e._x+t._y*e._y+t._z*e._z+t._w*e._w}static AreClose(t,e,r=.1){let i=u.Dot(t,e);return 1-i*i<=r}static SmoothToRef(t,e,r,i,s){let o=0===i?1:r/i;return o=(0,h.Clamp)(o,0,1),u.SlerpToRef(t,e,o,s),s}static Zero(){return new u(0,0,0,0)}static Inverse(t){return new u(-t._x,-t._y,-t._z,t._w)}static InverseToRef(t,e){return e.set(-t._x,-t._y,-t._z,t._w),e}static Identity(){return new u(0,0,0,1)}static IsIdentity(t){return t&&0===t._x&&0===t._y&&0===t._z&&1===t._w}static RotationAxis(t,e){return u.RotationAxisToRef(t,e,new u)}static RotationAxisToRef(t,e,r){r._w=Math.cos(e/2);let i=Math.sin(e/2)/t.length();return r._x=t._x*i,r._y=t._y*i,r._z=t._z*i,r._isDirty=!0,r}static FromArray(t,e){return e||(e=0),new u(t[e],t[e+1],t[e+2],t[e+3])}static FromArrayToRef(t,e,r){return r._x=t[e],r._y=t[e+1],r._z=t[e+2],r._w=t[e+3],r._isDirty=!0,r}static FromFloatsToRef(t,e,r,i,s){return s.copyFromFloats(t,e,r,i),s}static FromEulerAngles(t,e,r){let i=new u;return u.RotationYawPitchRollToRef(e,t,r,i),i}static FromEulerAnglesToRef(t,e,r,i){return u.RotationYawPitchRollToRef(e,t,r,i),i}static FromEulerVector(t){let e=new u;return u.RotationYawPitchRollToRef(t._y,t._x,t._z,e),e}static FromEulerVectorToRef(t,e){return u.RotationYawPitchRollToRef(t._y,t._x,t._z,e),e}static FromUnitVectorsToRef(t,e,r,s=i.bH){let o=y.Dot(t,e)+1;return o<s?Math.abs(t.x)>Math.abs(t.z)?r.set(-t.y,t.x,0,0):r.set(0,-t.z,t.y,0):(y.CrossToRef(t,e,R.Vector3[0]),r.set(R.Vector3[0].x,R.Vector3[0].y,R.Vector3[0].z,o)),r.normalize()}static RotationYawPitchRoll(t,e,r){let i=new u;return u.RotationYawPitchRollToRef(t,e,r,i),i}static RotationYawPitchRollToRef(t,e,r,i){let s=.5*r,o=.5*e,a=.5*t,n=Math.sin(s),h=Math.cos(s),_=Math.sin(o),l=Math.cos(o),y=Math.sin(a),m=Math.cos(a);return i._x=m*_*h+y*l*n,i._y=y*l*h-m*_*n,i._z=m*l*n-y*_*h,i._w=m*l*h+y*_*n,i._isDirty=!0,i}static RotationAlphaBetaGamma(t,e,r){let i=new u;return u.RotationAlphaBetaGammaToRef(t,e,r,i),i}static RotationAlphaBetaGammaToRef(t,e,r,i){let s=(r+t)*.5,o=(r-t)*.5,a=.5*e;return i._x=Math.cos(o)*Math.sin(a),i._y=Math.sin(o)*Math.sin(a),i._z=Math.sin(s)*Math.cos(a),i._w=Math.cos(s)*Math.cos(a),i._isDirty=!0,i}static RotationQuaternionFromAxis(t,e,r){let i=new u(0,0,0,0);return u.RotationQuaternionFromAxisToRef(t,e,r,i),i}static RotationQuaternionFromAxisToRef(t,e,r,i){let s=x.Matrix[0];return t=t.normalizeToRef(x.Vector3[0]),e=e.normalizeToRef(x.Vector3[1]),r=r.normalizeToRef(x.Vector3[2]),c.FromXYZAxesToRef(t,e,r,s),u.FromRotationMatrixToRef(s,i),i}static FromLookDirectionLH(t,e){let r=new u;return u.FromLookDirectionLHToRef(t,e,r),r}static FromLookDirectionLHToRef(t,e,r){let i=x.Matrix[0];return c.LookDirectionLHToRef(t,e,i),u.FromRotationMatrixToRef(i,r),r}static FromLookDirectionRH(t,e){let r=new u;return u.FromLookDirectionRHToRef(t,e,r),r}static FromLookDirectionRHToRef(t,e,r){let i=x.Matrix[0];return c.LookDirectionRHToRef(t,e,i),u.FromRotationMatrixToRef(i,r)}static Slerp(t,e,r){let i=u.Identity();return u.SlerpToRef(t,e,r,i),i}static SlerpToRef(t,e,r,i){let s,o,a=t._x*e._x+t._y*e._y+t._z*e._z+t._w*e._w,n=!1;if(a<0&&(n=!0,a=-a),a>.999999)o=1-r,s=n?-r:r;else{let t=Math.acos(a),e=1/Math.sin(t);o=Math.sin((1-r)*t)*e,s=n?-Math.sin(r*t)*e:Math.sin(r*t)*e}return i._x=o*t._x+s*e._x,i._y=o*t._y+s*e._y,i._z=o*t._z+s*e._z,i._w=o*t._w+s*e._w,i._isDirty=!0,i}static Hermite(t,e,r,i,s){let o=s*s,a=s*o,n=2*a-3*o+1,h=-2*a+3*o,_=a-2*o+s,l=a-o,y=t._x*n+r._x*h+e._x*_+i._x*l,m=t._y*n+r._y*h+e._y*_+i._y*l;return new u(y,m,t._z*n+r._z*h+e._z*_+i._z*l,t._w*n+r._w*h+e._w*_+i._w*l)}static Hermite1stDerivative(t,e,r,i,s){let o=new u;return this.Hermite1stDerivativeToRef(t,e,r,i,s,o),o}static Hermite1stDerivativeToRef(t,e,r,i,s,o){let a=s*s;return o._x=(a-s)*6*t._x+(3*a-4*s+1)*e._x+(-a+s)*6*r._x+(3*a-2*s)*i._x,o._y=(a-s)*6*t._y+(3*a-4*s+1)*e._y+(-a+s)*6*r._y+(3*a-2*s)*i._y,o._z=(a-s)*6*t._z+(3*a-4*s+1)*e._z+(-a+s)*6*r._z+(3*a-2*s)*i._z,o._w=(a-s)*6*t._w+(3*a-4*s+1)*e._w+(-a+s)*6*r._w+(3*a-2*s)*i._w,o._isDirty=!0,o}static Normalize(t){let e=u.Zero();return u.NormalizeToRef(t,e),e}static NormalizeToRef(t,e){return t.normalizeToRef(e),e}static Clamp(t,e,r){let i=new u;return u.ClampToRef(t,e,r,i),i}static ClampToRef(t,e,r,i){return i.copyFromFloats((0,h.Clamp)(t.x,e.x,r.x),(0,h.Clamp)(t.y,e.y,r.y),(0,h.Clamp)(t.z,e.z,r.z),(0,h.Clamp)(t.w,e.w,r.w))}static Random(t=0,e=1){return new u((0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e))}static RandomToRef(t=0,e=1,r){return r.copyFromFloats((0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e),(0,h.RandomRange)(t,e))}
1static Minimize(){throw ReferenceError("Quaternion.Minimize does not make sense")}static Maximize(){throw ReferenceError("Quaternion.Maximize does not make sense")}static Distance(t,e){return Math.sqrt(u.DistanceSquared(t,e))}static DistanceSquared(t,e){let r=t.x-e.x,i=t.y-e.y,s=t.z-e.z,o=t.w-e.w;return r*r+i*i+s*s+o*o}static Center(t,e){return u.CenterToRef(t,e,u.Zero())}static CenterToRef(t,e,r){return r.copyFromFloats((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2,(t.w+e.w)/2)}}u._V8PerformanceHack=new u(.5,.5,.5,.5),Object.defineProperties(u.prototype,{dimension:{value:[4]},rank:{value:1}});class c{static get Use64Bits(){return a.I.MatrixUse64Bits}get m(){return this._m}markAsUpdated(){this.updateFlag=c._UpdateFlagSeed++,this._isIdentity=!1,this._isIdentity3x2=!1,this._isIdentityDirty=!0,this._isIdentity3x2Dirty=!0}_updateIdentityStatus(t,e=!1,r=!1,i=!0){this._isIdentity=t,this._isIdentity3x2=t||r,this._isIdentityDirty=!this._isIdentity&&e,this._isIdentity3x2Dirty=!this._isIdentity3x2&&i}constructor(){this._isIdentity=!1,this._isIdentityDirty=!0,this._isIdentity3x2=!0,this._isIdentity3x2Dirty=!0,this.updateFlag=-1,a.I.MatrixTrackPrecisionChange&&a.I.MatrixTrackedMatrices.push(this),this._m=new a.I.MatrixCurrentType(16),this.markAsUpdated()}isIdentity(){if(this._isIdentityDirty){this._isIdentityDirty=!1;let t=this._m;this._isIdentity=1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]}return this._isIdentity}isIdentityAs3x2(){return this._isIdentity3x2Dirty&&(this._isIdentity3x2Dirty=!1,1!==this._m[0]||1!==this._m[5]||1!==this._m[15]||0!==this._m[1]||0!==this._m[2]||0!==this._m[3]||0!==this._m[4]||0!==this._m[6]||0!==this._m[7]||0!==this._m[8]||0!==this._m[9]||0!==this._m[10]||0!==this._m[11]||0!==this._m[12]||0!==this._m[13]||0!==this._m[14]?this._isIdentity3x2=!1:this._isIdentity3x2=!0),this._isIdentity3x2}determinant(){if(!0===this._isIdentity)return 1;let t=this._m,e=t[0],r=t[1],i=t[2],s=t[3],o=t[4],a=t[5],n=t[6],h=t[7],_=t[8],l=t[9],y=t[10],m=t[11],u=t[12],c=t[13],x=t[14],R=t[15],f=y*R-x*m,d=l*R-c*m,z=l*x-c*y,T=_*R-u*m,w=_*x-y*u,p=_*c-u*l;return e*(a*f-n*d+h*z)+-(r*(o*f-n*T+h*w))+i*(o*d-a*T+h*p)+-(s*(o*z-a*w+n*p))}toString(){return`{${this.m[0]}, ${this.m[1]}, ${this.m[2]}, ${this.m[3]} 2${this.m[4]}, ${this.m[5]}, ${this.m[6]}, ${this.m[7]} 3${this.m[8]}, ${this.m[9]}, ${this.m[10]}, ${this.m[11]} 4${this.m[12]}, ${this.m[13]}, ${this.m[14]}, ${this.m[15]}}`}toArray(t=null,e=0){if(!t)return this._m;let r=this._m;for(let i=0;i<16;i++)t[e+i]=r[i];return this}asArray(){return this._m}fromArray(t,e=0){return c.FromArrayToRef(t,e,this)}copyFromFloats(...t){return c.FromArrayToRef(t,0,this)}set(...t){let e=this._m;for(let r=0;r<16;r++)e[r]=t[r];return this.markAsUpdated(),this}setAll(t){let e=this._m;for(let r=0;r<16;r++)e[r]=t;return this.markAsUpdated(),this}invert(){return this.invertToRef(this),this}reset(){return c.FromValuesToRef(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,this),this._updateIdentityStatus(!1),this}add(t){let e=new c;return this.addToRef(t,e),e}addToRef(t,e){let r=this._m,i=e._m,s=t.m;for(let t=0;t<16;t++)i[t]=r[t]+s[t];return e.markAsUpdated(),e}addToSelf(t){let e=this._m,r=t.m;return e[0]+=r[0],e[1]+=r[1],e[2]+=r[2],e[3]+=r[3],e[4]+=r[4],e[5]+=r[5],e[6]+=r[6],e[7]+=r[7],e[8]+=r[8],e[9]+=r[9],e[10]+=r[10],e[11]+=r[11],e[12]+=r[12],e[13]+=r[13],e[14]+=r[14],e[15]+=r[15],this.markAsUpdated(),this}addInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]+=r[t];return this.markAsUpdated(),this}addInPlaceFromFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]+=t[r];return this.markAsUpdated(),this}subtract(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]-=r[t];return this.markAsUpdated(),this}subtractToRef(t,e){let r=this._m,i=t.m,s=e._m;for(let t=0;t<16;t++)s[t]=r[t]-i[t];return e.markAsUpdated(),e}subtractInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]-=r[t];return this.markAsUpdated(),this}subtractFromFloats(...t){return this.subtractFromFloatsToRef(...t,new c)}subtractFromFloatsToRef(...t){let e=t.pop(),r=this._m,i=e._m;
4for(let e=0;e<16;e++)i[e]=r[e]-t[e];return e.markAsUpdated(),e}invertToRef(t){if(!0===this._isIdentity)return c.IdentityToRef(t),t;let e=this._m,r=e[0],i=e[1],s=e[2],o=e[3],a=e[4],n=e[5],h=e[6],_=e[7],l=e[8],y=e[9],m=e[10],u=e[11],x=e[12],R=e[13],f=e[14],d=e[15],z=m*d-f*u,T=y*d-R*u,w=y*f-R*m,p=l*d-x*u,F=l*f-m*x,M=l*R-x*y,I=+(n*z-h*T+_*w),g=-(a*z-h*p+_*F),P=+(a*T-n*p+_*M),A=-(a*w-n*F+h*M),D=r*I+i*g+s*P+o*A;if(0===D)return t.copyFrom(this),t;let C=1/D,V=h*d-f*_,k=n*d-R*_,H=n*f-R*h,L=a*d-x*_,O=a*f-x*h,v=a*R-x*n,b=h*u-m*_,q=n*u-y*_,U=n*m-y*h,S=a*u-l*_,E=a*m-l*h,N=a*y-l*n;return c.FromValuesToRef(I*C,-(i*z-s*T+o*w)*C,(i*V-s*k+o*H)*C,-(i*b-s*q+o*U)*C,g*C,(r*z-s*p+o*F)*C,-(r*V-s*L+o*O)*C,(r*b-s*S+o*E)*C,P*C,-(r*T-i*p+o*M)*C,(r*k-i*L+o*v)*C,-(r*q-i*S+o*N)*C,A*C,(r*w-i*F+s*M)*C,-(r*H-i*O+s*v)*C,(r*U-i*E+s*N)*C,t),t}addAtIndex(t,e){return this._m[t]+=e,this.markAsUpdated(),this}multiplyAtIndex(t,e){return this._m[t]*=e,this.markAsUpdated(),this}setTranslationFromFloats(t,e,r){return this._m[12]=t,this._m[13]=e,this._m[14]=r,this.markAsUpdated(),this}addTranslationFromFloats(t,e,r){return this._m[12]+=t,this._m[13]+=e,this._m[14]+=r,this.markAsUpdated(),this}setTranslation(t){return this.setTranslationFromFloats(t._x,t._y,t._z)}getTranslation(){return new y(this._m[12],this._m[13],this._m[14])}getTranslationToRef(t){return t.x=this._m[12],t.y=this._m[13],t.z=this._m[14],t}removeRotationAndScaling(){let t=this.m;return c.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,t[12],t[13],t[14],t[15],this),this._updateIdentityStatus(0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]),this}copyFrom(t){return t.copyToArray(this._m),this.updateFlag=t.updateFlag,this._updateIdentityStatus(t._isIdentity,t._isIdentityDirty,t._isIdentity3x2,t._isIdentity3x2Dirty),this}copyToArray(t,e=0){let r=this._m;return t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t[e+9]=r[9],t[e+10]=r[10],t[e+11]=r[11],t[e+12]=r[12],t[e+13]=r[13],t[e+14]=r[14],t[e+15]=r[15],this}multiply(t){let e=new c;return this.multiplyToRef(t,e),e}multiplyInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]*=r[t];return this.markAsUpdated(),this}multiplyByFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]*=t[r];return this.markAsUpdated(),this}multiplyByFloatsToRef(...t){let e=t.pop(),r=this._m,i=e._m;for(let e=0;e<16;e++)i[e]=r[e]*t[e];return e.markAsUpdated(),e}multiplyToRef(t,e){return this._isIdentity?e.copyFrom(t):t._isIdentity?e.copyFrom(this):(this.multiplyToArray(t,e._m,0),e.markAsUpdated()),e}multiplyToArray(t,e,r){let i=this._m,s=t.m,o=i[0],a=i[1],n=i[2],h=i[3],_=i[4],l=i[5],y=i[6],m=i[7],u=i[8],c=i[9],x=i[10],R=i[11],f=i[12],d=i[13],z=i[14],T=i[15],w=s[0],p=s[1],F=s[2],M=s[3],I=s[4],g=s[5],P=s[6],A=s[7],D=s[8],C=s[9],V=s[10],k=s[11],H=s[12],L=s[13],O=s[14],v=s[15];return e[r]=o*w+a*I+n*D+h*H,e[r+1]=o*p+a*g+n*C+h*L,e[r+2]=o*F+a*P+n*V+h*O,e[r+3]=o*M+a*A+n*k+h*v,e[r+4]=_*w+l*I+y*D+m*H,e[r+5]=_*p+l*g+y*C+m*L,e[r+6]=_*F+l*P+y*V+m*O,e[r+7]=_*M+l*A+y*k+m*v,e[r+8]=u*w+c*I+x*D+R*H,e[r+9]=u*p+c*g+x*C+R*L,e[r+10]=u*F+c*P+x*V+R*O,e[r+11]=u*M+c*A+x*k+R*v,e[r+12]=f*w+d*I+z*D+T*H,e[r+13]=f*p+d*g+z*C+T*L,e[r+14]=f*F+d*P+z*V+T*O,e[r+15]=f*M+d*A+z*k+T*v,this}divide(t){return this.divideToRef(t,new c)}divideToRef(t,e){let r=this._m,i=t.m,s=e._m;for(let t=0;t<16;t++)s[t]=r[t]/i[t];return e.markAsUpdated(),e}divideInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]/=r[t];return this.markAsUpdated(),this}minimizeInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]=Math.min(e[t],r[t]);return this.markAsUpdated(),this}minimizeInPlaceFromFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]=Math.min(e[r],t[r]);return this.markAsUpdated(),this}maximizeInPlace(t){let e=this._m,r=t.m;for(let t=0;t<16;t++)e[t]=Math.min(e[t],r[t]);return this.markAsUpdated(),this}maximizeInPlaceFromFloats(...t){let e=this._m;for(let r=0;r<16;r++)e[r]=Math.min(e[r],t[r]);return this.markAsUpdated(),this}negate(){return this.negateToRef(new c)}negateInPlace(){let t=this._m;for(let e=0;e<16;e++)t[e]=-t[e];return this.markAsUpdated(),this}negateToRef(t){let e=this._m,r=t._m;for(let t=0;t<16;t++)r[t]=-e[t];return t.markAsUpdated(),t}equals(t){if(!t)return!1;
4if((this._isIdentity||t._isIdentity)&&!this._isIdentityDirty&&!t._isIdentityDirty)return this._isIdentity&&t._isIdentity;let e=this.m,r=t.m;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]}equalsWithEpsilon(t,e=0){let r=this._m,i=t.m;for(let t=0;t<16;t++)if(!(0,h.WithinEpsilon)(r[t],i[t],e))return!1;return!0}equalsToFloats(...t){let e=this._m;for(let r=0;r<16;r++)if(e[r]!=t[r])return!1;return!0}floor(){return this.floorToRef(new c)}floorToRef(t){let e=this._m,r=t._m;for(let t=0;t<16;t++)r[t]=Math.floor(e[t]);return t.markAsUpdated(),t}fract(){return this.fractToRef(new c)}fractToRef(t){let e=this._m,r=t._m;for(let t=0;t<16;t++)r[t]=e[t]-Math.floor(e[t]);return t.markAsUpdated(),t}clone(){let t=new c;return t.copyFrom(this),t}getClassName(){return"Matrix"}getHashCode(){let t=_(this._m[0]);for(let e=1;e<16;e++)t=397*t^_(this._m[e]);return t}decomposeToTransformNode(t){return t.rotationQuaternion=t.rotationQuaternion||new u,this.decompose(t.scaling,t.rotationQuaternion,t.position)}decompose(t,e,r,i,s=!0){if(this._isIdentity)return r&&r.setAll(0),t&&t.setAll(1),e&&e.copyFromFloats(0,0,0,1),!0;let o=this._m;if(r&&r.copyFromFloats(o[12],o[13],o[14]),(t=t||x.Vector3[0]).x=Math.sqrt(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]),t.y=Math.sqrt(o[4]*o[4]+o[5]*o[5]+o[6]*o[6]),t.z=Math.sqrt(o[8]*o[8]+o[9]*o[9]+o[10]*o[10]),i){let e=(s?i.absoluteScaling.x:i.scaling.x)<0?-1:1,r=(s?i.absoluteScaling.y:i.scaling.y)<0?-1:1,o=(s?i.absoluteScaling.z:i.scaling.z)<0?-1:1;t.x*=e,t.y*=r,t.z*=o}else 0>=this.determinant()&&(t.y*=-1);if(0===t._x||0===t._y||0===t._z)return e&&e.copyFromFloats(0,0,0,1),!1;if(e){let r=1/t._x,i=1/t._y,s=1/t._z;c.FromValuesToRef(o[0]*r,o[1]*r,o[2]*r,0,o[4]*i,o[5]*i,o[6]*i,0,o[8]*s,o[9]*s,o[10]*s,0,0,0,0,1,x.Matrix[0]),u.FromRotationMatrixToRef(x.Matrix[0],e)}return!0}getRow(t){if(t<0||t>3)return null;let e=4*t;return new m(this._m[e+0],this._m[e+1],this._m[e+2],this._m[e+3])}getRowToRef(t,e){if(t>=0&&t<=3){let r=4*t;e.x=this._m[r+0],e.y=this._m[r+1],e.z=this._m[r+2],e.w=this._m[r+3]}return e}setRow(t,e){return this.setRowFromFloats(t,e.x,e.y,e.z,e.w)}transpose(){let t=new c;return c.TransposeToRef(this,t),t}transposeToRef(t){return c.TransposeToRef(this,t),t}setRowFromFloats(t,e,r,i,s){if(t<0||t>3)return this;let o=4*t;return this._m[o+0]=e,this._m[o+1]=r,this._m[o+2]=i,this._m[o+3]=s,this.markAsUpdated(),this}scale(t){let e=new c;return this.scaleToRef(t,e),e}scaleToRef(t,e){for(let r=0;r<16;r++)e._m[r]=this._m[r]*t;return e.markAsUpdated(),e}scaleAndAddToRef(t,e){for(let r=0;r<16;r++)e._m[r]+=this._m[r]*t;return e.markAsUpdated(),e}scaleInPlace(t){let e=this._m;for(let r=0;r<16;r++)e[r]*=t;return this.markAsUpdated(),this}toNormalMatrix(t){let e=x.Matrix[0];this.invertToRef(e),e.transposeToRef(t);let r=t._m;return c.FromValuesToRef(r[0],r[1],r[2],0,r[4],r[5],r[6],0,r[8],r[9],r[10],0,0,0,0,1,t),t}getRotationMatrix(){let t=new c;return this.getRotationMatrixToRef(t),t}getRotationMatrixToRef(t){let e=x.Vector3[0];if(!this.decompose(e))return c.IdentityToRef(t),t;let r=this._m,i=1/e._x,s=1/e._y,o=1/e._z;return c.FromValuesToRef(r[0]*i,r[1]*i,r[2]*i,0,r[4]*s,r[5]*s,r[6]*s,0,r[8]*o,r[9]*o,r[10]*o,0,0,0,0,1,t),t}toggleModelMatrixHandInPlace(){let t=this._m;return t[2]*=-1,t[6]*=-1,t[8]*=-1,t[9]*=-1,t[14]*=-1,this.markAsUpdated(),this}toggleProjectionMatrixHandInPlace(){let t=this._m;return t[8]*=-1,t[9]*=-1,t[10]*=-1,t[11]*=-1,this.markAsUpdated(),this}static FromArray(t,e=0){let r=new c;return c.FromArrayToRef(t,e,r),r}static FromArrayToRef(t,e,r){for(let i=0;i<16;i++)r._m[i]=t[i+e];return r.markAsUpdated(),r}static FromFloat32ArrayToRefScaled(t,e,r,i){return i._m[0]=t[0+e]*r,i._m[1]=t[1+e]*r,i._m[2]=t[2+e]*r,i._m[3]=t[3+e]*r,i._m[4]=t[4+e]*r,i._m[5]=t[5+e]*r,i._m[6]=t[6+e]*r,i._m[7]=t[7+e]*r,i._m[8]=t[8+e]*r,i._m[9]=t[9+e]*r,i._m[10]=t[10+e]*r,i._m[11]=t[11+e]*r,i._m[12]=t[12+e]*r,i._m[13]=t[13+e]*r,i._m[14]=t[14+e]*r,i._m[15]=t[15+e]*r,i.markAsUpdated(),i}static get IdentityReadOnly(){return c._IdentityReadOnly}static FromValuesToRef(t,e,r,i,s,o,a,n,h,_,l,y,m,u,c,x,R){let f=R._m;f[0]=t,f[1]=e,f[2]=r,f[3]=i,f[4]=s,f[5]=o,f[6]=a,f[7]=n,f[8]=h,f[9]=_,f[10]=l,f[11]=y,f[12]=m,f[13]=u,f[14]=c,f[15]=x,R.markAsUpdated()}static FromValues(t,e,r,i,s,o,a,n,h,_,l,y,m,u,x,R){let f=new c,d=f._m;return d[0]=t,d[1]=e,d[2]=r,d[3]=i,d[4]=s,d[5]=o,d[6]=a,d[7]=n,d[8]=h,d[9]=_,d[10]=l,d[11]=y,d[12]=m,d[13]=u,d[14]=x,d[15]=R,f.markAsUpdated(),f}static Compose(t,e,r){let i=new c;return c.ComposeToRef(t,e,r,i),i}static ComposeToRef(t,e,r,i){let s=i._m,o=e._x,a=e._y,n=e._z,h=e._w,_=o+o,l=a+a,y=n+n,m=o*_,u=o*l,c=o*y,x=a*l,R=a*y,f=n*y,d=h*_,z=h*l,T=h*y,w=t._x,p=t._y,F=t._z;return s[0]=(1-(x+f))*w,s[1]=(u+T)*w,s[2]=(c-z)*w,s[3]=0,s[4]=(u-T)*p,s[5]=(1-(m+f))*p,s[6]=(R+d)*p,s[7]=0,s[8]=(c+z)*F,s[9]=(R-d)*F,s[10]=(1-(m+x))*F,s[11]=0,s[12]=r._x,s[13]=r._y,s[14]=r._z,s[15]=1,i.markAsUpdated(),i}static Identity(){let t=c.FromValues(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return t._updateIdentityStatus(!0),t}static IdentityToRef(t){return c.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,t),t._updateIdentityStatus(!0),t}static Zero(){let t=c.FromValues(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);return t._updateIdentityStatus(!1),t}static RotationX(t){let e=new c;return c.RotationXToRef(t,e),e}static Invert(t){let e=new c;return t.invertToRef(e),e}static RotationXToRef(t,e){let r=Math.sin(t),i=Math.cos(t);return c.FromValuesToRef(1,0,0,0,0,i,r,0,0,-r,i,0,0,0,0,1,e),e._updateIdentityStatus(1===i&&0===r),e}static RotationY(t){let e=new c;return c.RotationYToRef(t,e),e}static RotationYToRef(t,e){let r=Math.sin(t),i=Math.cos(t);return c.FromValuesToRef(i,0,-r,0,0,1,0,0,r,0,i,0,0,0,0,1,e),e._updateIdentityStatus(1===i&&0===r),e}static RotationZ(t){let e=new c;return c.RotationZToRef(t,e),e}static RotationZToRef(t,e){let r=Math.sin(t),i=Math.cos(t);return c.FromValuesToRef(i,r,0,0,-r,i,0,0,0,0,1,0,0,0,0,1,e),e._updateIdentityStatus(1===i&&0===r),e}static RotationAxis(t,e){let r=new c;return c.RotationAxisToRef(t,e,r),r}static RotationAxisToRef(t,e,r){let i=Math.sin(-e),s=Math.cos(-e),o=1-s;t=t.normalizeToRef(x.Vector3[0]);let a=r._m;return a[0]=t._x*t._x*o+s,a[1]=t._x*t._y*o-t._z*i,a[2]=t._x*t._z*o+t._y*i,a[3]=0,a[4]=t._y*t._x*o+t._z*i,a[5]=t._y*t._y*o+s,a[6]=t._y*t._z*o-t._x*i,a[7]=0,a[8]=t._z*t._x*o-t._y*i,a[9]=t._z*t._y*o+t._x*i,a[10]=t._z*t._z*o+s,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1,r.markAsUpdated(),r}static RotationAlignToRef(t,e,r,s=!1){let o=y.Dot(e,t),a=r._m;if(o<-1+i.bH)a[0]=-1,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s?1:-1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=s?-1:1,a[11]=0;else{let r=y.Cross(e,t),i=1/(1+o);a[0]=r._x*r._x*i+o,a[1]=r._y*r._x*i-r._z,a[2]=r._z*r._x*i+r._y,a[3]=0,a[4]=r._x*r._y*i+r._z,a[5]=r._y*r._y*i+o,a[6]=r._z*r._y*i-r._x,a[7]=0,a[8]=r._x*r._z*i-r._y,a[9]=r._y*r._z*i+r._x,a[10]=r._z*r._z*i+o,a[11]=0}return a[12]=0,a[13]=0,a[14]=0,a[15]=1,r.markAsUpdated(),r}static RotationYawPitchRoll(t,e,r){let i=new c;return c.RotationYawPitchRollToRef(t,e,r,i),i}static RotationYawPitchRollToRef(t,e,r,i){return u.RotationYawPitchRollToRef(t,e,r,x.Quaternion[0]),x.Quaternion[0].toRotationMatrix(i),i}static Scaling(t,e,r){let i=new c;return c.ScalingToRef(t,e,r,i),i}static ScalingToRef(t,e,r,i){return c.FromValuesToRef(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1,i),i._updateIdentityStatus(1===t&&1===e&&1===r),i}static Translation(t,e,r){let i=new c;return c.TranslationToRef(t,e,r,i),i}static TranslationToRef(t,e,r,i){return c.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1,i),i._updateIdentityStatus(0===t&&0===e&&0===r),i}static Lerp(t,e,r){let i=new c;return c.LerpToRef(t,e,r,i),i}static LerpToRef(t,e,r,i){let s=i._m,o=t.m,a=e.m;for(let t=0;t<16;t++)s[t]=o[t]*(1-r)+a[t]*r;return i.markAsUpdated(),i}static DecomposeLerp(t,e,r){let i=new c;return c.DecomposeLerpToRef(t,e,r,i),i}static DecomposeLerpToRef(t,e,r,i){let s=x.Vector3[0],o=x.Quaternion[0],a=x.Vector3[1];t.decompose(s,o,a);
4let n=x.Vector3[2],h=x.Quaternion[1],_=x.Vector3[3];e.decompose(n,h,_);let l=x.Vector3[4];y.LerpToRef(s,n,r,l);let m=x.Quaternion[2];u.SlerpToRef(o,h,r,m);let R=x.Vector3[5];return y.LerpToRef(a,_,r,R),c.ComposeToRef(l,m,R,i),i}static LookAtLH(t,e,r){let i=new c;return c.LookAtLHToRef(t,e,r,i),i}static LookAtLHToRef(t,e,r,i){let s=x.Vector3[0],o=x.Vector3[1],a=x.Vector3[2];e.subtractToRef(t,a),a.normalize(),y.CrossToRef(r,a,s);let n=s.lengthSquared();0===n?s.x=1:s.normalizeFromLength(Math.sqrt(n)),y.CrossToRef(a,s,o),o.normalize();let h=-y.Dot(s,t),_=-y.Dot(o,t),l=-y.Dot(a,t);return c.FromValuesToRef(s._x,o._x,a._x,0,s._y,o._y,a._y,0,s._z,o._z,a._z,0,h,_,l,1,i),i}static LookAtRH(t,e,r){let i=new c;return c.LookAtRHToRef(t,e,r,i),i}static LookAtRHToRef(t,e,r,i){let s=x.Vector3[0],o=x.Vector3[1],a=x.Vector3[2];t.subtractToRef(e,a),a.normalize(),y.CrossToRef(r,a,s);let n=s.lengthSquared();0===n?s.x=1:s.normalizeFromLength(Math.sqrt(n)),y.CrossToRef(a,s,o),o.normalize();let h=-y.Dot(s,t),_=-y.Dot(o,t),l=-y.Dot(a,t);return c.FromValuesToRef(s._x,o._x,a._x,0,s._y,o._y,a._y,0,s._z,o._z,a._z,0,h,_,l,1,i),i}static LookDirectionLH(t,e){let r=new c;return c.LookDirectionLHToRef(t,e,r),r}static LookDirectionLHToRef(t,e,r){let i=x.Vector3[0];i.copyFrom(t),i.scaleInPlace(-1);let s=x.Vector3[1];return y.CrossToRef(e,i,s),c.FromValuesToRef(s._x,s._y,s._z,0,e._x,e._y,e._z,0,i._x,i._y,i._z,0,0,0,0,1,r),r}static LookDirectionRH(t,e){let r=new c;return c.LookDirectionRHToRef(t,e,r),r}static LookDirectionRHToRef(t,e,r){let i=x.Vector3[2];return y.CrossToRef(e,t,i),c.FromValuesToRef(i._x,i._y,i._z,0,e._x,e._y,e._z,0,t._x,t._y,t._z,0,0,0,0,1,r),r}static OrthoLH(t,e,r,i,s){let o=new c;return c.OrthoLHToRef(t,e,r,i,o,s),o}static OrthoLHToRef(t,e,r,i,s,o){let a=2/t,n=2/e,h=2/(i-r),_=-(i+r)/(i-r);return c.FromValuesToRef(a,0,0,0,0,n,0,0,0,0,h,0,0,0,_,1,s),o&&s.multiplyToRef(f,s),s._updateIdentityStatus(1===a&&1===n&&1===h&&0===_),s}static OrthoOffCenterLH(t,e,r,i,s,o,a){let n=new c;return c.OrthoOffCenterLHToRef(t,e,r,i,s,o,n,a),n}static OrthoOffCenterLHToRef(t,e,r,i,s,o,a,n){return c.FromValuesToRef(2/(e-t),0,0,0,0,2/(i-r),0,0,0,0,2/(o-s),0,(t+e)/(t-e),(i+r)/(r-i),-(o+s)/(o-s),1,a),n&&a.multiplyToRef(f,a),a.markAsUpdated(),a}static ObliqueOffCenterLHToRef(t,e,r,i,s,o,a,n,h,_,l){let y=-a*Math.cos(n),m=-a*Math.sin(n);return c.TranslationToRef(0,0,-h,x.Matrix[1]),c.FromValuesToRef(1,0,0,0,0,1,0,0,y,m,1,0,0,0,0,1,x.Matrix[0]),x.Matrix[1].multiplyToRef(x.Matrix[0],x.Matrix[0]),c.TranslationToRef(0,0,h,x.Matrix[1]),x.Matrix[0].multiplyToRef(x.Matrix[1],x.Matrix[0]),c.OrthoOffCenterLHToRef(t,e,r,i,s,o,_,l),x.Matrix[0].multiplyToRef(_,_),_}static OrthoOffCenterRH(t,e,r,i,s,o,a){let n=new c;return c.OrthoOffCenterRHToRef(t,e,r,i,s,o,n,a),n}static OrthoOffCenterRHToRef(t,e,r,i,s,o,a,n){return c.OrthoOffCenterLHToRef(t,e,r,i,s,o,a,n),a._m[10]*=-1,a}static ObliqueOffCenterRHToRef(t,e,r,i,s,o,a,n,h,_,l){let y=a*Math.cos(n),m=a*Math.sin(n);return c.TranslationToRef(0,0,h,x.Matrix[1]),c.FromValuesToRef(1,0,0,0,0,1,0,0,y,m,1,0,0,0,0,1,x.Matrix[0]),x.Matrix[1].multiplyToRef(x.Matrix[0],x.Matrix[0]),c.TranslationToRef(0,0,-h,x.Matrix[1]),x.Matrix[0].multiplyToRef(x.Matrix[1],x.Matrix[0]),c.OrthoOffCenterRHToRef(t,e,r,i,s,o,_,l),x.Matrix[0].multiplyToRef(_,_),_}static PerspectiveLH(t,e,r,i,s,o=0){let a=new c,n=Math.tan(o);return c.FromValuesToRef(2*r/t,0,0,0,0,2*r/e,0,n,0,0,(i+r)/(i-r),1,0,0,-2*i*r/(i-r),0,a),s&&a.multiplyToRef(f,a),a._updateIdentityStatus(!1),a}static PerspectiveFovLH(t,e,r,i,s,o=0,a=!1){let n=new c;return c.PerspectiveFovLHToRef(t,e,r,i,n,!0,s,o,a),n}static PerspectiveFovLHToRef(t,e,r,i,s,o=!0,a,n=0,h=!1){let _=1/Math.tan(.5*t),l=o?_/e:_,y=o?_:_*e,m=h&&0===r?-1:0!==i?(i+r)/(i-r):1,u=h&&0===r?2*i:0!==i?-2*i*r/(i-r):-2*r,x=Math.tan(n);return c.FromValuesToRef(l,0,0,0,0,y,0,x,0,0,m,1,0,0,u,0,s),a&&s.multiplyToRef(f,s),s._updateIdentityStatus(!1),s}static PerspectiveFovReverseLHToRef(t,e,r,i,s,o=!0,a,n=0){let h=1/Math.tan(.5*t),_=o?h/e:h,l=o?h:h*e,y=Math.tan(n);return c.FromValuesToRef(_,0,0,0,0,l,0,y,0,0,-r,1,0,0,1,0,s),a&&s.multiplyToRef(f,s),s._updateIdentityStatus(!1),s}static PerspectiveFovRH(t,e,r,i,s,o=0,a=!1){let n=new c;return c.PerspectiveFovRHToRef(t,e,r,i,n,!0,s,o,a),n}static PerspectiveFovRHToRef(t,e,r,i,s,o=!0,a,n=0,h=!1){let _=1/Math.tan(.5*t),l=o?_/e:_,y=o?_:_*e,m=h&&0===r?1:0!==i?-(i+r)/(i-r):-1,u=h&&0===r?2*i:0!==i?-2*i*r/(i-r):-2*r,x=Math.tan(n);return c.FromValuesToRef(l,0,0,0,0,y,0,x,0,0,m,-1,0,0,u,0,s),a&&s.multiplyToRef(f,s),s._updateIdentityStatus(!1),s}static PerspectiveFovReverseRHToRef(t,e,r,i,s,o=!0,a,n=0){let h=1/Math.tan(.5*t),_=o?h/e:h,l=o?h:h*e,y=Math.tan(n);return c.FromValuesToRef(_,0,0,0,0,l,0,y,0,0,-r,-1,0,0,-1,0,s),a&&s.multiplyToRef(f,s),s._updateIdentityStatus(!1),s}static GetFinalMatrix(t,e,r,i,s,o){let a=t.width,n=t.height,h=t.x,_=t.y,l=c.FromValues(a/2,0,0,0,0,-n/2,0,0,0,0,o-s,0,h+a/2,n/2+_,s,1),y=new c;return e.multiplyToRef(r,y),y.multiplyToRef(i,y),y.multiplyToRef(l,y)}static GetAsMatrix2x2(t){let e=t.m,r=[e[0],e[1],e[4],e[5]];return a.I.MatrixUse64Bits?r:new Float32Array(r)}static GetAsMatrix3x3(t){let e=t.m,r=[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]];return a.I.MatrixUse64Bits?r:new Float32Array(r)}static Transpose(t){let e=new c;return c.TransposeToRef(t,e),e}static TransposeToRef(t,e){let r=t.m,i=r[0],s=r[4],o=r[8],a=r[12],n=r[1],h=r[5],_=r[9],l=r[13],y=r[2],m=r[6],u=r[10],c=r[14],x=r[3],R=r[7],f=r[11],d=r[15],z=e._m;return z[0]=i,z[1]=s,z[2]=o,z[3]=a,z[4]=n,z[5]=h,z[6]=_,z[7]=l,z[8]=y,z[9]=m,z[10]=u,z[11]=c,z[12]=x,z[13]=R,z[14]=f,z[15]=d,e.markAsUpdated(),e._updateIdentityStatus(t._isIdentity,t._isIdentityDirt
4y),e}static Reflection(t){let e=new c;return c.ReflectionToRef(t,e),e}static ReflectionToRef(t,e){t.normalize();let r=t.normal.x,i=t.normal.y,s=t.normal.z,o=-2*r,a=-2*i,n=-2*s;return c.FromValuesToRef(o*r+1,a*r,n*r,0,o*i,a*i+1,n*i,0,o*s,a*s,n*s+1,0,o*t.d,a*t.d,n*t.d,1,e),e}static FromXYZAxesToRef(t,e,r,i){return c.FromValuesToRef(t._x,t._y,t._z,0,e._x,e._y,e._z,0,r._x,r._y,r._z,0,0,0,0,1,i),i}static FromQuaternionToRef(t,e){let r=t._x*t._x,i=t._y*t._y,s=t._z*t._z,o=t._x*t._y,a=t._z*t._w,n=t._z*t._x,h=t._y*t._w,_=t._y*t._z,l=t._x*t._w;return e._m[0]=1-2*(i+s),e._m[1]=2*(o+a),e._m[2]=2*(n-h),e._m[3]=0,e._m[4]=2*(o-a),e._m[5]=1-2*(s+r),e._m[6]=2*(_+l),e._m[7]=0,e._m[8]=2*(n+h),e._m[9]=2*(_-l),e._m[10]=1-2*(i+r),e._m[11]=0,e._m[12]=0,e._m[13]=0,e._m[14]=0,e._m[15]=1,e.markAsUpdated(),e}}c._UpdateFlagSeed=0,c._IdentityReadOnly=c.Identity(),Object.defineProperties(c.prototype,{dimension:{value:[4,4]},rank:{value:2}});class x{}x.Vector3=(0,s.ln)(11,y.Zero),x.Matrix=(0,s.ln)(2,c.Identity),x.Quaternion=(0,s.ln)(3,u.Zero);class R{}R.Vector2=(0,s.ln)(3,l.Zero),R.Vector3=(0,s.ln)(13,y.Zero),R.Vector4=(0,s.ln)(3,m.Zero),R.Quaternion=(0,s.ln)(3,u.Zero),R.Matrix=(0,s.ln)(8,c.Identity),(0,o.Y5)("BABYLON.Vector2",l),(0,o.Y5)("BABYLON.Vector3",y),(0,o.Y5)("BABYLON.Vector4",m),(0,o.Y5)("BABYLON.Matrix",c);let f=c.FromValues(1,0,0,0,0,1,0,0,0,0,.5,0,0,0,.5,1)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.