!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).predicates={})}(this,function(t){"use strict";const n=11102230246251565e-32,e=134217729,r=(3+8*n)*n;function o(t,n,e,r,o){let a,s,f,u,i=n[0],c=r[0],h=0,b=0;c>i==c>-i?(a=i,i=n[++h]):(a=c,c=r[++b]);let l=0;if(hi==c>-i?(s=i+a,f=a-(s-i),i=n[++h]):(s=c+a,f=a-(s-c),c=r[++b]),a=s,0!==f&&(o[l++]=f);hi==c>-i?(s=a+i,u=s-a,f=a-(s-u)+(i-u),i=n[++h]):(s=a+c,u=s-a,f=a-(s-u)+(c-u),c=r[++b]),a=s,0!==f&&(o[l++]=f);for(;h=Rt||-Qt>=Rt)return Qt;if(xt=t-Ct,st=t-(Ct+xt)+(xt-U),xt=n-Ht,ct=n-(Ht+xt)+(xt-V),xt=s-Lt,Mt=s-(Lt+xt)+(xt-W),xt=u-Dt,ft=u-(Dt+xt)+(xt-U),xt=K-It,ht=K-(It+xt)+(xt-V),xt=L-Nt,dt=L-(Nt+xt)+(xt-W),xt=N-Et,ut=N-(Et+xt)+(xt-U),xt=O-Jt,bt=O-(Jt+xt)+(xt-V),xt=P-Ot,pt=P-(Ot+xt)+(xt-W),xt=Q-Gt,it=Q-(Gt+xt)+(xt-U),xt=R-Kt,lt=R-(Kt+xt)+(xt-V),xt=S-Pt,yt=S-(Pt+xt)+(xt-W),0===st&&0===ct&&0===Mt&&0===ft&&0===ht&&0===dt&&0===ut&&0===bt&&0===pt&&0===it&&0===lt&&0===yt)return Qt;Rt=8751425667295619e-46*X+r*Math.abs(Qt);const St=Ct*ht+It*st-(Ht*ft+Dt*ct),Ut=Dt*bt+Jt*ft-(It*ut+Et*ht),Vt=Et*lt+Kt*ut-(Jt*it+Gt*bt),Wt=Gt*ct+Ht*it-(Kt*st+Ct*lt),Xt=Ct*bt+Jt*st-(Ht*ut+Et*ct),Yt=Dt*lt+Kt*ft-(It*it+Gt*ht);return Qt+=(Dt*Dt+It*It+Nt*Nt)*(Ot*Wt+Pt*Xt+Lt*Vt+(pt*nt+yt*ot+Mt*tt))+(Gt*Gt+Kt*Kt+Pt*Pt)*(Lt*Ut-Nt*Xt+Ot*St+(Mt*_-dt*ot+pt*Y))-((Ct*Ct+Ht*Ht+Lt*Lt)*(Nt*Vt-Ot*Yt+Pt*Ut+(dt*tt-pt*at+yt*_))+(Et*Et+Jt*Jt+Ot*Ot)*(Pt*St+Lt*Yt+Nt*Wt+(yt*Y+Mt*at+dt*nt)))+2*((Dt*ft+It*ht+Nt*dt)*(Ot*nt+Pt*ot+Lt*tt)+(Gt*it+Kt*lt+Pt*yt)*(Lt*_-Nt*ot+Ot*Y)-((Ct*st+Ht*ct+Lt*Mt)*(Nt*tt-Ot*at+Pt*_)+(Et*ut+Jt*bt+Ot*pt)*(Pt*Y+Lt*at+Nt*nt))),Qt>=Rt||-Qt>=Rt?Qt:function(t,n,r,o,s,f,u,K,L,N,O,P,Q,R,S){let U,V,W,X,Y,_,tt,nt,et,rt,ot,at,st,ft;rt=t*s,V=e*t,W=V-(V-t),X=t-W,V=e*s,Y=V-(V-s),_=s-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=o*n,V=e*o,W=V-(V-o),X=o-W,V=e*n,Y=V-(V-n),_=n-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,i[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,i[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,i[2]=nt-(ft-U)+(tt-U),i[3]=ft,rt=o*K,V=e*o,W=V-(V-o),X=o-W,V=e*K,Y=V-(V-K),_=K-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=u*s,V=e*u,W=V-(V-u),X=u-W,V=e*s,Y=V-(V-s),_=s-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,c[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,c[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,c[2]=nt-(ft-U)+(tt-U),c[3]=ft,rt=u*O,V=e*u,W=V-(V-u),X=u-W,V=e*O,Y=V-(V-O),_=O-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=N*K,V=e*N,W=V-(V-N),X=N-W,V=e*K,Y=V-(V-K),_=K-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,h[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,h[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,h[2]=nt-(ft-U)+(tt-U),h[3]=ft,rt=N*R,V=e*N,W=V-(V-N),X=N-W,V=e*R,Y=V-(V-R),_=R-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=Q*O,V=e*Q,W=V-(V-Q),X=Q-W,V=e*O,Y=V-(V-O),_=O-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,b[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,b[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,b[2]=nt-(ft-U)+(tt-U),b[3]=ft,rt=Q*n,V=e*Q,W=V-(V-Q),X=Q-W,V=e*n,Y=V-(V-n),_=n-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=t*R,V=e*t,W=V-(V-t),X=t-W,V=e*R,Y=V-(V-R),_=R-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,l[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,l[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,l[2]=nt-(ft-U)+(tt-U),l[3]=ft,rt=t*K,V=e*t,W=V-(V-t),X=t-W,V=e*K,Y=V-(V-K),_=K-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=u*n,V=e*u,W=V-(V-u),X=u-W,V=e*n,Y=V-(V-n),_=n-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,M[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,M[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,M[2]=nt-(ft-U)+(tt-U),M[3]=ft,rt=o*O,V=e*o,W=V-(V-o),X=o-W,V=e*O,Y=V-(V-O),_=O-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=N*s,V=e*N,W=V-(V-N),X=N-W,V=e*s,Y=V-(V-s),_=s-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,d[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,d[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,d[2]=nt-(ft-U)+(tt-U),d[3]=ft,rt=u*R,V=e*u,W=V-(V-u),X=u-W,V=e*R,Y=V-(V-R),_=R-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=Q*K,V=e*Q,W=V-(V-Q),X=Q-W,V=e*K,Y=V-(V-K),_=K-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,p[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,p[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,p[2]=nt-(ft-U)+(tt-U),p[3]=ft,rt=N*n,V=e*N,W=V-(V-N),X=N-W,V=e*n,Y=V-(V-n),_=n-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=t*O,V=e*t,W=V-(V-t),X=t-W,V=e*O,Y=V-(V-O),_=O-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,y[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,y[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,y[2]=nt-(ft-U)+(tt-U),y[3]=ft,rt=Q*s,V=e*Q,W=V-(V-Q),X=Q-W,V=e*s,Y=V-(V-s),_=s-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=o*R,V=e*o,W=V-(V-o),X=o-W,V=e*R,Y=V-(V-R),_=R-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,x[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,x[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,x[2]=nt-(ft-U)+(tt-U),x[3]=ft;const ut=Z(i,c,M,L,r,-f,g),it=Z(c,h,d,P,f,-L,m),ct=Z(h,b,p,S,L,-P,T),ht=Z(b,l,y,r,P,-S,j),bt=Z(l,i,x,f,S,-r,w),lt=Z(i,d,y,P,r,f,A),Mt=Z(c,p,x,S,f,L,F),dt=Z(h,y,M,r,L,P,k),pt=Z(b,x,d,f,P,S,q),yt=Z(l,M,p,L,S,r,v),xt=a($(ct,T,Mt,F,pt,q,it,m,t,n,r,z),z,$(ht,j,dt,k,yt,v,ct,T,o,s,f,B),B,a($(bt,w,pt,q,lt,A,ht,j,u,K,L,C),C,$(ut,g,yt,v,Mt,F,bt,w,N,O,P,D),D,$(it,m,lt,A,dt,k,ut,g,Q,R,S,E),E,H,I),I,G,J);return J[xt-1]}(t,n,s,u,K,L,N,O,P,Q,R,S,U,V,W)}t.insphere=function(t,n,e,r,o,a,s,f,u,i,c,h,b,l,M){const d=t-b,p=r-b,y=s-b,x=i-b,g=n-l,m=o-l,T=f-l,j=c-l,w=e-M,A=a-M,F=u-M,k=h-M,q=d*m,v=p*g,z=q-v,B=p*T,C=y*m,D=B-C,E=y*j,G=x*T,H=E-G,I=x*g,J=d*j,K=I-J,L=d*T,N=y*g,O=L-N,P=p*j,Q=x*m,R=P-Q,S=d*d+g*g+w*w,U=p*p+m*m+A*A,V=y*y+T*T+F*F,W=x*x+j*j+k*k,X=V*(k*z+w*R+A*K)-W*(w*D-A*O+F*z)+(S*(A*H-F*R+k*D)-U*(F*K+k*O+w*H)),Y=Math.abs(w),Z=Math.abs(A),$=Math.abs(F),_=Math.abs(k),tt=Math.abs(q)+Math.abs(v),nt=Math.abs(B)+Math.abs(C),et=Math.abs(E)+Math.abs(G),rt=Math.abs(I)+Math.abs(J),at=Math.abs(L)+Math.abs(N),st=Math.abs(P)+Math.abs(Q),ft=(et*Z+st*$+nt*_)*S+(rt*$+at*_+et*Y)*U+(tt*_+st*Y+rt*Z)*V+(nt*Y+at*Z+tt*$)*W,ut=17763568394002532e-31*ft;return X>ut||-X>ut?X:-ot(t,n,e,r,o,a,s,f,u,i,c,h,b,l,M,ft)},t.inspherefast=function(t,n,e,r,o,a,s,f,u,i,c,h,b,l,M){const d=t-b,p=r-b,y=s-b,x=i-b,g=n-l,m=o-l,T=f-l,j=c-l,w=e-M,A=a-M,F=u-M,k=h-M,q=d*m-p*g,v=p*T-y*m,z=y*j-x*T,B=x*g-d*j,C=d*T-y*g,D=p*j-x*m;return(y*y+T*T+F*F)*(k*q+w*D+A*B)-(x*x+j*j+k*k)*(w*v-A*C+F*q)+((d*d+g*g+w*w)*(A*z-F*D+k*v)-(p*p+m*m+A*A)*(F*B+k*C+w*z))}});