1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2313],{2042:(t,e,a)=>{"use strict";a.d(e,{default:()=>_});var r=a(2762),n=a(5970),i=a(9356),o=a.n(i);let l=2*Math.PI,g=[119,134,141],h=[165,203,209],s=[136,182,191],d=[209,230,233];function u(t,e=0,a=1){return Math.min(a,Math.max(e,t))}function c(t,e,a){let r=u((a-t)/(e-t));return r*r*(3-2*r)}function f(t,e,a=0){let r=43758.5453*Math.sin(127.1*t+311.7*e+91.3*a);return r-Math.floor(r)}function x(t,e,a){var r,n,i;return[Math.round((r=t[0],r+(e[0]-r)*a)),Math.round((n=t[1],n+(e[1]-n)*a)),Math.round((i=t[2],i+(e[2]-i)*a))]}function _({header:t=!1,card:e=!1}){let a=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let t=a.current;if(!t)return;let r=t.getContext("2d");if(!r)return;let n=window.matchMedia("(prefers-reduced-motion: reduce)").matches,i=0,o=null,_=null,y={x:0,y:0,targetX:0,targetY:0,velocityX:0,velocityY:0,motion:0,strength:0,targetStrength:0},M=e=>{let a=t.getBoundingClientRect();y.targetX=e.clientX-a.left,y.targetY=e.clientY-a.top,y.strength<.01&&(y.x=y.targetX,y.y=y.targetY,y.velocityX=0,y.velocityY=0,y.motion=0),y.targetStrength="mouse"===e.pointerType?1:.7},m=()=>{y.targetStrength=0,y.targetX=y.x,y.targetY=y.y};e||(t.addEventListener("pointermove",M),t.addEventListener("pointerleave",m));let w=a=>{var M,m,v;let p=t.clientWidth,S=t.clientHeight,L=Math.min(window.devicePixelRatio||1,2),X=Math.round(p*L),B=Math.round(S*L);(t.width!==X||t.height!==B)&&(t.width=X,t.height=B),r.setTransform(L,0,0,L,0,0),r.clearRect(0,0,p,S),null===o&&(o=a);let F=(a-o)/1e3,Y=n?1:.72+.28*c(0,.7,F),b=null===_?0:Math.min(.05,(a-_)/1e3);if(_=a,b>0){y.velocityX+=((y.targetX-y.x)*145-24*y.velocityX)*b,y.velocityY+=((y.targetY-y.y)*145-24*y.velocityY)*b,y.x+=y.velocityX*b,y.y+=y.velocityY*b;let t=Math.hypot(y.velocityX,y.velocityY),e=Math.hypot(y.targetX-y.x,y.targetY-y.y),a=0===y.targetStrength,r=a?0:u(t/520+e/90),n=1-Math.exp(-b*(a?18:r>y.motion?7.5:3.2));M=y.motion,y.motion=M+(r-M)*n}if(y.targetStrength>y.strength)y.strength=Math.min(y.targetStrength,y.strength+b/3.4);else{let t=0===y.targetStrength?.24:1.35;y.strength=Math.max(y.targetStrength,y.strength-b/t)}let $=p<520?340:620,k=S*(e?.55:.62),E=.36*S,C=(t,e,a,n,i)=>{let o=n*Y;o<=0||(r.beginPath(),r.arc(t,e,a,0,l),r.fillStyle=`rgba(${i[0]}, ${i[1]}, ${i[2]}, ${o.toFixed(3)})`,r.fill())},I=(t,e,a,r)=>{C(t,e,2.1*a,.1*r,h),C(t,e,a,r,h),C(t,e,.45*a,.7*r,d)},P=(t,e,a,r=1)=>{if(y.strength<.002||r<=0)return{x:t,y:e};let n=c(0,1,y.strength),i=u(n+y.motion*(1-n)*.48),o=.32+.68*i,l=(p<520?88:138)*o,g=(p<520?64:96)*o,h=t-y.x,s=e-y.y,d=h>0?1.42:1,x=Math.sqrt(Math.pow(h/(l*d),2)+Math.pow(s/g,2));if(x>=1)return{x:t,y:e};let _=Math.pow(1-c(0,1,x),1.28)*i*r,M=Math.tanh((s+(f(a,41)-.5)*14)/8),m=.82+.3*f(a,42),w=Math.sin(h/(l*d)*Math.PI)*_*g*.08;return{x:t+(h<0?-1:.5)*_*11.5,y:e+M*_*g*.7*m+w}},R=.03*p,O=.97*p,T=Math.max(2,Math.floor((O-R)/(p<520?8:12))+1),H=(O-R)/(T-1),z=.13*S,D=p<520?9:11,N=n?8:F,W=(t,e)=>{var a;let r=f(t,0),n=f(t,1),i=(a=r+e*(.047+.023*f(t,2)))-Math.floor(a),o=(1.18*i-.09)*p,g=(f(t,3)+f(t,4)-1)*.86+.035*Math.sin(1.71*t),h=e/15*l,s=Math.sin(i*l*1.16-.94*h+2.2*g)*S*.055+Math.sin(i*l*2.7+.42*h+4.1*g)*S*.014;return{x:o,y:k+g*E+s,edgeFade:c(-.08,.045,i)*(1-c(.92,1.06,i)),radius:(p<520?1.42:1.7)*(.82+.42*n),grain:n}},A=[],J=.82,K=0,q=2*T,V=[0,0],j=0,G=N+1.8;for(;J<=G&&K<8192;){let t=K<q,e=K-q,a=Math.floor(e/2),r=t?K%2:e%2,n=V[r];V[r]+=1;let i=t?1.12+.12*f(K,30):1.04+.5*f(a,30),o={index:K,start:J,duration:i,row:r,rowOrdinal:n};A.push(o),t&&(j=Math.max(j,o.start+o.duration)),t?J+=.09+.13*f(K,28):1===r&&(J+=.24+.2*f(a,28)),(K+=1)===q&&(J=Math.max(J,j+.3))}let Q=new Map,U=new Set;for(let t of A){let e=(N-t.start)/t.duration;if(e<0||e>1.7)continue;let a=(37*t.index+17)%$;for(let e=0;e<$;e+=1){let r=(a+29*e)%$,n=W(r,t.start),i=n.x/p;if(i>.25&&i<.72&&n.edgeFade>.8){a=r;break}}let r=W(a,t.start);Q.set(t.index,{particleIndex:a,source:r}),e<1.7&&U.add(a)}for(let t=0;t<$;t+=1){if(U.has(t))continue;let e=W(t,N);if(f(t,8)>.992)continue;let a=f(t,9)>.986?(e.grain-.5)*14:0,n=e.edgeFade*(.17+.35*e.grain),i=P(e.x+a,e.y,t);if(C(i.x,i.y,e.radius,n,g),f(t,18)>.99){let t=.38+.25*Math.sin(1.8*N+e.grain*l);I(i.x,i.y,.8*e.radius,e.edgeFade*Math.max(.12,t))}f(t,6)>.975&&(r.fillStyle=`rgba(${g[0]}, ${g[1]}, ${g[2]}, ${(.36*n*Y).toFixed(3)})`,r.fillRect(i.x-4,i.y-.45,6+8*e.grain,.9))}let Z=(t,e,a,r,n)=>{var i,o;let g=Math.sin(a*Math.PI)*r,h=Math.sin(a*l+n*l)*Math.sin(a*Math.PI)*S*.01;return{x:(i=t.x,i+(e.x-i)*a),y:(o=t.y,o+(e.y-o)*a-g+h)}},tt=t=>c(.72,1,(N-t.start)/t.duration),te=[[],[]];for(let t of A)te[t.row].push(t);let ta=new Map,tr=te[0].reduce((t,e)=>e.rowOrdinal<T?t:t+tt(e),0);for(let t=0;t<2;t+=1){let e=0;for(let a of te[t]){let r=tt(a),n=a.rowOrdinal<T;if(n||(e+=r),(N-a.start)/a.duration<1)continue;let i=R+(n?a.rowOrdinal+tr:tr-e)*H,o=z+t*D;if(i>p+1.5*H)continue;ta.set(a.index,{x:i,y:o});let l=f(a.index,29);C(i,o,(p<520?1.95:2.3)*(.92+.14*l),.62+.24*l,x(s,h,Math.exp(-(1.75*(N-(a.start+a.duration))))))}}for(let t of A){let e=Q.get(t.index);if(!e)continue;let{particleIndex:a,source:r}=e,n=(N-t.start)/t.duration,i={x:t.rowOrdinal<T?R+t.rowOrdinal*H:R,y:z+t.row*D},o=S*(.08+.11*f(t.index,33)),l=1.18*r.radius;if(n<1){let e=c(0,1,n),s=c(.04,.5,e),d=Z(r,i,e,o,r.grain),f=x(g,h,s),_=(m=r.edgeFade*(.17+.35*r.grain))+(.96-m)*s;for(let t=1;t<=4;t+=1){let n=u(e-.048*t);if(n<=0)continue;let d=Z(r,i,n,o,r.grain),c=P(d.x,d.y,a,1-n);C(c.x,c.y,l*(.7-.06*t),s*(.24-.038*t),x(g,h,.72*s))}let y=P(d.x,d.y,a,1-e);if(C(y.x,y.y,(v=r.radius)+(1.16*l-v)*s,_,f),s>.24){let e=s*(.48+.22*Math.sin(3.7*N+1.31*t.index));I(y.x,y.y,.7*l,e)}continue}let d=N-(t.start+t.duration),_=Math.exp(-(1.75*d)),y=ta.get(t.index)??i,M=1-c(0,.7,d);if(M>0)for(let t=1;t<=4;t+=1){let e=u(1-.048*t+c(0,.7,d)*t*.048),n=Z(r,y,e,o,r.grain),i=P(n.x,n.y,a,1-e);C(i.x,i.y,l*(.7-.06*t),M*(.22-.034*t),x(s,h,_))}let w=1-c(.03,.82,d);w>.01&&I(y.x,y.y,.72*l,.78*w)}n||(i=window.requestAnimationFrame(w))},v=new ResizeObserver(()=>{n&&w(performance.now())});return v.observe(t),w(performance.now()),()=>{v.disconnect(),window.cancelAnimationFrame(i),e||(t.removeEventListener("pointermove",M),t.removeEventListener("pointerleave",m))}},[e]),(0,r.jsx)("figure",{className:`${o().frame} ${t?o().headerFrame:""} ${e?o().cardFrame:""}`,role:"img","aria-label":"A dense stream of data particles whose matching points are magnetically extracted into a two-row register.",children:(0,r.jsx)("canvas",{ref:a,className:o().canvas,"aria-hidden":"true"})})}},9356:t=>{t.exports={frame:"SignalsDotMatrix_frame__ztAkT",canvas:"SignalsDotMatrix_canvas__M2Rwd",headerFrame:"SignalsDotMatrix_headerFrame__X11IQ",cardFrame:"SignalsDotMatrix_cardFrame__woumK","signal-header-wash":"SignalsDotMatrix_signal-header-wash__
1cJ_G1"}},9922:t=>{t.exports={page:"BlogLayout_page__b6oKV",toolbar:"BlogLayout_toolbar__O_S8H",artworkSurface:"BlogLayout_artworkSurface__tlWEr",signalHeader:"BlogLayout_signalHeader__6zJdo",signalCoverWash:"BlogLayout_signalCoverWash__7iotr",signalCoverTitle:"BlogLayout_signalCoverTitle__z94z0",articleImage:"BlogLayout_articleImage__JhtN2",imageViewport:"BlogLayout_imageViewport__fMR5I",graphicHint:"BlogLayout_graphicHint__fKht8",footnotePreview:"BlogLayout_footnotePreview__MKJeq",codeBlock:"BlogLayout_codeBlock__W732u",accentText:"BlogLayout_accentText__hXXE2"}}}]);
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.