1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5053],{65449:function(t,n,e){e.d(n,{useSpring:function(){return i.q_},q:function(){return c}});var r=e(31262),i=e(14928),o=e(64813),s=e(1314),a=e(2212);const l=["primitive"].concat(Object.keys(a).filter((t=>/^[A-Z]/.test(t))).map((t=>t[0].toLowerCase()+t.slice(1))));i.OH.assign({createStringInterpolator:o.qS,colors:o.O9,frameLoop:"demand"}),(0,r.gy)((()=>{o.Wn.advance()}));const c=(0,s.Ld)(l,{applyAnimatedValues:r.nH}).animated},31769:function(t,n,e){e.d(n,{t:function(){return l}});var r=e(67294),i=e(31262),o=e(2212);class s extends o.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(mvPosition.x + 2.0 * time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:"\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n }"})}}const a=t=>(new o.Vector3).setFromSpherical(new o.Spherical(t,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),l=r.forwardRef((({radius:t=100,depth:n=50,count:e=5e3,saturation:l=0,factor:c=4,fade:u=!1},h)=>{const d=r.useRef(),[f,m,p]=r.useMemo((()=>{const r=[],i=[],s=Array.from({length:e},(()=>(.5+.5*Math.random())*c)),u=new o.Color;let h=t+n;const d=n/e;for(let t=0;t<e;t++)h-=d*Math.random(),r.push(...a(h).toArray()),u.setHSL(t/e,l,.9),i.push(u.r,u.g,u.b);return[new Float32Array(r),new Float32Array(i),new Float32Array(s)]}),[e,n,c,t,l]);(0,i.xQ)((t=>d.current&&(d.current.uniforms.time.value=t.clock.getElapsedTime())));const[g]=r.useState((()=>new s));return r.createElement("points",{ref:h},r.createElement("bufferGeometry",{attach:"geometry"},r.createElement("bufferAttribute",{attachObject:["attributes","position"],args:[f,3]}),r.createElement("bufferAttribute",{attachObject:["attributes","color"],args:[m,3]}),r.createElement("bufferAttribute",{attachObject:["attributes","size"],args:[p,1]})),r.createElement("primitive",{dispose:void 0,ref:d,object:g,attach:"material",blending:o.AdditiveBlending,"uniforms-fade-value":u,transparent:!0,vertexColors:!0}))}))},39920:function(t,n,e){var r=e(81472);e.o(r,"SpringValue")&&e.d(n,{SpringValue:function(){return r.SpringValue}}),e.o(r,"config")&&e.d(n,{config:function(){return r.config}}),e.o(r,"useSpring")&&e.d(n,{useSpring:function(){return r.useSpring}})},22043:function(t,n,e){e.d(n,{t7:function(){return i}});Math.PI,Math.PI;const r=[];for(let o=0;o<256;o++)r[o]=(o<16?"0":"")+o.toString(16);"undefined"!==typeof crypto&&crypto;function i(t,n,e){return(1-e)*t+e*n}},83789:function(t,n,e){e.d(n,{Z:function(){return o}});var r=e(56586);var i=e(16988);function o(t){return function(t){if(Array.isArray(t))return(0,r.Z)(t)}(t)||function(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||(0,i.Z)(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},1765:function(t,n,e){e.d(n,{nv:function(){return B}});var r=e(2212),i=(new Uint8Array([0,4]),new Uint8Array([1,5]),new Uint8Array([2,6]),new Uint8Array([3,7]),new Uint8Array([0,2]),new Uint8Array([1,3]),new Uint8Array([4,6]),new Uint8Array([5,7]),new Uint8Array([0,1]),new Uint8Array([2,3]),new Uint8Array([4,5]),new Uint8Array([6,7]),[new Uint8Array([0,0,0]),new Uint8Array([0,0,1]),new Uint8Array([0,1,0]),new Uint8Array([0,1,1]),new Uint8Array([1,0,0]),new Uint8Array([1,0,1]),new Uint8Array([1,1,0]),new Uint8Array([1,1,1])]),o=(new r.Vector3,new r.Vector3);var s=[new Uint8Array([4,2,1]),new Uint8Array([5,3,8]),new Uint8Array([6,8,3]),new Uint8Array([7,8,8]),new Uint8Array([8,6,5]),new Uint8Array([8,7,8]),new Uint8Array([8,8,7]),new Uint8Array([8,8,8])];function a(t,n,e,r){let i,o;
1return n<e?(i=n,o=0):(i=e,o=1),r<i&&(o=2),s[t][o]}var l=new r.Vector3,c=new r.Box3,u=new r.Box3,h=new r.Ray;var d=new class{value;constructor(){this.value=0}};function f(t,n,e,r,i,o,s,l){if(i>=0&&o>=0&&s>=0){const c=t.children;if(null===c)l.push(t);else{const t=.5*(n+i),u=.5*(e+o),h=.5*(r+s),m=d.value;let p=function(t,n,e,r,i,o){let s=0;return t>n&&t>e?(i<t&&(s|=2),o<t&&(s|=1)):n>e?(r<n&&(s|=4),o<n&&(s|=1)):(r<e&&(s|=4),i<e&&(s|=2)),s}(n,e,r,t,u,h);for(;p<8;)switch(p){case 0:f(c[m],n,e,r,t,u,h,l),p=a(p,t,u,h);break;case 1:f(c[1^m],n,e,h,t,u,s,l),p=a(p,t,u,s);break;case 2:f(c[2^m],n,u,r,t,o,h,l),p=a(p,t,o,h);break;case 3:f(c[3^m],n,u,h,t,o,s,l),p=a(p,t,o,s);break;case 4:f(c[4^m],t,e,r,i,u,h,l),p=a(p,i,u,h);break;case 5:f(c[5^m],t,e,h,i,u,s,l),p=a(p,i,u,s);break;case 6:f(c[6^m],t,u,r,i,o,h,l),p=a(p,i,o,h);break;case 7:f(c[7^m],t,u,h,i,o,s,l),p=8}}}}var m=new r.Box3,p=class{root;region;cull;result;trace;indices;constructor(t,n=null){this.root=t,this.region=n,this.cull=null!==n,this.trace=null,this.indices=null,this.reset()}reset(){const t=this.root;return this.trace=[],this.indices=[],null!==t&&(m.min=t.min,m.max=t.max,this.cull&&!this.region.intersectsBox(m)||(this.trace.push(t),this.indices.push(0))),this.result={done:!1,value:null},this}next(){const t=this.cull,n=this.region,e=this.indices,r=this.trace;let i=null,o=r.length-1;for(;null===i&&o>=0;){const s=e[o]++,a=r[o].children;if(s<8)if(null!==a){const i=a[s];if(t&&(m.min=i.min,m.max=i.max,!n.intersectsBox(m)))continue;r.push(i),e.push(0),++o}else i=r.pop(),e.pop();else r.pop(),e.pop(),--o}return this.result.value=i,this.result.done=null===i,this.result}[Symbol.iterator](){return this}},g=new r.Box3;function y(t){const n=t.children;let e=0;if(null!==n)for(let r=0,i=n.length;r<i;++r){const t=1+y(n[r]);t>e&&(e=t)}return e}function x(t,n,e){const r=t.children;if(g.min=t.min,g.max=t.max,n.intersectsBox(g))if(null!==r)for(let i=0,o=r.length;i<o;++i)x(r[i],n,e);else e.push(t)}function w(t,n,e,r){const i=t.children;if(e===n)r.push(t);else if(null!==i){++e;for(let t=0,o=i.length;t<o;++t)w(i[t],n,e,r)}}var v=class{root;constructor(t){this.root=t}get min(){return this.root.min}get max(){return this.root.max}get children(){return this.root.children}getCenter(t){return this.root.getCenter(t)}getDimensions(t){return this.root.getDimensions(t)}cull(t){const n=[];return x(this.root,t,n),n}getDepth(){return y(this.root)}findNodesByLevel(t){const n=[];return w(this.root,t,0,n),n}getIntersectingNodes(t){return class{static intersectOctree(t,n){const e=[],r=function(t,n,e){const r=c.min.set(0,0,0),i=c.max.subVectors(t.max,t.min),o=t.getDimensions(u.min),s=u.max.copy(o).multiplyScalar(.5),a=h.origin.copy(n.origin),d=h.direction.copy(n.direction);a.sub(t.getCenter(l)).add(s),e.value=0,d.x<0?(a.x=o.x-a.x,d.x=-d.x,e.value|=4):0===d.x&&(d.x=Number.EPSILON),d.y<0?(a.y=o.y-a.y,d.y=-d.y,e.value|=2):0===d.y&&(d.y=Number.EPSILON),d.z<0?(a.z=o.z-a.z,d.z=-d.z,e.value|=1):0===d.z&&(d.z=Number.EPSILON);const f=1/d.x,m=1/d.y,p=1/d.z,g=(r.x-a.x)*f,y=(i.x-a.x)*f,x=(r.y-a.y)*m,w=(i.y-a.y)*m,v=(r.z-a.z)*p,b=(i.z-a.z)*p;return Math.max(g,x,v)<Math.min(y,w,b)?[g,x,v,y,w,b]:null}(t,n,d);return null!==r&&f(t,r[0],r[1],r[2],r[3],r[4],r[5],e),e}}.intersectOctree(this,t.ray)}leaves(t=null){return new p(this,t)}[Symbol.iterator](){return new p(this)}},b=class{data;point;distance;constructor(t=null,n=null,e=0){this.point=t,this.data=n,this.distance=e}},A=class extends b{distanceToRay;constructor(t,n,e,r=null){super(e,r,t),this.distanceToRay=n}},S=class{points;data;constructor(){this.points=[],this.data=[]}testPoints(t,n){const e=t.params.Points.threshold,i=e*e,o=t.ray,s=this.points,a=this.data;for(let l=0,c=s.length;l<c;++l){const e=s[l],c=o.distanceSqToPoint(e);if(c<i){const i=o.closestPointToPoint(e,new r.Vector3),s=o.origin.distanceTo(i);s>=t.near&&s<=t.far&&n.push(new A(s,Math.sqrt(c),i,a[l]))}}}},P=new r.Vector3;function z(t){const n=t.children;let e=0;if(null!==n)for(let r=0,i=n.length;r<i;++r)e+=z(n[r]);else if(null!==t.data){e=t.data.points.length}return e}function U(t,n,e,r,i){let o=r.children,s=!1,a=!1;if(r.contains(t,e.getBias())){if(null===o){let l=0;if(null===r.data)r.data=new S;else{const n=r.data.points;for(let e=0,r=n.length;!s&&e<r;++e)s=n[e].equals(t),l=e}const c=r.data;s?(c.data[l-1]=n,a=!0):c.points.length<e.getMaxPoints()||i===e.getMaxDepth()?(c.points.push(t.clone()),c.data.push(n),a=!0):(r.split(),r.redistribute(e.getBias()),o=r.children)}if(null!==o){++i;for(let r=0,s=o.length;!a&&r<s;++r)a=U(t,n,e,o[r],i)}}return a}function M(t,n,e,r){const i=e.children;let o=null;if(e.contains(t,n.getBias()))if(null!==i)for(let s=0,a=i.length;null===o&&s<a;++s)o=M(t,n,i[s],e);else if(null!==e.data){const i=e.data,s=i.points,a=i.data;for(let e=0,l=s.length;e<l;++e)if(s[e].equals(t)){const t=l-1;o=a[e],e<t&&(s[e]=s[t],a[e]=a[t]),s.pop(),a.pop(),null!==r&&z(r)<=n.getMaxPoints()&&r.merge();break}}return o}function C(t,n,e){const r=e.children;let i=null;if(e.contains(t,n.getBias()))if(null!==r)for(let o=0,s=r.length;null===i&&o<s;++o)i=C(t,n,r[o]);else if(null!==e.data){const n=e.data,r=n.points,o=n.data;for(let e=0,s=r.length;null===i&&e<s;++e)t.equals(r[e])&&(i=o[e])}return i}function k(t,n,e,r,i,o){const s=r.children;let a=null;if(r.contains(t,e.getBias()))if(r.contains(n,e.getBias())){if(null!==s){++o;for(let i=0,l=s.length;null===a&&i<l;++i){a=k(t,n,e,s[i],r,o)}}else if(null!==r.data){const e=r.data,i=e.points,o=e.data;for(let r=0,s=i.length;r<s;++r)if(t.equals(i[r])){i[r].copy(n),a=o[r];break}}}else a=M(t,e,r,i),U(n,a,e,i,o-1);return a}function q(t,n,e,r){let i=null,o=n;if(null!==r.children){const n=r.children.map((n=>{const e=n;return{distance:e.distanceToCenterSquared(t),octant:e}})).sort(((t,n)=>t.distance-n.distance));for(let r=0,s=n.length;r<s;++r){const s=n[r].octant;if(s.contains(t,o)){const n=q(t,o,e,s);if(null!==n&&(o=n.distance,i=n,0===o))break}}}else if(null!==r.data){const n=r.data,s=n.points,a=n.data;let l=-1;for(let r=0,i=s.length;r<i;++r)if(s[r].equals(t)){if(!e){o=0,l=r;break}}else{const n=t.distanceTo(s[r]);n<o&&(o=n,l=r)}l>=0&&(i=new b(s[l],a[l],o))}return i}function V(t,n,e,r,i){const o=r.children;if(null!==o)for(let s=0,a=o.length;s<a;++s){const r=o[s];r.contains(t,n)&&V(t,n,e,r,i)}else if(null!==r.data){const o=r.data,s=o.points,a=o.data;for(let r=0,l=s.length;r<l;++r){const o=s[r];
1if(o.equals(t))e||i.push(new b(o.clone(),a[r],0));else{const e=n*n,s=o.distanceToSquared(t);s<=e&&i.push(new b(o.clone(),a[r],Math.sqrt(s)))}}}}var B=class extends v{bias;maxPoints;maxDepth;constructor(t,n,e=0,s=8,a=8){super(new class extends class{min;max;children;data;constructor(t=new r.Vector3,n=new r.Vector3){this.min=t,this.max=n,this.children=null,this.data=null}getCenter(t){return t.addVectors(this.min,this.max).multiplyScalar(.5)}getDimensions(t){return t.subVectors(this.max,this.min)}split(){const t=this.min,n=this.max,e=this.getCenter(o),r=this.children=[null,null,null,null,null,null,null,null];for(let o=0;o<8;++o){const s=i[o],a=new this.constructor;a.min.set(0===s[0]?t.x:e.x,0===s[1]?t.y:e.y,0===s[2]?t.z:e.z),a.max.set(0===s[0]?e.x:n.x,0===s[1]?e.y:n.y,0===s[2]?e.z:n.z),r[o]=a}}}{constructor(t,n){super(t,n)}distanceToSquared(t){return P.copy(t).clamp(this.min,this.max).sub(t).lengthSq()}distanceToCenterSquared(t){const n=this.getCenter(P),e=t.x-n.x,r=t.y-n.x,i=t.z-n.z;return e*e+r*r+i*i}contains(t,n){const e=this.min,r=this.max;return t.x>=e.x-n&&t.y>=e.y-n&&t.z>=e.z-n&&t.x<=r.x+n&&t.y<=r.y+n&&t.z<=r.z+n}redistribute(t){const n=this.children,e=this.data;if(null!==n&&null!==e){const r=e.points,i=e.data;for(let e=0,o=r.length;e<o;++e){const o=r[e],s=i[e];for(let e=0,r=n.length;e<r;++e){const r=n[e];if(r.contains(o,t)){null===r.data&&(r.data=new S);const t=r.data;t.points.push(o),t.data.push(s);break}}}this.data=null}}merge(){const t=this.children;if(null!==t){const n=new S;for(let e=0,r=t.length;e<r;++e){const r=t[e].data;null!==r&&(n.points=n.points.concat(r.points),n.data=n.data.concat(r.data))}this.children=null,this.data=n}}}(t,n)),this.bias=Math.max(0,e),this.maxPoints=Math.max(1,Math.round(s)),this.maxDepth=Math.max(0,Math.round(a))}getBias(){return this.bias}getMaxPoints(){return this.maxPoints}getMaxDepth(){return this.maxDepth}countPoints(t=this.root){return z(t)}set(t,n){return U(t,n,this,this.root,0)}remove(t){return M(t,this,this.root,null)}get(t){return C(t,this,this.root)}
1move(t,n){return k(t,n,this,this.root,null,0)}findNearestPoint(t,n=Number.POSITIVE_INFINITY,e=!1){const r=q(t,n,e,this.root);return null!==r&&(r.point=r.point.clone()),r}findPoints(t,n,e=!1){const r=[];return V(t,n,e,this.root,r),r}raycast(t){const n=[],e=super.getIntersectingNodes(t);if(e.length>0)for(let r=0,i=e.length;r<i;++r){const i=e[r].data;null!==i&&i.testPoints(t,n)}return n}}}}]);
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.