PageSourceSearch

https://tnkr.ai/_next/static/chunks/21851-f84b0f27d13e07d9.js

js tnkr.ai collected 2026-10-04 22:24:42 UTC 22,960 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[21851],{2519:(t,e,i)=>{i.d(e,{L:()=>g});var s=i(85339);let r=/^[og]\s*(.+)?/,o=/^mtllib /,n=/^usemtl /,l=/^usemap /,a=/\s+/,u=new s.Pq0,h=new s.Pq0,c=new s.Pq0,m=new s.Pq0,d=new s.Pq0,p=new s.Q1f;function f(){let t={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(t,e){if(this.object&&!1===this.object.fromDeclaration){this.object.name=t,this.object.fromDeclaration=!1!==e;return}let i=this.object&&"function"==typeof this.object.currentMaterial?this.object.currentMaterial():void 0;if(this.object&&"function"==typeof this.object._finalize&&this.object._finalize(!0),this.object={name:t||"",fromDeclaration:!1!==e,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:!1},materials:[],smooth:!0,startMaterial:function(t,e){let i=this._finalize(!1);i&&(i.inherited||i.groupCount<=0)&&this.materials.splice(i.index,1);let s={index:this.materials.length,name:t||"",mtllib:Array.isArray(e)&&e.length>0?e[e.length-1]:"",smooth:void 0!==i?i.smooth:this.smooth,groupStart:void 0!==i?i.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(t){let e={index:"number"==typeof t?t:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return e.clone=this.clone.bind(e),e}};return this.materials.push(s),s},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(t){let e=this.currentMaterial();if(e&&-1===e.groupEnd&&(e.groupEnd=this.geometry.vertices.length/3,e.groupCount=e.groupEnd-e.groupStart,e.inherited=!1),t&&this.materials.length>1)for(let t=this.materials.length-1;t>=0;t--)this.materials[t].groupCount<=0&&this.materials.splice(t,1);return t&&0===this.materials.length&&this.materials.push({name:"",smooth:this.smooth}),e}},i&&i.name&&"function"==typeof i.clone){let t=i.clone(0);t.inherited=!0,this.object.materials.push(t)}this.objects.push(this.object)},finalize:function(){this.object&&"function"==typeof this.object._finalize&&this.object._finalize(!0)},parseVertexIndex:function(t,e){let i=parseInt(t,10);return(i>=0?i-1:i+e/3)*3},parseNormalIndex:function(t,e){let i=parseInt(t,10);return(i>=0?i-1:i+e/3)*3},parseUVIndex:function(t,e){let i=parseInt(t,10);return(i>=0?i-1:i+e/2)*2},addVertex:function(t,e,i){let s=this.vertices,r=this.object.geometry.vertices;r.push(s[t+0],s[t+1],s[t+2]),r.push(s[e+0],s[e+1],s[e+2]),r.push(s[i+0],s[i+1],s[i+2])},addVertexPoint:function(t){let e=this.vertices;this.object.geometry.vertices.push(e[t+0],e[t+1],e[t+2])},addVertexLine:function(t){let e=this.vertices;this.object.geometry.vertices.push(e[t+0],e[t+1],e[t+2])},addNormal:function(t,e,i){let s=this.normals,r=this.object.geometry.normals;r.push(s[t+0],s[t+1],s[t+2]),r.push(s[e+0],s[e+1],s[e+2]),r.push(s[i+0],s[i+1],s[i+2])},addFaceNormal:function(t,e,i){let s=this.vertices,r=this.object.geometry.normals;u.fromArray(s,t),h.fromArray(s,e),c.fromArray(s,i),d.subVectors(c,h),m.subVectors(u,h),d.cross(m),d.normalize(),r.push(d.x,d.y,d.z),r.push(d.x,d.y,d.z),r.push(d.x,d.y,d.z)},addColor:function(t,e,i){let s=this.colors,r=this.object.geometry.colors;void 0!==s[t]&&r.push(s[t+0],s[t+1],s[t+2]),void 0!==s[e]&&r.push(s[e+0],s[e+1],s[e+2]),void 0!==s[i]&&r.push(s[i+0],s[i+1],s[i+2])},addUV:function(t,e,i){let s=this.uvs,r=this.object.geometry.uvs;r.push(s[t+0],s[t+1]),r.push(s[e+0],s[e+1]),r.push(s[i+0],s[i+1])},addDefaultUV:function(){let t=this.object.geometry.uvs;t.push(0,0),t.push(0,0),t.push(0,0)},addUVLine:function(t){let e=this.uvs;this.object.geometry.uvs.push(e[t+0],e[t+1])},addFace:function(t,e,i,s,r,o,n,l,a){let u=this.vertices.length,h=this.parseVertexIndex(t,u),c=this.parseVertexIndex(e,u),m=this.parseVertexIndex(i,u);if(this.addVertex(h,c,m),this.addColor(h,c,m),void 0!==n&&""!==n){let t=this.normals.length;h=this.parseNormalIndex(n,t),c=this.parseNormalIndex(l,t),m=this.parseNormalIndex(a,t),this.addNormal(h,c,m)}else this.addFaceNormal(h,c,m);if(void 0!==s&&""!==s){let t=this.uvs.length;h=this.parseUVIndex(s,t),c=this.parseUVIndex(r,t),m=this.parseUVIndex(o,t),this.addUV(h,c,m),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(t){this.object.geometry.type="Points";let e=this.vertices.length;for(let i=0,s=t.length;i<s;i++){let s=this.parseVertexIndex(t[i],e);
1this.addVertexPoint(s),this.addColor(s)}},addLineGeometry:function(t,e){this.object.geometry.type="Line";let i=this.vertices.length,s=this.uvs.length;for(let e=0,s=t.length;e<s;e++)this.addVertexLine(this.parseVertexIndex(t[e],i));for(let t=0,i=e.length;t<i;t++)this.addUVLine(this.parseUVIndex(e[t],s))}};return t.startObject("",!1),t}class g extends s.aHM{constructor(t){super(t),this.materials=null}load(t,e,i,r){let o=this,n=new s.Y9S(this.manager);n.setPath(this.path),n.setRequestHeader(this.requestHeader),n.setWithCredentials(this.withCredentials),n.load(t,function(i){try{e(o.parse(i))}catch(e){r?r(e):console.error(e),o.manager.itemError(t)}},i,r)}setMaterials(t){return this.materials=t,this}parse(t){let e=new f;-1!==t.indexOf("\r\n")&&(t=t.replace(/\r\n/g,"\n")),-1!==t.indexOf("\\\n")&&(t=t.replace(/\\\n/g,""));let i=t.split("\n"),u=[];for(let t=0,h=i.length;t<h;t++){let h=i[t].trimStart();if(0===h.length)continue;let c=h.charAt(0);if("#"!==c)if("v"===c){let t=h.split(a);switch(t[0]){case"v":e.vertices.push(parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3])),t.length>=7?(p.setRGB(parseFloat(t[4]),parseFloat(t[5]),parseFloat(t[6]),s.er$),e.colors.push(p.r,p.g,p.b)):e.colors.push(void 0,void 0,void 0);break;case"vn":e.normals.push(parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3]));break;case"vt":e.uvs.push(parseFloat(t[1]),parseFloat(t[2]))}}else if("f"===c){let t=h.slice(1).trim().split(a),i=[];for(let e=0,s=t.length;e<s;e++){let s=t[e];if(s.length>0){let t=s.split("/");i.push(t)}}let s=i[0];for(let t=1,r=i.length-1;t<r;t++){let r=i[t],o=i[t+1];e.addFace(s[0],r[0],o[0],s[1],r[1],o[1],s[2],r[2],o[2])}}else if("l"===c){let t=h.substring(1).trim().split(" "),i=[],s=[];if(-1===h.indexOf("/"))i=t;else for(let e=0,r=t.length;e<r;e++){let r=t[e].split("/");""!==r[0]&&i.push(r[0]),""!==r[1]&&s.push(r[1])}e.addLineGeometry(i,s)}else if("p"===c){let t=h.slice(1).trim().split(" ");e.addPointGeometry(t)}else if(null!==(u=r.exec(h))){let t=(" "+u[0].slice(1).trim()).slice(1);e.startObject(t)}else if(n.test(h))e.object.startMaterial(h.substring(7).trim(),e.materialLibraries);else if(o.test(h))e.materialLibraries.push(h.substring(7).trim());else if(l.test(h))console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if("s"===c){if((u=h.split(" ")).length>1){let t=u[1].trim().toLowerCase();e.object.smooth="0"!==t&&"off"!==t}else e.object.smooth=!0;let t=e.object.currentMaterial();t&&(t.smooth=e.object.smooth)}else{if("\0"===h)continue;console.warn('THREE.OBJLoader: Unexpected line: "'+h+'"')}}e.finalize();let h=new s.YJl;if(h.materialLibraries=[].concat(e.materialLibraries),!0==(1!==e.objects.length||0!==e.objects[0].geometry.vertices.length))for(let t=0,i=e.objects.length;t<i;t++){let i,r=e.objects[t],o=r.geometry,n=r.materials,l="Line"===o.type,a="Points"===o.type,u=!1;if(0===o.vertices.length)continue;let c=new s.LoY;c.setAttribute("position",new s.qtW(o.vertices,3)),o.normals.length>0&&c.setAttribute("normal",new s.qtW(o.normals,3)),o.colors.length>0&&(u=!0,c.setAttribute("color",new s.qtW(o.colors,3))),!0===o.hasUVIndices&&c.setAttribute("uv",new s.qtW(o.uvs,2));let m=[];for(let t=0,i=n.length;t<i;t++){let i=n[t],r=i.name+"_"+i.smooth+"_"+u,o=e.materials[r];if(null!==this.materials)if(o=this.materials.create(i.name),!l||!o||o instanceof s.mrM){if(a&&o&&!(o instanceof s.BH$)){let t=new s.BH$({size:10,sizeAttenuation:!1});s.imn.prototype.copy.call(t,o),t.color.copy(o.color),t.map=o.map,o=t}}else{let t=new s.mrM;s.imn.prototype.copy.call(t,o),t.color.copy(o.color),o=t}void 0===o&&((o=l?new s.mrM:a?new s.BH$({size:1,sizeAttenuation:!1}):new s.tXL).name=i.name,o.flatShading=!i.smooth,o.vertexColors=u,e.materials[r]=o),m.push(o)}if(m.length>1){for(let t=0,e=n.length;t<e;t++){let e=n[t];c.addGroup(e.groupStart,e.groupCount,t)}i=l?new s.DXC(c,m):a?new s.ONl(c,m):new s.eaF(c,m)}else i=l?new s.DXC(c,m[0]):a?new s.ONl(c,m[0]):new s.eaF(c,m[0]);i.name=r.name,h.add(i)}else if(e.vertices.length>0){let t=new s.BH$({size:1,sizeAttenuation:!1}),i=new s.LoY;i.setAttribute("position",new s.qtW(e.vertices,3)),e.colors.length>0&&void 0!==e.colors[0]&&(i.setAttribute("color",new s.qtW(e.colors,3)),t.vertexColors=!0);let r=new s.ONl(i,t);h.add(r)}return h}}},63189:(t,e,i)=>{i.d(e,{A:()=>v});var s=i(85339),r=i(96007),o=i(94487);let n=new s.Pq0,l=new s.O9p,a=new s.kn4,u=new s.kn4,h=new s.PTz,c=new s.Pq0(1,1,1),m=new s.Pq0;class d extends s.B69{constructor(...t){super(...t),this.urdfNode=null,this.urdfName=""}copy(t,e){return super.copy(t,e),this.urdfNode=t.urdfNode,this.urdfName=t.urdfName,this}}class p extends d{constructor(...t){super(...t),this.isURDFCollider=!0,this.type="URDFCollider"}}class f extends d{constructor(...t){super(...t),this.isURDFVisual=!0,this.type="URDFVisual"}}class g extends d{constructor(...t){super(...t),this.isURDFLink=!0,this.type="URDFLink"}}class b extends d{get jointType(){return this._jointType}set jointType(t){if(this.jointType!==t)switch(this._jointType=t,this.matrixWorldNeedsUpdate=!0,t){case"fixed":this.jointValue=[];break;case"continuous":case"revolute":case"prismatic":this.jointValue=[,].fill(0);break;case"planar":this.jointValue=[,,,].fill(0),this.axis=new s.Pq0(0,0,1);break;case"floating":this.jointValue=Array(6).fill(0)}}get angle(){return this.jointValue[0]}constructor(...t){super(...t),this.isURDFJoint=!0,this.type="URDFJoint",this.jointValue=null,this.jointType="fixed",this.axis=new s.Pq0(1,0,0),this.limit={lower:0,upper:0},this.ignoreLimits=!1,this.origPosition=null,this.origQuaternion=null,this.mimicJoints=[]}copy(t,e){return super.copy(t,e),this.jointType=t.jointType,this.axis=t.axis.clone(),this.limit.lower=t.limit.lower,this.limit.upper=t.limit.upper,this.ignoreLimits=!1,this.jointValue=[...t.jointValue],this.origPosition=t.origPosition?t.origPosition.clone():null,this.origQuaternion=t.origQuaternion?t.origQuaternion.clone():null,this.mimicJoints=[...t.mimicJoints],this}setJointValue(...t){t=t.map(t=>null===t?null:parseFloat(t)),this.origPosition&&this.origQuaternion||(this.origPosition=this.position.clone(),this.origQuaternion=this.quaternion.clone());let e=!1;
1switch(this.mimicJoints.forEach(i=>{e=i.updateFromMimickedJoint(...t)||e}),this.jointType){case"fixed":break;case"continuous":case"revolute":{let i=t[0];if(null==i||i===this.jointValue[0])return e;if(this.ignoreLimits||"revolute"!==this.jointType||(i=Math.min(this.limit.upper,i),i=Math.max(this.limit.lower,i)),this.quaternion.setFromAxisAngle(this.axis,i).premultiply(this.origQuaternion),this.jointValue[0]!==i)return this.jointValue[0]=i,this.matrixWorldNeedsUpdate=!0,!0;break}case"prismatic":{let i=t[0];if(null==i||i===this.jointValue[0])return e;if(this.ignoreLimits||(i=Math.min(this.limit.upper,i),i=Math.max(this.limit.lower,i)),this.position.copy(this.origPosition),n.copy(this.axis).applyEuler(this.rotation),this.position.addScaledVector(n,i),this.jointValue[0]!==i)return this.jointValue[0]=i,this.matrixWorldNeedsUpdate=!0,!0;break}case"floating":if(this.jointValue.every((e,i)=>t[i]===e||null===t[i]))break;return this.jointValue[0]=null!==t[0]?t[0]:this.jointValue[0],this.jointValue[1]=null!==t[1]?t[1]:this.jointValue[1],this.jointValue[2]=null!==t[2]?t[2]:this.jointValue[2],this.jointValue[3]=null!==t[3]?t[3]:this.jointValue[3],this.jointValue[4]=null!==t[4]?t[4]:this.jointValue[4],this.jointValue[5]=null!==t[5]?t[5]:this.jointValue[5],u.compose(this.origPosition,this.origQuaternion,c),h.setFromEuler(l.set(this.jointValue[3],this.jointValue[4],this.jointValue[5],"XYZ")),m.set(this.jointValue[0],this.jointValue[1],this.jointValue[2]),a.compose(m,h,c),u.premultiply(a),this.position.setFromMatrixPosition(u),this.rotation.setFromRotationMatrix(u),this.matrixWorldNeedsUpdate=!0,!0;case"planar":if(this.jointValue.every((e,i)=>t[i]===e||null===t[i]))break;return this.jointValue[0]=null!==t[0]?t[0]:this.jointValue[0],this.jointValue[1]=null!==t[1]?t[1]:this.jointValue[1],this.jointValue[2]=null!==t[2]?t[2]:this.jointValue[2],u.compose(this.origPosition,this.origQuaternion,c),h.setFromAxisAngle(this.axis,this.jointValue[2]),m.set(this.jointValue[0],this.jointValue[1],0),a.compose(m,h,c),u.premultiply(a),this.position.setFromMatrixPosition(u),this.rotation.setFromRotationMatrix(u),this.matrixWorldNeedsUpdate=!0,!0}return e}}class w extends b{constructor(...t){super(...t),this.type="URDFMimicJoint",this.mimicJoint=null,this.offset=0,this.multiplier=1}updateFromMimickedJoint(...t){let e=t.map(t=>t*this.multiplier+this.offset);return super.setJointValue(...e)}copy(t,e){return super.copy(t,e),this.mimicJoint=t.mimicJoint,this.offset=t.offset,this.multiplier=t.multiplier,this}}class j extends g{constructor(...t){super(...t),this.isURDFRobot=!0,this.urdfNode=null,this.urdfRobotNode=null,this.robotName=null,this.links=null,this.joints=null,this.colliders=null,this.visual=null,this.frames=null}copy(t,e){for(let i in super.copy(t,e),this.urdfRobotNode=t.urdfRobotNode,this.robotName=t.robotName,this.links={},this.joints={},this.colliders={},this.visual={},this.traverse(e=>{e.isURDFJoint&&e.urdfName in t.joints&&(this.joints[e.urdfName]=e),e.isURDFLink&&e.urdfName in t.links&&(this.links[e.urdfName]=e),e.isURDFCollider&&e.urdfName in t.colliders&&(this.colliders[e.urdfName]=e),e.isURDFVisual&&e.urdfName in t.visual&&(this.visual[e.urdfName]=e)}),this.joints)this.joints[i].mimicJoints=this.joints[i].mimicJoints.map(t=>this.joints[t.name]);return this.frames={...this.colliders,...this.visual,...this.links,...this.joints},this}getFrame(t){return this.frames[t]}setJointValue(t,...e){let i=this.joints[t];return!!i&&i.setJointValue(...e)}setJointValues(t){let e=!1;for(let i in t){let s=t[i];e=Array.isArray(s)?this.setJointValue(i,...s)||e:this.setJointValue(i,s)||e}return e}}let y=new s.PTz,x=new s.O9p;function V(t){return t?t.trim().split(/\s+/g).map(t=>parseFloat(t)):[0,0,0]}function F(t,e,i=!1){i||t.rotation.set(0,0,0),x.set(e[0],e[1],e[2],"ZYX"),y.setFromEuler(x),y.multiply(t.quaternion),t.quaternion.copy(y)}class v{constructor(t){this.manager=t||s.h_9,this.loadMeshCb=this.defaultMeshLoader.bind(this),this.parseVisual=!0,this.parseCollision=!1,this.packages="",this.workingPath="",this.fetchOptions={}}loadAsync(t){return new Promise((e,i)=>{this.load(t,e,null,i)})}load(t,e,i,r){let o=this.manager,n=s.r6x.extractUrlBase(t),l=this.manager.resolveURL(t);o.itemStart(l),fetch(l,this.fetchOptions).then(t=>{if(t.ok)return i&&i(null),t.text();throw Error(`URDFLoader: Failed to load url '${l}' with error code ${t.status} : ${t.statusText}.`)}).then(t=>{e(this.parse(t,this.workingPath||n)),o.itemEnd(l)}).catch(t=>{r?r(t):console.error("URDFLoader: Error loading file.",t),o.itemError(l),o.itemEnd(l)})}parse(t,e=this.workingPath){let i=this.packages,r=this.loadMeshCb,o=this.parseVisual,n=this.parseCollision,l=this.manager,a={},u={},h={};function c(t){if(!/^package:\/\//.test(t))return e?e+t:t;let[s,r]=t.replace(/^package:\/\//,"").split(/\/(.+)/);if("string"==typeof i)if(i.endsWith(s))return i+"/"+r;else return i+"/"+s+"/"+r;if(i instanceof Function)return i(s)+"/"+r;if("object"==typeof i)if(s in i)return i[s]+"/"+r;else return console.error(`URDFLoader : ${s} not found in provided package list.`),null}function m(t){let e=[...t.children],i=new s.tXL;return i.name=t.getAttribute("name")||"",e.forEach(t=>{let e=t.nodeName.toLowerCase();if("color"===e){let e=t.getAttribute("rgba").split(/\s/g).map(t=>parseFloat(t));i.color.setRGB(e[0],e[1],e[2]),i.opacity=e[3],i.transparent=e[3]<1,i.depthWrite=!i.transparent}else if("texture"===e){let e=t.getAttribute("filename");if(e){let t=new s.Tap(l),r=c(e);
1i.map=t.load(r),i.map.colorSpace=s.er$}}}),i}function d(t,e={}){let i="collision"===t.nodeName.toLowerCase(),o=[...t.children],n=null,a=o.filter(t=>"material"===t.nodeName.toLowerCase())[0];if(a){let t=a.getAttribute("name");n=t&&t in e?e[t]:m(a)}else n=new s.tXL;let u=i?new p:new f;return u.urdfNode=t,o.forEach(t=>{let e=t.nodeName.toLowerCase();if("geometry"===e){let e=t.children[0].nodeName.toLowerCase();if("mesh"===e){let e=c(t.children[0].getAttribute("filename"));if(null!==e){let i=t.children[0].getAttribute("scale");if(i){let t=V(i);u.scale.set(t[0],t[1],t[2])}r(e,l,(t,e)=>{e?console.error("URDFLoader: Error loading mesh.",e):t&&(t instanceof s.eaF&&(t.material=n),t.position.set(0,0,0),t.quaternion.identity(),u.add(t))})}}else if("box"===e){let e=new s.eaF;e.geometry=new s.iNn(1,1,1),e.material=n;let i=V(t.children[0].getAttribute("size"));e.scale.set(i[0],i[1],i[2]),u.add(e)}else if("sphere"===e){let e=new s.eaF;e.geometry=new s.Gu$(1,30,30),e.material=n;let i=parseFloat(t.children[0].getAttribute("radius"))||0;e.scale.set(i,i,i),u.add(e)}else if("cylinder"===e){let e=new s.eaF;e.geometry=new s.Ho_(1,1,1,30),e.material=n;let i=parseFloat(t.children[0].getAttribute("radius"))||0,r=parseFloat(t.children[0].getAttribute("length"))||0;e.scale.set(i,r,i),e.rotation.set(Math.PI/2,0,0),u.add(e)}}else if("origin"===e){let e=V(t.getAttribute("xyz")),i=V(t.getAttribute("rpy"));u.position.set(e[0],e[1],e[2]),u.rotation.set(0,0,0),F(u,i)}}),u}return function(t){let e=[...t.children],i=e.filter(t=>"link"===t.nodeName.toLowerCase()),r=e.filter(t=>"joint"===t.nodeName.toLowerCase()),l=e.filter(t=>"material"===t.nodeName.toLowerCase()),c=new j;c.robotName=t.getAttribute("name"),c.urdfRobotNode=t,l.forEach(t=>{h[t.getAttribute("name")]=m(t)});let p={},f={};i.forEach(e=>{let i=e.getAttribute("name"),s=null===t.querySelector(`child[link="${i}"]`);a[i]=function(t,e,i,s=null){null===s&&(s=new g);let r=[...t.children];return s.name=t.getAttribute("name"),s.urdfName=s.name,s.urdfNode=t,o&&r.filter(t=>"visual"===t.nodeName.toLowerCase()).forEach(t=>{let i=d(t,h);if(s.add(i),t.hasAttribute("name")){let s=t.getAttribute("name");i.name=s,i.urdfName=s,e[s]=i}}),n&&r.filter(t=>"collision"===t.nodeName.toLowerCase()).forEach(t=>{let e=d(t);if(s.add(e),t.hasAttribute("name")){let s=t.getAttribute("name");e.name=s,e.urdfName=s,i[s]=e}}),s}(e,p,f,s?c:null)}),r.forEach(t=>{u[t.getAttribute("name")]=function(t){let e,i=[...t.children],r=t.getAttribute("type"),o=i.find(t=>"mimic"===t.nodeName.toLowerCase());o?((e=new w).mimicJoint=o.getAttribute("joint"),e.multiplier=parseFloat(o.getAttribute("multiplier")||1),e.offset=parseFloat(o.getAttribute("offset")||0)):e=new b,e.urdfNode=t,e.name=t.getAttribute("name"),e.urdfName=e.name,e.jointType=r;let n=null,l=null,u=[0,0,0],h=[0,0,0];i.forEach(t=>{let i=t.nodeName.toLowerCase();"origin"===i?(u=V(t.getAttribute("xyz")),h=V(t.getAttribute("rpy"))):"child"===i?l=a[t.getAttribute("link")]:"parent"===i?n=a[t.getAttribute("link")]:"limit"===i&&(e.limit.lower=parseFloat(t.getAttribute("lower")||e.limit.lower),e.limit.upper=parseFloat(t.getAttribute("upper")||e.limit.upper))}),n.add(e),e.add(l),F(e,h),e.position.set(u[0],u[1],u[2]);let c=i.filter(t=>"axis"===t.nodeName.toLowerCase())[0];if(c){let t=c.getAttribute("xyz").split(/\s+/g).map(t=>parseFloat(t));e.axis=new s.Pq0(t[0],t[1],t[2]),e.axis.normalize()}return e}(t)}),c.joints=u,c.links=a,c.colliders=f,c.visual=p;let y=Object.values(u);return y.forEach(t=>{t instanceof w&&u[t.mimicJoint].mimicJoints.push(t)}),y.forEach(t=>{let e=new Set,i=t=>{if(e.has(t))throw Error("URDFLoader: Detected an infinite loop of mimic joints.");e.add(t),t.mimicJoints.forEach(t=>{i(t)})};i(t)}),c.frames={...f,...p,...a,...u},c}((t instanceof Document?[...t.children]:t instanceof Element?[t]:[...new DOMParser().parseFromString(t,"text/xml").children]).filter(t=>"robot"===t.nodeName).pop())}defaultMeshLoader(t,e,i){/\.stl$/i.test(t)?new r.STLLoader(e).load(t,t=>{i(new s.eaF(t,new s.tXL))}):/\.dae$/i.test(t)?new o.q(e).load(t,t=>i(t.scene)):console.warn(`URDFLoader: Could not load model at ${t}.
2No loader available`)}}}
2,96007:(t,e,i)=>{i.d(e,{STLLoader:()=>r});var s=i(85339);class r extends s.aHM{constructor(t){super(t)}load(t,e,i,r){let o=this,n=new s.Y9S(this.manager);n.setPath(this.path),n.setResponseType("arraybuffer"),n.setRequestHeader(this.requestHeader),n.setWithCredentials(this.withCredentials),n.load(t,function(i){try{e(o.parse(i))}catch(e){r?r(e):console.error(e),o.manager.itemError(t)}},i,r)}parse(t){let e=function(t){if("string"!=typeof t)return t;{let e=new Uint8Array(t.length);for(let i=0;i<t.length;i++)e[i]=255&t.charCodeAt(i);return e.buffer||e}}(t);return!function(t){let e=new DataView(t);if(84+50*e.getUint32(80,!0)===e.byteLength)return!0;let i=[115,111,108,105,100];for(let t=0;t<5;t++)if(function(t,e,i){for(let s=0,r=t.length;s<r;s++)if(t[s]!==e.getUint8(i+s))return!1;return!0}(i,e,t))return!1;return!0}(e)?function(t){let e,i=new s.LoY,r=/solid([\s\S]*?)endsolid/g,o=/facet([\s\S]*?)endfacet/g,n=/solid\s(.+)/,l=0,a=/[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source,u=RegExp("vertex"+a+a+a,"g"),h=RegExp("normal"+a+a+a,"g"),c=[],m=[],d=[],p=new s.Pq0,f=0,g=0,b=0;for(;null!==(e=r.exec(t));){g=b;let t=e[0],s=null!==(e=n.exec(t))?e[1]:"";for(d.push(s);null!==(e=o.exec(t));){let t=0,i=0,s=e[0];for(;null!==(e=h.exec(s));)p.x=parseFloat(e[1]),p.y=parseFloat(e[2]),p.z=parseFloat(e[3]),i++;for(;null!==(e=u.exec(s));)c.push(parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3])),m.push(p.x,p.y,p.z),t++,b++;1!==i&&console.error("THREE.STLLoader: Something isn't right with the normal of face number "+l),3!==t&&console.error("THREE.STLLoader: Something isn't right with the vertices of face number "+l),l++}let r=g,a=b-g;i.userData.groupNames=d,i.addGroup(r,a,f),f++}return i.setAttribute("position",new s.qtW(c,3)),i.setAttribute("normal",new s.qtW(m,3)),i}("string"!=typeof t?new TextDecoder().decode(t):t):function(t){let e,i,r,o,n=new DataView(t),l=n.getUint32(80,!0),a,u,h,c=!1,m;for(let t=0;t<70;t++)0x434f4c4f==n.getUint32(t,!1)&&82==n.getUint8(t+4)&&61==n.getUint8(t+5)&&(c=!0,m=new Float32Array(3*l*3),e=n.getUint8(t+6)/255,i=n.getUint8(t+7)/255,r=n.getUint8(t+8)/255,o=n.getUint8(t+9)/255);let d=new s.LoY,p=new Float32Array(3*l*3),f=new Float32Array(3*l*3),g=new s.Q1f;for(let t=0;t<l;t++){let o=84+50*t,l=n.getFloat32(o,!0),d=n.getFloat32(o+4,!0),b=n.getFloat32(o+8,!0);if(c){let t=n.getUint16(o+48,!0);(32768&t)==0?(a=(31&t)/31,u=(t>>5&31)/31,h=(t>>10&31)/31):(a=e,u=i,h=r)}for(let e=1;e<=3;e++){let i=o+12*e,r=3*t*3+(e-1)*3;p[r]=n.getFloat32(i,!0),p[r+1]=n.getFloat32(i+4,!0),p[r+2]=n.getFloat32(i+8,!0),f[r]=l,f[r+1]=d,f[r+2]=b,c&&(g.setRGB(a,u,h,s.er$),m[r]=g.r,m[r+1]=g.g,m[r+2]=g.b)}}return d.setAttribute("position",new s.THS(p,3)),d.setAttribute("normal",new s.THS(f,3)),c&&(d.setAttribute("color",new s.THS(m,3)),d.hasColors=!0,d.alpha=o),d}(e)}}}}]);

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.