@ioai/robot_viewer 0.0.0-stage → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +183 -2
- package/bin/cli.js +83 -0
- package/dist/assets/css/PlotPanel-3e7d7555.css +1 -0
- package/dist/assets/js/ColladaLoader-2a0c4638.js +1 -0
- package/dist/assets/js/GLTFLoader-7a7f40d7.js +1 -0
- package/dist/assets/js/MTLLoader-b6ce88b7.js +1 -0
- package/dist/assets/js/OBJLoader-7667aa01.js +1 -0
- package/dist/assets/js/PlotPanel-64b4820e.js +1 -0
- package/dist/assets/js/STLLoader-de0915d4.js +1 -0
- package/dist/assets/js/URDFLoader-a34b6917.js +1 -0
- package/dist/assets/js/USDZLoader-64197f74.js +7 -0
- package/dist/assets/js/__vite-browser-external-afb87ea8.js +1 -0
- package/dist/assets/js/codemirror-c3cec7b3.js +1 -0
- package/dist/assets/js/codemirror-themes-e6995a6a.js +1 -0
- package/dist/assets/js/d3-2e308866.js +1 -0
- package/dist/assets/js/index-2e5294e6.js +6 -0
- package/dist/assets/js/mujoco_wasm-e013cb22.js +1 -0
- package/dist/assets/js/three-9c891de0.js +6 -0
- package/dist/camera-publish-worker.js +1 -0
- package/dist/favicon.svg +2 -0
- package/dist/heartbeat-worker.js +1 -0
- package/dist/index.html +4373 -0
- package/dist/models/mocap/blender_human.urdf +2319 -0
- package/dist/models/mocap/blender_human_skeleton_v4.urdf +1432 -0
- package/dist/models/mocap/blender_human_skeleton_v5.urdf +2717 -0
- package/dist/models/mocap/meshes/v4/L_base_link.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer1_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer1_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer1_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer1_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer1_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer1base.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer2_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer2_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer2_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer2_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer2_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer3_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer3_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer3_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer3_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer3_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer4_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer4_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer4_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer4_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer4_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer5_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer5_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer5_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer5_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_figer5_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_handle.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_handleseat.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_mark.STL +0 -0
- package/dist/models/mocap/meshes/v4/L_markseat.STL +0 -0
- package/dist/models/mocap/meshes/v4/Lgamepadbase.STL +0 -0
- package/dist/models/mocap/meshes/v4/Link1.STL +0 -0
- package/dist/models/mocap/meshes/v4/Link2.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_base_link.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer1_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer1_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer1_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer1_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer1_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer1base.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer2_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer2_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer2_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer2_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer2_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer3_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer3_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer3_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer3_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer3_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer4_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer4_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer4_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer4_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer4_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer5_1.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer5_2.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer5_3.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer5_4.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_figer5_5.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_handle.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_handleseat.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_mark.STL +0 -0
- package/dist/models/mocap/meshes/v4/R_markseat.STL +0 -0
- package/dist/models/mocap/meshes/v4/Rgamepadbase.STL +0 -0
- package/dist/models/mocap/meshes/v4/base_link.STL +0 -0
- package/dist/models/mocap/meshes/v4/r_figer1_1.STL +0 -0
- package/dist/models/mocap/meshes/v5/L_handleseat.STL +0 -0
- package/dist/models/mocap/meshes/v5/R_handleseat.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonBase.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonIndex1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonIndex2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonIndex3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonIndex4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonMiddle1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonMiddle2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonMiddle3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonMiddle4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonPinky1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonPinky2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonPinky3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonPinky4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonRing1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonRing2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonRing3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonRing4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonThumb1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonThumb2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonThumb3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonThumb4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_LeftSkeletonThumbBase.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonBase.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonIndex1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonIndex2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonIndex3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonIndex4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonMiddle1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonMiddle2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonMiddle3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonMiddle4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonPinky1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonPinky2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonPinky3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonPinky4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonRing1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonRing2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonRing3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonRing4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonThumb1.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonThumb2.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonThumb3.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonThumb4.STL +0 -0
- package/dist/models/mocap/meshes/v5/link_RightSkeletonThumbBase.STL +0 -0
- package/dist/scripts/start-rosbridge.sh +77 -0
- package/dist/usd-iframe.html +41 -0
- package/dist/usd-viewer/bindings/.gitattributes +2 -0
- package/dist/usd-viewer/bindings/emHdBindings.data +19331 -0
- package/dist/usd-viewer/bindings/emHdBindings.js +12281 -0
- package/dist/usd-viewer/bindings/emHdBindings.wasm +0 -0
- package/dist/usd-viewer/bindings/emHdBindings.worker.js +124 -0
- package/dist/usd-viewer/environments/neutral.hdr +0 -0
- package/dist/usd-viewer/error-handler.js +57 -0
- package/dist/usd-viewer/hydra/HydraPrimitives.js +740 -0
- package/dist/usd-viewer/hydra/TextureRegistry.js +130 -0
- package/dist/usd-viewer/hydra/ThreeJsRenderDelegate.js +65 -0
- package/dist/usd-viewer/index.d.ts +1 -0
- package/dist/usd-viewer/main.js +1018 -0
- package/dist/usd-viewer/usd.html +36 -0
- package/dist/usd-viewer/usdUtils.js +67 -0
- package/package.json +70 -4
- package/server/package.json +14 -0
- package/server/static-server.js +88 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{Ray as _0x1f4ce9,Plane as _0x4d1d80,EventDispatcher as _0x5beb18,Vector3 as _0x4a4464,MOUSE as _0x3de759,TOUCH as _0x1aa30e,Quaternion as _0x446862,Spherical as _0x32ac68,Vector2 as _0x30b554,MathUtils as _0x3bb9f9,Matrix4 as _0x4306a8,Object3D as _0x3ce289,Matrix3 as _0x4cb86b,BoxGeometry as _0x4e6eff,Euler as _0x1b9ef9,SphereGeometry as _0x1490e0,Raycaster as _0x248c63,Color as _0x5dc695,MeshPhongMaterial as _0x5096b9,SRGBColorSpace as _0xef5128,Group as _0x2026e8,CapsuleGeometry as _0x335f7f,CylinderGeometry as _0x19a545,Mesh as _0x576ce4,MeshStandardMaterial as _0x6d9f8c,HemisphereLight as _0x2aeed6,DirectionalLight as _0x2e8213,PMREMGenerator as _0x30369e,Scene as _0x18553b,EquirectangularReflectionMapping as _0x29a1d9,DataTexture as _0x102966,CubeTexture as _0xf26ba8,CubeReflectionMapping as _0x32b810,PlaneGeometry as _0x2459d9,ShadowMaterial as _0xa606be,DoubleSide as _0x781cf8,GridHelper as _0x5abcea,Sphere as _0x4d1928,MeshBasicMaterial as _0x1aacc9,BufferGeometry as _0x22b5b9,BufferAttribute as _0x353683,LineDashedMaterial as _0x453726,Line as _0x287fe0,ConeGeometry as _0x33f2f7,EllipseCurve as _0x4e17a0,CatmullRomCurve3 as _0x1664a6,TubeGeometry as _0x36ea6a,Box3 as _0x364b55,LineBasicMaterial as _0x5eda87,CanvasTexture as _0x61d2e6,SpriteMaterial as _0x5148c7,Sprite as _0x303e6f,PerspectiveCamera as _0xe52e6c,WebGLRenderer as _0x3f7489,PCFSoftShadowMap as _0x19a9d7,WireframeGeometry as _0x4fc26c,LineSegments as _0x53de03,ArrowHelper as _0x125652,ShaderMaterial as _0x3beb3b,OrthographicCamera as _0x432d38,HalfFloatType as _0x4ccf77,UnsignedByteType as _0x29d3b9,WebGLRenderTarget as _0x1075a7,RGBAFormat as _0x2333fa,NearestFilter as _0x4b1c10}from'./three-9c891de0.js';import{s as _0x404602,h as _0x5344b5,t as _0xce85f7,z as _0x5b2d25,l as _0x2eafbd,i as _0x2e08d1,d as _0x5d4df0}from'./d3-2e308866.js';import{a as _0xce7dac,b as _0xd9173a,x as _0x43129d,E as _0x4a1d4d}from'./codemirror-c3cec7b3.js';import{g as _0x1a9849,v as _0x564c36}from'./codemirror-themes-e6995a6a.js';!(function(){const _0x48686c=document['createElement']('link')['relList'];if(!(_0x48686c&&_0x48686c['supports']&&_0x48686c['supports']('modulepreload'))){for(const _0x35de47 of document['querySelectorAll']('link[rel=\x22modulepreload\x22]'))_0x454309(_0x35de47);new MutationObserver(_0x279bb3=>{for(const _0x3d5b77 of _0x279bb3)if('childList'===_0x3d5b77['type'])for(const _0x3ab8aa of _0x3d5b77['addedNodes'])'LINK'===_0x3ab8aa['tagName']&&'modulepreload'===_0x3ab8aa['rel']&&_0x454309(_0x3ab8aa);})['observe'](document,{'childList':!0x0,'subtree':!0x0});}function _0x454309(_0x153f72){if(_0x153f72['ep'])return;_0x153f72['ep']=!0x0;const _0x279971=function(_0x1c877b){const _0x132e41={};return _0x1c877b['integrity']&&(_0x132e41['integrity']=_0x1c877b['integrity']),_0x1c877b['referrerPolicy']&&(_0x132e41['referrerPolicy']=_0x1c877b['referrerPolicy']),'use-credentials'===_0x1c877b['crossOrigin']?_0x132e41['credentials']='include':'anonymous'===_0x1c877b['crossOrigin']?_0x132e41['credentials']='omit':_0x132e41['credentials']='same-origin',_0x132e41;}(_0x153f72);fetch(_0x153f72['href'],_0x279971);}}());const Se={},Ae=function(_0x5d39d2,_0xbc506,_0x11d9fb){if(!_0xbc506||0x0===_0xbc506['length'])return _0x5d39d2();const _0x267156=document['getElementsByTagName']('link');return Promise['all'](_0xbc506['map'](_0x4d7b78=>{if(_0x4d7b78=function(_0x232c22,_0x2fa7cb){return new URL(_0x232c22,_0x2fa7cb)['href'];}(_0x4d7b78,_0x11d9fb),_0x4d7b78 in Se)return;Se[_0x4d7b78]=!0x0;const _0x42e1b8=_0x4d7b78['endsWith']('.css'),_0x48c6b2=_0x42e1b8?'[rel=\x22stylesheet\x22]':'';if(!!_0x11d9fb)for(let _0x3c1c53=_0x267156['length']-0x1;_0x3c1c53>=0x0;_0x3c1c53--){const _0x48932b=_0x267156[_0x3c1c53];if(_0x48932b['href']===_0x4d7b78&&(!_0x42e1b8||'stylesheet'===_0x48932b['rel']))return;}else if(document['querySelector']('link[href=\x22'+_0x4d7b78+'\x22]'+_0x48c6b2))return;const _0x10f892=document['createElement']('link');return _0x10f892['rel']=_0x42e1b8?'stylesheet':'modulepreload',_0x42e1b8||(_0x10f892['as']='script',_0x10f892['crossOrigin']=''),_0x10f892['href']=_0x4d7b78,document['head']['appendChild'](_0x10f892),_0x42e1b8?new Promise((_0x3184e2,_0x2a140a)=>{_0x10f892['addEventListener']('load',_0x3184e2),_0x10f892['addEventListener']('error',()=>_0x2a140a(new Error('Unable\x20to\x20preload\x20CSS\x20for\x20'+_0x4d7b78)));}):void 0x0;}))['then'](()=>_0x5d39d2())['catch'](_0x3e4432=>{const _0x1971e8=new Event('vite:preloadError',{'cancelable':!0x0});if(_0x1971e8['payload']=_0x3e4432,window['dispatchEvent'](_0x1971e8),!_0x1971e8['defaultPrevented'])throw _0x3e4432;});},Le={'type':'change'},Ee={'type':'start'},Ce={'type':'end'},je=new _0x1f4ce9(),ke=new _0x4d1d80(),Te=Math['cos'](0x46*_0x3bb9f9['DEG2RAD']);class Oe extends _0x5beb18{constructor(_0x566959,_0x2cebf4){super(),this['object']=_0x566959,this['domElement']=_0x2cebf4,this['domElement']['style']['touchAction']='none',this['enabled']=!0x0,this['target']=new _0x4a4464(),this['cursor']=new _0x4a4464(),this['minDistance']=0x0,this['maxDistance']=0x1/0x0,this['minZoom']=0x0,this['maxZoom']=0x1/0x0,this['minTargetRadius']=0x0,this['maxTargetRadius']=0x1/0x0,this['minPolarAngle']=0x0,this['maxPolarAngle']=Math['PI'],this['minAzimuthAngle']=-0x1/0x0,this['maxAzimuthAngle']=0x1/0x0,this['enableDamping']=!0x1,this['dampingFactor']=0.05,this['enableZoom']=!0x0,this['zoomSpeed']=0x1,this['enableRotate']=!0x0,this['rotateSpeed']=0x1,this['enablePan']=!0x0,this['panSpeed']=0x1,this['screenSpacePanning']=!0x0,this['keyPanSpeed']=0x7,this['zoomToCursor']=!0x1,this['autoRotate']=!0x1,this['autoRotateSpeed']=0x2,this['keys']={'LEFT':'ArrowLeft','UP':'ArrowUp','RIGHT':'ArrowRight','BOTTOM':'ArrowDown'},this['mouseButtons']={'LEFT':_0x3de759['ROTATE'],'MIDDLE':_0x3de759['DOLLY'],'RIGHT':_0x3de759['PAN']},this['touches']={'ONE':_0x1aa30e['ROTATE'],'TWO':_0x1aa30e['DOLLY_PAN']},this['target0']=this['target']['clone'](),this['position0']=this['object']['position']['clone'](),this['zoom0']=this['object']['zoom'],this['_domElementKeyEvents']=null,this['getPolarAngle']=function(){return _0x3eebf6['phi'];},this['getAzimuthalAngle']=function(){return _0x3eebf6['theta'];},this['getDistance']=function(){return this['object']['position']['distanceTo'](this['target']);},this['listenToKeyEvents']=function(_0x3cf023){_0x3cf023['addEventListener']('keydown',_0x44d22f),this['_domElementKeyEvents']=_0x3cf023;},this['stopListenToKeyEvents']=function(){this['_domElementKeyEvents']['removeEventListener']('keydown',_0x44d22f),this['_domElementKeyEvents']=null;},this['saveState']=function(){_0x86640a['target0']['copy'](_0x86640a['target']),_0x86640a['position0']['copy'](_0x86640a['object']['position']),_0x86640a['zoom0']=_0x86640a['object']['zoom'];},this['reset']=function(){_0x86640a['target']['copy'](_0x86640a['target0']),_0x86640a['object']['position']['copy'](_0x86640a['position0']),_0x86640a['object']['zoom']=_0x86640a['zoom0'],_0x86640a['object']['updateProjectionMatrix'](),_0x86640a['dispatchEvent'](Le),_0x86640a['update'](),_0x2db959=_0x551269['NONE'];},this['update']=(function(){const _0x1e1969=new _0x4a4464(),_0xc06eed=new _0x446862()['setFromUnitVectors'](_0x566959['up'],new _0x4a4464(0x0,0x1,0x0)),_0x373347=_0xc06eed['clone']()['invert'](),_0x46eb0f=new _0x4a4464(),_0x2a36e0=new _0x446862(),_0xa082c7=new _0x4a4464(),_0x58b765=0x2*Math['PI'];return function(_0x4d3a5d=null){const _0x339d7d=_0x86640a['object']['position'];_0x1e1969['copy'](_0x339d7d)['sub'](_0x86640a['target']),_0x1e1969['applyQuaternion'](_0xc06eed),_0x3eebf6['setFromVector3'](_0x1e1969),_0x86640a['autoRotate']&&_0x2db959===_0x551269['NONE']&&_0x10b597(function(_0x376986){return null!==_0x376986?0x2*Math['PI']/0x3c*_0x86640a['autoRotateSpeed']*_0x376986:0x2*Math['PI']/0x3c/0x3c*_0x86640a['autoRotateSpeed'];}(_0x4d3a5d)),_0x86640a['enableDamping']?(_0x3eebf6['theta']+=_0xfb2cc7['theta']*_0x86640a['dampingFactor'],_0x3eebf6['phi']+=_0xfb2cc7['phi']*_0x86640a['dampingFactor']):(_0x3eebf6['theta']+=_0xfb2cc7['theta'],_0x3eebf6['phi']+=_0xfb2cc7['phi']);let _0x212856=_0x86640a['minAzimuthAngle'],_0x36d0e6=_0x86640a['maxAzimuthAngle'];isFinite(_0x212856)&&isFinite(_0x36d0e6)&&(_0x212856<-Math['PI']?_0x212856+=_0x58b765:_0x212856>Math['PI']&&(_0x212856-=_0x58b765),_0x36d0e6<-Math['PI']?_0x36d0e6+=_0x58b765:_0x36d0e6>Math['PI']&&(_0x36d0e6-=_0x58b765),_0x3eebf6['theta']=_0x212856<=_0x36d0e6?Math['max'](_0x212856,Math['min'](_0x36d0e6,_0x3eebf6['theta'])):_0x3eebf6['theta']>(_0x212856+_0x36d0e6)/0x2?Math['max'](_0x212856,_0x3eebf6['theta']):Math['min'](_0x36d0e6,_0x3eebf6['theta'])),_0x3eebf6['phi']=Math['max'](_0x86640a['minPolarAngle'],Math['min'](_0x86640a['maxPolarAngle'],_0x3eebf6['phi'])),_0x3eebf6['makeSafe'](),!0x0===_0x86640a['enableDamping']?_0x86640a['target']['addScaledVector'](_0x34e463,_0x86640a['dampingFactor']):_0x86640a['target']['add'](_0x34e463),_0x86640a['target']['sub'](_0x86640a['cursor']),_0x86640a['target']['clampLength'](_0x86640a['minTargetRadius'],_0x86640a['maxTargetRadius']),_0x86640a['target']['add'](_0x86640a['cursor']);let _0xcf1a99=!0x1;if(_0x86640a['zoomToCursor']&&_0x3dc9bb||_0x86640a['object']['isOrthographicCamera'])_0x3eebf6['radius']=_0xfbc1c3(_0x3eebf6['radius']);else{const _0x19f1f5=_0x3eebf6['radius'];_0x3eebf6['radius']=_0xfbc1c3(_0x3eebf6['radius']*_0x1f4a30),_0xcf1a99=_0x19f1f5!=_0x3eebf6['radius'];}if(_0x1e1969['setFromSpherical'](_0x3eebf6),_0x1e1969['applyQuaternion'](_0x373347),_0x339d7d['copy'](_0x86640a['target'])['add'](_0x1e1969),_0x86640a['object']['lookAt'](_0x86640a['target']),!0x0===_0x86640a['enableDamping']?(_0xfb2cc7['theta']*=0x1-_0x86640a['dampingFactor'],_0xfb2cc7['phi']*=0x1-_0x86640a['dampingFactor'],_0x34e463['multiplyScalar'](0x1-_0x86640a['dampingFactor'])):(_0xfb2cc7['set'](0x0,0x0,0x0),_0x34e463['set'](0x0,0x0,0x0)),_0x86640a['zoomToCursor']&&_0x3dc9bb){let _0x534dcb=null;if(_0x86640a['object']['isPerspectiveCamera']){const _0x584d82=_0x1e1969['length']();_0x534dcb=_0xfbc1c3(_0x584d82*_0x1f4a30);const _0x360031=_0x584d82-_0x534dcb;_0x86640a['object']['position']['addScaledVector'](_0x52eb9d,_0x360031),_0x86640a['object']['updateMatrixWorld'](),_0xcf1a99=!!_0x360031;}else if(_0x86640a['object']['isOrthographicCamera']){const _0x1e9b7b=new _0x4a4464(_0x1d5433['x'],_0x1d5433['y'],0x0);_0x1e9b7b['unproject'](_0x86640a['object']);const _0x5f4e8c=_0x86640a['object']['zoom'];_0x86640a['object']['zoom']=Math['max'](_0x86640a['minZoom'],Math['min'](_0x86640a['maxZoom'],_0x86640a['object']['zoom']/_0x1f4a30)),_0x86640a['object']['updateProjectionMatrix'](),_0xcf1a99=_0x5f4e8c!==_0x86640a['object']['zoom'];const _0x2896d9=new _0x4a4464(_0x1d5433['x'],_0x1d5433['y'],0x0);_0x2896d9['unproject'](_0x86640a['object']),_0x86640a['object']['position']['sub'](_0x2896d9)['add'](_0x1e9b7b),_0x86640a['object']['updateMatrixWorld'](),_0x534dcb=_0x1e1969['length']();}else _0x86640a['zoomToCursor']=!0x1;null!==_0x534dcb&&(this['screenSpacePanning']?_0x86640a['target']['set'](0x0,0x0,-0x1)['transformDirection'](_0x86640a['object']['matrix'])['multiplyScalar'](_0x534dcb)['add'](_0x86640a['object']['position']):(je['origin']['copy'](_0x86640a['object']['position']),je['direction']['set'](0x0,0x0,-0x1)['transformDirection'](_0x86640a['object']['matrix']),Math['abs'](_0x86640a['object']['up']['dot'](je['direction']))<Te?_0x566959['lookAt'](_0x86640a['target']):(ke['setFromNormalAndCoplanarPoint'](_0x86640a['object']['up'],_0x86640a['target']),je['intersectPlane'](ke,_0x86640a['target']))));}else if(_0x86640a['object']['isOrthographicCamera']){const _0x2ef43b=_0x86640a['object']['zoom'];_0x86640a['object']['zoom']=Math['max'](_0x86640a['minZoom'],Math['min'](_0x86640a['maxZoom'],_0x86640a['object']['zoom']/_0x1f4a30)),_0x2ef43b!==_0x86640a['object']['zoom']&&(_0x86640a['object']['updateProjectionMatrix'](),_0xcf1a99=!0x0);}return _0x1f4a30=0x1,_0x3dc9bb=!0x1,!!(_0xcf1a99||_0x46eb0f['distanceToSquared'](_0x86640a['object']['position'])>_0x55e5ff||0x8*(0x1-_0x2a36e0['dot'](_0x86640a['object']['quaternion']))>_0x55e5ff||_0xa082c7['distanceToSquared'](_0x86640a['target'])>_0x55e5ff)&&(_0x86640a['dispatchEvent'](Le),_0x46eb0f['copy'](_0x86640a['object']['position']),_0x2a36e0['copy'](_0x86640a['object']['quaternion']),_0xa082c7['copy'](_0x86640a['target']),!0x0);};}()),this['dispose']=function(){_0x86640a['domElement']['removeEventListener']('contextmenu',_0x286222),_0x86640a['domElement']['removeEventListener']('pointerdown',_0x4d9ba2),_0x86640a['domElement']['removeEventListener']('pointercancel',_0x199fb0),_0x86640a['domElement']['removeEventListener']('wheel',_0x44f3ce),_0x86640a['domElement']['removeEventListener']('pointermove',_0x53d8ad),_0x86640a['domElement']['removeEventListener']('pointerup',_0x199fb0);_0x86640a['domElement']['getRootNode']()['removeEventListener']('keydown',_0x28cbe4,{'capture':!0x0}),null!==_0x86640a['_domElementKeyEvents']&&(_0x86640a['_domElementKeyEvents']['removeEventListener']('keydown',_0x44d22f),_0x86640a['_domElementKeyEvents']=null);};const _0x86640a=this,_0x551269={'NONE':-0x1,'ROTATE':0x0,'DOLLY':0x1,'PAN':0x2,'TOUCH_ROTATE':0x3,'TOUCH_PAN':0x4,'TOUCH_DOLLY_PAN':0x5,'TOUCH_DOLLY_ROTATE':0x6};let _0x2db959=_0x551269['NONE'];const _0x55e5ff=0.000001,_0x3eebf6=new _0x32ac68(),_0xfb2cc7=new _0x32ac68();let _0x1f4a30=0x1;const _0x34e463=new _0x4a4464(),_0x42e523=new _0x30b554(),_0x98b783=new _0x30b554(),_0x244666=new _0x30b554(),_0x2056c8=new _0x30b554(),_0x43c7e2=new _0x30b554(),_0x363506=new _0x30b554(),_0x3c841d=new _0x30b554(),_0x10d683=new _0x30b554(),_0x15b7b6=new _0x30b554(),_0x52eb9d=new _0x4a4464(),_0x1d5433=new _0x30b554();let _0x3dc9bb=!0x1;const _0x483c07=[],_0x5a4a92={};let _0x41ea33=!0x1;function _0xb914ce(_0x1734fb){const _0x1714df=Math['abs'](0.01*_0x1734fb);return Math['pow'](0.95,_0x86640a['zoomSpeed']*_0x1714df);}function _0x10b597(_0x249202){_0xfb2cc7['theta']-=_0x249202;}function _0x278995(_0x50776a){_0xfb2cc7['phi']-=_0x50776a;}const _0x4de2aa=(function(){const _0x1ac050=new _0x4a4464();return function(_0x47dedd,_0x5eb880){_0x1ac050['setFromMatrixColumn'](_0x5eb880,0x0),_0x1ac050['multiplyScalar'](-_0x47dedd),_0x34e463['add'](_0x1ac050);};}()),_0x4a1cb9=(function(){const _0x71b08b=new _0x4a4464();return function(_0x258f82,_0x9f4950){!0x0===_0x86640a['screenSpacePanning']?_0x71b08b['setFromMatrixColumn'](_0x9f4950,0x1):(_0x71b08b['setFromMatrixColumn'](_0x9f4950,0x0),_0x71b08b['crossVectors'](_0x86640a['object']['up'],_0x71b08b)),_0x71b08b['multiplyScalar'](_0x258f82),_0x34e463['add'](_0x71b08b);};}()),_0x6ba048=(function(){const _0x1980f0=new _0x4a4464();return function(_0xf5dafc,_0x17883a){const _0x123ceb=_0x86640a['domElement'];if(_0x86640a['object']['isPerspectiveCamera']){const _0xaad2f1=_0x86640a['object']['position'];_0x1980f0['copy'](_0xaad2f1)['sub'](_0x86640a['target']);let _0x127bc0=_0x1980f0['length']();_0x127bc0*=Math['tan'](_0x86640a['object']['fov']/0x2*Math['PI']/0xb4),_0x4de2aa(0x2*_0xf5dafc*_0x127bc0/_0x123ceb['clientHeight'],_0x86640a['object']['matrix']),_0x4a1cb9(0x2*_0x17883a*_0x127bc0/_0x123ceb['clientHeight'],_0x86640a['object']['matrix']);}else _0x86640a['object']['isOrthographicCamera']?(_0x4de2aa(_0xf5dafc*(_0x86640a['object']['right']-_0x86640a['object']['left'])/_0x86640a['object']['zoom']/_0x123ceb['clientWidth'],_0x86640a['object']['matrix']),_0x4a1cb9(_0x17883a*(_0x86640a['object']['top']-_0x86640a['object']['bottom'])/_0x86640a['object']['zoom']/_0x123ceb['clientHeight'],_0x86640a['object']['matrix'])):_0x86640a['enablePan']=!0x1;};}());function _0x26fc23(_0x5c8204){_0x86640a['object']['isPerspectiveCamera']||_0x86640a['object']['isOrthographicCamera']?_0x1f4a30/=_0x5c8204:_0x86640a['enableZoom']=!0x1;}function _0x520f35(_0x194389){_0x86640a['object']['isPerspectiveCamera']||_0x86640a['object']['isOrthographicCamera']?_0x1f4a30*=_0x194389:_0x86640a['enableZoom']=!0x1;}function _0x14ad28(_0x37ea07,_0x204b47){if(!_0x86640a['zoomToCursor'])return;_0x3dc9bb=!0x0;const _0x28913b=_0x86640a['domElement']['getBoundingClientRect'](),_0x3135fa=_0x37ea07-_0x28913b['left'],_0x1c583c=_0x204b47-_0x28913b['top'],_0x25f1ca=_0x28913b['width'],_0x30a98e=_0x28913b['height'];_0x1d5433['x']=_0x3135fa/_0x25f1ca*0x2-0x1,_0x1d5433['y']=-_0x1c583c/_0x30a98e*0x2+0x1,_0x52eb9d['set'](_0x1d5433['x'],_0x1d5433['y'],0x1)['unproject'](_0x86640a['object'])['sub'](_0x86640a['object']['position'])['normalize']();}function _0xfbc1c3(_0x53f2a3){return Math['max'](_0x86640a['minDistance'],Math['min'](_0x86640a['maxDistance'],_0x53f2a3));}function _0x232cf8(_0x1cec62){_0x42e523['set'](_0x1cec62['clientX'],_0x1cec62['clientY']);}function _0x4d57ea(_0x2cae1f){_0x2056c8['set'](_0x2cae1f['clientX'],_0x2cae1f['clientY']);}function _0x214607(_0x3a89ab){if(0x1===_0x483c07['length'])_0x42e523['set'](_0x3a89ab['pageX'],_0x3a89ab['pageY']);else{const _0x1c45b5=_0x144a9f(_0x3a89ab),_0x4d293b=0.5*(_0x3a89ab['pageX']+_0x1c45b5['x']),_0x3fdc47=0.5*(_0x3a89ab['pageY']+_0x1c45b5['y']);_0x42e523['set'](_0x4d293b,_0x3fdc47);}}function _0xada20(_0x22751d){if(0x1===_0x483c07['length'])_0x2056c8['set'](_0x22751d['pageX'],_0x22751d['pageY']);else{const _0x3d2f78=_0x144a9f(_0x22751d),_0x15f617=0.5*(_0x22751d['pageX']+_0x3d2f78['x']),_0x2cdf52=0.5*(_0x22751d['pageY']+_0x3d2f78['y']);_0x2056c8['set'](_0x15f617,_0x2cdf52);}}function _0x383fe1(_0x5460ca){const _0x2ac95e=_0x144a9f(_0x5460ca),_0x10c728=_0x5460ca['pageX']-_0x2ac95e['x'],_0x5f497b=_0x5460ca['pageY']-_0x2ac95e['y'],_0x45c1c6=Math['sqrt'](_0x10c728*_0x10c728+_0x5f497b*_0x5f497b);_0x3c841d['set'](0x0,_0x45c1c6);}function _0x1cf7c2(_0x5012db){if(0x1==_0x483c07['length'])_0x98b783['set'](_0x5012db['pageX'],_0x5012db['pageY']);else{const _0x3502da=_0x144a9f(_0x5012db),_0x18374c=0.5*(_0x5012db['pageX']+_0x3502da['x']),_0x54299c=0.5*(_0x5012db['pageY']+_0x3502da['y']);_0x98b783['set'](_0x18374c,_0x54299c);}_0x244666['subVectors'](_0x98b783,_0x42e523)['multiplyScalar'](_0x86640a['rotateSpeed']);const _0x428c68=_0x86640a['domElement'];_0x10b597(0x2*Math['PI']*_0x244666['x']/_0x428c68['clientHeight']),_0x278995(0x2*Math['PI']*_0x244666['y']/_0x428c68['clientHeight']),_0x42e523['copy'](_0x98b783);}function _0x5e795d(_0x2e7dcb){if(0x1===_0x483c07['length'])_0x43c7e2['set'](_0x2e7dcb['pageX'],_0x2e7dcb['pageY']);else{const _0x576807=_0x144a9f(_0x2e7dcb),_0x1f29ba=0.5*(_0x2e7dcb['pageX']+_0x576807['x']),_0x427515=0.5*(_0x2e7dcb['pageY']+_0x576807['y']);_0x43c7e2['set'](_0x1f29ba,_0x427515);}_0x363506['subVectors'](_0x43c7e2,_0x2056c8)['multiplyScalar'](_0x86640a['panSpeed']),_0x6ba048(_0x363506['x'],_0x363506['y']),_0x2056c8['copy'](_0x43c7e2);}function _0x38108a(_0x11736c){const _0x929e3=_0x144a9f(_0x11736c),_0x5800ba=_0x11736c['pageX']-_0x929e3['x'],_0x21c664=_0x11736c['pageY']-_0x929e3['y'],_0x864ef8=Math['sqrt'](_0x5800ba*_0x5800ba+_0x21c664*_0x21c664);_0x10d683['set'](0x0,_0x864ef8),_0x15b7b6['set'](0x0,Math['pow'](_0x10d683['y']/_0x3c841d['y'],_0x86640a['zoomSpeed'])),_0x26fc23(_0x15b7b6['y']),_0x3c841d['copy'](_0x10d683);_0x14ad28(0.5*(_0x11736c['pageX']+_0x929e3['x']),0.5*(_0x11736c['pageY']+_0x929e3['y']));}function _0x4d9ba2(_0x102b6e){!0x1!==_0x86640a['enabled']&&(0x0===_0x483c07['length']&&(_0x86640a['domElement']['setPointerCapture'](_0x102b6e['pointerId']),_0x86640a['domElement']['addEventListener']('pointermove',_0x53d8ad),_0x86640a['domElement']['addEventListener']('pointerup',_0x199fb0)),function(_0x38e703){for(let _0x2876c4=0x0;_0x2876c4<_0x483c07['length'];_0x2876c4++)if(_0x483c07[_0x2876c4]==_0x38e703['pointerId'])return!0x0;return!0x1;}(_0x102b6e)||(function(_0x8c9be3){_0x483c07['push'](_0x8c9be3['pointerId']);}(_0x102b6e),'touch'===_0x102b6e['pointerType']?_0x245a32(_0x102b6e):function(_0x325533){let _0x30bcea;switch(_0x325533['button']){case 0x0:_0x30bcea=_0x86640a['mouseButtons']['LEFT'];break;case 0x1:_0x30bcea=_0x86640a['mouseButtons']['MIDDLE'];break;case 0x2:_0x30bcea=_0x86640a['mouseButtons']['RIGHT'];break;default:_0x30bcea=-0x1;}switch(_0x30bcea){case _0x3de759['DOLLY']:if(!0x1===_0x86640a['enableZoom'])return;!function(_0x14e13f){_0x14ad28(_0x14e13f['clientX'],_0x14e13f['clientX']),_0x3c841d['set'](_0x14e13f['clientX'],_0x14e13f['clientY']);}(_0x325533),_0x2db959=_0x551269['DOLLY'];break;case _0x3de759['ROTATE']:if(_0x325533['ctrlKey']||_0x325533['metaKey']||_0x325533['shiftKey']){if(!0x1===_0x86640a['enablePan'])return;_0x4d57ea(_0x325533),_0x2db959=_0x551269['PAN'];}else{if(!0x1===_0x86640a['enableRotate'])return;_0x232cf8(_0x325533),_0x2db959=_0x551269['ROTATE'];}break;case _0x3de759['PAN']:if(_0x325533['ctrlKey']||_0x325533['metaKey']||_0x325533['shiftKey']){if(!0x1===_0x86640a['enableRotate'])return;_0x232cf8(_0x325533),_0x2db959=_0x551269['ROTATE'];}else{if(!0x1===_0x86640a['enablePan'])return;_0x4d57ea(_0x325533),_0x2db959=_0x551269['PAN'];}break;default:_0x2db959=_0x551269['NONE'];}_0x2db959!==_0x551269['NONE']&&_0x86640a['dispatchEvent'](Ee);}(_0x102b6e)));}function _0x53d8ad(_0x213bae){!0x1!==_0x86640a['enabled']&&('touch'===_0x213bae['pointerType']?function(_0xf8fd05){switch(_0x3fc549(_0xf8fd05),_0x2db959){case _0x551269['TOUCH_ROTATE']:if(!0x1===_0x86640a['enableRotate'])return;_0x1cf7c2(_0xf8fd05),_0x86640a['update']();break;case _0x551269['TOUCH_PAN']:if(!0x1===_0x86640a['enablePan'])return;_0x5e795d(_0xf8fd05),_0x86640a['update']();break;case _0x551269['TOUCH_DOLLY_PAN']:if(!0x1===_0x86640a['enableZoom']&&!0x1===_0x86640a['enablePan'])return;!function(_0x2efb51){_0x86640a['enableZoom']&&_0x38108a(_0x2efb51),_0x86640a['enablePan']&&_0x5e795d(_0x2efb51);}(_0xf8fd05),_0x86640a['update']();break;case _0x551269['TOUCH_DOLLY_ROTATE']:if(!0x1===_0x86640a['enableZoom']&&!0x1===_0x86640a['enableRotate'])return;!function(_0x35da64){_0x86640a['enableZoom']&&_0x38108a(_0x35da64),_0x86640a['enableRotate']&&_0x1cf7c2(_0x35da64);}(_0xf8fd05),_0x86640a['update']();break;default:_0x2db959=_0x551269['NONE'];}}(_0x213bae):function(_0x20db60){switch(_0x2db959){case _0x551269['ROTATE']:if(!0x1===_0x86640a['enableRotate'])return;!function(_0x245f2e){_0x98b783['set'](_0x245f2e['clientX'],_0x245f2e['clientY']),_0x244666['subVectors'](_0x98b783,_0x42e523)['multiplyScalar'](_0x86640a['rotateSpeed']);const _0x2d7df3=_0x86640a['domElement'];_0x10b597(0x2*Math['PI']*_0x244666['x']/_0x2d7df3['clientHeight']),_0x278995(0x2*Math['PI']*_0x244666['y']/_0x2d7df3['clientHeight']),_0x42e523['copy'](_0x98b783),_0x86640a['update']();}(_0x20db60);break;case _0x551269['DOLLY']:if(!0x1===_0x86640a['enableZoom'])return;!function(_0x591154){_0x10d683['set'](_0x591154['clientX'],_0x591154['clientY']),_0x15b7b6['subVectors'](_0x10d683,_0x3c841d),_0x15b7b6['y']>0x0?_0x26fc23(_0xb914ce(_0x15b7b6['y'])):_0x15b7b6['y']<0x0&&_0x520f35(_0xb914ce(_0x15b7b6['y'])),_0x3c841d['copy'](_0x10d683),_0x86640a['update']();}(_0x20db60);break;case _0x551269['PAN']:if(!0x1===_0x86640a['enablePan'])return;!function(_0x2228ae){_0x43c7e2['set'](_0x2228ae['clientX'],_0x2228ae['clientY']),_0x363506['subVectors'](_0x43c7e2,_0x2056c8)['multiplyScalar'](_0x86640a['panSpeed']),_0x6ba048(_0x363506['x'],_0x363506['y']),_0x2056c8['copy'](_0x43c7e2),_0x86640a['update']();}(_0x20db60);}}(_0x213bae));}function _0x199fb0(_0x2c5f8a){switch(function(_0xd69981){delete _0x5a4a92[_0xd69981['pointerId']];for(let _0xf24e30=0x0;_0xf24e30<_0x483c07['length'];_0xf24e30++)if(_0x483c07[_0xf24e30]==_0xd69981['pointerId'])return void _0x483c07['splice'](_0xf24e30,0x1);}(_0x2c5f8a),_0x483c07['length']){case 0x0:_0x86640a['domElement']['releasePointerCapture'](_0x2c5f8a['pointerId']),_0x86640a['domElement']['removeEventListener']('pointermove',_0x53d8ad),_0x86640a['domElement']['removeEventListener']('pointerup',_0x199fb0),_0x86640a['dispatchEvent'](Ce),_0x2db959=_0x551269['NONE'];break;case 0x1:const _0x13354f=_0x483c07[0x0],_0x1c6202=_0x5a4a92[_0x13354f];_0x245a32({'pointerId':_0x13354f,'pageX':_0x1c6202['x'],'pageY':_0x1c6202['y']});}}function _0x44f3ce(_0x535802){!0x1!==_0x86640a['enabled']&&!0x1!==_0x86640a['enableZoom']&&_0x2db959===_0x551269['NONE']&&(_0x535802['preventDefault'](),_0x86640a['dispatchEvent'](Ee),function(_0x4953f3){_0x14ad28(_0x4953f3['clientX'],_0x4953f3['clientY']),_0x4953f3['deltaY']<0x0?_0x520f35(_0xb914ce(_0x4953f3['deltaY'])):_0x4953f3['deltaY']>0x0&&_0x26fc23(_0xb914ce(_0x4953f3['deltaY'])),_0x86640a['update']();}(function(_0x31c743){const _0x1cf990=_0x31c743['deltaMode'],_0x3742ca={'clientX':_0x31c743['clientX'],'clientY':_0x31c743['clientY'],'deltaY':_0x31c743['deltaY']};switch(_0x1cf990){case 0x1:_0x3742ca['deltaY']*=0x10;break;case 0x2:_0x3742ca['deltaY']*=0x64;}_0x31c743['ctrlKey']&&!_0x41ea33&&(_0x3742ca['deltaY']*=0xa);return _0x3742ca;}(_0x535802)),_0x86640a['dispatchEvent'](Ce));}function _0x28cbe4(_0x52d9ef){if('Control'===_0x52d9ef['key']){_0x41ea33=!0x0;_0x86640a['domElement']['getRootNode']()['addEventListener']('keyup',_0x464822,{'passive':!0x0,'capture':!0x0});}}function _0x464822(_0x4cfdc3){if('Control'===_0x4cfdc3['key']){_0x41ea33=!0x1;_0x86640a['domElement']['getRootNode']()['removeEventListener']('keyup',_0x464822,{'passive':!0x0,'capture':!0x0});}}function _0x44d22f(_0x2c3431){!0x1!==_0x86640a['enabled']&&!0x1!==_0x86640a['enablePan']&&function(_0x19663d){let _0x55767e=!0x1;switch(_0x19663d['code']){case _0x86640a['keys']['UP']:_0x19663d['ctrlKey']||_0x19663d['metaKey']||_0x19663d['shiftKey']?_0x278995(0x2*Math['PI']*_0x86640a['rotateSpeed']/_0x86640a['domElement']['clientHeight']):_0x6ba048(0x0,_0x86640a['keyPanSpeed']),_0x55767e=!0x0;break;case _0x86640a['keys']['BOTTOM']:_0x19663d['ctrlKey']||_0x19663d['metaKey']||_0x19663d['shiftKey']?_0x278995(-0x2*Math['PI']*_0x86640a['rotateSpeed']/_0x86640a['domElement']['clientHeight']):_0x6ba048(0x0,-_0x86640a['keyPanSpeed']),_0x55767e=!0x0;break;case _0x86640a['keys']['LEFT']:_0x19663d['ctrlKey']||_0x19663d['metaKey']||_0x19663d['shiftKey']?_0x10b597(0x2*Math['PI']*_0x86640a['rotateSpeed']/_0x86640a['domElement']['clientHeight']):_0x6ba048(_0x86640a['keyPanSpeed'],0x0),_0x55767e=!0x0;break;case _0x86640a['keys']['RIGHT']:_0x19663d['ctrlKey']||_0x19663d['metaKey']||_0x19663d['shiftKey']?_0x10b597(-0x2*Math['PI']*_0x86640a['rotateSpeed']/_0x86640a['domElement']['clientHeight']):_0x6ba048(-_0x86640a['keyPanSpeed'],0x0),_0x55767e=!0x0;}_0x55767e&&(_0x19663d['preventDefault'](),_0x86640a['update']());}(_0x2c3431);}function _0x245a32(_0x5cab8c){switch(_0x3fc549(_0x5cab8c),_0x483c07['length']){case 0x1:switch(_0x86640a['touches']['ONE']){case _0x1aa30e['ROTATE']:if(!0x1===_0x86640a['enableRotate'])return;_0x214607(_0x5cab8c),_0x2db959=_0x551269['TOUCH_ROTATE'];break;case _0x1aa30e['PAN']:if(!0x1===_0x86640a['enablePan'])return;_0xada20(_0x5cab8c),_0x2db959=_0x551269['TOUCH_PAN'];break;default:_0x2db959=_0x551269['NONE'];}break;case 0x2:switch(_0x86640a['touches']['TWO']){case _0x1aa30e['DOLLY_PAN']:if(!0x1===_0x86640a['enableZoom']&&!0x1===_0x86640a['enablePan'])return;!function(_0x5303fe){_0x86640a['enableZoom']&&_0x383fe1(_0x5303fe),_0x86640a['enablePan']&&_0xada20(_0x5303fe);}(_0x5cab8c),_0x2db959=_0x551269['TOUCH_DOLLY_PAN'];break;case _0x1aa30e['DOLLY_ROTATE']:if(!0x1===_0x86640a['enableZoom']&&!0x1===_0x86640a['enableRotate'])return;!function(_0x3b8334){_0x86640a['enableZoom']&&_0x383fe1(_0x3b8334),_0x86640a['enableRotate']&&_0x214607(_0x3b8334);}(_0x5cab8c),_0x2db959=_0x551269['TOUCH_DOLLY_ROTATE'];break;default:_0x2db959=_0x551269['NONE'];}break;default:_0x2db959=_0x551269['NONE'];}_0x2db959!==_0x551269['NONE']&&_0x86640a['dispatchEvent'](Ee);}function _0x286222(_0x3a0c3c){!0x1!==_0x86640a['enabled']&&_0x3a0c3c['preventDefault']();}function _0x3fc549(_0x260baa){let _0x2076fe=_0x5a4a92[_0x260baa['pointerId']];void 0x0===_0x2076fe&&(_0x2076fe=new _0x30b554(),_0x5a4a92[_0x260baa['pointerId']]=_0x2076fe),_0x2076fe['set'](_0x260baa['pageX'],_0x260baa['pageY']);}function _0x144a9f(_0x227629){const _0x57c95b=_0x227629['pointerId']===_0x483c07[0x0]?_0x483c07[0x1]:_0x483c07[0x0];return _0x5a4a92[_0x57c95b];}_0x86640a['domElement']['addEventListener']('contextmenu',_0x286222),_0x86640a['domElement']['addEventListener']('pointerdown',_0x4d9ba2),_0x86640a['domElement']['addEventListener']('pointercancel',_0x199fb0),_0x86640a['domElement']['addEventListener']('wheel',_0x44f3ce,{'passive':!0x1});_0x86640a['domElement']['getRootNode']()['addEventListener']('keydown',_0x28cbe4,{'passive':!0x0,'capture':!0x0}),this['update']();}}class Fe extends _0x3ce289{constructor(_0x5c531b=document['createElement']('div')){super(),this['isCSS2DObject']=!0x0,this['element']=_0x5c531b,this['element']['style']['position']='absolute',this['element']['style']['userSelect']='none',this['element']['setAttribute']('draggable',!0x1),this['center']=new _0x30b554(0.5,0.5),this['addEventListener']('removed',function(){this['traverse'](function(_0x5600ab){_0x5600ab['element']instanceof Element&&null!==_0x5600ab['element']['parentNode']&&_0x5600ab['element']['parentNode']['removeChild'](_0x5600ab['element']);});});}['copy'](_0x18d296,_0x11feb9){return super['copy'](_0x18d296,_0x11feb9),this['element']=_0x18d296['element']['cloneNode'](!0x0),this['center']=_0x18d296['center'],this;}}const De=new _0x4a4464(),Pe=new _0x4306a8(),Ie=new _0x4306a8(),Re=new _0x4a4464(),ze=new _0x4a4464();class Ne{constructor(_0x587da3={}){const _0x27f7ef=this;let _0xcd0b0d,_0x5b130b,_0x35b5b4,_0x21ae4f;const _0x259b9e={'objects':new WeakMap()},_0x1c2025=void 0x0!==_0x587da3['element']?_0x587da3['element']:document['createElement']('div');function _0x132d5d(_0x3f97ec,_0x427b14,_0x3082bc){if(_0x3f97ec['isCSS2DObject']){De['setFromMatrixPosition'](_0x3f97ec['matrixWorld']),De['applyMatrix4'](Ie);const _0x2f89da=!0x0===_0x3f97ec['visible']&&De['z']>=-0x1&&De['z']<=0x1&&!0x0===_0x3f97ec['layers']['test'](_0x3082bc['layers']);if(_0x3f97ec['element']['style']['display']=!0x0===_0x2f89da?'':'none',!0x0===_0x2f89da){_0x3f97ec['onBeforeRender'](_0x27f7ef,_0x427b14,_0x3082bc);const _0x3e7783=_0x3f97ec['element'];_0x3e7783['style']['transform']='translate('+-0x64*_0x3f97ec['center']['x']+'%,'+-0x64*_0x3f97ec['center']['y']+'%)translate('+(De['x']*_0x35b5b4+_0x35b5b4)+'px,'+(-De['y']*_0x21ae4f+_0x21ae4f)+'px)',_0x3e7783['parentNode']!==_0x1c2025&&_0x1c2025['appendChild'](_0x3e7783),_0x3f97ec['onAfterRender'](_0x27f7ef,_0x427b14,_0x3082bc);}const _0x2ee492={'distanceToCameraSquared':_0x5e0e37(_0x3082bc,_0x3f97ec)};_0x259b9e['objects']['set'](_0x3f97ec,_0x2ee492);}for(let _0x467eea=0x0,_0x45b292=_0x3f97ec['children']['length'];_0x467eea<_0x45b292;_0x467eea++)_0x132d5d(_0x3f97ec['children'][_0x467eea],_0x427b14,_0x3082bc);}function _0x5e0e37(_0x641b01,_0x36ac26){return Re['setFromMatrixPosition'](_0x641b01['matrixWorld']),ze['setFromMatrixPosition'](_0x36ac26['matrixWorld']),Re['distanceToSquared'](ze);}_0x1c2025['style']['overflow']='hidden',this['domElement']=_0x1c2025,this['getSize']=function(){return{'width':_0xcd0b0d,'height':_0x5b130b};},this['render']=function(_0x52d4f9,_0x4e0199){!0x0===_0x52d4f9['matrixWorldAutoUpdate']&&_0x52d4f9['updateMatrixWorld'](),null===_0x4e0199['parent']&&!0x0===_0x4e0199['matrixWorldAutoUpdate']&&_0x4e0199['updateMatrixWorld'](),Pe['copy'](_0x4e0199['matrixWorldInverse']),Ie['multiplyMatrices'](_0x4e0199['projectionMatrix'],Pe),_0x132d5d(_0x52d4f9,_0x52d4f9,_0x4e0199),function(_0x577bcf){const _0x499dc2=function(_0x594260){const _0x4220e4=[];return _0x594260['traverse'](function(_0x55a89c){_0x55a89c['isCSS2DObject']&&_0x4220e4['push'](_0x55a89c);}),_0x4220e4;}(_0x577bcf)['sort'](function(_0x41f12e,_0x478a73){if(_0x41f12e['renderOrder']!==_0x478a73['renderOrder'])return _0x478a73['renderOrder']-_0x41f12e['renderOrder'];return _0x259b9e['objects']['get'](_0x41f12e)['distanceToCameraSquared']-_0x259b9e['objects']['get'](_0x478a73)['distanceToCameraSquared'];}),_0x3ff55c=_0x499dc2['length'];for(let _0x4f96fe=0x0,_0x28c551=_0x499dc2['length'];_0x4f96fe<_0x28c551;_0x4f96fe++)_0x499dc2[_0x4f96fe]['element']['style']['zIndex']=_0x3ff55c-_0x4f96fe;}(_0x52d4f9);},this['setSize']=function(_0x176766,_0x136f2a){_0xcd0b0d=_0x176766,_0x5b130b=_0x136f2a,_0x35b5b4=_0xcd0b0d/0x2,_0x21ae4f=_0x5b130b/0x2,_0x1c2025['style']['width']=_0x176766+'px',_0x1c2025['style']['height']=_0x136f2a+'px';};}}class Ue{static['computeEigenDecomposition3x3'](_0x2bf923){const _0xd8045e=_0x2bf923['elements'];let _0x5a42e6=_0xd8045e[0x0],_0x42ae82=_0xd8045e[0x1],_0x5a565e=_0xd8045e[0x2],_0x445f6b=_0xd8045e[0x4],_0x55ec76=_0xd8045e[0x5],_0x4c905c=_0xd8045e[0x8],_0x1c4855=0x1,_0x3e1ff7=0x0,_0x22e4f2=0x0,_0x14e9ee=0x0,_0x1214a8=0x1,_0x65d12d=0x0,_0x4d751f=0x0,_0x128187=0x0,_0x360b28=0x1;for(let _0x1824a4=0x0;_0x1824a4<0x32;_0x1824a4++){let _0x2cf161,_0x3b1c49,_0x1bffb0,_0x3530aa=Math['abs'](_0x42ae82),_0x506343=0x0,_0x2e19f5=0x1;if(Math['abs'](_0x5a565e)>_0x3530aa&&(_0x3530aa=Math['abs'](_0x5a565e),_0x506343=0x0,_0x2e19f5=0x2),Math['abs'](_0x55ec76)>_0x3530aa&&(_0x3530aa=Math['abs'](_0x55ec76),_0x506343=0x1,_0x2e19f5=0x2),_0x3530aa<1e-10)break;0x0===_0x506343&&0x1===_0x2e19f5?(_0x2cf161=_0x42ae82,_0x3b1c49=_0x5a42e6,_0x1bffb0=_0x445f6b):0x0===_0x506343&&0x2===_0x2e19f5?(_0x2cf161=_0x5a565e,_0x3b1c49=_0x5a42e6,_0x1bffb0=_0x4c905c):(_0x2cf161=_0x55ec76,_0x3b1c49=_0x445f6b,_0x1bffb0=_0x4c905c);const _0x431b1d=(_0x1bffb0-_0x3b1c49)/(0x2*_0x2cf161),_0x3e3fa2=Math['sign'](_0x431b1d)/(Math['abs'](_0x431b1d)+Math['sqrt'](0x1+_0x431b1d*_0x431b1d)),_0x582ea2=0x1/Math['sqrt'](0x1+_0x3e3fa2*_0x3e3fa2),_0x27d309=_0x3e3fa2*_0x582ea2;if(0x0===_0x506343&&0x1===_0x2e19f5){const _0x47d6d5=_0x5a42e6,_0x4f2616=_0x5a565e;_0x5a42e6=_0x582ea2*_0x582ea2*_0x47d6d5-0x2*_0x582ea2*_0x27d309*_0x42ae82+_0x27d309*_0x27d309*_0x445f6b,_0x445f6b=_0x27d309*_0x27d309*_0x47d6d5+0x2*_0x582ea2*_0x27d309*_0x42ae82+_0x582ea2*_0x582ea2*_0x445f6b,_0x42ae82=0x0,_0x5a565e=_0x582ea2*_0x4f2616-_0x27d309*_0x55ec76,_0x55ec76=_0x27d309*_0x4f2616+_0x582ea2*_0x55ec76;const _0x574dee=_0x1c4855,_0x25c409=_0x3e1ff7,_0x527751=_0x22e4f2;_0x1c4855=_0x582ea2*_0x574dee-_0x27d309*_0x14e9ee,_0x3e1ff7=_0x582ea2*_0x25c409-_0x27d309*_0x1214a8,_0x22e4f2=_0x582ea2*_0x527751-_0x27d309*_0x65d12d,_0x14e9ee=_0x27d309*_0x574dee+_0x582ea2*_0x14e9ee,_0x1214a8=_0x27d309*_0x25c409+_0x582ea2*_0x1214a8,_0x65d12d=_0x27d309*_0x527751+_0x582ea2*_0x65d12d;}else if(0x0===_0x506343&&0x2===_0x2e19f5){const _0x50970=_0x5a42e6,_0x5551f1=_0x42ae82;_0x5a42e6=_0x582ea2*_0x582ea2*_0x50970-0x2*_0x582ea2*_0x27d309*_0x5a565e+_0x27d309*_0x27d309*_0x4c905c,_0x4c905c=_0x27d309*_0x27d309*_0x50970+0x2*_0x582ea2*_0x27d309*_0x5a565e+_0x582ea2*_0x582ea2*_0x4c905c,_0x5a565e=0x0,_0x42ae82=_0x582ea2*_0x5551f1-_0x27d309*_0x55ec76,_0x55ec76=_0x27d309*_0x5551f1+_0x582ea2*_0x55ec76;const _0x5d972c=_0x1c4855,_0x445527=_0x3e1ff7,_0x755f44=_0x22e4f2;_0x1c4855=_0x582ea2*_0x5d972c-_0x27d309*_0x4d751f,_0x3e1ff7=_0x582ea2*_0x445527-_0x27d309*_0x128187,_0x22e4f2=_0x582ea2*_0x755f44-_0x27d309*_0x360b28,_0x4d751f=_0x27d309*_0x5d972c+_0x582ea2*_0x4d751f,_0x128187=_0x27d309*_0x445527+_0x582ea2*_0x128187,_0x360b28=_0x27d309*_0x755f44+_0x582ea2*_0x360b28;}else{const _0x277cce=_0x445f6b,_0x5c410e=_0x42ae82;_0x445f6b=_0x582ea2*_0x582ea2*_0x277cce-0x2*_0x582ea2*_0x27d309*_0x55ec76+_0x27d309*_0x27d309*_0x4c905c,_0x4c905c=_0x27d309*_0x27d309*_0x277cce+0x2*_0x582ea2*_0x27d309*_0x55ec76+_0x582ea2*_0x582ea2*_0x4c905c,_0x55ec76=0x0,_0x42ae82=_0x582ea2*_0x5c410e-_0x27d309*_0x5a565e,_0x5a565e=_0x27d309*_0x5c410e+_0x582ea2*_0x5a565e;const _0x91ad78=_0x14e9ee,_0x11a43b=_0x1214a8,_0x42b153=_0x65d12d;_0x14e9ee=_0x582ea2*_0x91ad78-_0x27d309*_0x4d751f,_0x1214a8=_0x582ea2*_0x11a43b-_0x27d309*_0x128187,_0x65d12d=_0x582ea2*_0x42b153-_0x27d309*_0x360b28,_0x4d751f=_0x27d309*_0x91ad78+_0x582ea2*_0x4d751f,_0x128187=_0x27d309*_0x11a43b+_0x582ea2*_0x128187,_0x360b28=_0x27d309*_0x42b153+_0x582ea2*_0x360b28;}}return{'eigenvalues':[_0x5a42e6,_0x445f6b,_0x4c905c],'eigenvectors':[[_0x1c4855,_0x3e1ff7,_0x22e4f2],[_0x14e9ee,_0x1214a8,_0x65d12d],[_0x4d751f,_0x128187,_0x360b28]]};}static['computeEigenvalues3x3'](_0x347cdc){const _0x37e9d9=_0x347cdc['elements'],_0x1453d4=_0x37e9d9[0x0];_0x37e9d9[0x1],_0x37e9d9[0x2],_0x37e9d9[0x3];const _0x3466c0=_0x37e9d9[0x4];_0x37e9d9[0x5],_0x37e9d9[0x6],_0x37e9d9[0x7];const _0x205deb=_0x37e9d9[0x8],_0x3c1bf7=[Math['abs'](_0x1453d4),Math['abs'](_0x3466c0),Math['abs'](_0x205deb)];return _0x3c1bf7['sort']((_0x4cdec4,_0x359acf)=>_0x359acf-_0x4cdec4),_0x3c1bf7;}static['computeInertiaBox'](_0x4e8e83){const _0x109f73=_0x4e8e83['ixx']||0x0,_0x123a6d=_0x4e8e83['iyy']||0x0,_0x159aa9=_0x4e8e83['izz']||0x0,_0x20a94a=_0x4e8e83['ixy']||0x0,_0x4bff6c=_0x4e8e83['ixz']||0x0,_0x302fc7=_0x4e8e83['iyz']||0x0,_0x42f7fe=_0x4e8e83['mass']||0x1;if(_0x42f7fe<0.01){const _0x373f87=(Math['abs'](_0x109f73)+Math['abs'](_0x123a6d)+Math['abs'](_0x159aa9))/0x3;if(Math['sqrt'](_0x373f87/_0x42f7fe)>0.05)return null;}const _0x4e790f=1e-9;if(Math['abs'](_0x109f73)<_0x4e790f&&Math['abs'](_0x123a6d)<_0x4e790f&&Math['abs'](_0x159aa9)<_0x4e790f)return null;const _0x252c9f=Math['abs'](_0x20a94a)>1e-10||Math['abs'](_0x4bff6c)>1e-10||Math['abs'](_0x302fc7)>1e-10;let _0x1f6a1b,_0x92ec6=new _0x446862();if(_0x252c9f){const _0x3eba0c=new _0x4cb86b();_0x3eba0c['set'](_0x109f73,_0x20a94a,_0x4bff6c,_0x20a94a,_0x123a6d,_0x302fc7,_0x4bff6c,_0x302fc7,_0x159aa9);const _0x9101c4=this['computeEigenDecomposition3x3'](_0x3eba0c);_0x1f6a1b=_0x9101c4['eigenvalues'];const _0x45dc84=new _0x4306a8();_0x45dc84['set'](_0x9101c4['eigenvectors'][0x0][0x0],_0x9101c4['eigenvectors'][0x1][0x0],_0x9101c4['eigenvectors'][0x2][0x0],0x0,_0x9101c4['eigenvectors'][0x0][0x1],_0x9101c4['eigenvectors'][0x1][0x1],_0x9101c4['eigenvectors'][0x2][0x1],0x0,_0x9101c4['eigenvectors'][0x0][0x2],_0x9101c4['eigenvectors'][0x1][0x2],_0x9101c4['eigenvectors'][0x2][0x2],0x0,0x0,0x0,0x0,0x1),_0x92ec6['setFromRotationMatrix'](_0x45dc84);}else _0x1f6a1b=[_0x109f73,_0x123a6d,_0x159aa9];const _0x2d85d9=0x6/_0x42f7fe;let _0x44ae8b=Math['sqrt'](Math['abs'](_0x2d85d9*(_0x1f6a1b[0x1]+_0x1f6a1b[0x2]-_0x1f6a1b[0x0]))),_0x2f273e=Math['sqrt'](Math['abs'](_0x2d85d9*(_0x1f6a1b[0x0]+_0x1f6a1b[0x2]-_0x1f6a1b[0x1]))),_0x5cec31=Math['sqrt'](Math['abs'](_0x2d85d9*(_0x1f6a1b[0x0]+_0x1f6a1b[0x1]-_0x1f6a1b[0x2])));const _0x492f04=(Math['abs'](_0x1f6a1b[0x0])+Math['abs'](_0x1f6a1b[0x1])+Math['abs'](_0x1f6a1b[0x2]))/0x3;if(Math['sqrt'](_0x492f04/_0x42f7fe)>(_0x44ae8b+_0x2f273e+_0x5cec31)/0x3)return null;if(_0x42f7fe/(_0x44ae8b*_0x2f273e*_0x5cec31)<0.0001)return null;const _0x4d1896=0.01;return _0x44ae8b=Math['max'](_0x44ae8b,_0x4d1896),_0x2f273e=Math['max'](_0x2f273e,_0x4d1896),_0x5cec31=Math['max'](_0x5cec31,_0x4d1896),_0x44ae8b<_0x4d1896&&_0x2f273e<_0x4d1896&&_0x5cec31<_0x4d1896&&(_0x44ae8b=_0x2f273e=_0x5cec31=0.05),{'width':_0x44ae8b,'height':_0x2f273e,'depth':_0x5cec31,'rotation':_0x92ec6};}static['createInertiaBoxGeometry'](_0x334096,_0x464e6c,_0x1c8939){return new _0x4e6eff(_0x334096,_0x464e6c,_0x1c8939);}static['computeInertiaEllipsoid'](_0x5403fa){const _0x425184=_0x5403fa['ixx']||0x0,_0x1cf17a=_0x5403fa['iyy']||0x0,_0x34419f=_0x5403fa['izz']||0x0,_0xa5c471=_0x5403fa['ixy']||0x0,_0x4a989e=_0x5403fa['ixz']||0x0,_0x2196c7=_0x5403fa['iyz']||0x0,_0xa7a17e=new _0x4cb86b();_0xa7a17e['set'](_0x425184,_0xa5c471,_0x4a989e,_0xa5c471,_0x1cf17a,_0x2196c7,_0x4a989e,_0x2196c7,_0x34419f);const _0x17b41e=this['computeEigenvalues3x3'](_0xa7a17e),_0xe948e5=_0x5403fa['mass']||0x1,_0x5d7895=0.1/Math['sqrt'](_0xe948e5),_0x199867=[Math['sqrt'](Math['max'](_0x17b41e[0x0],0x0))*_0x5d7895,Math['sqrt'](Math['max'](_0x17b41e[0x1],0x0))*_0x5d7895,Math['sqrt'](Math['max'](_0x17b41e[0x2],0x0))*_0x5d7895];return _0x199867['forEach']((_0xc7eeda,_0x38fe7c)=>{_0xc7eeda<0.01&&(_0x199867[_0x38fe7c]=0.01);}),{'radii':_0x199867,'rotation':new _0x1b9ef9(0x0,0x0,0x0)};}static['createInertiaEllipsoidGeometry'](_0x40cf5d){const _0x212888=new _0x1490e0(0x1,0x20,0x20);return _0x212888['scale'](_0x40cf5d[0x0],_0x40cf5d[0x1],_0x40cf5d[0x2]),_0x212888;}static['rpyToEuler'](_0x1739a3){return _0x1739a3&&0x3===_0x1739a3['length']?new _0x1b9ef9(_0x1739a3[0x0],_0x1739a3[0x1],_0x1739a3[0x2],'XYZ'):new _0x1b9ef9(0x0,0x0,0x0);}static['xyzToVector3'](_0x2d87d6){return _0x2d87d6&&0x3===_0x2d87d6['length']?new _0x4a4464(_0x2d87d6[0x0],_0x2d87d6[0x1],_0x2d87d6[0x2]):new _0x4a4464(0x0,0x0,0x0);}}function Ve(_0x358828,_0x5613af){if(!_0x5613af||!_0x5613af['threeObject'])return null;let _0x4e9ffa=_0x358828;const _0x312b40=_0x5613af['threeObject'];for(;_0x4e9ffa;){if('URDFLink'===_0x4e9ffa['type']||_0x4e9ffa['isURDFLink']){const _0x4473a3=_0x4e9ffa['name'];if(_0x4473a3&&_0x5613af['links']&&_0x5613af['links']['has'](_0x4473a3)){return{'linkData':_0x5613af['links']['get'](_0x4473a3),'threeObject':_0x4e9ffa,'name':_0x4473a3};}}if(_0x4e9ffa===_0x312b40||!_0x4e9ffa['parent'])break;_0x4e9ffa=_0x4e9ffa['parent'];}return null;}const qe=new _0x4a4464(),Be=new _0x4a4464(),$e=new _0x4a4464(),Je=new _0x4a4464(),He=new _0x4a4464(),Ge=new _0x4a4464(),We=new _0x4a4464(),Xe=new _0x4d1d80();class Ye{constructor(_0x1a68fd,_0x57766d,_0x57eca2,_0x8c2a89){this['enabled']=!0x0,this['scene']=_0x1a68fd,this['camera']=_0x57766d,this['domElement']=_0x57eca2,this['model']=_0x8c2a89,this['raycaster']=new _0x248c63(),this['raycaster']['layers']['enableAll'](),this['initialGrabPoint']=new _0x4a4464(),this['hitDistance']=-0x1,this['hovered']=null,this['manipulating']=null,this['renderer']=null;}['update'](){const {raycaster:_0x42cf33,hovered:_0x46d26f,manipulating:_0x9f1f8}=this,_0x580953=this['model'];if(_0x9f1f8||!this['enabled']||!_0x580953||!_0x580953['threeObject'])return;let _0x1c3f82=null;const _0x21164a=[];_0x580953['threeObject']['traverse'](_0x5326b8=>{if(_0x5326b8['isMesh']&&!_0x5326b8['visible']){let _0x51386f=!0x1,_0x359ba2=_0x5326b8;for(;_0x359ba2;){if(_0x359ba2['isURDFCollider']){_0x51386f=!0x0;break;}_0x359ba2=_0x359ba2['parent'];}_0x51386f||(_0x5326b8['visible']=!0x0,_0x21164a['push'](_0x5326b8));}});const _0x1a41b5=_0x42cf33['intersectObject'](_0x580953['threeObject'],!0x0);_0x21164a['forEach'](_0x14c6ee=>{_0x14c6ee['visible']=!0x1;});const _0x4fd024=_0x1a41b5['filter'](_0x4d8fdf=>{var _0x358e0b,_0x49df21;const _0x4d6e7a=_0x4d8fdf['object'];if(_0x4d6e7a['isURDFCollider']||(null==(_0x358e0b=_0x4d6e7a['userData'])?void 0x0:_0x358e0b['isCollision'])||(null==(_0x49df21=_0x4d6e7a['userData'])?void 0x0:_0x49df21['isCollisionGeom']))return!0x1;let _0xa87d98=!0x1,_0xa3143f=_0x4d6e7a;for(;_0xa3143f;){if(_0xa3143f['isURDFCollider']){_0xa87d98=!0x0;break;}_0xa3143f=_0xa3143f['parent'];}return!_0xa87d98&&_0x4d6e7a['isMesh'];});if(0x0!==_0x4fd024['length']){const _0x2fee6e=_0x4fd024[0x0];_0x1c3f82=Ve(_0x2fee6e['object'],_0x580953),_0x1c3f82&&(this['hitDistance']=_0x2fee6e['distance'],this['initialGrabPoint']['copy'](_0x2fee6e['point']));}((null==_0x1c3f82?void 0x0:_0x1c3f82['name'])||null)!==((null==_0x46d26f?void 0x0:_0x46d26f['name'])||null)?(_0x46d26f&&this['onUnhover'](_0x46d26f),this['hovered']=_0x1c3f82,_0x1c3f82&&this['onHover'](_0x1c3f82)):_0x1c3f82&&_0x46d26f&&(this['hovered']=_0x1c3f82);}['updateJoint'](_0x4ee6ff,_0x52dafd){this['onUpdateJoint']&&this['onUpdateJoint'](_0x4ee6ff,_0x52dafd);}['onDragStart'](_0x419e31){}['onDragEnd'](_0x3e0c5e){}['onHover'](_0x1df68f){}['onUnhover'](_0x1843b6){}['getJointAxis'](_0x27097a){return _0x27097a['threeObject']&&_0x27097a['threeObject']['axis']instanceof _0x4a4464?_0x27097a['threeObject']['axis']['clone']():_0x27097a['axis']&&_0x27097a['axis']['xyz']?Ue['xyzToVector3'](_0x27097a['axis']['xyz']):new _0x4a4464(0x0,0x0,0x1);}['getJointThreeObject'](_0x22c966){return _0x22c966['threeObject'];}['getJointCurrentValue'](_0xb95182){if(_0xb95182['threeObject']){if(void 0x0!==_0xb95182['threeObject']['angle'])return _0xb95182['threeObject']['angle'];if(_0xb95182['threeObject']['jointValue']&&_0xb95182['threeObject']['jointValue']['length']>0x0)return _0xb95182['threeObject']['jointValue'][0x0];}return void 0x0!==_0xb95182['currentValue']?_0xb95182['currentValue']:0x0;}['getRevoluteDelta'](_0x1cb9e2,_0x17c150,_0x3b15cb){const _0x2ff1b7=this['getJointThreeObject'](_0x1cb9e2);if(!_0x2ff1b7)return 0x0;const _0x3b66e6=this['getJointAxis'](_0x1cb9e2);Je['copy'](_0x3b66e6)['transformDirection'](_0x2ff1b7['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0x2ff1b7['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Xe['projectPoint'](_0x17c150,Ge),Xe['projectPoint'](_0x3b15cb,We),Ge['sub']($e),We['sub']($e),Je['crossVectors'](Ge,We);const _0x5f85ce=Je['dot'](Xe['normal']);return Math['sign'](_0x5f85ce)*We['angleTo'](Ge);}['getPrismaticDelta'](_0xfbef82,_0x23687d,_0xd9726d){var _0xad6362;const _0x1f0a7d=this['getJointThreeObject'](_0xfbef82);if(!_0x1f0a7d)return 0x0;Je['subVectors'](_0xd9726d,_0x23687d);const _0x352ec6=this['getJointAxis'](_0xfbef82);return Xe['normal']['copy'](_0x352ec6)['transformDirection']((null==(_0xad6362=_0x1f0a7d['parent'])?void 0x0:_0xad6362['matrixWorld'])||new _0x4306a8())['normalize'](),Je['dot'](Xe['normal']);}['moveRay'](_0x1cf782){var _0xe15296,_0x41e967,_0x583fbe,_0x42058b,_0x2d89a9;const {raycaster:_0x146bd3,hitDistance:_0x859c0a,manipulating:_0x43b0cd}=this,{ray:_0x15216a}=_0x146bd3;if(_0x43b0cd){_0x15216a['at'](_0x859c0a,qe),_0x1cf782['at'](_0x859c0a,Be);let _0x58c9d8=0x0;const _0x5def02=_0x43b0cd['type'];if('revolute'===_0x5def02||'continuous'===_0x5def02?_0x58c9d8=this['getRevoluteDelta'](_0x43b0cd,qe,Be):'prismatic'===_0x5def02&&(_0x58c9d8=this['getPrismaticDelta'](_0x43b0cd,qe,Be)),_0x58c9d8){let _0x124888=this['getJointCurrentValue'](_0x43b0cd)+_0x58c9d8;if(_0x43b0cd['limits']){(null==(_0x41e967=null==(_0xe15296=this['model'])?void 0x0:_0xe15296['userData'])?void 0x0:_0x41e967['ignoreLimits'])||(null==(_0x2d89a9=null==(_0x42058b=null==(_0x583fbe=this['model'])?void 0x0:_0x583fbe['threeObject'])?void 0x0:_0x42058b['userData'])?void 0x0:_0x2d89a9['ignoreLimits'])||!0x1||(_0x124888=Math['max'](_0x43b0cd['limits']['lower'],Math['min'](_0x43b0cd['limits']['upper'],_0x124888)));}this['updateJoint'](_0x43b0cd,_0x124888);}}this['raycaster']['ray']['copy'](_0x1cf782),this['update']();}['setGrabbed'](_0x2fc873){const {hovered:_0x3610b1,manipulating:_0x41b899}=this;if(_0x2fc873){if(null!==_0x41b899||null===_0x3610b1)return;const _0x629ce3=function(_0x26c2ad,_0x320f7d){if(!_0x26c2ad||!_0x26c2ad['threeObject']||!_0x320f7d['joints'])return null;let _0xea1ddb=_0x26c2ad['threeObject'];for(;_0xea1ddb;){const _0x2b6a85=_0xea1ddb['parent'];if(_0x2b6a85&&('URDFJoint'===_0x2b6a85['type']||_0x2b6a85['isURDFJoint'])){const _0x300e5f=_0x2b6a85['name'];if(_0x300e5f&&_0x320f7d['joints']['has'](_0x300e5f)){const _0x1a0e16=_0x320f7d['joints']['get'](_0x300e5f);if('fixed'!==_0x1a0e16['type'])return _0x1a0e16;const _0x4d700f=_0x2b6a85['parent'];if(_0x4d700f&&('URDFLink'===_0x4d700f['type']||_0x4d700f['isURDFLink'])){_0xea1ddb=_0x4d700f;continue;}}}break;}return null;}(_0x3610b1,this['model']);_0x629ce3?(this['manipulating']=_0x629ce3,this['manipulatingLink']=_0x3610b1,this['onDragStart'](_0x3610b1)):(this['manipulatingLink']=_0x3610b1,this['onDragStart'](_0x3610b1));}else{if(null===this['manipulating']&&!this['manipulatingLink'])return;this['onDragEnd'](this['manipulatingLink']||_0x3610b1),this['manipulating']=null,this['manipulatingLink']=null,this['update']();}}}class Ze extends Ye{constructor(_0x1bca5e,_0x3c3127,_0x2fe842,_0x57a123){super(_0x1bca5e,_0x3c3127,_0x2fe842,_0x57a123),this['camera']=_0x3c3127,this['domElement']=_0x2fe842;const _0x2f53fd=new _0x248c63(),_0x2dee24=new _0x30b554(),_0xd4ae5c=_0x84205c=>{const _0x40cabd=_0x2fe842['getBoundingClientRect']();_0x2dee24['x']=(_0x84205c['clientX']-_0x40cabd['left'])/_0x40cabd['width']*0x2-0x1,_0x2dee24['y']=-(_0x84205c['clientY']-_0x40cabd['top'])/_0x40cabd['height']*0x2+0x1;};this['_mouseDown']=_0x3f3938=>{if(0x0!==_0x3f3938['button'])return;if(_0xd4ae5c(_0x3f3938),_0x2f53fd['setFromCamera'](_0x2dee24,this['camera']),!this['model']||!this['model']['threeObject'])return;const _0xb694cd=[];this['model']['threeObject']['traverse'](_0x1ccb03=>{if(_0x1ccb03['isMesh']&&!_0x1ccb03['visible']){let _0x5c833e=!0x1,_0x17e536=_0x1ccb03;for(;_0x17e536;){if(_0x17e536['isURDFCollider']){_0x5c833e=!0x0;break;}_0x17e536=_0x17e536['parent'];}_0x5c833e||(_0x1ccb03['visible']=!0x0,_0xb694cd['push'](_0x1ccb03));}});const _0x4d51a2=_0x2f53fd['intersectObject'](this['model']['threeObject'],!0x0);_0xb694cd['forEach'](_0xb3ebd6=>{_0xb3ebd6['visible']=!0x1;});const _0x449fe4=_0x4d51a2['filter'](_0x6ed55a=>{var _0x54f44c,_0x56fa55;const _0x49c02e=_0x6ed55a['object'];if(_0x49c02e['isURDFCollider']||(null==(_0x54f44c=_0x49c02e['userData'])?void 0x0:_0x54f44c['isCollision'])||(null==(_0x56fa55=_0x49c02e['userData'])?void 0x0:_0x56fa55['isCollisionGeom']))return!0x1;let _0x11a0e7=!0x1,_0x363e58=_0x49c02e;for(;_0x363e58;){if(_0x363e58['isURDFCollider']){_0x11a0e7=!0x0;break;}_0x363e58=_0x363e58['parent'];}return!_0x11a0e7&&_0x49c02e['isMesh'];});(_0x449fe4['length']>0x0?Ve(_0x449fe4[0x0]['object'],this['model']):null)&&(this['moveRay'](_0x2f53fd['ray']),this['setGrabbed'](!0x0));},this['_mouseMove']=_0x5a4d8a=>{_0xd4ae5c(_0x5a4d8a),_0x2f53fd['setFromCamera'](_0x2dee24,this['camera']),this['moveRay'](_0x2f53fd['ray']);},this['_mouseUp']=_0x1e0a33=>{0x0===_0x1e0a33['button']&&(_0xd4ae5c(_0x1e0a33),_0x2f53fd['setFromCamera'](_0x2dee24,this['camera']),this['moveRay'](_0x2f53fd['ray']),this['setGrabbed'](!0x1));},this['_mouseLeave']=()=>{this['manipulating']&&this['setGrabbed'](!0x1),this['hovered']&&(this['onUnhover'](this['hovered']),this['hovered']=null);},_0x2fe842['addEventListener']('mousedown',this['_mouseDown']),_0x2fe842['addEventListener']('mousemove',this['_mouseMove']),_0x2fe842['addEventListener']('mouseup',this['_mouseUp']),_0x2fe842['addEventListener']('mouseleave',this['_mouseLeave']);}['getRevoluteDelta'](_0x1a4d3a,_0x2159fe,_0x299f70){const {camera:_0x5b0b6a,initialGrabPoint:_0x53c8dd}=this,_0x3bdcbe=this['getJointThreeObject'](_0x1a4d3a);if(!_0x3bdcbe)return 0x0;const _0x4c90d9=this['getJointAxis'](_0x1a4d3a);return Je['copy'](_0x4c90d9)['transformDirection'](_0x3bdcbe['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0x3bdcbe['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Je['copy'](_0x5b0b6a['position'])['sub'](_0x53c8dd)['normalize'](),Math['abs'](Je['dot'](Xe['normal']))>0.3?super['getRevoluteDelta'](_0x1a4d3a,_0x2159fe,_0x299f70):(Je['set'](0x0,0x1,0x0)['transformDirection'](_0x5b0b6a['matrixWorld']),Xe['projectPoint'](_0x2159fe,Ge),Xe['projectPoint'](_0x299f70,We),Je['set'](0x0,0x0,-0x1)['transformDirection'](_0x5b0b6a['matrixWorld']),Je['cross'](Xe['normal']),He['subVectors'](_0x299f70,_0x2159fe),Je['dot'](He));}['dispose'](){const {domElement:_0x4aa7f0}=this;_0x4aa7f0['removeEventListener']('mousedown',this['_mouseDown']),_0x4aa7f0['removeEventListener']('mousemove',this['_mouseMove']),_0x4aa7f0['removeEventListener']('mouseup',this['_mouseUp']),_0x4aa7f0['removeEventListener']('mouseleave',this['_mouseLeave']);}}class Qe{constructor(){this['name']='',this['links']=new Map(),this['joints']=new Map(),this['materials']=new Map(),this['constraints']=new Map(),this['rootLink']=null,this['threeObject']=null,this['baseOrientation']=[0x0,0x0,0x0,0x1];}['addLink'](_0x4b71b6){this['links']['set'](_0x4b71b6['name'],_0x4b71b6);}['addJoint'](_0x316e63){this['joints']['set'](_0x316e63['name'],_0x316e63);}['addConstraint'](_0x95f205){this['constraints']['set'](_0x95f205['name'],_0x95f205);}['getLink'](_0x2fcd94){return this['links']['get'](_0x2fcd94);}['getJoint'](_0x518793){return this['joints']['get'](_0x518793);}['getConstraint'](_0x5b114b){return this['constraints']['get'](_0x5b114b);}}class Ke{constructor(_0x2ff974){this['name']=_0x2ff974,this['visuals']=[],this['collisions']=[],this['inertial']=null,this['threeObject']=null,this['userData']={};}}class et{constructor(){this['name']='',this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['geometry']=null,this['material']=null,this['threeObject']=null;}}class tt{constructor(){this['name']='',this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['geometry']=null,this['threeObject']=null;}}class nt{constructor(_0x6524fa){this['type']=_0x6524fa,this['size']=null,this['filename']=null;}['clone'](){const _0x50be78=new nt(this['type']);return _0x50be78['size']=this['size']?{...this['size']}:null,_0x50be78['filename']=this['filename'],_0x50be78;}}class it{constructor(){this['mass']=0x0,this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['ixx']=0x0,this['iyy']=0x0,this['izz']=0x0,this['ixy']=0x0,this['ixz']=0x0,this['iyz']=0x0;}}class st{constructor(_0x335387,_0x2fce50){this['name']=_0x335387,this['type']=_0x2fce50,this['parent']=null,this['child']=null,this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['axis']={'xyz':[0x0,0x0,0x1]},this['limits']=null,this['currentValue']=0x0,this['threeObject']=null,this['mimic']=null;}}class rt{constructor(){this['lower']=-Math['PI'],this['upper']=Math['PI'],this['effort']=null,this['velocity']=null;}}class at{constructor(_0x2815f6,_0x257ee0){this['name']=_0x2815f6,this['type']=_0x257ee0,this['body1']=null,this['body2']=null,this['anchor']=null,this['torquescale']=null,this['joint1']=null,this['joint2']=null,this['polycoef']=null,this['threeObject']=null,this['userData']={};}}function ot(_0x38ebf8,_0xfdd9f0,_0xe8a7ef){const _0x4b054a=lt(_0xfdd9f0,'joint_index'),_0x394e41=lt(_0xfdd9f0,'rest_j_pos');if(!_0x4b054a||!_0x394e41)return;const _0xce3618=Math['min'](_0x4b054a['length'],_0x394e41['length']);for(let _0x2661e9=0x0;_0x2661e9<_0xce3618;_0x2661e9++){const _0x4dd6e8=_0x4b054a[_0x2661e9];if(_0x4dd6e8<0x0)continue;const _0x29b8d8=_0xe8a7ef[_0x4dd6e8];_0x29b8d8&&_0x38ebf8['set'](_0x29b8d8,_0x394e41[_0x2661e9]);}}function lt(_0x1083ee,_0x4f1fca){const _0x5625e2=function(_0xbd0e26,_0x547b27){const _0x31114a=new RegExp('^\x5cs*-?\x5cs*'+_0x547b27+':\x5cs*\x5c[([^\x5c]]+)\x5c]','m'),_0x120b59=_0xbd0e26['match'](_0x31114a);if(_0x120b59){return _0x120b59[0x1]['split'](',')['map'](_0xe090ac=>parseFloat(_0xe090ac['trim']()))['filter'](_0x3adefd=>!isNaN(_0x3adefd));}return null;}(_0x1083ee,_0x4f1fca);if(_0x5625e2)return _0x5625e2;const _0x492a61=function(_0xd536d,_0x20a0f7){const _0x4e02fd=new RegExp('^\x5cs*'+_0x20a0f7+':\x5cs*(-?\x5cd+(?:\x5c.\x5cd+)?)','m'),_0x2a995f=_0xd536d['match'](_0x4e02fd);if(_0x2a995f){const _0x1818d9=parseFloat(_0x2a995f[0x1]);return isNaN(_0x1818d9)?null:_0x1818d9;}return null;}(_0x1083ee,_0x4f1fca);return null!==_0x492a61?[_0x492a61]:null;}function ct(_0x2b9c45,_0xc6cb8e){const _0x1c6cb4=[],_0x2f6404=_0x2b9c45['split']('\x0a');let _0x37902b=!0x1,_0x52e39c=[],_0x4ae357=-0x1;for(let _0x465f0b=0x0;_0x465f0b<_0x2f6404['length'];_0x465f0b++){const _0x5a5af2=_0x2f6404[_0x465f0b],_0xe0a82e=_0x5a5af2['trimStart']();if(_0xe0a82e['startsWith']('#')||0x0===_0xe0a82e['length']){_0x37902b&&_0x52e39c['push'](_0x5a5af2);continue;}const _0x362f4b=_0x5a5af2['length']-_0xe0a82e['length'];_0xe0a82e===_0xc6cb8e+':'||_0xe0a82e['startsWith'](_0xc6cb8e+':')?(_0x37902b&&_0x52e39c['length']>0x0&&_0x1c6cb4['push'](_0x52e39c['join']('\x0a')),_0x37902b=!0x0,_0x4ae357=_0x362f4b,_0x52e39c=[_0x5a5af2]):_0x37902b&&(_0x362f4b>_0x4ae357||_0x362f4b===_0x4ae357&&_0xe0a82e['startsWith']('-')?_0x52e39c['push'](_0x5a5af2):(_0x1c6cb4['push'](_0x52e39c['join']('\x0a')),_0x37902b=!0x1,_0x52e39c=[],_0x4ae357=-0x1));}return _0x37902b&&_0x52e39c['length']>0x0&&_0x1c6cb4['push'](_0x52e39c['join']('\x0a')),0x1===_0x1c6cb4['length']&&_0x1c6cb4[0x0]['includes']('-\x20')?function(_0x470377){const _0x14ea1c=[],_0x5d9585=_0x470377['split']('\x0a');let _0x972071=[],_0x9f91df=-0x1;for(const _0xe865ce of _0x5d9585){const _0x428aca=_0xe865ce['trimStart']();if(_0x428aca['startsWith']('#')||0x0===_0x428aca['length'])continue;const _0xcd952a=_0xe865ce['length']-_0x428aca['length'];_0x428aca['startsWith']('-\x20')?(_0x972071['length']>0x0&&_0x14ea1c['push'](_0x972071['join']('\x0a')),_0x972071=[_0xe865ce],_0x9f91df=_0xcd952a):_0x9f91df>=0x0&&_0xcd952a>_0x9f91df?_0x972071['push'](_0xe865ce):_0x972071['length']>0x0&&(_0x14ea1c['push'](_0x972071['join']('\x0a')),_0x972071=[],_0x9f91df=-0x1);}_0x972071['length']>0x0&&_0x14ea1c['push'](_0x972071['join']('\x0a'));return _0x14ea1c;}(_0x1c6cb4[0x0]):_0x1c6cb4;}function ht(_0x1a4908){if(!_0x1a4908||!_0x1a4908['joints'])return[];const _0x59a773=new Map();_0x1a4908['joints']['forEach'](_0xef6e55=>{const _0x5102ee=_0xef6e55['parent']||'__root__';_0x59a773['has'](_0x5102ee)||_0x59a773['set'](_0x5102ee,[]),_0x59a773['get'](_0x5102ee)['push'](_0xef6e55);});const _0x3ba2b3=[];return function _0x11eafb(_0x3ef3fa){(_0x59a773['get'](_0x3ef3fa)||[])['forEach'](_0x304270=>{_0x3ba2b3['push'](_0x304270),_0x11eafb(_0x304270['child']);});}(_0x1a4908['rootLink']||'__root__'),_0x1a4908['joints']['forEach'](_0x376819=>{_0x3ba2b3['includes'](_0x376819)||_0x3ba2b3['push'](_0x376819);}),_0x3ba2b3;}class ut{static['convert'](_0x42eb46,_0x483840=null,_0x11f572={}){const _0x206e87=new Qe();if(_0x206e87['name']=_0x42eb46['name']||'robot',_0x206e87['threeObject']=_0x42eb46,_0x42eb46['userData']||(_0x42eb46['userData']={}),_0x42eb46['userData']['type']='urdf',!_0x42eb46['links']||!_0x42eb46['joints'])return _0x206e87;let _0x4cf32a={};_0x483840&&(_0x4cf32a=this['parseInertialFromXML'](_0x483840)),Object['values'](_0x42eb46['links'])['forEach'](_0x148c80=>{const _0x49be1c=this['convertLink'](_0x148c80);!_0x49be1c['inertial']&&_0x4cf32a[_0x148c80['name']]&&(_0x49be1c['inertial']=_0x4cf32a[_0x148c80['name']]),_0x206e87['addLink'](_0x49be1c);}),Object['values'](_0x42eb46['joints'])['forEach'](_0x1f4c51=>{const _0x39d907=this['convertJoint'](_0x1f4c51);_0x206e87['addJoint'](_0x39d907);}),_0x483840&&this['supplementJointLimitsFromXML'](_0x206e87,_0x483840);const _0x4d0afc=new Set(Array['from'](_0x206e87['joints']['values']())['map'](_0xccc513=>_0xccc513['child'])['filter'](_0x1eb3fa=>_0x1eb3fa)),_0x4522bf=Array['from'](_0x206e87['links']['keys']())['filter'](_0x35352b=>!_0x4d0afc['has'](_0x35352b));return _0x4522bf['length']>0x0&&(_0x206e87['rootLink']=_0x4522bf[0x0]),_0x11f572['vrConfigContent']&&this['applyVRConfigRestPositions'](_0x206e87,_0x11f572['vrConfigContent']),this['enhanceMaterials'](_0x42eb46),_0x206e87;}static['enhanceMaterials'](_0x4c154e){_0x4c154e['traverse'](_0x2f139a=>{_0x2f139a['isMesh']&&_0x2f139a['material']&&(Array['isArray'](_0x2f139a['material'])?_0x2f139a['material']=_0x2f139a['material']['map'](_0x3b308d=>this['enhanceSingleMaterial'](_0x3b308d)):_0x2f139a['material']=this['enhanceSingleMaterial'](_0x2f139a['material']));});}static['enhanceSingleMaterial'](_0x4e6e6d){var _0x107f10,_0x221645,_0x551e13;if(_0x4e6e6d['isMeshPhongMaterial']||_0x4e6e6d['isMeshStandardMaterial']){if(void 0x0===_0x4e6e6d['userData']['originalShininess'])if(_0x4e6e6d['userData']['originalShininess']=void 0x0!==_0x4e6e6d['shininess']?_0x4e6e6d['shininess']:0x1e,!_0x4e6e6d['userData']['originalColor']&&_0x4e6e6d['color']&&(_0x4e6e6d['userData']['originalColor']=_0x4e6e6d['color']['clone']()),_0x4e6e6d['specular'])if(_0x4e6e6d['specular']['isColor']){const _0x21329a=_0x4e6e6d['specular'];_0x21329a['r']<0.1&&_0x21329a['g']<0.1&&_0x21329a['b']<0.1?_0x4e6e6d['userData']['originalSpecular']=null:_0x4e6e6d['userData']['originalSpecular']=_0x21329a['clone']();}else'number'==typeof _0x4e6e6d['specular']?0x111111===_0x4e6e6d['specular']||_0x4e6e6d['specular']<0x111111?_0x4e6e6d['userData']['originalSpecular']=null:_0x4e6e6d['userData']['originalSpecular']=new _0x5dc695(_0x4e6e6d['specular']):_0x4e6e6d['userData']['originalSpecular']=null;else _0x4e6e6d['userData']['originalSpecular']=null;return(void 0x0===_0x4e6e6d['shininess']||_0x4e6e6d['shininess']<0x32)&&(_0x4e6e6d['shininess']=0x32),_0x4e6e6d['specular']?_0x4e6e6d['specular']['isColor']?(_0x4e6e6d['specular']['r']<0.2||_0x4e6e6d['specular']['g']<0.2||_0x4e6e6d['specular']['b']<0.2)&&_0x4e6e6d['specular']['setRGB'](0.3,0.3,0.3):'number'==typeof _0x4e6e6d['specular']&&(_0x4e6e6d['specular']<0x333333?_0x4e6e6d['specular']=new _0x5dc695(0.3,0.3,0.3):(_0x4e6e6d['specular']=new _0x5dc695(_0x4e6e6d['specular']),_0x4e6e6d['specular']['r']<0.2&&_0x4e6e6d['specular']['setRGB'](0.3,0.3,0.3))):_0x4e6e6d['specular']=new _0x5dc695(0.3,0.3,0.3),_0x4e6e6d['needsUpdate']=!0x0,_0x4e6e6d;}if('MeshBasicMaterial'===_0x4e6e6d['type']){const _0x33a858=_0x4e6e6d,_0x39465f='undefined'!=typeof window&&(null==(_0x551e13=null==(_0x221645=null==(_0x107f10=window['app'])?void 0x0:_0x107f10['sceneManager'])?void 0x0:_0x221645['environmentManager'])?void 0x0:_0x551e13['getEnvironmentMap']()),_0x3c9327=new _0x5096b9({'color':_0x33a858['color'],'map':_0x33a858['map'],'transparent':_0x33a858['transparent'],'opacity':_0x33a858['opacity'],'side':_0x33a858['side'],'shininess':0x32,'specular':new _0x5dc695(0.3,0.3,0.3),'envMap':_0x39465f||null,'reflectivity':_0x39465f?0.3:0x0});return _0x3c9327['userData']['originalShininess']=0x1e,_0x3c9327['userData']['originalSpecular']=null,_0x3c9327;}return _0x4e6e6d;}static['convertLink'](_0x545c57){const _0x2e03f0=new Ke(_0x545c57['name']);return _0x2e03f0['threeObject']=_0x545c57,_0x545c57['inertial']&&(_0x2e03f0['inertial']=this['convertInertial'](_0x545c57['inertial'])),_0x2e03f0;}static['convertJoint'](_0x3ce4c7){var _0x56ace6;const _0x3424c6=_0x3ce4c7['jointType']||_0x3ce4c7['type']||'fixed',_0x1d8cf7=new st(_0x3ce4c7['name'],_0x3424c6);if(_0x1d8cf7['parent']=(null==(_0x56ace6=_0x3ce4c7['parent'])?void 0x0:_0x56ace6['name'])||null,_0x3ce4c7['child']&&_0x3ce4c7['child']['name'])_0x1d8cf7['child']=_0x3ce4c7['child']['name'];else if(_0x3ce4c7['children']&&_0x3ce4c7['children']['length']>0x0){const _0x41e340=_0x3ce4c7['children']['find'](_0x510cbc=>_0x510cbc['isURDFLink']||'URDFLink'===_0x510cbc['type']);_0x41e340&&(_0x1d8cf7['child']=_0x41e340['name']);}return _0x1d8cf7['threeObject']=_0x3ce4c7,_0x3ce4c7['origin']&&(_0x1d8cf7['origin']={'xyz':_0x3ce4c7['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x3ce4c7['origin']['rpy']||[0x0,0x0,0x0]}),_0x3ce4c7['axis']&&(_0x1d8cf7['axis']={'xyz':_0x3ce4c7['axis']['xyz']||[0x0,0x0,0x1]}),_0x3ce4c7['limit']&&(_0x1d8cf7['limits']=this['convertLimits'](_0x3ce4c7['limit'])),void 0x0!==_0x3ce4c7['angle']?_0x1d8cf7['currentValue']=_0x3ce4c7['angle']:void 0x0!==_0x3ce4c7['jointValue']&&(_0x1d8cf7['currentValue']=_0x3ce4c7['jointValue']),_0x3ce4c7['mimicJoint']&&(_0x1d8cf7['mimic']={'joint':_0x3ce4c7['mimicJoint'],'multiplier':_0x3ce4c7['multiplier']??0x1,'offset':_0x3ce4c7['offset']??0x0}),_0x1d8cf7;}static['convertLimits'](_0x2da218){const _0x23eaa0=new rt();return void 0x0!==_0x2da218['lower']&&(_0x23eaa0['lower']=_0x2da218['lower']),void 0x0!==_0x2da218['upper']&&(_0x23eaa0['upper']=_0x2da218['upper']),void 0x0!==_0x2da218['effort']&&(_0x23eaa0['effort']=_0x2da218['effort']),void 0x0!==_0x2da218['velocity']&&(_0x23eaa0['velocity']=_0x2da218['velocity']),_0x23eaa0;}static['supplementJointLimitsFromXML'](_0x24fd6e,_0x51e7c0){try{const _0xdf667d=new DOMParser()['parseFromString'](_0x51e7c0,'text/xml');_0xdf667d['querySelectorAll']('joint')['forEach'](_0x4995c4=>{const _0x314f3f=_0x4995c4['getAttribute']('name'),_0x1a7198=_0x24fd6e['joints']['get'](_0x314f3f);if(_0x1a7198){const _0x380e14=_0x4995c4['querySelector']('limit');if(_0x380e14){_0x1a7198['limits']||(_0x1a7198['limits']=new rt());const _0x5ee4f1=_0x380e14['getAttribute']('effort'),_0x21bb09=_0x380e14['getAttribute']('velocity');null!==_0x5ee4f1&&(_0x1a7198['limits']['effort']=parseFloat(_0x5ee4f1)),null!==_0x21bb09&&(_0x1a7198['limits']['velocity']=parseFloat(_0x21bb09));const _0xc136a=_0x380e14['getAttribute']('lower'),_0x47267a=_0x380e14['getAttribute']('upper');null!==_0xc136a&&(_0x1a7198['limits']['lower']=parseFloat(_0xc136a)),null!==_0x47267a&&(_0x1a7198['limits']['upper']=parseFloat(_0x47267a));}}});}catch(_0x21a1d2){}}static['convertInertial'](_0x498b4b){const _0x20f74e=new it();return void 0x0!==_0x498b4b['mass']&&(_0x20f74e['mass']=_0x498b4b['mass']),_0x498b4b['origin']&&(_0x20f74e['origin']={'xyz':_0x498b4b['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x498b4b['origin']['rpy']||[0x0,0x0,0x0]}),void 0x0!==_0x498b4b['ixx']&&(_0x20f74e['ixx']=_0x498b4b['ixx']),void 0x0!==_0x498b4b['iyy']&&(_0x20f74e['iyy']=_0x498b4b['iyy']),void 0x0!==_0x498b4b['izz']&&(_0x20f74e['izz']=_0x498b4b['izz']),void 0x0!==_0x498b4b['ixy']&&(_0x20f74e['ixy']=_0x498b4b['ixy']),void 0x0!==_0x498b4b['ixz']&&(_0x20f74e['ixz']=_0x498b4b['ixz']),void 0x0!==_0x498b4b['iyz']&&(_0x20f74e['iyz']=_0x498b4b['iyz']),_0x20f74e;}static['parseInertialFromXML'](_0x1b5d81){const _0x3b23b9={};try{const _0x5a3558=new DOMParser(),_0xbc8ea9=_0x5a3558['parseFromString'](_0x1b5d81,'text/xml')['getElementsByTagName']('link');for(let _0x11af28=0x0;_0x11af28<_0xbc8ea9['length'];_0x11af28++){const _0x26460a=_0xbc8ea9[_0x11af28],_0x3a8fd9=_0x26460a['getAttribute']('name'),_0x20f8cb=_0x26460a['getElementsByTagName']('inertial')[0x0];if(!_0x20f8cb)continue;const _0x148986=new it(),_0x464a30=_0x20f8cb['getElementsByTagName']('mass')[0x0];_0x464a30&&(_0x148986['mass']=parseFloat(_0x464a30['getAttribute']('value')));const _0x393b6a=_0x20f8cb['getElementsByTagName']('origin')[0x0];if(_0x393b6a){const _0x33828d=_0x393b6a['getAttribute']('xyz'),_0x549be6=_0x393b6a['getAttribute']('rpy');_0x148986['origin']={'xyz':_0x33828d?_0x33828d['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0],'rpy':_0x549be6?_0x549be6['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0]};}else _0x148986['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};const _0x3aab8f=_0x20f8cb['getElementsByTagName']('inertia')[0x0];_0x3aab8f&&(_0x148986['ixx']=parseFloat(_0x3aab8f['getAttribute']('ixx'))||0x0,_0x148986['iyy']=parseFloat(_0x3aab8f['getAttribute']('iyy'))||0x0,_0x148986['izz']=parseFloat(_0x3aab8f['getAttribute']('izz'))||0x0,_0x148986['ixy']=parseFloat(_0x3aab8f['getAttribute']('ixy'))||0x0,_0x148986['ixz']=parseFloat(_0x3aab8f['getAttribute']('ixz'))||0x0,_0x148986['iyz']=parseFloat(_0x3aab8f['getAttribute']('iyz'))||0x0),_0x3b23b9[_0x3a8fd9]=_0x148986;}}catch(_0x33b465){}return _0x3b23b9;}static['applyVRConfigRestPositions'](_0x33ff20,_0x73ab8e){try{const _0x499dfc=function(_0x550e3e,_0x3a0989){const _0x2cbaef=new Map();if(!_0x550e3e||!_0x3a0989||!Array['isArray'](_0x3a0989))return _0x2cbaef;try{const _0x2807f2=ct(_0x550e3e,'arms');for(const _0x382d1a of _0x2807f2)ot(_0x2cbaef,_0x382d1a,_0x3a0989);const _0x2517c2=ct(_0x550e3e,'waist')[0x0];_0x2517c2&&ot(_0x2cbaef,_0x2517c2,_0x3a0989);const _0x2ff662=ct(_0x550e3e,'head')[0x0];_0x2ff662&&ot(_0x2cbaef,_0x2ff662,_0x3a0989);const _0x167ed4=ct(_0x550e3e,'dorsal')[0x0];_0x167ed4&&ot(_0x2cbaef,_0x167ed4,_0x3a0989);const _0x4ff449=ct(_0x550e3e,'folding_waist')[0x0];_0x4ff449&&ot(_0x2cbaef,_0x4ff449,_0x3a0989);}catch(_0x3299e4){}return _0x2cbaef;}(_0x73ab8e,ht(_0x33ff20)['map'](_0x12270e=>_0x12270e['name']));if(0x0===_0x499dfc['size'])return;let _0x2e3fcc=0x0;for(const [_0x1c5ce9,_0x53e0a8]of _0x499dfc['entries']()){const _0x590953=_0x33ff20['joints']['get'](_0x1c5ce9);_0x590953&&'fixed'!==_0x590953['type']&&(_0x33ff20['userData']||(_0x33ff20['userData']={}),_0x33ff20['userData']['homePositions']||(_0x33ff20['userData']['homePositions']={}),_0x33ff20['userData']['homePositions'][_0x1c5ce9]=_0x53e0a8,this['setJointAngle'](_0x590953,_0x53e0a8,!0x1),_0x2e3fcc++);}}catch(_0x489922){}}static['setJointAngle'](_0x30526,_0x281f61,_0x2f775f=!0x1){if(_0x30526['currentValue']=_0x281f61,_0x30526['threeObject']){let _0x4b37c3=null;if(_0x2f775f&&_0x30526['threeObject']['limit']&&(_0x4b37c3={'lower':_0x30526['threeObject']['limit']['lower'],'upper':_0x30526['threeObject']['limit']['upper']},_0x30526['threeObject']['limit']['lower']=0x2*-Math['PI'],_0x30526['threeObject']['limit']['upper']=0x2*Math['PI']),'function'==typeof _0x30526['threeObject']['setJointValue'])return _0x30526['threeObject']['setJointValue'](_0x281f61),void(_0x4b37c3&&_0x30526['threeObject']['limit']&&(_0x30526['threeObject']['limit']['lower']=_0x4b37c3['lower'],_0x30526['threeObject']['limit']['upper']=_0x4b37c3['upper']));if('function'==typeof _0x30526['threeObject']['setAngle'])return _0x30526['threeObject']['setAngle'](_0x281f61),void(_0x4b37c3&&_0x30526['threeObject']['limit']&&(_0x30526['threeObject']['limit']['lower']=_0x4b37c3['lower'],_0x30526['threeObject']['limit']['upper']=_0x4b37c3['upper']));if(_0x4b37c3&&_0x30526['threeObject']['limit']&&(_0x30526['threeObject']['limit']['lower']=_0x4b37c3['lower'],_0x30526['threeObject']['limit']['upper']=_0x4b37c3['upper']),'revolute'===_0x30526['type']||'continuous'===_0x30526['type']){const _0x501a5e=_0x30526['axis']?new _0x4a4464(..._0x30526['axis']['xyz'])['normalize']():new _0x4a4464(0x0,0x0,0x1);_0x30526['threeObject']['rotation']&&_0x30526['threeObject']['rotation']['setFromAxisAngle'](_0x501a5e,_0x281f61);}else if('prismatic'===_0x30526['type']){const _0x48042e=_0x30526['axis']?new _0x4a4464(..._0x30526['axis']['xyz'])['normalize']():new _0x4a4464(0x1,0x0,0x0);_0x30526['threeObject']['position']&&_0x30526['threeObject']['position']['copy'](_0x48042e['multiplyScalar'](_0x281f61));}}}}function dt(_0x96eb1){return new Promise((_0x3770bb,_0x1fd6c6)=>{const _0xdeef7f=new FileReader();_0xdeef7f['onload']=_0x548750=>_0x3770bb(_0x548750['target']['result']),_0xdeef7f['onerror']=_0x1fd6c6,_0xdeef7f['readAsText'](_0x96eb1);});}function pt(_0x28e292){return new Promise((_0x36d83a,_0x56aa90)=>{_0x28e292['file'](_0x36d83a,_0x56aa90);});}function mt(_0x72d70c){return _0x72d70c?_0x72d70c['replace'](/\\/g,'/')['replace'](/^\/+/,'')['replace'](/\/+/g,'/'):'';}function gt(_0xe1b060){return mt(_0xe1b060)['split']('/')['reduce']((_0x3edfe4,_0x312ac1)=>_0x312ac1&&'.'!==_0x312ac1?'..'===_0x312ac1?(_0x3edfe4['pop'](),_0x3edfe4):(_0x3edfe4['push'](_0x312ac1),_0x3edfe4):_0x3edfe4,[])['join']('/');}function ft(_0x1b0dc9){if(!_0x1b0dc9||!_0x1b0dc9['startsWith']('blob:'))return _0x1b0dc9;const _0x398406=_0x1b0dc9['match'](/^blob:https?:\/\/[^/]+\/(.+)$/);return(null==_0x398406?void 0x0:_0x398406[0x1])||_0x1b0dc9;}function yt(_0x73aced,_0x33ae16){if(!_0x33ae16)return;const _0x1543fe=ft(_0x33ae16);[_0x33ae16,_0x1543fe,mt(_0x1543fe),gt(_0x1543fe)]['forEach'](_0x29f86b=>{_0x29f86b&&_0x73aced['push'](_0x29f86b);});}function vt(_0x5084c7,_0x20348e){let _0x42362d=null,_0x17a9d3=0x0;for(const [_0x4ce56a,_0x329bb2]of _0x5084c7['entries']())_0x20348e(_0x4ce56a)&&(_0x42362d=_0x329bb2,_0x17a9d3++);return 0x1===_0x17a9d3?_0x42362d:null;}function bt(_0x4b2c9b,_0x3012b5,_0x47531e={}){var _0x2f477f;if(!_0x4b2c9b||!_0x3012b5)return null;const _0x31fdab=_0x47531e['baseDir']||'',_0xd6d73c=[],_0x29ea94=ft(_0x4b2c9b);if(yt(_0xd6d73c,_0x29ea94),_0x29ea94['startsWith']('package://')){const _0x48375e=_0x29ea94['replace'](/^package:\/\//,'');yt(_0xd6d73c,_0x48375e);const _0x2ff224=_0x48375e['split']('/');_0x2ff224['length']>0x1&&yt(_0xd6d73c,_0x2ff224['slice'](0x1)['join']('/'));}const _0x2badda=mt(_0x29ea94['replace'](/^package:\/\//,'')),_0x3e26b0=_0x2badda['split']('/');_0x3e26b0['length']>0x1&&yt(_0xd6d73c,_0x3e26b0['slice'](0x1)['join']('/')),_0x31fdab&&_0x2badda&&!_0x2badda['startsWith'](_0x31fdab)&&(yt(_0xd6d73c,_0x31fdab+_0x2badda),_0x3e26b0['length']>0x1&&yt(_0xd6d73c,_0x31fdab+_0x3e26b0['slice'](0x1)['join']('/')));for(const _0xf4a6ee of _0xd6d73c)if(_0x3012b5['has'](_0xf4a6ee))return _0x3012b5['get'](_0xf4a6ee);const _0x733b48=new Set(_0xd6d73c['map'](_0x1c9c15=>gt(_0x1c9c15))),_0x532768=vt(_0x3012b5,_0x5527fe=>_0x733b48['has'](gt(_0x5527fe)));if(_0x532768)return _0x532768;const _0x52fbee=new Set(Array['from'](_0x733b48,_0x5e4b10=>_0x5e4b10['toLowerCase']())),_0x5062c2=vt(_0x3012b5,_0x2eee54=>_0x52fbee['has'](gt(_0x2eee54)['toLowerCase']()));if(_0x5062c2)return _0x5062c2;const _0x3626f0=vt(_0x3012b5,_0x2723ef=>{const _0x5d1e31=gt(_0x2723ef)['toLowerCase']();return Array['from'](_0x52fbee)['some'](_0x431831=>_0x431831&&_0x5d1e31['endsWith']('/'+_0x431831));});if(_0x3626f0)return _0x3626f0;const _0x5b506d=null==(_0x2f477f=gt(_0x29ea94)['split']('/')['pop']())?void 0x0:_0x2f477f['toLowerCase']();return _0x5b506d?vt(_0x3012b5,_0x402867=>{var _0x108c09;return(null==(_0x108c09=gt(_0x402867)['split']('/')['pop']())?void 0x0:_0x108c09['toLowerCase']())===_0x5b506d;}):null;}let wt=null;async function xt(){if(!wt){const [{STLLoader:_0x4ba15a},{OBJLoader:_0x1a2e89},{MTLLoader:_0x5500f9},{ColladaLoader:_0x524101},{GLTFLoader:_0x5f200d}]=await Promise['all']([Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./MTLLoader-b6ce88b7.js'),["./MTLLoader-b6ce88b7.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url)]);wt={'STLLoader':new _0x4ba15a(),'OBJLoader':new _0x1a2e89(),'MTLLoader':new _0x5500f9(),'ColladaLoader':new _0x524101(),'GLTFLoader':new _0x5f200d()};}return wt;}function Mt(_0x46358f){_0x46358f['traverse'](_0x3962f0=>{if(_0x3962f0['isMesh']&&_0x3962f0['material']){const _0x33bfdc=Array['isArray'](_0x3962f0['material'])?_0x3962f0['material']:[_0x3962f0['material']];_0x33bfdc['forEach']((_0x1dfe73,_0x2ff5bd)=>{var _0x127cb5,_0x5d9b0c,_0x42cd4d,_0x9ed0c,_0x322a9b,_0x350944,_0x199e33,_0xa1388f,_0x550d2f,_0x4fa682,_0x1a9379,_0x1bb410;if(_0x1dfe73)if('MeshBasicMaterial'===_0x1dfe73['type']||'MeshLambertMaterial'===_0x1dfe73['type']){const _0x5ad1e3=_0x1dfe73,_0x3a9de4='undefined'!=typeof window&&!0x1!==(null==(_0x42cd4d=null==(_0x5d9b0c=null==(_0x127cb5=window['app'])?void 0x0:_0x127cb5['sceneManager'])?void 0x0:_0x5d9b0c['visualizationManager'])?void 0x0:_0x42cd4d['showEnhancedLighting']),_0x565d76='undefined'!=typeof window&&(null==(_0x350944=null==(_0x322a9b=null==(_0x9ed0c=window['app'])?void 0x0:_0x9ed0c['sceneManager'])?void 0x0:_0x322a9b['environmentManager'])?void 0x0:_0x350944['getEnvironmentMap']()),_0x4c24b9=new _0x5096b9({'color':_0x5ad1e3['color'],'map':_0x5ad1e3['map'],'transparent':_0x5ad1e3['transparent'],'opacity':_0x5ad1e3['opacity'],'side':_0x5ad1e3['side'],'shininess':_0x3a9de4?0x32:0x1e,'specular':_0x3a9de4?new _0x5dc695(0.3,0.3,0.3):new _0x5dc695(0x111111),'envMap':_0x565d76||null,'reflectivity':_0x565d76?0.3:0x0});_0x4c24b9['userData']['originalShininess']=0x1e,_0x4c24b9['userData']['originalSpecular']=null,_0x4c24b9['map']&&(_0x4c24b9['map']['colorSpace']=_0xef5128),_0x33bfdc[_0x2ff5bd]=_0x4c24b9;}else if(_0x1dfe73['isMeshPhongMaterial']||_0x1dfe73['isMeshStandardMaterial']){if(void 0x0===_0x1dfe73['userData']['originalShininess'])if(_0x1dfe73['userData']['originalShininess']=void 0x0!==_0x1dfe73['shininess']?_0x1dfe73['shininess']:0x1e,_0x1dfe73['specular'])if(_0x1dfe73['specular']['isColor']){const _0x538227=_0x1dfe73['specular'];_0x538227['r']<0.1&&_0x538227['g']<0.1&&_0x538227['b']<0.1?_0x1dfe73['userData']['originalSpecular']=null:_0x1dfe73['userData']['originalSpecular']=_0x538227['clone']();}else'number'==typeof _0x1dfe73['specular']?0x111111===_0x1dfe73['specular']||_0x1dfe73['specular']<0x111111?_0x1dfe73['userData']['originalSpecular']=null:_0x1dfe73['userData']['originalSpecular']=new _0x5dc695(_0x1dfe73['specular']):_0x1dfe73['userData']['originalSpecular']=null;else _0x1dfe73['userData']['originalSpecular']=null;const _0x178b49='undefined'!=typeof window&&(null==(_0x550d2f=null==(_0xa1388f=null==(_0x199e33=window['app'])?void 0x0:_0x199e33['sceneManager'])?void 0x0:_0xa1388f['environmentManager'])?void 0x0:_0x550d2f['getEnvironmentMap']());_0x178b49&&!_0x1dfe73['envMap']&&(_0x1dfe73['envMap']=_0x178b49,void 0x0===_0x1dfe73['reflectivity']&&(_0x1dfe73['reflectivity']=0.3),_0x1dfe73['needsUpdate']=!0x0);'undefined'!=typeof window&&!0x1!==(null==(_0x1bb410=null==(_0x1a9379=null==(_0x4fa682=window['app'])?void 0x0:_0x4fa682['sceneManager'])?void 0x0:_0x1a9379['visualizationManager'])?void 0x0:_0x1bb410['showEnhancedLighting'])&&((void 0x0===_0x1dfe73['shininess']||_0x1dfe73['shininess']<0x32)&&(_0x1dfe73['shininess']=0x32),(!_0x1dfe73['specular']||_0x1dfe73['specular']['isColor']&&_0x1dfe73['specular']['r']<0.2||'number'==typeof _0x1dfe73['specular']&&_0x1dfe73['specular']<0x333333)&&(_0x1dfe73['specular']=new _0x5dc695(0.3,0.3,0.3))),_0x1dfe73['needsUpdate']=!0x0;}}),Array['isArray'](_0x3962f0['material'])?_0x3962f0['material']=_0x33bfdc:0x1===_0x33bfdc['length']&&(_0x3962f0['material']=_0x33bfdc[0x0]);}});}class _t{static async['processIncludes'](_0x13df14,_0x4f9143=null,_0x5f2503=null){const _0x467d86=new DOMParser(),_0x2ebe12=_0x467d86['parseFromString'](_0x13df14,'text/xml');if(_0x2ebe12['querySelector']('parsererror'))return _0x13df14;const _0x3c193c=_0x2ebe12['querySelectorAll']('include');if(0x0===_0x3c193c['length'])return _0x13df14;for(const _0x4425a7 of _0x3c193c){const _0x11e637=_0x4425a7['getAttribute']('file');if(!_0x11e637){_0x4425a7['remove']();continue;}let _0x455a13=null;if(_0x4f9143){const _0x55aa5a=[_0x11e637,_0x5f2503?_0x5f2503+'/'+_0x11e637:_0x11e637,_0x11e637['startsWith']('/')?_0x11e637:'/'+_0x11e637];for(const _0x420b1d of _0x55aa5a){if(_0x4f9143['has'](_0x420b1d)){const _0x1f6c6f=_0x4f9143['get'](_0x420b1d);try{_0x455a13=await _0x1f6c6f['text']();break;}catch(_0x3582ea){}}for(const [_0xf5db39,_0x12e4ae]of _0x4f9143)if(_0xf5db39['toLowerCase']()===_0x420b1d['toLowerCase']())try{_0x455a13=await _0x12e4ae['text']();break;}catch(_0x3a660e){}if(_0x455a13)break;}}if(!_0x455a13){_0x4425a7['remove']();continue;}const _0x172e0f=_0x467d86['parseFromString'](_0x455a13,'text/xml');if(_0x172e0f['querySelector']('parsererror')){_0x4425a7['remove']();continue;}const _0x27e72f=_0x172e0f['querySelector']('mujoco');if(!_0x27e72f){_0x4425a7['remove']();continue;}const _0x5e68aa=Array['from'](_0x27e72f['childNodes']);for(const _0x2f62e8 of _0x5e68aa){if(_0x2f62e8['nodeType']===Node['TEXT_NODE']||_0x2f62e8['nodeType']===Node['COMMENT_NODE']||_0x2f62e8['nodeType']===Node['PROCESSING_INSTRUCTION_NODE'])continue;const _0x1bae3a=_0x2ebe12['importNode'](_0x2f62e8,!0x0);_0x4425a7['parentNode']['insertBefore'](_0x1bae3a,_0x4425a7);}_0x4425a7['remove']();}return new XMLSerializer()['serializeToString'](_0x2ebe12);}static async['parse'](_0x3d3df4,_0xbaa468=null,_0x28851f=null){const _0x3bb136=await this['processIncludes'](_0x3d3df4,_0xbaa468,_0x28851f),_0x29d59e=new DOMParser()['parseFromString'](_0x3bb136,'text/xml'),_0x39a8a1=_0x29d59e['querySelector']('parsererror');if(_0x39a8a1)throw new Error('MJCF\x20XML\x20parsing\x20failed:\x20'+_0x39a8a1['textContent']);const _0x1d877d=new Qe();_0x1d877d['name']='mujoco_model';const {classDefaults:_0x9d9bc9,rootDefaults:_0xe515e5}=this['parseDefaults'](_0x29d59e),_0x5f5be7=this['parseAssets'](_0x29d59e,_0x9d9bc9,_0xe515e5),_0x423b1e=this['parseMaterials'](_0x29d59e),_0x414b67=_0x29d59e['querySelector']('worldbody');if(!_0x414b67)throw new Error('MJCF\x20file\x20missing\x20worldbody\x20element');const _0x3b4182=_0x414b67['querySelectorAll'](':scope\x20>\x20geom');if(_0x3b4182['length']>0x0){const _0x27769f=new Ke('worldbody');_0x27769f['userData']['isWorldbody']=!0x0;const _0x1231ba=new Set();_0x3b4182['forEach']((_0x181f4c,_0x2edd7a)=>{const _0x3cb9de=this['getGeomInheritedProperties'](_0x181f4c,_0x9d9bc9,_0xe515e5),_0x583aa3=_0x181f4c['getAttribute']('group'),_0x2b454b=null!==_0x583aa3?parseInt(_0x583aa3):null!==_0x3cb9de['group']?_0x3cb9de['group']:0x0,_0x59ba03=(_0x181f4c['getAttribute']('name')||'')['toLowerCase'](),_0x40ce17=_0x181f4c['hasAttribute']('rgba')||null!==_0x3cb9de['rgba'],_0x278051=_0x181f4c['getAttribute']('mesh'),_0x2fe14b=_0x181f4c['getAttribute']('contype'),_0x2e69a8=_0x181f4c['getAttribute']('conaffinity'),_0x2c0f2b=_0x181f4c['getAttribute']('density'),_0x5da81b=null!==_0x2fe14b?parseInt(_0x2fe14b):null!==_0x3cb9de['contype']?_0x3cb9de['contype']:null,_0x4bb6f1=null!==_0x2e69a8?parseInt(_0x2e69a8):null!==_0x3cb9de['conaffinity']?_0x3cb9de['conaffinity']:null;null!==_0x2c0f2b?parseFloat(_0x2c0f2b):null!==_0x3cb9de['density']&&_0x3cb9de['density'];let _0x5d84a5=!0x1;if(_0x278051)if(0x0===_0x5da81b&&0x0===_0x4bb6f1)_0x5d84a5=!0x1;else if(0x3===_0x2b454b)_0x5d84a5=!0x0;else if(0x2===_0x2b454b||0x1===_0x2b454b)_0x5d84a5=!0x1;else if(_0x59ba03['includes']('collision'))_0x5d84a5=!0x0;else if(_0x1231ba['has'](_0x278051)){if(_0x40ce17||0x0===_0x5da81b&&0x0===_0x4bb6f1)return;_0x5d84a5=!0x0;}else _0x5d84a5=!0x1;else _0x5d84a5=!0x0;const _0x2d6301=this['parseGeom'](_0x181f4c,_0x5f5be7);if(_0x2d6301)if(_0x5d84a5){const _0x45c021=new tt();_0x45c021['geometry']=_0x2d6301,_0x45c021['name']=_0x181f4c['getAttribute']('name')||'worldbody_collision_'+_0x2edd7a,_0x45c021['origin']=this['parseOrigin'](_0x181f4c),_0x27769f['collisions']['push'](_0x45c021);}else{_0x278051&&_0x1231ba['add'](_0x278051);const _0x31ed8d=new et();_0x31ed8d['geometry']=_0x2d6301,_0x31ed8d['name']=_0x181f4c['getAttribute']('name')||'worldbody_geom_'+_0x2edd7a,_0x31ed8d['origin']=this['parseOrigin'](_0x181f4c);let _0x5a5527=null;if(_0x181f4c['hasAttribute']('rgba')){const _0x17bfb1=_0x181f4c['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x17bfb1['length']>=0x3&&(_0x5a5527={'r':_0x17bfb1[0x0],'g':_0x17bfb1[0x1],'b':_0x17bfb1[0x2],'a':_0x17bfb1['length']>=0x4?_0x17bfb1[0x3]:0x1});}else _0x3cb9de['rgba']&&(_0x5a5527=_0x3cb9de['rgba']);_0x31ed8d['userData']={'group':_0x2b454b,'hasRgba':_0x40ce17||!!_0x5a5527,'rgba':_0x5a5527,'meshRef':_0x278051,'geomType':_0x181f4c['getAttribute']('type')||(_0x278051?'mesh':'box')},_0x27769f['visuals']['push'](_0x31ed8d);}}),(_0x27769f['visuals']['length']>0x0||_0x27769f['collisions']['length']>0x0)&&_0x1d877d['addLink'](_0x27769f);}const _0x222bf8=new Map();this['parseBodies'](_0x414b67,null,_0x222bf8,_0x1d877d,null,_0x5f5be7,null,_0x423b1e,_0x9d9bc9,_0xe515e5),this['parseJoints'](_0x414b67,_0x222bf8,_0x1d877d,null,_0x9d9bc9),this['parseEquality'](_0x29d59e,_0x1d877d);if(_0x1d877d['links']['get']('worldbody'))_0x1d877d['rootLink']='worldbody';else{const _0x214c64=Array['from'](_0x1d877d['links']['keys']())['filter'](_0x3f8579=>!Array['from'](_0x1d877d['joints']['values']())['some'](_0x7fb0a8=>_0x7fb0a8['child']===_0x3f8579));_0x214c64['length']>0x0?_0x1d877d['rootLink']=_0x214c64[0x0]:_0x1d877d['links']['size']>0x0&&(_0x1d877d['rootLink']=Array['from'](_0x1d877d['links']['keys']())[0x0]);}return await this['createThreeObject'](_0x1d877d,_0xbaa468,_0x5f5be7),_0x1d877d;}static['parseAssets'](_0x336d4d,_0x10589d=null,_0x3399fe=null){const _0x427cc0=new Map(),_0xa7a6ce=_0x336d4d['querySelector']('asset');if(!_0xa7a6ce)return _0x427cc0;return _0xa7a6ce['querySelectorAll']('mesh')['forEach']((_0x3d7c2f,_0x192293)=>{let _0x2cd4eb=_0x3d7c2f['getAttribute']('name');const _0x41a27d=_0x3d7c2f['getAttribute']('file'),_0x196507=_0x3d7c2f['getAttribute']('vertex'),_0x135aea=_0x3d7c2f['getAttribute']('scale'),_0xdf28a8=_0x3d7c2f['getAttribute']('class');let _0x1c6313=[0x1,0x1,0x1];if(_0x135aea){const _0xf23786=_0x135aea['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0xf23786['length']?_0x1c6313=[_0xf23786[0x0],_0xf23786[0x0],_0xf23786[0x0]]:0x3===_0xf23786['length']&&(_0x1c6313=_0xf23786);}else if(_0xdf28a8&&_0x10589d&&_0x10589d['has'](_0xdf28a8)){const _0x1ccd57=_0x10589d['get'](_0xdf28a8);_0x1ccd57['mesh']&&_0x1ccd57['mesh']['scale']&&(_0x1c6313=_0x1ccd57['mesh']['scale']);}else _0x3399fe&&_0x3399fe['mesh']&&_0x3399fe['mesh']['scale']&&(_0x1c6313=_0x3399fe['mesh']['scale']);if(_0x196507){_0x2cd4eb||(_0x2cd4eb='inline_mesh_'+_0x192293);const _0x41111b=_0x196507['trim']()['split'](/\s+/)['map'](parseFloat),_0x3f9d2b=new Float32Array(_0x41111b);_0x427cc0['set'](_0x2cd4eb,{'type':'vertex','vertices':_0x3f9d2b,'scale':_0x1c6313});}else{if(!_0x41a27d)return;if(!_0x2cd4eb){_0x2cd4eb=_0x41a27d['split']('/')['pop']()['split']('\x5c')['pop']()['split']('.')[0x0];}_0x427cc0['set'](_0x2cd4eb,{'type':'file','path':_0x41a27d,'scale':_0x1c6313});}}),_0x427cc0;}static['parseMaterials'](_0x1506c3){const _0x4d5691=new Map(),_0x5cbef3=_0x1506c3['querySelector']('asset');if(!_0x5cbef3)return _0x4d5691;return _0x5cbef3['querySelectorAll']('material')['forEach'](_0xf7b010=>{const _0x248e02=_0xf7b010['getAttribute']('name');if(!_0x248e02)return;const _0xb81e8d={},_0x4d263b=_0xf7b010['getAttribute']('rgba');if(_0x4d263b){const _0x14f297=_0x4d263b['split']('\x20')['map'](parseFloat);_0x14f297['length']>=0x3&&(_0xb81e8d['rgba']={'r':_0x14f297[0x0],'g':_0x14f297[0x1],'b':_0x14f297[0x2],'a':_0x14f297['length']>=0x4?_0x14f297[0x3]:0x1});}const _0x17394f=_0xf7b010['getAttribute']('specular');if(_0x17394f){const _0x5a0b9e=_0x17394f['split']('\x20')['map'](parseFloat);_0xb81e8d['specular']=_0x5a0b9e[0x0]||0.5;}const _0x57723d=_0xf7b010['getAttribute']('shininess');_0x57723d&&(_0xb81e8d['shininess']=parseFloat(_0x57723d)),_0x4d5691['set'](_0x248e02,_0xb81e8d);}),_0x4d5691;}static['parseDefaults'](_0x1c0fba){const _0x4e9b5d=new Map();let _0x4a8a77={};const _0x2b3ac2=(_0x51a7c7,_0x440a4d={})=>{const _0x42b6d3=_0x51a7c7['getAttribute']('class'),_0x4664da=JSON['parse'](JSON['stringify'](_0x440a4d||{})),_0x11dd99=_0x51a7c7['querySelector'](':scope\x20>\x20mesh');if(_0x11dd99){_0x4664da['mesh']||(_0x4664da['mesh']={});const _0x6155d6=_0x11dd99['getAttribute']('scale');if(_0x6155d6){const _0x2a9ecf=_0x6155d6['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0x2a9ecf['length']?_0x4664da['mesh']['scale']=[_0x2a9ecf[0x0],_0x2a9ecf[0x0],_0x2a9ecf[0x0]]:0x3===_0x2a9ecf['length']&&(_0x4664da['mesh']['scale']=_0x2a9ecf);}}const _0xb2236d=_0x51a7c7['querySelector'](':scope\x20>\x20joint');if(_0xb2236d){_0x4664da['joint']||(_0x4664da['joint']={});const _0x429b6f=_0xb2236d['getAttribute']('axis');if(_0x429b6f){const _0x1f6335=_0x429b6f['split']('\x20')['map'](parseFloat);_0x4664da['joint']['axis']=[_0x1f6335[0x0]||0x0,_0x1f6335[0x1]||0x0,_0x1f6335[0x2]||0x0];}const _0x152628=_0xb2236d['getAttribute']('range');if(_0x152628){const _0x350fa4=_0x152628['split']('\x20')['map'](parseFloat);_0x4664da['joint']['range']=_0x350fa4;}const _0x3eb62b=_0xb2236d['getAttribute']('damping');_0x3eb62b&&(_0x4664da['joint']['damping']=parseFloat(_0x3eb62b));}const _0x48a48c=_0x51a7c7['querySelector'](':scope\x20>\x20geom');if(_0x48a48c){_0x4664da['geom']||(_0x4664da['geom']={});const _0x11b9a1=_0x48a48c['getAttribute']('contype');null!==_0x11b9a1&&(_0x4664da['geom']['contype']=parseInt(_0x11b9a1));const _0x4826a7=_0x48a48c['getAttribute']('conaffinity');null!==_0x4826a7&&(_0x4664da['geom']['conaffinity']=parseInt(_0x4826a7));const _0x43e728=_0x48a48c['getAttribute']('group');null!==_0x43e728&&(_0x4664da['geom']['group']=parseInt(_0x43e728));const _0x1f0d57=_0x48a48c['getAttribute']('rgba');if(_0x1f0d57){const _0x147b8e=_0x1f0d57['split']('\x20')['map'](parseFloat);_0x147b8e['length']>=0x3&&(_0x4664da['geom']['rgba']={'r':_0x147b8e[0x0],'g':_0x147b8e[0x1],'b':_0x147b8e[0x2],'a':_0x147b8e['length']>=0x4?_0x147b8e[0x3]:0x1});}const _0x5f5765=_0x48a48c['getAttribute']('material');_0x5f5765&&(_0x4664da['geom']['material']=_0x5f5765);const _0x5714d9=_0x48a48c['getAttribute']('type');_0x5714d9&&(_0x4664da['geom']['type']=_0x5714d9);const _0x22e021=_0x48a48c['getAttribute']('density');null!==_0x22e021&&(_0x4664da['geom']['density']=parseFloat(_0x22e021));}_0x42b6d3?_0x4e9b5d['set'](_0x42b6d3,_0x4664da):Object['assign'](_0x4a8a77,_0x4664da);_0x51a7c7['querySelectorAll'](':scope\x20>\x20default')['forEach'](_0x5a5f76=>{_0x2b3ac2(_0x5a5f76,_0x4664da);});};return _0x1c0fba['querySelectorAll']('mujoco\x20>\x20default')['forEach'](_0x5d8889=>{_0x2b3ac2(_0x5d8889);}),{'classDefaults':_0x4e9b5d,'rootDefaults':_0x4a8a77};}static['getGeomInheritedProperties'](_0x2408d0,_0x46d860,_0xaaf8c7){const _0x2b35c1={'contype':null,'conaffinity':null,'group':null,'rgba':null,'material':null,'type':null,'density':null};_0xaaf8c7&&_0xaaf8c7['geom']&&Object['assign'](_0x2b35c1,_0xaaf8c7['geom']);const _0x419234=_0x2408d0['getAttribute']('class');if(_0x419234&&_0x46d860&&_0x46d860['has'](_0x419234)){const _0x2e6da6=_0x46d860['get'](_0x419234);_0x2e6da6['geom']&&Object['assign'](_0x2b35c1,_0x2e6da6['geom']);}return _0x2b35c1;}static['parseBodies'](_0x3c4f8b,_0x25964e,_0x5736c7,_0x21e01a,_0x362633=null,_0x468c89=null,_0x521a1a=null,_0x367aa0=null,_0x52a649=null,_0x21ecb3=null){_0x521a1a||(_0x521a1a={'totalGeoms':0x0,'skippedCollisionGeoms':0x0,'visualGeoms':0x0});_0x3c4f8b['querySelectorAll'](':scope\x20>\x20body')['forEach'](_0x2c9340=>{const _0x2742ab=_0x2c9340['getAttribute']('name')||'body_'+_0x5736c7['size'],_0x1fe37f=new Ke(_0x2742ab);_0x25964e&&(_0x1fe37f['userData']['parentName']=_0x25964e);const _0x1a5539=this['parseOrigin'](_0x2c9340);_0x1fe37f['userData']['bodyOrigin']=_0x1a5539;const _0x1f94ac=_0x2c9340['querySelectorAll'](':scope\x20>\x20geom'),_0x59e8b3=new Set();_0x1f94ac['forEach']((_0xc4aa7a,_0x445508)=>{_0x521a1a['totalGeoms']++;const _0x28fee4=this['getGeomInheritedProperties'](_0xc4aa7a,_0x52a649,_0x21ecb3),_0x7000b3=_0xc4aa7a['getAttribute']('group'),_0x28fec1=null!==_0x7000b3?parseInt(_0x7000b3):null!==_0x28fee4['group']?_0x28fee4['group']:0x0,_0x5b7b57=(_0xc4aa7a['getAttribute']('name')||'')['toLowerCase'](),_0x1bb10c=_0xc4aa7a['hasAttribute']('rgba')||null!==_0x28fee4['rgba'],_0x1964f0=_0xc4aa7a['getAttribute']('mesh'),_0x3151fe=_0xc4aa7a['getAttribute']('type')||_0x28fee4['type']||(_0x1964f0?'mesh':'box'),_0x2e1952=_0xc4aa7a['getAttribute']('contype'),_0x247a1f=_0xc4aa7a['getAttribute']('conaffinity'),_0x233974=_0xc4aa7a['getAttribute']('density'),_0x43697f=null!==_0x2e1952?parseInt(_0x2e1952):null!==_0x28fee4['contype']?_0x28fee4['contype']:null,_0x220344=null!==_0x247a1f?parseInt(_0x247a1f):null!==_0x28fee4['conaffinity']?_0x28fee4['conaffinity']:null;null!==_0x233974?parseFloat(_0x233974):null!==_0x28fee4['density']&&_0x28fee4['density'];let _0x1690ec=!0x1;if(_0x1964f0)if(0x0===_0x43697f&&0x0===_0x220344)_0x1690ec=!0x1;else if(0x3===_0x28fec1)_0x1690ec=!0x0;else if(0x2===_0x28fec1||0x1===_0x28fec1)_0x1690ec=!0x1;else if(_0x5b7b57['includes']('collision'))_0x1690ec=!0x0;else if(_0x59e8b3['has'](_0x1964f0)){if(_0x1bb10c||0x0===_0x43697f&&0x0===_0x220344)return void _0x521a1a['skippedCollisionGeoms']++;_0x1690ec=!0x0;}else _0x1690ec=!0x1;else _0x1690ec=!0x0;const _0x21c4db=this['parseGeom'](_0xc4aa7a,_0x468c89);if(_0x21c4db)if(_0x1690ec){const _0x544e98=new tt();_0x544e98['geometry']=_0x21c4db,_0x544e98['name']=_0xc4aa7a['getAttribute']('name')||'collision_'+_0x445508,_0x544e98['origin']=this['parseOrigin'](_0xc4aa7a),_0x1fe37f['collisions']['push'](_0x544e98);}else{_0x521a1a['visualGeoms']++,_0x1964f0&&_0x59e8b3['add'](_0x1964f0);const _0x3b5ece=new et();_0x3b5ece['geometry']=_0x21c4db,_0x3b5ece['name']=_0xc4aa7a['getAttribute']('name')||'geom_'+_0x445508,_0x3b5ece['origin']=this['parseOrigin'](_0xc4aa7a);let _0x209054=null,_0x404942=null;if(_0xc4aa7a['hasAttribute']('rgba')){const _0x427aac=_0xc4aa7a['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x427aac['length']>=0x3&&(_0x209054={'r':_0x427aac[0x0],'g':_0x427aac[0x1],'b':_0x427aac[0x2],'a':_0x427aac['length']>=0x4?_0x427aac[0x3]:0x1});}if(!_0x209054&&_0x28fee4['rgba']&&(_0x209054=_0x28fee4['rgba']),!_0x209054&&_0x367aa0&&(_0x404942=_0xc4aa7a['getAttribute']('material')||_0x28fee4['material'],_0x404942&&_0x367aa0['has'](_0x404942))){const _0x4c81e8=_0x367aa0['get'](_0x404942);_0x4c81e8['rgba']&&(_0x209054=_0x4c81e8['rgba']);}_0x3b5ece['userData']={'group':_0x28fec1,'hasRgba':_0x1bb10c||!!_0x209054,'rgba':_0x209054,'materialName':_0x404942,'meshRef':_0x1964f0,'geomType':_0x3151fe},_0x1fe37f['visuals']['push'](_0x3b5ece);}});const _0x382369=_0x2c9340['querySelector'](':scope\x20>\x20inertial');_0x382369&&(_0x1fe37f['inertial']=this['parseInertial'](_0x382369)),_0x21e01a['addLink'](_0x1fe37f),_0x5736c7['set'](_0x2742ab,{'link':_0x1fe37f,'element':_0x2c9340,'parentName':_0x25964e}),this['parseBodies'](_0x2c9340,_0x2742ab,_0x5736c7,_0x21e01a,_0x1fe37f,_0x468c89,_0x521a1a,_0x367aa0,_0x52a649,_0x21ecb3);});}static['parseGeom'](_0x16cf5d,_0x36ff7c=null){const _0x6471ae=_0x16cf5d['getAttribute']('mesh');let _0x51e9d2=_0x16cf5d['getAttribute']('type');_0x6471ae&&!_0x51e9d2&&(_0x51e9d2='mesh'),_0x51e9d2||(_0x51e9d2='sphere');const _0x770e5b=new nt(_0x51e9d2);switch(_0x51e9d2){case'box':const _0x4a0456=_0x16cf5d['getAttribute']('size');if(_0x4a0456){const _0x53bd6b=_0x4a0456['split']('\x20')['map'](parseFloat);_0x770e5b['size']=0x1===_0x53bd6b['length']?{'x':0x2*_0x53bd6b[0x0],'y':0x2*_0x53bd6b[0x0],'z':0x2*_0x53bd6b[0x0]}:{'x':0x2*(_0x53bd6b[0x0]||0.05),'y':0x2*(_0x53bd6b[0x1]||0.05),'z':0x2*(_0x53bd6b[0x2]||0.05)};}else _0x770e5b['size']={'x':0.1,'y':0.1,'z':0.1};break;case'sphere':const _0x34852c=parseFloat(_0x16cf5d['getAttribute']('size')||'0.1');_0x770e5b['size']={'radius':_0x34852c};break;case'cylinder':case'capsule':const _0x337ba0=_0x16cf5d['getAttribute']('fromto'),_0x347227=_0x16cf5d['getAttribute']('size');if(_0x337ba0){const _0x47edeb=_0x337ba0['split']('\x20')['map'](parseFloat);if(_0x47edeb['length']>=0x6){const _0x2168ea=new _0x4a4464(_0x47edeb[0x0],_0x47edeb[0x1],_0x47edeb[0x2]),_0x2ea08b=new _0x4a4464(_0x47edeb[0x3],_0x47edeb[0x4],_0x47edeb[0x5]),_0x15da15=new _0x4a4464()['addVectors'](_0x2168ea,_0x2ea08b)['multiplyScalar'](0.5),_0x27754c=_0x2168ea['distanceTo'](_0x2ea08b),_0x3d47c0=new _0x4a4464()['subVectors'](_0x2ea08b,_0x2168ea)['normalize'](),_0x41c1d3=new _0x4a4464(0x0,0x1,0x0),_0xd3e60=new _0x446862()['setFromUnitVectors'](_0x41c1d3,_0x3d47c0),_0x107138=new _0x1b9ef9()['setFromQuaternion'](_0xd3e60);_0x770e5b['fromto']={'p1':[_0x47edeb[0x0],_0x47edeb[0x1],_0x47edeb[0x2]],'p2':[_0x47edeb[0x3],_0x47edeb[0x4],_0x47edeb[0x5]],'center':[_0x15da15['x'],_0x15da15['y'],_0x15da15['z']],'height':_0x27754c,'rpy':[_0x107138['x'],_0x107138['y'],_0x107138['z']]};const _0x3b0f7d=parseFloat(_0x347227||'0.01');_0x770e5b['size']={'radius':_0x3b0f7d,'height':_0x27754c};}}else if(_0x347227){const _0x3ba330=_0x347227['split']('\x20')['map'](parseFloat);_0x770e5b['size']={'radius':_0x3ba330[0x0]||0.1,'height':0x2*(_0x3ba330[0x1]||0.1)};}else _0x770e5b['size']={'radius':0.01,'height':0.1};break;case'mesh':let _0x28e215=_0x16cf5d['getAttribute']('mesh');if(_0x36ff7c&&_0x36ff7c['has'](_0x28e215)){const _0xeea09c=_0x36ff7c['get'](_0x28e215);'file'===_0xeea09c['type']?(_0x770e5b['filename']=_0xeea09c['path'],_0xeea09c['scale']&&(_0x770e5b['meshScale']=_0xeea09c['scale'])):'vertex'===_0xeea09c['type']&&(_0x770e5b['inlineVertices']=_0xeea09c['vertices'],_0x770e5b['inlineScale']=_0xeea09c['scale']);}else _0x770e5b['filename']=_0x28e215,_0x36ff7c&&_0x36ff7c['size'];_0x770e5b['size']=null;}return _0x770e5b;}static['parseOrigin'](_0x5cb448){const _0x1ccc94={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0x323dd3=_0x5cb448['getAttribute']('pos');if(_0x323dd3){const _0x5d8873=_0x323dd3['split']('\x20')['map'](parseFloat);_0x1ccc94['xyz']=[_0x5d8873[0x0]||0x0,_0x5d8873[0x1]||0x0,_0x5d8873[0x2]||0x0];}const _0xe8a7d1=_0x5cb448['getAttribute']('quat');if(_0xe8a7d1){const _0x61ee33=_0xe8a7d1['split']('\x20')['map'](parseFloat),_0x4b7042=_0x61ee33[0x0],_0x16df6f=_0x61ee33[0x1],_0x1f3709=_0x61ee33[0x2],_0xf54702=_0x61ee33[0x3];_0x1ccc94['quat']={'w':_0x4b7042,'x':_0x16df6f,'y':_0x1f3709,'z':_0xf54702},_0x1ccc94['rpy']=this['quaternionToEuler'](_0x4b7042,_0x16df6f,_0x1f3709,_0xf54702);}else{const _0x3d08b9=_0x5cb448['getAttribute']('euler');if(_0x3d08b9){const _0x4b04d3=_0x3d08b9['split']('\x20')['map'](parseFloat);_0x1ccc94['rpy']=[_0x4b04d3[0x0]||0x0,_0x4b04d3[0x1]||0x0,_0x4b04d3[0x2]||0x0];}}return _0x1ccc94;}static['quaternionToEuler'](_0x33b2b5,_0x3f0cea,_0x1fd6a0,_0x4707c2){const _0x3b738c=Math['sqrt'](_0x33b2b5*_0x33b2b5+_0x3f0cea*_0x3f0cea+_0x1fd6a0*_0x1fd6a0+_0x4707c2*_0x4707c2);_0x3b738c>0x0&&(_0x33b2b5/=_0x3b738c,_0x3f0cea/=_0x3b738c,_0x1fd6a0/=_0x3b738c,_0x4707c2/=_0x3b738c);const _0x2111a2=0x2*(_0x33b2b5*_0x3f0cea+_0x1fd6a0*_0x4707c2),_0x1ec2c9=0x1-0x2*(_0x3f0cea*_0x3f0cea+_0x1fd6a0*_0x1fd6a0),_0xefda74=0x2*(_0x33b2b5*_0x1fd6a0-_0x4707c2*_0x3f0cea),_0x47ba32=0x2*(_0x33b2b5*_0x4707c2+_0x3f0cea*_0x1fd6a0),_0x4281a2=0x1-0x2*(_0x1fd6a0*_0x1fd6a0+_0x4707c2*_0x4707c2);return[Math['atan2'](_0x2111a2,_0x1ec2c9),Math['abs'](_0xefda74)>=0x1?Math['sign'](_0xefda74)*Math['PI']/0x2:Math['asin'](_0xefda74),Math['atan2'](_0x47ba32,_0x4281a2)];}static['parseInertial'](_0x56cfb6){const _0x15a2c3=new it(),_0x3298a4=_0x56cfb6['getAttribute']('mass');_0x3298a4&&(_0x15a2c3['mass']=parseFloat(_0x3298a4));const _0x415a89=this['parseOrigin'](_0x56cfb6);_0x15a2c3['origin']=_0x415a89;const _0x4451b0=_0x56cfb6['getAttribute']('diaginertia'),_0x4ea3df=_0x56cfb6['getAttribute']('fullinertia');let _0x4e561b=0x0,_0x376836=0x0,_0x3e28c3=0x0,_0x3bac93=0x0,_0x4a1ffc=0x0,_0x3acb50=0x0;if(_0x4451b0){const _0x175e95=_0x4451b0['split']('\x20')['map'](parseFloat);_0x4e561b=_0x175e95[0x0]||0x0,_0x376836=_0x175e95[0x1]||0x0,_0x3e28c3=_0x175e95[0x2]||0x0;}if(_0x4ea3df){const _0x4b6dfc=_0x4ea3df['split']('\x20')['map'](parseFloat);_0x4e561b=_0x4b6dfc[0x0]||0x0,_0x376836=_0x4b6dfc[0x1]||0x0,_0x3e28c3=_0x4b6dfc[0x2]||0x0,_0x3bac93=_0x4b6dfc[0x3]||0x0,_0x4a1ffc=_0x4b6dfc[0x4]||0x0,_0x3acb50=_0x4b6dfc[0x5]||0x0;}if(_0x15a2c3['diagonalInertia']={'ixx':_0x4e561b,'iyy':_0x376836,'izz':_0x3e28c3},_0x415a89['quat']){const _0x536bf0=this['rotateInertiaTensor'](_0x4e561b,_0x376836,_0x3e28c3,_0x3bac93,_0x4a1ffc,_0x3acb50,_0x415a89['quat']);_0x4e561b=_0x536bf0['ixx'],_0x376836=_0x536bf0['iyy'],_0x3e28c3=_0x536bf0['izz'],_0x3bac93=_0x536bf0['ixy'],_0x4a1ffc=_0x536bf0['ixz'],_0x3acb50=_0x536bf0['iyz'];}const _0x13b530=this['rotateInertiaAroundAxis'](_0x4e561b,_0x376836,_0x3e28c3,_0x3bac93,_0x4a1ffc,_0x3acb50,'Y',0x5a),_0x49a033=this['rotateInertiaAroundAxis'](_0x13b530['ixx'],_0x13b530['iyy'],_0x13b530['izz'],_0x13b530['ixy'],_0x13b530['ixz'],_0x13b530['iyz'],'Y',0x5a);return _0x15a2c3['ixx']=_0x49a033['ixx'],_0x15a2c3['iyy']=_0x49a033['iyy'],_0x15a2c3['izz']=_0x49a033['izz'],_0x15a2c3['ixy']=_0x49a033['ixy'],_0x15a2c3['ixz']=_0x49a033['ixz'],_0x15a2c3['iyz']=_0x49a033['iyz'],_0x15a2c3;}static['rotateInertiaAroundAxis'](_0x1df0e4,_0x3e0349,_0x115e84,_0x507d69,_0x479088,_0x4ec3ee,_0x5f447d,_0x2e3a46){const _0xf1969b=_0x2e3a46*Math['PI']/0xb4,_0x10677e=Math['cos'](_0xf1969b),_0x1d1aa2=Math['sin'](_0xf1969b);let _0x357806;'X'===_0x5f447d?_0x357806=[[0x1,0x0,0x0],[0x0,_0x10677e,-_0x1d1aa2],[0x0,_0x1d1aa2,_0x10677e]]:'Y'===_0x5f447d?_0x357806=[[_0x10677e,0x0,_0x1d1aa2],[0x0,0x1,0x0],[-_0x1d1aa2,0x0,_0x10677e]]:'Z'===_0x5f447d&&(_0x357806=[[_0x10677e,-_0x1d1aa2,0x0],[_0x1d1aa2,_0x10677e,0x0],[0x0,0x0,0x1]]);const _0x107544=[[_0x1df0e4,_0x507d69,_0x479088],[_0x507d69,_0x3e0349,_0x4ec3ee],[_0x479088,_0x4ec3ee,_0x115e84]],_0x556a98=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0x125b65=0x0;_0x125b65<0x3;_0x125b65++)for(let _0x540cd2=0x0;_0x540cd2<0x3;_0x540cd2++)for(let _0x1e630f=0x0;_0x1e630f<0x3;_0x1e630f++)_0x556a98[_0x125b65][_0x540cd2]+=_0x357806[_0x125b65][_0x1e630f]*_0x107544[_0x1e630f][_0x540cd2];const _0x18e2fc=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0xc98246=0x0;_0xc98246<0x3;_0xc98246++)for(let _0x995c9c=0x0;_0x995c9c<0x3;_0x995c9c++)for(let _0x31ece3=0x0;_0x31ece3<0x3;_0x31ece3++)_0x18e2fc[_0xc98246][_0x995c9c]+=_0x556a98[_0xc98246][_0x31ece3]*_0x357806[_0x995c9c][_0x31ece3];return{'ixx':_0x18e2fc[0x0][0x0],'iyy':_0x18e2fc[0x1][0x1],'izz':_0x18e2fc[0x2][0x2],'ixy':_0x18e2fc[0x0][0x1],'ixz':_0x18e2fc[0x0][0x2],'iyz':_0x18e2fc[0x1][0x2]};}static['rotateInertiaTensor'](_0x51fa0d,_0xd4613e,_0x561988,_0x138ffa,_0x1b4891,_0x4199dc,_0x280d21){const {w:_0x41d024,x:_0xb0bdff,y:_0x45319f,z:_0x5d81f2}=_0x280d21,_0x136512=0x1-0x2*(_0x45319f*_0x45319f+_0x5d81f2*_0x5d81f2),_0x53c2ab=0x2*(_0xb0bdff*_0x45319f-_0x41d024*_0x5d81f2),_0x495920=0x2*(_0xb0bdff*_0x5d81f2+_0x41d024*_0x45319f),_0x45633c=0x2*(_0xb0bdff*_0x45319f+_0x41d024*_0x5d81f2),_0x3f5202=0x1-0x2*(_0xb0bdff*_0xb0bdff+_0x5d81f2*_0x5d81f2),_0x3dbd88=0x2*(_0x45319f*_0x5d81f2-_0x41d024*_0xb0bdff),_0x181c84=0x2*(_0xb0bdff*_0x5d81f2-_0x41d024*_0x45319f),_0x40eaa2=0x2*(_0x45319f*_0x5d81f2+_0x41d024*_0xb0bdff),_0x344790=0x1-0x2*(_0xb0bdff*_0xb0bdff+_0x45319f*_0x45319f),_0x3c3eee=[[_0x51fa0d,_0x138ffa,_0x1b4891],[_0x138ffa,_0xd4613e,_0x4199dc],[_0x1b4891,_0x4199dc,_0x561988]],_0x33c5c4=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];_0x33c5c4[0x0][0x0]=_0x136512*_0x3c3eee[0x0][0x0]+_0x53c2ab*_0x3c3eee[0x1][0x0]+_0x495920*_0x3c3eee[0x2][0x0],_0x33c5c4[0x0][0x1]=_0x136512*_0x3c3eee[0x0][0x1]+_0x53c2ab*_0x3c3eee[0x1][0x1]+_0x495920*_0x3c3eee[0x2][0x1],_0x33c5c4[0x0][0x2]=_0x136512*_0x3c3eee[0x0][0x2]+_0x53c2ab*_0x3c3eee[0x1][0x2]+_0x495920*_0x3c3eee[0x2][0x2],_0x33c5c4[0x1][0x0]=_0x45633c*_0x3c3eee[0x0][0x0]+_0x3f5202*_0x3c3eee[0x1][0x0]+_0x3dbd88*_0x3c3eee[0x2][0x0],_0x33c5c4[0x1][0x1]=_0x45633c*_0x3c3eee[0x0][0x1]+_0x3f5202*_0x3c3eee[0x1][0x1]+_0x3dbd88*_0x3c3eee[0x2][0x1],_0x33c5c4[0x1][0x2]=_0x45633c*_0x3c3eee[0x0][0x2]+_0x3f5202*_0x3c3eee[0x1][0x2]+_0x3dbd88*_0x3c3eee[0x2][0x2],_0x33c5c4[0x2][0x0]=_0x181c84*_0x3c3eee[0x0][0x0]+_0x40eaa2*_0x3c3eee[0x1][0x0]+_0x344790*_0x3c3eee[0x2][0x0],_0x33c5c4[0x2][0x1]=_0x181c84*_0x3c3eee[0x0][0x1]+_0x40eaa2*_0x3c3eee[0x1][0x1]+_0x344790*_0x3c3eee[0x2][0x1],_0x33c5c4[0x2][0x2]=_0x181c84*_0x3c3eee[0x0][0x2]+_0x40eaa2*_0x3c3eee[0x1][0x2]+_0x344790*_0x3c3eee[0x2][0x2];return{'ixx':_0x33c5c4[0x0][0x0]*_0x136512+_0x33c5c4[0x0][0x1]*_0x53c2ab+_0x33c5c4[0x0][0x2]*_0x495920,'iyy':_0x33c5c4[0x1][0x0]*_0x45633c+_0x33c5c4[0x1][0x1]*_0x3f5202+_0x33c5c4[0x1][0x2]*_0x3dbd88,'izz':_0x33c5c4[0x2][0x0]*_0x181c84+_0x33c5c4[0x2][0x1]*_0x40eaa2+_0x33c5c4[0x2][0x2]*_0x344790,'ixy':_0x33c5c4[0x0][0x0]*_0x45633c+_0x33c5c4[0x0][0x1]*_0x3f5202+_0x33c5c4[0x0][0x2]*_0x3dbd88,'ixz':_0x33c5c4[0x0][0x0]*_0x181c84+_0x33c5c4[0x0][0x1]*_0x40eaa2+_0x33c5c4[0x0][0x2]*_0x344790,'iyz':_0x33c5c4[0x1][0x0]*_0x181c84+_0x33c5c4[0x1][0x1]*_0x40eaa2+_0x33c5c4[0x1][0x2]*_0x344790};}static['parseJoints'](_0x7b6a3e,_0x5005f7,_0x5d7466,_0x518ac5=null,_0x142468=null){_0x7b6a3e['querySelectorAll'](':scope\x20>\x20joint')['forEach'](_0x201646=>{const _0x26a3b9=_0x201646['getAttribute']('name')||'joint_'+_0x5d7466['joints']['size'],_0x5954f1=_0x201646['getAttribute']('type')||'hinge';let _0x17a9f0='revolute';'slide'===_0x5954f1?_0x17a9f0='prismatic':'free'===_0x5954f1?_0x17a9f0='continuous':'ball'!==_0x5954f1&&'hinge'!==_0x5954f1||(_0x17a9f0='revolute');const _0x392183=new st(_0x26a3b9,_0x17a9f0),_0x4d08de=(['free','ball']['includes'](_0x5954f1),_0x201646['parentElement']),_0x23d2d0=_0x4d08de['getAttribute']('name');_0x392183['parent']=_0x518ac5||'worldbody',_0x23d2d0&&(_0x392183['child']=_0x23d2d0);let _0x13ab7a=null;const _0x4450a2=_0x201646['getAttribute']('axis');if(_0x4450a2)_0x13ab7a=_0x4450a2['split']('\x20')['map'](parseFloat);else{let _0x13533a=_0x201646['getAttribute']('class');if(_0x13533a||(_0x13533a=_0x4d08de['getAttribute']('childclass')),_0x13533a&&_0x142468){const _0x25ebee=_0x142468['get'](_0x13533a);_0x25ebee&&_0x25ebee['joint']&&_0x25ebee['joint']['axis']&&(_0x13ab7a=_0x25ebee['joint']['axis']);}}_0x13ab7a&&(_0x392183['axis']={'xyz':[_0x13ab7a[0x0]||0x0,_0x13ab7a[0x1]||0x0,_0x13ab7a[0x2]||0x0]});let _0x209fb0=null;const _0x2ef6f2=_0x201646['getAttribute']('range');if(_0x2ef6f2)_0x209fb0=_0x2ef6f2['split']('\x20')['map'](parseFloat);else{let _0x4e304c=_0x201646['getAttribute']('class');if(_0x4e304c||(_0x4e304c=_0x4d08de['getAttribute']('childclass')),_0x4e304c&&_0x142468){const _0x5e8b2b=_0x142468['get'](_0x4e304c);_0x5e8b2b&&_0x5e8b2b['joint']&&_0x5e8b2b['joint']['range']&&(_0x209fb0=_0x5e8b2b['joint']['range']);}}if(_0x209fb0&&_0x209fb0['length']>=0x2){const _0x394d1e=new rt();_0x394d1e['lower']=_0x209fb0[0x0],_0x394d1e['upper']=_0x209fb0[0x1],_0x392183['limits']=_0x394d1e;}_0x392183['origin']=this['parseOrigin'](_0x201646),_0x5d7466['addJoint'](_0x392183);});_0x7b6a3e['querySelectorAll'](':scope\x20>\x20freejoint')['forEach']((_0x574595,_0x3a55e7)=>{const _0xcb5003=_0x574595['getAttribute']('name')||'freejoint_'+_0x5d7466['joints']['size'],_0x342f1c=new st(_0xcb5003,'continuous');_0x342f1c['type']='free';const _0x390675=_0x574595['parentElement']['getAttribute']('name');_0x342f1c['parent']=_0x518ac5||'worldbody',_0x390675&&(_0x342f1c['child']=_0x390675),_0x342f1c['origin']=this['parseOrigin'](_0x574595),_0x5d7466['addJoint'](_0x342f1c);});const _0x12e3e1=_0x7b6a3e['querySelectorAll'](':scope\x20>\x20body'),_0x53a814=_0x7b6a3e['getAttribute']('name');_0x12e3e1['forEach'](_0x5c49e2=>{this['parseJoints'](_0x5c49e2,_0x5005f7,_0x5d7466,_0x53a814||'worldbody',_0x142468);});}static['parseEquality'](_0x20d65a,_0x41d509){const _0x493f92=_0x20d65a['querySelector']('equality');if(!_0x493f92)return;_0x493f92['querySelectorAll']('connect')['forEach']((_0x4e2549,_0x137fdf)=>{const _0x57a2d8=_0x4e2549['getAttribute']('name')||'connect_'+_0x137fdf,_0x224b61=new at(_0x57a2d8,'connect');_0x224b61['body1']=_0x4e2549['getAttribute']('body1'),_0x224b61['body2']=_0x4e2549['getAttribute']('body2');const _0x50a077=_0x4e2549['getAttribute']('anchor');_0x50a077&&(_0x224b61['anchor']=_0x50a077['trim']()['split'](/\s+/)['map'](parseFloat));const _0x4db12c=_0x4e2549['getAttribute']('torquescale');_0x4db12c&&(_0x224b61['torquescale']=parseFloat(_0x4db12c)),_0x224b61['userData']={'body1':_0x224b61['body1'],'body2':_0x224b61['body2'],'anchor':_0x224b61['anchor']},_0x41d509['addConstraint'](_0x224b61);});_0x493f92['querySelectorAll']('weld')['forEach']((_0x20eda3,_0x5ba53a)=>{const _0x494191=_0x20eda3['getAttribute']('name')||'weld_'+_0x5ba53a,_0x368cc9=new at(_0x494191,'weld');_0x368cc9['body1']=_0x20eda3['getAttribute']('body1'),_0x368cc9['body2']=_0x20eda3['getAttribute']('body2');const _0x5cd26a=_0x20eda3['getAttribute']('anchor');_0x5cd26a&&(_0x368cc9['anchor']=_0x5cd26a['trim']()['split'](/\s+/)['map'](parseFloat));const _0x18799b=_0x20eda3['getAttribute']('torquescale');_0x18799b&&(_0x368cc9['torquescale']=parseFloat(_0x18799b)),_0x368cc9['userData']={'body1':_0x368cc9['body1'],'body2':_0x368cc9['body2'],'anchor':_0x368cc9['anchor']},_0x41d509['addConstraint'](_0x368cc9);});_0x493f92['querySelectorAll']('joint')['forEach']((_0x3701e4,_0x4ac903)=>{const _0x43acc3=_0x3701e4['getAttribute']('name')||'joint_constraint_'+_0x4ac903,_0x49ba2a=new at(_0x43acc3,'joint');_0x49ba2a['joint1']=_0x3701e4['getAttribute']('joint1'),_0x49ba2a['joint2']=_0x3701e4['getAttribute']('joint2');const _0x4e1bf0=_0x3701e4['getAttribute']('polycoef');_0x49ba2a['polycoef']=_0x4e1bf0?_0x4e1bf0['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x1],_0x49ba2a['userData']={'joint1':_0x49ba2a['joint1'],'joint2':_0x49ba2a['joint2'],'polycoef':_0x49ba2a['polycoef']},_0x41d509['addConstraint'](_0x49ba2a);});_0x493f92['querySelectorAll']('distance')['forEach']((_0x5d294f,_0xc6d4ef)=>{const _0x36aaac=_0x5d294f['getAttribute']('name')||'distance_'+_0xc6d4ef,_0x329a7e=new at(_0x36aaac,'distance');_0x329a7e['body1']=_0x5d294f['getAttribute']('body1'),_0x329a7e['body2']=_0x5d294f['getAttribute']('body2'),_0x329a7e['userData']={'body1':_0x329a7e['body1'],'body2':_0x329a7e['body2']},_0x41d509['addConstraint'](_0x329a7e);});}static async['createThreeObject'](_0x5d91eb,_0x178f24=null,_0x3d4952=null){await xt();const _0xfd40a5=new _0x2026e8();_0xfd40a5['name']=_0x5d91eb['name'];const _0x3b0fa9=new Map(),_0x293364=new Set();for(const [_0xb87726,_0x4637cb]of _0x5d91eb['links'])for(const _0x18c6c1 of _0x4637cb['visuals'])'mesh'===_0x18c6c1['geometry']['type']&&_0x18c6c1['geometry']['filename']&&_0x293364['add'](_0x18c6c1['geometry']['filename']);const _0x4e13e3=Array['from'](_0x293364)['map'](_0x5e1759=>this['loadMeshFile'](_0x5e1759,_0x178f24)['catch'](_0x4c076b=>null)),_0x24f6ad=await Promise['all'](_0x4e13e3),_0x1732a9=new Map();let _0x437f9f=0x0;for(const _0x4ff8d2 of _0x293364){const _0xddcf2b=_0x24f6ad[_0x437f9f++];_0x1732a9['set'](_0x4ff8d2,_0xddcf2b);}for(const [_0x3f48ef,_0x14944e]of _0x5d91eb['links']){const _0x1c7f63=new _0x2026e8();_0x1c7f63['name']=_0x3f48ef,_0x1c7f63['isURDFLink']=!0x0,_0x1c7f63['type']='URDFLink';let _0x2cd2cf=0x0;for(const _0x4f9f35 of _0x14944e['visuals']){const _0x438b15=await this['createGeometryMesh'](_0x4f9f35['geometry'],_0x178f24,_0x1732a9);if(_0x438b15){if(_0x4f9f35['geometry']&&_0x4f9f35['geometry']['fromto']){_0x438b15['position']['set'](..._0x4f9f35['geometry']['fromto']['center']);const _0x369e01=_0x4f9f35['geometry']['fromto']['rpy'];_0x438b15['rotation']['set'](_0x369e01[0x0]+_0x4f9f35['origin']['rpy'][0x0],_0x369e01[0x1]+_0x4f9f35['origin']['rpy'][0x1],_0x369e01[0x2]+_0x4f9f35['origin']['rpy'][0x2]);}else _0x438b15['position']['set'](..._0x4f9f35['origin']['xyz']),_0x438b15['rotation']['set'](..._0x4f9f35['origin']['rpy']);if(_0x438b15['name']=_0x4f9f35['name']||'visual',_0x4f9f35['userData']&&_0x4f9f35['userData']['rgba']){const _0x33cba9=_0x4f9f35['userData']['rgba'],_0x1884e1=new _0x5dc695(_0x33cba9['r'],_0x33cba9['g'],_0x33cba9['b']);_0x438b15['traverse'](_0x15b3d0=>{if(_0x15b3d0['isMesh']&&_0x15b3d0['material'])if(Array['isArray'](_0x15b3d0['material']))_0x15b3d0['material']=_0x15b3d0['material']['map'](_0x1205d5=>{const _0x2ad366=_0x1205d5['clone']();if(_0x2ad366['color']=_0x1884e1,_0x33cba9['a']<0x1&&(_0x2ad366['transparent']=!0x0,_0x2ad366['opacity']=_0x33cba9['a']),_0x2ad366['isMeshPhongMaterial']||_0x2ad366['isMeshStandardMaterial']){if(void 0x0===_0x2ad366['userData']['originalShininess'])if(_0x2ad366['userData']['originalShininess']=void 0x0!==_0x2ad366['shininess']?_0x2ad366['shininess']:0x1e,_0x2ad366['specular'])if(_0x2ad366['specular']['isColor']){const _0x49531f=_0x2ad366['specular'];_0x49531f['r']<0.1&&_0x49531f['g']<0.1&&_0x49531f['b']<0.1?_0x2ad366['userData']['originalSpecular']=null:_0x2ad366['userData']['originalSpecular']=_0x49531f['clone']();}else'number'==typeof _0x2ad366['specular']?0x111111===_0x2ad366['specular']||_0x2ad366['specular']<0x111111?_0x2ad366['userData']['originalSpecular']=null:_0x2ad366['userData']['originalSpecular']=new _0x5dc695(_0x2ad366['specular']):_0x2ad366['userData']['originalSpecular']=null;else _0x2ad366['userData']['originalSpecular']=null;(void 0x0===_0x2ad366['shininess']||_0x2ad366['shininess']<0x32)&&(_0x2ad366['shininess']=0x32),(!_0x2ad366['specular']||_0x2ad366['specular']['isColor']&&_0x2ad366['specular']['r']<0.2||'number'==typeof _0x2ad366['specular']&&_0x2ad366['specular']<0x333333)&&(_0x2ad366['specular']=new _0x5dc695(0.3,0.3,0.3));}return _0x2ad366;});else if(_0x15b3d0['material']=_0x15b3d0['material']['clone'](),_0x15b3d0['material']['color']=_0x1884e1,_0x33cba9['a']<0x1&&(_0x15b3d0['material']['transparent']=!0x0,_0x15b3d0['material']['opacity']=_0x33cba9['a']),_0x15b3d0['material']['isMeshPhongMaterial']||_0x15b3d0['material']['isMeshStandardMaterial']){if(void 0x0===_0x15b3d0['material']['userData']['originalShininess'])if(_0x15b3d0['material']['userData']['originalShininess']=void 0x0!==_0x15b3d0['material']['shininess']?_0x15b3d0['material']['shininess']:0x1e,_0x15b3d0['material']['specular'])if(_0x15b3d0['material']['specular']['isColor']){const _0x1514e7=_0x15b3d0['material']['specular'];_0x1514e7['r']<0.1&&_0x1514e7['g']<0.1&&_0x1514e7['b']<0.1?_0x15b3d0['material']['userData']['originalSpecular']=null:_0x15b3d0['material']['userData']['originalSpecular']=_0x1514e7['clone']();}else'number'==typeof _0x15b3d0['material']['specular']?0x111111===_0x15b3d0['material']['specular']||_0x15b3d0['material']['specular']<0x111111?_0x15b3d0['material']['userData']['originalSpecular']=null:_0x15b3d0['material']['userData']['originalSpecular']=new _0x5dc695(_0x15b3d0['material']['specular']):_0x15b3d0['material']['userData']['originalSpecular']=null;else _0x15b3d0['material']['userData']['originalSpecular']=null;(void 0x0===_0x15b3d0['material']['shininess']||_0x15b3d0['material']['shininess']<0x32)&&(_0x15b3d0['material']['shininess']=0x32),(!_0x15b3d0['material']['specular']||_0x15b3d0['material']['specular']['isColor']&&_0x15b3d0['material']['specular']['r']<0.2||'number'==typeof _0x15b3d0['material']['specular']&&_0x15b3d0['material']['specular']<0x333333)&&(_0x15b3d0['material']['specular']=new _0x5dc695(0.3,0.3,0.3));}});}_0x1c7f63['add'](_0x438b15),_0x4f9f35['threeObject']=_0x438b15;}}for(const _0x48fd6b of _0x14944e['collisions']){const _0x54994a=await this['createGeometryMesh'](_0x48fd6b['geometry'],_0x178f24,_0x1732a9);if(_0x54994a){if(_0x48fd6b['geometry']&&_0x48fd6b['geometry']['fromto']){_0x54994a['position']['set'](..._0x48fd6b['geometry']['fromto']['center']);const _0x27690e=_0x48fd6b['geometry']['fromto']['rpy'];_0x54994a['rotation']['set'](_0x27690e[0x0]+_0x48fd6b['origin']['rpy'][0x0],_0x27690e[0x1]+_0x48fd6b['origin']['rpy'][0x1],_0x27690e[0x2]+_0x48fd6b['origin']['rpy'][0x2]);}else _0x54994a['position']['set'](..._0x48fd6b['origin']['xyz']),_0x54994a['rotation']['set'](..._0x48fd6b['origin']['rpy']);_0x54994a['name']=_0x48fd6b['name']||'collision';const _0x380549=new _0x2026e8();_0x380549['name']=_0x3f48ef+'_collider_'+_0x2cd2cf,_0x380549['isURDFCollider']=!0x0,_0x380549['add'](_0x54994a),_0x1c7f63['add'](_0x380549),_0x48fd6b['threeObject']=_0x380549,_0x2cd2cf++;}}_0x14944e['threeObject']=_0x1c7f63,_0x3b0fa9['set'](_0x3f48ef,_0x1c7f63);}const _0x1d4833=new Map();for(const [_0x315799,_0x3bc14f]of _0x5d91eb['links'])_0x1d4833['set'](_0x315799,{'link':_0x3bc14f,'parentName':_0x3bc14f['userData']['parentName']});const _0x26216a=Array['from'](_0x5d91eb['links']['keys']())['filter'](_0x56f912=>!_0x1d4833['get'](_0x56f912)['parentName']);function _0x1c5fca(_0x58a502,_0x5add7a){const _0x511ae3=_0x3b0fa9['get'](_0x58a502);if(!_0x511ae3)return;_0x5add7a['add'](_0x511ae3);Array['from'](_0x5d91eb['joints']['values']())['filter'](_0x3af954=>_0x3af954['parent']===_0x58a502&&_0x3af954['child'])['forEach'](_0x5bbcdd=>{const _0x362368=_0x5bbcdd['child'];if(!_0x362368)return;const _0x1fd162=_0x5d91eb['links']['get'](_0x362368)['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0x3cf49a=new _0x2026e8();if(_0x3cf49a['name']=_0x5bbcdd['name']||'joint_'+_0x362368,_0x3cf49a['isURDFJoint']=!0x0,_0x3cf49a['type']='URDFJoint',_0x3cf49a['jointType']=_0x5bbcdd['type'],_0x5bbcdd['axis']&&_0x5bbcdd['axis']['xyz']){const _0x13749b=_0x5bbcdd['axis']['xyz'];_0x3cf49a['axis']=new _0x4a4464(_0x13749b[0x0],_0x13749b[0x1],_0x13749b[0x2])['normalize']();}else _0x3cf49a['axis']=new _0x4a4464(0x0,0x1,0x0);_0x3cf49a['position']['set'](_0x1fd162['xyz'][0x0]+_0x5bbcdd['origin']['xyz'][0x0],_0x1fd162['xyz'][0x1]+_0x5bbcdd['origin']['xyz'][0x1],_0x1fd162['xyz'][0x2]+_0x5bbcdd['origin']['xyz'][0x2]),_0x3cf49a['rotation']['set'](..._0x1fd162['rpy']),_0x1c5fca(_0x362368,_0x3cf49a),_0x511ae3['add'](_0x3cf49a),_0x5bbcdd['threeObject']=_0x3cf49a;});for(const [_0x25a9db,_0x48eaad]of _0x1d4833['entries']())if(_0x48eaad['parentName']===_0x58a502){if(!Array['from'](_0x5d91eb['joints']['values']())['some'](_0x5ba1bf=>_0x5ba1bf['parent']===_0x58a502&&_0x5ba1bf['child']===_0x25a9db)){const _0x11c2d4=_0x5d91eb['links']['get'](_0x25a9db),_0x16e229=_0x11c2d4['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};_0x11c2d4['userData']['isFixedConnection']=!0x0;const _0x1c9d43=new _0x2026e8();_0x1c9d43['position']['set'](..._0x16e229['xyz']),_0x1c9d43['rotation']['set'](..._0x16e229['rpy']),_0x1c5fca(_0x25a9db,_0x1c9d43),_0x511ae3['add'](_0x1c9d43);}}}if(_0x26216a['length']>0x0)_0x26216a['forEach'](_0x584c5b=>{const _0x4cd3e6=_0x5d91eb['links']['get'](_0x584c5b),_0x1fa382=_0x3b0fa9['get'](_0x584c5b);_0x4cd3e6['userData']['bodyOrigin']&&(_0x1fa382['position']['set'](..._0x4cd3e6['userData']['bodyOrigin']['xyz']),_0x1fa382['rotation']['set'](..._0x4cd3e6['userData']['bodyOrigin']['rpy'])),_0x1c5fca(_0x584c5b,_0xfd40a5);});else if(_0x5d91eb['links']['size']>0x0){const _0x116670=Array['from'](_0x5d91eb['links']['keys']())[0x0],_0x216c70=_0x5d91eb['links']['get'](_0x116670),_0xec459d=_0x3b0fa9['get'](_0x116670);_0x216c70['userData']['bodyOrigin']&&(_0xec459d['position']['set'](..._0x216c70['userData']['bodyOrigin']['xyz']),_0xec459d['rotation']['set'](..._0x216c70['userData']['bodyOrigin']['rpy'])),_0x1c5fca(_0x116670,_0xfd40a5);}_0x5d91eb['threeObject']=_0xfd40a5,_0xfd40a5['userData']||(_0xfd40a5['userData']={}),_0xfd40a5['userData']['type']='mjcf',_0x5d91eb['userData']||(_0x5d91eb['userData']={}),_0x5d91eb['userData']['type']='mjcf';}static async['createGeometryMesh'](_0x3d7bdd,_0x4e38ff=null,_0x9ec0f8=null){var _0x52007a,_0x6b9675,_0x56999f;let _0x43cf33=null;switch(_0x3d7bdd['type']){case'box':_0x3d7bdd['size']&&(_0x43cf33=new _0x4e6eff(_0x3d7bdd['size']['x'],_0x3d7bdd['size']['y'],_0x3d7bdd['size']['z']));break;case'sphere':_0x3d7bdd['size']&&_0x3d7bdd['size']['radius']&&(_0x43cf33=new _0x1490e0(_0x3d7bdd['size']['radius'],0x20,0x20));break;case'cylinder':_0x3d7bdd['size']&&(_0x43cf33=new _0x19a545(_0x3d7bdd['size']['radius'],_0x3d7bdd['size']['radius'],_0x3d7bdd['size']['height'],0x20),_0x43cf33['rotateX'](Math['PI']/0x2));break;case'capsule':if(_0x3d7bdd['size']){const {radius:_0xdc5788,height:_0x41916a}=_0x3d7bdd['size'];if(void 0x0!==_0x335f7f)_0x43cf33=new _0x335f7f(_0xdc5788,_0x41916a,0x4,0x10),_0x43cf33['rotateX'](Math['PI']/0x2);else{const _0x114d83=Math['max'](0x0,_0x41916a-0x2*_0xdc5788),_0x5c163e=new _0x19a545(_0xdc5788,_0xdc5788,_0x114d83,0x10);_0x5c163e['rotateX'](Math['PI']/0x2),_0x43cf33=_0x5c163e;}}break;case'mesh':if(!_0x3d7bdd['filename'])return null;{let _0x2c6b17=null;if(_0x9ec0f8&&_0x9ec0f8['has'](_0x3d7bdd['filename'])?_0x2c6b17=_0x9ec0f8['get'](_0x3d7bdd['filename']):_0x4e38ff&&(_0x2c6b17=await this['loadMeshFile'](_0x3d7bdd['filename'],_0x4e38ff)),!_0x2c6b17)return null;if(_0x2c6b17['isGroup']||_0x2c6b17['isObject3D']){if(_0x43cf33=_0x2c6b17['clone'](!0x0),_0x3d7bdd['meshScale']){const [_0x3b3f13,_0x1d3309,_0x458b5a]=_0x3d7bdd['meshScale'];_0x43cf33['scale']['set'](_0x3b3f13,_0x1d3309,_0x458b5a);}return _0x43cf33['traverse'](_0x5e4f9d=>{_0x5e4f9d['isMesh']&&_0x5e4f9d['material'];}),Mt(_0x43cf33),_0x43cf33;}if(_0x3d7bdd['meshScale']){const [_0x3faf71,_0x9c326c,_0xaf0799]=_0x3d7bdd['meshScale'];_0x43cf33=_0x2c6b17['clone'](),_0x43cf33['scale'](_0x3faf71,_0x9c326c,_0xaf0799);}else _0x43cf33=_0x2c6b17;}}if(!_0x43cf33)return null;const _0x5836ba='undefined'!=typeof window&&(null==(_0x56999f=null==(_0x6b9675=null==(_0x52007a=window['app'])?void 0x0:_0x52007a['sceneManager'])?void 0x0:_0x6b9675['environmentManager'])?void 0x0:_0x56999f['getEnvironmentMap']()),_0x27c7f6=new _0x5096b9({'color':0xf0f0f0,'shininess':0x32,'specular':new _0x5dc695(0.3,0.3,0.3),'envMap':_0x5836ba||null,'reflectivity':_0x5836ba?0.3:0x0});return _0x27c7f6['userData']['originalShininess']=0x1e,_0x27c7f6['userData']['originalSpecular']=null,new _0x576ce4(_0x43cf33,_0x27c7f6);}static async['loadMeshFile'](_0x4a2648,_0x4f3547){return async function(_0x1bf2ee,_0x20f913){try{let _0x490d94=bt(_0x1bf2ee,_0x20f913);const _0x34e228=mt(_0x1bf2ee);if(!_0x490d94&&!_0x34e228['includes']('.')){const _0x1aa870=['.stl','.obj','.dae','.gltf','.glb'];for(const _0x3dadd5 of _0x1aa870)if(_0x490d94=bt(_0x34e228+_0x3dadd5,_0x20f913),_0x490d94)break;}if(!_0x490d94)return null;const _0x3faa15=_0x490d94['name']?_0x490d94['name']['toLowerCase']()['split']('.')['pop']():_0x1bf2ee['toLowerCase']()['split']('.')['pop'](),_0x7ff8c1=URL['createObjectURL'](_0x490d94);try{const _0x1cd153=await xt();let _0x44e82d=null;switch(_0x3faa15){case'stl':_0x44e82d=await new Promise((_0x1efb92,_0xc89edb)=>{_0x1cd153['STLLoader']['load'](_0x7ff8c1,_0x1efb92,void 0x0,_0xc89edb);});break;case'obj':const _0x2075fc=_0x490d94['name']['replace'](/\.obj$/i,'.mtl'),_0x376955=Array['from'](_0x20f913['values']())['find'](_0xa00585=>_0xa00585['name']&&_0xa00585['name']['toLowerCase']()===_0x2075fc['toLowerCase']());if(_0x376955)try{const _0x25cdd7=URL['createObjectURL'](_0x376955),_0x40816f=await new Promise((_0x300022,_0x109280)=>{_0x1cd153['MTLLoader']['load'](_0x25cdd7,_0x300022,void 0x0,_0x109280);});URL['revokeObjectURL'](_0x25cdd7),_0x40816f['preload'](),_0x1cd153['OBJLoader']['setMaterials'](_0x40816f);}catch(_0x250fb6){}_0x44e82d=await new Promise((_0x4d3d81,_0x28ee07)=>{_0x1cd153['OBJLoader']['load'](_0x7ff8c1,_0x4d3d81,void 0x0,_0x28ee07);}),_0x1cd153['OBJLoader']['setMaterials'](null);break;case'dae':const _0x1eecf7=await new Promise((_0x2413ef,_0x145e3f)=>{_0x1cd153['ColladaLoader']['load'](_0x7ff8c1,_0x2413ef,void 0x0,_0x145e3f);});_0x44e82d=_0x1eecf7?_0x1eecf7['scene']:null;break;case'gltf':case'glb':const _0x539e2e=await new Promise((_0x2483f9,_0x504513)=>{_0x1cd153['GLTFLoader']['load'](_0x7ff8c1,_0x2483f9,void 0x0,_0x504513);});_0x44e82d=_0x539e2e?_0x539e2e['scene']:null;break;default:return URL['revokeObjectURL'](_0x7ff8c1),null;}return URL['revokeObjectURL'](_0x7ff8c1),_0x44e82d&&(_0x44e82d['isGroup']||_0x44e82d['isObject3D']||_0x44e82d['isScene'])&&Mt(_0x44e82d),_0x44e82d;}catch(_0x56d660){return URL['revokeObjectURL'](_0x7ff8c1),null;}}catch(_0x139c01){return null;}}(_0x4a2648,_0x4f3547);}static['setJointAngle'](_0x511d50,_0x243cc3){if(_0x511d50['currentValue']=_0x243cc3,_0x511d50['threeObject'])if('revolute'===_0x511d50['type']||'continuous'===_0x511d50['type']){let _0x58f889;if(_0x511d50['threeObject']['axis'])_0x58f889=_0x511d50['threeObject']['axis']['clone']()['normalize']();else{if(!_0x511d50['axis']||!_0x511d50['axis']['xyz'])return;{const _0x3a7902=_0x511d50['axis']['xyz'];_0x58f889=new _0x4a4464(_0x3a7902[0x0],_0x3a7902[0x2],-_0x3a7902[0x1])['normalize']();}}_0x511d50['threeObject']['userData']['initialQuaternion']||(_0x511d50['threeObject']['userData']['initialQuaternion']=_0x511d50['threeObject']['quaternion']['clone']());const _0x330b56=new _0x446862();_0x330b56['setFromAxisAngle'](_0x58f889,_0x243cc3),_0x511d50['threeObject']['quaternion']['copy'](_0x511d50['threeObject']['userData']['initialQuaternion']),_0x511d50['threeObject']['quaternion']['multiply'](_0x330b56),_0x511d50['threeObject']['updateMatrixWorld'](!0x0);}else if('prismatic'===_0x511d50['type']){let _0x126a6f;if(_0x511d50['threeObject']['axis'])_0x126a6f=_0x511d50['threeObject']['axis']['clone']()['normalize']();else{if(!_0x511d50['axis']||!_0x511d50['axis']['xyz'])return;{const _0x2d779b=_0x511d50['axis']['xyz'];_0x126a6f=new _0x4a4464(_0x2d779b[0x0],_0x2d779b[0x2],-_0x2d779b[0x1])['normalize']();}}_0x511d50['threeObject']['userData']['initialPosition']||(_0x511d50['threeObject']['userData']['initialPosition']=_0x511d50['threeObject']['position']['clone']()),_0x511d50['threeObject']['position']['copy'](_0x511d50['threeObject']['userData']['initialPosition']),_0x511d50['threeObject']['position']['addScaledVector'](_0x126a6f,_0x243cc3),_0x511d50['threeObject']['updateMatrixWorld'](!0x0);}}}class St{static async['parse'](_0x1d3d43,_0xecaa84=null,_0xa24dc1=null,_0xc44894={}){if(!_0xc44894['usdViewerManager'])throw new Error('USD\x20viewer\x20not\x20initialized');return await this['parseWithWASM'](_0xa24dc1,_0xecaa84,_0xc44894['usdViewerManager']);}static async['parseWithWASM'](_0x5a8332,_0x2369b7=null,_0x5214f7){try{if(_0x2369b7&&_0x2369b7['size']>0x1){const _0x40481c={};for(const [_0x523a4b,_0x5cd367]of _0x2369b7['entries']())_0x40481c[_0x523a4b]=_0x5cd367;let _0x5d31be=_0x5a8332['name'];for(const [_0x16d765,_0x27777a]of _0x2369b7['entries']())if(_0x16d765['endsWith'](_0x5a8332['name'])&&!_0x16d765['includes']('/.thumbs/')&&!_0x16d765['includes']('/Props/')){_0x5d31be=_0x16d765;break;}await _0x5214f7['loadFromFilesMap'](_0x40481c,_0x5d31be);}else await _0x5214f7['loadFromFile'](_0x5a8332);const _0x3da847=new Qe();return _0x3da847['name']=_0x5a8332['name']['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x3da847['userData']=_0x3da847['userData']||{},_0x3da847['userData']['isUSDWASM']=!0x0,_0x3da847['userData']['usdViewerManager']=_0x5214f7,_0x3da847;}catch(_0x43dc0d){throw _0x43dc0d;}}static async['parseUSDZ_OLD'](_0x1ed6a5,_0x489ddc=null){const {USDZLoader:_0x5ae5e1}=await Ae(()=>import('./USDZLoader-64197f74.js'),["./USDZLoader-64197f74.js","./three-9c891de0.js"],import.meta.url),_0x390af2=new _0x5ae5e1(),_0xb1e538=URL['createObjectURL'](_0x1ed6a5);try{const _0x8813b5=await new Promise((_0x3ea359,_0x530b71)=>{_0x390af2['load'](_0xb1e538,_0x503861=>{_0x3ea359(_0x503861);},void 0x0,_0x4ced61=>{_0x530b71(_0x4ced61);});});return URL['revokeObjectURL'](_0xb1e538),this['convertThreeGroupToModel'](_0x8813b5,_0x1ed6a5['name']);}catch(_0xf811d){throw URL['revokeObjectURL'](_0xb1e538),_0xf811d;}}static['convertThreeGroupToModel'](_0x58f80e,_0xab0d53){const _0x32a5e7=new Qe();_0x32a5e7['name']=_0xab0d53['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x32a5e7['threeObject']=_0x58f80e;let _0xaa45f6=0x0;return _0x58f80e['traverse'](_0x105434=>{if(_0x105434['isMesh']||_0x105434['isGroup']){const _0x428462=_0x105434['name']||'link_'+_0xaa45f6++,_0x3dfd07=new Ke(_0x428462);if(_0x3dfd07['threeObject']=_0x105434,_0x105434['isMesh']){const _0x942b5e=new et();_0x942b5e['name']=_0x105434['name']||_0x428462,_0x942b5e['threeObject']=_0x105434,_0x105434['geometry']&&(_0x942b5e['geometry']=this['extractGeometryInfo'](_0x105434['geometry'])),_0x3dfd07['visuals']['push'](_0x942b5e);}_0x32a5e7['addLink'](_0x3dfd07);}}),_0x32a5e7;}static['extractGeometryInfo'](_0x9cffd0){var _0x3d0f22,_0x47f08d,_0x3d7e22,_0x1072f3,_0x2b90e9,_0x10ccd6;const _0x2a6880=new nt('mesh');return'BoxGeometry'===_0x9cffd0['type']?(_0x2a6880['type']='box',_0x2a6880['size']={'x':(null==(_0x3d0f22=_0x9cffd0['parameters'])?void 0x0:_0x3d0f22['width'])||0x1,'y':(null==(_0x47f08d=_0x9cffd0['parameters'])?void 0x0:_0x47f08d['height'])||0x1,'z':(null==(_0x3d7e22=_0x9cffd0['parameters'])?void 0x0:_0x3d7e22['depth'])||0x1}):'SphereGeometry'===_0x9cffd0['type']?(_0x2a6880['type']='sphere',_0x2a6880['size']={'radius':(null==(_0x1072f3=_0x9cffd0['parameters'])?void 0x0:_0x1072f3['radius'])||0.5}):'CylinderGeometry'===_0x9cffd0['type']&&(_0x2a6880['type']='cylinder',_0x2a6880['size']={'radius':(null==(_0x2b90e9=_0x9cffd0['parameters'])?void 0x0:_0x2b90e9['radiusTop'])||0.5,'height':(null==(_0x10ccd6=_0x9cffd0['parameters'])?void 0x0:_0x10ccd6['height'])||0x1}),_0x2a6880;}static['parseASCIIUSD_DEPRECATED'](_0x1d3f83,_0x236b99=null){const _0x2c037e=new Qe();_0x2c037e['name']='usd_model',!_0x1d3f83['includes']('#usda')&&_0x1d3f83['includes']('def\x20');const _0x5a7c61=_0x1d3f83['split']('\x0a');let _0x4d4bc8=null,_0x17a65d=[];for(let _0x4b666d=0x0;_0x4b666d<_0x5a7c61['length'];_0x4b666d++){const _0x176b6b=_0x5a7c61[_0x4b666d]['trim']();if(!_0x176b6b||_0x176b6b['startsWith']('#'))continue;const _0x38f309=_0x176b6b['match'](/def\s+(\w+)\s+"([^"]+)"\s*\{/);if(_0x38f309){const _0x120f0b=_0x38f309[0x1],_0x1b8a36=_0x38f309[0x2];if('Xform'===_0x120f0b||'Mesh'===_0x120f0b||'Cube'===_0x120f0b||'Sphere'===_0x120f0b||'Cylinder'===_0x120f0b)if('Xform'!==_0x120f0b||_0x4d4bc8){if(_0x4d4bc8){const _0x1840e9=new et();_0x1840e9['name']=_0x1b8a36,_0x1840e9['geometry']=this['parseUSDGeometry'](_0x120f0b,_0x5a7c61,_0x4b666d),_0x4d4bc8['visuals']['push'](_0x1840e9),_0x17a65d['push']({'type':'visual','obj':_0x1840e9});}}else _0x4d4bc8=new Ke(_0x1b8a36),_0x2c037e['addLink'](_0x4d4bc8),_0x17a65d['push']({'type':'link','obj':_0x4d4bc8});continue;}if(_0x4d4bc8&&_0x176b6b['includes']('=')){const _0x448704=_0x176b6b['match'](/(\w+)\s*=\s*(.+)/);if(_0x448704){const _0xd83ff4=_0x448704[0x1],_0x164f94=_0x448704[0x2]['trim']();if('xformOp:translate'===_0xd83ff4){const _0x3ea514=this['parseUSDArray'](_0x164f94);if(_0x3ea514['length']>=0x3){const _0x41231c=_0x4d4bc8['visuals'][_0x4d4bc8['visuals']['length']-0x1];_0x41231c&&(_0x41231c['origin']['xyz']=_0x3ea514['slice'](0x0,0x3));}}}}if('}'===_0x176b6b&&_0x17a65d['length']>0x0){'link'===_0x17a65d['pop']()['type']&&(_0x4d4bc8=null);}}return this['createThreeObject'](_0x2c037e),_0x2c037e;}static['parseUSDGeometry'](_0x50f69c,_0x5f3811,_0x156103){const _0x21adfe=new nt(_0x50f69c['toLowerCase']());for(let _0x3fddb0=_0x156103;_0x3fddb0<Math['min'](_0x156103+0x14,_0x5f3811['length']);_0x3fddb0++){const _0x3fdd9b=_0x5f3811[_0x3fddb0]['trim']();if('}'===_0x3fdd9b)break;const _0x5952a6=_0x3fdd9b['match'](/(\w+)\s*=\s*(.+)/);if(_0x5952a6){const _0x1ae902=_0x5952a6[0x1],_0x2283fd=_0x5952a6[0x2]['trim']();switch(_0x50f69c){case'Cube':if('size'===_0x1ae902){const _0x17d32f=parseFloat(_0x2283fd);_0x21adfe['size']={'x':_0x17d32f,'y':_0x17d32f,'z':_0x17d32f};}break;case'Sphere':'radius'===_0x1ae902&&(_0x21adfe['size']={'radius':parseFloat(_0x2283fd)});break;case'Cylinder':if('radius'===_0x1ae902){const _0x4a52fc=parseFloat(_0x2283fd);_0x21adfe['size']={'radius':_0x4a52fc,'height':0x2*_0x4a52fc};}'height'===_0x1ae902&&(_0x21adfe['size']||(_0x21adfe['size']={}),_0x21adfe['size']['height']=parseFloat(_0x2283fd));}}}return _0x21adfe;}static['parseUSDArray'](_0x2f5acf){return(_0x2f5acf=_0x2f5acf['replace'](/[()]/g,'')['trim']())['split'](',')['map'](_0x5e494a=>parseFloat(_0x5e494a['trim']()))['filter'](_0x4301d6=>!isNaN(_0x4301d6));}static['createThreeObject'](_0x51ec4e){const _0x4d3264=new _0x2026e8();_0x4d3264['name']=_0x51ec4e['name'],_0x51ec4e['links']['forEach']((_0x2c907b,_0xbf0215)=>{const _0x5a99c3=new _0x2026e8();_0x5a99c3['name']=_0xbf0215,_0x2c907b['visuals']['forEach'](_0x1950d9=>{const _0x5b129b=this['createGeometryMesh'](_0x1950d9['geometry']);_0x5b129b&&(_0x5b129b['position']['set'](..._0x1950d9['origin']['xyz']),_0x5b129b['rotation']['set'](..._0x1950d9['origin']['rpy']),_0x5b129b['name']=_0x1950d9['name'],_0x5a99c3['add'](_0x5b129b),_0x1950d9['threeObject']=_0x5b129b);}),_0x2c907b['threeObject']=_0x5a99c3,_0x4d3264['add'](_0x5a99c3);}),_0x51ec4e['threeObject']=_0x4d3264;}static['createGeometryMesh'](_0x57a6a6){let _0x495cf8=null;switch(_0x57a6a6['type']){case'cube':if(_0x57a6a6['size']){const _0x1b2dda=_0x57a6a6['size']['x']||0.1;_0x495cf8=new _0x4e6eff(_0x1b2dda,_0x1b2dda,_0x1b2dda);}break;case'sphere':_0x57a6a6['size']&&_0x57a6a6['size']['radius']&&(_0x495cf8=new _0x1490e0(_0x57a6a6['size']['radius'],0x20,0x20));break;case'cylinder':_0x57a6a6['size']&&(_0x495cf8=new _0x19a545(_0x57a6a6['size']['radius']||0.1,_0x57a6a6['size']['radius']||0.1,_0x57a6a6['size']['height']||0.1,0x20));}if(!_0x495cf8)return null;const _0x465b44=new _0x6d9f8c({'color':0x888888});return new _0x576ce4(_0x495cf8,_0x465b44);}static['setJointAngle'](_0x462657,_0x55c3f5){if(_0x462657['currentValue']=_0x55c3f5,_0x462657['threeObject']&&('revolute'===_0x462657['type']||'continuous'===_0x462657['type'])){const _0x789f7a=new _0x4a4464(..._0x462657['axis']['xyz'])['normalize']();_0x462657['threeObject']['rotation']['setFromAxisAngle'](_0x789f7a,_0x55c3f5),_0x462657['threeObject']['updateMatrixWorld'](!0x0);}}}function At(_0x234b25){const _0x4f9bfd=_0x234b25['split'](/[\\/]/g);return _0x4f9bfd['pop'](),0x0===_0x4f9bfd['length']?'./':_0x4f9bfd['join']('/')+'/';}function Lt(_0x2c901d,_0x2dc629,_0x1c2b5f=[]){_0x2c901d['tagName']===_0x2dc629&&_0x1c2b5f['push'](_0x2c901d);for(let _0x4cf000=0x0,_0x446f8e=_0x2c901d['children']['length'];_0x4cf000<_0x446f8e;_0x4cf000++){Lt(_0x2c901d['children'][_0x4cf000],_0x2dc629,_0x1c2b5f);}return _0x1c2b5f;}function Et(_0x37ba16,_0x54339b){const _0x57a2ca=_0x37ba16['cloneNode'](),_0x3381b9=_0x37ba16['childNodes'];for(let _0x27dd54=0x0,_0x8c9ed9=_0x3381b9['length'];_0x27dd54<_0x8c9ed9;_0x27dd54++){const _0x4413cd=_0x3381b9[_0x27dd54],_0x251a55=_0x4413cd['tagName'];(!_0x54339b||'xacro:property'!==_0x251a55&&'xacro:macro'!==_0x251a55)&&_0x57a2ca['appendChild'](Et(_0x4413cd,_0x54339b));}return _0x57a2ca;}function Ct(_0x112a3b){for(;_0x112a3b['length']>0x0;){const _0x4f4676=_0x112a3b[_0x112a3b['length']-0x1];if(_0x4f4676['nodeType']===_0x4f4676['ELEMENT_NODE'])break;_0x112a3b['pop']();}}function jt(_0x7aa898){return/^(('[^']*?')|("[^"]*?")|(`[^`]*?`))$/['test'](_0x7aa898);}function kt(_0x461bf7){return!isNaN(Number(_0x461bf7))&&!isNaN(parseFloat(_0x461bf7));}const Tt=Symbol('parent');function Ot(..._0xe300e1){const _0x306a35={};for(let _0x48302f=0x0,_0x5655d5=_0xe300e1['length'];_0x48302f<_0x5655d5;_0x48302f++){const _0xfd70e7=_0xe300e1[_0x48302f];for(const _0x43d67f in _0xfd70e7)_0x306a35[_0x43d67f]=_0xfd70e7[_0x43d67f];Tt in _0xfd70e7&&(_0x306a35[Tt]=_0xfd70e7[Tt]);}return _0x306a35;}var Ft='INUMBER',Dt='IOP1',Pt='IOP2',It='IOP3',Rt='IVAR',zt='IVARNAME',Nt='IFUNCALL',Ut='IFUNDEF',Vt='IEXPR',qt='IEXPREVAL',Bt='IMEMBER',$t='IENDSTATEMENT',Jt='IARRAY';function Ht(_0x3972bc,_0x190a79){this['type']=_0x3972bc,this['value']=null!=_0x190a79?_0x190a79:0x0;}function Gt(_0x11317e){return new Ht(Dt,_0x11317e);}function Wt(_0x53910b){return new Ht(Pt,_0x53910b);}function Xt(_0x1551dc){return new Ht(It,_0x1551dc);}function Yt(_0x51591d,_0x3580a5,_0x3f2fae,_0x2f3b75,_0x2018ed){for(var _0x1476f8,_0x4bf39b,_0x366b28,_0x1a559c,_0x40e5b6=[],_0x4e2b97=[],_0x477327=0x0;_0x477327<_0x51591d['length'];_0x477327++){var _0x5517d0=_0x51591d[_0x477327],_0x44bb2a=_0x5517d0['type'];if(_0x44bb2a===Ft||_0x44bb2a===zt)Array['isArray'](_0x5517d0['value'])?_0x40e5b6['push']['apply'](_0x40e5b6,Yt(_0x5517d0['value']['map'](function(_0x4b0281){return new Ht(Ft,_0x4b0281);})['concat'](new Ht(Jt,_0x5517d0['value']['length'])),_0x3580a5,_0x3f2fae,_0x2f3b75,_0x2018ed)):_0x40e5b6['push'](_0x5517d0);else if(_0x44bb2a===Rt&&Object['hasOwn'](_0x2018ed,_0x5517d0['value']))_0x5517d0=new Ht(Ft,_0x2018ed[_0x5517d0['value']]),_0x40e5b6['push'](_0x5517d0);else if(_0x44bb2a===Pt&&_0x40e5b6['length']>0x1)_0x4bf39b=_0x40e5b6['pop'](),_0x1476f8=_0x40e5b6['pop'](),_0x1a559c=_0x3f2fae[_0x5517d0['value']],_0x5517d0=new Ht(Ft,_0x1a559c(_0x1476f8['value'],_0x4bf39b['value'])),_0x40e5b6['push'](_0x5517d0);else if(_0x44bb2a===It&&_0x40e5b6['length']>0x2)_0x366b28=_0x40e5b6['pop'](),_0x4bf39b=_0x40e5b6['pop'](),_0x1476f8=_0x40e5b6['pop'](),'?'===_0x5517d0['value']?_0x40e5b6['push'](_0x1476f8['value']?_0x4bf39b['value']:_0x366b28['value']):(_0x1a559c=_0x2f3b75[_0x5517d0['value']],_0x5517d0=new Ht(Ft,_0x1a559c(_0x1476f8['value'],_0x4bf39b['value'],_0x366b28['value'])),_0x40e5b6['push'](_0x5517d0));else if(_0x44bb2a===Dt&&_0x40e5b6['length']>0x0)_0x1476f8=_0x40e5b6['pop'](),_0x1a559c=_0x3580a5[_0x5517d0['value']],_0x5517d0=new Ht(Ft,_0x1a559c(_0x1476f8['value'])),_0x40e5b6['push'](_0x5517d0);else if(_0x44bb2a===Vt){for(;_0x40e5b6['length']>0x0;)_0x4e2b97['push'](_0x40e5b6['shift']());_0x4e2b97['push'](new Ht(Vt,Yt(_0x5517d0['value'],_0x3580a5,_0x3f2fae,_0x2f3b75,_0x2018ed)));}else if(_0x44bb2a===Bt&&_0x40e5b6['length']>0x0)_0x1476f8=_0x40e5b6['pop'](),_0x40e5b6['push'](new Ht(Ft,_0x1476f8['value'][_0x5517d0['value']]));else{for(;_0x40e5b6['length']>0x0;)_0x4e2b97['push'](_0x40e5b6['shift']());_0x4e2b97['push'](_0x5517d0);}}for(;_0x40e5b6['length']>0x0;)_0x4e2b97['push'](_0x40e5b6['shift']());return _0x4e2b97;}function Zt(_0x58a93c,_0x1e2bf9,_0x3b0465){for(var _0x3e1ad3=[],_0xb5a93e=0x0;_0xb5a93e<_0x58a93c['length'];_0xb5a93e++){var _0x28ec9b=_0x58a93c[_0xb5a93e],_0x276659=_0x28ec9b['type'];if(_0x276659===Rt&&_0x28ec9b['value']===_0x1e2bf9)for(var _0x411f31=0x0;_0x411f31<_0x3b0465['tokens']['length'];_0x411f31++){var _0x372dc9,_0xb23ebb=_0x3b0465['tokens'][_0x411f31];_0x372dc9=_0xb23ebb['type']===Dt?Gt(_0xb23ebb['value']):_0xb23ebb['type']===Pt?Wt(_0xb23ebb['value']):_0xb23ebb['type']===It?Xt(_0xb23ebb['value']):new Ht(_0xb23ebb['type'],_0xb23ebb['value']),_0x3e1ad3['push'](_0x372dc9);}else _0x276659===Vt?_0x3e1ad3['push'](new Ht(Vt,Zt(_0x28ec9b['value'],_0x1e2bf9,_0x3b0465))):_0x3e1ad3['push'](_0x28ec9b);}return _0x3e1ad3;}function Qt(_0x24f34f,_0x10eb74,_0x5e3546){for(var _0x26453f in _0x10eb74['functions'])if(_0x10eb74['functions'][_0x26453f]===_0x24f34f)return!0x0;if(_0x24f34f['__expr_eval_safe_def'])return!0x0;for(var _0x232de1 in _0x5e3546)if('object'==typeof _0x5e3546[_0x232de1]&&null!==_0x5e3546[_0x232de1])for(var _0x1abb39 in _0x5e3546[_0x232de1])if(_0x5e3546[_0x232de1][_0x1abb39]===_0x24f34f)return!0x0;return!0x1;}function Kt(_0x80aefd,_0x3ee17b,_0x3e043d){var _0x28f52a,_0x1a3c47,_0x2ac05e,_0x2ceff2,_0x3846f0,_0x5319d9,_0x9b4383=[];if(tn(_0x80aefd))return nn(_0x80aefd,_0x3e043d);for(var _0x48057e=_0x80aefd['length'],_0x4b660a=0x0;_0x4b660a<_0x48057e;_0x4b660a++){var _0x42a846=_0x80aefd[_0x4b660a],_0x37ce59=_0x42a846['type'];if(_0x37ce59===Ft||_0x37ce59===zt)_0x9b4383['push'](_0x42a846['value']);else if(_0x37ce59===Pt)_0x1a3c47=_0x9b4383['pop'](),_0x28f52a=_0x9b4383['pop'](),'and'===_0x42a846['value']?_0x9b4383['push'](!!_0x28f52a&&!!Kt(_0x1a3c47,_0x3ee17b,_0x3e043d)):'or'===_0x42a846['value']?_0x9b4383['push'](!!_0x28f52a||!!Kt(_0x1a3c47,_0x3ee17b,_0x3e043d)):'='===_0x42a846['value']?(_0x2ceff2=_0x3ee17b['binaryOps'][_0x42a846['value']],_0x9b4383['push'](_0x2ceff2(_0x28f52a,Kt(_0x1a3c47,_0x3ee17b,_0x3e043d),_0x3e043d))):(_0x2ceff2=_0x3ee17b['binaryOps'][_0x42a846['value']],_0x9b4383['push'](_0x2ceff2(nn(_0x28f52a,_0x3e043d),nn(_0x1a3c47,_0x3e043d))));else if(_0x37ce59===It)_0x2ac05e=_0x9b4383['pop'](),_0x1a3c47=_0x9b4383['pop'](),_0x28f52a=_0x9b4383['pop'](),'?'===_0x42a846['value']?_0x9b4383['push'](Kt(_0x28f52a?_0x1a3c47:_0x2ac05e,_0x3ee17b,_0x3e043d)):(_0x2ceff2=_0x3ee17b['ternaryOps'][_0x42a846['value']],_0x9b4383['push'](_0x2ceff2(nn(_0x28f52a,_0x3e043d),nn(_0x1a3c47,_0x3e043d),nn(_0x2ac05e,_0x3e043d))));else if(_0x37ce59===Rt){if(/^__proto__|prototype|constructor$/['test'](_0x42a846['value']))throw new Error('prototype\x20access\x20detected');if(_0x42a846['value']in _0x3ee17b['functions'])_0x9b4383['push'](_0x3ee17b['functions'][_0x42a846['value']]);else if(_0x42a846['value']in _0x3ee17b['unaryOps']&&_0x3ee17b['parser']['isOperatorEnabled'](_0x42a846['value']))_0x9b4383['push'](_0x3ee17b['unaryOps'][_0x42a846['value']]);else{var _0x4a8783=_0x3e043d[_0x42a846['value']];if(void 0x0===_0x4a8783)throw new Error('undefined\x20variable:\x20'+_0x42a846['value']);if('function'==typeof _0x4a8783&&!Qt(_0x4a8783,_0x3ee17b,_0x3e043d))throw new Error('Variable\x20references\x20an\x20unallowed\x20function:\x20'+_0x42a846['value']);_0x9b4383['push'](_0x4a8783);}}else if(_0x37ce59===Dt)_0x28f52a=_0x9b4383['pop'](),_0x2ceff2=_0x3ee17b['unaryOps'][_0x42a846['value']],_0x9b4383['push'](_0x2ceff2(nn(_0x28f52a,_0x3e043d)));else if(_0x37ce59===Nt){for(_0x5319d9=_0x42a846['value'],_0x3846f0=[];_0x5319d9-->0x0;)_0x3846f0['unshift'](nn(_0x9b4383['pop'](),_0x3e043d));if(!Qt(_0x2ceff2=_0x9b4383['pop'](),_0x3ee17b,_0x3e043d))throw new Error('Is\x20not\x20an\x20allowed\x20function.');if(!_0x2ceff2['apply']||!_0x2ceff2['call'])throw new Error(_0x2ceff2+'\x20is\x20not\x20a\x20function');_0x9b4383['push'](_0x2ceff2['apply'](void 0x0,_0x3846f0));}else if(_0x37ce59===Ut)_0x9b4383['push']((function(){for(var _0xc2cb48=_0x9b4383['pop'](),_0x1cb2cf=[],_0x2a0c6e=_0x42a846['value'];_0x2a0c6e-->0x0;)_0x1cb2cf['unshift'](_0x9b4383['pop']());var _0x4bb7ee=_0x9b4383['pop'](),_0xf78468=function(){for(var _0xb9b6f0=Object['assign']({},_0x3e043d),_0x5693a1=0x0,_0x9306c0=_0x1cb2cf['length'];_0x5693a1<_0x9306c0;_0x5693a1++)_0xb9b6f0[_0x1cb2cf[_0x5693a1]]=arguments[_0x5693a1];return Kt(_0xc2cb48,_0x3ee17b,_0xb9b6f0);};return Object['defineProperty'](_0xf78468,'name',{'value':_0x4bb7ee,'writable':!0x1}),Object['defineProperty'](_0xf78468,'__expr_eval_safe_def',{'value':!0x0,'writable':!0x1}),_0x3e043d[_0x4bb7ee]=_0xf78468,_0xf78468;}()));else if(_0x37ce59===Vt)_0x9b4383['push'](en(_0x42a846,_0x3ee17b));else if(_0x37ce59===qt)_0x9b4383['push'](_0x42a846);else if(_0x37ce59===Bt)_0x28f52a=_0x9b4383['pop'](),_0x9b4383['push'](_0x28f52a[_0x42a846['value']]);else if(_0x37ce59===$t)_0x9b4383['pop']();else{if(_0x37ce59!==Jt)throw new Error('invalid\x20Expression');for(_0x5319d9=_0x42a846['value'],_0x3846f0=[];_0x5319d9-->0x0;)_0x3846f0['unshift'](_0x9b4383['pop']());_0x9b4383['push'](_0x3846f0);}}if(_0x9b4383['length']>0x1)throw new Error('invalid\x20Expression\x20(parity)');return 0x0===_0x9b4383[0x0]?0x0:nn(_0x9b4383[0x0],_0x3e043d);}function en(_0x1a2693,_0x59518b,_0x454ab4){return tn(_0x1a2693)?_0x1a2693:{'type':qt,'value':function(_0x53417b){return Kt(_0x1a2693['value'],_0x59518b,_0x53417b);}};}function tn(_0x3a9dbe){return _0x3a9dbe&&_0x3a9dbe['type']===qt;}function nn(_0x3a68e8,_0x4db621){return tn(_0x3a68e8)?_0x3a68e8['value'](_0x4db621):_0x3a68e8;}function sn(_0x3f0424,_0x4a0591){for(var _0x184f21,_0x2d137c,_0x4219c0,_0x429427,_0x66912a,_0x471d9c,_0x4cac75=[],_0xcc0ae2=0x0;_0xcc0ae2<_0x3f0424['length'];_0xcc0ae2++){var _0x138821=_0x3f0424[_0xcc0ae2],_0xbe03a7=_0x138821['type'];if(_0xbe03a7===Ft)'number'==typeof _0x138821['value']&&_0x138821['value']<0x0?_0x4cac75['push']('('+_0x138821['value']+')'):Array['isArray'](_0x138821['value'])?_0x4cac75['push']('['+_0x138821['value']['map'](rn)['join'](',\x20')+']'):_0x4cac75['push'](rn(_0x138821['value']));else if(_0xbe03a7===Pt)_0x2d137c=_0x4cac75['pop'](),_0x184f21=_0x4cac75['pop'](),_0x429427=_0x138821['value'],_0x4a0591?'^'===_0x429427?_0x4cac75['push']('Math.pow('+_0x184f21+',\x20'+_0x2d137c+')'):'and'===_0x429427?_0x4cac75['push']('(!!'+_0x184f21+'\x20&&\x20!!'+_0x2d137c+')'):'or'===_0x429427?_0x4cac75['push']('(!!'+_0x184f21+'\x20||\x20!!'+_0x2d137c+')'):'||'===_0x429427?_0x4cac75['push']('(function(a,b){\x20return\x20Array.isArray(a)\x20&&\x20Array.isArray(b)\x20?\x20a.concat(b)\x20:\x20String(a)\x20+\x20String(b);\x20}(('+_0x184f21+'),('+_0x2d137c+')))'):'=='===_0x429427?_0x4cac75['push']('('+_0x184f21+'\x20===\x20'+_0x2d137c+')'):'!='===_0x429427?_0x4cac75['push']('('+_0x184f21+'\x20!==\x20'+_0x2d137c+')'):'['===_0x429427?_0x4cac75['push'](_0x184f21+'[('+_0x2d137c+')\x20|\x200]'):_0x4cac75['push']('('+_0x184f21+'\x20'+_0x429427+'\x20'+_0x2d137c+')'):'['===_0x429427?_0x4cac75['push'](_0x184f21+'['+_0x2d137c+']'):_0x4cac75['push']('('+_0x184f21+'\x20'+_0x429427+'\x20'+_0x2d137c+')');else if(_0xbe03a7===It){if(_0x4219c0=_0x4cac75['pop'](),_0x2d137c=_0x4cac75['pop'](),_0x184f21=_0x4cac75['pop'](),'?'!==(_0x429427=_0x138821['value']))throw new Error('invalid\x20Expression');_0x4cac75['push']('('+_0x184f21+'\x20?\x20'+_0x2d137c+'\x20:\x20'+_0x4219c0+')');}else if(_0xbe03a7===Rt||_0xbe03a7===zt)_0x4cac75['push'](_0x138821['value']);else if(_0xbe03a7===Dt)_0x184f21=_0x4cac75['pop'](),'-'===(_0x429427=_0x138821['value'])||'+'===_0x429427?_0x4cac75['push']('('+_0x429427+_0x184f21+')'):_0x4a0591?'not'===_0x429427?_0x4cac75['push']('(!'+_0x184f21+')'):'!'===_0x429427?_0x4cac75['push']('fac('+_0x184f21+')'):_0x4cac75['push'](_0x429427+'('+_0x184f21+')'):'!'===_0x429427?_0x4cac75['push']('('+_0x184f21+'!)'):_0x4cac75['push']('('+_0x429427+'\x20'+_0x184f21+')');else if(_0xbe03a7===Nt){for(_0x471d9c=_0x138821['value'],_0x66912a=[];_0x471d9c-->0x0;)_0x66912a['unshift'](_0x4cac75['pop']());_0x429427=_0x4cac75['pop'](),_0x4cac75['push'](_0x429427+'('+_0x66912a['join'](',\x20')+')');}else if(_0xbe03a7===Ut){for(_0x2d137c=_0x4cac75['pop'](),_0x471d9c=_0x138821['value'],_0x66912a=[];_0x471d9c-->0x0;)_0x66912a['unshift'](_0x4cac75['pop']());_0x184f21=_0x4cac75['pop'](),_0x4a0591?_0x4cac75['push']('('+_0x184f21+'\x20=\x20function('+_0x66912a['join'](',\x20')+')\x20{\x20return\x20'+_0x2d137c+'\x20})'):_0x4cac75['push']('('+_0x184f21+'('+_0x66912a['join'](',\x20')+')\x20=\x20'+_0x2d137c+')');}else if(_0xbe03a7===Bt)_0x184f21=_0x4cac75['pop'](),_0x4cac75['push'](_0x184f21+'.'+_0x138821['value']);else if(_0xbe03a7===Jt){for(_0x471d9c=_0x138821['value'],_0x66912a=[];_0x471d9c-->0x0;)_0x66912a['unshift'](_0x4cac75['pop']());_0x4cac75['push']('['+_0x66912a['join'](',\x20')+']');}else if(_0xbe03a7===Vt)_0x4cac75['push']('('+sn(_0x138821['value'],_0x4a0591)+')');else if(_0xbe03a7!==$t)throw new Error('invalid\x20Expression');}return _0x4cac75['length']>0x1&&(_0x4cac75=_0x4a0591?[_0x4cac75['join'](',')]:[_0x4cac75['join'](';')]),String(_0x4cac75[0x0]);}function rn(_0x3cb52c){return'string'==typeof _0x3cb52c?JSON['stringify'](_0x3cb52c)['replace'](/\u2028/g,'\x5cu2028')['replace'](/\u2029/g,'\x5cu2029'):_0x3cb52c;}function an(_0x592605,_0x2010da){for(var _0x32dad0=0x0;_0x32dad0<_0x592605['length'];_0x32dad0++)if(_0x592605[_0x32dad0]===_0x2010da)return!0x0;return!0x1;}function on(_0x494838,_0x2aca3a,_0x5deb01){for(var _0x255a83=!!(_0x5deb01=_0x5deb01||{})['withMembers'],_0x2a1df7=null,_0x135819=0x0;_0x135819<_0x494838['length'];_0x135819++){var _0x47b7ca=_0x494838[_0x135819];_0x47b7ca['type']===Rt||_0x47b7ca['type']===zt?_0x255a83||an(_0x2aca3a,_0x47b7ca['value'])?null!==_0x2a1df7?(an(_0x2aca3a,_0x2a1df7)||_0x2aca3a['push'](_0x2a1df7),_0x2a1df7=_0x47b7ca['value']):_0x2a1df7=_0x47b7ca['value']:_0x2aca3a['push'](_0x47b7ca['value']):_0x47b7ca['type']===Bt&&_0x255a83&&null!==_0x2a1df7?_0x2a1df7+='.'+_0x47b7ca['value']:_0x47b7ca['type']===Vt?on(_0x47b7ca['value'],_0x2aca3a,_0x5deb01):null!==_0x2a1df7&&(an(_0x2aca3a,_0x2a1df7)||_0x2aca3a['push'](_0x2a1df7),_0x2a1df7=null);}null===_0x2a1df7||an(_0x2aca3a,_0x2a1df7)||_0x2aca3a['push'](_0x2a1df7);}function ln(_0x46faf5,_0x10867f){this['tokens']=_0x46faf5,this['parser']=_0x10867f,this['unaryOps']=_0x10867f['unaryOps'],this['binaryOps']=_0x10867f['binaryOps'],this['ternaryOps']=_0x10867f['ternaryOps'],this['functions']=_0x10867f['functions'];}Ht['prototype']['toString']=function(){switch(this['type']){case Ft:case Dt:case Pt:case It:case Rt:case zt:case $t:return this['value'];case Nt:return'CALL\x20'+this['value'];case Ut:return'DEF\x20'+this['value'];case Jt:return'ARRAY\x20'+this['value'];case Bt:return'.'+this['value'];default:return'Invalid\x20Instruction';}},ln['prototype']['simplify']=function(_0x306364){return _0x306364=_0x306364||{},new ln(Yt(this['tokens'],this['unaryOps'],this['binaryOps'],this['ternaryOps'],_0x306364),this['parser']);},ln['prototype']['substitute']=function(_0x3bf7e7,_0x56fac8){return _0x56fac8 instanceof ln||(_0x56fac8=this['parser']['parse'](String(_0x56fac8))),new ln(Zt(this['tokens'],_0x3bf7e7,_0x56fac8),this['parser']);},ln['prototype']['evaluate']=function(_0x276306){return _0x276306=_0x276306||{},Kt(this['tokens'],this,_0x276306);},ln['prototype']['toString']=function(){return sn(this['tokens'],!0x1);},ln['prototype']['symbols']=function(_0x5832a4){_0x5832a4=_0x5832a4||{};var _0x334249=[];return on(this['tokens'],_0x334249,_0x5832a4),_0x334249;},ln['prototype']['variables']=function(_0x44eafe){_0x44eafe=_0x44eafe||{};var _0x29aa1b=[];on(this['tokens'],_0x29aa1b,_0x44eafe);var _0x341af6=this['functions'];return _0x29aa1b['filter'](function(_0x19f4e8){return!(_0x19f4e8 in _0x341af6);});},ln['prototype']['toJSFunction']=function(_0x5d913a,_0x3d05a6){var _0x50ceb8=this,_0x1c7987=new Function(_0x5d913a,'with(this.functions)\x20with\x20(this.ternaryOps)\x20with\x20(this.binaryOps)\x20with\x20(this.unaryOps)\x20{\x20return\x20'+sn(this['simplify'](_0x3d05a6)['tokens'],!0x0)+';\x20}');return function(){return _0x1c7987['apply'](_0x50ceb8,arguments);};};var cn='TEOF',hn='TOP',un='TNUMBER',dn='TSTRING',pn='TPAREN',mn='TBRACKET',gn='TCOMMA',fn='TNAME',yn='TSEMICOLON';function vn(_0x4a0814,_0x5a8f7a,_0x13a8a1){this['type']=_0x4a0814,this['value']=_0x5a8f7a,this['index']=_0x13a8a1;}function bn(_0x178bb3,_0x1931d4){this['pos']=0x0,this['current']=null,this['unaryOps']=_0x178bb3['unaryOps'],this['binaryOps']=_0x178bb3['binaryOps'],this['ternaryOps']=_0x178bb3['ternaryOps'],this['consts']=_0x178bb3['consts'],this['expression']=_0x1931d4,this['savedPosition']=0x0,this['savedCurrent']=null,this['options']=_0x178bb3['options'],this['parser']=_0x178bb3;}vn['prototype']['toString']=function(){return this['type']+':\x20'+this['value'];},bn['prototype']['newToken']=function(_0x4c9f11,_0x4323a3,_0x210bc0){return new vn(_0x4c9f11,_0x4323a3,null!=_0x210bc0?_0x210bc0:this['pos']);},bn['prototype']['save']=function(){this['savedPosition']=this['pos'],this['savedCurrent']=this['current'];},bn['prototype']['restore']=function(){this['pos']=this['savedPosition'],this['current']=this['savedCurrent'];},bn['prototype']['next']=function(){return this['pos']>=this['expression']['length']?this['newToken'](cn,'EOF'):this['isWhitespace']()||this['isComment']()?this['next']():this['isRadixInteger']()||this['isNumber']()||this['isOperator']()||this['isString']()||this['isParen']()||this['isBracket']()||this['isComma']()||this['isSemicolon']()||this['isNamedOp']()||this['isConst']()||this['isName']()?this['current']:void this['parseError']('Unknown\x20character\x20\x22'+this['expression']['charAt'](this['pos'])+'\x22');},bn['prototype']['isString']=function(){var _0x175d51=!0x1,_0x3ae5e0=this['pos'],_0x1526f9=this['expression']['charAt'](_0x3ae5e0);if('\x27'===_0x1526f9||'\x22'===_0x1526f9)for(var _0x11435e=this['expression']['indexOf'](_0x1526f9,_0x3ae5e0+0x1);_0x11435e>=0x0&&this['pos']<this['expression']['length'];){if(this['pos']=_0x11435e+0x1,'\x5c'!==this['expression']['charAt'](_0x11435e-0x1)){var _0x58fdfe=this['expression']['substring'](_0x3ae5e0+0x1,_0x11435e);this['current']=this['newToken'](dn,this['unescape'](_0x58fdfe),_0x3ae5e0),_0x175d51=!0x0;break;}_0x11435e=this['expression']['indexOf'](_0x1526f9,_0x11435e+0x1);}return _0x175d51;},bn['prototype']['isParen']=function(){var _0x1b6d76=this['expression']['charAt'](this['pos']);return('('===_0x1b6d76||')'===_0x1b6d76)&&(this['current']=this['newToken'](pn,_0x1b6d76),this['pos']++,!0x0);},bn['prototype']['isBracket']=function(){var _0x2a8faa=this['expression']['charAt'](this['pos']);return!('['!==_0x2a8faa&&']'!==_0x2a8faa||!this['isOperatorEnabled']('['))&&(this['current']=this['newToken'](mn,_0x2a8faa),this['pos']++,!0x0);},bn['prototype']['isComma']=function(){return','===this['expression']['charAt'](this['pos'])&&(this['current']=this['newToken'](gn,','),this['pos']++,!0x0);},bn['prototype']['isSemicolon']=function(){return';'===this['expression']['charAt'](this['pos'])&&(this['current']=this['newToken'](yn,';'),this['pos']++,!0x0);},bn['prototype']['isConst']=function(){for(var _0x49e94e=this['pos'],_0x44f701=_0x49e94e;_0x44f701<this['expression']['length'];_0x44f701++){var _0x5cb41e=this['expression']['charAt'](_0x44f701);if(_0x5cb41e['toUpperCase']()===_0x5cb41e['toLowerCase']()&&(_0x44f701===this['pos']||'_'!==_0x5cb41e&&'.'!==_0x5cb41e&&(_0x5cb41e<'0'||_0x5cb41e>'9')))break;}if(_0x44f701>_0x49e94e){var _0x22e52a=this['expression']['substring'](_0x49e94e,_0x44f701);if(_0x22e52a in this['consts'])return this['current']=this['newToken'](un,this['consts'][_0x22e52a]),this['pos']+=_0x22e52a['length'],!0x0;}return!0x1;},bn['prototype']['isNamedOp']=function(){for(var _0x676187=this['pos'],_0x250dd0=_0x676187;_0x250dd0<this['expression']['length'];_0x250dd0++){var _0x5e7c07=this['expression']['charAt'](_0x250dd0);if(_0x5e7c07['toUpperCase']()===_0x5e7c07['toLowerCase']()&&(_0x250dd0===this['pos']||'_'!==_0x5e7c07&&(_0x5e7c07<'0'||_0x5e7c07>'9')))break;}if(_0x250dd0>_0x676187){var _0x35e66d=this['expression']['substring'](_0x676187,_0x250dd0);if(this['isOperatorEnabled'](_0x35e66d)&&(_0x35e66d in this['binaryOps']||_0x35e66d in this['unaryOps']||_0x35e66d in this['ternaryOps']))return this['current']=this['newToken'](hn,_0x35e66d),this['pos']+=_0x35e66d['length'],!0x0;}return!0x1;},bn['prototype']['isName']=function(){for(var _0x596437=this['pos'],_0x225a2f=_0x596437,_0xd33ba=!0x1;_0x225a2f<this['expression']['length'];_0x225a2f++){var _0x86da53=this['expression']['charAt'](_0x225a2f);if(_0x86da53['toUpperCase']()===_0x86da53['toLowerCase']()){if(_0x225a2f===this['pos']&&('$'===_0x86da53||'_'===_0x86da53)){'_'===_0x86da53&&(_0xd33ba=!0x0);continue;}if(_0x225a2f===this['pos']||!_0xd33ba||'_'!==_0x86da53&&(_0x86da53<'0'||_0x86da53>'9'))break;}else _0xd33ba=!0x0;}if(_0xd33ba){var _0x1cc9d8=this['expression']['substring'](_0x596437,_0x225a2f);return this['current']=this['newToken'](fn,_0x1cc9d8),this['pos']+=_0x1cc9d8['length'],!0x0;}return!0x1;},bn['prototype']['isWhitespace']=function(){for(var _0x3cccb6=!0x1,_0xc2bd56=this['expression']['charAt'](this['pos']);!('\x20'!==_0xc2bd56&&'\x09'!==_0xc2bd56&&'\x0a'!==_0xc2bd56&&'\x0d'!==_0xc2bd56||(_0x3cccb6=!0x0,this['pos']++,this['pos']>=this['expression']['length']));)_0xc2bd56=this['expression']['charAt'](this['pos']);return _0x3cccb6;};var wn=/^[0-9a-f]{4}$/i;function xn(_0x28f782,_0x50f22f,_0x23457f){this['parser']=_0x28f782,this['tokens']=_0x50f22f,this['current']=null,this['nextToken']=null,this['next'](),this['savedCurrent']=null,this['savedNextToken']=null,this['allowMemberAccess']=!0x1!==_0x23457f['allowMemberAccess'];}bn['prototype']['unescape']=function(_0x4502df){var _0x306fed=_0x4502df['indexOf']('\x5c');if(_0x306fed<0x0)return _0x4502df;for(var _0x37e70a=_0x4502df['substring'](0x0,_0x306fed);_0x306fed>=0x0;){var _0x408db0=_0x4502df['charAt'](++_0x306fed);switch(_0x408db0){case'\x27':_0x37e70a+='\x27';break;case'\x22':_0x37e70a+='\x22';break;case'\x5c':_0x37e70a+='\x5c';break;case'/':_0x37e70a+='/';break;case'b':_0x37e70a+='\x08';break;case'f':_0x37e70a+='\x0c';break;case'n':_0x37e70a+='\x0a';break;case'r':_0x37e70a+='\x0d';break;case't':_0x37e70a+='\x09';break;case'u':var _0x35f5d1=_0x4502df['substring'](_0x306fed+0x1,_0x306fed+0x5);wn['test'](_0x35f5d1)||this['parseError']('Illegal\x20escape\x20sequence:\x20\x5cu'+_0x35f5d1),_0x37e70a+=String['fromCharCode'](parseInt(_0x35f5d1,0x10)),_0x306fed+=0x4;break;default:throw this['parseError']('Illegal\x20escape\x20sequence:\x20\x22\x5c'+_0x408db0+'\x22');}++_0x306fed;var _0x2e8089=_0x4502df['indexOf']('\x5c',_0x306fed);_0x37e70a+=_0x4502df['substring'](_0x306fed,_0x2e8089<0x0?_0x4502df['length']:_0x2e8089),_0x306fed=_0x2e8089;}return _0x37e70a;},bn['prototype']['isComment']=function(){return'/'===this['expression']['charAt'](this['pos'])&&'*'===this['expression']['charAt'](this['pos']+0x1)&&(this['pos']=this['expression']['indexOf']('*/',this['pos'])+0x2,0x1===this['pos']&&(this['pos']=this['expression']['length']),!0x0);},bn['prototype']['isRadixInteger']=function(){var _0x53a14b,_0xfa95d3,_0x39b785=this['pos'];if(_0x39b785>=this['expression']['length']-0x2||'0'!==this['expression']['charAt'](_0x39b785))return!0x1;if(++_0x39b785,'x'===this['expression']['charAt'](_0x39b785))_0x53a14b=0x10,_0xfa95d3=/^[0-9a-f]$/i,++_0x39b785;else{if('b'!==this['expression']['charAt'](_0x39b785))return!0x1;_0x53a14b=0x2,_0xfa95d3=/^[01]$/i,++_0x39b785;}for(var _0x1f2328=!0x1,_0x2c3dbc=_0x39b785;_0x39b785<this['expression']['length'];){var _0x189235=this['expression']['charAt'](_0x39b785);if(!_0xfa95d3['test'](_0x189235))break;_0x39b785++,_0x1f2328=!0x0;}return _0x1f2328&&(this['current']=this['newToken'](un,parseInt(this['expression']['substring'](_0x2c3dbc,_0x39b785),_0x53a14b)),this['pos']=_0x39b785),_0x1f2328;},bn['prototype']['isNumber']=function(){for(var _0x2f6936,_0x975433=!0x1,_0x3a8299=this['pos'],_0x10bb2a=_0x3a8299,_0x533984=_0x3a8299,_0x5175c9=!0x1,_0x296b05=!0x1;_0x3a8299<this['expression']['length']&&((_0x2f6936=this['expression']['charAt'](_0x3a8299))>='0'&&_0x2f6936<='9'||!_0x5175c9&&'.'===_0x2f6936);)'.'===_0x2f6936?_0x5175c9=!0x0:_0x296b05=!0x0,_0x3a8299++,_0x975433=_0x296b05;if(_0x975433&&(_0x533984=_0x3a8299),'e'===_0x2f6936||'E'===_0x2f6936){_0x3a8299++;for(var _0x30c1d0=!0x0,_0x2f4d6c=!0x1;_0x3a8299<this['expression']['length'];){if(_0x2f6936=this['expression']['charAt'](_0x3a8299),!_0x30c1d0||'+'!==_0x2f6936&&'-'!==_0x2f6936){if(!(_0x2f6936>='0'&&_0x2f6936<='9'))break;_0x2f4d6c=!0x0,_0x30c1d0=!0x1;}else _0x30c1d0=!0x1;_0x3a8299++;}_0x2f4d6c||(_0x3a8299=_0x533984);}return _0x975433?(this['current']=this['newToken'](un,parseFloat(this['expression']['substring'](_0x10bb2a,_0x3a8299))),this['pos']=_0x3a8299):this['pos']=_0x533984,_0x975433;},bn['prototype']['isOperator']=function(){var _0xd59a79=this['pos'],_0x3c7132=this['expression']['charAt'](this['pos']);if('+'===_0x3c7132||'-'===_0x3c7132||'*'===_0x3c7132||'/'===_0x3c7132||'%'===_0x3c7132||'^'===_0x3c7132||'?'===_0x3c7132||':'===_0x3c7132||'.'===_0x3c7132)this['current']=this['newToken'](hn,_0x3c7132);else if('∙'===_0x3c7132||'•'===_0x3c7132)this['current']=this['newToken'](hn,'*');else if('>'===_0x3c7132)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'>='),this['pos']++):this['current']=this['newToken'](hn,'>');else if('<'===_0x3c7132)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'<='),this['pos']++):this['current']=this['newToken'](hn,'<');else if('|'===_0x3c7132){if('|'!==this['expression']['charAt'](this['pos']+0x1))return!0x1;this['current']=this['newToken'](hn,'||'),this['pos']++;}else if('='===_0x3c7132)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'=='),this['pos']++):this['current']=this['newToken'](hn,_0x3c7132);else{if('!'!==_0x3c7132)return!0x1;'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'!='),this['pos']++):this['current']=this['newToken'](hn,_0x3c7132);}return this['pos']++,!!this['isOperatorEnabled'](this['current']['value'])||(this['pos']=_0xd59a79,!0x1);},bn['prototype']['isOperatorEnabled']=function(_0x14a718){return this['parser']['isOperatorEnabled'](_0x14a718);},bn['prototype']['getCoordinates']=function(){var _0x559ca4,_0x5adde5=0x0,_0x13f796=-0x1;do{_0x5adde5++,_0x559ca4=this['pos']-_0x13f796,_0x13f796=this['expression']['indexOf']('\x0a',_0x13f796+0x1);}while(_0x13f796>=0x0&&_0x13f796<this['pos']);return{'line':_0x5adde5,'column':_0x559ca4};},bn['prototype']['parseError']=function(_0x489e25){var _0x54bc5d=this['getCoordinates']();throw new Error('parse\x20error\x20['+_0x54bc5d['line']+':'+_0x54bc5d['column']+']:\x20'+_0x489e25);},xn['prototype']['next']=function(){return this['current']=this['nextToken'],this['nextToken']=this['tokens']['next']();},xn['prototype']['tokenMatches']=function(_0x48f2fd,_0xf34653){return void 0x0===_0xf34653||(Array['isArray'](_0xf34653)?an(_0xf34653,_0x48f2fd['value']):'function'==typeof _0xf34653?_0xf34653(_0x48f2fd):_0x48f2fd['value']===_0xf34653);},xn['prototype']['save']=function(){this['savedCurrent']=this['current'],this['savedNextToken']=this['nextToken'],this['tokens']['save']();},xn['prototype']['restore']=function(){this['tokens']['restore'](),this['current']=this['savedCurrent'],this['nextToken']=this['savedNextToken'];},xn['prototype']['accept']=function(_0x29c4f2,_0xe1c760){return!(this['nextToken']['type']!==_0x29c4f2||!this['tokenMatches'](this['nextToken'],_0xe1c760))&&(this['next'](),!0x0);},xn['prototype']['expect']=function(_0x9db535,_0x381dc4){if(!this['accept'](_0x9db535,_0x381dc4)){var _0x5aad2f=this['tokens']['getCoordinates']();throw new Error('parse\x20error\x20['+_0x5aad2f['line']+':'+_0x5aad2f['column']+']:\x20Expected\x20'+(_0x381dc4||_0x9db535));}},xn['prototype']['parseAtom']=function(_0x21265e){var _0x2a9f50=this['tokens']['unaryOps'];if(this['accept'](fn)||this['accept'](hn,function(_0x198dc3){return _0x198dc3['value']in _0x2a9f50;}))_0x21265e['push'](new Ht(Rt,this['current']['value']));else if(this['accept'](un))_0x21265e['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](dn))_0x21265e['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](pn,'('))this['parseExpression'](_0x21265e),this['expect'](pn,')');else{if(!this['accept'](mn,'['))throw new Error('unexpected\x20'+this['nextToken']);if(this['accept'](mn,']'))_0x21265e['push'](new Ht(Jt,0x0));else{var _0xf18059=this['parseArrayList'](_0x21265e);_0x21265e['push'](new Ht(Jt,_0xf18059));}}},xn['prototype']['parseExpression']=function(_0x493b95){var _0xf4644c=[];this['parseUntilEndStatement'](_0x493b95,_0xf4644c)||(this['parseVariableAssignmentExpression'](_0xf4644c),this['parseUntilEndStatement'](_0x493b95,_0xf4644c)||this['pushExpression'](_0x493b95,_0xf4644c));},xn['prototype']['pushExpression']=function(_0x2546c0,_0x8aaa9c){for(var _0x49efb1=0x0,_0x45d8ab=_0x8aaa9c['length'];_0x49efb1<_0x45d8ab;_0x49efb1++)_0x2546c0['push'](_0x8aaa9c[_0x49efb1]);},xn['prototype']['parseUntilEndStatement']=function(_0xd23d65,_0x2ef314){return!!this['accept'](yn)&&(!this['nextToken']||this['nextToken']['type']===cn||this['nextToken']['type']===pn&&')'===this['nextToken']['value']||_0x2ef314['push'](new Ht($t)),this['nextToken']['type']!==cn&&this['parseExpression'](_0x2ef314),_0xd23d65['push'](new Ht(Vt,_0x2ef314)),!0x0);},xn['prototype']['parseArrayList']=function(_0x7e8e04){for(var _0x19aac9=0x0;!this['accept'](mn,']');)for(this['parseExpression'](_0x7e8e04),++_0x19aac9;this['accept'](gn);)this['parseExpression'](_0x7e8e04),++_0x19aac9;return _0x19aac9;},xn['prototype']['parseVariableAssignmentExpression']=function(_0x478d21){for(this['parseConditionalExpression'](_0x478d21);this['accept'](hn,'=');){var _0x547201=_0x478d21['pop'](),_0x4f681a=[],_0x3881b0=_0x478d21['length']-0x1;if(_0x547201['type']!==Nt){if(_0x547201['type']!==Rt&&_0x547201['type']!==Bt)throw new Error('expected\x20variable\x20for\x20assignment');this['parseVariableAssignmentExpression'](_0x4f681a),_0x478d21['push'](new Ht(zt,_0x547201['value'])),_0x478d21['push'](new Ht(Vt,_0x4f681a)),_0x478d21['push'](Wt('='));}else{if(!this['tokens']['isOperatorEnabled']('()='))throw new Error('function\x20definition\x20is\x20not\x20permitted');for(var _0x4252a1=0x0,_0x26d807=_0x547201['value']+0x1;_0x4252a1<_0x26d807;_0x4252a1++){var _0x4e10b8=_0x3881b0-_0x4252a1;_0x478d21[_0x4e10b8]['type']===Rt&&(_0x478d21[_0x4e10b8]=new Ht(zt,_0x478d21[_0x4e10b8]['value']));}this['parseVariableAssignmentExpression'](_0x4f681a),_0x478d21['push'](new Ht(Vt,_0x4f681a)),_0x478d21['push'](new Ht(Ut,_0x547201['value']));}}},xn['prototype']['parseConditionalExpression']=function(_0x6d9ed8){for(this['parseOrExpression'](_0x6d9ed8);this['accept'](hn,'?');){var _0x387d6b=[],_0x31b4c5=[];this['parseConditionalExpression'](_0x387d6b),this['expect'](hn,':'),this['parseConditionalExpression'](_0x31b4c5),_0x6d9ed8['push'](new Ht(Vt,_0x387d6b)),_0x6d9ed8['push'](new Ht(Vt,_0x31b4c5)),_0x6d9ed8['push'](Xt('?'));}},xn['prototype']['parseOrExpression']=function(_0x400608){for(this['parseAndExpression'](_0x400608);this['accept'](hn,'or');){var _0xc8de80=[];this['parseAndExpression'](_0xc8de80),_0x400608['push'](new Ht(Vt,_0xc8de80)),_0x400608['push'](Wt('or'));}},xn['prototype']['parseAndExpression']=function(_0x7bd678){for(this['parseComparison'](_0x7bd678);this['accept'](hn,'and');){var _0x504fb5=[];this['parseComparison'](_0x504fb5),_0x7bd678['push'](new Ht(Vt,_0x504fb5)),_0x7bd678['push'](Wt('and'));}};var Mn=['==','!=','<','<=','>=','>','in'];xn['prototype']['parseComparison']=function(_0x3dc119){for(this['parseAddSub'](_0x3dc119);this['accept'](hn,Mn);){var _0x586129=this['current'];this['parseAddSub'](_0x3dc119),_0x3dc119['push'](Wt(_0x586129['value']));}};var _n=['+','-','||'];xn['prototype']['parseAddSub']=function(_0x5eb3db){for(this['parseTerm'](_0x5eb3db);this['accept'](hn,_n);){var _0x2b39ad=this['current'];this['parseTerm'](_0x5eb3db),_0x5eb3db['push'](Wt(_0x2b39ad['value']));}};var Sn=['*','/','%'];function An(_0x222ec3,_0x52076e){return Number(_0x222ec3)+Number(_0x52076e);}function Ln(_0x3f2ffa,_0x2968f1){return _0x3f2ffa-_0x2968f1;}function En(_0x4c69d3,_0x28b033){return _0x4c69d3*_0x28b033;}function Cn(_0x1fcd1a,_0x7a99fd){return _0x1fcd1a/_0x7a99fd;}function jn(_0x2af9e6,_0x462198){return _0x2af9e6%_0x462198;}function kn(_0x362ea1,_0x169cd7){return Array['isArray'](_0x362ea1)&&Array['isArray'](_0x169cd7)?_0x362ea1['concat'](_0x169cd7):''+_0x362ea1+_0x169cd7;}function Tn(_0x64ac85,_0x1b858d){return _0x64ac85===_0x1b858d;}function On(_0x126f70,_0xadac3c){return _0x126f70!==_0xadac3c;}function Fn(_0x432ce7,_0x4f7182){return _0x432ce7>_0x4f7182;}function Dn(_0x246207,_0x534e63){return _0x246207<_0x534e63;}function Pn(_0x36a095,_0x3fbf96){return _0x36a095>=_0x3fbf96;}function In(_0x35fe10,_0x4645a2){return _0x35fe10<=_0x4645a2;}function Rn(_0xc54fc6,_0x172a8f){return Boolean(_0xc54fc6&&_0x172a8f);}function zn(_0x519f10,_0x9be145){return Boolean(_0x519f10||_0x9be145);}function Nn(_0x5e8540,_0x4ce84e){return an(_0x4ce84e,_0x5e8540);}function Un(_0x59a251){return(Math['exp'](_0x59a251)-Math['exp'](-_0x59a251))/0x2;}function Vn(_0x2c0b81){return(Math['exp'](_0x2c0b81)+Math['exp'](-_0x2c0b81))/0x2;}function qn(_0x5a467b){return _0x5a467b===0x1/0x0?0x1:_0x5a467b===-0x1/0x0?-0x1:(Math['exp'](_0x5a467b)-Math['exp'](-_0x5a467b))/(Math['exp'](_0x5a467b)+Math['exp'](-_0x5a467b));}function Bn(_0x183381){return _0x183381===-0x1/0x0?_0x183381:Math['log'](_0x183381+Math['sqrt'](_0x183381*_0x183381+0x1));}function $n(_0x1da2c5){return Math['log'](_0x1da2c5+Math['sqrt'](_0x1da2c5*_0x1da2c5-0x1));}function Jn(_0x36d027){return Math['log']((0x1+_0x36d027)/(0x1-_0x36d027))/0x2;}function Hn(_0x34a25b){return Math['log'](_0x34a25b)*Math['LOG10E'];}function Gn(_0x50615f){return-_0x50615f;}function Wn(_0x51b081){return!_0x51b081;}function Xn(_0x596d81){return _0x596d81<0x0?Math['ceil'](_0x596d81):Math['floor'](_0x596d81);}function Yn(_0x5ad8ff){return Math['random']()*(_0x5ad8ff||0x1);}function Zn(_0x2145e1){return ei(_0x2145e1+0x1);}xn['prototype']['parseTerm']=function(_0x240232){for(this['parseFactor'](_0x240232);this['accept'](hn,Sn);){var _0x36502f=this['current'];this['parseFactor'](_0x240232),_0x240232['push'](Wt(_0x36502f['value']));}},xn['prototype']['parseFactor']=function(_0x21711c){var _0x4b48db=this['tokens']['unaryOps'];if(this['save'](),this['accept'](hn,function(_0x75a737){return _0x75a737['value']in _0x4b48db;})){if('-'!==this['current']['value']&&'+'!==this['current']['value']){if(this['nextToken']['type']===pn&&'('===this['nextToken']['value'])return this['restore'](),void this['parseExponential'](_0x21711c);if(this['nextToken']['type']===yn||this['nextToken']['type']===gn||this['nextToken']['type']===cn||this['nextToken']['type']===pn&&')'===this['nextToken']['value'])return this['restore'](),void this['parseAtom'](_0x21711c);}var _0x427779=this['current'];this['parseFactor'](_0x21711c),_0x21711c['push'](Gt(_0x427779['value']));}else this['parseExponential'](_0x21711c);},xn['prototype']['parseExponential']=function(_0x134807){for(this['parsePostfixExpression'](_0x134807);this['accept'](hn,'^');)this['parseFactor'](_0x134807),_0x134807['push'](Wt('^'));},xn['prototype']['parsePostfixExpression']=function(_0x3f67d1){for(this['parseFunctionCall'](_0x3f67d1);this['accept'](hn,'!');)_0x3f67d1['push'](Gt('!'));},xn['prototype']['parseFunctionCall']=function(_0xa67948){var _0x1a7dd0=this['tokens']['unaryOps'];if(this['accept'](hn,function(_0xc33a9d){return _0xc33a9d['value']in _0x1a7dd0;})){var _0x18c84d=this['current'];this['parseAtom'](_0xa67948),_0xa67948['push'](Gt(_0x18c84d['value']));}else for(this['parseMemberExpression'](_0xa67948);this['accept'](pn,'(');)if(this['accept'](pn,')'))_0xa67948['push'](new Ht(Nt,0x0));else{var _0x555a2f=this['parseArgumentList'](_0xa67948);_0xa67948['push'](new Ht(Nt,_0x555a2f));}},xn['prototype']['parseArgumentList']=function(_0xa3d59){for(var _0x28b600=0x0;!this['accept'](pn,')');)for(this['parseExpression'](_0xa3d59),++_0x28b600;this['accept'](gn);)this['parseExpression'](_0xa3d59),++_0x28b600;return _0x28b600;},xn['prototype']['parseMemberExpression']=function(_0x1e64cf){for(this['parseAtom'](_0x1e64cf);this['accept'](hn,'.')||this['accept'](mn,'[');){var _0x26e1ba=this['current'];if('.'===_0x26e1ba['value']){if(!this['allowMemberAccess'])throw new Error('unexpected\x20\x22.\x22,\x20member\x20access\x20is\x20not\x20permitted');this['expect'](fn),_0x1e64cf['push'](new Ht(Bt,this['current']['value']));}else{if('['!==_0x26e1ba['value'])throw new Error('unexpected\x20symbol:\x20'+_0x26e1ba['value']);if(!this['tokens']['isOperatorEnabled']('['))throw new Error('unexpected\x20\x22[]\x22,\x20arrays\x20are\x20disabled');this['parseExpression'](_0x1e64cf),this['expect'](mn,']'),_0x1e64cf['push'](Wt('['));}}};var Qn=4.7421875,Kn=[0.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-0.4919138160976202,0.00003399464998481189,0.00004652362892704858,-0.00009837447530487956,0.0001580887032249125,-0.00021026444172410488,0.00021743961811521265,-0.0001643181065367639,0.00008441822398385275,-0.000026190838401581408,0.0000036899182659531625];function ei(_0x14e2a8){var _0x538095,_0x30f125;if(function(_0x5490aa){return isFinite(_0x5490aa)&&_0x5490aa===Math['round'](_0x5490aa);}(_0x14e2a8)){if(_0x14e2a8<=0x0)return isFinite(_0x14e2a8)?0x1/0x0:NaN;if(_0x14e2a8>0xab)return 0x1/0x0;for(var _0x57d79f=_0x14e2a8-0x2,_0x1f0d43=_0x14e2a8-0x1;_0x57d79f>0x1;)_0x1f0d43*=_0x57d79f,_0x57d79f--;return 0x0===_0x1f0d43&&(_0x1f0d43=0x1),_0x1f0d43;}if(_0x14e2a8<0.5)return Math['PI']/(Math['sin'](Math['PI']*_0x14e2a8)*ei(0x1-_0x14e2a8));if(_0x14e2a8>=171.35)return 0x1/0x0;if(_0x14e2a8>0x55){var _0x5b8ff3=_0x14e2a8*_0x14e2a8,_0x46fb2f=_0x5b8ff3*_0x14e2a8,_0x507e8c=_0x46fb2f*_0x14e2a8,_0x5c1e6f=_0x507e8c*_0x14e2a8;return Math['sqrt'](0x2*Math['PI']/_0x14e2a8)*Math['pow'](_0x14e2a8/Math['E'],_0x14e2a8)*(0x1+0x1/(0xc*_0x14e2a8)+0x1/(0x120*_0x5b8ff3)-0x8b/(0xca80*_0x46fb2f)-0x23b/(0x25f800*_0x507e8c)+0x28027/(0xc756000*_0x5c1e6f)+0x500f63/(0x11850f0000*_0x5c1e6f*_0x14e2a8));}--_0x14e2a8,_0x30f125=Kn[0x0];for(var _0x5d2580=0x1;_0x5d2580<Kn['length'];++_0x5d2580)_0x30f125+=Kn[_0x5d2580]/(_0x14e2a8+_0x5d2580);return _0x538095=_0x14e2a8+Qn+0.5,Math['sqrt'](0x2*Math['PI'])*Math['pow'](_0x538095,_0x14e2a8+0.5)*Math['exp'](-_0x538095)*_0x30f125;}function ti(_0x4a18c8){return Array['isArray'](_0x4a18c8)?_0x4a18c8['length']:String(_0x4a18c8)['length'];}function ni(){for(var _0x51c546=0x0,_0x4c719d=0x0,_0x4d31ae=0x0;_0x4d31ae<arguments['length'];_0x4d31ae++){var _0x2ba61b,_0x430c14=Math['abs'](arguments[_0x4d31ae]);_0x4c719d<_0x430c14?(_0x51c546=_0x51c546*(_0x2ba61b=_0x4c719d/_0x430c14)*_0x2ba61b+0x1,_0x4c719d=_0x430c14):_0x51c546+=_0x430c14>0x0?(_0x2ba61b=_0x430c14/_0x4c719d)*_0x2ba61b:_0x430c14;}return _0x4c719d===0x1/0x0?0x1/0x0:_0x4c719d*Math['sqrt'](_0x51c546);}function ii(_0x10103f,_0x1cc86f,_0x574761){return _0x10103f?_0x1cc86f:_0x574761;}function si(_0x4b51db,_0x552851){return void 0x0===_0x552851||0x0===+_0x552851?Math['round'](_0x4b51db):(_0x4b51db=+_0x4b51db,_0x552851=-+_0x552851,isNaN(_0x4b51db)||'number'!=typeof _0x552851||_0x552851%0x1!=0x0?NaN:(_0x4b51db=_0x4b51db['toString']()['split']('e'),+((_0x4b51db=(_0x4b51db=Math['round'](+(_0x4b51db[0x0]+'e'+(_0x4b51db[0x1]?+_0x4b51db[0x1]-_0x552851:-_0x552851))))['toString']()['split']('e'))[0x0]+'e'+(_0x4b51db[0x1]?+_0x4b51db[0x1]+_0x552851:_0x552851))));}function ri(_0xccee1b,_0xca75d7,_0x5a0c93){return _0x5a0c93&&(_0x5a0c93[_0xccee1b]=_0xca75d7),_0xca75d7;}function ai(_0xe8816a,_0x4e9fd6){return _0xe8816a[0x0|_0x4e9fd6];}function oi(_0x1c8f08){return 0x1===arguments['length']&&Array['isArray'](_0x1c8f08)?Math['max']['apply'](Math,_0x1c8f08):Math['max']['apply'](Math,arguments);}function li(_0x40b9cb){return 0x1===arguments['length']&&Array['isArray'](_0x40b9cb)?Math['min']['apply'](Math,_0x40b9cb):Math['min']['apply'](Math,arguments);}function ci(_0x35e096,_0x2c87a2){if('function'!=typeof _0x35e096)throw new Error('First\x20argument\x20to\x20map\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x2c87a2))throw new Error('Second\x20argument\x20to\x20map\x20is\x20not\x20an\x20array');return _0x2c87a2['map'](function(_0x1c585c,_0x248bc3){return _0x35e096(_0x1c585c,_0x248bc3);});}function hi(_0x149f1c,_0x5b0bfd,_0x596602){if('function'!=typeof _0x149f1c)throw new Error('First\x20argument\x20to\x20fold\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x596602))throw new Error('Second\x20argument\x20to\x20fold\x20is\x20not\x20an\x20array');return _0x596602['reduce'](function(_0x12b8d2,_0x281bf7,_0x4b36af){return _0x149f1c(_0x12b8d2,_0x281bf7,_0x4b36af);},_0x5b0bfd);}function ui(_0x5a033b,_0x49da91){if('function'!=typeof _0x5a033b)throw new Error('First\x20argument\x20to\x20filter\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x49da91))throw new Error('Second\x20argument\x20to\x20filter\x20is\x20not\x20an\x20array');return _0x49da91['filter'](function(_0x3ae931,_0x5a48cd){return _0x5a033b(_0x3ae931,_0x5a48cd);});}function di(_0x400ed3,_0x20c14d){if(!Array['isArray'](_0x20c14d)&&'string'!=typeof _0x20c14d)throw new Error('Second\x20argument\x20to\x20indexOf\x20is\x20not\x20a\x20string\x20or\x20array');return _0x20c14d['indexOf'](_0x400ed3);}function pi(_0x23cc86,_0x556013){if(!Array['isArray'](_0x556013))throw new Error('Second\x20argument\x20to\x20join\x20is\x20not\x20an\x20array');return _0x556013['join'](_0x23cc86);}function mi(_0x3c6a03){return(_0x3c6a03>0x0)-(_0x3c6a03<0x0)||+_0x3c6a03;}var gi=0x1/0x3;function fi(_0x820646){return _0x820646<0x0?-Math['pow'](-_0x820646,gi):Math['pow'](_0x820646,gi);}function yi(_0xa440f4){return Math['exp'](_0xa440f4)-0x1;}function vi(_0x589b33){return Math['log'](0x1+_0x589b33);}function bi(_0x4fab9d){return Math['log'](_0x4fab9d)/Math['LN2'];}function wi(_0x15b710){if(!Array['isArray'](_0x15b710))throw new Error('Sum\x20argument\x20is\x20not\x20an\x20array');return _0x15b710['reduce'](function(_0x58f8b1,_0x21a350){return _0x58f8b1+Number(_0x21a350);},0x0);}function xi(_0xfc8714){this['options']=_0xfc8714||{},this['unaryOps']={'sin':Math['sin'],'cos':Math['cos'],'tan':Math['tan'],'asin':Math['asin'],'acos':Math['acos'],'atan':Math['atan'],'sinh':Math['sinh']||Un,'cosh':Math['cosh']||Vn,'tanh':Math['tanh']||qn,'asinh':Math['asinh']||Bn,'acosh':Math['acosh']||$n,'atanh':Math['atanh']||Jn,'sqrt':Math['sqrt'],'cbrt':Math['cbrt']||fi,'log':Math['log'],'log2':Math['log2']||bi,'ln':Math['log'],'lg':Math['log10']||Hn,'log10':Math['log10']||Hn,'expm1':Math['expm1']||yi,'log1p':Math['log1p']||vi,'abs':Math['abs'],'ceil':Math['ceil'],'floor':Math['floor'],'round':Math['round'],'trunc':Math['trunc']||Xn,'-':Gn,'+':Number,'exp':Math['exp'],'not':Wn,'length':ti,'!':Zn,'sign':Math['sign']||mi},this['binaryOps']={'+':An,'-':Ln,'*':En,'/':Cn,'%':jn,'^':Math['pow'],'||':kn,'==':Tn,'!=':On,'>':Fn,'<':Dn,'>=':Pn,'<=':In,'and':Rn,'or':zn,'in':Nn,'=':ri,'[':ai},this['ternaryOps']={'?':ii},this['functions']={'random':Yn,'fac':Zn,'min':li,'max':oi,'hypot':Math['hypot']||ni,'pyt':Math['hypot']||ni,'pow':Math['pow'],'atan2':Math['atan2'],'if':ii,'gamma':ei,'roundTo':si,'map':ci,'fold':hi,'filter':ui,'indexOf':di,'join':pi,'sum':wi},this['consts']={'E':Math['E'],'PI':Math['PI'],'true':!0x0,'false':!0x1};}xi['prototype']['parse']=function(_0x265d3b){var _0x2976bc=[],_0xecbee3=new xn(this,new bn(this,_0x265d3b),{'allowMemberAccess':this['options']['allowMemberAccess']});return _0xecbee3['parseExpression'](_0x2976bc),_0xecbee3['expect'](cn,'EOF'),new ln(_0x2976bc,this);},xi['prototype']['evaluate']=function(_0x24d1b7,_0x40e17f){return this['parse'](_0x24d1b7)['evaluate'](_0x40e17f);};var Mi=new xi();xi['parse']=function(_0xf8077c){return Mi['parse'](_0xf8077c);},xi['evaluate']=function(_0x26a643,_0x1bcda6){return Mi['parse'](_0x26a643)['evaluate'](_0x1bcda6);};var _i={'+':'add','-':'subtract','*':'multiply','/':'divide','%':'remainder','^':'power','!':'factorial','<':'comparison','>':'comparison','<=':'comparison','>=':'comparison','==':'comparison','!=':'comparison','||':'concatenate','and':'logical','or':'logical','not':'logical','?':'conditional',':':'conditional','=':'assignment','[':'array','()=':'fndef'};xi['prototype']['isOperatorEnabled']=function(_0x37d128){var _0x144870=function(_0x1d014f){return Object['hasOwn'](_i,_0x1d014f)?_i[_0x1d014f]:_0x1d014f;}(_0x37d128),_0x4691b2=this['options']['operators']||{};return!(_0x144870 in _0x4691b2)||!!_0x4691b2[_0x144870];};class Si extends xi{constructor(..._0xc0f91c){super(..._0xc0f91c);const _0x44e2cd=this;_0x44e2cd['unaryOps']={'-':_0x44e2cd['unaryOps']['-'],'+':_0x44e2cd['unaryOps']['+'],'!':_0x44e2cd['unaryOps']['not'],'not':_0x44e2cd['unaryOps']['not']},_0x44e2cd['functions']={'sin':Math['sin'],'cos':Math['cos'],'tan':Math['tan'],'asin':Math['asin'],'acos':Math['acos'],'atan':Math['atan'],'log':Math['log'],'atan2':Math['atan2'],'pow':Math['pow'],'radians':_0xdba99c=>_0xdba99c*(Math['PI']/0xb4),'degrees':_0x52513e=>_0x52513e*(0xb4/Math['PI']),'__read_property__':(_0x13329c,..._0x5041e4)=>{let _0x492a28=_0x13329c;for(let _0xb94db3=0x0,_0x9cd201=_0x5041e4['length'];_0xb94db3<_0x9cd201;_0xb94db3++)_0x492a28=_0x492a28[_0x5041e4[_0xb94db3]];return _0x492a28;}},_0x44e2cd['binaryOps']={..._0x44e2cd['binaryOps'],'+':(_0xd5951c,_0x873d86)=>(kt(_0xd5951c)&&(_0xd5951c=Number(_0xd5951c)),kt(_0x873d86)&&(_0x873d86=Number(_0x873d86)),_0xd5951c+_0x873d86),'in':(_0x1f984b,_0x248e5b)=>Array['isArray'](_0x248e5b)||'string'==typeof _0x248e5b?_0x248e5b['includes'](_0x1f984b):_0x1f984b in _0x248e5b,'||':(_0x2872e9,_0x2a1b7f)=>Boolean(_0x2872e9||_0x2a1b7f)},_0x44e2cd['consts']={..._0x44e2cd['consts'],'pi':Math['PI'],'tau':0x2*Math['PI'],'e':Math['E']};}}class Ai{constructor(){this['inOrder']=!0x0,this['requirePrefix']=!0x0,this['localProperties']=!0x0,this['rospackCommands']={},this['arguments']={},this['expressionParser']=new Si(),this['workingPath']='';}async['getFileContents'](_0x462c95){throw new Error('XacroParser:\x20getFileContents()\x20not\x20implemented.');}async['parse'](_0x35df45){function _0x58261d(_0x3bd4d0,_0x2f65f3,_0x2eef14=!0x1){const _0x3357c3=[],_0x55541d=Ot(_0x38fa56,_0x2f65f3);try{let _0x3e7ef3=function _0x314265(_0xaeb0cd,_0x48a086){if('string'!=typeof _0xaeb0cd)return _0xaeb0cd;const _0x2d4f2d=_0xaeb0cd['split'](/(\$?\$\([^)]+\))|(\$?\${[^}]+})/g)['filter'](_0x2fbac2=>!!_0x2fbac2)['map'](_0x301bf1=>{if(!/^\$[{(].+/['test'](_0x301bf1))return _0x301bf1;if(/^\$\$/['test'](_0x301bf1))return _0x301bf1;const _0x3ea81f=/^\$\(/['test'](_0x301bf1);let _0x469167=_0x301bf1['substring'](0x2,_0x301bf1['length']-0x1);if(_0x469167=_0x314265(_0x469167,_0x48a086),/\[.+\]$/['test'](_0x469167)&&(_0x469167=_0x469167['replace'](/([^[\s]+)(\[[^[]+\])+/g,(_0x478a26,..._0x45b51f)=>{const _0x5ee909=_0x478a26['split'](/[[\]]+/g);return _0x5ee909['pop'](),'__read_property__(\x20'+_0x5ee909['join'](',')+'\x20)';})),!_0x3ea81f){if(_0x3357c3['includes'](_0x469167))throw new Error('XacroParser:\x20Cannot\x20evaluate\x20infinitely\x20recursive\x20expression:\x20'+_0x3357c3['join']('\x20>\x20')+'\x20>\x20'+_0x469167);_0x3357c3['push'](_0x469167);const _0x57556f=/([()/*+!\-%|&=])+/g,_0xd4c3af=function(_0x359809){return _0x359809['replace'](/(('[^']*?')|("[^"]*?")|(`[^`]*?`)|([()/*+\-%|!&=]+?))/g,_0x13d91c=>'\x20'+_0x13d91c+'\x20')['trim']()['split'](/\s+/g);}(_0x469167)['map'](_0x1e5cfa=>{if(_0x57556f['lastIndex']=0x0,function(_0x41b280){return/^[()/*+\-%|&=[\]]+$/['test'](_0x41b280);}(_0x1e5cfa))return _0x1e5cfa;if(kt(_0x1e5cfa))return _0x1e5cfa;if(jt(_0x1e5cfa))return _0x1e5cfa;if(_0x1e5cfa in _0x48a086){const _0x352f49=_0x314265(_0x48a086[_0x1e5cfa],_0x48a086);return kt(_0x352f49)||'object'==typeof _0x352f49?_0x352f49:'\x22'+_0x352f49['toString']()['replace'](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')+'\x22';}return _0x1e5cfa;})['map'](_0x1dbdc9=>(_0x57556f['lastIndex']=0x0,/^[^0-9.]/['test'](_0x1dbdc9)&&!_0x57556f['test'](_0x1dbdc9)?'\x20'+_0x1dbdc9+'\x20':_0x1dbdc9))['join']('');if(_0x3357c3['pop'](),jt(_0xd4c3af))return _0xd4c3af['substring'](0x1,_0xd4c3af['length']-0x1);if(kt(_0xd4c3af))return _0xd4c3af;{const _0x49c011=function(_0x5799de){return _0x5799de['replace'](/[-+]{2,}/,_0x5abdd1=>{let _0x2c4a79=!0x0;for(let _0x4aac97=0x0,_0x229a28=_0x5abdd1['length'];_0x4aac97<_0x229a28;_0x4aac97++)'-'===_0x5abdd1[_0x4aac97]&&(_0x2c4a79=!_0x2c4a79);return _0x2c4a79?'+':'-';});}(_0xd4c3af);return _0x43c21c['evaluate'](_0x49c011,_0x48a086);}}{const _0x48e987=_0x314265(_0x469167,_0x48a086)['split'](/\s+/g),_0x3b8388=_0x48e987['shift']();try{return _0x578225(_0x3b8388,..._0x48e987);}catch(_0x6baa41){throw new Error('XacroParser:\x20Cannot\x20run\x20rospack\x20command\x20\x22'+_0x469167+'\x22.\x0a'+_0x6baa41['message']);}}}),_0x5964d6=_0x2d4f2d['filter'](_0x2c8a7c=>('string'==typeof _0x2c8a7c&&(_0x2c8a7c=_0x2c8a7c['trim']()),''!==_0x2c8a7c&&null!=_0x2c8a7c));return 0x1===_0x5964d6['length']?_0x5964d6[0x0]:_0x2d4f2d['join']('');}(_0x3bd4d0,_0x55541d);return _0x2eef14&&'string'==typeof _0x3e7ef3&&(_0x3e7ef3=_0x3e7ef3['replace'](/\${2}([({])/g,(_0x2e7c5e,_0x46422c)=>'$'+_0x46422c)),_0x3e7ef3;}catch(_0x4aa435){throw new Error('XacroParser:\x20Failed\x20to\x20process\x20expression\x20\x22'+_0x3bd4d0+'\x22.\x20\x0a'+_0x4aa435['message']);}}async function _0x2c4015(_0x388f3c,_0x5295d7,_0x565eae,_0x19c334){const _0x1bb649=_0x388f3c['tagName']['replace'](/^xacro:/,''),_0x589460=_0x565eae[_0x1bb649];if(!_0x589460)throw new Error('XacroParser:\x20Cannot\x20find\x20macro\x20\x22'+_0x1bb649+'\x22');const _0x1f6107=_0x5295d7,_0x2b30f9=_0x565eae;_0x5295d7=function(_0x3da283){const _0x543a26=Ot(_0x3da283);return _0x543a26[Tt]=_0x3da283,_0x543a26;}(_0x5295d7),_0x565eae=Ot(_0x565eae);let _0x3e2521=[];for(const _0x34e13d of _0x388f3c['children'])await _0x22f5a5(_0x34e13d,_0x1f6107,_0x2b30f9,_0x3e2521);_0x3e2521=_0x3e2521['filter'](_0x2933b0=>_0x2933b0['nodeType']===_0x2933b0['ELEMENT_NODE']);let _0x110482=0x0;for(const _0x140417 in _0x589460['params']){const _0x3bfd4a=_0x589460['params'][_0x140417];_0x388f3c['hasAttribute'](_0x140417)?_0x5295d7[_0x140417]=_0x58261d(_0x388f3c['getAttribute'](_0x140417),_0x1f6107):'BLOCK'===_0x3bfd4a['type']?(_0x5295d7[_0x140417]=[_0x3e2521[_0x110482]],_0x110482++):'MULTI_BLOCK'===_0x3bfd4a['type']?_0x5295d7[_0x140417]=[..._0x3e2521['filter'](_0x1b7512=>_0x1b7512['tagName']===_0x140417)[0x0]['childNodes']]:_0x5295d7[_0x140417]=_0x58261d(_0x589460['params'][_0x140417]['def'],_0x1f6107);}const _0xc14dad=[..._0x589460['node']['childNodes']];for(const _0x257030 of _0xc14dad){const _0x77c304=[];await _0x22f5a5(_0x257030,_0x5295d7,_0x565eae,_0x77c304),_0x19c334['push'](..._0x77c304);}}function _0x3a49f1(_0x250fd6){const _0x25e680=_0x250fd6['getAttribute']('name')['replace'](/^xacro:/,''),_0x236595=_0x250fd6['getAttribute']('params'),_0x9f766={};if(_0x236595){const _0x389c2c=_0x236595['trim']()['match'](/[^\s']+('[^']*')?/g)['map'](_0x1f6c92=>function(_0x5ed18e){const _0x32e412={};if(/^\*\*/['test'](_0x5ed18e)?_0x32e412['type']='MULTI_BLOCK':/^\*/['test'](_0x5ed18e)?_0x32e412['type']='BLOCK':_0x32e412['type']='PARAM',_0x5ed18e=_0x5ed18e['replace'](/^\*{1,2}/g,''),/:?=/['test'](_0x5ed18e)){const [_0x52e49d,_0x5c0d9c]=_0x5ed18e['split'](/:?=/);if(/^\^/['test'](_0x5c0d9c)||/\|/['test'](_0x5c0d9c))throw new Error('XacroParser:\x20ROS\x20Jade\x20pass-through\x20notation\x20not\x20supported\x20in\x20macro\x20defaults:\x20'+_0x5c0d9c);_0x32e412['name']=_0x52e49d,_0x5c0d9c['startsWith']('\x27')&&_0x5c0d9c['endsWith']('\x27')?_0x32e412['def']=_0x5c0d9c['substring'](0x1,_0x5c0d9c['length']-0x1):_0x32e412['def']=_0x5c0d9c;}else _0x32e412['name']=_0x5ed18e,_0x32e412['def']=null;return _0x32e412;}(_0x1f6c92));_0x389c2c['forEach'](_0x2900f0=>{_0x9f766[_0x2900f0['name']]=_0x2900f0;});}return{'name':_0x25e680,'node':Et(_0x250fd6,!0x1),'params':_0x9f766};}async function _0x22f5a5(_0x3d0f30,_0x511485,_0x12b894,_0x33f431=[]){if(_0x3d0f30['nodeType']===_0x3d0f30['TEXT_NODE']){const _0x1949c5=_0x3d0f30['cloneNode']();return _0x1949c5['textContent']=_0x58261d(_0x1949c5['textContent'],_0x511485,!0x0),void _0x33f431['push'](_0x1949c5);}if(_0x3d0f30['nodeType']!==_0x3d0f30['ELEMENT_NODE'])return void _0x33f431['push'](_0x3d0f30['cloneNode']());let _0x10d591=_0x3d0f30['tagName']['toLowerCase']();if(!_0x3af47e)switch(_0x10d591){case'arg':case'property':case'macro':case'insert_block':case'if':case'unless':case'include':case'element':case'attribute':_0x10d591='xacro:'+_0x10d591;break;default:_0x10d591 in _0x12b894&&(_0x10d591='xacro:'+_0x10d591);}switch(_0x10d591){case'xacro:property':{Ct(_0x33f431);const _0x206a65=_0x3d0f30['getAttribute']('name');let _0x2f4c0c;if(_0x3d0f30['hasAttribute']('value'))_0x2f4c0c=_0x3d0f30['getAttribute']('value');else if(_0x3d0f30['hasAttribute']('default'))_0x2f4c0c=_0x3d0f30['getAttribute']('default');else{const _0x1d0676=[..._0x3d0f30['childNodes']];_0x2f4c0c=[];for(const _0x470214 of _0x1d0676)_0x2f4c0c['push'](Et(_0x470214,!0x1));}let _0x4640e5='global';_0x5466f2&&(_0x4640e5=_0x3d0f30['getAttribute']('scope')||'local'),'local'!==_0x4640e5&&(_0x2f4c0c=_0x58261d(_0x2f4c0c,_0x511485)),'global'===_0x4640e5?_0x38fa56[_0x206a65]=_0x2f4c0c:'parent'===_0x4640e5?_0x511485[Tt][_0x206a65]=_0x2f4c0c:_0x511485[_0x206a65]=_0x2f4c0c;break;}case'xacro:macro':{Ct(_0x33f431);const _0x36da10=_0x3a49f1(_0x3d0f30);_0x12b894[_0x36da10['name']]=_0x36da10;break;}case'xacro:insert_block':{Ct(_0x33f431);const _0x54728d=_0x511485[_0x3d0f30['getAttribute']('name')];for(const _0x51644b of _0x54728d)await _0x22f5a5(_0x51644b,_0x511485,_0x12b894,_0x33f431);return;}case'xacro:if':case'xacro:unless':{Ct(_0x33f431);const _0x11e498=_0x58261d(_0x3d0f30['getAttribute']('value'),_0x511485,!0x0);let _0x3bb4f8=null;if(_0x3bb4f8=isNaN(parseFloat(_0x11e498))?'true'===_0x11e498||'false'===_0x11e498?'true'===_0x11e498:_0x11e498:!!parseFloat(_0x11e498),'xacro:unless'===_0x10d591&&(_0x3bb4f8=!_0x3bb4f8),_0x3bb4f8){const _0x59cdfb=[..._0x3d0f30['childNodes']];for(const _0x2ea95a of _0x59cdfb)await _0x22f5a5(_0x2ea95a,_0x511485,_0x12b894,_0x33f431);}return;}case'xacro:include':{if(Ct(_0x33f431),_0x3d0f30['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x1b8f94=_0x58261d(_0x3d0f30['getAttribute']('filename'),_0x511485,!0x0),_0x39f803=/^[/\\]/['test'](_0x1b8f94)||/^[a-zA-Z]+:[/\\]/['test'](_0x1b8f94)?_0x1b8f94:_0x351b9f+_0x1b8f94,_0x4014d2=_0x351b9f;_0x351b9f=At(_0x39f803);const _0x3785d0=[...(await _0x3232e0(_0x39f803))['children'][0x0]['childNodes']];for(const _0x31d6fd of _0x3785d0)await _0x22f5a5(_0x31d6fd,_0x511485,_0x12b894,_0x33f431);return void(_0x351b9f=_0x4014d2);}case'xacro:arg':{const _0x2b086f=_0x3d0f30['getAttribute']('name');return void(_0x5deb74[_0x2b086f]=_0x58261d(_0x3d0f30['getAttribute']('default'),_0x511485,!0x0));}case'xacro:attribute':case'xacro:element':throw new Error('XacroParser:\x20'+_0x10d591+'\x20tags\x20not\x20supported.');default:if(/^xacro:/['test'](_0x10d591)||_0x10d591 in _0x12b894)return Ct(_0x33f431),_0x2c4015(_0x3d0f30,_0x511485,_0x12b894,_0x33f431);{const _0x29a108=_0x3d0f30['cloneNode']();for(let _0x49e3f=0x0,_0x178882=_0x29a108['attributes']['length'];_0x49e3f<_0x178882;_0x49e3f++){const _0x3ddd23=_0x29a108['attributes'][_0x49e3f],_0x372c9f=_0x58261d(_0x3ddd23['value'],_0x511485,!0x0);_0x29a108['setAttribute'](_0x3ddd23['name'],_0x372c9f);}const _0x357f0b=[..._0x3d0f30['childNodes']],_0x350a0a=[];for(let _0x199c1e=0x0,_0x4747c0=_0x357f0b['length'];_0x199c1e<_0x4747c0;_0x199c1e++)await _0x22f5a5(_0x357f0b[_0x199c1e],_0x511485,_0x12b894,_0x350a0a);_0x350a0a['forEach'](_0x2f8a6e=>_0x29a108['appendChild'](_0x2f8a6e)),_0x33f431['push'](_0x29a108);}}}async function _0x10849a(_0x1ab0a4,_0xfdb239,_0xdffbad){const _0x493375=Lt(_0x1ab0a4,'xacro:property');_0x3af47e||_0x493375['push'](...Lt(_0x1ab0a4,'property'));for(const _0x533867 of _0x493375)await _0x22f5a5(_0x533867,_0xfdb239,_0xdffbad);const _0x2b4b33=Lt(_0x1ab0a4,'xacro:macro');_0x3af47e||_0x2b4b33['push'](...Lt(_0x1ab0a4,'macro'));for(const _0x506cf2 of _0x2b4b33)await _0x22f5a5(_0x506cf2,_0xfdb239,_0xdffbad);}async function _0x3232e0(_0x293dc8){try{const _0x5ae70d=await _0x30df58['getFileContents'](_0x293dc8);return new DOMParser()['parseFromString'](_0x5ae70d,'text/xml');}catch(_0x25b151){throw new Error('XacroParser:\x20Could\x20not\x20load\x20included\x20file:\x20'+_0x293dc8);}}async function _0x3ef75f(_0x7438a3,_0x98e632,_0x2d2081=[]){const _0x5c0c62=Lt(_0x7438a3,'xacro:include');_0x3af47e||_0x5c0c62['push'](...Lt(_0x7438a3,'include'));const _0x544049=_0x5c0c62['map'](_0x5fcb9c=>{if(_0x5fcb9c['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x30fc7a=_0x5fcb9c['getAttribute']('filename'),_0x86a847=_0x5fcb9c['getAttribute']('ns')||null,_0x156a72=/^[/\\]/['test'](_0x30fc7a)||/^[a-zA-Z]+:[/\\]/['test'](_0x30fc7a)?_0x30fc7a:_0x98e632+_0x30fc7a;return _0x3232e0(_0x156a72)['then'](_0x2ce413=>{_0x2d2081['push']({'filename':_0x30fc7a,'namespace':_0x86a847,'content':_0x2ce413});return _0x3ef75f(_0x2ce413,At(_0x156a72),_0x2d2081);});});return await Promise['all'](_0x544049),_0x2d2081;}const _0x30df58=this,_0x35effb=this['inOrder'],_0x192dff=this['workingPath']+(this['workingPath']&&!/[\\/]$/['test'](this['workingPath'])?'/':''),_0x3af47e=this['requirePrefix'],_0x1a6642=this['rospackCommands'],_0x417c0f={},_0x3a2ecc={},_0x5deb74={},_0x38fa56={'True':0x1,'False':0x0};_0x38fa56[Tt]=_0x38fa56;const _0x578225=(_0x41bd7d,..._0x8944a)=>{let _0x2aa580;if(_0x1a6642 instanceof Function&&(_0x2aa580=_0x1a6642(_0x41bd7d,..._0x8944a)),null==_0x2aa580&&null!=_0x1a6642&&'function'==typeof _0x1a6642[_0x41bd7d]&&(_0x2aa580=_0x1a6642[_0x41bd7d](..._0x8944a)),null==_0x2aa580&&'arg'===_0x41bd7d){const _0x263fde=_0x8944a[0x0];if(void 0x0===_0x263fde)throw new Error('XacroParser:\x20$(arg)\x20must\x20specify\x20a\x20variable\x20name');if(_0x2aa580=this['arguments'][_0x263fde],null==_0x2aa580&&(_0x2aa580=_0x5deb74[_0x263fde]),null==_0x2aa580)throw new Error('XacroParser:\x20Undefined\x20substitution\x20argument\x20'+_0x263fde);}return _0x2aa580;},_0x43c21c=this['expressionParser'];let _0x5466f2=this['localProperties'],_0x351b9f=_0x192dff,_0x34ec48=new DOMParser()['parseFromString'](_0x35df45,'text/xml');_0x5466f2&&!_0x35effb&&(_0x5466f2=!0x1);let _0x5d5e91=null;return _0x5d5e91=_0x35effb?Promise['resolve']():(async function(){return await _0x10849a(_0x34ec48,_0x38fa56,_0x417c0f),_0x34ec48=Et(_0x34ec48,!0x0),_0x3ef75f(_0x34ec48,_0x192dff)['then'](_0x1105ac=>{_0x1105ac['forEach'](_0xc5c577=>{_0x10849a(_0xc5c577['content'],_0x38fa56,_0x417c0f),_0xc5c577['content']=Et(_0xc5c577['content'],!0x0),_0x3a2ecc[_0xc5c577['filename']]=_0xc5c577['content'];});});}()),await _0x5d5e91,async function(_0x4951f4,_0x425098,_0x1ca5db){const _0x398fd8=_0x4951f4['cloneNode']();for(let _0x17f42c=0x0,_0x2cc10a=_0x4951f4['children']['length'];_0x17f42c<_0x2cc10a;_0x17f42c++){const _0x3093e2=[];await _0x22f5a5(_0x4951f4['children'][_0x17f42c],_0x425098,_0x1ca5db,_0x3093e2);const _0x4640ff=_0x3093e2[0x0];_0x4640ff['removeAttribute']('xmlns:xacro'),_0x398fd8['appendChild'](_0x4640ff);}return _0x398fd8;}(_0x34ec48,_0x38fa56,_0x417c0f);}}class Li{static async['parse'](_0x3f8213,_0x32da4b,_0x398666=null,_0x3faf10=null,_0x3d99bd={}){try{const _0x54bbf3=new Ai();_0x54bbf3['inOrder']=!0x0,_0x54bbf3['requirePrefix']=!0x0,_0x54bbf3['localProperties']=!0x0;const _0x12ccac=_0x32da4b['includes']('/')?_0x32da4b['substring'](0x0,_0x32da4b['lastIndexOf']('/')+0x1):'';_0x54bbf3['workingPath']=_0x12ccac,_0x3f8213=this['injectBooleanConstants'](_0x3f8213);const _0x1d84ac=this['extractXacroArguments'](_0x3f8213);_0x1d84ac['hasOwnProperty']('DEBUG')||(_0x1d84ac['DEBUG']='false'),_0x1d84ac['hasOwnProperty']('SELF_COLLIDE')||(_0x1d84ac['SELF_COLLIDE']='false'),_0x54bbf3['arguments']=_0x1d84ac,_0x398666&&(_0x54bbf3['getFileContents']=async _0xe265aa=>await this['loadFileFromMap'](_0xe265aa,_0x398666,_0x12ccac));const _0x1b3a82=await _0x54bbf3['parse'](_0x3f8213),_0x5df06c=new XMLSerializer();let _0x2d5ac2=_0x5df06c['serializeToString'](_0x1b3a82);_0x2d5ac2=_0x2d5ac2['replace'](/\sxmlns=""/g,'');const _0xd9817f=new DOMParser()['parseFromString'](_0x2d5ac2,'text/xml'),_0xd15fce=_0xd9817f['querySelector']('parsererror');if(_0xd15fce)throw new Error('Generated\x20URDF\x20has\x20invalid\x20XML:\x20'+_0xd15fce['textContent']);_0xd9817f['querySelectorAll']('gazebo')['forEach'](_0x482c86=>{var _0x168140;return null==(_0x168140=_0x482c86['parentNode'])?void 0x0:_0x168140['removeChild'](_0x482c86);});_0xd9817f['querySelectorAll']('transmission')['forEach'](_0x4d2aa5=>{var _0x546fe7;return null==(_0x546fe7=_0x4d2aa5['parentNode'])?void 0x0:_0x546fe7['removeChild'](_0x4d2aa5);}),this['removeEmptyGeometry'](_0xd9817f),this['cleanXMLNodes'](_0xd9817f['documentElement']);const _0x11d55d=_0x5df06c['serializeToString'](_0xd9817f),_0x30db70=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url),_0x14064c=_0x30db70['URDFLoader']||_0x30db70['default']||_0x30db70;return new Promise((_0x19150c,_0x46a2dc)=>{const _0x2876fd=new _0x14064c();_0x2876fd['parseCollision']=!0x0;const _0x574df8=_0x12ccac;if(_0x398666){const _0xf82203=this['extractPackagesFromURDF'](_0x11d55d),_0x3358e0={};_0xf82203['forEach'](_0x1ec49c=>{_0x3358e0[_0x1ec49c]=_0x1ec49c;}),_0x3358e0['']='',_0x2876fd['packages']=_0x3358e0;const _0x480c63=_0x27635a=>{if(_0x27635a['startsWith']('blob:')){const _0x4d9f60=_0x27635a['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x4d9f60||!_0x4d9f60[0x1])return _0x27635a;{const _0x458ef5=_0x4d9f60[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x458ef5))return _0x27635a;_0x27635a=_0x458ef5;}}/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp)$/i['test'](_0x27635a),/\.(dae|stl|obj|gltf|glb)$/i['test'](_0x27635a);let _0xab83dd=_0x27635a;if(_0xab83dd['startsWith']('http://')||_0xab83dd['startsWith']('https://'))try{_0xab83dd=new URL(_0xab83dd)['pathname'],_0xab83dd['startsWith']('/')&&(_0xab83dd=_0xab83dd['substring'](0x1));}catch(_0x566733){}const _0xeb4d0d=bt(_0xab83dd,_0x398666,{'baseDir':_0x574df8});if(_0xeb4d0d){return URL['createObjectURL'](_0xeb4d0d);}return _0x27635a;};_0x2876fd['manager']['setURLModifier'](_0x480c63);const _0x1efded=_0x2876fd['loadMeshCb']||_0x2876fd['defaultMeshLoader']['bind'](_0x2876fd);_0x2876fd['loadMeshCb']=(_0x557ff3,_0x2c794f,_0x2c2346)=>{this['findFileInMapByPath'](_0x557ff3,_0x398666,_0x574df8)['then'](_0xeaea4=>{if(_0xeaea4){const _0x2445db=(_0xeaea4['name']||_0x557ff3)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0xeaea4,_0x2445db,_0x2c794f)['then'](_0x587f16=>{_0x587f16?_0x2c2346(_0x587f16,null):_0x2c2346(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x557ff3));})['catch'](_0x4a9279=>{_0x2c2346(null,_0x4a9279);});}else _0x1efded(_0x557ff3,_0x2c794f,_0x2c2346);})['catch'](_0x4deed6=>{_0x1efded(_0x557ff3,_0x2c794f,_0x2c2346);});};}const _0x57a567=new Blob([_0x11d55d],{'type':'text/xml'}),_0x34bae1=URL['createObjectURL'](_0x57a567);_0x2876fd['load'](_0x34bae1,_0x12c7f7=>{URL['revokeObjectURL'](_0x34bae1);try{const _0x325cba=ut['convert'](_0x12c7f7,_0x11d55d,_0x3d99bd);_0x19150c(_0x325cba);}catch(_0x5639ea){_0x46a2dc(new Error('URDF\x20conversion\x20failed:\x20'+_0x5639ea['message']));}},void 0x0,_0x3a4080=>{URL['revokeObjectURL'](_0x34bae1),_0x46a2dc(new Error('URDF\x20loading\x20failed:\x20'+(_0x3a4080['message']||_0x3a4080)));});});}catch(_0x29ae5){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x29ae5['message']);}}static async['loadFileFromMap'](_0x5d30c1,_0x4c288a,_0x4a49db){let _0xc0c4ae=_0x5d30c1;_0xc0c4ae['startsWith']('/')&&(_0xc0c4ae=_0xc0c4ae['substring'](0x1)),_0xc0c4ae=_0xc0c4ae['replace'](/^\.\//,'');const _0x459192=[_0xc0c4ae,_0x4a49db+_0xc0c4ae,_0x5d30c1,_0x4a49db+_0x5d30c1['replace'](/^\/+/,''),_0xc0c4ae['includes']('/')?_0xc0c4ae['substring'](_0xc0c4ae['indexOf']('/')+0x1):_0xc0c4ae];for(const _0x308770 of _0x459192){const _0x3002ed=_0x4c288a['get'](_0x308770);if(_0x3002ed){return await _0x3002ed['text']();}}const _0x57404d=_0xc0c4ae['split']('/')['pop']();for(const [_0x180439,_0x410c98]of _0x4c288a['entries']()){if(_0x180439['split']('/')['pop']()===_0x57404d){return await _0x410c98['text']();}}throw new Error('Cannot\x20find\x20included\x20file:\x20'+_0x5d30c1);}static['removeEmptyGeometry'](_0x39f805){_0x39f805['querySelectorAll']('geometry')['forEach'](_0x1af7ba=>{if(!_0x1af7ba['children']||0x0===_0x1af7ba['children']['length']){let _0x4f3be7=_0x1af7ba['parentNode'];if(_0x4f3be7){const _0xa02182=_0x4f3be7['parentNode'];_0xa02182&&('visual'!==_0x4f3be7['nodeName']&&'collision'!==_0x4f3be7['nodeName']||_0xa02182['removeChild'](_0x4f3be7));}}});}static['cleanXMLNodes'](_0x189cb3){if(!_0x189cb3||!_0x189cb3['childNodes'])return;const _0x36af23=[];for(let _0x5a9435=0x0;_0x5a9435<_0x189cb3['childNodes']['length'];_0x5a9435++){const _0x46e0a7=_0x189cb3['childNodes'][_0x5a9435];_0x46e0a7['nodeType']===Node['COMMENT_NODE']?_0x36af23['push'](_0x46e0a7):_0x46e0a7['nodeType']===Node['TEXT_NODE']?_0x46e0a7['nodeValue']&&''!==_0x46e0a7['nodeValue']['trim']()||_0x36af23['push'](_0x46e0a7):_0x46e0a7['nodeType']===Node['ELEMENT_NODE']&&this['cleanXMLNodes'](_0x46e0a7);}_0x36af23['forEach'](_0x1b31bf=>{_0x189cb3['removeChild'](_0x1b31bf);});}static['extractPackagesFromURDF'](_0x11a1d5){const _0x572a63=new Set(),_0x54ddb4=/package:\/\/([^\/]+)/g;let _0x1182ef;for(;null!==(_0x1182ef=_0x54ddb4['exec'](_0x11a1d5));)_0x572a63['add'](_0x1182ef[0x1]);return _0x572a63;}static async['findFileInMapByPath'](_0x176c6b,_0x3c881d,_0x44edd1){return bt(_0x176c6b,_0x3c881d,{'baseDir':_0x44edd1});}static async['loadMeshFileAsync'](_0x101f0a,_0x267bc0,_0x189c67){const _0x451d7e=await Ae(()=>import('./three-9c891de0.js'),[],import.meta.url),_0x4671ed=URL['createObjectURL'](_0x101f0a);try{let _0x3df4b5=null;switch(_0x267bc0){case'stl':{const {STLLoader:_0x4ea84b}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x4f313a=new _0x4ea84b(_0x189c67),_0x266b1e=await new Promise((_0xfe7b44,_0x276d73)=>{_0x4f313a['load'](_0x4671ed,_0xfe7b44,void 0x0,_0x276d73);}),_0x150ff8=new _0x451d7e['MeshPhongMaterial']();_0x3df4b5=new _0x451d7e['Mesh'](_0x266b1e,_0x150ff8);break;}case'dae':{const {ColladaLoader:_0x186327}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x3b800f=new _0x186327(_0x189c67);if(_0x3df4b5=(await new Promise((_0x362380,_0x1df08b)=>{_0x3b800f['load'](_0x4671ed,_0x362380,void 0x0,_0x1df08b);}))['scene'],_0x3df4b5&&_0x3df4b5['traverse']){const _0x588a2c=[];_0x3df4b5['traverse'](_0x25df5d=>{_0x25df5d['isLight']&&_0x588a2c['push'](_0x25df5d);}),_0x588a2c['forEach'](_0x13c149=>{_0x13c149['parent']&&_0x13c149['parent']['remove'](_0x13c149);});}break;}case'obj':{const {OBJLoader:_0x3e5fa0}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x13d116=new _0x3e5fa0(_0x189c67);_0x3df4b5=await new Promise((_0x5d0c43,_0x4f2444)=>{_0x13d116['load'](_0x4671ed,_0x5d0c43,void 0x0,_0x4f2444);});break;}case'gltf':case'glb':{const {GLTFLoader:_0x596265}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x262816=new _0x596265(_0x189c67);_0x3df4b5=(await new Promise((_0x22c196,_0x2c01b3)=>{_0x262816['load'](_0x4671ed,_0x22c196,void 0x0,_0x2c01b3);}))['scene'];break;}default:return URL['revokeObjectURL'](_0x4671ed),null;}return URL['revokeObjectURL'](_0x4671ed),_0x3df4b5;}catch(_0x87755f){throw URL['revokeObjectURL'](_0x4671ed),_0x87755f;}}static['injectBooleanConstants'](_0xc6adb1){const _0x30bb4a=_0xc6adb1['match'](/(<robot[^>]*>)/);if(!_0x30bb4a)return _0xc6adb1;const _0xa860a0=_0x30bb4a['index']+_0x30bb4a[0x0]['length'];return _0xc6adb1['substring'](0x0,_0xa860a0)+'\x0a\x20\x20\x20\x20\x3c!--\x20Injected\x20by\x20XacroAdapter:\x20Python-style\x20boolean\x20constants\x20--\x3e\x0a\x20\x20\x20\x20<xacro:property\x20name=\x22True\x22\x20value=\x22True\x22/>\x0a\x20\x20\x20\x20<xacro:property\x20name=\x22False\x22\x20value=\x22False\x22/>\x0a'+_0xc6adb1['substring'](_0xa860a0);}static['extractXacroArguments'](_0x4ce11a){const _0x492743={},_0x320bf1=/<(?:xacro:)?arg\s+name=["']([^"']+)["'](?:\s+default=["']([^"']*)["'])?/g;let _0x31081b;for(;null!==(_0x31081b=_0x320bf1['exec'](_0x4ce11a));){const _0x3457cf=_0x31081b[0x1],_0xf0d30=_0x31081b[0x2]||'false';_0x492743[_0x3457cf]=_0xf0d30;}return _0x492743;}}class Ei{static['detectFileType'](_0x1a8196,_0x5e4a8c){switch(_0x1a8196['toLowerCase']()['split']('.')['pop']()){case'urdf':return'urdf';case'xacro':return'xacro';case'xml':return _0x5e4a8c&&this['isValidRobotMJCF'](_0x5e4a8c)?'mjcf':null;case'usd':case'usda':case'usdc':case'usdz':return'usd';default:return null;}}static['isValidRobotDescriptionXML'](_0x436686){if(!_0x436686||'string'!=typeof _0x436686)return!0x1;const _0x4e573a=_0x436686['trim']();return!(!_0x4e573a['startsWith']('<?xml')&&!_0x4e573a['startsWith']('<'))&&this['isValidRobotMJCF'](_0x4e573a);}static['isValidRobotMJCF'](_0x40db1a){if(!_0x40db1a||'string'!=typeof _0x40db1a)return!0x1;if(!_0x40db1a['includes']('<mujoco'))return!0x1;const _0x291280=_0x40db1a['includes']('<joint'),_0x292770=_0x40db1a['includes']('<actuator');return!(!_0x291280&&!_0x292770);}static async['loadModel'](_0x204712,_0x4974f5,_0x127f79,_0x4c7254=null,_0x59bfd1=null,_0x4f67e5={}){let _0x39179d=null;if(_0x127f79){const _0x5b6a4f=Math['max'](_0x127f79['lastIndexOf']('/'),_0x127f79['lastIndexOf']('\x5c'));_0x5b6a4f>0x0&&(_0x39179d=_0x127f79['substring'](0x0,_0x5b6a4f));}switch(_0x204712){case'urdf':return await this['loadURDF'](_0x4974f5,_0x127f79,_0x4c7254,_0x59bfd1,_0x4f67e5);case'xacro':return await this['loadXacro'](_0x4974f5,_0x127f79,_0x4c7254,_0x59bfd1,_0x4f67e5);case'mjcf':return await this['loadMJCF'](_0x4974f5,_0x4c7254,_0x39179d);case'usd':return await this['loadUSD'](_0x4974f5,_0x4c7254,_0x59bfd1,_0x4f67e5);default:throw new Error('Unsupported\x20file\x20type:\x20'+_0x204712);}}static async['loadURDF'](_0x4ce540,_0xc3b6f6,_0x1045ca=null,_0x54d9f5=null,_0x5ed6d6={}){let _0xf9012c;try{const _0x28711d=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0xf9012c=_0x28711d['URDFLoader']||_0x28711d['default']||_0x28711d;}catch(_0x1afa8e){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x1afa8e['message']);}return new Promise((_0xd913e9,_0x1e3b9c)=>{const _0x3d4584=new _0xf9012c();_0x3d4584['parseCollision']=!0x0;const _0x2942bf=_0xc3b6f6['includes']('/')?_0xc3b6f6['substring'](0x0,_0xc3b6f6['lastIndexOf']('/')+0x1):'';if(_0x1045ca){const _0x2c741e=this['extractPackagesFromURDF'](_0x4ce540),_0x2a07dc={};_0x2c741e['forEach'](_0x38070e=>{_0x2a07dc[_0x38070e]=_0x38070e;}),_0x2a07dc['']='',_0x3d4584['packages']=_0x2a07dc;const _0x147baf=_0x3bca9a=>{if(_0x3bca9a['startsWith']('blob:')){const _0x353fd0=_0x3bca9a['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x353fd0||!_0x353fd0[0x1])return _0x3bca9a;{const _0x30cbbd=_0x353fd0[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x30cbbd))return _0x3bca9a;_0x3bca9a=_0x30cbbd;}}let _0x26964d=_0x3bca9a;if(_0x26964d['startsWith']('http://')||_0x26964d['startsWith']('https://'))try{_0x26964d=new URL(_0x26964d)['pathname'],_0x26964d['startsWith']('/')&&(_0x26964d=_0x26964d['substring'](0x1));}catch(_0x52bdb0){}const _0x4ace7c=bt(_0x26964d,_0x1045ca,{'baseDir':_0x2942bf});if(_0x4ace7c){return URL['createObjectURL'](_0x4ace7c);}return _0x3bca9a;};_0x3d4584['manager']['setURLModifier'](_0x147baf);const _0x41e3a3=_0x3d4584['loadMeshCb']||_0x3d4584['defaultMeshLoader']['bind'](_0x3d4584);_0x3d4584['loadMeshCb']=(_0x23d992,_0x2d01e7,_0x5e7c45)=>{this['findFileInMapByPath'](_0x23d992,_0x1045ca,_0x2942bf)['then'](_0x2d359c=>{if(_0x2d359c){const _0x2a9d70=(_0x2d359c['name']||_0x23d992)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0x2d359c,_0x2a9d70,_0x2d01e7)['then'](_0x1c0eb0=>{_0x1c0eb0?_0x5e7c45(_0x1c0eb0,null):_0x5e7c45(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x23d992));})['catch'](_0x52b86d=>{_0x5e7c45(null,_0x52b86d);});}else _0x41e3a3(_0x23d992,_0x2d01e7,_0x5e7c45);})['catch'](_0x1388e1=>{_0x41e3a3(_0x23d992,_0x2d01e7,_0x5e7c45);});};}const _0x561d7c=new Blob([_0x4ce540],{'type':'text/xml'}),_0x1ff668=URL['createObjectURL'](_0x561d7c);_0x3d4584['load'](_0x1ff668,_0x345db1=>{URL['revokeObjectURL'](_0x1ff668);try{const _0xb8c71a=ut['convert'](_0x345db1,_0x4ce540,_0x5ed6d6);_0xd913e9(_0xb8c71a);}catch(_0x569d97){_0x1e3b9c(new Error('URDF\x20conversion\x20failed:\x20'+_0x569d97['message']));}},void 0x0,_0x114834=>{URL['revokeObjectURL'](_0x1ff668),_0x1e3b9c(new Error('URDF\x20loading\x20failed:\x20'+(_0x114834['message']||_0x114834)));});});}static async['loadXacro'](_0x362ae7,_0x4a2512,_0x553fc8=null,_0x21337c=null,_0x3b476e={}){try{return await Li['parse'](_0x362ae7,_0x4a2512,_0x553fc8,_0x21337c,_0x3b476e);}catch(_0x5cd827){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x5cd827['message']);}}static['extractPackagesFromURDF'](_0x1a1860){const _0x2653f5=new Set(),_0x31b436=/package:\/\/([^\/]+)/g;let _0x393517;for(;null!==(_0x393517=_0x31b436['exec'](_0x1a1860));)_0x2653f5['add'](_0x393517[0x1]);return _0x2653f5;}static async['resolveURDFPath'](_0x576275,_0x5dc179,_0x1794e1,_0x32e34b){const _0x49adca=[];if(_0x5dc179){_0x49adca['push'](_0x5dc179+'/'+_0x576275),_0x49adca['push']('/'+_0x5dc179+'/'+_0x576275);const _0x2d408d=_0x576275['split']('/')['pop']();_0x49adca['push'](_0x5dc179+'/'+_0x2d408d),_0x49adca['push']('/'+_0x5dc179+'/'+_0x2d408d),_0x49adca['push'](_0x5dc179+'/meshes/'+_0x2d408d),_0x49adca['push']('/'+_0x5dc179+'/meshes/'+_0x2d408d),_0x49adca['push'](_0x5dc179+'/urdf/'+_0x2d408d),_0x49adca['push'](_0x5dc179+'/models/'+_0x2d408d);const _0x4e11c6=_0x5dc179['toLowerCase']();for(const [_0x2e077d]of _0x1794e1['entries']()){const _0x2e748c=_0x2e077d['toLowerCase']();if(_0x2e748c['includes'](_0x4e11c6)){const _0x47c8ad=_0x2e748c['indexOf'](_0x4e11c6),_0x4b5786=_0x2e077d['substring'](_0x47c8ad+_0x5dc179['length']),_0x4e03ad=_0x576275['split']('/')['pop']();(_0x4b5786['endsWith'](_0x576275)||_0x4b5786['endsWith']('/'+_0x576275)||_0x4b5786['endsWith'](_0x4e03ad)||_0x4b5786['endsWith']('/'+_0x4e03ad)||_0x4b5786['includes'](_0x4e03ad))&&_0x49adca['push'](_0x2e077d);}}}const _0x4fe66c=_0x32e34b['substring'](0x0,_0x32e34b['lastIndexOf']('/')+0x1);_0x49adca['push'](_0x576275),_0x49adca['push'](_0x4fe66c+_0x576275);const _0x41ba53=_0x576275['split']('/')['pop']();_0x49adca['push'](_0x41ba53);for(const _0x389443 of _0x49adca){let _0x3e6dd5=_0x1794e1['get'](_0x389443);if(_0x3e6dd5)return await _0x3e6dd5['arrayBuffer']();}const _0x1f35ad=this['cleanFilePath'](_0x576275),_0x176b63=Array['from'](_0x1794e1['keys']())['map'](_0x1b0a81=>this['cleanFilePath'](_0x1b0a81));for(const _0xbb702 of _0x176b63){const _0x438f1e=Math['min'](_0xbb702['length'],_0x1f35ad['length']);if(_0x1f35ad['substr'](_0x1f35ad['length']-_0x438f1e)===_0xbb702['substr'](_0xbb702['length']-_0x438f1e)){const _0x560eb5=_0x1794e1['get'](_0xbb702);if(_0x560eb5)return await _0x560eb5['arrayBuffer']();}}return new ArrayBuffer(0x0);}static['cleanFilePath'](_0x22e36e){return _0x22e36e['replace'](/\\/g,'/')['split'](/\//g)['reduce']((_0x538bec,_0x19a324)=>('..'===_0x19a324?_0x538bec['pop']():'.'!==_0x19a324&&_0x538bec['push'](_0x19a324),_0x538bec),[])['join']('/');}static async['findFileInMapByPath'](_0x16a153,_0x1f7e48,_0x35a687){return bt(_0x16a153,_0x1f7e48,{'baseDir':_0x35a687});}static async['findFileInMap'](_0x522a0a,_0xc07938,_0x179295){let _0x5034cf=_0x522a0a['replace'](/^package:\/\//,'');_0x5034cf=_0x5034cf['replace'](/^\.\//,''),_0x5034cf=_0x5034cf['replace'](/^blob:[^\/]+\//,'');const _0x3a736f=[],_0x306387=_0x5034cf['split']('/');if(_0x306387['length']>0x1){const _0xa49b6a=_0x306387[0x0],_0x3ebc6a=_0x306387['slice'](0x1)['join']('/'),_0xc82afe=_0x3ebc6a['split']('/')['pop']();_0x3a736f['push'](_0xa49b6a+'/'+_0x3ebc6a),_0x3a736f['push']('/'+_0xa49b6a+'/'+_0x3ebc6a),_0x3a736f['push'](_0xa49b6a+'/'+_0xc82afe),_0x3a736f['push']('/'+_0xa49b6a+'/'+_0xc82afe),_0x3a736f['push'](_0xa49b6a+'/meshes/'+_0xc82afe),_0x3a736f['push']('/'+_0xa49b6a+'/meshes/'+_0xc82afe);const _0xbf8e30=_0xa49b6a['toLowerCase']();for(const [_0x512997]of _0xc07938['entries']()){const _0x51a7cc=_0x512997['toLowerCase']();if(_0x51a7cc['includes'](_0xbf8e30)){const _0x5eb1fe=_0x51a7cc['indexOf'](_0xbf8e30),_0x31b173=_0x512997['substring'](_0x5eb1fe+_0xa49b6a['length']);(_0x31b173['endsWith'](_0x3ebc6a)||_0x31b173['endsWith']('/'+_0x3ebc6a)||_0x31b173['endsWith'](_0xc82afe)||_0x31b173['endsWith']('/'+_0xc82afe)||_0x31b173['includes'](_0xc82afe))&&_0x3a736f['push'](_0x512997);}}}_0x3a736f['push'](_0x5034cf),_0x3a736f['push']('/'+_0x5034cf),_0x3a736f['push']('./'+_0x5034cf);const _0x4517e6=_0x179295['substring'](0x0,_0x179295['lastIndexOf']('/')+0x1);_0x3a736f['push'](_0x4517e6+_0x5034cf);const _0x547f18=_0x5034cf['split']('/')['pop']();_0x3a736f['push'](_0x547f18);for(const _0x5a9bf1 of _0x3a736f){const _0x55a054=_0xc07938['get'](_0x5a9bf1);if(_0x55a054)return _0x55a054;}const _0x4107ac=this['cleanFilePath'](_0x5034cf)['replace'](/^\.\//,'');for(const [_0x583144,_0x30d599]of _0xc07938['entries']()){if(this['cleanFilePath'](_0x583144)['replace'](/^\.\//,'')===_0x4107ac)return _0x30d599;}const _0x15b320=this['cleanFilePath'](_0x5034cf),_0x2be7cf=Array['from'](_0xc07938['keys']())['map'](_0x3e5632=>this['cleanFilePath'](_0x3e5632));for(const _0x6df966 of _0x2be7cf){const _0x119204=Math['min'](_0x6df966['length'],_0x15b320['length']);if(_0x15b320['substr'](_0x15b320['length']-_0x119204)===_0x6df966['substr'](_0x6df966['length']-_0x119204)){const _0x5a4007=_0xc07938['get'](_0x6df966);if(_0x5a4007)return _0x5a4007;}}return null;}static async['loadMeshFileDirect'](_0x592044,_0x574d11){const _0x5aca92=_0x592044['name']?_0x592044['name']['toLowerCase']()['split']('.')['pop']():_0x574d11['toLowerCase']()['split']('.')['pop'](),_0x503112=URL['createObjectURL'](_0x592044);try{let _0x1c2255=null;switch(_0x5aca92){case'stl':const {STLLoader:_0x2cd7f6}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0xbfe70e=new _0x2cd7f6(),_0x2c95d9=await new Promise((_0x2af1f0,_0x5eebef)=>{_0xbfe70e['load'](_0x503112,_0x2af1f0,void 0x0,_0x5eebef);}),_0x52ffa0=new _0x6d9f8c({'color':0xcccccc});_0x1c2255=new _0x576ce4(_0x2c95d9,_0x52ffa0);break;case'dae':const {ColladaLoader:_0x2fcd76}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x3e24b8=new _0x2fcd76(),_0x3302a1=await new Promise((_0x1d2fc6,_0x25a46a)=>{_0x3e24b8['load'](_0x503112,_0x1d2fc6,void 0x0,_0x25a46a);});if(_0x1c2255=_0x3302a1['scene']||_0x3302a1,_0x1c2255&&_0x1c2255['traverse']){const _0x189da1=[];_0x1c2255['traverse'](_0xb0e2f6=>{_0xb0e2f6['isLight']&&_0x189da1['push'](_0xb0e2f6);}),_0x189da1['forEach'](_0x48cba2=>{_0x48cba2['parent']&&_0x48cba2['parent']['remove'](_0x48cba2);});}break;case'obj':const {OBJLoader:_0x360a65}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x195253=new _0x360a65();_0x1c2255=await new Promise((_0x525f21,_0x236660)=>{_0x195253['load'](_0x503112,_0x525f21,void 0x0,_0x236660);});break;case'gltf':case'glb':const {GLTFLoader:_0x431958}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x116bed=new _0x431958(),_0x1677df=await new Promise((_0x4db24d,_0xc201cd)=>{_0x116bed['load'](_0x503112,_0x4db24d,void 0x0,_0xc201cd);});_0x1c2255=_0x1677df['scene']||_0x1677df;break;default:return URL['revokeObjectURL'](_0x503112),null;}return URL['revokeObjectURL'](_0x503112),_0x1c2255;}catch(_0x20bc8c){return URL['revokeObjectURL'](_0x503112),null;}}static async['loadMeshFileAsync'](_0x5bf946,_0x509372,_0x3971c3){const _0x3528f0=URL['createObjectURL'](_0x5bf946);try{let _0x9c319c=null;switch(_0x509372){case'stl':{const {STLLoader:_0x3cf1c5}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0xbbe5a2=new _0x3cf1c5(_0x3971c3),_0xc2274e=await new Promise((_0x3d7e98,_0x2bb8c3)=>{_0xbbe5a2['load'](_0x3528f0,_0x3d7e98,void 0x0,_0x2bb8c3);}),_0x10e2dc=new _0x5096b9();_0x9c319c=new _0x576ce4(_0xc2274e,_0x10e2dc);break;}case'dae':{const {ColladaLoader:_0x1ad8e5}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x3e218b=new _0x1ad8e5(_0x3971c3);if(_0x9c319c=(await new Promise((_0x52e59d,_0x487f7e)=>{_0x3e218b['load'](_0x3528f0,_0x52e59d,void 0x0,_0x487f7e);}))['scene'],_0x9c319c&&_0x9c319c['traverse']){const _0x5b506c=[];_0x9c319c['traverse'](_0x5d92a8=>{_0x5d92a8['isLight']&&_0x5b506c['push'](_0x5d92a8);}),_0x5b506c['forEach'](_0x56e30b=>{_0x56e30b['parent']&&_0x56e30b['parent']['remove'](_0x56e30b);});}break;}case'obj':{const {OBJLoader:_0x43b5e0}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x55c9b4=new _0x43b5e0(_0x3971c3);_0x9c319c=await new Promise((_0x1f8a61,_0x4394da)=>{_0x55c9b4['load'](_0x3528f0,_0x1f8a61,void 0x0,_0x4394da);});break;}case'gltf':case'glb':{const {GLTFLoader:_0x2f1fdb}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x52b957=new _0x2f1fdb(_0x3971c3);_0x9c319c=(await new Promise((_0x19790a,_0x23882f)=>{_0x52b957['load'](_0x3528f0,_0x19790a,void 0x0,_0x23882f);}))['scene'];break;}default:return URL['revokeObjectURL'](_0x3528f0),null;}return URL['revokeObjectURL'](_0x3528f0),_0x9c319c;}catch(_0x4f0219){throw URL['revokeObjectURL'](_0x3528f0),_0x4f0219;}}static async['loadURDFFromURL'](_0x35807e){let _0x517bad;try{const _0x4993b8=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0x517bad=_0x4993b8['URDFLoader']||_0x4993b8['default']||_0x4993b8;}catch(_0x8c12a6){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x8c12a6['message']);}const _0x4b6049=await fetch(_0x35807e)['then'](_0x3c74e3=>_0x3c74e3['text']());return new Promise((_0x172536,_0x4943cf)=>{const _0xf6b9d5=new _0x517bad();_0xf6b9d5['parseCollision']=!0x0,_0xf6b9d5['load'](_0x35807e,_0x525673=>{try{const _0x4c610a=ut['convert'](_0x525673,_0x4b6049);_0x172536(_0x4c610a);}catch(_0x16bd6f){_0x4943cf(new Error('URDF\x20conversion\x20failed:\x20'+_0x16bd6f['message']));}},void 0x0,_0x40867d=>{_0x4943cf(new Error('URDF\x20loading\x20failed:\x20'+(_0x40867d['message']||_0x40867d)));});});}static async['loadMJCF'](_0x12e1fe,_0x385132=null,_0x1fa7b3=null){try{return await _t['parse'](_0x12e1fe,_0x385132,_0x1fa7b3);}catch(_0x8a44b3){throw new Error('MJCF\x20parsing\x20failed:\x20'+_0x8a44b3['message']+(_0x8a44b3['stack']?'\x0a'+_0x8a44b3['stack']:''));}}static async['loadUSD'](_0x1435dc,_0x42483b=null,_0x484b32=null,_0x210d68={}){try{return await St['parse'](_0x1435dc,_0x42483b,_0x484b32,_0x210d68);}catch(_0x56b364){throw new Error('USD\x20parsing\x20failed:\x20'+_0x56b364['message']);}}static['setJointAngle'](_0x2b904f,_0xfbcabf,_0x2353f5,_0x4182d1=!0x1){const _0x1c6ee0=_0x2b904f['getJoint'](_0xfbcabf);_0x1c6ee0&&(!_0x4182d1&&_0x2b904f['userData']&&_0x2b904f['userData']['ignoreLimits']&&(_0x4182d1=!0x0),!_0x1c6ee0['threeObject']||'function'!=typeof _0x1c6ee0['threeObject']['setJointValue']&&'function'!=typeof _0x1c6ee0['threeObject']['setAngle']?_t['setJointAngle'](_0x1c6ee0,_0x2353f5):ut['setJointAngle'](_0x1c6ee0,_0x2353f5,_0x4182d1),_0x2b904f['threeObject']&&_0x2b904f['threeObject']['updateMatrixWorld'](!0x0));}}class Ci{constructor(_0x5e64f7){this['scene']=_0x5e64f7,this['lights']={},this['groundPlane']=null,this['globalAxes']=null,this['referenceGrid']=null,this['envMap']=null,this['pmremGenerator']=null;}['setupLights'](){this['lights']['ambient']=new _0x2aeed6(0xffffff,0x444444,0.5),this['lights']['ambient']['position']['set'](0x0,0x1,0x0),this['scene']['add'](this['lights']['ambient']),this['lights']['directional']=new _0x2e8213(0xffffff,Math['PI']),this['lights']['directional']['position']['set'](0x4,0xa,0x1),this['lights']['directional']['castShadow']=!0x0,this['lights']['directional']['shadow']['mapSize']['width']=0x800,this['lights']['directional']['shadow']['mapSize']['height']=0x800,this['lights']['directional']['shadow']['camera']['near']=0.1,this['lights']['directional']['shadow']['camera']['far']=0x32,this['lights']['directional']['shadow']['normalBias']=0.001,this['lights']['directional']['shadow']['camera']['left']=-0x5,this['lights']['directional']['shadow']['camera']['right']=0x5,this['lights']['directional']['shadow']['camera']['top']=0x5,this['lights']['directional']['shadow']['camera']['bottom']=-0x5,this['scene']['add'](this['lights']['directional']),this['scene']['add'](this['lights']['directional']['target']),this['lights']['fill']=new _0x2e8213(0xffffff,0.3*Math['PI']),this['lights']['fill']['position']['set'](-0x2,0x2,-0x2),this['lights']['fill']['castShadow']=!0x1,this['scene']['add'](this['lights']['fill']),this['setupEnvironmentMap']();}['setupEnvironmentMap'](_0x21fe49=null){if(_0x21fe49){this['pmremGenerator']||(this['pmremGenerator']=new _0x30369e(_0x21fe49),this['pmremGenerator']['compileEquirectangularShader']());const _0xfeebea=new _0x18553b(),_0x2df15b=new _0x2aeed6(0xffffff,0x444444,0x1);_0xfeebea['add'](_0x2df15b),this['envMap']=this['pmremGenerator']['fromScene'](_0xfeebea,0.04)['texture'],this['envMap']['mapping']=_0x29a1d9,this['scene']['environment']=this['envMap'],this['scene']['background']=this['scene']['background']||new _0x5dc695(0x505050);}else{const _0x58993b=0x100,_0x306e58=new Uint8Array(_0x58993b*_0x58993b*0x4),_0x482bbb=new _0x5dc695(0xffffff);for(let _0xed1b6c=0x0;_0xed1b6c<_0x58993b*_0x58993b;_0xed1b6c++){const _0x203cef=0x4*_0xed1b6c;_0x306e58[_0x203cef]=Math['floor'](0xff*_0x482bbb['r']),_0x306e58[_0x203cef+0x1]=Math['floor'](0xff*_0x482bbb['g']),_0x306e58[_0x203cef+0x2]=Math['floor'](0xff*_0x482bbb['b']),_0x306e58[_0x203cef+0x3]=0xff;}const _0x594319=new _0x102966(_0x306e58,_0x58993b,_0x58993b);_0x594319['needsUpdate']=!0x0;const _0x3ca3ea=new _0xf26ba8([_0x594319,_0x594319,_0x594319,_0x594319,_0x594319,_0x594319]);_0x3ca3ea['needsUpdate']=!0x0,_0x3ca3ea['mapping']=_0x32b810,this['envMap']=_0x3ca3ea,this['scene']['environment']=this['envMap'];}}['initializeEnvironmentMap'](_0x506f8a){_0x506f8a&&!this['envMap']&&this['setupEnvironmentMap'](_0x506f8a);}['regenerateEnvironmentMap'](_0x4228d2,_0x5c1c86=!0x1){var _0x52b1,_0x33d85b;_0x4228d2&&(_0x5c1c86||(null==(_0x52b1=this['pmremGenerator'])||_0x52b1['dispose'](),null==(_0x33d85b=this['envMap'])||_0x33d85b['dispose']()),this['pmremGenerator']=null,this['envMap']=null,this['scene']['environment']=null,this['setupEnvironmentMap'](_0x4228d2));}['getEnvironmentMap'](){return this['envMap'];}['setupGroundPlane'](){const _0x19e2ef=new _0x2459d9(0x28,0x28),_0xbcde09=new _0xa606be({'side':_0x781cf8,'transparent':!0x0,'opacity':0.25});this['groundPlane']=new _0x576ce4(_0x19e2ef,_0xbcde09),this['groundPlane']['rotation']['x']=-Math['PI']/0x2,this['groundPlane']['position']['y']=0x0,this['groundPlane']['receiveShadow']=!0x0,this['groundPlane']['castShadow']=!0x1,this['groundPlane']['visible']=!0x0,this['groundPlane']['scale']['set'](0xa,0xa,0xa),this['groundPlane']['name']='groundPlane',this['scene']['add'](this['groundPlane']),this['createReferenceGrid']();}['createReferenceGrid'](){this['referenceGrid']=new _0x5abcea(0xa,0x14,0xffffff,0xcccccc),this['referenceGrid']['name']='referenceGrid',this['referenceGrid']['position']['y']=0x0,this['referenceGrid']['material']['opacity']=0.7,this['referenceGrid']['material']['transparent']=!0x0,this['referenceGrid']['material']['depthWrite']=!0x1,this['referenceGrid']['renderOrder']=0x1,this['scene']['add'](this['referenceGrid']);}['updateGridColorForTheme'](_0x1614f8){if(this['referenceGrid'])if('light'===_0x1614f8){this['referenceGrid']['material']['color']['setHex'](0x0);const _0x817c29=this['referenceGrid']['geometry']['attributes']['color'];if(_0x817c29){for(let _0x628b00=0x0;_0x628b00<_0x817c29['count'];_0x628b00++)_0x817c29['setXYZ'](_0x628b00,0x0,0x0,0x0);_0x817c29['needsUpdate']=!0x0;}}else{this['referenceGrid']['material']['color']['setHex'](0xffffff);const _0x1691ab=this['referenceGrid']['geometry']['attributes']['color'];if(_0x1691ab){for(let _0x9795e8=0x0;_0x9795e8<_0x1691ab['count'];_0x9795e8++)_0x1691ab['setXYZ'](_0x9795e8,0x1,0x1,0x1);_0x1691ab['needsUpdate']=!0x0;}}}['updateShadowCamera'](_0x12f931){const _0x485624=this['lights']['directional'];if(!_0x485624||!_0x485624['castShadow'])return;const _0x356f1e=_0x12f931['getBoundingSphere'](new _0x4d1928())['radius'],_0x1081a4=_0x485624['shadow']['camera'];_0x1081a4['left']=_0x1081a4['bottom']=-_0x356f1e,_0x1081a4['right']=_0x1081a4['top']=_0x356f1e;const _0x26ffcb=_0x12f931['getCenter'](new _0x4a4464()),_0x1fbd8d=_0x485624['position']['clone']()['sub'](_0x485624['target']['position']);_0x485624['target']['position']['copy'](_0x26ffcb),_0x485624['position']['copy'](_0x26ffcb)['add'](_0x1fbd8d),_0x1081a4['updateProjectionMatrix']();}['updateGroundPosition'](_0x3f870f){this['groundPlane']&&(this['groundPlane']['position']['y']=_0x3f870f),this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x3f870f);}['setGroundVisible'](_0x4c768f){this['groundPlane']&&(this['groundPlane']['visible']=_0x4c768f);}['setShadowEnabled'](_0x2f07ed,_0x35169f){var _0x3e6838;_0x35169f['shadowMap']['enabled']=_0x2f07ed,this['lights']['directional']&&(this['lights']['directional']['castShadow']=_0x2f07ed,!_0x2f07ed&&this['lights']['directional']['shadow']&&(null==(_0x3e6838=this['lights']['directional']['shadow']['map'])||_0x3e6838['dispose'](),this['lights']['directional']['shadow']['map']=null));}['getDirectionalLight'](){return this['lights']['directional'];}}class ji{constructor(_0x8f7796){this['sceneManager']=_0x8f7796,this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']=new Set(),this['showVisual']=!0x0,this['showCollision']=!0x1,this['showShadow']=!0x0,this['showEnhancedLighting']=!0x0;}['extractVisualAndCollision'](_0x2a0588){const _0x37d6fc=0x0===this['visualMeshes']['length'];if(!_0x37d6fc)return this['processNewlyLoadedMeshes'](_0x2a0588);this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],_0x2a0588['threeObject']&&(_0x2a0588['threeObject']['traverse'](_0xff9c29=>{if(_0xff9c29['isMesh']&&_0xff9c29['material']){const _0x1fe43d=Array['isArray'](_0xff9c29['material'])?_0xff9c29['material']:[_0xff9c29['material']],_0x4bd2bf=[];_0x1fe43d['forEach']((_0xadf911,_0x2ea5a4)=>{var _0x2abc7b;if(_0xadf911){if('MeshBasicMaterial'===_0xadf911['type']||'MeshLambertMaterial'===_0xadf911['type']){const _0x515abb=_0xadf911,_0x157ca4=this['showEnhancedLighting'],_0x4c7ba9=null==(_0x2abc7b=this['sceneManager']['environmentManager'])?void 0x0:_0x2abc7b['getEnvironmentMap'](),_0x10254e=new _0x5096b9({'color':_0x515abb['color'],'map':_0x515abb['map'],'transparent':_0x515abb['transparent'],'opacity':_0x515abb['opacity'],'side':_0x515abb['side'],'shininess':_0x157ca4?0x32:0x1e,'specular':_0x157ca4?new _0x5dc695(0.3,0.3,0.3):new _0x5dc695(0x111111),'envMap':_0x4c7ba9||null,'reflectivity':_0x4c7ba9?0.3:0x0});_0x10254e['userData']['originalShininess']=0x1e,_0x10254e['userData']['originalSpecular']=null,_0x10254e['map']&&(_0x10254e['map']['colorSpace']=_0xef5128),_0x4bd2bf['push'](_0x10254e),_0xadf911=_0x10254e;}else _0x4bd2bf['push'](_0xadf911);if(_0xadf911&&(_0xadf911['isMeshPhongMaterial']||_0xadf911['isMeshStandardMaterial'])){if(void 0x0===_0xadf911['userData']['originalShininess'])if(_0xadf911['userData']['originalShininess']=void 0x0!==_0xadf911['shininess']?_0xadf911['shininess']:0x1e,_0xadf911['specular'])if(_0xadf911['specular']['isColor']){const _0x164d11=_0xadf911['specular'];_0x164d11['r']<0.1&&_0x164d11['g']<0.1&&_0x164d11['b']<0.1?_0xadf911['userData']['originalSpecular']=null:_0xadf911['userData']['originalSpecular']=_0x164d11['clone']();}else'number'==typeof _0xadf911['specular']?0x111111===_0xadf911['specular']||_0xadf911['specular']<0x111111?_0xadf911['userData']['originalSpecular']=null:_0xadf911['userData']['originalSpecular']=new _0x5dc695(_0xadf911['specular']):_0xadf911['userData']['originalSpecular']=null;else _0xadf911['userData']['originalSpecular']=null;this['showEnhancedLighting']&&((void 0x0===_0xadf911['shininess']||_0xadf911['shininess']<0x32)&&(_0xadf911['shininess']=0x32),(!_0xadf911['specular']||_0xadf911['specular']['isColor']&&_0xadf911['specular']['r']<0.2||'number'==typeof _0xadf911['specular']&&_0xadf911['specular']<0x333333)&&(_0xadf911['specular']=new _0x5dc695(0.3,0.3,0.3)),_0xadf911['needsUpdate']=!0x0);}}else _0x4bd2bf['push'](null);}),Array['isArray'](_0xff9c29['material'])?_0xff9c29['material']=_0x4bd2bf:0x1===_0x4bd2bf['length']&&_0x4bd2bf[0x0]&&(_0xff9c29['material']=_0x4bd2bf[0x0]);}}),_0x37d6fc&&_0x2a0588['threeObject']['traverse'](_0x1ab078=>{_0x1ab078['isURDFCollider']&&(this['colliders']['push'](_0x1ab078),_0x1ab078['visible']=this['showCollision']);}),_0x37d6fc&&this['colliders']['forEach'](_0x473ad6=>{_0x473ad6['traverse'](_0xa068ef=>{_0xa068ef['isMesh']&&(_0xa068ef['userData']['originalMaterial']||(_0xa068ef['userData']['originalMaterial']=_0xa068ef['material']),_0xa068ef['material']=new _0x5096b9({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0xa068ef['castShadow']=!0x1,_0xa068ef['receiveShadow']=!0x1,_0xa068ef['raycast']=()=>{},this['collisionMeshes']['push'](_0xa068ef));});}),_0x2a0588['threeObject']['traverse'](_0x5ab124=>{if(_0x5ab124['isMesh']||'Mesh'===_0x5ab124['type']){let _0x1d9f60=!0x1,_0x57e8cc=_0x5ab124;for(;_0x57e8cc;){if(_0x57e8cc['isURDFCollider']){_0x1d9f60=!0x0;break;}_0x57e8cc=_0x57e8cc['parent'];}_0x1d9f60||(_0x5ab124['castShadow']=this['showShadow'],_0x5ab124['receiveShadow']=this['showShadow'],_0x5ab124['visible']=this['showVisual'],this['visualMeshes']['push'](_0x5ab124));}}));}['processNewlyLoadedMeshes'](_0x1496de){_0x1496de['threeObject']&&(_0x1496de['threeObject']['traverse'](_0x35fbd9=>{if(_0x35fbd9['isMesh']&&_0x35fbd9['material']){let _0x3cd50d=!0x1,_0x297f2d=_0x35fbd9;for(;_0x297f2d;){if(_0x297f2d['isURDFCollider']){_0x3cd50d=!0x0;break;}_0x297f2d=_0x297f2d['parent'];}if(_0x3cd50d)return;const _0x129ce7=Array['isArray'](_0x35fbd9['material'])?_0x35fbd9['material']:[_0x35fbd9['material']],_0x147a1f=[];_0x129ce7['forEach']((_0x2462bc,_0x4b70fc)=>{var _0xbc5da0,_0x5c7922;if(_0x2462bc){if('MeshBasicMaterial'===_0x2462bc['type']||'MeshLambertMaterial'===_0x2462bc['type']){const _0x4bdba9=_0x2462bc,_0x25322e=this['showEnhancedLighting'],_0x3210a3=null==(_0xbc5da0=this['sceneManager']['environmentManager'])?void 0x0:_0xbc5da0['getEnvironmentMap'](),_0xac61b6=new _0x5096b9({'color':_0x4bdba9['color'],'map':_0x4bdba9['map'],'transparent':_0x4bdba9['transparent'],'opacity':_0x4bdba9['opacity'],'side':_0x4bdba9['side'],'shininess':_0x25322e?0x32:0x1e,'specular':_0x25322e?new _0x5dc695(0.3,0.3,0.3):new _0x5dc695(0x111111),'envMap':_0x3210a3||null,'reflectivity':_0x3210a3?0.3:0x0});_0xac61b6['userData']['originalShininess']=0x1e,_0xac61b6['userData']['originalSpecular']=null,_0xac61b6['map']&&(_0xac61b6['map']['colorSpace']=_0xef5128),_0x147a1f['push'](_0xac61b6),_0x2462bc=_0xac61b6;}else _0x147a1f['push'](_0x2462bc);if(_0x2462bc&&(_0x2462bc['isMeshPhongMaterial']||_0x2462bc['isMeshStandardMaterial'])){if(void 0x0===_0x2462bc['userData']['originalShininess'])if(_0x2462bc['userData']['originalShininess']=void 0x0!==_0x2462bc['shininess']?_0x2462bc['shininess']:0x1e,_0x2462bc['specular'])if(_0x2462bc['specular']['isColor']){const _0x47d926=_0x2462bc['specular'];_0x47d926['r']<0.1&&_0x47d926['g']<0.1&&_0x47d926['b']<0.1?_0x2462bc['userData']['originalSpecular']=null:_0x2462bc['userData']['originalSpecular']=_0x47d926['clone']();}else'number'==typeof _0x2462bc['specular']?0x111111===_0x2462bc['specular']||_0x2462bc['specular']<0x111111?_0x2462bc['userData']['originalSpecular']=null:_0x2462bc['userData']['originalSpecular']=new _0x5dc695(_0x2462bc['specular']):_0x2462bc['userData']['originalSpecular']=null;else _0x2462bc['userData']['originalSpecular']=null;const _0x412f5c=null==(_0x5c7922=this['sceneManager']['environmentManager'])?void 0x0:_0x5c7922['getEnvironmentMap']();_0x412f5c&&!_0x2462bc['envMap']&&(_0x2462bc['envMap']=_0x412f5c,void 0x0===_0x2462bc['reflectivity']&&(_0x2462bc['reflectivity']=0.3),_0x2462bc['needsUpdate']=!0x0),this['showEnhancedLighting']&&((void 0x0===_0x2462bc['shininess']||_0x2462bc['shininess']<0x32)&&(_0x2462bc['shininess']=0x32),(!_0x2462bc['specular']||_0x2462bc['specular']['isColor']&&_0x2462bc['specular']['r']<0.2||'number'==typeof _0x2462bc['specular']&&_0x2462bc['specular']<0x333333)&&(_0x2462bc['specular']=new _0x5dc695(0.3,0.3,0.3)),_0x2462bc['needsUpdate']=!0x0);}}else _0x147a1f['push'](null);}),Array['isArray'](_0x35fbd9['material'])?_0x35fbd9['material']=_0x147a1f:0x1===_0x147a1f['length']&&_0x147a1f[0x0]&&(_0x35fbd9['material']=_0x147a1f[0x0]);}}),_0x1496de['threeObject']['traverse'](_0xe2980e=>{if((_0xe2980e['isMesh']||'Mesh'===_0xe2980e['type'])&&!this['visualMeshes']['includes'](_0xe2980e)&&!this['collisionMeshes']['includes'](_0xe2980e)){let _0x29f1c9=!0x1,_0x3c1aac=_0xe2980e;for(;_0x3c1aac;){if(_0x3c1aac['isURDFCollider']){_0x29f1c9=!0x0;break;}_0x3c1aac=_0x3c1aac['parent'];}_0x29f1c9?(_0xe2980e['userData']['originalMaterial']||(_0xe2980e['userData']['originalMaterial']=_0xe2980e['material']),_0xe2980e['material']=new _0x5096b9({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0xe2980e['castShadow']=!0x1,_0xe2980e['receiveShadow']=!0x1,_0xe2980e['raycast']=()=>{},_0xe2980e['visible']=this['showCollision'],this['collisionMeshes']['push'](_0xe2980e)):(_0xe2980e['castShadow']=this['showShadow'],_0xe2980e['receiveShadow']=this['showShadow'],_0xe2980e['visible']=this['showVisual'],this['visualMeshes']['push'](_0xe2980e));}}));}['toggleVisual'](_0x43c7ca,_0x5a73f7){this['showVisual']=_0x43c7ca,_0x5a73f7&&_0x5a73f7['links']&&_0x5a73f7['links']['forEach']((_0x41274a,_0x5606f9)=>{if(_0x41274a['threeObject']){const _0x38796a=_0x43c7ca&&!this['hiddenLinks']['has'](_0x5606f9);this['setLinkVisibility'](_0x41274a['threeObject'],_0x38796a,_0x5a73f7);}});}['toggleCollision'](_0x38b89b){this['showCollision']=_0x38b89b,this['colliders']&&this['colliders']['forEach'](_0x56ce63=>{_0x56ce63['visible']=_0x38b89b;}),this['collisionMeshes']['forEach'](_0x549e6d=>{_0x549e6d['visible']=_0x38b89b;});}['toggleShadow'](_0x220504,_0x3fc9fb,_0x52c971){var _0x53f0fe;this['showShadow']=_0x220504,_0x3fc9fb['shadowMap']['enabled']=_0x220504,_0x52c971&&(_0x52c971['castShadow']=_0x220504),this['visualMeshes']['forEach'](_0x38f417=>{_0x38f417['castShadow']=_0x220504,_0x38f417['receiveShadow']=_0x220504;}),!_0x220504&&_0x52c971&&_0x52c971['shadow']&&(null==(_0x53f0fe=_0x52c971['shadow']['map'])||_0x53f0fe['dispose'](),_0x52c971['shadow']['map']=null);}['toggleEnhancedLighting'](_0x5c15d7){var _0x3bee47;this['showEnhancedLighting']=_0x5c15d7,this['sceneManager']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&this['sceneManager']['currentModel']['threeObject']['traverse'](_0x104e99=>{if(_0x104e99['isMesh']&&_0x104e99['material']&&!this['collisionMeshes']['includes'](_0x104e99)){const _0x3916e9=Array['isArray'](_0x104e99['material'])?_0x104e99['material']:[_0x104e99['material']];_0x3916e9['forEach']((_0x21921d,_0x10eb3e)=>{if(_0x21921d){if('MeshBasicMaterial'===_0x21921d['type']||'MeshLambertMaterial'===_0x21921d['type']){const _0x9c63d5=_0x21921d,_0xafe323=new _0x5096b9({'color':_0x9c63d5['color'],'map':_0x9c63d5['map'],'transparent':_0x9c63d5['transparent'],'opacity':_0x9c63d5['opacity'],'side':_0x9c63d5['side'],'shininess':_0x5c15d7?0x32:0x1e,'specular':_0x5c15d7?new _0x5dc695(0.3,0.3,0.3):new _0x5dc695(0x111111)});_0xafe323['userData']['originalShininess']=0x1e,_0xafe323['userData']['originalSpecular']=null,_0xafe323['map']&&(_0xafe323['map']['colorSpace']=_0xef5128),_0x3916e9[_0x10eb3e]=_0xafe323,_0x21921d=_0xafe323;}if(_0x21921d&&(_0x21921d['isMeshPhongMaterial']||_0x21921d['isMeshStandardMaterial'])){if(void 0x0===_0x21921d['userData']['originalShininess'])if(_0x21921d['userData']['originalShininess']=void 0x0!==_0x21921d['shininess']?_0x21921d['shininess']:0x1e,_0x21921d['specular'])if(_0x21921d['specular']['isColor']){const _0x1cc306=_0x21921d['specular'];_0x1cc306['r']<0.1&&_0x1cc306['g']<0.1&&_0x1cc306['b']<0.1?_0x21921d['userData']['originalSpecular']=null:_0x21921d['userData']['originalSpecular']=_0x1cc306['clone']();}else'number'==typeof _0x21921d['specular']?0x111111===_0x21921d['specular']||_0x21921d['specular']<0x111111?_0x21921d['userData']['originalSpecular']=null:_0x21921d['userData']['originalSpecular']=new _0x5dc695(_0x21921d['specular']):_0x21921d['userData']['originalSpecular']=null;else _0x21921d['userData']['originalSpecular']=null;if(_0x5c15d7)_0x21921d['shininess']=0x32,(!_0x21921d['specular']||_0x21921d['specular']['isColor']&&_0x21921d['specular']['r']<0.2||'number'==typeof _0x21921d['specular']&&_0x21921d['specular']<0x333333)&&(_0x21921d['specular']=new _0x5dc695(0.3,0.3,0.3));else if(void 0x0!==_0x21921d['userData']['originalShininess']&&(_0x21921d['shininess']=_0x21921d['userData']['originalShininess']),null===_0x21921d['userData']['originalSpecular'])_0x21921d['specular']=new _0x5dc695(0x111111);else if(_0x21921d['userData']['originalSpecular']){const _0x5d4ff8=_0x21921d['userData']['originalSpecular'];_0x5d4ff8['isColor']?_0x21921d['specular']=_0x5d4ff8['clone']():_0x21921d['specular']=_0x5d4ff8;}_0x21921d['needsUpdate']=!0x0;}}}),Array['isArray'](_0x104e99['material'])?(_0x104e99['material']=_0x3916e9,_0x3916e9['forEach'](_0x5d5c39=>{_0x5d5c39&&(_0x5d5c39['needsUpdate']=!0x0);})):0x1===_0x3916e9['length']&&(_0x104e99['material']=_0x3916e9[0x0],_0x104e99['material']&&(_0x104e99['material']['needsUpdate']=!0x0));}}),this['visualMeshes']['forEach'](_0x1a65ef=>{if(_0x1a65ef['material']){const _0x12ee40=Array['isArray'](_0x1a65ef['material'])?_0x1a65ef['material']:[_0x1a65ef['material']];_0x12ee40['forEach']((_0x3d56de,_0x281ed0)=>{var _0x5e98be;if(_0x3d56de){if('MeshBasicMaterial'===_0x3d56de['type']||'MeshLambertMaterial'===_0x3d56de['type']){const _0x41bedc=_0x3d56de,_0x2b095e=_0x5c15d7,_0x46c32=null==(_0x5e98be=this['sceneManager']['environmentManager'])?void 0x0:_0x5e98be['getEnvironmentMap'](),_0x5664f6=new _0x5096b9({'color':_0x41bedc['color'],'map':_0x41bedc['map'],'transparent':_0x41bedc['transparent'],'opacity':_0x41bedc['opacity'],'side':_0x41bedc['side'],'shininess':_0x2b095e?0x32:0x1e,'specular':_0x2b095e?new _0x5dc695(0.3,0.3,0.3):new _0x5dc695(0x111111),'envMap':_0x46c32||null,'reflectivity':_0x46c32?0.3:0x0});_0x5664f6['userData']['originalShininess']=0x1e,_0x5664f6['userData']['originalSpecular']=null,_0x5664f6['map']&&(_0x5664f6['map']['colorSpace']=_0xef5128),_0x12ee40[_0x281ed0]=_0x5664f6,_0x3d56de=_0x5664f6;}if(_0x3d56de&&(_0x3d56de['isMeshPhongMaterial']||_0x3d56de['isMeshStandardMaterial'])){if(void 0x0===_0x3d56de['userData']['originalShininess'])if(_0x3d56de['userData']['originalShininess']=void 0x0!==_0x3d56de['shininess']?_0x3d56de['shininess']:0x1e,_0x3d56de['specular'])if(_0x3d56de['specular']['isColor']){const _0x26e192=_0x3d56de['specular'];_0x26e192['r']<0.1&&_0x26e192['g']<0.1&&_0x26e192['b']<0.1?_0x3d56de['userData']['originalSpecular']=null:_0x3d56de['userData']['originalSpecular']=_0x26e192['clone']();}else'number'==typeof _0x3d56de['specular']?0x111111===_0x3d56de['specular']||_0x3d56de['specular']<0x111111?_0x3d56de['userData']['originalSpecular']=null:_0x3d56de['userData']['originalSpecular']=new _0x5dc695(_0x3d56de['specular']):_0x3d56de['userData']['originalSpecular']=null;else _0x3d56de['userData']['originalSpecular']=null;if(_0x5c15d7)_0x3d56de['shininess']=0x32,(!_0x3d56de['specular']||_0x3d56de['specular']['isColor']&&_0x3d56de['specular']['r']<0.2||'number'==typeof _0x3d56de['specular']&&_0x3d56de['specular']<0x333333)&&(_0x3d56de['specular']=new _0x5dc695(0.3,0.3,0.3));else if(void 0x0!==_0x3d56de['userData']['originalShininess']&&(_0x3d56de['shininess']=_0x3d56de['userData']['originalShininess']),null===_0x3d56de['userData']['originalSpecular'])_0x3d56de['specular']=new _0x5dc695(0x111111);else if(_0x3d56de['userData']['originalSpecular']){const _0x4729f1=_0x3d56de['userData']['originalSpecular'];_0x4729f1['isColor']?_0x3d56de['specular']=_0x4729f1['clone']():_0x3d56de['specular']=_0x4729f1;}_0x3d56de['needsUpdate']=!0x0;}}}),Array['isArray'](_0x1a65ef['material'])?(_0x1a65ef['material']=_0x12ee40,_0x12ee40['forEach'](_0x35c965=>{_0x35c965&&(_0x35c965['needsUpdate']=!0x0);})):0x1===_0x12ee40['length']&&(_0x1a65ef['material']=_0x12ee40[0x0],_0x1a65ef['material']&&(_0x1a65ef['material']['needsUpdate']=!0x0));}});const _0x4c79ef=null==(_0x3bee47=window['app'])?void 0x0:_0x3bee47['mujocoSimulationManager'];_0x4c79ef&&_0x4c79ef['mujocoRoot']&&_0x4c79ef['mujocoRoot']['traverse'](_0x576def=>{if(_0x576def['isMesh']&&_0x576def['material']){(Array['isArray'](_0x576def['material'])?_0x576def['material']:[_0x576def['material']])['forEach'](_0x33cae2=>{if(_0x33cae2['isMeshPhongMaterial']||_0x33cae2['isMeshStandardMaterial']){if(void 0x0===_0x33cae2['userData']['originalShininess'])if(_0x33cae2['userData']['originalShininess']=void 0x0!==_0x33cae2['shininess']?_0x33cae2['shininess']:0x1e,_0x33cae2['specular'])if(_0x33cae2['specular']['isColor']){const _0x569b23=_0x33cae2['specular'];_0x569b23['r']<0.1&&_0x569b23['g']<0.1&&_0x569b23['b']<0.1?_0x33cae2['userData']['originalSpecular']=null:_0x33cae2['userData']['originalSpecular']=_0x569b23['clone']();}else _0x33cae2['userData']['originalSpecular']=null;else _0x33cae2['userData']['originalSpecular']=null;if(_0x5c15d7)_0x33cae2['shininess']=0x32,(!_0x33cae2['specular']||_0x33cae2['specular']['isColor']&&_0x33cae2['specular']['r']<0.2||'number'==typeof _0x33cae2['specular']&&_0x33cae2['specular']<0x333333)&&(_0x33cae2['specular']=new _0x5dc695(0.3,0.3,0.3));else if(void 0x0!==_0x33cae2['userData']['originalShininess']&&(_0x33cae2['shininess']=_0x33cae2['userData']['originalShininess']),null===_0x33cae2['userData']['originalSpecular'])_0x33cae2['specular']=new _0x5dc695(0x111111);else if(_0x33cae2['userData']['originalSpecular']){const _0x445180=_0x33cae2['userData']['originalSpecular'];_0x445180['isColor']?_0x33cae2['specular']=_0x445180['clone']():_0x33cae2['specular']=_0x445180;}_0x33cae2['needsUpdate']=!0x0;}});}});}['toggleLinkVisibility'](_0x5afd7f,_0x11ccc4){if(!_0x11ccc4||!_0x11ccc4['links'])return!0x1;const _0x186a69=_0x11ccc4['links']['get'](_0x5afd7f);if(!_0x186a69||!_0x186a69['threeObject'])return!0x1;const _0x71f469=this['hiddenLinks']['has'](_0x5afd7f);_0x71f469?this['hiddenLinks']['delete'](_0x5afd7f):this['hiddenLinks']['add'](_0x5afd7f);const _0x728be5=!!_0x71f469;return this['setLinkVisibility'](_0x186a69['threeObject'],_0x728be5,_0x11ccc4),_0x728be5;}['isLinkHidden'](_0x42534b){return this['hiddenLinks']['has'](_0x42534b);}['setLinkVisibility'](_0x164562,_0x3cd386,_0x2dc1bb){const _0x7cba4a=(_0x2d990e,_0x23069e=!0x1)=>{var _0x2143da,_0x18ae95,_0x232405;if(_0x23069e||'URDFLink'!==_0x2d990e['type']&&!_0x2d990e['isURDFLink']){if(_0x2d990e['isURDFJoint']||'URDFJoint'===_0x2d990e['type']){const _0x3a92f5=_0x2d990e['name'];let _0x431a54=!0x1;if(_0x3a92f5&&(null==_0x2dc1bb?void 0x0:_0x2dc1bb['joints'])&&_0x2dc1bb['joints']['has'](_0x3a92f5)){_0x431a54='fixed'===_0x2dc1bb['joints']['get'](_0x3a92f5)['type'];}if(_0x431a54){for(const _0x54bef3 of _0x2d990e['children'])_0x7cba4a(_0x54bef3,!0x1);return;}return;}if(!(this['isAuxiliaryVisualization'](_0x2d990e)||(null==(_0x2143da=_0x2d990e['userData'])?void 0x0:_0x2143da['isCenterOfMass'])||(null==(_0x18ae95=_0x2d990e['userData'])?void 0x0:_0x18ae95['isInertiaBox'])||_0x2d990e['name']&&_0x2d990e['name']['endsWith']('_axes'))){if('Mesh'===_0x2d990e['type']||_0x2d990e['isMesh']){let _0x19fe52=!0x1,_0x1980fa=_0x2d990e;for(;_0x1980fa;){if(_0x1980fa['isURDFCollider']){_0x19fe52=!0x0;break;}_0x1980fa=_0x1980fa['parent'];}if(_0x19fe52||(null==(_0x232405=_0x2d990e['userData'])?void 0x0:_0x232405['isCollision']))return;_0x2d990e['visible']=_0x3cd386&&this['showVisual'];}for(const _0x3ecb06 of _0x2d990e['children'])_0x7cba4a(_0x3ecb06,!0x1);}}};_0x7cba4a(_0x164562,!0x0);}['isAuxiliaryVisualization'](_0x41c08d){var _0x45bd7f,_0x5903a1,_0x1dccb5;return!!(null==(_0x45bd7f=_0x41c08d['userData'])?void 0x0:_0x45bd7f['isInertiaBox'])||(!!(null==(_0x5903a1=_0x41c08d['userData'])?void 0x0:_0x5903a1['isCOMMarker'])||!!(null==(_0x1dccb5=_0x41c08d['userData'])?void 0x0:_0x1dccb5['isCollision']));}['updateVisualTransparency'](_0x229dbc,_0x235e08,_0x55b624,_0x404631){if(_0x404631)return;const _0xc9ce12=_0x229dbc||_0x235e08||_0x55b624;this['visualMeshes']['forEach']((_0x16947c,_0x5abb85)=>{ji['setMeshTransparency'](_0x16947c,_0xc9ce12,_0x5abb85);});}static['setMeshTransparency'](_0x541506,_0x4c7e4f,_0x20ac8d=-0x1){if(!_0x541506['material'])return;(Array['isArray'](_0x541506['material'])?_0x541506['material']:[_0x541506['material']])['forEach'](_0x47c811=>{void 0x0===_0x47c811['userData']['originalOpacity']&&(_0x47c811['userData']['originalOpacity']=void 0x0!==_0x47c811['opacity']?_0x47c811['opacity']:0x1,_0x47c811['userData']['originalTransparent']=_0x47c811['transparent']||!0x1),_0x4c7e4f?(_0x47c811['transparent']=!0x0,_0x47c811['opacity']=0.5,_0x47c811['needsUpdate']=!0x0):void 0x0!==_0x47c811['userData']['originalOpacity']&&(_0x47c811['opacity']=_0x47c811['userData']['originalOpacity'],_0x47c811['transparent']=_0x47c811['userData']['originalTransparent'],_0x47c811['needsUpdate']=!0x0);});}['clear'](){this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']['clear']();}}class ki{constructor(_0x4cfab2){this['sceneManager']=_0x4cfab2,this['comMarkers']=[],this['inertiaEllipsoids']=[],this['showCOM']=!0x1,this['showInertia']=!0x1;}static['createCOMGeometry'](_0x1577c2){const _0xb08bf8=new _0x2026e8(),_0x6c5fa1=new _0x1aacc9({'color':0xffffff,'side':_0x781cf8,'depthTest':!0x0,'depthWrite':!0x0}),_0x44126f=new _0x1aacc9({'color':0x0,'side':_0x781cf8,'depthTest':!0x0,'depthWrite':!0x0});return[{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x6c5fa1},{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x44126f},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x44126f},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x6c5fa1},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x6c5fa1},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x44126f},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x44126f},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x6c5fa1}]['forEach'](_0x5ef2ee=>{const _0x34d89b=new _0x1490e0(_0x1577c2,0x10,0x10,_0x5ef2ee['phiStart'],_0x5ef2ee['phiLength'],_0x5ef2ee['thetaStart'],_0x5ef2ee['thetaLength']),_0x12d8f9=new _0x576ce4(_0x34d89b,_0x5ef2ee['material']);_0x12d8f9['castShadow']=!0x1,_0x12d8f9['receiveShadow']=!0x1,_0xb08bf8['add'](_0x12d8f9);}),_0xb08bf8;}['extractInertialProperties'](_0x4e8ba0){this['comMarkers']['forEach'](_0x59e830=>{_0x59e830['parent']&&_0x59e830['parent']['remove'](_0x59e830);}),this['inertiaEllipsoids']['forEach'](_0x212ea2=>{_0x212ea2['parent']&&_0x212ea2['parent']['remove'](_0x212ea2);}),this['comMarkers']=[],this['inertiaEllipsoids']=[],_0x4e8ba0['links']&&_0x4e8ba0['links']['forEach']((_0x12f740,_0x462d33)=>{if(!_0x12f740['inertial'])return;const _0x37c92e=_0x12f740['inertial'];let _0x1cdbc5;try{_0x1cdbc5=_0x37c92e['origin']&&_0x37c92e['origin']['xyz']?Ue['xyzToVector3'](_0x37c92e['origin']['xyz']):_0x37c92e['origin']?new _0x4a4464(_0x37c92e['origin'][0x0]||0x0,_0x37c92e['origin'][0x1]||0x0,_0x37c92e['origin'][0x2]||0x0):new _0x4a4464(0x0,0x0,0x0);}catch(_0x1a6a5e){_0x1cdbc5=new _0x4a4464(0x0,0x0,0x0);}this['showCOM']&&void 0x0!==_0x37c92e['mass']&&_0x37c92e['mass']>0x0&&this['createCOMMarker'](_0x4e8ba0,_0x12f740,_0x1cdbc5),this['showInertia']&&(void 0x0!==_0x37c92e['ixx']||_0x37c92e['inertia'])&&this['createInertiaEllipsoid'](_0x4e8ba0,_0x12f740,_0x1cdbc5,_0x37c92e);});}['createCOMMarker'](_0x261378,_0x2d3751,_0x2b8742){const _0x4185d3=this['findLinkObject'](_0x261378['threeObject'],_0x2d3751['name']);if(!_0x4185d3)return;const _0xeae59f=new _0x2026e8(),_0x3ae149=0.02,_0x95dfc6=0x10,_0x58a221=new _0x1aacc9({'color':0xffffff,'side':_0x781cf8,'depthTest':!0x0,'depthWrite':!0x0}),_0x2e4a24=new _0x1aacc9({'color':0x0,'side':_0x781cf8,'depthTest':!0x0,'depthWrite':!0x0}),_0x267adf=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,0x0,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x565b8b=new _0x576ce4(_0x267adf,_0x58a221),_0x2277f4=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,0x0,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x415388=new _0x576ce4(_0x2277f4,_0x2e4a24),_0x1aed08=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,Math['PI']/0x2,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x194a0e=new _0x576ce4(_0x1aed08,_0x2e4a24),_0x381781=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x14b51b=new _0x576ce4(_0x381781,_0x58a221),_0x2237cd=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0x114ab5=new _0x576ce4(_0x2237cd,_0x58a221),_0x18be44=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x5dcf2d=new _0x576ce4(_0x18be44,_0x2e4a24),_0x48b34e=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,1.5*Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0x478c9d=new _0x576ce4(_0x48b34e,_0x2e4a24),_0x4c9221=new _0x1490e0(_0x3ae149,_0x95dfc6,_0x95dfc6,1.5*Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x439b70=new _0x576ce4(_0x4c9221,_0x58a221);_0xeae59f['add'](_0x565b8b),_0xeae59f['add'](_0x415388),_0xeae59f['add'](_0x194a0e),_0xeae59f['add'](_0x14b51b),_0xeae59f['add'](_0x114ab5),_0xeae59f['add'](_0x5dcf2d),_0xeae59f['add'](_0x478c9d),_0xeae59f['add'](_0x439b70),_0xeae59f['userData']['isCenterOfMass']=!0x0,_0xeae59f['position']['copy'](_0x2b8742),_0xeae59f['visible']=this['showCOM'],_0x4185d3['add'](_0xeae59f),this['comMarkers']['push'](_0xeae59f);}['createInertiaEllipsoid'](_0x3f3077,_0x4074f4,_0x54b1fa,_0x5812ba){let _0x7f0cb1;_0x7f0cb1=_0x5812ba['diagonalInertia']?{'ixx':_0x5812ba['diagonalInertia']['ixx'],'iyy':_0x5812ba['diagonalInertia']['iyy'],'izz':_0x5812ba['diagonalInertia']['izz'],'ixy':0x0,'ixz':0x0,'iyz':0x0,'mass':_0x5812ba['mass']}:_0x5812ba;const _0x42b747=Ue['computeInertiaBox'](_0x7f0cb1);if(!_0x42b747)return;const _0x322598=Ue['createInertiaBoxGeometry'](_0x42b747['width'],_0x42b747['height'],_0x42b747['depth']),_0x1b1cb6=new _0x5096b9({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0x4a9eff,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x4e2e2d=new _0x576ce4(_0x322598,_0x1b1cb6);if(_0x4e2e2d['position']['copy'](_0x54b1fa),_0x5812ba['origin']&&_0x5812ba['origin']['quat']){const _0x1d828c=_0x5812ba['origin']['quat'],_0x550e3d=new _0x446862(_0x1d828c['x'],_0x1d828c['y'],_0x1d828c['z'],_0x1d828c['w']),_0x50f25d=new _0x446862();_0x50f25d['setFromAxisAngle'](new _0x4a4464(0x0,0x1,0x0),Math['PI']);const _0x320b98=new _0x446862();_0x320b98['multiplyQuaternions'](_0x550e3d,_0x50f25d),_0x4e2e2d['quaternion']['copy'](_0x320b98);}else if(_0x42b747['rotation']&&void 0x0!==_0x42b747['rotation']['w'])_0x4e2e2d['quaternion']['copy'](_0x42b747['rotation']);else if(_0x5812ba['origin']&&_0x5812ba['origin']['rpy']){const _0x42467e=_0x5812ba['origin']['rpy'];_0x4e2e2d['rotation']['set'](_0x42467e[0x0],_0x42467e[0x1],_0x42467e[0x2],'XYZ');}else _0x4e2e2d['rotation']['set'](0x0,0x0,0x0);_0x4e2e2d['visible']=this['showInertia'],_0x4e2e2d['castShadow']=!0x1,_0x4e2e2d['receiveShadow']=!0x1,_0x4e2e2d['userData']['isInertiaBox']=!0x0;const _0x3c394e=this['findLinkObject'](_0x3f3077['threeObject'],_0x4074f4['name']);_0x3c394e?_0x3c394e['add'](_0x4e2e2d):this['sceneManager']['scene']['add'](_0x4e2e2d),this['inertiaEllipsoids']['push'](_0x4e2e2d);}['findLinkObject'](_0x94dfdf,_0x47e3a3){let _0x588201=null;return _0x94dfdf['traverse'](_0x1f3e9c=>{_0x1f3e9c['name']!==_0x47e3a3&&_0x1f3e9c['name']!=='link_'+_0x47e3a3&&_0x1f3e9c['name']!=='body_'+_0x47e3a3||(_0x588201=_0x1f3e9c);}),_0x588201;}['toggleCenterOfMass'](_0x3f53e5,_0x449ad8){this['showCOM']=_0x3f53e5,_0x3f53e5&&0x0===this['comMarkers']['length']&&_0x449ad8?this['extractInertialProperties'](_0x449ad8):this['comMarkers']['forEach'](_0x588159=>{_0x588159['visible']=_0x3f53e5;});}['toggleInertia'](_0xce7e39,_0x1be60c){this['showInertia']=_0xce7e39,_0xce7e39&&0x0===this['inertiaEllipsoids']['length']&&_0x1be60c?this['extractInertialProperties'](_0x1be60c):this['inertiaEllipsoids']['forEach'](_0x29e750=>{_0x29e750['visible']=_0xce7e39;});}['clear'](){this['comMarkers']['forEach'](_0x46caf2=>{_0x46caf2['parent']&&_0x46caf2['parent']['remove'](_0x46caf2);}),this['inertiaEllipsoids']['forEach'](_0x2fdd19=>{_0x2fdd19['parent']&&_0x2fdd19['parent']['remove'](_0x2fdd19);}),this['comMarkers']=[],this['inertiaEllipsoids']=[];}}class Ti{constructor(_0xfe5a16){this['sceneManager']=_0xfe5a16,this['constraintVisuals']=[],this['showConstraints']=!0x0;}['visualizeConstraints'](_0x2b6ef7,_0x1e707e){this['constraintVisuals']['forEach'](_0x47a477=>{_0x47a477['parent']&&_0x47a477['parent']['remove'](_0x47a477);}),this['constraintVisuals']=[],_0x2b6ef7['constraints']&&0x0!==_0x2b6ef7['constraints']['size']&&_0x2b6ef7['constraints']['forEach']((_0x271cd9,_0x1074c4)=>{try{'connect'===_0x271cd9['type']||'weld'===_0x271cd9['type']?this['visualizeBodyConstraint'](_0x2b6ef7,_0x271cd9,_0x1e707e):'joint'===_0x271cd9['type']?this['visualizeJointConstraint'](_0x2b6ef7,_0x271cd9,_0x1e707e):'distance'===_0x271cd9['type']&&this['visualizeDistanceConstraint'](_0x2b6ef7,_0x271cd9,_0x1e707e);}catch(_0x5cf69b){}});}['visualizeBodyConstraint'](_0x2f9f5e,_0x14289b,_0xc2cae1){const _0x3d69b0=this['findLinkObject'](_0x2f9f5e['threeObject'],_0x14289b['body1']),_0x22edd0=this['findLinkObject'](_0x2f9f5e['threeObject'],_0x14289b['body2']);if(!_0x3d69b0||!_0x22edd0)return;const _0x260055=new _0x22b5b9(),_0x652003=new Float32Array(0x6);_0x652003[0x0]=0x0,_0x652003[0x1]=0x0,_0x652003[0x2]=0x0,_0x652003[0x3]=0x0,_0x652003[0x4]=0x0,_0x652003[0x5]=0x0,_0x260055['setAttribute']('position',new _0x353683(_0x652003,0x3));const _0x100b0c='weld'===_0x14289b['type']?0xff6600:0xffff,_0x4010f6=new _0x453726({'color':_0x100b0c,'linewidth':0x2,'dashSize':0.05,'gapSize':0.03,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0x1b5661=new _0x287fe0(_0x260055,_0x4010f6);_0x1b5661['computeLineDistances'](),_0x1b5661['userData']['constraint']=_0x14289b,_0x1b5661['userData']['body1']=_0x3d69b0,_0x1b5661['userData']['body2']=_0x22edd0,_0x1b5661['userData']['isConstraintVisualization']=!0x0;(_0xc2cae1||this['sceneManager']['scene'])['add'](_0x1b5661),this['constraintVisuals']['push'](_0x1b5661),_0x1b5661['onBeforeRender']=()=>{if(!_0x1b5661['userData']['body1']||!_0x1b5661['userData']['body2'])return;const _0x3b2ca4=new _0x4a4464(),_0x20961a=new _0x4a4464();if(_0x1b5661['userData']['body1']['getWorldPosition'](_0x3b2ca4),_0x1b5661['userData']['body2']['getWorldPosition'](_0x20961a),_0xc2cae1){const _0x489cc2=new _0x4306a8();_0x489cc2['copy'](_0xc2cae1['matrixWorld'])['invert'](),_0x3b2ca4['applyMatrix4'](_0x489cc2),_0x20961a['applyMatrix4'](_0x489cc2);}const _0xf60a24=_0x1b5661['geometry']['attributes']['position']['array'];_0xf60a24[0x0]=_0x3b2ca4['x'],_0xf60a24[0x1]=_0x3b2ca4['y'],_0xf60a24[0x2]=_0x3b2ca4['z'],_0xf60a24[0x3]=_0x20961a['x'],_0xf60a24[0x4]=_0x20961a['y'],_0xf60a24[0x5]=_0x20961a['z'],_0x1b5661['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x1b5661['computeLineDistances']();};}['visualizeJointConstraint'](_0x551b72,_0x5e5170,_0xcdbfcc){const _0x27e257=_0x551b72['getJoint'](_0x5e5170['joint1']),_0x31bba7=_0x551b72['getJoint'](_0x5e5170['joint2']);if(!_0x27e257||!_0x31bba7)return;const _0x33057d=_0x27e257['child']?this['findLinkObject'](_0x551b72['threeObject'],_0x27e257['child']):null,_0x307039=_0x31bba7['child']?this['findLinkObject'](_0x551b72['threeObject'],_0x31bba7['child']):null;if(!_0x33057d||!_0x307039)return;const _0xe429c5=new _0x22b5b9(),_0x3ed772=new Float32Array(0x6);_0xe429c5['setAttribute']('position',new _0x353683(_0x3ed772,0x3));const _0x1ec058=new _0x453726({'color':0xffff00,'linewidth':0x2,'dashSize':0.03,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.7}),_0x8519e7=new _0x287fe0(_0xe429c5,_0x1ec058);_0x8519e7['computeLineDistances'](),_0x8519e7['userData']['constraint']=_0x5e5170,_0x8519e7['userData']['link1']=_0x33057d,_0x8519e7['userData']['link2']=_0x307039,_0x8519e7['userData']['isConstraintVisualization']=!0x0;(_0xcdbfcc||this['sceneManager']['scene'])['add'](_0x8519e7),this['constraintVisuals']['push'](_0x8519e7),_0x8519e7['onBeforeRender']=()=>{if(!_0x8519e7['userData']['link1']||!_0x8519e7['userData']['link2'])return;const _0x1deb9c=new _0x4a4464(),_0x3a6860=new _0x4a4464();if(_0x8519e7['userData']['link1']['getWorldPosition'](_0x1deb9c),_0x8519e7['userData']['link2']['getWorldPosition'](_0x3a6860),_0xcdbfcc){const _0x1d2879=new _0x4306a8();_0x1d2879['copy'](_0xcdbfcc['matrixWorld'])['invert'](),_0x1deb9c['applyMatrix4'](_0x1d2879),_0x3a6860['applyMatrix4'](_0x1d2879);}const _0x7d628e=_0x8519e7['geometry']['attributes']['position']['array'];_0x7d628e[0x0]=_0x1deb9c['x'],_0x7d628e[0x1]=_0x1deb9c['y'],_0x7d628e[0x2]=_0x1deb9c['z'],_0x7d628e[0x3]=_0x3a6860['x'],_0x7d628e[0x4]=_0x3a6860['y'],_0x7d628e[0x5]=_0x3a6860['z'],_0x8519e7['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x8519e7['computeLineDistances']();};}['visualizeDistanceConstraint'](_0x5d0743,_0x1b6476,_0x49d5ee){const _0x1300d5=this['findLinkObject'](_0x5d0743['threeObject'],_0x1b6476['body1']),_0x2ae038=this['findLinkObject'](_0x5d0743['threeObject'],_0x1b6476['body2']);if(!_0x1300d5||!_0x2ae038)return;const _0x11ed34=new _0x22b5b9(),_0x32e0be=new Float32Array(0x6);_0x11ed34['setAttribute']('position',new _0x353683(_0x32e0be,0x3));const _0x22a40d=new _0x453726({'color':0xff00ff,'linewidth':0x2,'dashSize':0.04,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0x493a78=new _0x287fe0(_0x11ed34,_0x22a40d);_0x493a78['computeLineDistances'](),_0x493a78['userData']['constraint']=_0x1b6476,_0x493a78['userData']['body1']=_0x1300d5,_0x493a78['userData']['body2']=_0x2ae038,_0x493a78['userData']['isConstraintVisualization']=!0x0;(_0x49d5ee||this['sceneManager']['scene'])['add'](_0x493a78),this['constraintVisuals']['push'](_0x493a78),_0x493a78['onBeforeRender']=()=>{if(!_0x493a78['userData']['body1']||!_0x493a78['userData']['body2'])return;const _0x3054b1=new _0x4a4464(),_0xc66c4f=new _0x4a4464();if(_0x493a78['userData']['body1']['getWorldPosition'](_0x3054b1),_0x493a78['userData']['body2']['getWorldPosition'](_0xc66c4f),_0x49d5ee){const _0x407803=new _0x4306a8();_0x407803['copy'](_0x49d5ee['matrixWorld'])['invert'](),_0x3054b1['applyMatrix4'](_0x407803),_0xc66c4f['applyMatrix4'](_0x407803);}const _0x3995e0=_0x493a78['geometry']['attributes']['position']['array'];_0x3995e0[0x0]=_0x3054b1['x'],_0x3995e0[0x1]=_0x3054b1['y'],_0x3995e0[0x2]=_0x3054b1['z'],_0x3995e0[0x3]=_0xc66c4f['x'],_0x3995e0[0x4]=_0xc66c4f['y'],_0x3995e0[0x5]=_0xc66c4f['z'],_0x493a78['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x493a78['computeLineDistances']();};}['applyConstraints'](_0x2c383f,_0x509791){_0x2c383f['constraints']&&0x0!==_0x2c383f['constraints']['size']&&_0x2c383f['constraints']['forEach'](_0x145af6=>{'connect'===_0x145af6['type']&&this['solveConnectConstraint'](_0x2c383f,_0x145af6);});}['solveConnectConstraint'](_0x447bfa,_0x5a6115){const _0x5e26d5=this['findLinkObject'](_0x447bfa['threeObject'],_0x5a6115['body1']),_0x15b2af=this['findLinkObject'](_0x447bfa['threeObject'],_0x5a6115['body2']);if(!_0x5e26d5||!_0x15b2af)return;const _0x445879=_0x5a6115['anchor']||[0x0,0x0,0x0],_0x10418a=new _0x4a4464(_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x4c6f07=_0x10418a['clone']();_0x5e26d5['localToWorld'](_0x4c6f07);const _0x2016d7=_0x10418a['clone']();_0x15b2af['localToWorld'](_0x2016d7);if(_0x4c6f07['distanceTo'](_0x2016d7)<0.001)return;const _0x1326f5=this['findJointsAffecting'](_0x447bfa,_0x5a6115['body2']);if(0x0===_0x1326f5['length'])return;const _0x590b13=0.05;for(let _0xa2e32c=0x0;_0xa2e32c<0x14;_0xa2e32c++){_0x4c6f07['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x5e26d5['localToWorld'](_0x4c6f07),_0x2016d7['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x15b2af['localToWorld'](_0x2016d7);const _0x9dc9c4=_0x4c6f07['distanceTo'](_0x2016d7);if(_0x9dc9c4<0.001)break;for(const _0x2dcd52 of _0x1326f5){if('fixed'===_0x2dcd52['type'])continue;const _0xc932f0=_0x2dcd52['currentValue']||0x0;Ei['setJointAngle'](_0x447bfa,_0x2dcd52['name'],_0xc932f0+_0x590b13),_0x447bfa['threeObject']['updateMatrixWorld'](!0x0),_0x4c6f07['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x5e26d5['localToWorld'](_0x4c6f07),_0x2016d7['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x15b2af['localToWorld'](_0x2016d7);const _0x508a30=_0x4c6f07['distanceTo'](_0x2016d7);Ei['setJointAngle'](_0x447bfa,_0x2dcd52['name'],_0xc932f0-_0x590b13),_0x447bfa['threeObject']['updateMatrixWorld'](!0x0),_0x4c6f07['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x5e26d5['localToWorld'](_0x4c6f07),_0x2016d7['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x15b2af['localToWorld'](_0x2016d7);const _0x54b49f=_0x4c6f07['distanceTo'](_0x2016d7);let _0x205674=_0xc932f0;_0x508a30<_0x9dc9c4&&_0x508a30<_0x54b49f?_0x205674=_0xc932f0+_0x590b13:_0x54b49f<_0x9dc9c4&&(_0x205674=_0xc932f0-_0x590b13),Ei['setJointAngle'](_0x447bfa,_0x2dcd52['name'],_0x205674),_0x2dcd52['currentValue']=_0x205674;const _0x2d2b76=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x2dcd52['name']+'\x22]');if(_0x2d2b76){_0x2d2b76['value']=_0x205674;const _0x27dab3=document['querySelector']('input[data-joint-input=\x22'+_0x2dcd52['name']+'\x22]');if(_0x27dab3){const _0x33edce=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x27dab3['value']='deg'===_0x33edce?(0xb4*_0x205674/Math['PI'])['toFixed'](0x2):_0x205674['toFixed'](0x2);}}}}_0x447bfa['threeObject']['updateMatrixWorld'](!0x0),_0x4c6f07['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x5e26d5['localToWorld'](_0x4c6f07),_0x2016d7['set'](_0x445879[0x0],_0x445879[0x1],_0x445879[0x2]),_0x15b2af['localToWorld'](_0x2016d7),_0x4c6f07['distanceTo'](_0x2016d7);}['findJointsAffecting'](_0x4f4360,_0x385b63){const _0x2b0fce=[],_0x5cd34e=new Set();let _0x26907b=_0x385b63;for(;_0x26907b&&!_0x5cd34e['has'](_0x26907b);){_0x5cd34e['add'](_0x26907b);let _0x1384aa=null;if(_0x4f4360['joints']['forEach'](_0x443de7=>{_0x443de7['child']===_0x26907b&&(_0x1384aa=_0x443de7,_0x2b0fce['push'](_0x443de7));}),!_0x1384aa)break;_0x26907b=_0x1384aa['parent'];}return _0x2b0fce['reverse']();}['findLinkObject'](_0x256282,_0x59e875){let _0x24279f=null;return _0x256282['traverse'](_0x48ea19=>{_0x48ea19['name']!==_0x59e875&&_0x48ea19['name']!=='link_'+_0x59e875&&_0x48ea19['name']!=='body_'+_0x59e875||(_0x24279f=_0x48ea19);}),_0x24279f;}['clear'](){this['constraintVisuals']['forEach'](_0x4464f5=>{_0x4464f5['parent']&&_0x4464f5['parent']['remove'](_0x4464f5);}),this['constraintVisuals']=[];}}class Oi{constructor(_0x1da725){this['sceneManager']=_0x1da725,this['linkAxesHelpers']=new Map(),this['jointAxesHelpers']=new Map(),this['axesScale']=0x1,this['modelSize']=0x1,this['showLabels']=!0x1,this['axesLabels']=new Map(),this['jointAxesLabels']=new Map(),this['selectedLinkName']=null,this['_isolatedJointName']=null,this['_tmpPos']=new _0x4a4464(),this['_tmpQuat']=new _0x446862(),this['_tmpScale']=new _0x4a4464(0x1,0x1,0x1),this['_tmpMat']=new _0x4306a8(),this['_tmpMatLocal']=new _0x4306a8();}['hasVisibleLinkAxes'](){return Array['from'](this['linkAxesHelpers']['values']())['some'](_0x13b54d=>_0x13b54d['visible']);}['hasVisibleJointAxes'](){return Array['from'](this['jointAxesHelpers']['values']())['some'](_0x15215a=>_0x15215a['isAttached']);}static['createAxesGeometry'](_0x23e108){const _0x5436dd=new _0x2026e8();_0x5436dd['userData']['excludeFromBBox']=!0x0;const _0x46f5ce=Math['max'](0.001,0.015*_0x23e108),_0x24d03f=new _0x19a545(_0x46f5ce,_0x46f5ce,_0x23e108,0x8),_0x319fc0=new _0x576ce4(_0x24d03f,new _0x5096b9({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}));_0x319fc0['position']['x']=_0x23e108/0x2,_0x319fc0['rotation']['z']=-Math['PI']/0x2,_0x319fc0['castShadow']=!0x1,_0x319fc0['receiveShadow']=!0x1,_0x5436dd['add'](_0x319fc0);const _0x478854=new _0x576ce4(_0x24d03f,new _0x5096b9({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}));_0x478854['position']['y']=_0x23e108/0x2,_0x478854['castShadow']=!0x1,_0x478854['receiveShadow']=!0x1,_0x5436dd['add'](_0x478854);const _0x2db05b=new _0x576ce4(_0x24d03f,new _0x5096b9({'color':0xff,'shininess':0x1e,'depthTest':!0x0}));return _0x2db05b['position']['z']=_0x23e108/0x2,_0x2db05b['rotation']['x']=Math['PI']/0x2,_0x2db05b['castShadow']=!0x1,_0x2db05b['receiveShadow']=!0x1,_0x5436dd['add'](_0x2db05b),_0x5436dd;}static['createJointArrowGeometry'](_0xdf23b2){const _0x2492f8=0.2*0.7,_0x1b5e5a=new _0x1aacc9({'color':0xff0000}),_0x4ba322=new _0x19a545(0.004,0.004,_0x2492f8,0x10,0x1),_0x7b0e20=new _0x576ce4(_0x4ba322,_0x1b5e5a);_0x7b0e20['position']['y']=_0x2492f8/0x2;const _0x34be68=new _0x33f2f7(0.012,0.06,0x10),_0x144435=new _0x576ce4(_0x34be68,_0x1b5e5a);_0x144435['position']['y']=_0x2492f8+0.03;const _0x37f80e=new _0x2026e8();_0x37f80e['add'](_0x7b0e20),_0x37f80e['add'](_0x144435);const _0xb376fa=new _0x4a4464(0x0,0x1,0x0),_0x5e3d6a=new _0x446862();_0x5e3d6a['setFromUnitVectors'](_0xb376fa,_0xdf23b2),_0x37f80e['quaternion']['copy'](_0x5e3d6a);const _0x2f6bb8=new _0x2026e8();_0x2f6bb8['userData']['excludeFromBBox']=!0x0,_0x2f6bb8['add'](_0x37f80e);const _0x476fe8=Oi['createRotationIndicator'](_0xdf23b2,0.2);return _0x2f6bb8['add'](_0x476fe8),_0x2f6bb8;}static['createRotationIndicator'](_0x545440,_0x3fd339){const _0x29c6c0=new _0x2026e8(),_0x4e7b9d=0.25*_0x3fd339,_0x5b2d70=1.5*Math['PI'],_0x1125ea=new _0x4e17a0(0x0,0x0,_0x4e7b9d,_0x4e7b9d,0x0,_0x5b2d70,!0x1,0x0)['getPoints'](0x32)['map'](_0x298280=>new _0x4a4464(_0x298280['x'],_0x298280['y'],0x0)),_0x4b55ab=new _0x1664a6(_0x1125ea),_0x5079dc=new _0x36ea6a(_0x4b55ab,0x32,0.002,0x8,!0x1),_0x525761=new _0x1aacc9({'color':0xff00}),_0x32f2eb=new _0x576ce4(_0x5079dc,_0x525761);_0x29c6c0['add'](_0x32f2eb);const _0x2324b1=new _0x33f2f7(0.008,0.016,0x8),_0x2836aa=new _0x1aacc9({'color':0xff00}),_0x2813c9=new _0x576ce4(_0x2324b1,_0x2836aa),_0x47bc6a=_0x1125ea[_0x1125ea['length']-0x1],_0x542d55=_0x1125ea[_0x1125ea['length']-0x5],_0x3b7331=new _0x4a4464()['subVectors'](_0x47bc6a,_0x542d55)['normalize']();_0x2813c9['position']['copy'](_0x47bc6a),_0x2813c9['quaternion']['setFromUnitVectors'](new _0x4a4464(0x0,0x1,0x0),_0x3b7331),_0x29c6c0['add'](_0x2813c9);const _0x3120e0=new _0x446862();_0x3120e0['setFromUnitVectors'](new _0x4a4464(0x0,0x0,0x1),_0x545440),_0x29c6c0['quaternion']['copy'](_0x3120e0);const _0x3e9c53=_0x545440['clone']()['multiplyScalar'](0.85*_0x3fd339);return _0x29c6c0['position']['copy'](_0x3e9c53),_0x29c6c0;}['createLinkAxes'](_0x376e19,_0xd7e40,_0x23f380=0x1){const _0x2eb872=Math['max'](0.02,Math['min'](0.1*_0x23f380,0.2))*this['axesScale'],_0x354ca3=new _0x2026e8();_0x354ca3['name']=_0xd7e40+'_axes',_0x354ca3['userData']['excludeFromBBox']=!0x0;const _0x24d9c7=Math['max'](0.001,0.015*_0x2eb872),_0x3baeae=new _0x19a545(_0x24d9c7,_0x24d9c7,_0x2eb872,0x8),_0x2c5e9d=new _0x5096b9({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}),_0x13e576=new _0x576ce4(_0x3baeae,_0x2c5e9d);_0x13e576['position']['x']=_0x2eb872/0x2,_0x13e576['rotation']['z']=-Math['PI']/0x2,_0x13e576['castShadow']=!0x1,_0x13e576['receiveShadow']=!0x1,_0x13e576['userData']={'isAxis':!0x0,'linkName':_0xd7e40,'axisType':'x'},_0x354ca3['add'](_0x13e576);const _0x31ffe7=new _0x5096b9({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}),_0x7170b7=new _0x576ce4(_0x3baeae,_0x31ffe7);_0x7170b7['position']['y']=_0x2eb872/0x2,_0x7170b7['castShadow']=!0x1,_0x7170b7['receiveShadow']=!0x1,_0x7170b7['userData']={'isAxis':!0x0,'linkName':_0xd7e40,'axisType':'y'},_0x354ca3['add'](_0x7170b7);const _0x67fe44=new _0x5096b9({'color':0xff,'shininess':0x1e,'depthTest':!0x0}),_0x55962c=new _0x576ce4(_0x3baeae,_0x67fe44);return _0x55962c['position']['z']=_0x2eb872/0x2,_0x55962c['rotation']['x']=Math['PI']/0x2,_0x55962c['castShadow']=!0x1,_0x55962c['receiveShadow']=!0x1,_0x55962c['userData']={'isAxis':!0x0,'linkName':_0xd7e40,'axisType':'z'},_0x354ca3['add'](_0x55962c),_0x376e19['threeObject']&&_0x376e19['threeObject']['add'](_0x354ca3),this['linkAxesHelpers']['set'](_0xd7e40,_0x354ca3),this['showLabels']&&this['createAxisLabel'](_0xd7e40,_0x354ca3,_0x2eb872,!0x0),_0x354ca3['visible']=!0x1,_0x354ca3;}['createJointAxis'](_0x4c3c04,_0x4c569f){if(!_0x4c3c04['threeObject']||'revolute'!==_0x4c3c04['type']&&'continuous'!==_0x4c3c04['type'])return null;const _0x133925=_0x4c3c04['threeObject'],_0x19bd2f=new _0x2026e8();_0x19bd2f['name']='jointAxis_'+_0x4c569f,_0x19bd2f['userData']['excludeFromBBox']=!0x0;let _0x50f510=new _0x4a4464(0x0,0x0,0x1);_0x133925['axis']?_0x50f510['copy'](_0x133925['axis'])['normalize']():_0x4c3c04['axis']&&_0x4c3c04['axis']['xyz']&&_0x50f510['set'](_0x4c3c04['axis']['xyz'][0x0]||0x0,_0x4c3c04['axis']['xyz'][0x1]||0x0,void 0x0!==_0x4c3c04['axis']['xyz'][0x2]?_0x4c3c04['axis']['xyz'][0x2]:0x1)['normalize']();const _0x218a70=0.2*this['axesScale'],_0x43aa4a=0.7*_0x218a70,_0x17c60e=0.3*_0x218a70,_0x30743b=0.004*this['axesScale'],_0x53db89=0.012*this['axesScale'],_0x2ccc0c=new _0x1aacc9({'color':0xff0000}),_0x137dd3=new _0x19a545(_0x30743b,_0x30743b,_0x43aa4a,0x10,0x1),_0x411d9d=new _0x576ce4(_0x137dd3,_0x2ccc0c);_0x411d9d['raycast']=()=>{};const _0x5f0c8c=new _0x33f2f7(_0x53db89,_0x17c60e,0x20,0x1),_0xd6cc0=new _0x576ce4(_0x5f0c8c,_0x2ccc0c);_0xd6cc0['raycast']=()=>{};const _0x1c6c3b=new _0x2026e8();_0x411d9d['position']['y']=_0x43aa4a/0x2,_0x1c6c3b['add'](_0x411d9d),_0xd6cc0['position']['y']=_0x43aa4a+_0x17c60e/0x2,_0x1c6c3b['add'](_0xd6cc0);const _0x589839=new _0x4a4464(0x0,0x1,0x0),_0xcada39=new _0x446862();_0xcada39['setFromUnitVectors'](_0x589839,_0x50f510),_0x1c6c3b['quaternion']['copy'](_0xcada39),_0x19bd2f['add'](_0x1c6c3b);const _0x1afa83=this['createRotationIndicator'](_0x50f510,_0x218a70);return _0x19bd2f['add'](_0x1afa83),this['jointAxesHelpers']['set'](_0x4c569f,{'mesh':_0x19bd2f,'parent':_0x133925,'joint':_0x4c3c04,'isAttached':!0x1,'userVisible':!0x1}),this['showLabels']&&this['createAxisLabel'](_0x4c569f,_0x19bd2f,_0x218a70,!0x1),this['_syncJointAxisAttachment'](_0x4c569f),_0x19bd2f;}['createRotationIndicator'](_0xd608e0,_0x16e8b1){const _0x29f836=new _0x2026e8(),_0x5e04d7=0.25*_0x16e8b1,_0x575106=0.002*this['axesScale'],_0x4a8fe6=0.008*this['axesScale'],_0x2a9fc1=1.5*Math['PI'],_0x3155cb=new _0x4e17a0(0x0,0x0,_0x5e04d7,_0x5e04d7,0x0,_0x2a9fc1,!0x1,0x0)['getPoints'](0x32)['map'](_0x16017c=>new _0x4a4464(_0x16017c['x'],_0x16017c['y'],0x0)),_0xbba60c=new _0x1664a6(_0x3155cb),_0x2fc795=new _0x36ea6a(_0xbba60c,0x32,_0x575106,0x8,!0x1),_0x15539b=new _0x1aacc9({'color':0xff00}),_0x3626af=new _0x576ce4(_0x2fc795,_0x15539b);_0x3626af['raycast']=()=>{},_0x29f836['add'](_0x3626af);const _0x118242=new _0x33f2f7(_0x4a8fe6,0x2*_0x4a8fe6,0x8),_0x4f4f7a=new _0x1aacc9({'color':0xff00}),_0x263272=new _0x576ce4(_0x118242,_0x4f4f7a);_0x263272['raycast']=()=>{};const _0x4e764b=_0x3155cb[_0x3155cb['length']-0x1],_0x55fb5c=_0x3155cb[_0x3155cb['length']-0x5],_0x5ad5d1=new _0x4a4464()['subVectors'](_0x4e764b,_0x55fb5c)['normalize']();_0x263272['position']['copy'](_0x4e764b),_0x263272['quaternion']['setFromUnitVectors'](new _0x4a4464(0x0,0x1,0x0),_0x5ad5d1),_0x29f836['add'](_0x263272);const _0x5c0efc=new _0x446862();_0x5c0efc['setFromUnitVectors'](new _0x4a4464(0x0,0x0,0x1),_0xd608e0),_0x29f836['quaternion']['copy'](_0x5c0efc);const _0x17ce64=_0xd608e0['clone']()['multiplyScalar'](0.85*_0x16e8b1);return _0x29f836['position']['copy'](_0x17ce64),_0x29f836;}['showAllAxes'](){this['linkAxesHelpers']['forEach']((_0x463212,_0x21319e)=>{_0x463212['visible']=!0x0;const _0x45d764=this['axesLabels']['get'](_0x21319e);_0x45d764&&(_0x45d764['visible']=this['showLabels']);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllAxes'](){this['linkAxesHelpers']['forEach']((_0x59b0d3,_0x269a0d)=>{_0x59b0d3['visible']=!0x1;const _0xfc2bf1=this['axesLabels']['get'](_0x269a0d);_0xfc2bf1&&(_0xfc2bf1['visible']=!0x1);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['_syncJointAxisAttachment'](_0x12bad1){const _0xc24318=this['jointAxesHelpers']['get'](_0x12bad1);if(!_0xc24318||!_0xc24318['parent'])return;const _0x1aba9d=null!==this['_isolatedJointName']?_0x12bad1===this['_isolatedJointName']:_0xc24318['userVisible'];_0x1aba9d&&!_0xc24318['isAttached']?(_0xc24318['parent']['add'](_0xc24318['mesh']),_0xc24318['isAttached']=!0x0):!_0x1aba9d&&_0xc24318['isAttached']&&(_0xc24318['parent']['remove'](_0xc24318['mesh']),_0xc24318['isAttached']=!0x1);const _0x4a0ca1=this['jointAxesLabels']['get'](_0x12bad1);_0x4a0ca1&&(_0x4a0ca1['visible']=_0xc24318['isAttached']&&this['showLabels']);}['_syncAllJointAxesAttachment'](){this['jointAxesHelpers']['forEach']((_0x1cb890,_0x20ea78)=>{this['_syncJointAxisAttachment'](_0x20ea78);});}['showAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x6ab85f=>{_0x6ab85f['userVisible']=!0x0;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x2bdc0e=>{_0x2bdc0e['userVisible']=!0x1;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['showOnlyJointAxis'](_0x5657b1){let _0x1aebf4=null;this['jointAxesHelpers']['forEach']((_0x3f865f,_0x5dc177)=>{_0x3f865f['joint']===_0x5657b1&&(_0x1aebf4=_0x5dc177);}),this['_isolatedJointName']!==_0x1aebf4&&(this['_isolatedJointName']=_0x1aebf4,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['restoreAllJointAxes'](){null!==this['_isolatedJointName']&&(this['_isolatedJointName']=null,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['ensureAxesNoShadow'](){this['linkAxesHelpers']['forEach'](_0xac433c=>{_0xac433c['traverse'](_0x4f2164=>{_0x4f2164['isMesh']&&(_0x4f2164['castShadow']=!0x1,_0x4f2164['receiveShadow']=!0x1);});}),this['jointAxesHelpers']['forEach'](_0x220a82=>{_0x220a82['mesh']['traverse'](_0x133416=>{_0x133416['isMesh']&&(_0x133416['castShadow']=!0x1,_0x133416['receiveShadow']=!0x1);});});}['clearAllLinkAxes'](){this['axesLabels']['forEach'](_0x545834=>{_0x545834['parent']&&_0x545834['parent']['remove'](_0x545834);}),this['axesLabels']['clear'](),this['linkAxesHelpers']['forEach'](_0x464ac6=>{_0x464ac6['parent']&&_0x464ac6['parent']['remove'](_0x464ac6);}),this['linkAxesHelpers']['clear']();}['clearAllJointAxes'](){this['jointAxesLabels']['forEach'](_0x36b471=>{_0x36b471['parent']&&_0x36b471['parent']['remove'](_0x36b471);}),this['jointAxesLabels']['clear'](),this['jointAxesHelpers']['forEach'](_0x2bc35b=>{_0x2bc35b['isAttached']&&_0x2bc35b['parent']&&_0x2bc35b['parent']['remove'](_0x2bc35b['mesh']);}),this['jointAxesHelpers']['clear'](),this['_isolatedJointName']=null;}['clear'](){this['clearAllLinkAxes'](),this['clearAllJointAxes'](),this['clearAllLabels']();}['setAllLinkAxesVisible'](_0x1b56e5){_0x1b56e5?this['showAllAxes']():this['hideAllAxes']();}['setAllJointAxesVisible'](_0x53910d){_0x53910d?this['showAllJointAxes']():this['hideAllJointAxes']();}['setAxesScale'](_0x31929d){this['axesScale']=Math['max'](0.1,Math['min'](_0x31929d,0x3));}['getAxesScale'](){return this['axesScale'];}['selectAxis'](_0x5c944e){this['deselectAxis'](),this['linkAxesHelpers']['has'](_0x5c944e)&&(this['selectedLinkName']=_0x5c944e,this['sceneManager']['redraw']());}['deselectAxis'](){this['selectedLinkName']=null,this['sceneManager']['redraw']();}['getSelectedLinkName'](){return this['selectedLinkName'];}['getLinksWithAxes'](){const _0x29ab0b=[];return this['linkAxesHelpers']['forEach']((_0x4fe0ce,_0x453ede)=>{_0x4fe0ce['visible']&&_0x29ab0b['push'](_0x453ede);}),_0x29ab0b;}['previewJointOriginRpy'](_0xbe49c7,_0x2e67a7,_0x3bbd37){const _0xa88a77=this['_computeJointRpy'](_0xbe49c7,_0x2e67a7,_0x3bbd37);return!!_0xa88a77&&(this['_applyLinkDeltaTransform'](_0xa88a77['joint'],_0xa88a77['rpy'],_0xbe49c7),this['sceneManager']['redraw'](),{'jointName':_0xa88a77['joint']['name'],'rpy':_0xa88a77['rpy']});}['applyJointOriginRpy'](_0x5a04ad,_0x5a1395,_0x3fc7cc){let _0x42d3b9=null;if(_0x5a04ad['joints']['forEach'](_0x4edc92=>{_0x4edc92['child']===_0x5a1395&&(_0x42d3b9=_0x4edc92);}),!_0x42d3b9)return!0x1;const _0xda5599=_0x42d3b9['_origRpy']||[0x0,0x0,0x0],_0x12b140=Math['PI']/0x2,_0x2d9973=0x2*Math['PI'],_0xd1fe7f=_0x3fc7cc['map']((_0x242fcb,_0x11e9e0)=>{if(Math['abs'](_0x242fcb-_0xda5599[_0x11e9e0])<0.01)return _0xda5599[_0x11e9e0];const _0x11e62c=Math['round']((_0x242fcb-_0xda5599[_0x11e9e0])/_0x12b140);let _0x265df4=_0xda5599[_0x11e9e0]+_0x11e62c*_0x12b140;return _0x265df4%=_0x2d9973,_0x265df4>Math['PI']&&(_0x265df4-=_0x2d9973),_0x265df4<=-Math['PI']&&(_0x265df4+=_0x2d9973),_0x265df4;}),_0x21b38b=new _0x446862()['setFromEuler'](new _0x1b9ef9(_0xd1fe7f[0x0],_0xd1fe7f[0x1],_0xd1fe7f[0x2],'ZYX'));_0x42d3b9['threeObject']['quaternion']['copy'](_0x21b38b);const _0x4f3b09=_0x5a04ad['links']['get'](_0x42d3b9['child']);return _0x4f3b09&&_0x4f3b09['threeObject']&&(_0x4f3b09['threeObject']['position']['set'](0x0,0x0,0x0),_0x4f3b09['threeObject']['quaternion']['identity'](),_0x4f3b09['threeObject']['scale']['set'](0x1,0x1,0x1)),_0x42d3b9['origin']['rpy']=_0xd1fe7f,_0x42d3b9['_origRpy']=[..._0xd1fe7f],_0x5a04ad['threeObject']&&_0x5a04ad['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),{'jointName':_0x42d3b9['name'],'rpy':_0xd1fe7f};}['_computeJointRpy'](_0x13990f,_0x3a68fe,_0x39d378){let _0x40ea1d=null;if(_0x13990f['joints']['forEach'](_0x483792=>{_0x483792['child']===_0x3a68fe&&(_0x40ea1d=_0x483792);}),!_0x40ea1d)return null;const _0x11dd59=_0x40ea1d['_origRpy']||[0x0,0x0,0x0],_0x1e1897=Math['PI']/0x2,_0x79e767=0x2*Math['PI'],_0x42d327=_0x39d378['map']((_0x205f63,_0x1774b7)=>{return(_0x43bfd2=>{let _0x2158dd=_0x43bfd2%_0x79e767;return _0x2158dd>Math['PI']&&(_0x2158dd-=_0x79e767),_0x2158dd<=-Math['PI']&&(_0x2158dd+=_0x79e767),_0x2158dd;})((_0x4c31d8=_0x205f63,(_0xd9c2de=_0x11dd59[_0x1774b7])+Math['round']((_0x4c31d8-_0xd9c2de)/_0x1e1897)*_0x1e1897));var _0x4c31d8,_0xd9c2de;});return{'joint':_0x40ea1d,'rpy':_0x42d327,'linkName':_0x40ea1d['child']};}['_applyLinkDeltaTransform'](_0x128dda,_0x3b2528,_0x1cd459){const _0xa8aa0e=_0x128dda['child'],_0x613d8c=_0x1cd459['links']['get'](_0xa8aa0e);if(!_0x613d8c||!_0x613d8c['threeObject'])return;const _0x113c49=_0x128dda['origin']&&_0x128dda['origin']['rpy']?_0x128dda['origin']['rpy']:[0x0,0x0,0x0],_0x4f9540=_0x128dda['_origXyz']||(_0x128dda['origin']?_0x128dda['origin']['xyz']:[0x0,0x0,0x0]),_0x6ed18=new _0x446862()['setFromEuler'](new _0x1b9ef9(_0x113c49[0x0],_0x113c49[0x1],_0x113c49[0x2],'XYZ')),_0x1b9700=new _0x446862()['setFromEuler'](new _0x1b9ef9(_0x3b2528[0x0],_0x3b2528[0x1],_0x3b2528[0x2],'XYZ'));this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x4f9540[0x0],_0x4f9540[0x1],_0x4f9540[0x2]),_0x6ed18,this['_tmpScale']['set'](0x1,0x1,0x1));const _0x139bf7=this['_tmpMat']['clone']();this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x4f9540[0x0],_0x4f9540[0x1],_0x4f9540[0x2]),_0x1b9700,this['_tmpScale']['set'](0x1,0x1,0x1)),this['_tmpMatLocal']['copy'](_0x139bf7)['invert']()['multiply'](this['_tmpMat']),this['_tmpMatLocal']['decompose'](_0x613d8c['threeObject']['position'],_0x613d8c['threeObject']['quaternion'],this['_tmpScale']),_0x613d8c['threeObject']['scale']['set'](0x1,0x1,0x1),_0x1cd459['threeObject']&&_0x1cd459['threeObject']['updateMatrixWorld'](!0x0);}['showAxesByName'](_0xdd9ad0,_0x4e137f){var _0xdb34b7,_0x457dbd,_0x5d3bfd,_0x36c8b7;let _0xabea02=this['linkAxesHelpers']['get'](_0xdd9ad0);if(!_0xabea02&&_0x4e137f){const _0x510b50=null==(_0x5d3bfd=null==(_0x457dbd=null==(_0xdb34b7=this['sceneManager'])?void 0x0:_0xdb34b7['currentModel'])?void 0x0:_0x457dbd['links'])?void 0x0:_0x5d3bfd['get'](_0xdd9ad0);if(_0x510b50){let _0xb0f865=0x1;const _0x133e48=null==(_0x36c8b7=this['sceneManager'])?void 0x0:_0x36c8b7['currentModel'];if(null==_0x133e48?void 0x0:_0x133e48['threeObject'])try{const _0x13e6e5=new _0x364b55()['setFromObject'](_0x133e48['threeObject']);if(!_0x13e6e5['isEmpty']()){const _0x461bbb=_0x13e6e5['getSize'](new _0x4a4464());_0xb0f865=Math['max'](_0x461bbb['x'],_0x461bbb['y'],_0x461bbb['z']);}}catch(_0x21d938){}_0xabea02=this['createLinkAxes'](_0x510b50,_0xdd9ad0,_0xb0f865);}}if(_0xabea02){_0xabea02['visible']=_0x4e137f;const _0xf2d3c6=this['axesLabels']['get'](_0xdd9ad0);_0xf2d3c6&&(_0xf2d3c6['visible']=_0x4e137f&&this['showLabels']),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['showJointAxisByName'](_0x37faaf,_0x2c7f59){const _0x351531=this['jointAxesHelpers']['get'](_0x37faaf);_0x351531&&(_0x351531['userVisible']=_0x2c7f59,this['_isolatedJointName']=null,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['setShowLabels'](_0x1d19c5){this['showLabels']=_0x1d19c5,_0x1d19c5&&(this['linkAxesHelpers']['forEach']((_0x425a00,_0x28753d)=>{if(!this['axesLabels']['has'](_0x28753d)){const _0x367e99=this['getAxesDisplaySize'](_0x425a00);this['createAxisLabel'](_0x28753d,_0x425a00,_0x367e99,!0x0);}}),this['jointAxesHelpers']['forEach']((_0x25a084,_0x106b44)=>{if(!this['jointAxesLabels']['has'](_0x106b44)){const _0x1f6073=this['getAxesDisplaySize'](_0x25a084['mesh']);this['createAxisLabel'](_0x106b44,_0x25a084['mesh'],_0x1f6073,!0x1);}})),this['axesLabels']['forEach']((_0x2be48b,_0x288421)=>{const _0x4fdab6=this['linkAxesHelpers']['get'](_0x288421);_0x2be48b['visible']=_0x1d19c5&&_0x4fdab6&&_0x4fdab6['visible'];}),this['jointAxesLabels']['forEach']((_0xa05594,_0x3678b2)=>{const _0x4e0f9b=this['jointAxesHelpers']['get'](_0x3678b2);_0xa05594['visible']=_0x1d19c5&&_0x4e0f9b&&_0x4e0f9b['isAttached'];}),this['sceneManager']['redraw']();}['getAxesDisplaySize'](_0x3ada9c){let _0x2ad664=0x0;return _0x3ada9c['traverse'](_0x1d83c8=>{_0x1d83c8['isCSS2DObject']||(_0x2ad664=Math['max'](_0x2ad664,Math['abs'](_0x1d83c8['position']['x']),Math['abs'](_0x1d83c8['position']['y']),Math['abs'](_0x1d83c8['position']['z'])));}),Math['max'](0x2*_0x2ad664,0.03*this['axesScale']);}['createAxisLabel'](_0x454227,_0x1ed0b6,_0x138728,_0x545da6){var _0x244b88;const _0x1c2a04=_0x545da6?this['axesLabels']['get'](_0x454227):this['jointAxesLabels']['get'](_0x454227);if(_0x1c2a04){_0x1c2a04['parent']!==_0x1ed0b6&&(null==(_0x244b88=_0x1c2a04['parent'])||_0x244b88['remove'](_0x1c2a04),_0x1ed0b6['add'](_0x1c2a04));const _0x2265fa=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x1c2a04['element']['style']['fontSize']=_0x2265fa+'px',_0x1c2a04['element']['style']['whiteSpace']='nowrap';}const _0x18ee0c=document['createElement']('div');_0x18ee0c['className']='axis-label',_0x18ee0c['textContent']=_0x454227;const _0x469aa5=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x18ee0c['style']['fontSize']=_0x469aa5+'px',_0x18ee0c['style']['whiteSpace']='nowrap';const _0x10eaff=new Fe(_0x18ee0c);return _0x10eaff['position']['set'](1.15*_0x138728,0x0,0x0),_0x10eaff['visible']=this['showLabels'],_0x1ed0b6['add'](_0x10eaff),_0x545da6?this['axesLabels']['set'](_0x454227,_0x10eaff):this['jointAxesLabels']['set'](_0x454227,_0x10eaff),_0x10eaff;}['clearAllLabels'](){this['axesLabels']['forEach']((_0x3e0539,_0x157eba)=>{const _0x25d3a2=this['linkAxesHelpers']['get'](_0x157eba);_0x25d3a2&&_0x25d3a2['remove'](_0x3e0539);}),this['axesLabels']['clear'](),this['jointAxesLabels']['forEach']((_0x2d1cc7,_0x21a0b7)=>{const _0x10ed86=this['jointAxesHelpers']['get'](_0x21a0b7);_0x10ed86&&_0x10ed86['mesh']&&_0x10ed86['mesh']['remove'](_0x2d1cc7);}),this['jointAxesLabels']['clear']();}['getLinkNames'](){return Array['from'](this['linkAxesHelpers']['keys']());}['getJointNames'](){return Array['from'](this['jointAxesHelpers']['keys']());}['isLinkAxisVisible'](_0x29db6d){const _0x536578=this['linkAxesHelpers']['get'](_0x29db6d);return!!_0x536578&&_0x536578['visible'];}['isJointAxisVisible'](_0x32ca11){const _0x5a81d3=this['jointAxesHelpers']['get'](_0x32ca11);return!!_0x5a81d3&&_0x5a81d3['userVisible'];}}class Fi{constructor(_0x3b6d28){this['sceneManager']=_0x3b6d28,this['currentHighlightedLink']=null,this['highlightMaterial']=new _0x5096b9({'shininess':0xa,'color':0xffffff,'emissive':0xffffff,'emissiveIntensity':0.25});}['highlightLink'](_0x1c8db1,_0x8a8d75){_0x1c8db1&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0x1c8db1['name']||(this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],_0x8a8d75),this['currentHighlightedLink']=_0x1c8db1,_0x1c8db1['threeObject']&&this['highlightLinkGeometry'](_0x1c8db1['threeObject'],_0x8a8d75),this['showHoverInfo'](_0x1c8db1,_0x8a8d75),this['sceneManager']['redraw']()));}['unhighlightLink'](_0x431fa7,_0x59abb9){_0x431fa7&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0x431fa7['name']&&(this['currentHighlightedLink']=null),_0x431fa7['threeObject']&&this['unhighlightLinkGeometry'](_0x431fa7['threeObject'],_0x59abb9),this['hideHoverInfo'](),this['sceneManager']['redraw']());}['highlightLinkGeometry'](_0x411e9f,_0x4227){const _0x507f20=(_0x5b025d,_0x4eaa3b=!0x1)=>{var _0x13ac0e,_0x6d6bca,_0xe170ea,_0x444c5b,_0x3fe6e0;if(_0x4eaa3b||'URDFLink'!==_0x5b025d['type']&&!_0x5b025d['isURDFLink']){if(_0x5b025d['isURDFJoint']||'URDFJoint'===_0x5b025d['type']){const _0xe7147=_0x5b025d['name'];let _0xf566b2=!0x1;if(_0xe7147&&(null==_0x4227?void 0x0:_0x4227['joints'])&&_0x4227['joints']['has'](_0xe7147)){_0xf566b2='fixed'===_0x4227['joints']['get'](_0xe7147)['type'];}if(_0xf566b2){for(const _0x218399 of _0x5b025d['children'])_0x507f20(_0x218399,!0x1);return;}return;}if('Mesh'===_0x5b025d['type']||_0x5b025d['isMesh']){if(_0x5b025d['isURDFCollider'])return;_0x5b025d['__origMaterial']||(_0x5b025d['__origMaterial']=_0x5b025d['material']);const _0x7af9d9=null==(_0x13ac0e=_0x5b025d['userData'])?void 0x0:_0x13ac0e['isInertiaBox'],_0x4668e0=(null==(_0x6d6bca=_0x5b025d['userData'])?void 0x0:_0x6d6bca['isCollision'])||(null==(_0xe170ea=_0x5b025d['userData'])?void 0x0:_0xe170ea['isCollisionGeom']),_0xdc58f0=(null==(_0x444c5b=_0x5b025d['userData'])?void 0x0:_0x444c5b['isCenterOfMass'])||_0x5b025d['parent']&&(null==(_0x3fe6e0=_0x5b025d['parent']['userData'])?void 0x0:_0x3fe6e0['isCenterOfMass']);if(_0x7af9d9||_0x4668e0){const _0x517356=_0x5b025d['__origMaterial'];_0x517356['isMeshPhongMaterial']&&(_0x5b025d['material']=new _0x5096b9({'transparent':!0x0,'opacity':Math['min']((_0x517356['opacity']||0.35)+0.15,0.7),'shininess':_0x517356['shininess'],'premultipliedAlpha':_0x517356['premultipliedAlpha'],'color':_0x517356['color']['clone'](),'emissive':_0x517356['color']['clone'](),'emissiveIntensity':0.2,'polygonOffset':_0x517356['polygonOffset'],'polygonOffsetFactor':_0x517356['polygonOffsetFactor'],'polygonOffsetUnits':_0x517356['polygonOffsetUnits']}));}else if(_0xdc58f0){const _0x38412b=_0x5b025d['__origMaterial'];if(_0x38412b['isMeshBasicMaterial']){_0x5b025d['material']=new _0x1aacc9({'color':_0x38412b['color']['clone'](),'side':_0x38412b['side'],'depthTest':_0x38412b['depthTest'],'depthWrite':_0x38412b['depthWrite']});const _0x21e6ab={};_0x5b025d['material']['color']['getHSL'](_0x21e6ab),_0x5b025d['material']['color']['setHSL'](_0x21e6ab['h'],_0x21e6ab['s'],Math['min'](_0x21e6ab['l']+0.3,0x1));}}else _0x5b025d['material']=this['highlightMaterial'];}for(const _0x90ef55 of _0x5b025d['children'])_0x507f20(_0x90ef55,!0x1);}};_0x507f20(_0x411e9f,!0x0);}['unhighlightLinkGeometry'](_0x4ff6ca,_0x1de215){const _0x3a8478=(_0x1ccefb,_0x4610dc=!0x1)=>{if(_0x4610dc||'URDFLink'!==_0x1ccefb['type']&&!_0x1ccefb['isURDFLink']){if(_0x1ccefb['isURDFJoint']||'URDFJoint'===_0x1ccefb['type']){const _0x1b3cdf=_0x1ccefb['name'];let _0x7303d3=!0x1;if(_0x1b3cdf&&(null==_0x1de215?void 0x0:_0x1de215['joints'])&&_0x1de215['joints']['has'](_0x1b3cdf)){_0x7303d3='fixed'===_0x1de215['joints']['get'](_0x1b3cdf)['type'];}if(_0x7303d3){for(const _0x45485d of _0x1ccefb['children'])_0x3a8478(_0x45485d,!0x1);return;}return;}('Mesh'===_0x1ccefb['type']||_0x1ccefb['isMesh'])&&_0x1ccefb['__origMaterial']&&(_0x1ccefb['material']=_0x1ccefb['__origMaterial'],delete _0x1ccefb['__origMaterial']);for(const _0x3e5771 of _0x1ccefb['children'])_0x3a8478(_0x3e5771,!0x1);}};_0x3a8478(_0x4ff6ca,!0x0);}['isAuxiliaryVisualization'](_0x4e37a4){var _0x431ecd,_0x147e6f,_0x5b250b,_0xada7c7;return!!(null==(_0x431ecd=_0x4e37a4['userData'])?void 0x0:_0x431ecd['isInertiaBox'])||(!!(null==(_0x147e6f=_0x4e37a4['userData'])?void 0x0:_0x147e6f['isCOMMarker'])||(!!(null==(_0x5b250b=_0x4e37a4['userData'])?void 0x0:_0x5b250b['isCenterOfMass'])||!!(null==(_0xada7c7=_0x4e37a4['userData'])?void 0x0:_0xada7c7['isCollision'])));}['showHoverInfo'](_0x46885c,_0x238b0c){const _0x205099=document['getElementById']('hover-info'),_0x498f21=document['getElementById']('hover-joint-name'),_0xd0721c=document['getElementById']('hover-link-name'),_0x1f614b=document['getElementById']('hover-link-mass'),_0x3d52c4=document['getElementById']('hover-link-pose');if(!(_0x205099&&_0x498f21&&_0xd0721c&&_0x1f614b&&_0x3d52c4))return;_0xd0721c['textContent']='Link:\x20'+(_0x46885c['name']||'Unknown');let _0x46b978='None\x20(Base\x20Link)',_0x163469='',_0x5bb85d=_0x46885c['threeObject'];for(;_0x5bb85d;){const _0x23e1a7=_0x5bb85d['parent'];if(_0x23e1a7&&('URDFJoint'===_0x23e1a7['type']||_0x23e1a7['isURDFJoint'])){const _0xb2b74e=_0x23e1a7['name'];if(_0xb2b74e&&(null==_0x238b0c?void 0x0:_0x238b0c['joints'])&&_0x238b0c['joints']['has'](_0xb2b74e)){const _0x49c2b3=_0x238b0c['joints']['get'](_0xb2b74e);if('fixed'!==_0x49c2b3['type']){_0x46b978=_0xb2b74e,_0x163469=_0x49c2b3['type'];break;}const _0x47eb65=_0x23e1a7['parent'];if(_0x47eb65&&('URDFLink'===_0x47eb65['type']||_0x47eb65['isURDFLink'])){_0x5bb85d=_0x47eb65;continue;}}}break;}_0x498f21['textContent']=_0x163469?'Joint:\x20'+_0x46b978+'\x20('+_0x163469+')':'Joint:\x20'+_0x46b978;let _0x2d5d17=0x0,_0x155152=!0x1,_0x1be28a=[];const _0x2a7c22=(_0x316a2a,_0x497c2f=!0x0)=>{const _0x8898=_0x316a2a['name'];if(_0x8898&&(null==_0x238b0c?void 0x0:_0x238b0c['links'])&&_0x238b0c['links']['has'](_0x8898)){const _0x597b2b=_0x238b0c['links']['get'](_0x8898);_0x497c2f||_0x1be28a['push'](_0x8898),_0x597b2b['inertial']&&void 0x0!==_0x597b2b['inertial']['mass']&&_0x597b2b['inertial']['mass']>0x0&&(_0x2d5d17+=_0x597b2b['inertial']['mass'],_0x155152=!0x0);}for(const _0x280b84 of _0x316a2a['children'])if(_0x280b84['isURDFJoint']||'URDFJoint'===_0x280b84['type']){const _0x179dc0=_0x280b84['name'];if(_0x179dc0&&(null==_0x238b0c?void 0x0:_0x238b0c['joints'])&&_0x238b0c['joints']['has'](_0x179dc0)){if('fixed'===_0x238b0c['joints']['get'](_0x179dc0)['type'])for(const _0x26a230 of _0x280b84['children'])('URDFLink'===_0x26a230['type']||_0x26a230['isURDFLink'])&&_0x2a7c22(_0x26a230,!0x1);}}};_0x2a7c22(_0x46885c['threeObject'],!0x0),_0x1f614b['textContent']=_0x155152?'Mass:\x20'+_0x2d5d17['toFixed'](0x4)+'\x20kg':'Mass:\x20N/A';const _0x14dd3f=document['getElementById']('hover-merged-links');if(_0x14dd3f&&(_0x1be28a['length']>0x0?(_0x14dd3f['textContent']='Includes:\x20'+_0x1be28a['join'](',\x20'),_0x14dd3f['style']['display']='block'):_0x14dd3f['style']['display']='none'),_0x3d52c4&&_0x46885c['threeObject']){const _0x8cdc42=new _0x4a4464(),_0x4f93bd=new _0x446862(),_0x11126e=new _0x1b9ef9();_0x46885c['threeObject']['getWorldPosition'](_0x8cdc42),_0x46885c['threeObject']['getWorldQuaternion'](_0x4f93bd),_0x11126e['setFromQuaternion'](_0x4f93bd,'XYZ');const _0x39da32=0x4,_0x10784f=_0x4f93bd['x']['toFixed'](_0x39da32),_0x56da1a=_0x4f93bd['y']['toFixed'](_0x39da32),_0x487ef4=_0x4f93bd['z']['toFixed'](_0x39da32),_0x48f422=_0x4f93bd['w']['toFixed'](_0x39da32),_0x76b147=_0x11126e['x']['toFixed'](_0x39da32),_0x99ce6f=_0x11126e['y']['toFixed'](_0x39da32),_0x4353cd=_0x11126e['z']['toFixed'](_0x39da32),_0x534286=_0x3bb9f9['radToDeg'](_0x11126e['x'])['toFixed'](_0x39da32),_0x357427=_0x3bb9f9['radToDeg'](_0x11126e['y'])['toFixed'](_0x39da32),_0x523683=_0x3bb9f9['radToDeg'](_0x11126e['z'])['toFixed'](_0x39da32),_0x26a93f='Position\x20(world):\x0a-\x20x\x20=\x20'+_0x8cdc42['x']['toFixed'](_0x39da32)+'\x20m-\x20y\x20=\x20'+_0x8cdc42['y']['toFixed'](_0x39da32)+'\x20m-\x20z\x20=\x20'+_0x8cdc42['z']['toFixed'](_0x39da32)+'\x20m\x0a',_0x22db9f='Orientation\x20(world):\x0a-\x20Quat:\x20x='+_0x10784f+'\x20y='+_0x56da1a+'\x20z='+_0x487ef4+'\x20w='+_0x48f422+'\x0a-\x20RPY\x20(rad):\x20r='+_0x76b147+'\x20p='+_0x99ce6f+'\x20y='+_0x4353cd+'\x0a-\x20RPY\x20(deg):\x20r='+_0x534286+'\x20p='+_0x357427+'\x20y='+_0x523683+'\x0a';_0x3d52c4['textContent']=_0x26a93f+_0x22db9f,_0x3d52c4['style']['display']='block';}else _0x3d52c4&&(_0x3d52c4['textContent']='Link\x20pose:\x20N/A',_0x3d52c4['style']['display']='block');_0x205099['classList']['add']('visible');}['hideHoverInfo'](){const _0x3c058=document['getElementById']('hover-info');_0x3c058&&_0x3c058['classList']['remove']('visible');}['clearHighlight'](){this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],this['sceneManager']['currentModel']);}}class Di{constructor(_0x1512c7){this['sceneManager']=_0x1512c7,this['measurementHelper']=null;}['showMeasurement'](_0x5bc781,_0x92a35b,_0x2bf6f4,_0x4ee959,_0x1564df,_0x4747f7,_0x529163=!0x1){this['clearMeasurement']();const _0x158392=new _0x2026e8();_0x158392['name']='measurementHelper';if(_0x529163){const _0x564688=Math['abs'](_0x2bf6f4['y']),_0xed6fd1=new _0x22b5b9()['setFromPoints']([_0x5bc781,_0x92a35b]),_0x2f78f9=new _0x5eda87({'color':0xff00,'linewidth':0x3,'depthTest':!0x1}),_0xc7f979=new _0x287fe0(_0xed6fd1,_0x2f78f9);_0xc7f979['renderOrder']=0x3e7,_0x158392['add'](_0xc7f979);const _0x32707d=new _0x4a4464()['addVectors'](_0x5bc781,_0x92a35b)['multiplyScalar'](0.5),_0x14d9cf=this['createLabel']('Δh\x20'+(0x3e8*_0x564688)['toFixed'](0x1)+'mm',_0x32707d,'#00ff00');_0x158392['add'](_0x14d9cf);}else{const _0x5d1f40=new _0x22b5b9()['setFromPoints']([_0x5bc781,_0x92a35b]),_0x20d3c6=new _0x453726({'color':0xffff00,'dashSize':0.01,'gapSize':0.005,'linewidth':0x2,'depthTest':!0x1}),_0x2bbdee=new _0x287fe0(_0x5d1f40,_0x20d3c6);_0x2bbdee['computeLineDistances'](),_0x2bbdee['renderOrder']=0x3e7,_0x158392['add'](_0x2bbdee);const _0x1f6fd5=new _0x4a4464()['addVectors'](_0x5bc781,_0x92a35b)['multiplyScalar'](0.5),_0x5af51a=this['createLabel']((0x3e8*_0x4ee959)['toFixed'](0x1)+'mm',_0x1f6fd5,'#ffff00');if(_0x158392['add'](_0x5af51a),Math['abs'](_0x2bf6f4['x'])>0.001){const _0x254540=new _0x4a4464(_0x5bc781['x'],_0x5bc781['y'],_0x5bc781['z']),_0x454948=new _0x4a4464(_0x92a35b['x'],_0x5bc781['y'],_0x5bc781['z']),_0x1435bf=[_0x254540,_0x454948],_0x1c060d=new _0x22b5b9()['setFromPoints'](_0x1435bf),_0xdbf1e6=new _0x5eda87({'color':0xff0000,'linewidth':0x2,'depthTest':!0x1}),_0x1b6b0d=new _0x287fe0(_0x1c060d,_0xdbf1e6);_0x1b6b0d['renderOrder']=0x3e7,_0x158392['add'](_0x1b6b0d);const _0x2e7797=new _0x4a4464()['addVectors'](_0x254540,_0x454948)['multiplyScalar'](0.5),_0x5667aa=this['createLabel']('ΔX\x20'+(0x3e8*_0x2bf6f4['x'])['toFixed'](0x1)+'mm',_0x2e7797,'#ff0000');_0x158392['add'](_0x5667aa);}if(Math['abs'](_0x2bf6f4['y'])>0.001){const _0x29bf59=new _0x4a4464(_0x92a35b['x'],_0x5bc781['y'],_0x5bc781['z']),_0x3aa93c=new _0x4a4464(_0x92a35b['x'],_0x92a35b['y'],_0x5bc781['z']),_0x46a8ae=[_0x29bf59,_0x3aa93c],_0x5dc1a0=new _0x22b5b9()['setFromPoints'](_0x46a8ae),_0x16f6a6=new _0x5eda87({'color':0xff00,'linewidth':0x2,'depthTest':!0x1}),_0x1989fb=new _0x287fe0(_0x5dc1a0,_0x16f6a6);_0x1989fb['renderOrder']=0x3e7,_0x158392['add'](_0x1989fb);const _0xcebfc8=new _0x4a4464()['addVectors'](_0x29bf59,_0x3aa93c)['multiplyScalar'](0.5),_0x3877e7=this['createLabel']('ΔY\x20'+(0x3e8*_0x2bf6f4['y'])['toFixed'](0x1)+'mm',_0xcebfc8,'#00ff00');_0x158392['add'](_0x3877e7);}if(Math['abs'](_0x2bf6f4['z'])>0.001){const _0x2351c3=new _0x4a4464(_0x92a35b['x'],_0x92a35b['y'],_0x5bc781['z']),_0x11f640=new _0x4a4464(_0x92a35b['x'],_0x92a35b['y'],_0x92a35b['z']),_0x1559b8=[_0x2351c3,_0x11f640],_0x97450a=new _0x22b5b9()['setFromPoints'](_0x1559b8),_0x3ab42b=new _0x5eda87({'color':0xff,'linewidth':0x2,'depthTest':!0x1}),_0x2d7f74=new _0x287fe0(_0x97450a,_0x3ab42b);_0x2d7f74['renderOrder']=0x3e7,_0x158392['add'](_0x2d7f74);const _0x9b9761=new _0x4a4464()['addVectors'](_0x2351c3,_0x11f640)['multiplyScalar'](0.5),_0x2302c2=this['createLabel']('ΔZ\x20'+(0x3e8*_0x2bf6f4['z'])['toFixed'](0x1)+'mm',_0x9b9761,'#0000ff');_0x158392['add'](_0x2302c2);}}const _0x3bd203=new _0x1490e0(0.01,0x10,0x10),_0x48212a=new _0x1aacc9({'color':0xffff00,'depthTest':!0x1}),_0x3537bb=new _0x576ce4(_0x3bd203,_0x48212a);_0x3537bb['position']['copy'](_0x5bc781),_0x3537bb['renderOrder']=0x3e8,_0x158392['add'](_0x3537bb);const _0x19417e=new _0x576ce4(_0x3bd203,_0x48212a);_0x19417e['position']['copy'](_0x92a35b),_0x19417e['renderOrder']=0x3e8,_0x158392['add'](_0x19417e),this['sceneManager']['scene']['add'](_0x158392),this['measurementHelper']=_0x158392,this['sceneManager']['redraw']();}['createLabel'](_0x4af723,_0x52b647,_0x2e8443){const _0x30c119=document['createElement']('canvas'),_0x232f7b=_0x30c119['getContext']('2d');_0x30c119['width']=0x100,_0x30c119['height']=0x40,_0x232f7b['clearRect'](0x0,0x0,_0x30c119['width'],_0x30c119['height']),_0x232f7b['font']='Bold\x2032px\x20Arial',_0x232f7b['textAlign']='center',_0x232f7b['textBaseline']='middle',_0x232f7b['strokeStyle']='rgba(0,\x200,\x200,\x200.8)',_0x232f7b['lineWidth']=0x4,_0x232f7b['strokeText'](_0x4af723,0x80,0x20),_0x232f7b['fillStyle']=_0x2e8443,_0x232f7b['fillText'](_0x4af723,0x80,0x20);const _0x5f037b=new _0x61d2e6(_0x30c119),_0x4089a9=new _0x5148c7({'map':_0x5f037b,'depthTest':!0x1,'depthWrite':!0x1,'transparent':!0x0}),_0x448e30=new _0x303e6f(_0x4089a9);return _0x448e30['position']['copy'](_0x52b647),_0x448e30['scale']['set'](0.18,0.045,0x1),_0x448e30['renderOrder']=0x3e8,_0x448e30;}['clearMeasurement'](){this['measurementHelper']&&(this['sceneManager']['scene']['remove'](this['measurementHelper']),this['measurementHelper']=null,this['sceneManager']['redraw']());}['clear'](){this['clearMeasurement']();}}class Pi{constructor(_0x4fa1ab){this['canvas']=_0x4fa1ab,this['scene']=new _0x18553b(),this['_dirty']=!0x1,this['_pendingRender']=!0x1,this['_renderingPaused']=!0x1,this['_eventListeners']={};const _0x1be76b=_0x4fa1ab['clientWidth'],_0x3c0c6b=_0x4fa1ab['clientHeight'];this['camera']=new _0xe52e6c(0x4b,_0x1be76b/_0x3c0c6b,0.1,0x3e8),this['camera']['position']['set'](0x2,0x2,0x2),this['camera']['lookAt'](0x0,0x0,0x0),this['renderer']=new _0x3f7489({'canvas':_0x4fa1ab,'antialias':!0x0}),this['renderer']['setSize'](_0x1be76b,_0x3c0c6b),this['renderer']['setPixelRatio'](window['devicePixelRatio']),this['renderer']['shadowMap']['enabled']=!0x0,this['renderer']['shadowMap']['type']=_0x19a9d7,this['labelRenderer']=new Ne(),this['labelRenderer']['setSize'](_0x1be76b,_0x3c0c6b),this['labelRenderer']['domElement']['style']['position']='absolute',this['labelRenderer']['domElement']['style']['top']='0',this['labelRenderer']['domElement']['style']['pointerEvents']='none',this['labelRenderer']['domElement']['style']['zIndex']='1',_0x4fa1ab['parentElement']['appendChild'](this['labelRenderer']['domElement']),this['controls']=new Oe(this['camera'],_0x4fa1ab),this['controls']['enableDamping']=!0x1,this['controls']['enablePan']=!0x0,this['controls']['panSpeed']=0x1,this['controls']['enableZoom']=!0x0,this['controls']['enableRotate']=!0x0,this['controls']['screenSpacePanning']=!0x0,this['controls']['target']['set'](0x0,0x0,0x0),this['controls']['addEventListener']('change',()=>this['redraw']()),this['controls']['mouseButtons']&&(this['controls']['mouseButtons']['LEFT']=_0x3de759['ROTATE'],this['controls']['mouseButtons']['MIDDLE']=_0x3de759['DOLLY'],this['controls']['mouseButtons']['RIGHT']=_0x3de759['PAN']),this['updateBackgroundColor'](),this['setupThemeListener'](),this['environmentManager']=new Ci(this['scene']),this['environmentManager']['setupLights'](),this['environmentManager']['setupGroundPlane'](),this['environmentManager']['initializeEnvironmentMap'](this['renderer']),this['groundPlane']=this['environmentManager']['groundPlane'],this['referenceGrid']=this['environmentManager']['referenceGrid'],this['directionalLight']=this['environmentManager']['getDirectionalLight'](),this['ambientLight']=this['environmentManager']['lights']['ambient'],this['fillLight']=this['environmentManager']['lights']['fill'],this['visualizationManager']=new ji(this),this['inertialVisualization']=new ki(this),this['constraintManager']=new Ti(this),this['axesManager']=new Oi(this),this['highlightManager']=new Fi(this),this['measurementManager']=new Di(this),this['_renderScale']=0x1,this['currentModel']=null,this['ignoreLimits']=!0x1,this['baseOrientationGroup']=null,this['worldAxes']=null,this['dragControls']=null,this['setupResizeObserver'](),this['_contextLost']=!0x1,this['setupContextLossHandling'](),this['startRenderLoop'](),this['redraw']();}['startRenderLoop'](){const _0x370db5=()=>{this['_dirty']&&!this['_contextLost']&&(this['renderer']['render'](this['scene'],this['camera']),this['labelRenderer']['render'](this['scene'],this['camera']),this['_dirty']=!0x1),this['_renderLoopId']=requestAnimationFrame(_0x370db5);};_0x370db5();}['stopRenderLoop'](){this['_renderLoopId']&&(cancelAnimationFrame(this['_renderLoopId']),this['_renderLoopId']=null),this['resizeObserver']&&(this['resizeObserver']['disconnect'](),this['resizeObserver']=null),this['_onContextLost']&&(this['canvas']['removeEventListener']('webglcontextlost',this['_onContextLost']),this['_onContextLost']=null),this['_onContextRestored']&&(this['canvas']['removeEventListener']('webglcontextrestored',this['_onContextRestored']),this['_onContextRestored']=null);}['setupContextLossHandling'](){this['_onContextLost']=_0x54b2aa=>{_0x54b2aa['preventDefault'](),this['_contextLost']=!0x0,this['_showContextLostOverlay'](),this['emit']('contextLost');},this['_onContextRestored']=()=>{if(this['_contextLost']=!0x1,this['environmentManager'])try{this['environmentManager']['regenerateEnvironmentMap'](this['renderer'],!0x0);}catch(_0x4f1be6){}this['renderer']['shadowMap']['enabled']&&(this['renderer']['shadowMap']['needsUpdate']=!0x0),this['_hideContextLostOverlay'](),this['redraw'](),this['emit']('contextRestored');},this['canvas']['addEventListener']('webglcontextlost',this['_onContextLost']),this['canvas']['addEventListener']('webglcontextrestored',this['_onContextRestored']);}['_showContextLostOverlay'](){if(this['_contextLostOverlay'])return;const _0x52d647=(_0x467bba,_0x49ff25)=>window['i18n']&&'function'==typeof window['i18n']['t']&&window['i18n']['t'](_0x467bba)!==_0x467bba?window['i18n']['t'](_0x467bba):_0x49ff25,_0x557ea3=document['createElement']('div');_0x557ea3['id']='webgl-context-lost-overlay',_0x557ea3['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x20inset:\x200;\x20z-index:\x2050;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x2010px;\x20padding:\x2024px;\x20text-align:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(0,\x200,\x200,\x200.72);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#fff;\x20font-size:\x2014px;\x20line-height:\x201.6;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20backdrop-filter:\x20blur(2px);\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0x2f8683=document['createElement']('div');_0x2f8683['style']['cssText']='font-size:\x2016px;\x20font-weight:\x20600;',_0x2f8683['textContent']=_0x52d647('webglContextLostTitle','3D\x20渲染已暂停');const _0x349906=document['createElement']('div');_0x349906['style']['cssText']='max-width:\x20420px;\x20opacity:\x200.85;',_0x349906['textContent']=_0x52d647('webglContextLostDetail','浏览器回收了\x20GPU\x20资源(通常发生在标签页长时间处于后台)。正在等待自动恢复,模型无需重新加载。'),_0x557ea3['appendChild'](_0x2f8683),_0x557ea3['appendChild'](_0x349906),(this['canvas']['parentElement']||document['body'])['appendChild'](_0x557ea3),this['_contextLostOverlay']=_0x557ea3;}['_hideContextLostOverlay'](){var _0x58fd09;(null==(_0x58fd09=this['_contextLostOverlay'])?void 0x0:_0x58fd09['parentNode'])&&this['_contextLostOverlay']['parentNode']['removeChild'](this['_contextLostOverlay']),this['_contextLostOverlay']=null;}['hasPendingRender'](){return this['_dirty'];}['redraw'](){this['_dirty']=!0x0;}['pauseRendering'](){this['_renderingPaused']=!0x0;}['resumeRendering'](){this['_renderingPaused']=!0x1;}['render'](){this['_renderingPaused']||(this['_contextLost']?this['_dirty']=!0x0:(this['renderer']['render'](this['scene'],this['camera']),this['labelRenderer']['render'](this['scene'],this['camera']),this['_dirty']=!0x1));}['addModel'](_0xd0e096){if(this['currentModel']&&this['currentModel']['threeObject']&&this['removeModel'](this['currentModel']),this['currentModel']=_0xd0e096,!_0xd0e096['threeObject'])return;const _0x40990b=!_0xd0e096['joints']||0x0===_0xd0e096['joints']['size'];if(_0x40990b)this['scene']['add'](_0xd0e096['threeObject']);else{this['world']||(this['world']=new _0x3ce289(),this['scene']['add'](this['world']),this['world']['rotation']['set'](-Math['PI']/0x2,0x0,0x0));const _0x2ee9e7=document['getElementById']('up-select');if(_0x2ee9e7&&this['setUp'](_0x2ee9e7['value']||'+Z'),this['baseOrientationGroup']||(this['baseOrientationGroup']=new _0x2026e8(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['baseOrientationGroup']['parent']!==this['world']&&this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](_0xd0e096['threeObject']),!this['worldAxes']){const _0x2d5242=new _0x2026e8();_0x2d5242['name']='worldAxes',_0x2d5242['visible']=!0x1;const _0x486352=1.5,_0x398290=0.02,_0x4febd0=new _0x19a545(_0x398290,_0x398290,_0x486352,0x8),_0x19c96d=new _0x1aacc9({'color':0xff0000}),_0x3a1b41=new _0x576ce4(_0x4febd0,_0x19c96d);_0x3a1b41['position']['x']=_0x486352/0x2,_0x3a1b41['rotation']['z']=-Math['PI']/0x2,_0x2d5242['add'](_0x3a1b41);const _0x260fe4=new _0x1aacc9({'color':0xff00}),_0x574a08=new _0x576ce4(_0x4febd0,_0x260fe4);_0x574a08['position']['y']=_0x486352/0x2,_0x2d5242['add'](_0x574a08);const _0x2fae60=new _0x1aacc9({'color':0xff}),_0x55b2a0=new _0x576ce4(_0x4febd0,_0x2fae60);_0x55b2a0['position']['z']=_0x486352/0x2,_0x55b2a0['rotation']['x']=Math['PI']/0x2,_0x2d5242['add'](_0x55b2a0),_0x2d5242['renderOrder']=0x3e7,_0x2d5242['traverse'](_0x12a944=>{_0x12a944['material']&&(_0x12a944['material']['depthTest']=!0x1,_0x12a944['material']['depthWrite']=!0x1);}),this['worldAxes']=_0x2d5242,this['world']['add'](this['worldAxes']);}}this['visualizationManager']['extractVisualAndCollision'](_0xd0e096);let _0x1b919e=0x1;try{if(_0xd0e096['threeObject']){const _0x4e2e47=this['computeRobustBoundingBox'](_0xd0e096['threeObject']);if(!_0x4e2e47['isEmpty']()){const _0x329749=_0x4e2e47['getSize'](new _0x4a4464());_0x1b919e=Math['max'](_0x329749['x'],_0x329749['y'],_0x329749['z']);}}}catch(_0x59863c){}this['axesManager']['clearAllLinkAxes'](),this['axesManager']['modelSize']=_0x1b919e,_0xd0e096['links']&&_0xd0e096['links']['forEach']((_0x4732f9,_0x430953)=>{this['axesManager']['createLinkAxes'](_0x4732f9,_0x430953,_0x1b919e);}),this['axesManager']['clearAllJointAxes'](),_0xd0e096['joints']&&_0xd0e096['joints']['forEach']((_0x37cdd3,_0x47c6ff)=>{this['axesManager']['createJointAxis'](_0x37cdd3,_0x47c6ff);}),this['inertialVisualization']['extractInertialProperties'](_0xd0e096),this['constraintManager']['visualizeConstraints'](_0xd0e096,this['world']),_0xd0e096['constraints']&&_0xd0e096['constraints']['size']>0x0&&this['constraintManager']['applyConstraints'](_0xd0e096,null),this['initDragControls'](_0xd0e096),this['updateEnvironment'](!0x1,!0x0),_0x40990b?requestAnimationFrame(()=>{requestAnimationFrame(()=>{this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0xd0e096);});}):(setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0xd0e096);},0x64),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0xd0e096),this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0xd0e096);},0x3e8),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0xd0e096),this['updateEnvironment'](!0x1,!0x0);},0x9c4));}['removeModel'](_0x569c3a){_0x569c3a&&_0x569c3a['threeObject']&&_0x569c3a['threeObject']['parent']&&_0x569c3a['threeObject']['parent']['remove'](_0x569c3a['threeObject']),this['baseOrientationGroup']&&this['baseOrientationGroup']['quaternion']['identity'](),this['axesManager']['clear'](),this['visualizationManager']['clear'](),this['inertialVisualization']['clear'](),this['constraintManager']['clear'](),this['measurementManager']['clear'](),this['highlightManager']['clearHighlight'](),this['dragControls']&&(this['dragControls']['dispose'](),this['dragControls']=null),this['currentModel']=null;}['addAuxiliaryModel'](_0x32fd02,_0x3fc0a2,_0x5dd86c={'x':0x0,'y':0x0,'z':0x0},_0x24e93b=null,_0x59d8e5=null){}['removeAuxiliaryModel'](_0x32af6c){}['getAuxiliaryModel'](_0x281ef3){return null;}['setAuxiliaryModelVisibility'](_0x22f361,_0x49fd7e){const _0x221e6f=this['auxiliaryModels']['get'](_0x22f361);_0x221e6f&&_0x221e6f['wrapper']&&(_0x221e6f['wrapper']['visible']=_0x49fd7e,this['redraw']());}['computeRobustBoundingBox'](_0x46b939){const _0x3f801b=[];_0x46b939['updateMatrixWorld'](!0x0);const _0x4071d1=_0xa53388=>{if(!_0xa53388['userData']||!_0xa53388['userData']['excludeFromBBox']){if(_0xa53388['isMesh']&&_0xa53388['geometry']){const _0x22daef=new _0x364b55()['setFromObject'](_0xa53388);if(!_0x22daef['isEmpty']()){const _0x5b1a1e=_0x22daef['getCenter'](new _0x4a4464());Number['isFinite'](_0x5b1a1e['x'])&&Number['isFinite'](_0x5b1a1e['y'])&&Number['isFinite'](_0x5b1a1e['z'])&&_0x3f801b['push']({'box':_0x22daef,'center':_0x5b1a1e});}}for(let _0x2a88d2=0x0;_0x2a88d2<_0xa53388['children']['length'];_0x2a88d2++)_0x4071d1(_0xa53388['children'][_0x2a88d2]);}};_0x4071d1(_0x46b939);const _0x5f5586=new _0x364b55();if(0x0===_0x3f801b['length'])return _0x5f5586;if(_0x3f801b['length']<=0x2)return _0x3f801b['forEach'](_0x308ea6=>_0x5f5586['union'](_0x308ea6['box'])),_0x5f5586;const _0x4ec633=_0x121108=>{const _0xb5a574=[..._0x121108]['sort']((_0x56ed6b,_0x37da98)=>_0x56ed6b-_0x37da98),_0x455cd0=Math['floor'](_0xb5a574['length']/0x2);return _0xb5a574['length']%0x2?_0xb5a574[_0x455cd0]:(_0xb5a574[_0x455cd0-0x1]+_0xb5a574[_0x455cd0])/0x2;},_0x55ce61=new _0x4a4464(_0x4ec633(_0x3f801b['map'](_0x267635=>_0x267635['center']['x'])),_0x4ec633(_0x3f801b['map'](_0x33a7cb=>_0x33a7cb['center']['y'])),_0x4ec633(_0x3f801b['map'](_0x75732a=>_0x75732a['center']['z']))),_0x414abb=_0x3f801b['map'](_0x38950e=>_0x38950e['center']['distanceTo'](_0x55ce61)),_0x4e03ec=_0x4ec633(_0x414abb),_0x5d8adc=_0x4ec633(_0x414abb['map'](_0x19a396=>Math['abs'](_0x19a396-_0x4e03ec))),_0x318ae7=Math['max'](_0x4e03ec+0xa*(_0x5d8adc>0.000001?_0x5d8adc:Math['max'](_0x4e03ec,0.5)),0x1);let _0x4fb201=0x0;return _0x3f801b['forEach']((_0x4e6abb,_0x307303)=>{_0x414abb[_0x307303]<=_0x318ae7&&(_0x5f5586['union'](_0x4e6abb['box']),_0x4fb201++);}),0x0===_0x4fb201&&_0x3f801b['forEach'](_0xb65327=>_0x5f5586['union'](_0xb65327['box'])),_0x5f5586;}['updateEnvironment'](_0x4baae7=!0x1,_0xb6a64b=!0x1){const _0x29d5a8=this['currentModel'];if(!_0x29d5a8||!_0x29d5a8['threeObject'])return;this['world']&&this['world']['updateMatrixWorld'](!0x0),_0x29d5a8['threeObject']['updateMatrixWorld'](!0x0);const _0x4814b6=this['computeRobustBoundingBox'](_0x29d5a8['threeObject']);if(_0x4814b6['isEmpty']())return;const _0x529b4a=_0x4814b6['getCenter'](new _0x4a4464()),_0x3800a5=_0x4814b6['getSize'](new _0x4a4464()),_0x4fd968=_0x4814b6['min']['y'];let _0x5eb08b=!0x1;if(this['groundPlane']&&_0xb6a64b){const _0x3523fa=_0x4fd968,_0x2ff20b=this['groundPlane']['position']['y'];this['groundPlane']['position']['y']=_0x3523fa,this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x3523fa,this['referenceGrid']['updateMatrixWorld'](!0x0)),Math['abs'](_0x2ff20b-_0x3523fa)>0.000001&&(_0x5eb08b=!0x0);}_0x4baae7&&this['fitCameraToModel'](_0x4814b6,_0x529b4a,_0x3800a5),_0x5eb08b&&this['onMeasurementUpdate']&&this['onMeasurementUpdate']();const _0x5214c3=this['directionalLight'];if(_0x5214c3&&_0x5214c3['castShadow']){const _0x1cc7d7=_0x4814b6['getBoundingSphere'](new _0x4d1928())['radius'],_0x94c66a=_0x5214c3['shadow']['camera'];_0x94c66a['left']=_0x94c66a['bottom']=-_0x1cc7d7,_0x94c66a['right']=_0x94c66a['top']=_0x1cc7d7;const _0x10b5bc=_0x5214c3['position']['clone']()['sub'](_0x5214c3['target']['position']);_0x5214c3['target']['position']['copy'](_0x529b4a),_0x5214c3['position']['copy'](_0x529b4a)['add'](_0x10b5bc),_0x94c66a['updateProjectionMatrix']();}this['redraw']();}['fitCameraToModel'](_0x2ba998,_0xcb600f,_0x206adf){const _0x5b1226=Math['max'](_0x206adf['x'],_0x206adf['y'],_0x206adf['z']);if(_0x5b1226<0.001)return;const _0x4dcab5=this['camera']['fov']*(Math['PI']/0xb4),_0xf42920=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size']?2.5:1.8,_0x923a4d=_0x5b1226/(0x2*Math['tan'](_0x4dcab5/0x2))*_0xf42920,_0x35be49=0x3*Math['PI']/0x4,_0x5a6449=Math['PI']/0x6,_0x1e9313=new _0x4a4464(_0x923a4d*Math['cos'](_0x5a6449)*Math['sin'](_0x35be49),_0x923a4d*Math['sin'](_0x5a6449),-_0x923a4d*Math['cos'](_0x5a6449)*Math['cos'](_0x35be49));this['camera']['position']['copy'](_0xcb600f)['add'](_0x1e9313),this['controls']['target']['copy'](_0xcb600f),this['controls']['update'](),this['camera']['updateProjectionMatrix'](),this['redraw']();}['setUp'](_0x2b03b6){_0x2b03b6||(_0x2b03b6='+Z');const _0x55dd9f=(_0x2b03b6=_0x2b03b6['toUpperCase']())['replace'](/[^-+]/g,'')[0x0]||'+',_0x52e720=_0x2b03b6['replace'](/[^XYZ]/gi,'')[0x0]||'Z',_0x432c51=Math['PI'],_0x424e1f=_0x432c51/0x2;this['world']||(this['world']=new _0x3ce289(),this['scene']['add'](this['world']),this['currentModel']&&this['currentModel']['threeObject']&&this['currentModel']['threeObject']['parent']===this['scene']&&(this['scene']['remove'](this['currentModel']['threeObject']),this['baseOrientationGroup']||(this['baseOrientationGroup']=new _0x2026e8(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](this['currentModel']['threeObject']))),'X'===_0x52e720?this['world']['rotation']['set'](0x0,0x0,'+'===_0x55dd9f?_0x424e1f:-_0x424e1f):'Z'===_0x52e720?this['world']['rotation']['set']('+'===_0x55dd9f?-_0x424e1f:_0x424e1f,0x0,0x0):'Y'===_0x52e720&&this['world']['rotation']['set']('+'===_0x55dd9f?0x0:_0x432c51,0x0,0x0),this['world']['updateMatrixWorld'](!0x0),this['redraw']();}['setBaseOrientation'](_0x4c395d){this['baseOrientationGroup']&&Array['isArray'](_0x4c395d)&&0x4===_0x4c395d['length']&&(this['baseOrientationGroup']['quaternion']['set'](_0x4c395d[0x0],_0x4c395d[0x1],_0x4c395d[0x2],_0x4c395d[0x3]),this['redraw']());}['getBaseOrientation'](){if(!this['baseOrientationGroup'])return[0x0,0x0,0x0,0x1];const _0x1357c8=this['baseOrientationGroup']['quaternion'];return[_0x1357c8['x'],_0x1357c8['y'],_0x1357c8['z'],_0x1357c8['w']];}['resetBaseOrientation'](){this['baseOrientationGroup']&&(this['baseOrientationGroup']['quaternion']['identity'](),this['redraw']());}['setWorldAxesVisible'](_0x226250){this['worldAxes']&&(this['worldAxes']['visible']=_0x226250,this['redraw']());}['isWorldAxesVisible'](){return!!this['worldAxes']&&this['worldAxes']['visible'];}['setGroundVisible'](_0x294bd5){this['groundPlane']&&(this['groundPlane']['visible']=_0x294bd5,this['redraw']());}['focusObject'](_0x5d9f71){if(!_0x5d9f71)return;const _0x4f0b15=new _0x364b55()['setFromObject'](_0x5d9f71),_0x560e3c=_0x4f0b15['getCenter'](new _0x4a4464()),_0x6a2590=_0x4f0b15['getSize'](new _0x4a4464()),_0x54e8b4=Math['max'](_0x6a2590['x'],_0x6a2590['y'],_0x6a2590['z']),_0x518160=this['camera']['fov']*(Math['PI']/0xb4);let _0x53a83c=1.5*Math['abs'](_0x54e8b4/Math['sin'](_0x518160/0x2));const _0x5831aa=new _0x4a4464();this['camera']['getWorldDirection'](_0x5831aa);const _0x340bdd=_0x560e3c['clone']()['sub'](_0x5831aa['multiplyScalar'](_0x53a83c));this['camera']['position']['copy'](_0x340bdd),this['controls']['target']['copy'](_0x560e3c),this['controls']['update'](),this['redraw']();}['initDragControls'](_0xa906ec){this['dragControls']&&this['dragControls']['dispose'](),this['dragControls']=new Ze(this['scene'],this['camera'],this['canvas'],_0xa906ec),this['dragControls']['renderer']=this['renderer'],_0xa906ec&&(_0xa906ec['userData']||(_0xa906ec['userData']={}),_0xa906ec['userData']['ignoreLimits']=this['ignoreLimits'],_0xa906ec['threeObject']&&(_0xa906ec['threeObject']['userData']||(_0xa906ec['threeObject']['userData']={}),_0xa906ec['threeObject']['userData']['ignoreLimits']=this['ignoreLimits'])),this['dragControls']['model']=_0xa906ec,this['dragControls']['onUpdateJoint']=(_0x3e1634,_0x3fdb5c)=>{!(this['ignoreLimits']||_0xa906ec&&_0xa906ec['userData']&&_0xa906ec['userData']['ignoreLimits']||this['dragControls']&&this['dragControls']['model']&&this['dragControls']['model']['userData']&&this['dragControls']['model']['userData']['ignoreLimits'])&&_0x3e1634['limits']&&(_0x3fdb5c=Math['max'](_0x3e1634['limits']['lower'],Math['min'](_0x3e1634['limits']['upper'],_0x3fdb5c))),Ei['setJointAngle'](_0xa906ec,_0x3e1634['name'],_0x3fdb5c),_0x3e1634['currentValue']=_0x3fdb5c,this['constraintManager']['applyConstraints'](_0xa906ec,_0x3e1634);const _0x11ee08=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x3e1634['name']+'\x22]');if(_0x11ee08){_0x11ee08['value']=_0x3fdb5c;const _0x351737=document['querySelector']('input[data-joint-input=\x22'+_0x3e1634['name']+'\x22]');if(_0x351737){const _0x4b349b=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x351737['value']='deg'===_0x4b349b?(0xb4*_0x3fdb5c/Math['PI'])['toFixed'](0x2):_0x3fdb5c['toFixed'](0x2);}}this['redraw'](),this['onMeasurementUpdate']&&this['onMeasurementUpdate']();},this['dragControls']['onHover']=_0x519743=>{_0x519743&&this['highlightManager']['highlightLink'](_0x519743,this['currentModel']);},this['dragControls']['onUnhover']=_0x298dee=>{_0x298dee&&this['highlightManager']['unhighlightLink'](_0x298dee,this['currentModel']);},this['dragControls']['onDragStart']=_0x2692dc=>{if(this['controls']['enabled']=!0x1,_0x2692dc&&_0x2692dc['threeObject']){let _0x488904=_0x2692dc['threeObject'];for(;_0x488904;){const _0x62d20c=_0x488904['parent'];if(_0x62d20c&&('URDFJoint'===_0x62d20c['type']||_0x62d20c['isURDFJoint'])){const _0x2a7686=_0x62d20c['name'];if(_0x2a7686&&_0xa906ec['joints']&&_0xa906ec['joints']['has'](_0x2a7686)){const _0x418148=_0xa906ec['joints']['get'](_0x2a7686);if('fixed'!==_0x418148['type']){this['axesManager']['showOnlyJointAxis'](_0x418148);break;}}}_0x488904=_0x62d20c;}}},this['dragControls']['onDragEnd']=_0x3cc956=>{this['controls']['enabled']=!0x0,this['axesManager']['restoreAllJointAxes'](),this['updateEnvironment']();};}['setIgnoreLimits'](_0x44d1cb){this['ignoreLimits']=_0x44d1cb,this['currentModel']&&(this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['ignoreLimits']=_0x44d1cb,this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['userData']||(this['currentModel']['threeObject']['userData']={}),this['currentModel']['threeObject']['userData']['ignoreLimits']=_0x44d1cb)),this['dragControls']&&this['dragControls']['model']&&(this['dragControls']['model']['userData']||(this['dragControls']['model']['userData']={}),this['dragControls']['model']['userData']['ignoreLimits']=_0x44d1cb,this['dragControls']['model']['threeObject']&&(this['dragControls']['model']['threeObject']['userData']||(this['dragControls']['model']['threeObject']['userData']={}),this['dragControls']['model']['threeObject']['userData']['ignoreLimits']=_0x44d1cb));}['showMeshCoordinateSystem'](_0x95ab56){if(!_0x95ab56)return;this['clearMeshHelper']();let _0x313c4f=null;if(_0x95ab56['traverse'](_0x413098=>{_0x413098['isMesh']&&!_0x313c4f&&(_0x313c4f=_0x413098);}),!_0x313c4f)return;_0x313c4f['geometry']['computeBoundingBox']();const _0xd58c5b=new _0x364b55()['setFromObject'](_0x313c4f),_0x26ebed=_0xd58c5b['getSize'](new _0x4a4464()),_0x2a693b=Math['max'](_0x26ebed['x'],_0x26ebed['y'],_0x26ebed['z']);_0xd58c5b['getCenter'](new _0x4a4464());const _0x43db72=Math['max'](2.5*_0x2a693b,0.5),_0x338cfd=new _0x2026e8();_0x338cfd['name']='meshCoordinateAxes';const _0x3dc1d2=Math['max'](0.02*_0x43db72,0.008),_0x3ea8f2=new _0x19a545(_0x3dc1d2,_0x3dc1d2,_0x43db72,0x10),_0xacfd08=new _0x5096b9({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0,'side':_0x781cf8}),_0xc79d56=new _0x576ce4(_0x3ea8f2,_0xacfd08);_0xc79d56['position']['x']=_0x43db72/0x2,_0xc79d56['rotation']['z']=-Math['PI']/0x2,_0xc79d56['castShadow']=!0x1,_0xc79d56['receiveShadow']=!0x1,_0xc79d56['name']='xAxis',_0x338cfd['add'](_0xc79d56);const _0x4d5d6b=new _0x5096b9({'color':0xff00,'shininess':0x1e,'depthTest':!0x0,'side':_0x781cf8}),_0x4a72a0=new _0x576ce4(_0x3ea8f2,_0x4d5d6b);_0x4a72a0['position']['y']=_0x43db72/0x2,_0x4a72a0['castShadow']=!0x1,_0x4a72a0['receiveShadow']=!0x1,_0x4a72a0['name']='yAxis',_0x338cfd['add'](_0x4a72a0);const _0x4a20d2=new _0x5096b9({'color':0xff,'shininess':0x1e,'depthTest':!0x0,'side':_0x781cf8}),_0x1ba563=new _0x576ce4(_0x3ea8f2,_0x4a20d2);_0x1ba563['position']['z']=_0x43db72/0x2,_0x1ba563['rotation']['x']=Math['PI']/0x2,_0x1ba563['castShadow']=!0x1,_0x1ba563['receiveShadow']=!0x1,_0x1ba563['name']='zAxis',_0x338cfd['add'](_0x1ba563),_0x95ab56['add'](_0x338cfd);const _0x3c52db=new _0x4fc26c(_0x313c4f['geometry']),_0x2d384b=new _0x5eda87({'color':0xff00,'linewidth':0x1,'transparent':!0x0,'opacity':0.6,'depthTest':!0x0}),_0x33988f=new _0x53de03(_0x3c52db,_0x2d384b);_0x33988f['name']='meshWireframe',_0x313c4f['parent']&&(_0x33988f['position']['copy'](_0x313c4f['position']),_0x33988f['rotation']['copy'](_0x313c4f['rotation']),_0x33988f['scale']['copy'](_0x313c4f['scale']),_0x313c4f['parent']['add'](_0x33988f)),this['meshCoordinateAxes']=_0x338cfd,this['meshWireframe']=_0x33988f,_0x338cfd['parent']&&_0x338cfd['parent']['updateMatrixWorld'](!0x0),_0x33988f&&_0x33988f['parent']&&_0x33988f['parent']['updateMatrixWorld'](!0x0),this['redraw'](),this['render'](),requestAnimationFrame(()=>{this['redraw'](),this['render']();}),this['highlightManager']['clearHighlight'](),this['redraw']();}['clearMeshHelper'](){this['meshCoordinateAxes']&&(this['meshCoordinateAxes']['parent']&&this['meshCoordinateAxes']['parent']['remove'](this['meshCoordinateAxes']),this['meshCoordinateAxes']=null),this['meshWireframe']&&(this['meshWireframe']['parent']&&this['meshWireframe']['parent']['remove'](this['meshWireframe']),this['meshWireframe']=null),this['redraw']();}['updateVisualTransparency'](){const _0x5bee38=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size'];this['visualizationManager']['updateVisualTransparency'](this['inertialVisualization']['showCOM'],this['axesManager']['hasVisibleLinkAxes'](),this['axesManager']['hasVisibleJointAxes'](),_0x5bee38);}['setupThemeListener'](){new MutationObserver(()=>{this['updateBackgroundColor']();})['observe'](document['documentElement'],{'attributes':!0x0,'attributeFilter':['data-theme']});}['updateBackgroundColor'](){const _0x371e7b=document['documentElement']['getAttribute']('data-theme')||'dark';this['scene']['background']=new _0x5dc695('light'===_0x371e7b?0xffffff:0x2a2a2e),this['environmentManager']&&this['environmentManager']['updateGridColorForTheme'](_0x371e7b),this['redraw']();}['setupResizeObserver'](){const _0x749ab8=this['canvas']['parentElement'];_0x749ab8?(this['resizeObserver']=new ResizeObserver(_0x491df1=>{for(const _0x442001 of _0x491df1)if(_0x442001['contentBoxSize']){const _0x3a1016=Array['isArray'](_0x442001['contentBoxSize'])?_0x442001['contentBoxSize'][0x0]:_0x442001['contentBoxSize'],_0x4fb7f3=_0x3a1016['inlineSize'],_0x4eb536=_0x3a1016['blockSize'];this['handleResize'](_0x4fb7f3,_0x4eb536);}else this['onWindowResize']();}),this['resizeObserver']['observe'](_0x749ab8)):window['addEventListener']('resize',()=>this['onWindowResize']());}['_applyRendererSize'](_0x393a41,_0x38e9ed){const _0x565029=_0x393a41||this['canvas']['clientWidth']||this['canvas']['width'],_0x482311=_0x38e9ed||this['canvas']['clientHeight']||this['canvas']['height'];_0x565029&&_0x482311&&(this['renderer']['setPixelRatio'](window['devicePixelRatio']*this['_renderScale']),this['renderer']['setSize'](_0x565029,_0x482311,!0x0),this['labelRenderer']['setSize'](_0x565029,_0x482311));}['setRenderScale'](_0x313222){const _0x51a330=Math['min'](0x1,Math['max'](0.25,Number(_0x313222)||0x1));_0x51a330!==this['_renderScale']&&(this['_renderScale']=_0x51a330,this['_applyRendererSize'](),this['redraw']());}['getRenderScale'](){return this['_renderScale'];}['handleResize'](_0x47ed23,_0x15116b){0x0!==_0x47ed23&&0x0!==_0x15116b&&isFinite(_0x47ed23)&&isFinite(_0x15116b)&&(this['camera']['aspect']=_0x47ed23/_0x15116b,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0x47ed23,_0x15116b),this['render']());}['onWindowResize'](){const _0x1e4348=this['canvas']['clientWidth'],_0x2ff325=this['canvas']['clientHeight'];0x0!==_0x1e4348&&0x0!==_0x2ff325&&(this['camera']['aspect']=_0x1e4348/_0x2ff325,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0x1e4348,_0x2ff325),this['render']());}['on'](_0xb4cb06,_0x3800b1){this['_eventListeners'][_0xb4cb06]||(this['_eventListeners'][_0xb4cb06]=[]),this['_eventListeners'][_0xb4cb06]['push'](_0x3800b1);}['off'](_0x31d8e2,_0x42a615){this['_eventListeners'][_0x31d8e2]&&(this['_eventListeners'][_0x31d8e2]=this['_eventListeners'][_0x31d8e2]['filter'](_0x7d6051=>_0x7d6051!==_0x42a615));}['emit'](_0x308a73,..._0x10a1bf){this['_eventListeners'][_0x308a73]&&this['_eventListeners'][_0x308a73]['forEach'](_0xf3a7cf=>_0xf3a7cf(..._0x10a1bf));}['update'](){this['controls']['update']();}}class Ii{constructor(_0x19241a){this['sceneManager']=_0x19241a,this['angleUnit']='rad';}['setupControlPanel'](){const _0x22311d=document['getElementById']('show-visual'),_0x330b8d=document['getElementById']('show-collision'),_0xab4ab6=document['getElementById']('show-com'),_0x319674=document['getElementById']('show-inertia'),_0x3e27af=document['getElementById']('ignore-limits'),_0x41d134=(_0x596d87,_0x432cd9)=>{if(!_0x596d87)return;const _0x16439c=!_0x596d87['classList']['contains']('active');_0x16439c?_0x596d87['classList']['add']('active'):_0x596d87['classList']['remove']('active'),_0x596d87['setAttribute']('data-checked',_0x16439c['toString']()),_0x432cd9&&_0x432cd9(_0x16439c);};if(this['sceneManager']&&_0x22311d){const _0x13453a=_0x22311d['classList']['contains']('active');this['sceneManager']['visualizationManager']['showVisual']=_0x13453a;}this['sceneManager']&&_0x330b8d&&(this['sceneManager']['visualizationManager']['showCollision']=_0x330b8d['classList']['contains']('active')),this['sceneManager']&&_0xab4ab6&&(this['sceneManager']['inertialVisualization']['showCOM']=_0xab4ab6['classList']['contains']('active')),this['sceneManager']&&_0x319674&&(this['sceneManager']['inertialVisualization']['showInertia']=_0x319674['classList']['contains']('active')),this['sceneManager']&&_0x3e27af&&(this['sceneManager']['ignoreLimits']=!_0x3e27af['classList']['contains']('active')),_0x22311d&&_0x22311d['addEventListener']('click',()=>{_0x41d134(_0x22311d,_0x2d816f=>{var _0x55ded3;this['sceneManager']['visualizationManager']['toggleVisual'](_0x2d816f,this['sceneManager']['currentModel']);const _0x96d8a=null==(_0x55ded3=window['app'])?void 0x0:_0x55ded3['mujocoSimulationManager'];_0x96d8a&&_0x96d8a['hasScene']()&&_0x96d8a['toggleVisualDisplay'](_0x2d816f),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x330b8d&&_0x330b8d['addEventListener']('click',()=>{_0x41d134(_0x330b8d,_0xed58c7=>{var _0x466c95;this['sceneManager']['visualizationManager']['toggleCollision'](_0xed58c7);const _0x28be1a=null==(_0x466c95=window['app'])?void 0x0:_0x466c95['mujocoSimulationManager'];_0x28be1a&&_0x28be1a['hasScene']()&&_0x28be1a['toggleCollisionDisplay'](_0xed58c7),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0xab4ab6&&_0xab4ab6['addEventListener']('click',()=>{_0x41d134(_0xab4ab6,_0x3496e9=>{var _0x5b9026;this['sceneManager']['inertialVisualization']['toggleCenterOfMass'](_0x3496e9,this['sceneManager']['currentModel']);const _0x9f3af1=null==(_0x5b9026=window['app'])?void 0x0:_0x5b9026['mujocoSimulationManager'];_0x9f3af1&&_0x9f3af1['hasScene']()&&_0x9f3af1['toggleCOMDisplay'](_0x3496e9),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x319674&&_0x319674['addEventListener']('click',()=>{_0x41d134(_0x319674,_0xbaa47d=>{var _0x2cca58;this['sceneManager']['inertialVisualization']['toggleInertia'](_0xbaa47d,this['sceneManager']['currentModel']);const _0x532a97=null==(_0x2cca58=window['app'])?void 0x0:_0x2cca58['mujocoSimulationManager'];_0x532a97&&_0x532a97['hasScene']()&&_0x532a97['toggleInertiaDisplay'](_0xbaa47d),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x3e27af&&_0x3e27af['addEventListener']('click',()=>{_0x41d134(_0x3e27af,_0x2e5332=>{var _0x5721de;this['sceneManager']['setIgnoreLimits'](!_0x2e5332),null==(_0x5721de=this['onIgnoreLimitsChanged'])||_0x5721de['call'](this,!_0x2e5332);});});const _0x381e83=document['getElementById']('up-select');_0x381e83&&_0x381e83['addEventListener']('change',_0x56b796=>{this['sceneManager']['setUp'](_0x56b796['target']['value']);});const _0x265be5=document['getElementById']('unit-rad'),_0xd12fd5=document['getElementById']('unit-deg');_0x265be5&&_0x265be5['addEventListener']('click',()=>{var _0x34352c;this['angleUnit']='rad',_0x265be5['classList']['add']('active'),_0xd12fd5&&_0xd12fd5['classList']['remove']('active'),null==(_0x34352c=this['onAngleUnitChanged'])||_0x34352c['call'](this,this['angleUnit']);}),_0xd12fd5&&_0xd12fd5['addEventListener']('click',()=>{var _0x535641;this['angleUnit']='deg',_0xd12fd5['classList']['add']('active'),_0x265be5&&_0x265be5['classList']['remove']('active'),null==(_0x535641=this['onAngleUnitChanged'])||_0x535641['call'](this,this['angleUnit']);});const _0x37ddcb=document['getElementById']('reset-joints-btn');_0x37ddcb&&_0x37ddcb['addEventListener']('click',()=>{var _0x185a4a;null==(_0x185a4a=this['onResetJoints'])||_0x185a4a['call'](this);});const _0x54f51a=document['getElementById']('mujoco-reset-btn-bar');_0x54f51a&&_0x54f51a['addEventListener']('click',()=>{var _0xd35b66;null==(_0xd35b66=this['onMujocoReset'])||_0xd35b66['call'](this);});const _0x123bfd=document['getElementById']('mujoco-simulate-btn-bar');_0x123bfd&&_0x123bfd['addEventListener']('click',async()=>{var _0x59b90a,_0x31cbc3;const _0x379bcb=await(null==(_0x59b90a=this['onMujocoToggleSimulate'])?void 0x0:_0x59b90a['call'](this));if(void 0x0!==_0x379bcb){_0x123bfd['classList']['toggle']('active',_0x379bcb);const _0x4b1314=_0x123bfd['querySelector']('span');if(_0x4b1314){const _0x2c2ced=_0x379bcb?'mujocoPause':'mujocoSimulate';_0x4b1314['textContent']=(null==(_0x31cbc3=window['i18n'])?void 0x0:_0x31cbc3['t'](_0x2c2ced))||(_0x379bcb?'Pause':'Simulate'),_0x4b1314['setAttribute']('data-i18n',_0x2c2ced);}}});}['setupThemeToggle'](_0x2933df){const _0x1e66e3=document['getElementById']('theme-toggle');if(!_0x1e66e3)return;const _0x5da1c0=localStorage['getItem']('theme')||'dark';document['documentElement']['setAttribute']('data-theme',_0x5da1c0),this['updateThemeIcon'](_0x5da1c0),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),_0x1e66e3['addEventListener']('click',()=>{const _0x45a390='dark'===document['documentElement']['getAttribute']('data-theme')?'light':'dark';document['documentElement']['setAttribute']('data-theme',_0x45a390),localStorage['setItem']('theme',_0x45a390),this['updateThemeIcon'](_0x45a390),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),null==_0x2933df||_0x2933df(_0x45a390);});}['setupLanguageToggle'](_0x141d8e){var _0x1b597c;const _0x4dc15d=document['getElementById']('language-toggle');if(!_0x4dc15d)return;const _0xd6cd90=(null==(_0x1b597c=window['i18n'])?void 0x0:_0x1b597c['getCurrentLanguage']())||'zh-CN';this['updateLanguageIcon'](_0xd6cd90),_0x4dc15d['addEventListener']('click',()=>{var _0x53944f;const _0x3ce931='zh-CN'===((null==(_0x53944f=window['i18n'])?void 0x0:_0x53944f['getCurrentLanguage']())||'zh-CN')?'en-US':'zh-CN';null==_0x141d8e||_0x141d8e(_0x3ce931),this['updateLanguageIcon'](_0x3ce931);});}['updateLanguageIcon'](_0x74330e){const _0x1faddb=document['getElementById']('language-toggle'),_0x2bc135=null==_0x1faddb?void 0x0:_0x1faddb['querySelector']('.tool-button-text');_0x2bc135&&(_0x2bc135['textContent']='zh-CN'===_0x74330e?'Language':'语言');}['updateThemeIcon'](_0x139414){const _0x2eaf6f=document['getElementById']('theme-toggle'),_0x89292b=null==_0x2eaf6f?void 0x0:_0x2eaf6f['querySelector']('.tool-button-icon');_0x89292b&&(_0x89292b['textContent']='dark'===_0x139414?'🌙':'☀️');}['setupPanelCloseButtons'](){const _0x51f9fe={'floating-files-panel':'toggle-files-panel','floating-joints-panel':'toggle-joints-panel','floating-model-tree':'toggle-model-tree','floating-help-panel':'help-button','floating-ros-panel':'toggle-ros-panel','virtual-camera-panel':'toggle-virtual-camera-panel','floating-orientation-panel':'toggle-orientation-panel','mocap-control-panel':'toggle-mocap-panel','joint-info-panel':'toggle-joint-info-panel'};document['querySelectorAll']('.panel-close-btn')['forEach'](_0x4ea05c=>{_0x4ea05c['addEventListener']('click',_0x5f1777=>{_0x5f1777['stopPropagation']();const _0x54eea4=_0x4ea05c['getAttribute']('data-panel'),_0x41476b=document['getElementById'](_0x54eea4),_0x58e937=_0x51f9fe[_0x54eea4],_0x303477=_0x58e937?document['getElementById'](_0x58e937):null;if(_0x41476b){'none'!==_0x41476b['style']['display']&&(_0x41476b['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x41476b['style']['opacity']='0',_0x41476b['style']['transform']='scale(0.95)',setTimeout(()=>{_0x41476b['style']['display']='none',_0x41476b['style']['opacity']='',_0x41476b['style']['transform']='','floating-orientation-panel'===_0x54eea4&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0x303477&&_0x303477['classList']['remove']('active'));}});}),Object['entries'](_0x51f9fe)['forEach'](([_0x34e326,_0x570a39])=>{const _0x883072=document['getElementById'](_0x570a39),_0x15b1ea=document['getElementById'](_0x34e326);_0x883072&&_0x15b1ea&&_0x883072['addEventListener']('click',()=>{'none'!==_0x15b1ea['style']['display']&&'none'!==getComputedStyle(_0x15b1ea)['display']?(_0x15b1ea['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x15b1ea['style']['opacity']='0',_0x15b1ea['style']['transform']='scale(0.95)',setTimeout(()=>{_0x15b1ea['style']['display']='none',_0x15b1ea['style']['opacity']='',_0x15b1ea['style']['transform']='','floating-orientation-panel'===_0x34e326&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0x883072['classList']['remove']('active')):(_0x15b1ea['style']['display']='flex',_0x15b1ea['style']['opacity']='0',_0x15b1ea['style']['transform']='scale(0.95)',_0x15b1ea['offsetHeight'],_0x15b1ea['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x15b1ea['style']['opacity']='1',_0x15b1ea['style']['transform']='scale(1)',setTimeout(()=>{_0x15b1ea['style']['transition']='';},0xc8),_0x883072['classList']['add']('active'),'floating-orientation-panel'===_0x34e326&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x0));});});}['setupAxesToggle'](){const _0x36ee67=document['getElementById']('toggle-axes-btn');_0x36ee67&&_0x36ee67['addEventListener']('click',()=>{window['app']&&window['app']['axesControlPanel']&&window['app']['axesControlPanel']['toggle']();});}['setupJointAxesToggle'](){const _0x2ae369=document['getElementById']('toggle-joint-axes-btn');_0x2ae369&&_0x2ae369['addEventListener']('click',()=>{window['app']&&window['app']['jointAxesControlPanel']&&window['app']['jointAxesControlPanel']['toggle']();});}['setupShadowToggle'](){const _0x547651=document['getElementById']('toggle-shadow');_0x547651&&_0x547651['addEventListener']('click',()=>{const _0x59bb18=!('true'===_0x547651['getAttribute']('data-checked'));_0x547651['setAttribute']('data-checked',_0x59bb18['toString']()),_0x59bb18?(_0x547651['classList']['add']('active'),this['sceneManager']['visualizationManager']['toggleShadow'](!0x0,this['sceneManager']['renderer'],this['sceneManager']['directionalLight']),this['sceneManager']['axesManager']['ensureAxesNoShadow'](),this['sceneManager']['updateEnvironment'](),this['sceneManager']['redraw'](),this['sceneManager']['render']()):(_0x547651['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleShadow'](!0x1,this['sceneManager']['renderer'],this['sceneManager']['directionalLight']),this['sceneManager']['redraw'](),this['sceneManager']['render']());});}['setupLightingToggle'](){const _0x2f324f=document['getElementById']('toggle-lighting');_0x2f324f&&_0x2f324f['addEventListener']('click',()=>{const _0x14142b=!('true'===_0x2f324f['getAttribute']('data-checked'));_0x2f324f['setAttribute']('data-checked',_0x14142b['toString']()),_0x14142b?(_0x2f324f['classList']['add']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x0)):(_0x2f324f['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x1)),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}['setupAll'](_0x234f1b={}){this['onAngleUnitChanged']=_0x234f1b['onAngleUnitChanged'],this['onIgnoreLimitsChanged']=_0x234f1b['onIgnoreLimitsChanged'],this['onResetJoints']=_0x234f1b['onResetJoints'],this['onMujocoReset']=_0x234f1b['onMujocoReset'],this['onMujocoToggleSimulate']=_0x234f1b['onMujocoToggleSimulate'],this['onApplyAngles']=_0x234f1b['onApplyAngles'],this['onSetHome']=_0x234f1b['onSetHome'],this['onSelectAll']=_0x234f1b['onSelectAll'],this['onResetToHome']=_0x234f1b['onResetToHome'],this['onToggleShowMimic']=_0x234f1b['onToggleShowMimic'],this['setupControlPanel'](),this['setupThemeToggle'](_0x234f1b['onThemeChanged']),this['setupLanguageToggle'](_0x234f1b['onLanguageChanged']),this['setupPanelCloseButtons'](),this['setupAxesToggle'](),this['setupJointAxesToggle'](),this['setupShadowToggle'](),this['setupLightingToggle'](),this['setupBatchOperationButtons']();}['setupBatchOperationButtons'](){const _0xac3ef3=document['getElementById']('show-mimic-btn'),_0x2e28fb=document['querySelector']('.apply-angles-btn'),_0x2f8115=document['querySelector']('.set-home-btn'),_0x2c0f76=document['querySelector']('.reset-home-btn'),_0x227638=document['getElementById']('select-all-btn');_0xac3ef3&&_0xac3ef3['addEventListener']('click',()=>{const _0x399184=!_0xac3ef3['classList']['contains']('active');_0xac3ef3['classList']['toggle']('active',_0x399184),this['onToggleShowMimic']&&this['onToggleShowMimic'](_0x399184);}),_0x2e28fb&&this['onApplyAngles']&&_0x2e28fb['addEventListener']('click',()=>{this['onApplyAngles']();}),_0x2f8115&&this['onSetHome']&&_0x2f8115['addEventListener']('click',()=>{this['onSetHome']();}),_0x2c0f76&&this['onResetToHome']&&_0x2c0f76['addEventListener']('click',()=>{this['onResetToHome']();}),_0x227638&&this['onSelectAll']&&_0x227638['addEventListener']('click',()=>{this['onSelectAll']();});}['getAngleUnit'](){return this['angleUnit'];}}class Ri{constructor(){this['fileMap']=new Map(),this['availableModels']=[],this['currentModelFile']=null,this['onModelLoaded']=null,this['usdViewerManager']=null;}['setUSDViewerManager'](_0x2e08ab){this['usdViewerManager']=_0x2e08ab;}['setUSDViewerInitializer'](_0x2f1f6d){this['usdViewerInitializer']=_0x2f1f6d;}['setupFileDrop'](){const _0x12624b=document['body'],_0x31d6b9=_0x568d50=>{_0x568d50['preventDefault'](),_0x568d50['stopPropagation']();};['dragenter','dragover','dragleave','drop']['forEach'](_0x7d6384=>{_0x12624b['addEventListener'](_0x7d6384,_0x31d6b9,!0x1);});let _0x43d62c=0x0;_0x12624b['addEventListener']('dragenter',_0x470efc=>{_0x43d62c++;const _0x298118=document['getElementById']('drop-zone');_0x298118&&_0x298118['classList']['add']('drag-over');},!0x1),_0x12624b['addEventListener']('dragleave',_0x24e632=>{if(_0x43d62c--,0x0===_0x43d62c){const _0x33c2e4=document['getElementById']('drop-zone');_0x33c2e4&&_0x33c2e4['classList']['remove']('drag-over');}},!0x1),_0x12624b['addEventListener']('drop',_0x54dd24=>{_0x43d62c=0x0;const _0x278758=document['getElementById']('drop-zone');_0x278758&&_0x278758['classList']['remove']('drag-over'),this['handleDrop'](_0x54dd24);},!0x1);}async['handleDrop'](_0x403760){var _0x5c3f46;const _0x5d2f0a=_0x403760['dataTransfer']['items'];if(!_0x5d2f0a||0x0===_0x5d2f0a['length'])return;this['fileMap']['clear']();const _0x572edc=[];for(let _0x3a62ac=0x0;_0x3a62ac<_0x5d2f0a['length'];_0x3a62ac++){const _0x1b5574=_0x5d2f0a[_0x3a62ac];if(_0x1b5574['webkitGetAsEntry']){const _0x2b582f=_0x1b5574['webkitGetAsEntry']();_0x2b582f&&_0x572edc['push'](_0x2b582f);}}if(_0x572edc['length']>0x0)await this['processEntries'](_0x572edc);else{const _0x171423=_0x403760['dataTransfer']['files'];if(_0x171423['length']>0x0){for(const _0x93373d of _0x171423){const _0x382809=_0x93373d['webkitRelativePath']||_0x93373d['name'];this['fileMap']['set'](_0x382809,_0x93373d),_0x93373d['webkitRelativePath']||this['fileMap']['set'](_0x93373d['name'],_0x93373d);}const _0x440fec=await this['findAllLoadableFiles'](Array['from'](_0x171423));_0x440fec['length']>0x0&&(this['availableModels']=_0x440fec,null==(_0x5c3f46=this['onFilesLoaded'])||_0x5c3f46['call'](this,_0x440fec),await this['loadFileOrMesh'](_0x440fec[0x0]));}}}async['processEntries'](_0x41e7c7){var _0x19e761,_0xdc33d9;const _0x25b71e=[];for(const _0x621ed of _0x41e7c7)if(_0x621ed['isFile']){const _0x4a9019=await pt(_0x621ed),_0x51ba40=_0x621ed['fullPath']||_0x621ed['name'];this['fileMap']['set'](_0x51ba40,_0x4a9019),_0x25b71e['push'](_0x4a9019);}else if(_0x621ed['isDirectory']){const _0x54d86d=await this['readDirectory'](_0x621ed);_0x25b71e['push'](..._0x54d86d);}if(0x0===_0x25b71e['length'])return;const _0x3f2574=await this['findAllLoadableFiles'](_0x25b71e);0x0!==_0x3f2574['length']?(this['availableModels']=_0x3f2574,null==(_0xdc33d9=this['onFilesLoaded'])||_0xdc33d9['call'](this,_0x3f2574),_0x3f2574['length']>0x0&&await this['loadFileOrMesh'](_0x3f2574[0x0])):null==(_0x19e761=this['onFilesLoaded'])||_0x19e761['call'](this,[]);}async['readDirectory'](_0x546691){const _0x2c493a=[];return new Promise((_0x4c76dd,_0x29da27)=>{const _0x57a647=_0x546691['createReader'](),_0x3f9305=()=>{_0x57a647['readEntries'](async _0x6efead=>{if(0x0!==_0x6efead['length']){for(const _0x571da6 of _0x6efead)if(_0x571da6['isFile']){const _0x502c19=await pt(_0x571da6),_0x44d6f0=_0x571da6['fullPath']||_0x571da6['name'];this['fileMap']['set'](_0x44d6f0,_0x502c19),_0x2c493a['push'](_0x502c19);}else if(_0x571da6['isDirectory']){const _0x2f6f0b=await this['readDirectory'](_0x571da6);_0x2c493a['push'](..._0x2f6f0b);}_0x3f9305();}else _0x4c76dd(_0x2c493a);},_0x29da27);};_0x3f9305();});}async['findAllLoadableFiles'](_0x39b588){const _0x344358={'model':['urdf','xacro','xml','usd','usda','usdc','usdz'],'mesh':['dae','stl','obj','collada'],'config':['yml','yaml']},_0x5b3a97=[],_0x2c9851=_0x39b588['map'](async _0x2e263d=>{const _0x5c4bcd=_0x2e263d['name']['toLowerCase']()['split']('.')['pop']();if(_0x344358['model']['includes'](_0x5c4bcd)){if('xml'!==_0x5c4bcd){const _0x9b46b5=function(_0x76c5f7){return{'urdf':'urdf','xacro':'xacro','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x76c5f7]||'unknown';}(_0x5c4bcd);return{'file':_0x2e263d,'name':_0x2e263d['name'],'type':_0x9b46b5,'path':_0x2e263d['webkitRelativePath']||_0x2e263d['name'],'category':'model'};}try{const _0x3646e0=await dt(_0x2e263d),_0xa93448=Ei['detectFileType'](_0x2e263d['name'],_0x3646e0);return _0xa93448?{'file':_0x2e263d,'name':_0x2e263d['name'],'type':_0xa93448,'path':_0x2e263d['webkitRelativePath']||_0x2e263d['name'],'category':'model'}:null;}catch(_0x6cb4bd){return null;}}else{if(_0x344358['mesh']['includes'](_0x5c4bcd))return{'file':_0x2e263d,'name':_0x2e263d['name'],'type':'mesh','path':_0x2e263d['webkitRelativePath']||_0x2e263d['name'],'category':'mesh'};if(_0x344358['config']['includes'](_0x5c4bcd))return{'file':_0x2e263d,'name':_0x2e263d['name'],'type':'config','path':_0x2e263d['webkitRelativePath']||_0x2e263d['name'],'category':'config'};}return null;});return(await Promise['all'](_0x2c9851))['forEach'](_0x5cefe7=>{_0x5cefe7&&_0x5b3a97['push'](_0x5cefe7);}),_0x5b3a97['sort']((_0x2a27d3,_0x4d9eb1)=>{const _0x59389f={'model':0x0,'mesh':0x1,'config':0x2},_0x50a89c=_0x59389f[_0x2a27d3['category']]??0x63,_0x44a51e=_0x59389f[_0x4d9eb1['category']]??0x63;return _0x50a89c!==_0x44a51e?_0x50a89c-_0x44a51e:_0x2a27d3['name']['localeCompare'](_0x4d9eb1['name']);}),_0x5b3a97;}async['loadFileOrMesh'](_0x220fb3){'model'===_0x220fb3['category']?await this['loadFile'](_0x220fb3['file']):'mesh'===_0x220fb3['category']&&await this['loadMeshAsModel'](_0x220fb3['file'],_0x220fb3['name']);}async['loadFile'](_0xcefd96){var _0x1db946,_0x1c4626,_0x7e18a1,_0x23e58d,_0x34262f,_0x42ec0f;this['currentModelFile']=_0xcefd96;try{const _0x5b33fb=_0xcefd96['name']['toLowerCase']();let _0x4f947d=_0xcefd96['name'];for(const [_0x2f065a,_0x4ee125]of this['fileMap']['entries']())if(_0x4ee125===_0xcefd96){_0x4f947d=_0x2f065a;break;}let _0x533812=null,_0x196915=null,_0x1b2dad=0x1/0x0,_0x1c6090=null;for(const [_0x2d3b04,_0x225fc0]of this['fileMap']['entries']())if('vr_configs.yml'===_0x225fc0['name']||_0x2d3b04['endsWith']('/vr_configs.yml')||'vr_configs.yml'===_0x2d3b04){const _0x6d25e0=(_0x2d3b04['match'](/\//g)||[])['length'];_0x6d25e0<_0x1b2dad&&(_0x1b2dad=_0x6d25e0,_0x196915=_0x225fc0,_0x1c6090=_0x2d3b04);}if(_0x196915)try{_0x533812=await dt(_0x196915);}catch(_0x36006b){}if(_0x5b33fb['endsWith']('.usd')||_0x5b33fb['endsWith']('.usda')||_0x5b33fb['endsWith']('.usdc')||_0x5b33fb['endsWith']('.usdz')){if(!this['usdViewerManager']&&this['usdViewerInitializer'])try{await this['usdViewerInitializer']();}catch(_0x275e8f){return;}0x0===this['fileMap']['size']&&this['fileMap']['set'](_0xcefd96['name'],_0xcefd96);const _0x38b872=await Ei['loadModel']('usd',null,_0x4f947d,this['fileMap'],_0xcefd96,{'usdViewerManager':this['usdViewerManager']});return null==(_0x1db946=this['onModelLoaded'])||_0x1db946['call'](this,_0x38b872,_0xcefd96,!0x1,null),null==(_0x1c4626=document['getElementById']('drop-zone'))||_0x1c4626['classList']['remove']('show'),void(null==(_0x7e18a1=document['getElementById']('drop-zone'))||_0x7e18a1['classList']['remove']('drag-over'));}const _0x3dc05d=await dt(_0xcefd96);if(this['isUSDCBinaryContent'](_0x3dc05d))return;const _0x461b87=Ei['detectFileType'](_0xcefd96['name'],_0x3dc05d);if(!_0x461b87)return;0x0===this['fileMap']['size']&&this['fileMap']['set'](_0xcefd96['name'],_0xcefd96);const _0xb5138=await Ei['loadModel'](_0x461b87,_0x3dc05d,_0x4f947d,this['fileMap'],_0xcefd96,{'usdViewerManager':this['usdViewerManager'],'vrConfigContent':_0x533812});null==(_0x23e58d=this['onModelLoaded'])||_0x23e58d['call'](this,_0xb5138,_0xcefd96,!0x1,null),null==(_0x34262f=document['getElementById']('drop-zone'))||_0x34262f['classList']['remove']('show'),null==(_0x42ec0f=document['getElementById']('drop-zone'))||_0x42ec0f['classList']['remove']('drag-over');}catch(_0x1a4c59){_0x1a4c59['message']&&(_0x1a4c59['message']['includes']('USDC')||_0x1a4c59['message']['includes']('binary\x20format'));const _0x47194e=document['getElementById']('canvas-snapshot');(null==_0x47194e?void 0x0:_0x47194e['parentNode'])&&_0x47194e['parentNode']['removeChild'](_0x47194e);}}['isUSDCBinaryContent'](_0x3009fb){if(!_0x3009fb||'string'!=typeof _0x3009fb)return!0x1;if(_0x3009fb['startsWith']('PXR-USDC'))return!0x0;if((_0x3009fb['substring'](0x0,0x64)['match'](/\x00/g)||[])['length']>0xa)return!0x0;if(_0x3009fb['includes']('#usda')||_0x3009fb['includes']('def\x20')&&_0x3009fb['includes']('{'))return!0x1;const _0x4d6036=_0x3009fb['charCodeAt'](0x0);return _0x4d6036<0x20&&0xa!==_0x4d6036&&0xd!==_0x4d6036&&0x9!==_0x4d6036&&0x20!==_0x4d6036;}['createLoadingSnapshot'](){const _0x179eac=document['getElementById']('canvas');if(!_0x179eac)return null;try{const _0x189f4e=_0x179eac['toDataURL']('image/png'),_0x63417a=document['createElement']('div');_0x63417a['id']='canvas-snapshot',_0x63417a['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-image:\x20url('+_0x189f4e+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-size:\x20cover;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-position:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20var(--bg-primary);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-repeat:\x20no-repeat;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x202;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';const _0x5eb3dd=document['getElementById']('canvas-container');return _0x5eb3dd&&_0x5eb3dd['appendChild'](_0x63417a),_0x63417a;}catch(_0x4a1529){return null;}}['removeLoadingSnapshot'](_0x10c75c){_0x10c75c&&_0x10c75c['parentNode']&&(_0x10c75c['style']['transition']='opacity\x200.3s\x20ease',_0x10c75c['style']['opacity']='0',setTimeout(()=>{_0x10c75c['parentNode']&&_0x10c75c['parentNode']['removeChild'](_0x10c75c);},0x12c));}async['loadMeshAsModel'](_0x418666,_0x5c5efa){var _0x3a70dc;try{const _0x52b5e1=await Ei['loadMeshFileDirect'](_0x418666,_0x5c5efa);if(!_0x52b5e1)throw new Error(window['i18n']['t']('cannotLoadMesh'));_0x52b5e1['traverse'](_0x316f3f=>{var _0x265f42;if(_0x316f3f['isMesh']){if('MeshBasicMaterial'===(null==(_0x265f42=_0x316f3f['material'])?void 0x0:_0x265f42['type'])){const _0x21ef86=_0x316f3f['material'];_0x316f3f['material']=new _0x5096b9({'color':_0x21ef86['color'],'map':_0x21ef86['map'],'transparent':_0x21ef86['transparent'],'opacity':_0x21ef86['opacity'],'side':_0x21ef86['side'],'shininess':0x1e}),_0x316f3f['material']['map']&&(_0x316f3f['material']['map']['colorSpace']=_0xef5128);}_0x316f3f['castShadow']=!0x0,_0x316f3f['receiveShadow']=!0x0;}});const _0x5d0bf9={'name':_0x5c5efa,'rootLink':'mesh_root','links':new Map([['mesh_root',{'name':'mesh_root','threeObject':_0x52b5e1,'visuals':[{'threeObject':_0x52b5e1,'geometry':{'mesh':_0x5c5efa}}],'inertial':null}]]),'joints':new Map(),'threeObject':_0x52b5e1};this['currentModelFile']=_0x418666,null==(_0x3a70dc=this['onModelLoaded'])||_0x3a70dc['call'](this,_0x5d0bf9,_0x418666,!0x0,null);}catch(_0x4eaff8){const _0x9b6494=document['getElementById']('canvas-snapshot');(null==_0x9b6494?void 0x0:_0x9b6494['parentNode'])&&_0x9b6494['parentNode']['removeChild'](_0x9b6494);}}['getFileMap'](){return this['fileMap'];}['getAvailableModels'](){return this['availableModels'];}['getCurrentModelFile'](){return this['currentModelFile'];}}class zi{static['updateURDFJointLimits'](_0x4c695b,_0xcb2808,_0x2f6e5f){try{const _0x2874d1=new RegExp('<joint[^>]*name=\x22'+_0xcb2808['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+'\x22[^>]*>([\x5cs\x5cS]*?)</joint>','g')['exec'](_0x4c695b);if(!_0x2874d1)return _0x4c695b;const _0x533186=_0x2874d1[0x0];let _0x3acef4=_0x533186;const _0x306637=/<limit([^>]*)>/,_0x507bfb=_0x306637['exec'](_0x533186);if(_0x507bfb){let _0x10d71e=_0x507bfb[0x0];const _0x1ba644=_0x507bfb[0x1];void 0x0!==_0x2f6e5f['lower']&&null!==_0x2f6e5f['lower']&&(_0x10d71e=_0x1ba644['includes']('lower=')?_0x10d71e['replace'](/lower="[^"]*"/,'lower=\x22'+_0x2f6e5f['lower']+'\x22'):_0x10d71e['replace'](/>$/,'\x20lower=\x22'+_0x2f6e5f['lower']+'\x22>')),void 0x0!==_0x2f6e5f['upper']&&null!==_0x2f6e5f['upper']&&(_0x10d71e=_0x1ba644['includes']('upper=')?_0x10d71e['replace'](/upper="[^"]*"/,'upper=\x22'+_0x2f6e5f['upper']+'\x22'):_0x10d71e['replace'](/>$/,'\x20upper=\x22'+_0x2f6e5f['upper']+'\x22>')),void 0x0!==_0x2f6e5f['effort']&&null!==_0x2f6e5f['effort']&&(_0x10d71e=_0x1ba644['includes']('effort=')?_0x10d71e['replace'](/effort="[^"]*"/,'effort=\x22'+_0x2f6e5f['effort']+'\x22'):_0x10d71e['replace'](/>$/,'\x20effort=\x22'+_0x2f6e5f['effort']+'\x22>')),void 0x0!==_0x2f6e5f['velocity']&&null!==_0x2f6e5f['velocity']&&(_0x10d71e=_0x1ba644['includes']('velocity=')?_0x10d71e['replace'](/velocity="[^"]*"/,'velocity=\x22'+_0x2f6e5f['velocity']+'\x22'):_0x10d71e['replace'](/>$/,'\x20velocity=\x22'+_0x2f6e5f['velocity']+'\x22>')),_0x3acef4=_0x533186['replace'](_0x306637,_0x10d71e);}else{const _0x23ca6b=[];if(void 0x0!==_0x2f6e5f['lower']&&null!==_0x2f6e5f['lower']&&_0x23ca6b['push']('lower=\x22'+_0x2f6e5f['lower']+'\x22'),void 0x0!==_0x2f6e5f['upper']&&null!==_0x2f6e5f['upper']&&_0x23ca6b['push']('upper=\x22'+_0x2f6e5f['upper']+'\x22'),void 0x0!==_0x2f6e5f['effort']&&null!==_0x2f6e5f['effort']&&_0x23ca6b['push']('effort=\x22'+_0x2f6e5f['effort']+'\x22'),void 0x0!==_0x2f6e5f['velocity']&&null!==_0x2f6e5f['velocity']&&_0x23ca6b['push']('velocity=\x22'+_0x2f6e5f['velocity']+'\x22'),_0x23ca6b['length']>0x0){const _0x49146f='\x20\x20\x20\x20<limit\x20'+_0x23ca6b['join']('\x20')+'/>';_0x3acef4=_0x533186['replace']('</joint>',_0x49146f+'\x0a\x20\x20</joint>');}}return _0x4c695b['replace'](_0x533186,_0x3acef4);}catch(_0x472c15){return _0x4c695b;}}static['updateMultipleJointLimits'](_0x439b9c,_0x5a7ccb){let _0x3325ee=_0x439b9c;for(let [_0xfb5da8,_0x30e4b8]of _0x5a7ccb['entries']())_0x3325ee=this['updateURDFJointLimits'](_0x3325ee,_0xfb5da8,_0x30e4b8);return _0x3325ee;}}class Ni{constructor(_0x521d0b){this['sceneManager']=_0x521d0b,this['angleUnit']='rad',this['initialJointValues']=new Map(),this['codeEditorManager']=null,this['isUpdatingFromEditor']=!0x1,this['onJointChange']=null,this['selectedJoints']=new Set(),this['currentModel']=null,this['_allSelected']=!0x1,this['showMimicJoints']=!0x1;}['setCodeEditorManager'](_0xc42cde){this['codeEditorManager']=_0xc42cde;}['updateEditorXML'](_0x3ac11d,_0x4a840e){if(this['isUpdatingFromEditor'])return;if(!this['codeEditorManager'])return;const _0x1cfd7d=this['codeEditorManager']['getEditor']();if(!_0x1cfd7d)return;const _0x17c9a9=_0x1cfd7d['getValue']();if(_0x17c9a9&&0x0!==_0x17c9a9['trim']()['length']&&_0x17c9a9['includes']('<robot')){this['isUpdatingFromEditor']=!0x0;try{const _0x2ebdf0=zi['updateURDFJointLimits'](_0x17c9a9,_0x3ac11d,_0x4a840e);if(_0x2ebdf0!==_0x17c9a9){const _0xaa7dc=_0x1cfd7d['view']['state']['selection']['main']['head'];_0x1cfd7d['setValue'](_0x2ebdf0);try{const _0x25b6f9=_0x1cfd7d['view']['state']['doc']['length'],_0x18910c=Math['min'](_0xaa7dc,_0x25b6f9);_0x1cfd7d['view']['dispatch']({'selection':{'anchor':_0x18910c,'head':_0x18910c}});}catch(_0x2388b8){}}}catch(_0xcb68e8){}finally{setTimeout(()=>{this['isUpdatingFromEditor']=!0x1;},0x64);}}}['setupJointControls'](_0x3d3c34){const _0x4d6444=document['getElementById']('joint-controls');if(!_0x4d6444)return;if(_0x4d6444['innerHTML']='',this['selectedJoints']['clear'](),this['_allSelected']=!0x1,this['currentModel']=_0x3d3c34,this['updateButtonStates'](),!_0x3d3c34||!_0x3d3c34['joints']||0x0===_0x3d3c34['joints']['size']){const _0x51bc38=document['createElement']('div');return _0x51bc38['className']='empty-state',_0x51bc38['textContent']=window['i18n']['t']('noModel'),void _0x4d6444['appendChild'](_0x51bc38);}let _0x481b5b=0x0;if(_0x3d3c34['joints']['forEach'](_0x3036d5=>{'fixed'!==_0x3036d5['type']&&_0x481b5b++;}),0x0===_0x481b5b){const _0x3bfee7=document['createElement']('div');return _0x3bfee7['className']='empty-state',_0x3bfee7['textContent']=window['i18n']['t']('noControllableJoints'),void _0x4d6444['appendChild'](_0x3bfee7);}this['initialJointValues']['clear'](),_0x3d3c34['joints']['forEach']((_0x424048,_0x1ca74a)=>{if('fixed'!==_0x424048['type']){const _0xa1fc4=_0x424048['limits']||{},_0x4c41b1=void 0x0!==_0xa1fc4['lower']?_0xa1fc4['lower']:-Math['PI'],_0x6dbfd8=void 0x0!==_0xa1fc4['upper']?_0xa1fc4['upper']:Math['PI'],_0x3ace55=void 0x0!==_0x424048['currentValue']?_0x424048['currentValue']:(_0x4c41b1+_0x6dbfd8)/0x2;this['initialJointValues']['set'](_0x1ca74a,_0x3ace55);}}),_0x3d3c34['joints']['forEach'](_0x2eb146=>{if('fixed'===_0x2eb146['type'])return;if(_0x2eb146['mimic']&&!this['showMimicJoints'])return;const _0x301120=this['createJointControl'](_0x2eb146,_0x3d3c34);_0x4d6444['appendChild'](_0x301120);});}['setShowMimicJoints'](_0x3ac3e6){this['showMimicJoints']=_0x3ac3e6,this['currentModel']&&this['setupJointControls'](this['currentModel']);}['createJointControl'](_0x3c6e43,_0x23297e){var _0x2c62da,_0x202859;const _0x3f07d8=document['createElement']('div');_0x3f07d8['className']='joint-control',_0x3f07d8['setAttribute']('data-joint-name',_0x3c6e43['name']);const _0x2cb01a=this['createJointCheckbox'](_0x3c6e43['name']);_0x3f07d8['appendChild'](_0x2cb01a);const _0x1dd1f4=document['createElement']('div');_0x1dd1f4['className']='joint-control-content';const _0x252cc3=document['createElement']('div');_0x252cc3['className']='joint-header';const _0x52e6e6=document['createElement']('div');if(_0x52e6e6['className']='joint-name',_0x52e6e6['textContent']=_0x3c6e43['name'],_0x52e6e6['title']=_0x3c6e43['name'],_0x252cc3['appendChild'](_0x52e6e6),_0x3c6e43['mimic']){const _0x6a2f50=document['createElement']('span');_0x6a2f50['className']='joint-mimic-badge',_0x6a2f50['textContent']='mimic',_0x6a2f50['title']='mimic:\x20'+_0x3c6e43['mimic']['joint']+'\x20(×'+_0x3c6e43['mimic']['multiplier']+'\x20+\x20'+_0x3c6e43['mimic']['offset']+')',_0x252cc3['appendChild'](_0x6a2f50);}const _0x3f8b0b=document['createElement']('div');_0x3f8b0b['className']='joint-slider-row';const _0x70d259=_0x3c6e43['limits']||{};let _0x24df6d=void 0x0!==_0x70d259['lower']?_0x70d259['lower']:-Math['PI'],_0x55e101=void 0x0!==_0x70d259['upper']?_0x70d259['upper']:Math['PI'];'continuous'===_0x3c6e43['type']&&(_0x24df6d=-Math['PI'],_0x55e101=Math['PI']);const _0x356b6f=document['createElement']('input');_0x356b6f['type']='range',_0x356b6f['className']='joint-slider',_0x356b6f['setAttribute']('data-joint',_0x3c6e43['name']),_0x356b6f['min']=_0x24df6d,_0x356b6f['max']=_0x55e101;let _0x2e8bd7=void 0x0!==_0x3c6e43['currentValue']?_0x3c6e43['currentValue']:(_0x24df6d+_0x55e101)/0x2;_0x356b6f['value']=_0x2e8bd7,_0x356b6f['step']=(_0x55e101-_0x24df6d)/0x3e8,void 0x0===_0x3c6e43['currentValue']&&(_0x3c6e43['currentValue']=_0x2e8bd7);const _0x8fe76b=document['createElement']('input');_0x8fe76b['type']='number',_0x8fe76b['className']='joint-limit-min\x20editable-limit',_0x8fe76b['step']='0.01',_0x8fe76b['title']=window['i18n']['t']('clickToEditMin');const _0x27d369=document['createElement']('input');_0x27d369['type']='number',_0x27d369['className']='joint-limit-max\x20editable-limit',_0x27d369['step']='0.01',_0x27d369['title']=window['i18n']['t']('clickToEditMax');const _0x4dfa3a=document['createElement']('input');_0x4dfa3a['type']='number',_0x4dfa3a['className']='joint-value-input',_0x4dfa3a['setAttribute']('data-joint-input',_0x3c6e43['name']),_0x4dfa3a['step']='0.01';const _0x458cac=document['createElement']('span');_0x458cac['className']='joint-value-unit',_0x458cac['textContent']='deg'===this['angleUnit']?'°':'rad';const _0x52df2a=()=>{const _0x583d8f=parseFloat(_0x356b6f['min']),_0x1a3a2d=parseFloat(_0x356b6f['max']);'deg'===this['angleUnit']?(_0x8fe76b['value']=(0xb4*_0x583d8f/Math['PI'])['toFixed'](0x1),_0x27d369['value']=(0xb4*_0x1a3a2d/Math['PI'])['toFixed'](0x1)):(_0x8fe76b['value']=_0x583d8f['toFixed'](0x2),_0x27d369['value']=_0x1a3a2d['toFixed'](0x2));},_0x464b4a=()=>{const _0x530312=parseFloat(_0x356b6f['value']);_0x4dfa3a['value']='deg'===this['angleUnit']?(0xb4*_0x530312/Math['PI'])['toFixed'](0x1):_0x530312['toFixed'](0x2);};_0x52df2a(),_0x464b4a(),_0x8fe76b['addEventListener']('change',()=>{let _0x50d9b9=parseFloat(_0x8fe76b['value']);if(isNaN(_0x50d9b9))return void _0x52df2a();let _0x7f7cfb='deg'===this['angleUnit']?_0x50d9b9*Math['PI']/0xb4:_0x50d9b9;if(_0x7f7cfb>=parseFloat(_0x356b6f['max']))return void _0x52df2a();_0x356b6f['min']=_0x7f7cfb,_0x356b6f['step']=(_0x356b6f['max']-_0x356b6f['min'])/0x3e8,_0x3c6e43['limits']&&(_0x3c6e43['limits']['lower']=_0x7f7cfb),this['updateEditorXML'](_0x3c6e43['name'],{'lower':_0x7f7cfb});parseFloat(_0x356b6f['value'])<_0x7f7cfb&&(_0x356b6f['value']=_0x7f7cfb,Ei['setJointAngle'](_0x23297e,_0x3c6e43['name'],_0x7f7cfb),_0x3c6e43['currentValue']=_0x7f7cfb,_0x464b4a(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0x52df2a();}),_0x27d369['addEventListener']('change',()=>{let _0x30b289=parseFloat(_0x27d369['value']);if(isNaN(_0x30b289))return void _0x52df2a();let _0x8418f2='deg'===this['angleUnit']?_0x30b289*Math['PI']/0xb4:_0x30b289;if(_0x8418f2<=parseFloat(_0x356b6f['min']))return void _0x52df2a();_0x356b6f['max']=_0x8418f2,_0x356b6f['step']=(_0x356b6f['max']-_0x356b6f['min'])/0x3e8,_0x3c6e43['limits']&&(_0x3c6e43['limits']['upper']=_0x8418f2),this['updateEditorXML'](_0x3c6e43['name'],{'upper':_0x8418f2});parseFloat(_0x356b6f['value'])>_0x8418f2&&(_0x356b6f['value']=_0x8418f2,Ei['setJointAngle'](_0x23297e,_0x3c6e43['name'],_0x8418f2),_0x3c6e43['currentValue']=_0x8418f2,_0x464b4a(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0x52df2a();});const _0x2703d6=document['createElement']('div');_0x2703d6['className']='joint-slider-container',_0x2703d6['appendChild'](_0x356b6f);const _0x520bbf=document['createElement']('div');_0x520bbf['className']='joint-value-input-container',_0x520bbf['appendChild'](_0x4dfa3a),_0x520bbf['appendChild'](_0x458cac),_0x3f8b0b['appendChild'](_0x8fe76b),_0x3f8b0b['appendChild'](_0x2703d6),_0x3f8b0b['appendChild'](_0x27d369),_0x3f8b0b['appendChild'](_0x520bbf);if('urdf'===((null==(_0x202859=null==(_0x2c62da=_0x23297e['threeObject'])?void 0x0:_0x2c62da['userData'])?void 0x0:_0x202859['type'])||'urdf')){const _0x9c21fb=document['createElement']('div');_0x9c21fb['className']='joint-extra-field';const _0x8a6f24=document['createElement']('label');_0x8a6f24['textContent']='τ:',_0x8a6f24['className']='joint-extra-label',_0x8a6f24['title']='Effort\x20(max\x20force/torque)';const _0x263121=document['createElement']('input');_0x263121['type']='number',_0x263121['className']='joint-extra-input',_0x263121['step']='0.1';const _0x41098a=null!==_0x70d259['effort']&&void 0x0!==_0x70d259['effort']?_0x70d259['effort']:'';_0x263121['value']=_0x41098a,_0x263121['placeholder']='-',_0x263121['title']='Effort\x20(max\x20force/torque)',_0x9c21fb['appendChild'](_0x8a6f24),_0x9c21fb['appendChild'](_0x263121);const _0x3d4e5d=document['createElement']('div');_0x3d4e5d['className']='joint-extra-field';const _0x4d2eba=document['createElement']('label');_0x4d2eba['textContent']='v:',_0x4d2eba['className']='joint-extra-label',_0x4d2eba['title']='Velocity\x20(max\x20speed)';const _0x24e285=document['createElement']('input');_0x24e285['type']='number',_0x24e285['className']='joint-extra-input',_0x24e285['step']='0.1';const _0x469b36=null!==_0x70d259['velocity']&&void 0x0!==_0x70d259['velocity']?_0x70d259['velocity']:'';_0x24e285['value']=_0x469b36,_0x24e285['placeholder']='-',_0x24e285['title']='Velocity\x20(max\x20speed)',_0x3d4e5d['appendChild'](_0x4d2eba),_0x3d4e5d['appendChild'](_0x24e285),_0x252cc3['appendChild'](_0x9c21fb),_0x252cc3['appendChild'](_0x3d4e5d),_0x263121['addEventListener']('change',()=>{let _0x438baa=parseFloat(_0x263121['value']);isNaN(_0x438baa)||''===_0x263121['value']?_0x3c6e43['limits']?_0x3c6e43['limits']['effort']=null:_0x3c6e43['limits']={'lower':_0x24df6d,'upper':_0x55e101,'effort':null,'velocity':_0x70d259['velocity']}:(_0x3c6e43['limits']?_0x3c6e43['limits']['effort']=_0x438baa:_0x3c6e43['limits']={'lower':_0x24df6d,'upper':_0x55e101,'effort':_0x438baa,'velocity':_0x70d259['velocity']},this['updateEditorXML'](_0x3c6e43['name'],{'effort':_0x438baa}));}),_0x24e285['addEventListener']('change',()=>{let _0x9fd3d9=parseFloat(_0x24e285['value']);isNaN(_0x9fd3d9)||''===_0x24e285['value']?_0x3c6e43['limits']?_0x3c6e43['limits']['velocity']=null:_0x3c6e43['limits']={'lower':_0x24df6d,'upper':_0x55e101,'effort':_0x70d259['effort'],'velocity':null}:(_0x3c6e43['limits']?_0x3c6e43['limits']['velocity']=_0x9fd3d9:_0x3c6e43['limits']={'lower':_0x24df6d,'upper':_0x55e101,'effort':_0x70d259['effort'],'velocity':_0x9fd3d9},this['updateEditorXML'](_0x3c6e43['name'],{'velocity':_0x9fd3d9}));});}return _0x356b6f['addEventListener']('mousedown',()=>{this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x3c6e43);}),_0x356b6f['addEventListener']('mouseup',()=>{this['sceneManager']['axesManager']['restoreAllJointAxes']();}),_0x1dd1f4['appendChild'](_0x252cc3),_0x1dd1f4['appendChild'](_0x3f8b0b),_0x3f07d8['appendChild'](_0x1dd1f4),_0x356b6f['addEventListener']('input',()=>{const _0x4f47c3=parseFloat(_0x356b6f['value']);Ei['setJointAngle'](_0x23297e,_0x3c6e43['name'],_0x4f47c3),_0x3c6e43['currentValue']=_0x4f47c3,_0x464b4a(),this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x23297e,_0x3c6e43),this['onJointChange']&&this['onJointChange'](_0x23297e),_0x356b6f['_pendingRender']||(_0x356b6f['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate'](),_0x356b6f['_pendingRender']=!0x1;}));}),_0x4dfa3a['addEventListener']('change',()=>{let _0x3233b0=parseFloat(_0x4dfa3a['value']);if(isNaN(_0x3233b0))return void _0x464b4a();let _0x5d1baf='deg'===this['angleUnit']?_0x3233b0*Math['PI']/0xb4:_0x3233b0;const _0x22b0b8=parseFloat(_0x356b6f['min']),_0x2a7d30=parseFloat(_0x356b6f['max']);_0x5d1baf=Math['max'](_0x22b0b8,Math['min'](_0x2a7d30,_0x5d1baf)),_0x356b6f['value']=_0x5d1baf,Ei['setJointAngle'](_0x23297e,_0x3c6e43['name'],_0x5d1baf),_0x3c6e43['currentValue']=_0x5d1baf,this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x23297e,_0x3c6e43),_0x464b4a(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();}),_0x3f07d8['_updateDisplay']=()=>{_0x464b4a(),_0x52df2a(),_0x458cac['textContent']='deg'===this['angleUnit']?'°':'rad';},_0x3f07d8;}['setAngleUnit'](_0x5f5989){this['angleUnit']=_0x5f5989;document['querySelectorAll']('.joint-control')['forEach'](_0x24b269=>{_0x24b269['_updateDisplay']&&_0x24b269['_updateDisplay']();});}['resetAllJoints'](_0x472ed1){_0x472ed1&&_0x472ed1['joints']&&(_0x472ed1['joints']['forEach']((_0x7ffb94,_0x312cb3)=>{if('fixed'!==_0x7ffb94['type']){let _0x261c35=this['initialJointValues']['get'](_0x312cb3);if(void 0x0===_0x261c35){const _0x333c81=_0x7ffb94['limits']||{},_0x3bb31a=void 0x0!==_0x333c81['lower']?_0x333c81['lower']:-Math['PI'],_0x226ea4=void 0x0!==_0x333c81['upper']?_0x333c81['upper']:Math['PI'];_0x261c35=void 0x0!==_0x7ffb94['currentValue']?_0x7ffb94['currentValue']:(_0x3bb31a+_0x226ea4)/0x2;}Ei['setJointAngle'](_0x472ed1,_0x312cb3,_0x261c35,!0x0),_0x7ffb94['currentValue']=_0x261c35;const _0x4cc837=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x312cb3+'\x22]');_0x4cc837&&(_0x4cc837['value']=_0x261c35);const _0x4a389d=document['querySelector']('#unit-deg.active')?'deg':'rad',_0x47ce3e=document['querySelector']('input[data-joint-input=\x22'+_0x312cb3+'\x22]');_0x47ce3e&&(_0x47ce3e['value']='deg'===_0x4a389d?(0xb4*_0x261c35/Math['PI'])['toFixed'](0x2):_0x261c35['toFixed'](0x4));}}),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']());}['updateAllSliderLimits'](_0x144ebf,_0x330e8f){_0x144ebf&&document['querySelectorAll']('.joint-slider')['forEach'](_0x67aa18=>{const _0x1ccd4c=_0x67aa18['getAttribute']('data-joint'),_0x56f455=_0x144ebf['joints']['get'](_0x1ccd4c);if(_0x56f455&&'fixed'!==_0x56f455['type']){if(_0x330e8f)_0x67aa18['min']=0x2*-Math['PI'],_0x67aa18['max']=0x2*Math['PI'],_0x67aa18['step']=0.01;else{const _0x59b9a5=_0x56f455['limits']||{},_0x63e784=void 0x0!==_0x59b9a5['lower']?_0x59b9a5['lower']:-Math['PI'],_0x17b9f8=void 0x0!==_0x59b9a5['upper']?_0x59b9a5['upper']:Math['PI'];'continuous'===_0x56f455['type']?(_0x67aa18['min']=-Math['PI'],_0x67aa18['max']=Math['PI']):(_0x67aa18['min']=_0x63e784,_0x67aa18['max']=_0x17b9f8),_0x67aa18['step']=(_0x67aa18['max']-_0x67aa18['min'])/0x3e8;}const _0x9a0a2b=_0x67aa18['closest']('.joint-control');_0x9a0a2b&&_0x9a0a2b['_updateDisplay']&&_0x9a0a2b['_updateDisplay']();}});}['createJointCheckbox'](_0x43f295){const _0x5de70b=document['createElement']('div');_0x5de70b['className']='joint-checkbox-container';const _0x105d8f=document['createElement']('input');return _0x105d8f['type']='checkbox',_0x105d8f['className']='joint-checkbox',_0x105d8f['id']='checkbox-'+_0x43f295,_0x105d8f['setAttribute']('data-joint',_0x43f295),_0x105d8f['addEventListener']('change',_0x3b2a25=>{_0x3b2a25['target']['checked']?this['selectedJoints']['add'](_0x43f295):this['selectedJoints']['delete'](_0x43f295),this['_syncAllSelectedState'](),this['updateButtonStates']();}),_0x5de70b['appendChild'](_0x105d8f),_0x5de70b;}['updateButtonStates'](){const _0x3f646d=document['querySelector']('.apply-angles-btn'),_0x32ce0d=document['querySelector']('.set-home-btn'),_0x1f41a7=document['querySelector']('.reset-home-btn'),_0x2363af=document['getElementById']('select-all-btn');if(_0x3f646d){const _0x5608a6=this['selectedJoints']['size']>0x0;_0x3f646d['disabled']=!_0x5608a6,_0x3f646d['title']=_0x5608a6?window['i18n']['t']('applyAngles'):window['i18n']['t']('noJointsSelected');}const _0x5f5d7b=this['currentModel']&&this['currentModel']['joints']&&this['currentModel']['joints']['size']>0x0;if(_0x32ce0d&&(_0x32ce0d['disabled']=!_0x5f5d7b),_0x1f41a7&&(_0x1f41a7['disabled']=!_0x5f5d7b),_0x2363af){const _0x5450f2=this['_getControllableJointCount']();_0x2363af['disabled']=!_0x5f5d7b||0x0===_0x5450f2,this['_allSelected']?_0x2363af['classList']['add']('active'):_0x2363af['classList']['remove']('active');}}['_getControllableJointCount'](){if(!this['currentModel']||!this['currentModel']['joints'])return 0x0;let _0x269547=0x0;return this['currentModel']['joints']['forEach'](_0x37fc1b=>{'fixed'!==_0x37fc1b['type']&&_0x269547++;}),_0x269547;}['_syncAllSelectedState'](){const _0x2a0962=document['querySelectorAll']('.joint-checkbox');if(0x0===_0x2a0962['length'])return void(this['_allSelected']=!0x1);const _0x36d4fc=Array['from'](_0x2a0962)['every'](_0x3ab4fb=>_0x3ab4fb['checked']);this['_allSelected']=_0x36d4fc;}['getSelectedJointsInOrder'](){const _0x46f3a4=[];return document['querySelectorAll']('.joint-control')['forEach'](_0x291a50=>{const _0x2cfb7a=_0x291a50['getAttribute']('data-joint-name');_0x2cfb7a&&this['selectedJoints']['has'](_0x2cfb7a)&&_0x46f3a4['push'](_0x2cfb7a);}),_0x46f3a4;}['handleApplyAngles'](){if(0x0===this['selectedJoints']['size'])return void this['showToast'](window['i18n']['t']('noJointsSelected'),'warning');if(!this['currentModel'])return void this['showToast'](window['i18n']['t']('noModel'),'error');const _0x4e0eba=this['getSelectedJointsInOrder'](),_0x4f93c7=[];_0x4e0eba['forEach'](_0x5a8816=>{const _0x28d2c9=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x5a8816+'\x22]');if(_0x28d2c9)_0x4f93c7['push'](parseFloat(parseFloat(_0x28d2c9['value'])['toFixed'](0x2)));else{const _0x402240=this['currentModel']['joints']['get'](_0x5a8816);if(_0x402240){const _0x4cb5b1=void 0x0!==_0x402240['currentValue']?_0x402240['currentValue']:0x0;_0x4f93c7['push'](parseFloat(_0x4cb5b1['toFixed'](0x2)));}}}),this['showApplyDialog'](JSON['stringify'](_0x4f93c7),_0x4e0eba['length']);}['handleSelectAll'](){const _0x1e664b=document['querySelectorAll']('.joint-checkbox');0x0!==_0x1e664b['length']&&(this['_allSelected']?(_0x1e664b['forEach'](_0x197225=>{_0x197225['checked']=!0x1;const _0x2fa886=_0x197225['getAttribute']('data-joint');_0x2fa886&&this['selectedJoints']['delete'](_0x2fa886);}),this['_allSelected']=!0x1):(_0x1e664b['forEach'](_0x586cc7=>{_0x586cc7['checked']=!0x0;const _0x4e2fdc=_0x586cc7['getAttribute']('data-joint');_0x4e2fdc&&this['selectedJoints']['add'](_0x4e2fdc);}),this['_allSelected']=!0x0),this['updateButtonStates']());}['handleResetToHome'](){var _0x4dd301;if(!this['currentModel'])return;const _0x18417d=(null==(_0x4dd301=this['currentModel']['userData'])?void 0x0:_0x4dd301['homePositions'])||{},_0x3e7491=document['querySelector']('#unit-deg.active')?'deg':'rad';this['currentModel']['joints']['forEach']((_0x4585e6,_0x26566e)=>{if('fixed'===_0x4585e6['type'])return;const _0x376097=void 0x0!==_0x18417d[_0x26566e]?_0x18417d[_0x26566e]:0x0;Ei['setJointAngle'](this['currentModel'],_0x26566e,_0x376097),_0x4585e6['currentValue']=_0x376097;const _0x17d503=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x26566e+'\x22]');if(_0x17d503){_0x17d503['value']=_0x376097;const _0x1ee0a5=parseFloat(_0x17d503['min']),_0x2ac344=parseFloat(_0x17d503['max']);_0x376097<_0x1ee0a5&&(_0x17d503['min']=_0x376097),_0x376097>_0x2ac344&&(_0x17d503['max']=_0x376097);}const _0x44a70c=document['querySelector']('input[data-joint-input=\x22'+_0x26566e+'\x22]');_0x44a70c&&(_0x44a70c['value']='deg'===_0x3e7491?(0xb4*_0x376097/Math['PI'])['toFixed'](0x2):_0x376097['toFixed'](0x4));}),this['onJointChange']&&this['onJointChange'](this['currentModel']),requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();}),this['showToast'](window['i18n']['t']('resetToHomeSuccess'),'success');}['showApplyDialog'](_0x533265,_0x1d7ff1){const _0x5a21af=document['createElement']('div');_0x5a21af['className']='apply-dialog-overlay';const _0x4d367c=document['createElement']('div');_0x4d367c['className']='apply-dialog';const _0x3bf2bd=document['createElement']('div');_0x3bf2bd['className']='apply-dialog-title',_0x3bf2bd['textContent']=window['i18n']['t']('applyDialogTitle');const _0x58d13f=document['createElement']('div');_0x58d13f['className']='apply-dialog-hint',_0x58d13f['textContent']=window['i18n']['t']('applyDialogHint');const _0x3e062c=document['createElement']('textarea');_0x3e062c['className']='apply-dialog-textarea',_0x3e062c['value']=_0x533265,_0x3e062c['placeholder']='[0.0,\x200.0,\x200.0]';const _0x14ca2b=document['createElement']('div');_0x14ca2b['className']='apply-dialog-buttons';const _0x593f3c=document['createElement']('button');_0x593f3c['className']='apply-dialog-btn\x20secondary',_0x593f3c['textContent']=window['i18n']['t']('applyDialogCancel'),_0x593f3c['onclick']=()=>{document['body']['removeChild'](_0x5a21af);};const _0x3c9680=document['createElement']('button');_0x3c9680['className']='apply-dialog-btn\x20primary',_0x3c9680['textContent']=window['i18n']['t']('applyDialogApply'),_0x3c9680['onclick']=()=>{const _0x327061=_0x3e062c['value']['trim']();this['applyAnglesFromText'](_0x327061,_0x1d7ff1)&&document['body']['removeChild'](_0x5a21af);},_0x14ca2b['appendChild'](_0x593f3c),_0x14ca2b['appendChild'](_0x3c9680),_0x4d367c['appendChild'](_0x3bf2bd),_0x4d367c['appendChild'](_0x58d13f),_0x4d367c['appendChild'](_0x3e062c),_0x4d367c['appendChild'](_0x14ca2b),_0x5a21af['appendChild'](_0x4d367c),document['body']['appendChild'](_0x5a21af),setTimeout(()=>{_0x3e062c['focus'](),_0x3e062c['select']();},0x64);const _0x3fbffe=_0x5f3d0b=>{'Escape'===_0x5f3d0b['key']&&(document['body']['contains'](_0x5a21af)&&document['body']['removeChild'](_0x5a21af),document['removeEventListener']('keydown',_0x3fbffe));};document['addEventListener']('keydown',_0x3fbffe),_0x5a21af['addEventListener']('click',_0x5f2c28=>{_0x5f2c28['target']===_0x5a21af&&(document['body']['removeChild'](_0x5a21af),document['removeEventListener']('keydown',_0x3fbffe));});}['applyAnglesFromText'](_0x43c31f,_0x1acb49){if(!_0x43c31f)return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;try{const _0x2ac098=JSON['parse'](_0x43c31f);if(!Array['isArray'](_0x2ac098))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;if(_0x2ac098['length']!==_0x1acb49){const _0x146bbf=window['i18n']['t']('countMismatch')['replace']('{expected}',_0x1acb49)['replace']('{actual}',_0x2ac098['length']);return this['showToast'](_0x146bbf,'error'),!0x1;}for(let _0xfda693=0x0;_0xfda693<_0x2ac098['length'];_0xfda693++)if('number'!=typeof _0x2ac098[_0xfda693]||isNaN(_0x2ac098[_0xfda693]))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;const _0x455bf2=this['getSelectedJointsInOrder']();_0x455bf2['forEach']((_0x580dd9,_0x3a678b)=>{const _0x2554a9=this['currentModel']['joints']['get'](_0x580dd9);if(_0x2554a9){const _0x31a2c4=_0x2ac098[_0x3a678b];Ei['setJointAngle'](this['currentModel'],_0x580dd9,_0x31a2c4),_0x2554a9['currentValue']=_0x31a2c4;const _0x4df6b1=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x580dd9+'\x22]');_0x4df6b1&&(_0x4df6b1['value']=_0x31a2c4);}}),this['sceneManager']['constraintManager']&&_0x455bf2['forEach'](_0x3058db=>{const _0xfdd239=this['currentModel']['joints']['get'](_0x3058db);_0xfdd239&&this['sceneManager']['constraintManager']['applyConstraints'](this['currentModel'],_0xfdd239);});const _0x26b20c=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x455bf2['forEach']((_0x2e7b28,_0x163f25)=>{const _0x53348b=this['currentModel']['joints']['get'](_0x2e7b28),_0x22ebeb=void 0x0!==(null==_0x53348b?void 0x0:_0x53348b['currentValue'])?_0x53348b['currentValue']:_0x2ac098[_0x163f25],_0x5d5155=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x2e7b28+'\x22]');_0x5d5155&&(_0x5d5155['value']=_0x22ebeb);const _0x36dad1=document['querySelector']('input[data-joint-input=\x22'+_0x2e7b28+'\x22]');_0x36dad1&&(_0x36dad1['value']='deg'===_0x26b20c?(0xb4*_0x22ebeb/Math['PI'])['toFixed'](0x2):_0x22ebeb['toFixed'](0x4));}),this['onJointChange']&&this['onJointChange'](this['currentModel']),requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();});const _0x5b306f=window['i18n']['t']('applySuccess')['replace']('{count}',_0x2ac098['length']);return this['showToast'](_0x5b306f,'success'),!0x0;}catch(_0x1a5458){return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;}}['showToast'](_0x9ecce5,_0x32ad1b='success'){const _0x496b91=document['createElement']('div');_0x496b91['className']='toast-notification\x20'+_0x32ad1b,_0x496b91['textContent']=_0x9ecce5,document['body']['appendChild'](_0x496b91),setTimeout(()=>{document['body']['contains'](_0x496b91)&&(_0x496b91['style']['animation']='slideInRight\x200.3s\x20ease-out\x20reverse',setTimeout(()=>{document['body']['contains'](_0x496b91)&&document['body']['removeChild'](_0x496b91);},0x12c));},0xbb8);}}class Ui{constructor(){this['panels']=new Map(),this['modelGraphOriginalTransform']=null,this['modelGraphView']=null;}['setModelGraphView'](_0x4e2c6b){this['modelGraphView']=_0x4e2c6b;}['registerPanel'](_0x45bc63,_0x30bec1='.floating-panel-header'){const _0x209a9f=document['getElementById'](_0x45bc63),_0x3638cb=null==_0x209a9f?void 0x0:_0x209a9f['querySelector'](_0x30bec1);_0x209a9f&&_0x3638cb&&(this['setupPanelDragAndResize'](_0x209a9f,_0x3638cb),this['panels']['set'](_0x45bc63,{'panel':_0x209a9f,'header':_0x3638cb}));}['addCustomPanel'](_0x45b2a7,_0x5cd16b){const _0x1aa51c=document['getElementById']('floating-joints-panel');_0x1aa51c&&(_0x5cd16b['id']=_0x45b2a7,_0x5cd16b['className']='floating-panel',_0x5cd16b['style']['cssText']='position:\x20fixed;\x20top:\x20120px;\x20right:\x2020px;\x20width:\x20320px;\x20z-index:\x2051;',_0x1aa51c['parentNode']['insertBefore'](_0x5cd16b,_0x1aa51c['nextSibling']),this['registerPanel'](_0x45b2a7));}['setupPanelDragAndResize'](_0x42deab,_0x87cf31){let _0x13114d,_0x16d720,_0x2a6ffb,_0x6d8ae8,_0xfed52c,_0xebac65,_0x909a34,_0x53d136,_0x3efbe4=!0x1,_0x5ef4dc=!0x1,_0x4c8453=null,_0x1b7b26=0x0,_0x26f493=0x0;const _0x1d9cc6=()=>{const _0x4e920c=document['querySelectorAll']('.floating-panel,\x20#code-editor-panel');let _0xbf9401=0x32;_0x4e920c['forEach'](_0xee937e=>{const _0x38d4db=parseInt(window['getComputedStyle'](_0xee937e)['zIndex'])||0x32;_0x38d4db>_0xbf9401&&_0xee937e!==_0x42deab&&(_0xbf9401=_0x38d4db);}),_0x42deab['style']['zIndex']=_0xbf9401+0x1;};_0x42deab['addEventListener']('mousemove',_0x213c00=>{if(_0x3efbe4||_0x5ef4dc)return;const _0x1c0582=_0x42deab['getBoundingClientRect'](),_0x1795c6=_0x213c00['clientX']-_0x1c0582['left'],_0x58a5f3=_0x213c00['clientY']-_0x1c0582['top'];let _0x36035d='default';_0x4c8453=null;const _0x26c858=_0x1795c6<0xc,_0x493618=_0x1795c6>_0x1c0582['width']-0xc,_0x3aca31=_0x58a5f3<0xc,_0x5608d6=_0x58a5f3>_0x1c0582['height']-0xc;_0x26c858&&_0x3aca31?(_0x36035d='nw-resize',_0x4c8453='nw'):_0x493618&&_0x3aca31?(_0x36035d='ne-resize',_0x4c8453='ne'):_0x26c858&&_0x5608d6?(_0x36035d='sw-resize',_0x4c8453='sw'):_0x493618&&_0x5608d6?(_0x36035d='se-resize',_0x4c8453='se'):_0x26c858?(_0x36035d='w-resize',_0x4c8453='w'):_0x493618?(_0x36035d='e-resize',_0x4c8453='e'):_0x3aca31?(_0x36035d='n-resize',_0x4c8453='n'):_0x5608d6&&(_0x36035d='s-resize',_0x4c8453='s'),_0x42deab['style']['cursor']=_0x36035d;}),_0x42deab['addEventListener']('mousedown',_0x5dc128=>{if(_0x1d9cc6(),_0x5dc128['target']!==_0x87cf31&&!_0x87cf31['contains'](_0x5dc128['target'])&&_0x4c8453){_0x5dc128['preventDefault'](),_0x5ef4dc=!0x0,_0x42deab['style']['transition']='none';const _0x47f044=_0x42deab['getBoundingClientRect'](),_0x40519a=window['getComputedStyle'](_0x42deab),_0x4a82df=new DOMMatrixReadOnly(_0x40519a['transform']);_0xfed52c=_0x47f044['width'],_0xebac65=_0x47f044['height'],_0x909a34=_0x4a82df['m41'],_0x53d136=_0x4a82df['m42'],_0x2a6ffb=_0x5dc128['clientX'],_0x6d8ae8=_0x5dc128['clientY'],document['addEventListener']('mousemove',_0x430344),document['addEventListener']('mouseup',_0x165669);}});const _0x12bc1e=_0x2a7fd0=>{_0x3efbe4&&(_0x2a7fd0['preventDefault'](),_0x13114d=_0x2a7fd0['clientX']-_0x2a6ffb,_0x16d720=_0x2a7fd0['clientY']-_0x6d8ae8,_0x1b7b26=_0x13114d,_0x26f493=_0x16d720,_0x42deab['style']['transform']='translate('+_0x13114d+'px,\x20'+_0x16d720+'px)');},_0x3d7bea=()=>{_0x3efbe4=!0x1,_0x87cf31['style']['cursor']='move',_0x42deab['style']['transition']='',document['removeEventListener']('mousemove',_0x12bc1e),document['removeEventListener']('mouseup',_0x3d7bea);},_0x430344=_0x26c7fd=>{_0x5ef4dc&&(_0x26c7fd['preventDefault'](),_0x42deab['_resizeFrame']||(_0x42deab['_resizeFrame']=requestAnimationFrame(()=>{_0x42deab['_resizeFrame']=null;const _0x672069=_0x26c7fd['clientX']-_0x2a6ffb,_0x8b4ecb=_0x26c7fd['clientY']-_0x6d8ae8;let _0x73012a=_0xfed52c,_0x4d0b41=_0xebac65,_0x5f137f=_0x909a34,_0x13728e=_0x53d136;if(_0x4c8453['includes']('w')){const _0x4c95e7=_0xfed52c-_0x672069;_0x73012a=Math['max'](0x118,_0x4c95e7),_0x5f137f=_0x4c95e7>=0x118?_0x909a34+_0x672069:_0x909a34-(_0xfed52c-0x118);}if(_0x4c8453['includes']('e')&&(_0x73012a=Math['max'](0x118,_0xfed52c+_0x672069),_0x5f137f=_0x909a34),_0x4c8453['includes']('s')&&(_0x4d0b41=Math['max'](0x64,_0xebac65+_0x8b4ecb),_0x13728e=_0x53d136),_0x4c8453['includes']('n')){const _0x894f83=_0xebac65-_0x8b4ecb;_0x4d0b41=Math['max'](0x64,_0x894f83),_0x13728e=_0x894f83>=0x64?_0x53d136+_0x8b4ecb:_0x53d136+(_0xebac65-0x64);}_0x42deab['style']['width']=_0x73012a+'px',_0x42deab['style']['height']=_0x4d0b41+'px',_0x42deab['style']['transform']='translate('+_0x5f137f+'px,\x20'+_0x13728e+'px)',_0x1b7b26=_0x5f137f,_0x26f493=_0x13728e;})));},_0x165669=()=>{_0x5ef4dc=!0x1,_0x4c8453=null,_0x42deab['style']['cursor']='default',_0x42deab['style']['transition']='',document['removeEventListener']('mousemove',_0x430344),document['removeEventListener']('mouseup',_0x165669);};_0x87cf31['addEventListener']('mousedown',_0x2dc2ce=>{_0x1d9cc6();const _0x511089=_0x2dc2ce['target'];'BUTTON'===_0x511089['tagName']||'SELECT'===_0x511089['tagName']||_0x511089['closest']('button')||_0x511089['closest']('.code-editor-actions')||(_0x511089===_0x87cf31||_0x87cf31['contains'](_0x511089))&&(_0x2a6ffb=_0x2dc2ce['clientX']-_0x1b7b26,_0x6d8ae8=_0x2dc2ce['clientY']-_0x26f493,_0x3efbe4=!0x0,_0x87cf31['style']['cursor']='grabbing',_0x42deab['style']['transition']='none',document['addEventListener']('mousemove',_0x12bc1e),document['addEventListener']('mouseup',_0x3d7bea));});}['initAllPanels'](){this['registerPanel']('floating-files-panel'),this['registerPanel']('floating-joints-panel'),this['registerPanel']('floating-model-tree'),this['registerPanel']('floating-help-panel'),this['registerPanel']('code-editor-panel','.code-editor-header'),this['setupMaximizeButtons']();}['setupMaximizeButtons'](){document['querySelectorAll']('.panel-maximize-btn')['forEach'](_0x3c00dd=>{const _0x20da94=_0x3c00dd['getAttribute']('data-panel-id');if(!_0x20da94)return;const _0x64af96=document['getElementById'](_0x20da94);_0x64af96&&_0x3c00dd['addEventListener']('click',()=>{_0x64af96['classList']['contains']('maximized')?(_0x64af96['classList']['remove']('maximized'),_0x3c00dd['textContent']='⛶','floating-model-tree'===_0x20da94&&this['modelGraphView']&&setTimeout(()=>{this['restoreModelGraphView']();},0x1c2)):(_0x64af96['classList']['add']('maximized'),_0x3c00dd['textContent']='❐','floating-model-tree'===_0x20da94&&this['modelGraphView']&&(this['saveModelGraphTransform'](),setTimeout(()=>{this['modelGraphView']['fitToView'](!0x0,0x258);},0x1c2)));});});}['saveModelGraphTransform'](){try{const _0x20ab4f=document['querySelector']('#model-graph-svg');if(!_0x20ab4f)return;const _0x29288d=window['d3'];if(!_0x29288d)return;_0x29288d['select'](_0x20ab4f);const _0x14adf8=_0x29288d['zoomTransform'](_0x20ab4f);_0x14adf8&&(this['modelGraphOriginalTransform']={'x':_0x14adf8['x'],'y':_0x14adf8['y'],'k':_0x14adf8['k']});}catch(_0x18868f){}}['restoreModelGraphView'](){try{const _0x3c304e=document['querySelector']('#model-graph-svg');if(!_0x3c304e)return;const _0x55328f=window['d3'];if(!_0x55328f)return;const _0x3b58ed=_0x55328f['select'](_0x3c304e),_0x356fc9=_0x3b58ed['select']('.zoom-container');if(_0x356fc9['empty']())return;if(this['modelGraphOriginalTransform']){const _0x42b002=_0x55328f['zoom']()['scaleExtent']([0.1,0x4])['on']('zoom',_0xaf2e8f=>{_0x356fc9['attr']('transform',_0xaf2e8f['transform']);});_0x3b58ed['call'](_0x42b002);const _0x3f8135=_0x55328f['zoomIdentity']['translate'](this['modelGraphOriginalTransform']['x'],this['modelGraphOriginalTransform']['y'])['scale'](this['modelGraphOriginalTransform']['k']);_0x3b58ed['transition']()['duration'](0x258)['call'](_0x42b002['transform'],_0x3f8135);}else this['modelGraphView']&&this['modelGraphView']['fitToView'](!0x0,0x258);}catch(_0x519c9a){}}}class Vi{constructor(_0x185f30,_0xbe2035=null){this['sceneManager']=_0x185f30,this['measurementController']=_0xbe2035,this['codeEditorManager']=null,this['currentZoom']=null,this['currentSvg']=null,this['currentContainer']=null;}['drawModelGraph'](_0x10ee21){const _0x2df68d=_0x404602('#model-graph-svg'),_0xc96fa8=document['getElementById']('graph-empty-state');if(_0x2df68d['selectAll']('*:not(defs)')['remove'](),!_0x10ee21||!_0x10ee21['links']||0x0===_0x10ee21['links']['size'])return void(null==_0xc96fa8||_0xc96fa8['classList']['remove']('hidden'));null==_0xc96fa8||_0xc96fa8['classList']['add']('hidden');const _0x133506='light'===(document['documentElement']['getAttribute']('data-theme')||'dark'),_0x4f0b7a=_0x133506?{'bg':'rgba(240,\x20240,\x20245,\x200.95)','stroke':'rgba(0,\x200,\x200,\x200.15)','text':'#1a1a1a'}:{'bg':'rgba(42,\x2042,\x2046,\x200.95)','stroke':'rgba(255,\x20255,\x20255,\x200.12)','text':'#e0e0e0'},_0x3d037b=this['buildHierarchy'](_0x10ee21['rootLink'],_0x10ee21);if(!_0x3d037b)return void(null==_0xc96fa8||_0xc96fa8['classList']['remove']('hidden'));const _0x413868=_0x5344b5(_0x3d037b),_0x401ee4=_0x413868['descendants']()['length'],_0x56bba1=Math['max'](0x3e8,0x46*_0x401ee4),_0x39ce19=Math['max'](0x2bc,0x78*_0x413868['height']+0x64);_0xce85f7()['size']([_0x56bba1-0x64,_0x39ce19-0x64])['separation']((_0x374caa,_0x1c76cd)=>_0x374caa['parent']===_0x1c76cd['parent']?0.8:1.2)(_0x413868);const _0xab4a20=_0x2df68d['append']('g')['attr']('class','zoom-container'),_0x13f077=_0x5b2d25()['scaleExtent']([0.1,0x4])['on']('zoom',_0x31264d=>{_0xab4a20['attr']('transform',_0x31264d['transform']);});_0x2df68d['call'](_0x13f077),this['currentZoom']=_0x13f077,this['currentSvg']=_0x2df68d,this['currentContainer']=_0xab4a20;let _0x368e2d=null,_0x12070a=0x0;_0x2df68d['on']('mousedown',function(_0x454463){_0x368e2d={'x':_0x454463['clientX'],'y':_0x454463['clientY']},_0x12070a=Date['now']();}),_0x2df68d['on']('mouseup',_0x2980b6=>{var _0x26c716;if(!_0x368e2d)return;const _0x515aa3=_0x2980b6['clientX']-_0x368e2d['x'],_0x15e139=_0x2980b6['clientY']-_0x368e2d['y'],_0x275525=Math['sqrt'](_0x515aa3*_0x515aa3+_0x15e139*_0x15e139),_0xb98489=Date['now']()-_0x12070a;if(_0x275525<0x5&&_0xb98489<0x12c){const _0x3cae6e=_0x2980b6['target'],_0x4e066d=_0x3cae6e['tagName']['toLowerCase']();('svg'===_0x4e066d||_0x3cae6e===_0x2df68d['node']()||'g'===_0x4e066d&&(null==(_0x26c716=_0x3cae6e['classList'])?void 0x0:_0x26c716['contains']('zoom-container')))&&(this['clearAllSelections'](_0x2df68d),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}_0x368e2d=null;}),_0xab4a20['on']('click',_0x4a5873=>{var _0x1ad516,_0x1cdc6d,_0x3a5341,_0x46311c,_0x4b5c57;const _0xd3a545=_0x4a5873['target'],_0x256e39=_0xd3a545['tagName']['toLowerCase']();('g'===_0x256e39&&((null==(_0x1ad516=_0xd3a545['classList'])?void 0x0:_0x1ad516['contains']('zoom-container'))||(null==(_0x1cdc6d=_0xd3a545['classList'])?void 0x0:_0x1cdc6d['contains']('links'))||(null==(_0x3a5341=_0xd3a545['classList'])?void 0x0:_0x3a5341['contains']('joint-labels'))||(null==(_0x46311c=_0xd3a545['classList'])?void 0x0:_0x46311c['contains']('nodes')))||'path'===_0x256e39&&(null==(_0x4b5c57=_0xd3a545['classList'])?void 0x0:_0x4b5c57['contains']('graph-link')))&&(this['clearAllSelections'](_0x2df68d),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}),this['setupDocumentClickHandler']();_0xab4a20['append']('g')['attr']('class','links')['selectAll']('path')['data'](_0x413868['links']())['enter']()['append']('path')['attr']('class','graph-link')['attr']('d',_0x2eafbd()['x'](_0x3a4045=>_0x3a4045['x']+0x32)['y'](_0x22c42c=>_0x22c42c['y']+0x32));const _0x4fed6c=_0xab4a20['append']('g')['attr']('class','joint-nodes')['selectAll']('g')['data'](_0x413868['links']()['filter'](_0x429727=>_0x429727['target']['data']['jointName']))['enter']()['append']('g')['attr']('class','graph-joint-group')['attr']('transform',_0x582c54=>'translate('+((_0x582c54['source']['x']+_0x582c54['target']['x'])/0x2+0x32)+',\x20'+((_0x582c54['source']['y']+_0x582c54['target']['y'])/0x2+0x32)+')')['style']('cursor','pointer');_0x4fed6c['each'](function(_0xaf91f7){const _0x2ccfd7=_0x404602(this),_0x4d95a1=_0x2ccfd7['append']('text')['attr']('class','joint-name-text')['attr']('dy',-0x4)['attr']('text-anchor','middle')['style']('font-size','12px')['style']('font-weight','500')['style']('fill',_0x4f0b7a['text'])['style']('user-select','none')['text'](_0xaf91f7['target']['data']['jointName']),_0x4699e3=_0x2ccfd7['append']('text')['attr']('class','joint-type-text')['attr']('dy',0xa)['attr']('text-anchor','middle')['style']('font-size','10px')['style']('font-weight','400')['style']('fill',_0x4f0b7a['text'])['style']('opacity',0.7)['style']('user-select','none')['text'](_0xaf91f7['target']['data']['jointType']||'joint'),_0x4a48f6=_0x4d95a1['node']()['getBBox'](),_0x57f10c=_0x4699e3['node']()['getBBox'](),_0x513f14=Math['max'](_0x4a48f6['width'],_0x57f10c['width'])+0x20;_0x2ccfd7['insert']('rect','text')['attr']('class','joint-capsule-bg')['attr']('x',-_0x513f14/0x2)['attr']('y',-0x16)['attr']('width',_0x513f14)['attr']('height',0x2c)['attr']('rx',0x16)['style']('fill',_0x4f0b7a['bg'])['style']('stroke',_0x4f0b7a['stroke'])['style']('stroke-width','1.5'),_0x2ccfd7['insert']('rect','.joint-capsule-bg')['attr']('class','joint-capsule-border')['attr']('x',-_0x513f14/0x2-0x2)['attr']('y',-0x18)['attr']('width',_0x513f14+0x4)['attr']('height',0x30)['attr']('rx',0x18)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','2');}),_0x4fed6c['on']('click',(_0x414c46,_0x46893d)=>{if(_0x414c46['stopPropagation'](),!_0x46893d['target']['data']['jointName'])return;const _0x474384=_0x10ee21['joints']['get'](_0x46893d['target']['data']['jointName']);_0x474384&&(_0x414c46['ctrlKey']||_0x414c46['metaKey']?this['measurementController']&&this['measurementController']['handleSelection'](_0x474384,_0x414c46['currentTarget'],'joint'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x2df68d),_0x404602(_0x414c46['currentTarget'])['classed']('selected',!0x0),_0x404602(_0x414c46['currentTarget'])['select']('.joint-capsule-border')['style']('stroke',_0x133506?'var(--accent)':'#ff4a4a')['style']('stroke-width','3'),_0x404602(_0x414c46['currentTarget'])['select']('.joint-capsule-bg')['style']('fill',_0x133506?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x474384)),this['codeEditorManager']&&_0x46893d['target']['data']['jointName']&&this['codeEditorManager']['scrollToJoint'](_0x46893d['target']['data']['jointName'])));}),_0x4fed6c['on']('mouseenter',function(){const _0x5aa368=_0x404602(this);_0x5aa368['classed']('selected')||_0x5aa368['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0.8);})['on']('mouseleave',function(){const _0x459877=_0x404602(this);_0x459877['classed']('selected')||_0x459877['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0x1);}),_0x4fed6c['append']('title')['text'](_0x1d9088=>_0x1d9088['target']['data']['jointName']+'\x20('+(_0x1d9088['target']['data']['jointType']||'joint')+')');const _0x28bf5b=_0xab4a20['append']('g')['attr']('class','nodes')['selectAll']('g')['data'](_0x413868['descendants']())['enter']()['append']('g')['attr']('class','graph-node')['attr']('transform',_0x136ba6=>'translate('+(_0x136ba6['x']+0x32)+',\x20'+(_0x136ba6['y']+0x32)+')')['style']('cursor','pointer');_0x28bf5b['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x4f0b7a['text'])['style']('user-select','none')['text'](_0x5c692a=>_0x5c692a['data']['name']),_0x28bf5b['each'](function(){const _0x3bd4ed=_0x404602(this),_0x2548d9=_0x3bd4ed['select']('text')['node']()['getBBox'](),_0x2f0233=_0x2548d9['width']+0x38,_0x26e5fc=_0x2548d9['height']+0x14+0x8;_0x3bd4ed['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0x2f0233/0x2)['attr']('y',-_0x26e5fc/0x2)['attr']('width',_0x2f0233)['attr']('height',_0x26e5fc)['attr']('rx',0xc)['style']('fill',_0x4f0b7a['bg'])['style']('stroke',_0x4f0b7a['stroke'])['style']('stroke-width','1.5'),_0x3bd4ed['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0x2f0233/0x2-0x2)['attr']('y',-_0x26e5fc/0x2-0x2)['attr']('width',_0x2f0233+0x4)['attr']('height',_0x26e5fc+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3');}),_0x28bf5b['on']('click',(_0x633b36,_0x56ef01)=>{_0x633b36['stopPropagation'](),_0x633b36['ctrlKey']||_0x633b36['metaKey']?_0x56ef01['data']['data']&&this['measurementController']&&this['measurementController']['handleSelection'](_0x56ef01['data']['data'],_0x633b36['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x2df68d),_0x404602(_0x633b36['currentTarget'])['classed']('selected',!0x0),_0x404602(_0x633b36['currentTarget'])['select']('.node-border')['style']('stroke',_0x133506?'var(--accent)':'#4a9eff')['style']('stroke-width','6'),_0x404602(_0x633b36['currentTarget'])['select']('.node-bg')['style']('fill',_0x133506?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),_0x56ef01['data']['data']&&this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['highlightManager']['highlightLink'](_0x56ef01['data']['data'],this['sceneManager']['currentModel'])),this['codeEditorManager']&&_0x56ef01['data']['name']&&this['codeEditorManager']['scrollToLink'](_0x56ef01['data']['name']));}),_0x28bf5b['on']('contextmenu',(_0x418624,_0x3072c0)=>{if(_0x418624['preventDefault'](),_0x418624['stopPropagation'](),!this['sceneManager']||!_0x3072c0['data']['data'])return;const _0x2b5680=_0x3072c0['data']['name'],_0x1bbb08=this['sceneManager']['visualizationManager']['toggleLinkVisibility'](_0x2b5680,this['sceneManager']['currentModel']),_0x520829=_0x404602(_0x418624['currentTarget']);_0x1bbb08?(_0x520829['classed']('hidden',!0x1),_0x520829['select']('.node-bg')['style']('fill',_0x4f0b7a['bg'])['style']('opacity','1'),_0x520829['select']('text')['style']('fill',_0x4f0b7a['text'])['style']('opacity','1')):(_0x520829['classed']('hidden',!0x0),_0x520829['select']('.node-bg')['style']('fill',_0x133506?'rgba(0,\x200,\x200,\x200.1)':'#1a1a1a')['style']('opacity','0.5'),_0x520829['select']('text')['style']('fill',_0x133506?'#999':'#666')['style']('opacity','0.6'));});const _0x5636c8=_0x413868['descendants']()[0x0],_0x34ed50=_0x5636c8['x']+0x32,_0x4230b2=_0x5636c8['y']+0x32-0x50,_0x46f1f6=_0xab4a20['append']('g')['attr']('class','graph-node\x20ground-node')['attr']('transform','translate('+_0x34ed50+',\x20'+_0x4230b2+')')['style']('cursor','pointer'),_0xea3951=_0x46f1f6['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x4f0b7a['text'])['style']('user-select','none')['text']('Ground')['node']()['getBBox'](),_0x427951=_0xea3951['width']+0x38,_0x15ebac=_0xea3951['height']+0x14+0x8;if(_0x46f1f6['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0x427951/0x2)['attr']('y',-_0x15ebac/0x2)['attr']('width',_0x427951)['attr']('height',_0x15ebac)['attr']('rx',0xc)['style']('fill',_0x4f0b7a['bg'])['style']('stroke',_0x4f0b7a['stroke'])['style']('stroke-width','1.5'),_0x46f1f6['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0x427951/0x2-0x2)['attr']('y',-_0x15ebac/0x2-0x2)['attr']('width',_0x427951+0x4)['attr']('height',_0x15ebac+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3'),_0x46f1f6['append']('title')['text']('Ground'),_0x46f1f6['on']('click',_0x5c14ba=>{_0x5c14ba['stopPropagation'](),_0x5c14ba['ctrlKey']||_0x5c14ba['metaKey']?this['measurementController']&&this['measurementController']['handleSelection']({'name':'ground'},_0x5c14ba['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x2df68d),_0x404602(_0x5c14ba['currentTarget'])['classed']('selected',!0x0),_0x404602(_0x5c14ba['currentTarget'])['select']('.node-border')['style']('stroke','#4a9eff')['style']('stroke-width','6'),_0x404602(_0x5c14ba['currentTarget'])['select']('.node-bg')['style']('fill','#3a3a3a'));}),_0x10ee21['constraints']&&_0x10ee21['constraints']['size']>0x0){const _0x299f67=_0xab4a20['append']('g')['attr']('class','constraints');_0x10ee21['constraints']['forEach']((_0x408c97,_0x139843)=>{if('connect'===_0x408c97['type']||'weld'===_0x408c97['type']){const _0x2d439a=_0x413868['descendants']()['find'](_0x1b2998=>_0x1b2998['data']['name']===_0x408c97['body1']),_0x53f45a=_0x413868['descendants']()['find'](_0x505858=>_0x505858['data']['name']===_0x408c97['body2']);if(_0x2d439a&&_0x53f45a){const _0x5d7110=_0x2d439a['x']+0x32,_0x159301=_0x2d439a['y']+0x32,_0x4be225=_0x53f45a['x']+0x32,_0x370871=_0x53f45a['y']+0x32,_0x6ddcbd='weld'===_0x408c97['type']?'#ff6600':'#00ffff';_0x299f67['append']('line')['attr']('x1',_0x5d7110)['attr']('y1',_0x159301)['attr']('x2',_0x4be225)['attr']('y2',_0x370871)['style']('stroke',_0x6ddcbd)['style']('stroke-width','2')['style']('stroke-dasharray','5,5')['style']('opacity','0.6')['append']('title')['text'](_0x408c97['type']+':\x20'+_0x408c97['body1']+'\x20↔\x20'+_0x408c97['body2']);}}else if('joint'===_0x408c97['type']){const _0x57fe1a=_0x10ee21['getJoint'](_0x408c97['joint1']),_0x4fe909=_0x10ee21['getJoint'](_0x408c97['joint2']);if(_0x57fe1a&&_0x4fe909){const _0x16d6b6=_0x413868['descendants']()['find'](_0x218803=>_0x218803['data']['name']===_0x57fe1a['child']),_0x85fdfe=_0x413868['descendants']()['find'](_0x57903f=>_0x57903f['data']['name']===_0x4fe909['child']);if(_0x16d6b6&&_0x85fdfe){const _0x57e729=_0x16d6b6['x']+0x32,_0xb5809c=_0x16d6b6['y']+0x32,_0x55d8bc=_0x85fdfe['x']+0x32,_0x46ffca=_0x85fdfe['y']+0x32;_0x299f67['append']('line')['attr']('x1',_0x57e729)['attr']('y1',_0xb5809c)['attr']('x2',_0x55d8bc)['attr']('y2',_0x46ffca)['style']('stroke','#ffff00')['style']('stroke-width','2')['style']('stroke-dasharray','3,3')['style']('opacity','0.5')['append']('title')['text']('Joint\x20constraint:\x20'+_0x408c97['joint1']+'\x20↔\x20'+_0x408c97['joint2']);}}}});}setTimeout(()=>{this['fitToView'](!0x1);},0x32);}['buildHierarchy'](_0x25912e,_0x5cf839){const _0x3244cc=_0x5cf839['links']['get'](_0x25912e);if(!_0x3244cc)return null;const _0x56ff0d={'name':_0x25912e,'data':_0x3244cc,'children':[]};return _0x5cf839['joints']['forEach']((_0xf976a7,_0x47467a)=>{if(_0xf976a7['parent']===_0x25912e&&_0xf976a7['child']){const _0x4e89e0=this['buildHierarchy'](_0xf976a7['child'],_0x5cf839);_0x4e89e0&&(_0x4e89e0['jointName']=_0x47467a,_0x4e89e0['jointType']=_0xf976a7['type'],_0x56ff0d['children']['push'](_0x4e89e0));}}),_0x5cf839['links']['forEach']((_0xc856ef,_0x3f555b)=>{if(!_0x56ff0d['children']['some'](_0x2c5d69=>_0x2c5d69['name']===_0x3f555b)&&_0xc856ef['userData']['parentName']===_0x25912e){const _0x3c354b=this['buildHierarchy'](_0x3f555b,_0x5cf839);_0x3c354b&&(_0x3c354b['jointName']=null,_0x3c354b['jointType']='fixed',_0x3c354b['isFixedConnection']=!0x0,_0x56ff0d['children']['push'](_0x3c354b));}}),_0x56ff0d;}['setupDocumentClickHandler'](){window['graphClickHandler']&&document['removeEventListener']('click',window['graphClickHandler'],!0x0),window['graphClickHandler']=_0x484ffe=>{const _0x4a774d=document['getElementById']('floating-model-tree');if(!_0x4a774d||'none'===_0x4a774d['style']['display'])return;if(!_0x4a774d['contains'](_0x484ffe['target']))return;const _0x3c178e=_0x484ffe['target'];_0x3c178e['tagName']['toLowerCase']();const _0x5a12df=_0x3c178e['closest']('.graph-node'),_0x1e47e6=_0x3c178e['closest']('.graph-joint-group'),_0x10b236=_0x3c178e['closest']('.floating-panel-header');if(!_0x5a12df&&!_0x1e47e6&&!_0x10b236){const _0x34392a=_0x404602('#model-graph-svg');this['clearAllSelections'](_0x34392a),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['measurementManager']['clearMeasurement']());}},document['addEventListener']('click',window['graphClickHandler'],!0x0);}['clearAllSelections'](_0x2d95d1){const _0x3cdac6='light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?'rgba(255,\x20255,\x20255,\x200.95)':'rgba(42,\x2042,\x2046,\x200.95)';_0x2d95d1['selectAll']('.graph-node')['classed']('selected',!0x1),_0x2d95d1['selectAll']('.graph-node\x20.node-border')['style']('stroke','transparent'),_0x2d95d1['selectAll']('.graph-node\x20.node-bg')['style']('fill',_0x3cdac6),_0x2d95d1['selectAll']('.graph-joint-group')['classed']('selected',!0x1),_0x2d95d1['selectAll']('.graph-joint-group\x20.joint-capsule-border')['style']('stroke','transparent'),_0x2d95d1['selectAll']('.graph-joint-group\x20.joint-capsule-bg')['style']('fill',_0x3cdac6),_0x2d95d1['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x2d95d1['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['axesManager']&&this['sceneManager']['axesManager']['restoreAllJointAxes']();}['setMeasurementController'](_0x456218){this['measurementController']=_0x456218;}['setCodeEditorManager'](_0xf2711f){this['codeEditorManager']=_0xf2711f;}['fitToView'](_0x206740=!0x1,_0x59cb66=0x0){if(this['currentSvg']&&this['currentContainer']&&this['currentZoom'])try{const _0x144bc4=this['currentSvg']['node']()['getBoundingClientRect']();let _0x158260;try{_0x158260=this['currentContainer']['node']()['getBBox']();}catch(_0x580755){return;}if(!_0x158260||0x0===_0x158260['width']||0x0===_0x158260['height'])return;const _0x564d14=0x32,_0x1c825b=(_0x144bc4['width']-0x2*_0x564d14)/_0x158260['width'],_0x5cea0d=(_0x144bc4['height']-0x2*_0x564d14)/_0x158260['height'];let _0x572d3a=Math['min'](_0x1c825b,_0x5cea0d);_0x572d3a=Math['max'](0.1,Math['min'](_0x572d3a,0x2));const _0x1e1c95=_0x144bc4['width']/0x2-(_0x158260['x']+_0x158260['width']/0x2)*_0x572d3a,_0x5184a5=_0x144bc4['height']/0x2-(_0x158260['y']+_0x158260['height']/0x2)*_0x572d3a,_0x5d0ca3=_0x2e08d1['translate'](_0x1e1c95,_0x5184a5)['scale'](_0x572d3a);_0x206740&&_0x59cb66>0x0?this['currentSvg']['transition']()['duration'](_0x59cb66)['call'](this['currentZoom']['transform'],_0x5d0ca3):this['currentSvg']['call'](this['currentZoom']['transform'],_0x5d0ca3);}catch(_0x41d7bd){}}}class qi{constructor(){this['availableModels']=[],this['onFileClick']=null;}['updateFileTree'](_0x49772f,_0xa920a2,_0x392660=!0x1){this['availableModels']=_0x49772f;const _0x1970b6=document['getElementById']('model-list');if(!_0x1970b6)return;const _0x33c132=_0x392660?this['saveTreeState']():[];_0x1970b6['innerHTML']='',0x0!==_0x49772f['length']?(this['buildFileTree'](_0x1970b6,_0x49772f,_0xa920a2),_0x392660&&_0x33c132['length']>0x0&&setTimeout(()=>this['restoreTreeState'](_0x33c132),0x0)):this['showLoadButton'](_0x1970b6);}['showLoadButton'](_0x5dd078){var _0x57982c,_0x57cfcb,_0x3de2c6,_0x4dcee2;const _0x402617=document['createElement']('div');_0x402617['className']='file-tree-empty-container',_0x402617['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20min-height:\x20200px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0x7371ad=document['createElement']('div');_0x7371ad['className']='empty-state',_0x7371ad['style']['cssText']='margin:\x200;\x20padding:\x200;\x20text-align:\x20center;\x20line-height:\x201.6;';const _0x1031ae=document['createElement']('div');_0x1031ae['textContent']=(null==(_0x57982c=window['i18n'])?void 0x0:_0x57982c['t']('dropHint'))||'Drag\x20and\x20drop\x20robot\x20model\x20files\x20or\x20folders\x20anywhere',_0x1031ae['setAttribute']('data-i18n','dropHint');const _0x2d27dc=document['createElement']('div');_0x2d27dc['textContent']=(null==(_0x57cfcb=window['i18n'])?void 0x0:_0x57cfcb['t']('orClickButton'))||'or\x20click\x20button\x20to\x20load',_0x2d27dc['setAttribute']('data-i18n','orClickButton'),_0x2d27dc['style']['marginTop']='4px',_0x7371ad['appendChild'](_0x1031ae),_0x7371ad['appendChild'](_0x2d27dc);const _0x257ef5=document['createElement']('div');_0x257ef5['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0x318285=document['createElement']('button');_0x318285['className']='control-button\x20load-files-btn';const _0x4bfa23=document['createElement']('span');_0x4bfa23['textContent']=(null==(_0x3de2c6=window['i18n'])?void 0x0:_0x3de2c6['t']('loadFiles'))||'Load\x20Files',_0x4bfa23['setAttribute']('data-i18n','loadFiles'),_0x318285['appendChild'](_0x4bfa23),_0x318285['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2013px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0x318285['title']='选择单个或多个文件',_0x318285['addEventListener']('click',_0x11e52d=>{_0x11e52d['preventDefault'](),_0x11e52d['stopPropagation'](),this['triggerFileLoad'](!0x1);});const _0x4cd57a=document['createElement']('button');_0x4cd57a['className']='control-button\x20load-folder-btn';const _0x726db5=document['createElement']('span');_0x726db5['textContent']=(null==(_0x4dcee2=window['i18n'])?void 0x0:_0x4dcee2['t']('loadFolder'))||'Load\x20Folder',_0x726db5['setAttribute']('data-i18n','loadFolder'),_0x4cd57a['appendChild'](_0x726db5),_0x4cd57a['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2013px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0x4cd57a['title']='选择整个文件夹',_0x4cd57a['addEventListener']('click',_0x1ba5f4=>{_0x1ba5f4['preventDefault'](),_0x1ba5f4['stopPropagation'](),this['triggerFileLoad'](!0x0);}),_0x257ef5['appendChild'](_0x318285),_0x257ef5['appendChild'](_0x4cd57a),_0x402617['appendChild'](_0x7371ad),_0x402617['appendChild'](_0x257ef5),_0x5dd078['appendChild'](_0x402617);}['triggerFileLoad'](_0x3a2024=!0x1){const _0x3b6743=document['createElement']('input');_0x3b6743['type']='file',_0x3b6743['multiple']=!0x0,_0x3b6743['webkitdirectory']=_0x3a2024,_0x3b6743['style']['display']='none',_0x3a2024||_0x3b6743['setAttribute']('accept','.urdf,.xacro,.xml,.dae,.stl,.obj,.collada,.usd,.usda,.usdc,.usdz'),_0x3b6743['addEventListener']('change',_0x46b272=>{const _0x5ab8b3=Array['from'](_0x46b272['target']['files']);if(_0x5ab8b3&&_0x5ab8b3['length']>0x0){const _0x53f73e=new DataTransfer();_0x5ab8b3['forEach'](_0x12aca7=>_0x53f73e['items']['add'](_0x12aca7));const _0x5aa52d=new DragEvent('drop',{'bubbles':!0x0,'cancelable':!0x0,'dataTransfer':_0x53f73e});document['body']['dispatchEvent'](_0x5aa52d);}document['body']['removeChild'](_0x3b6743);}),document['body']['appendChild'](_0x3b6743),_0x3b6743['click']();}['saveTreeState'](){const _0x2f6ccb=[];return document['querySelectorAll']('.tree-item.folder:not(.collapsed)')['forEach'](_0x177027=>{const _0x164746=_0x177027['querySelector']('.name');_0x164746&&_0x2f6ccb['push'](_0x164746['textContent']);}),_0x2f6ccb;}['restoreTreeState'](_0x47a8ae){_0x47a8ae&&0x0!==_0x47a8ae['length']&&document['querySelectorAll']('.tree-item.folder')['forEach'](_0xdb65c6=>{const _0x2034a7=_0xdb65c6['querySelector']('.name');_0x2034a7&&_0x47a8ae['includes'](_0x2034a7['textContent'])&&_0xdb65c6['classList']['remove']('collapsed');});}['markActiveFile'](_0x16a71d){document['querySelectorAll']('.tree-item.selected')['forEach'](_0x2f451a=>{_0x2f451a['classList']['remove']('selected');});document['querySelectorAll']('#model-list\x20.tree-item')['forEach'](_0x401faf=>{const _0x28677a=_0x401faf['querySelector']('.name');_0x28677a&&_0x28677a['textContent']===_0x16a71d['name']&&(_0x401faf['classList']['add']('selected'),_0x401faf['scrollIntoView']({'behavior':'smooth','block':'nearest'}));});}['expandAndScrollToFile'](_0x1d6a48,_0x3767c3){if(!_0x1d6a48)return;let _0x1ddc73=null;if(_0x3767c3['forEach']((_0x5672ab,_0xe9e012)=>{_0x5672ab===_0x1d6a48&&(_0x1ddc73=_0xe9e012);}),!_0x1ddc73)return;const _0x359311=_0x1ddc73['split']('/')['filter'](_0xa5dc37=>_0xa5dc37),_0x3dd2f0=[];for(let _0xcf5745=0x0;_0xcf5745<_0x359311['length']-0x1;_0xcf5745++)_0x3dd2f0['push'](_0x359311[_0xcf5745]);document['querySelectorAll']('#model-list\x20.tree-item.folder')['forEach'](_0x5b817a=>{const _0x31a6e1=_0x5b817a['querySelector']('.name');_0x31a6e1&&_0x3dd2f0['includes'](_0x31a6e1['textContent'])&&_0x5b817a['classList']['remove']('collapsed');}),setTimeout(()=>{const _0x3d1c08=document['querySelectorAll']('#model-list\x20.tree-item');let _0x1ba361=null;_0x3d1c08['forEach'](_0x402f71=>{const _0x54657f=_0x402f71['querySelector']('.name');if(_0x54657f&&_0x54657f['textContent']===_0x1d6a48['name']){_0x402f71['parentElement']&&(_0x1ba361=_0x402f71);}}),_0x1ba361&&(_0x1ba361['classList']['add']('selected'),_0x1ba361['scrollIntoView']({'behavior':'smooth','block':'nearest'}));},0x64);}['isModelXML'](_0x4d45f1){const _0x3913b3=_0x4d45f1['toLowerCase']();return!['package','launch','config','scene','ros']['some'](_0x354ab6=>_0x3913b3['includes'](_0x354ab6));}['buildFileTree'](_0x1b945a,_0x750d75,_0x4c436b){const _0xec2ba8={};_0x4c436b['forEach']((_0x39bc3d,_0x20cc38)=>{const _0x4b5df3=_0x39bc3d['name']['split']('.')['pop']()['toLowerCase']();if(!['urdf','xacro','xml','dae','stl','obj','collada','usd','usda','usdc','yml','yaml']['includes'](_0x4b5df3))return;if('xml'===_0x4b5df3&&!this['isModelXML'](_0x39bc3d['name']))return;const _0x25cb92=_0x20cc38['split']('/')['filter'](_0x2fb9f2=>_0x2fb9f2);let _0x5a483c=_0xec2ba8;_0x25cb92['forEach']((_0x17f02e,_0x13e7d9)=>{_0x13e7d9===_0x25cb92['length']-0x1?(_0x5a483c['__files']||(_0x5a483c['__files']=[]),_0x5a483c['__files']['push']({'name':_0x17f02e,'file':_0x39bc3d,'path':_0x20cc38,'ext':_0x4b5df3})):(_0x5a483c[_0x17f02e]||(_0x5a483c[_0x17f02e]={}),_0x5a483c=_0x5a483c[_0x17f02e]);});}),this['renderFileTreeStructure'](_0xec2ba8,_0x1b945a);}['renderFileTreeStructure'](_0x35ae91,_0x5d873a){const _0x1dc8c3=[],_0x32fb1b=[];Object['keys'](_0x35ae91)['forEach'](_0x13ffe6=>{'__files'===_0x13ffe6?_0x32fb1b['push'](..._0x35ae91[_0x13ffe6]):_0x1dc8c3['push'](_0x13ffe6);}),_0x1dc8c3['sort']()['forEach'](_0x5533c5=>{const _0xbc208e=this['createTreeFolder'](_0x5533c5),_0x216628=_0xbc208e['querySelector']('.tree-children');this['renderFileTreeStructure'](_0x35ae91[_0x5533c5],_0x216628),_0x5d873a['appendChild'](_0xbc208e);}),_0x32fb1b['length']>0x0&&this['renderFiles'](_0x32fb1b,_0x5d873a);}['createTreeFolder'](_0x51dc81){const _0x574c56=document['createElement']('div');_0x574c56['className']='tree-item\x20folder\x20collapsed';const _0x538afa=document['createElement']('div');_0x538afa['className']='tree-item-header';const _0x295d5b=document['createElement']('div');_0x295d5b['className']='tree-item-left';const _0x49b262=document['createElement']('span');_0x49b262['className']='tree-arrow';const _0x3ec60b=document['createElement']('span');_0x3ec60b['className']='icon';const _0x246208=document['createElement']('span');_0x246208['className']='name',_0x246208['textContent']=_0x51dc81,_0x295d5b['appendChild'](_0x49b262),_0x295d5b['appendChild'](_0x3ec60b),_0x295d5b['appendChild'](_0x246208),_0x538afa['appendChild'](_0x295d5b);const _0x2ea8d2=document['createElement']('div');return _0x2ea8d2['className']='tree-children',_0x574c56['appendChild'](_0x538afa),_0x574c56['appendChild'](_0x2ea8d2),_0x538afa['addEventListener']('click',_0x3e943c=>{_0x3e943c['stopPropagation'](),_0x574c56['classList']['toggle']('collapsed');}),_0x574c56;}['renderFiles'](_0x1e0f57,_0x473490){_0x1e0f57['sort']((_0xe55a5f,_0x11a26b)=>{const _0x535bd2=['urdf','xacro','xml','usd','usda','usdc'],_0x3eaafa=_0x535bd2['includes'](_0xe55a5f['ext']),_0x54dc30=_0x535bd2['includes'](_0x11a26b['ext']);return _0x3eaafa&&!_0x54dc30?-0x1:!_0x3eaafa&&_0x54dc30?0x1:_0xe55a5f['name']['localeCompare'](_0x11a26b['name']);}),_0x1e0f57['forEach'](_0x206a8b=>{const _0x4741d7=this['createTreeItem'](_0x206a8b['name'],_0x206a8b['ext']);_0x4741d7['addEventListener']('click',_0x2eccf7=>{var _0x327987;_0x2eccf7['stopPropagation'](),document['querySelectorAll']('.tree-item.selected')['forEach'](_0x2fc3a7=>{_0x2fc3a7['classList']['remove']('selected');}),_0x4741d7['classList']['add']('selected'),null==(_0x327987=this['onFileClick'])||_0x327987['call'](this,_0x206a8b);}),_0x473490['appendChild'](_0x4741d7);});}['createTreeItem'](_0x27b8af,_0x2c4122){const _0x1602e5=document['createElement']('div');_0x1602e5['className']='tree-item';const _0x53de87=document['createElement']('div');_0x53de87['className']='tree-item-header';const _0x3a2c1c=document['createElement']('div');_0x3a2c1c['className']='tree-item-left';const _0x7da7c5=document['createElement']('span');_0x7da7c5['className']='icon';const _0x5960cf=document['createElement']('span');if(_0x5960cf['className']='name',_0x5960cf['textContent']=_0x27b8af,_0x3a2c1c['appendChild'](_0x7da7c5),_0x3a2c1c['appendChild'](_0x5960cf),_0x53de87['appendChild'](_0x3a2c1c),_0x27b8af&&_0x27b8af['includes']('.')){const _0x584e36=_0x27b8af['split']('.')['pop']()['toUpperCase']();if(['URDF','XACRO','XML','DAE','STL','OBJ','USD','USDA','USDC','USDZ']['includes'](_0x584e36)){const _0x47a8d5=document['createElement']('span');_0x47a8d5['className']='type-badge',_0x47a8d5['textContent']=_0x584e36,_0x53de87['appendChild'](_0x47a8d5);}}return _0x1602e5['appendChild'](_0x53de87),_0x1602e5;}}class Bi{constructor(_0x3ec2e0,_0x298a6a='vscode-dark'){this['parentElement']=_0x3ec2e0,this['view']=null,this['onChangeCallback']=null,this['currentTheme']=_0x298a6a,this['setupEditor']();}['getThemeExtension'](){return'light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?_0x1a9849:_0x564c36;}['setupEditor'](){this['parentElement']['innerHTML']='';const _0x3153c5=_0xce7dac['create']({'doc':'','extensions':[_0xd9173a,_0x43129d(),this['getThemeExtension'](),_0x4a1d4d['theme']({'&':{'height':'100%','fontSize':'13px','backgroundColor':'transparent\x20!important'},'.cm-content':{'backgroundColor':'transparent\x20!important'},'.cm-gutters':{'backgroundColor':'rgba(255,\x20255,\x20255,\x200.02)\x20!important','border':'none\x20!important'},'.cm-activeLineGutter':{'backgroundColor':'rgba(255,\x20255,\x20255,\x200.05)\x20!important'},'.cm-activeLine':{'backgroundColor':'rgba(255,\x20255,\x20255,\x200.03)\x20!important'},'.cm-scroller':{'overflow':'auto','fontFamily':'\x27Consolas\x27,\x20\x27Monaco\x27,\x20\x27Courier\x20New\x27,\x20monospace','backgroundColor':'transparent\x20!important'},'.cm-scroller::-webkit-scrollbar':{'width':'10px','height':'10px'},'.cm-scroller::-webkit-scrollbar-track':{'background':'transparent'},'.cm-scroller::-webkit-scrollbar-thumb':{'background':'rgba(128,\x20128,\x20128,\x200.3)','borderRadius':'6px','border':'2px\x20solid\x20transparent','backgroundClip':'padding-box'},'.cm-scroller::-webkit-scrollbar-thumb:hover':{'background':'rgba(128,\x20128,\x20128,\x200.5)','backgroundClip':'padding-box'},'.cm-scroller::-webkit-scrollbar-corner':{'background':'transparent'}}),_0x4a1d4d['updateListener']['of'](_0xba9647=>{_0xba9647['docChanged']&&this['onChangeCallback']&&this['onChangeCallback'](this['getValue']());})]});this['view']=new _0x4a1d4d({'state':_0x3153c5,'parent':this['parentElement']});}['setValue'](_0x3e8512){if(!this['view'])return;const _0x340a42=this['view']['state']['update']({'changes':{'from':0x0,'to':this['view']['state']['doc']['length'],'insert':_0x3e8512||''}});this['view']['dispatch'](_0x340a42);}['getValue'](){return this['view']?this['view']['state']['doc']['toString']():'';}['onChange'](_0x2824f0){this['onChangeCallback']=_0x2824f0;}['focus'](){this['view']&&this['view']['focus']();}['destroy'](){this['view']&&(this['view']['destroy'](),this['view']=null);}['updateTheme'](_0x5b766a){if(!this['view'])return;const _0x1480b8=this['getValue'](),_0x414e1d=this['view']['state']['selection']['main']['head'];this['view']['destroy'](),this['setupEditor'](),this['setValue'](_0x1480b8),this['view']['dispatch']({'selection':{'anchor':_0x414e1d,'head':_0x414e1d}});}['scrollToLine'](_0x39e12f,_0x4efe47=!0x0){if(this['view']&&!(_0x39e12f<0x1))try{const _0x391aa2=this['view']['state']['doc'],_0x375544=_0x391aa2['lines'],_0x14f1dd=Math['min'](Math['max'](0x1,_0x39e12f),_0x375544),_0x3f1e10=_0x391aa2['line'](_0x14f1dd),_0x1c450d=_0x3f1e10['from'];this['view']['dispatch']({'selection':{'anchor':_0x1c450d,'head':_0x3f1e10['to']},'scrollIntoView':!0x0}),this['view']['focus']();}catch(_0x2c1920){}}['searchAndScroll'](_0x3a7c44,_0x1a801d=!0x0){if(!this['view']||!_0x3a7c44)return!0x1;try{const _0x23f29c=this['getValue'](),_0x57cad1=_0x1a801d?_0x23f29c:_0x23f29c['toLowerCase'](),_0x9cd914=_0x1a801d?_0x3a7c44:_0x3a7c44['toLowerCase'](),_0x527870=_0x57cad1['indexOf'](_0x9cd914);return-0x1!==_0x527870&&(this['view']['dispatch']({'selection':{'anchor':_0x527870,'head':_0x527870+_0x3a7c44['length']},'scrollIntoView':!0x0}),this['view']['focus'](),!0x0);}catch(_0x2a0896){return!0x1;}}}class $i{constructor(){this['codeEditorInstance']=null,this['editorState']={'currentFile':null,'currentContent':'','originalContent':'','defaultFileName':'newfile.xml','defaultFileType':'urdf'},this['onReload']=null,this['fileMap']=null;}['init'](_0x1bf711){this['fileMap']=_0x1bf711;const _0x231518=document['getElementById']('code-editor-wrapper');_0x231518&&(this['codeEditorInstance']=new Bi(_0x231518),this['codeEditorInstance']['onChange'](_0x4f61b2=>{this['editorState']['currentContent']=_0x4f61b2,this['updateEditorSaveStatus']();}),this['setupEditorControls'](),this['updateEditorSaveStatus'](),this['setupFileControls']());}['setupFileControls'](){const _0x44160c=document['getElementById']('editor-filename-input'),_0x2a6382=document['getElementById']('editor-filename');if(!_0x44160c||!_0x2a6382)return;const _0x4c076d=()=>{this['editorState']['currentFile']?(_0x44160c['style']['display']='none',_0x2a6382['style']['display']='inline-block'):(_0x44160c['style']['display']='inline-block',_0x2a6382['style']['display']='none',_0x44160c['value']=this['editorState']['defaultFileName']);};_0x4c076d(),_0x44160c['addEventListener']('input',_0x4cd4b2=>{this['editorState']['defaultFileName']=_0x4cd4b2['target']['value']['trim']()||'newfile.xml';}),this['updateControlsVisibility']=_0x4c076d;}['detectFileTypeFromName'](_0x2b14da){return{'xml':'urdf','urdf':'urdf','xacro':'xacro','mjcf':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x2b14da['toLowerCase']()['split']('.')['pop']()]||'urdf';}['setupEditorControls'](){const _0x30ad43=document['getElementById']('open-editor-btn'),_0x4f8217=document['getElementById']('code-editor-panel'),_0x5cde5d=document['getElementById']('close-editor-btn'),_0xac173b=document['getElementById']('save-btn'),_0x25f650=document['getElementById']('reload-btn');_0x30ad43&&_0x4f8217&&(_0x4f8217['classList']['add']('visible'),_0x30ad43['classList']['add']('active'),_0x30ad43['addEventListener']('click',async()=>{if(_0x4f8217['classList']['contains']('visible'))return _0x4f8217['classList']['remove']('visible'),void _0x30ad43['classList']['remove']('active');_0x4f8217['classList']['add']('visible'),_0x30ad43['classList']['add']('active'),this['editorState']['currentFile']||(this['codeEditorInstance']['setValue'](''),document['getElementById']('editor-filename')['textContent']=window['i18n']['t']('newFile'),this['updateEditorSaveStatus']());}),_0x5cde5d&&_0x5cde5d['addEventListener']('click',()=>{_0x4f8217['classList']['remove']('visible'),_0x30ad43['classList']['remove']('active');}),_0x25f650&&_0x25f650['addEventListener']('click',async()=>{try{const _0x20cab9=this['codeEditorInstance']['getValue']();if(!_0x20cab9||0x0===_0x20cab9['trim']()['length'])return;let _0x547d39,_0x446c85;if(this['editorState']['currentFile'])_0x547d39=this['editorState']['currentFile']['name'],_0x446c85=this['editorState']['currentFile']['type'];else{const _0x25141d=document['getElementById']('editor-filename-input');_0x547d39=_0x25141d&&_0x25141d['value']['trim']()||this['editorState']['defaultFileName'],_0x446c85=this['detectFileTypeFromName'](_0x547d39);}const _0x199878=new Blob([_0x20cab9],{'type':'text/plain'}),_0x1e7c2a=new File([_0x199878],_0x547d39,{'type':_0x446c85});if(this['editorState']['currentFile']){const _0x1d406b=[];for(const [_0x3b0370]of this['fileMap']['entries']())(_0x3b0370['endsWith'](_0x547d39)||_0x3b0370===_0x547d39)&&_0x1d406b['push'](_0x3b0370);_0x1d406b['forEach'](_0x2bd0a0=>{this['fileMap']['set'](_0x2bd0a0,_0x1e7c2a);});}else this['fileMap']['set'](_0x547d39,_0x1e7c2a);const _0x5ac3f4=_0x20cab9;if(this['_reloadingInProgress']=!0x0,this['onReload']&&await this['onReload'](_0x1e7c2a,!0x0),this['editorState']['currentContent']=_0x5ac3f4,!this['editorState']['currentFile']){this['editorState']['currentFile']=_0x1e7c2a;const _0x497ccd=document['getElementById']('editor-filename');_0x497ccd&&(_0x497ccd['textContent']=_0x547d39),this['updateControlsVisibility']&&this['updateControlsVisibility']();}this['_reloadingInProgress']=!0x1;}catch(_0x4b84ec){this['_reloadingInProgress']=!0x1;}}),_0xac173b&&_0xac173b['addEventListener']('click',async()=>{this['editorState']['currentFile']&&await this['performSave']();}));}async['loadFile'](_0x4b8a34,_0x1d6a0f=!0x0){if(_0x4b8a34&&this['codeEditorInstance']&&(!_0x1d6a0f||!this['_reloadingInProgress']))try{const _0x14af3c=await dt(_0x4b8a34);this['editorState']['currentFile']=_0x4b8a34,this['editorState']['originalContent']=_0x14af3c,this['editorState']['currentContent']=_0x14af3c,this['codeEditorInstance']['setValue'](_0x14af3c);const _0x4afd1f=document['getElementById']('editor-filename');_0x4afd1f&&(_0x4afd1f['textContent']=_0x4b8a34['name']),this['updateControlsVisibility']&&this['updateControlsVisibility'](),setTimeout(()=>{const _0x2f429a=document['getElementById']('editor-save-status');_0x2f429a&&(_0x2f429a['textContent']=window['i18n']['t']('saved'),_0x2f429a['className']='code-editor-save-status\x20saved');},0x64);}catch(_0x32dda2){}}['updateEditorSaveStatus'](){const _0x4ace1d=document['getElementById']('editor-save-status');if(!_0x4ace1d||!this['codeEditorInstance'])return;if(!this['editorState']['currentFile'])return _0x4ace1d['textContent']=window['i18n']['t']('unsaved'),void(_0x4ace1d['className']='code-editor-save-status\x20unsaved');this['codeEditorInstance']['getValue']()!==this['editorState']['originalContent']?(_0x4ace1d['textContent']=window['i18n']['t']('unsaved'),_0x4ace1d['className']='code-editor-save-status\x20unsaved'):(_0x4ace1d['textContent']=window['i18n']['t']('saved'),_0x4ace1d['className']='code-editor-save-status\x20saved');}['updateTheme'](_0x30352d){this['codeEditorInstance']&&this['codeEditorInstance']['updateTheme'](_0x30352d);}async['performSave'](){try{const _0x418d62=this['codeEditorInstance']['getValue'](),_0x955a71=this['editorState']['currentFile']['name'];this['downloadFile'](_0x418d62,_0x955a71);const _0x57b37f=new Blob([_0x418d62],{'type':'text/plain'}),_0x46a34c=new File([_0x57b37f],_0x955a71,{'type':this['editorState']['currentFile']['type']});for(const [_0x322cfe,_0x366bf1]of this['fileMap']['entries']())(_0x366bf1===this['editorState']['currentFile']||_0x322cfe===_0x955a71||_0x322cfe['endsWith']('/'+_0x955a71))&&this['fileMap']['set'](_0x322cfe,_0x46a34c);this['editorState']['currentFile']=_0x46a34c,this['editorState']['originalContent']=_0x418d62,this['editorState']['currentContent']=_0x418d62,this['updateEditorSaveStatus']();}catch(_0x18f296){this['showInlineMessage']('Download\x20failed:\x20'+_0x18f296['message'],'error');}}['downloadFile'](_0x24166f,_0x3bb636){try{const _0x342645=new Blob([_0x24166f],{'type':'text/plain;charset=utf-8'}),_0x124196=URL['createObjectURL'](_0x342645),_0x39677f=document['createElement']('a');_0x39677f['href']=_0x124196,_0x39677f['download']=_0x3bb636,_0x39677f['style']['display']='none',document['body']['appendChild'](_0x39677f),_0x39677f['click'](),document['body']['removeChild'](_0x39677f),URL['revokeObjectURL'](_0x124196);}catch(_0x23aa2e){throw _0x23aa2e;}}['showInlineMessage'](_0x1810fb,_0x55529c='info'){const _0xbe66ac=document['getElementById']('code-editor-panel');if(!_0xbe66ac)return;const _0x35da0c=_0xbe66ac['querySelector']('.editor-inline-message');_0x35da0c&&_0x35da0c['remove']();const _0x850d50={'success':'#4ade80','error':'#ff6b6b','warning':'#fbbf24','info':'#4a9eff'},_0x1f375e=document['createElement']('div');_0x1f375e['className']='editor-inline-message',_0x1f375e['textContent']=_0x1810fb,_0x1f375e['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x2060px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x2050%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20transform:\x20translateX(-50%);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20'+(_0x850d50[_0x55529c]||_0x850d50['info'])+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2012px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20box-shadow:\x200\x204px\x2012px\x20rgba(0,\x200,\x200,\x200.2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x20999;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20animation:\x20messageSlideIn\x200.3s\x20ease;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0xbe66ac['appendChild'](_0x1f375e),setTimeout(()=>{_0x1f375e['style']['animation']='messageSlideOut\x200.3s\x20ease',setTimeout(()=>_0x1f375e['remove'](),0x12c);},0xbb8);}['clearEditor'](){if(!this['codeEditorInstance'])return;this['codeEditorInstance']['setValue'](''),this['editorState']['currentFile']=null,this['editorState']['originalContent']='',this['editorState']['currentContent']='';const _0x4c7ad5=document['getElementById']('editor-filename');_0x4c7ad5&&(_0x4c7ad5['textContent']=window['i18n']['t']('newFile')),this['updateControlsVisibility']&&this['updateControlsVisibility'](),this['updateEditorSaveStatus']();}['getEditor'](){return this['codeEditorInstance'];}['getValue'](){return this['codeEditorInstance']?this['codeEditorInstance']['getValue']():'';}['setValue'](_0xd59f3a){this['codeEditorInstance']&&(this['codeEditorInstance']['setValue'](_0xd59f3a||''),this['editorState']['currentContent']=_0xd59f3a||'');}['scrollToLink'](_0x25b904){if(!this['codeEditorInstance']||!_0x25b904)return!0x1;const _0xafe841=document['getElementById']('code-editor-panel'),_0x119f45=document['getElementById']('open-editor-btn');_0xafe841&&!_0xafe841['classList']['contains']('visible')&&(_0xafe841['classList']['add']('visible'),_0x119f45&&_0x119f45['classList']['add']('active'));const _0x2798da='<link\x20name=\x22'+_0x25b904+'\x22',_0x58a232='<body\x20name=\x22'+_0x25b904+'\x22';let _0x1ada4d=this['codeEditorInstance']['searchAndScroll'](_0x2798da,!0x0);return _0x1ada4d||(_0x1ada4d=this['codeEditorInstance']['searchAndScroll'](_0x58a232,!0x0)),_0x1ada4d;}['scrollToJoint'](_0xf91bdb){if(!this['codeEditorInstance']||!_0xf91bdb)return!0x1;const _0x1716d0=document['getElementById']('code-editor-panel'),_0xba9fd6=document['getElementById']('open-editor-btn');_0x1716d0&&!_0x1716d0['classList']['contains']('visible')&&(_0x1716d0['classList']['add']('visible'),_0xba9fd6&&_0xba9fd6['classList']['add']('active'));const _0x5003f6='<joint\x20name=\x22'+_0xf91bdb+'\x22';return this['codeEditorInstance']['searchAndScroll'](_0x5003f6,!0x0);}['updateUrdfOriginRpy'](_0x4f51e9,_0x2a55df){var _0x22468f;if(!this['codeEditorInstance'])return!0x1;const _0x3ec96b=this['codeEditorInstance']['getValue']();if(!_0x3ec96b)return!0x1;try{const _0x3a176b=new DOMParser()['parseFromString'](_0x3ec96b,'text/xml');if(_0x3a176b['querySelector']('parsererror'))return!0x1;const _0x205bb2=_0x3a176b['querySelector']('joint[name=\x22'+_0x4f51e9+'\x22]');if(!_0x205bb2)return!0x1;let _0x7de86d=_0x205bb2['querySelector']('origin');_0x7de86d||(_0x7de86d=_0x3a176b['createElement']('origin'),_0x205bb2['insertBefore'](_0x7de86d,_0x205bb2['firstChild']));const _0x4aa52f=_0x2a55df['map'](_0x2d413a=>parseFloat(_0x2d413a['toFixed'](0x4)))['join']('\x20');_0x7de86d['setAttribute']('rpy',_0x4aa52f);const _0x30224e=new XMLSerializer()['serializeToString'](_0x3a176b);this['codeEditorInstance']['setValue'](_0x30224e),this['editorState']['currentContent']=_0x30224e;const _0x8d3501=document['getElementById']('editor-save-status');return _0x8d3501&&(_0x8d3501['textContent']=(null==(_0x22468f=window['i18n'])?void 0x0:_0x22468f['t']('unsaved'))||'未保存',_0x8d3501['className']='status-unsaved'),!0x0;}catch(_0x50a86c){return!0x1;}}['getJointOriginRpy'](_0x9b8e45){if(!this['codeEditorInstance'])return null;const _0x4dc74d=this['codeEditorInstance']['getValue']();if(!_0x4dc74d)return null;try{const _0x192def=new DOMParser()['parseFromString'](_0x4dc74d,'text/xml');if(_0x192def['querySelector']('parsererror'))return null;const _0x21e658=_0x192def['querySelector']('joint[name=\x22'+_0x9b8e45+'\x22]');if(!_0x21e658)return null;const _0xe2a4ad=_0x21e658['querySelector']('origin');if(!_0xe2a4ad)return[0x0,0x0,0x0];const _0x414f67=_0xe2a4ad['getAttribute']('rpy');return _0x414f67?_0x414f67['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x0,0x0];}catch(_0x51f228){return null;}}}class Ji{constructor(_0xa64f30){this['sceneManager']=_0xa64f30,this['selectedObjects']=[];}['handleSelection'](_0x48a7ad,_0x36d575,_0x1e3536){const _0x2ef24a=this['selectedObjects']['findIndex'](_0x32ee8b=>_0x32ee8b['name']===_0x48a7ad['name']&&_0x32ee8b['type']===_0x1e3536);if(_0x2ef24a>=0x0)this['selectedObjects']['splice'](_0x2ef24a,0x1),_0x404602(_0x36d575)['classed']('measurement-selected',!0x1);else{if(this['selectedObjects']['length']>=0x2){const _0x448911=this['selectedObjects']['shift'](),_0x553682=_0x404602('#model-graph-svg');'joint'===_0x448911['type']?_0x553682['selectAll']('.graph-joint-group')['filter'](_0x55cc7e=>{var _0x1bb80c,_0x53fffd;return(null==(_0x53fffd=null==(_0x1bb80c=_0x55cc7e['target'])?void 0x0:_0x1bb80c['data'])?void 0x0:_0x53fffd['jointName'])===_0x448911['name'];})['classed']('measurement-selected',!0x1):'link'===_0x448911['type']&&_0x553682['selectAll']('.graph-node')['filter'](_0x6486a9=>{var _0x52f023,_0x34115c;return(null==(_0x34115c=null==(_0x52f023=_0x6486a9['data'])?void 0x0:_0x52f023['data'])?void 0x0:_0x34115c['name'])===_0x448911['name'];})['classed']('measurement-selected',!0x1);}this['selectedObjects']['push']({..._0x48a7ad,'type':_0x1e3536}),_0x404602(_0x36d575)['classed']('measurement-selected',!0x0);}0x2===this['selectedObjects']['length']?this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]):this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['showMeasurement'](_0x4a4c89,_0x1f4d73){if(!this['sceneManager'])return;const _0x28a28a=_0x19bb7f=>{var _0x1906f6;const _0x1706bf=new _0x4a4464();return'joint'===_0x19bb7f['type']&&_0x19bb7f['threeObject']?_0x19bb7f['threeObject']['getWorldPosition'](_0x1706bf):'link'===_0x19bb7f['type']&&('ground'===_0x19bb7f['name']?_0x1706bf['set'](0x0,(null==(_0x1906f6=this['sceneManager']['groundPlane'])?void 0x0:_0x1906f6['position']['y'])||0x0,0x0):_0x19bb7f['threeObject']&&_0x19bb7f['threeObject']['getWorldPosition'](_0x1706bf)),_0x1706bf;},_0x515feb=_0x28a28a(_0x4a4c89),_0x1206a6=_0x28a28a(_0x1f4d73),_0x5cd507='ground'===_0x4a4c89['name']||'ground'===_0x1f4d73['name'],_0x5dad2f={'x':_0x1206a6['x']-_0x515feb['x'],'y':_0x1206a6['y']-_0x515feb['y'],'z':_0x1206a6['z']-_0x515feb['z']},_0x1e491f=_0x515feb['distanceTo'](_0x1206a6),_0x3bc50c='ground'===_0x4a4c89['name']?'Ground':_0x4a4c89['name'],_0xd9323b='ground'===_0x1f4d73['name']?'Ground':_0x1f4d73['name'];this['sceneManager']['measurementManager']['showMeasurement'](_0x515feb,_0x1206a6,_0x5dad2f,_0x1e491f,_0x3bc50c,_0xd9323b,_0x5cd507);}['updateMeasurement'](){0x2===this['selectedObjects']['length']&&this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]);}['clearMeasurement'](){this['selectedObjects']=[];const _0x45b9c4=_0x404602('#model-graph-svg');_0x45b9c4['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x45b9c4['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['getSelectedObjects'](){return this['selectedObjects'];}}class Hi{constructor(_0x585121){this['container']=_0x585121,this['iframe']=null,this['isReady']=!0x1,this['messageHandlers']=new Map(),this['handleMessage']=this['handleMessage']['bind'](this),window['addEventListener']('message',this['handleMessage']);}async['initialize'](){if(!this['isReady']&&!this['iframe'])return new Promise((_0xaaf8df,_0x291484)=>{const _0x5258f5=setTimeout(()=>{_0x291484(new Error('USD\x20viewer\x20initialization\x20timeout'));},0x7530);this['messageHandlers']['set']('IFRAME_READY',_0xc11cb8=>{var _0x397187;'IFRAME_READY'===(null==(_0x397187=_0xc11cb8['data'])?void 0x0:_0x397187['type'])&&(clearTimeout(_0x5258f5),this['messageHandlers']['delete']('IFRAME_READY'),this['isReady']=!0x0,_0xaaf8df());}),this['iframe']=document['createElement']('iframe'),this['iframe']['src']='/usd-iframe.html',this['iframe']['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20block;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20all;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20',this['container']['appendChild'](this['iframe']);});}['handleMessage'](_0x140c85){const _0x5c8a61=_0x140c85['data'];if(!_0x5c8a61||'object'!=typeof _0x5c8a61)return;if(!['IFRAME_READY','USD_LOADED','USD_LOADING_START','USD_ERROR']['includes'](_0x5c8a61['type']))return;const _0x428ba2=this['messageHandlers']['get'](_0x5c8a61['type']);_0x428ba2&&('function'==typeof _0x428ba2?_0x428ba2(_0x140c85):Array['isArray'](_0x428ba2)&&_0x428ba2['forEach'](_0x31689a=>_0x31689a(_0x140c85)));}['on'](_0x3ce716,_0x54f94b){const _0x1273f4=this['messageHandlers']['get'](_0x3ce716);_0x1273f4?'function'==typeof _0x1273f4?this['messageHandlers']['set'](_0x3ce716,[_0x1273f4,_0x54f94b]):_0x1273f4['push'](_0x54f94b):this['messageHandlers']['set'](_0x3ce716,_0x54f94b);}['postMessage'](_0x232465,_0x43fccd={}){if(this['iframe'])try{this['iframe']['contentWindow']['postMessage']({'type':_0x232465,..._0x43fccd},'*');}catch(_0x32a304){}}async['loadFromFile'](_0x33d91f){await this['initialize']();const _0x340775=await _0x33d91f['arrayBuffer'](),_0x324c7b=[{'path':_0x33d91f['name'],'buffer':_0x340775}];return new Promise((_0x99e9da,_0x7265d5)=>{const _0x51b470=setTimeout(()=>_0x7265d5(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x51b470),this['messageHandlers']['delete']('USD_LOADED'),_0x99e9da();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x324c7b,'primaryPath':_0x33d91f['name']});});}async['loadFromFilesMap'](_0x87381c,_0x349342){await this['initialize']();const _0x588248=[];for(const [_0x23cbce,_0x2e2f52]of Object['entries'](_0x87381c))try{const _0xd7be15=await _0x2e2f52['arrayBuffer']();_0x588248['push']({'path':_0x23cbce,'buffer':_0xd7be15});}catch(_0x20014a){}return new Promise((_0xf6bc1b,_0x239f4e)=>{const _0x3a14a9=setTimeout(()=>_0x239f4e(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x3a14a9),this['messageHandlers']['delete']('USD_LOADED'),_0xf6bc1b();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x588248,'primaryPath':_0x349342});});}['clear'](){this['isReady']&&this['postMessage']('USD_CLEAR');}['show'](){this['container']&&(this['container']['style']['display']='block');}['hide'](){this['container']&&(this['container']['style']['display']='none');}['dispose'](){var _0x4bcedb;window['removeEventListener']('message',this['handleMessage']),(null==(_0x4bcedb=this['iframe'])?void 0x0:_0x4bcedb['parentNode'])&&this['iframe']['parentNode']['removeChild'](this['iframe']),this['iframe']=null,this['isReady']=!0x1,this['messageHandlers']['clear']();}}class Gi{constructor(_0x1d8f63,_0x575315,_0x11f2ce,_0x2200b7,_0x153c20){this['scene']=_0x1d8f63,this['renderer']=_0x575315,this['camera']=_0x11f2ce,this['mousePos']=new _0x30b554(),this['raycaster']=new _0x248c63(),this['raycaster']['params']['Line']['threshold']=0.1,this['grabDistance']=0x0,this['active']=!0x1,this['physicsObject']=null,this['controls']=_0x153c20,this['arrow']=new _0x125652(new _0x4a4464(0x0,0x1,0x0),new _0x4a4464(0x0,0x0,0x0),0xf,0x666666),this['arrow']['setLength'](0xf,0x3,0x1),this['scene']['add'](this['arrow']),this['arrow']['line']['material']['transparent']=!0x0,this['arrow']['cone']['material']['transparent']=!0x0,this['arrow']['line']['material']['opacity']=0.5,this['arrow']['cone']['material']['opacity']=0.5,this['arrow']['visible']=!0x1,this['previouslySelected']=null,this['highlightColor']=0xffffff,this['originalEmissive']=new Map(),this['localHit']=new _0x4a4464(),this['worldHit']=new _0x4a4464(),this['currentWorld']=new _0x4a4464(),this['enabled']=!0x1,this['container']=_0x2200b7,this['boundOnPointer']=this['onPointer']['bind'](this),this['mouseDown']=!0x1;}['enable'](){this['enabled']||(this['enabled']=!0x0,this['container']['addEventListener']('pointerdown',this['boundOnPointer'],!0x0),document['addEventListener']('pointermove',this['boundOnPointer'],!0x0),document['addEventListener']('pointerup',this['boundOnPointer'],!0x0),document['addEventListener']('pointerout',this['boundOnPointer'],!0x0));}['disable'](){this['enabled']&&(this['enabled']=!0x1,this['container']['removeEventListener']('pointerdown',this['boundOnPointer'],!0x0),document['removeEventListener']('pointermove',this['boundOnPointer'],!0x0),document['removeEventListener']('pointerup',this['boundOnPointer'],!0x0),document['removeEventListener']('pointerout',this['boundOnPointer'],!0x0),this['active']&&this['end']());}['updateRaycaster'](_0xfb2bb7,_0x1aee81){const _0x3027ff=this['renderer']['domElement']['getBoundingClientRect']();this['mousePos']['x']=(_0xfb2bb7-_0x3027ff['left'])/_0x3027ff['width']*0x2-0x1,this['mousePos']['y']=-(_0x1aee81-_0x3027ff['top'])/_0x3027ff['height']*0x2+0x1,this['raycaster']['setFromCamera'](this['mousePos'],this['camera']);}['start'](_0x112348,_0x128bc0){this['physicsObject']=null,this['updateRaycaster'](_0x112348,_0x128bc0);const _0x319b6b=this['raycaster']['intersectObjects'](this['scene']['children'],!0x0);for(let _0x3df265=0x0;_0x3df265<_0x319b6b['length'];_0x3df265++){const _0x42b57b=_0x319b6b[_0x3df265]['object'];if(void 0x0!==_0x42b57b['bodyID']&&_0x42b57b['bodyID']>0x0){this['physicsObject']=_0x42b57b,this['grabDistance']=_0x319b6b[_0x3df265]['distance'];const _0xcf07b6=this['raycaster']['ray']['origin']['clone']();_0xcf07b6['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['arrow']['position']['copy'](_0xcf07b6),this['active']=!0x0,this['controls']['enabled']=!0x1,this['localHit']=_0x42b57b['worldToLocal'](_0xcf07b6['clone']()),this['worldHit']['copy'](_0xcf07b6),this['currentWorld']['copy'](_0xcf07b6),this['arrow']['visible']=!0x0,this['highlightBody'](_0x42b57b);break;}}}['move'](_0x3da83f,_0x507c9f){if(this['active']){this['updateRaycaster'](_0x3da83f,_0x507c9f);const _0x1b862d=this['raycaster']['ray']['origin']['clone']();_0x1b862d['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['currentWorld']['copy'](_0x1b862d),this['update']();}}['update'](){this['worldHit']&&this['localHit']&&this['currentWorld']&&this['arrow']&&this['physicsObject']&&(this['worldHit']['copy'](this['localHit']),this['physicsObject']['localToWorld'](this['worldHit']),this['arrow']['position']['copy'](this['worldHit']),this['arrow']['setDirection'](this['currentWorld']['clone']()['sub'](this['worldHit'])['normalize']()),this['arrow']['setLength'](this['currentWorld']['clone']()['sub'](this['worldHit'])['length']()));}['end'](){this['physicsObject']&&this['unhighlightBody'](this['physicsObject']),this['physicsObject']=null,this['active']=!0x1,this['controls']['enabled']=!0x0,this['arrow']['visible']=!0x1,this['mouseDown']=!0x1;}['highlightBody'](_0x4d9bd9){let _0x18cd01=_0x4d9bd9;for(;_0x18cd01&&!_0x18cd01['isGroup'];)_0x18cd01=_0x18cd01['parent'];_0x18cd01&&_0x18cd01['traverse'](_0x3f100e=>{_0x3f100e['isMesh']&&_0x3f100e['material']&&_0x3f100e['material']['emissive']&&(this['originalEmissive']['has'](_0x3f100e['uuid'])||this['originalEmissive']['set'](_0x3f100e['uuid'],{'color':_0x3f100e['material']['emissive']['clone'](),'intensity':_0x3f100e['material']['emissiveIntensity']||0x0}),_0x3f100e['material']['emissive']['setHex'](this['highlightColor']),_0x3f100e['material']['emissiveIntensity']=0.5);});}['unhighlightBody'](_0x9dca26){let _0x362956=_0x9dca26;for(;_0x362956&&!_0x362956['isGroup'];)_0x362956=_0x362956['parent'];_0x362956&&_0x362956['traverse'](_0x2d0222=>{if(_0x2d0222['isMesh']&&_0x2d0222['material']&&this['originalEmissive']['has'](_0x2d0222['uuid'])){const _0x2ef15d=this['originalEmissive']['get'](_0x2d0222['uuid']);_0x2d0222['material']['emissive']&&(_0x2d0222['material']['emissive']['copy'](_0x2ef15d['color']),_0x2d0222['material']['emissiveIntensity']=_0x2ef15d['intensity']),this['originalEmissive']['delete'](_0x2d0222['uuid']);}});}['onPointer'](_0x1fd54f){this['enabled']&&('pointerdown'===_0x1fd54f['type']?(this['start'](_0x1fd54f['clientX'],_0x1fd54f['clientY']),this['mouseDown']=!0x0):'pointermove'===_0x1fd54f['type']&&this['mouseDown']?this['active']&&this['move'](_0x1fd54f['clientX'],_0x1fd54f['clientY']):'pointerup'===_0x1fd54f['type']&&this['end'](_0x1fd54f));}}class Wi{constructor(_0x23ec4a){this['sceneManager']=_0x23ec4a,this['mujoco']=null,this['model']=null,this['simulation']=null,this['state']=null,this['data']=null,this['bodies']={},this['bodyToThreeMap']=new Map(),this['lights']=[],this['mujocoRoot']=null,this['dragStateManager']=null,this['originalModel']=null,this['params']={'paused':!0x0,'ctrlnoiserate':0x0,'ctrlnoisestd':0x0},this['mujoco_time']=0x0,this['tmpVec']=new _0x4a4464(),this['tmpQuat']=new _0x446862(),this['isLoaded']=!0x1,this['isSimulating']=!0x1,this['isOldAPI']=!0x1;}async['init'](){if(this['mujoco'])return this['mujoco'];try{const _0xbfd1ac=(await Ae(()=>import('./mujoco_wasm-e013cb22.js'),["./mujoco_wasm-e013cb22.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js"],import.meta.url))['default'];return this['mujoco']=await _0xbfd1ac(),this['mujoco']['FS']['mkdir']('/working'),this['mujoco']['FS']['mount'](this['mujoco']['MEMFS'],{'root':'.'},'/working'),this['mujoco'];}catch(_0x34ca67){throw _0x34ca67;}}async['loadScene'](_0x653f8f,_0x35f8d6,_0x5265e1,_0x2aa62e){try{this['mujoco']||await this['init'](),this['clearScene'](),this['originalModel']=_0x2aa62e;const _0x500cb3=this['addGroundPlane'](_0x653f8f),_0x4e4c97='/working/'+_0x35f8d6;this['mujoco']['FS']['writeFile'](_0x4e4c97,_0x500cb3),_0x5265e1&&_0x5265e1['size']>0x0&&await this['writeAssetsToVFS'](_0x653f8f,_0x35f8d6,_0x5265e1);try{if(this['mujoco']['Model']&&'function'==typeof this['mujoco']['Model']['load_from_xml'])this['model']=this['mujoco']['Model']['load_from_xml'](_0x4e4c97),this['state']=new this['mujoco']['State'](this['model']),this['simulation']=new this['mujoco']['Simulation'](this['model'],this['state']);else{if(!this['mujoco']['MjModel']||'function'!=typeof this['mujoco']['MjModel']['loadFromXML'])throw new Error('Cannot\x20find\x20MuJoCo\x20model\x20loading\x20method');this['model']=this['mujoco']['MjModel']['loadFromXML'](_0x4e4c97),this['data']=new this['mujoco']['MjData'](this['model']),this['isOldAPI']=!0x0;}}catch(_0x5531cd){let _0x5f1ba2='MuJoCo\x20model\x20loading\x20failed:\x20';throw _0x5531cd['message']?_0x5f1ba2+=_0x5531cd['message']:_0x5f1ba2+='Unknown\x20error',_0x5531cd['message']&&(_0x5531cd['message']['includes']('mesh')||_0x5531cd['message']['includes']('mjCMesh'))&&(_0x5f1ba2+='\x0a\x0aThis\x20is\x20usually\x20caused\x20by\x20one\x20of\x20the\x20following:',_0x5f1ba2+='\x0a1.\x20Mesh\x20file\x20path\x20is\x20incorrect\x20or\x20file\x20is\x20missing',_0x5f1ba2+='\x0a2.\x20Mesh\x20file\x20format\x20is\x20not\x20supported\x20or\x20corrupted',_0x5f1ba2+='\x0a3.\x20Mesh\x20file\x20was\x20not\x20properly\x20written\x20to\x20virtual\x20file\x20system'),new Error(_0x5f1ba2);}if(await this['createThreeScene'](),this['isOldAPI']?(this['mujoco']['mj_resetData'](this['model'],this['data']),this['mujoco']['mj_forward'](this['model'],this['data'])):(this['simulation']['resetData'](),this['simulation']['forward']()),this['isLoaded']=!0x0,this['params']['paused']=!0x0,!this['dragStateManager']){const _0x2d3a69=this['sceneManager']['renderer']['domElement'];this['dragStateManager']=new Gi(this['sceneManager']['scene'],this['sceneManager']['renderer'],this['sceneManager']['camera'],_0x2d3a69,this['sceneManager']['controls']);}return null;}catch(_0x3e130a){throw _0x3e130a;}}['addGroundPlane'](_0x5aacc2){const _0x19fa45=new DOMParser()['parseFromString'](_0x5aacc2,'application/xml'),_0xef3a30=_0x19fa45['querySelector']('worldbody');if(!_0xef3a30)return _0x5aacc2;if(_0xef3a30['querySelector']('geom[type=\x22plane\x22]'))return _0x5aacc2;const _0x2c255b=this['sceneManager']['groundPlane']?this['sceneManager']['groundPlane']['position']['y']:0x0,_0x42684c=_0x19fa45['createElement']('geom');_0x42684c['setAttribute']('name','ground'),_0x42684c['setAttribute']('type','plane'),_0x42684c['setAttribute']('size','10\x2010\x200.1'),_0x42684c['setAttribute']('rgba','0.9\x200.9\x200.9\x201'),_0x42684c['setAttribute']('pos','0\x200\x20'+_0x2c255b),_0x42684c['setAttribute']('contype','1'),_0x42684c['setAttribute']('conaffinity','1'),_0x42684c['setAttribute']('condim','3'),_0x42684c['setAttribute']('friction','1\x200.005\x200.0001'),_0xef3a30['firstChild']?_0xef3a30['insertBefore'](_0x42684c,_0xef3a30['firstChild']):_0xef3a30['appendChild'](_0x42684c);return new XMLSerializer()['serializeToString'](_0x19fa45);}async['writeAssetsToVFS'](_0x30d614,_0x125033,_0xa3e4c0){const _0x556554=new DOMParser()['parseFromString'](_0x30d614,'application/xml'),_0x5ec7da=_0x556554['querySelector']('compiler'),_0x5268fb=(null==_0x5ec7da?void 0x0:_0x5ec7da['getAttribute']('meshdir'))||'assets',_0x2b68ae=(null==_0x5ec7da?void 0x0:_0x5ec7da['getAttribute']('texturedir'))||_0x5268fb,_0x43da76=new Set(),_0x238862=new Map();_0x556554['querySelectorAll']('mesh[file]')['forEach'](_0x1b89a7=>{const _0x1af33c=_0x1b89a7['getAttribute']('file');if(_0x1af33c){const _0x137ae8=this['resolvePath'](_0x125033,_0x5268fb,_0x1af33c);_0x43da76['add'](_0x137ae8),_0x238862['set'](_0x137ae8,{'original':_0x1af33c,'element':_0x1b89a7});}}),_0x556554['querySelectorAll']('texture[file]')['forEach'](_0x580e24=>{const _0xe270e0=_0x580e24['getAttribute']('file');_0xe270e0&&_0x43da76['add'](this['resolvePath'](_0x125033,_0x2b68ae,_0xe270e0));});let _0xf9cb7b=0x0;const _0x69ffa6=[],_0x3bdf4c=[];for(const _0x485ebf of _0x43da76){const _0x1af5f1=new Set();for(const _0x2ba0ad of _0xa3e4c0['keys']())if(_0x2ba0ad['startsWith']('/')){const _0x2887de=_0x2ba0ad['split']('/');_0x2887de['length']>0x1&&_0x1af5f1['add'](_0x2887de[0x1]);}const _0x4ffe15=[_0x485ebf,'/'+_0x485ebf,'mjcf/'+_0x485ebf,'/mjcf/'+_0x485ebf,_0x485ebf['split']('/')['pop']()];for(const _0x148ad5 of _0x1af5f1)_0x4ffe15['push']('/'+_0x148ad5+'/mjcf/'+_0x485ebf),_0x4ffe15['push'](_0x148ad5+'/mjcf/'+_0x485ebf);let _0x587a06=null;for(const _0xcda732 of _0x4ffe15)if(_0x587a06=_0xa3e4c0['get'](_0xcda732),_0x587a06)break;if(!_0x587a06){const _0x26b15b=_0x485ebf['toLowerCase'](),_0x434ea4=_0x485ebf['split']('/')['pop']()['toLowerCase']();for(const [_0x6a247b,_0x4636ea]of _0xa3e4c0['entries']()){const _0x191d23=_0x6a247b['toLowerCase'](),_0x984b1e=_0x6a247b['split']('/')['pop']()['toLowerCase']();if(_0x191d23===_0x26b15b||_0x191d23['endsWith']('/'+_0x26b15b)||_0x984b1e===_0x434ea4||_0x191d23['includes'](_0x26b15b)){_0x587a06=_0x4636ea;break;}}}if(_0x587a06)try{const _0xc70b4a='/working/'+_0x485ebf;this['ensureDir'](_0xc70b4a);const _0x102873=_0x485ebf['toLowerCase']()['split']('.')['pop']();if(['obj','stl','png','jpg','jpeg','bmp']['includes'](_0x102873)){const _0x1cdff6=await _0x587a06['arrayBuffer']();this['mujoco']['FS']['writeFile'](_0xc70b4a,new Uint8Array(_0x1cdff6));}else{const _0x29c4ed=await _0x587a06['text']();this['mujoco']['FS']['writeFile'](_0xc70b4a,_0x29c4ed);}try{if(!this['mujoco']['FS']['stat'](_0xc70b4a))throw new Error('File\x20write\x20verification\x20failed');}catch(_0xa03817){throw new Error('File\x20write\x20verification\x20failed');}_0xf9cb7b++;}catch(_0x3a24ef){const _0x1a041e=_0x238862['get'](_0x485ebf),_0x3260d3=_0x1a041e?_0x1a041e['original']:_0x485ebf;_0x3bdf4c['push']({'path':_0x3260d3,'error':_0x3a24ef['message']});}else{const _0x34c023=_0x238862['get'](_0x485ebf),_0x400b71=_0x34c023?_0x34c023['original']:_0x485ebf;_0x69ffa6['push'](_0x400b71);}}if(_0x69ffa6['length']>0x0||_0x3bdf4c['length']>0x0){let _0x2dbd69='MuJoCo\x20asset\x20files\x20loading\x20failed:\x0a';throw _0x69ffa6['length']>0x0&&(_0x2dbd69+='\x0aMissing\x20files\x20('+_0x69ffa6['length']+'):\x0a',_0x69ffa6['slice'](0x0,0xa)['forEach'](_0x32b556=>{_0x2dbd69+='\x20\x20-\x20'+_0x32b556+'\x0a';}),_0x69ffa6['length']>0xa&&(_0x2dbd69+='\x20\x20...\x20'+(_0x69ffa6['length']-0xa)+'\x20more\x20files\x20missing\x0a')),_0x3bdf4c['length']>0x0&&(_0x2dbd69+='\x0aFailed\x20to\x20write\x20files\x20('+_0x3bdf4c['length']+'):\x0a',_0x3bdf4c['slice'](0x0,0xa)['forEach'](({path:_0x167d51,error:_0x4acefd})=>{_0x2dbd69+='\x20\x20-\x20'+_0x167d51+':\x20'+_0x4acefd+'\x0a';}),_0x3bdf4c['length']>0xa&&(_0x2dbd69+='\x20\x20...\x20'+(_0x3bdf4c['length']-0xa)+'\x20more\x20files\x20failed\x0a')),_0x2dbd69+='\x0aSuccessfully\x20loaded:\x20'+_0xf9cb7b+'\x20files',_0x2dbd69+='\x0a\x0aPlease\x20ensure\x20all\x20mesh\x20files\x20are\x20included\x20in\x20the\x20file\x20list.',new Error(_0x2dbd69);}}['resolvePath'](_0x1b3d69,_0x5c15f7,_0x29f7bf){const _0x418220=_0x1b3d69['includes']('/')?_0x1b3d69['substring'](0x0,_0x1b3d69['lastIndexOf']('/')):'';if(_0x29f7bf['startsWith']('/'))return _0x29f7bf['substring'](0x1);const _0x873bfa=[];return _0x418220&&_0x873bfa['push'](_0x418220),_0x5c15f7&&'.'!==_0x5c15f7&&_0x873bfa['push'](_0x5c15f7),_0x873bfa['push'](_0x29f7bf),_0x873bfa['join']('/');}['ensureDir'](_0x303ec9){const _0x3e1e5e=_0x303ec9['split']('/');let _0x55f4d9='';for(let _0x42b1aa=0x0;_0x42b1aa<_0x3e1e5e['length']-0x1;_0x42b1aa++)_0x55f4d9+=(0x0===_0x42b1aa?'':'/')+_0x3e1e5e[_0x42b1aa],_0x55f4d9&&!this['mujoco']['FS']['analyzePath'](_0x55f4d9)['exists']&&this['mujoco']['FS']['mkdir'](_0x55f4d9);}async['createThreeScene'](){const _0x4a71b0=this['model'];this['mujocoRoot']=new _0x2026e8(),this['mujocoRoot']['name']='MuJoCo\x20Physics\x20Root',this['mujocoRoot']['userData']['isMuJoCo']=!0x0,this['mujocoRoot']['visible']=!0x1,this['bodies']={};const _0x2235ac={},_0x38b395=new TextDecoder('utf-8'),_0xff9272=new Uint8Array(_0x4a71b0['names']),_0x3ce044=new Map(),_0x2117a1=new Map();if(this['originalModel'])for(const [_0x577738,_0x553d42]of this['originalModel']['links']){const _0x43fe3e=[],_0x2e8f0d=[];if(_0x553d42['visuals']&&_0x553d42['visuals']['length']>0x0)for(const _0x1f6f95 of _0x553d42['visuals'])_0x1f6f95['threeObject']&&_0x1f6f95['threeObject']['traverse'](_0xf47739=>{if(_0xf47739['isMesh']&&_0xf47739['material']){let _0x39d6e4;_0x39d6e4=Array['isArray'](_0xf47739['material'])?_0xf47739['material']['map'](_0x3b9737=>_0x3b9737?_0x3b9737['clone']():null):_0xf47739['material']['clone']?_0xf47739['material']['clone']():new _0x5096b9({'color':_0xf47739['material']['color']||0x808080,'transparent':_0xf47739['material']['transparent']||!0x1,'opacity':void 0x0!==_0xf47739['material']['opacity']?_0xf47739['material']['opacity']:0x1}),_0x43fe3e['push'](_0x39d6e4),_0x2e8f0d['push']({'material':_0x39d6e4,'geometry':_0x1f6f95['geometry']});}});else _0x553d42['threeObject']&&_0x553d42['threeObject']['traverse'](_0x467087=>{if(_0x467087['isMesh']&&_0x467087['material']){let _0x7bc7a7;_0x7bc7a7=Array['isArray'](_0x467087['material'])?_0x467087['material']['map'](_0x118eed=>_0x118eed?_0x118eed['clone']():null):_0x467087['material']['clone']?_0x467087['material']['clone']():new _0x5096b9({'color':_0x467087['material']['color']||0x808080,'transparent':_0x467087['material']['transparent']||!0x1,'opacity':void 0x0!==_0x467087['material']['opacity']?_0x467087['material']['opacity']:0x1}),_0x43fe3e['push'](_0x7bc7a7);}});_0x43fe3e['length']>0x0&&(_0x3ce044['set'](_0x577738,_0x43fe3e),_0x2117a1['set'](_0x577738,_0x2e8f0d));}const _0xa507d2=this['sceneManager']['visualizationManager']['showCollision'];for(let _0x14f1fa=0x0;_0x14f1fa<_0x4a71b0['ngeom'];_0x14f1fa++){const _0x10a84a=_0x4a71b0['geom_group'][_0x14f1fa];if(_0x10a84a>=0x4)continue;const _0x125bcb=_0x4a71b0['geom_bodyid'][_0x14f1fa],_0x559a84=_0x4a71b0['geom_type'][_0x14f1fa],_0x4308f2=[_0x4a71b0['geom_size'][0x3*_0x14f1fa+0x0],_0x4a71b0['geom_size'][0x3*_0x14f1fa+0x1],_0x4a71b0['geom_size'][0x3*_0x14f1fa+0x2]];if(!this['bodies'][_0x125bcb]){this['bodies'][_0x125bcb]=new _0x2026e8();const _0x5280d1=_0x4a71b0['name_bodyadr'][_0x125bcb];let _0x4fcbb7=_0x5280d1;for(;_0x4fcbb7<_0xff9272['length']&&0x0!==_0xff9272[_0x4fcbb7];)_0x4fcbb7++;const _0x16b7b0=_0xff9272['subarray'](_0x5280d1,_0x4fcbb7);this['bodies'][_0x125bcb]['name']=_0x38b395['decode'](_0x16b7b0),this['bodies'][_0x125bcb]['bodyID']=_0x125bcb;}let _0xa08b4f=new _0x1490e0(_0x4308f2[0x0]);if(_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_SPHERE']['value'])_0xa08b4f=new _0x1490e0(_0x4308f2[0x0],0x20,0x20);else if(_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_CAPSULE']['value'])_0xa08b4f=new _0x335f7f(_0x4308f2[0x0],0x2*_0x4308f2[0x1],0x14,0x14);else if(_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_CYLINDER']['value'])_0xa08b4f=new _0x19a545(_0x4308f2[0x0],_0x4308f2[0x0],0x2*_0x4308f2[0x1],0x20);else if(_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_BOX']['value'])_0xa08b4f=new _0x4e6eff(0x2*_0x4308f2[0x0],0x2*_0x4308f2[0x2],0x2*_0x4308f2[0x1]);else if(_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value'])_0xa08b4f=new _0x1490e0(0x1,0x20,0x20);else if(_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']){const _0x5bacb4=_0x4a71b0['geom_dataid'][_0x14f1fa];_0x5bacb4 in _0x2235ac?_0xa08b4f=_0x2235ac[_0x5bacb4]:(_0xa08b4f=this['createMeshGeometry'](_0x5bacb4),_0x2235ac[_0x5bacb4]=_0xa08b4f);}const _0x262376=this['bodies'][_0x125bcb]['name'],_0x3778c1=this['bodies'][_0x125bcb]['children']['length'];let _0x5f2fdc,_0x189a42=!0x1,_0x2a1ae0=null;if(_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']&&_0x2117a1['has'](_0x262376)){const _0x2567e7=_0x4a71b0['geom_dataid'][_0x14f1fa],_0x2b7b21=_0x4a71b0['name_meshadr'][_0x2567e7];let _0x3f5a29=_0x2b7b21;for(;_0x3f5a29<_0xff9272['length']&&0x0!==_0xff9272[_0x3f5a29];)_0x3f5a29++;const _0x591294=_0xff9272['subarray'](_0x2b7b21,_0x3f5a29),_0x195954=_0x38b395['decode'](_0x591294),_0x4d9eec=_0x2117a1['get'](_0x262376);for(const _0x345bbb of _0x4d9eec)if(_0x345bbb['geometry']&&_0x345bbb['geometry']['filename']){const _0x3df958=_0x345bbb['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop'](),_0x47208d=_0x3df958['replace'](/\.[^/.]+$/,''),_0x4283ad=_0x195954+'.STL',_0x26d949=_0x4283ad['replace'](/\.[^/.]+$/,'');if(_0x3df958===_0x195954||_0x3df958['toLowerCase']()===_0x195954['toLowerCase']()||_0x47208d===_0x195954||_0x47208d['toLowerCase']()===_0x195954['toLowerCase']()||_0x3df958===_0x4283ad||_0x3df958['toLowerCase']()===_0x4283ad['toLowerCase']()||_0x47208d===_0x26d949||_0x47208d['toLowerCase']()===_0x26d949['toLowerCase']()){if(Array['isArray'](_0x345bbb['material'])){const _0x99bdc9=_0x345bbb['material'][0x0];_0x99bdc9&&_0x99bdc9['clone']?_0x5f2fdc=_0x99bdc9['clone']():_0x99bdc9&&(_0x5f2fdc=new _0x5096b9({'color':_0x99bdc9['color']||0x808080,'transparent':_0x99bdc9['transparent']||!0x1,'opacity':void 0x0!==_0x99bdc9['opacity']?_0x99bdc9['opacity']:0x1}));}else _0x345bbb['material']&&_0x345bbb['material']['clone']?_0x5f2fdc=_0x345bbb['material']['clone']():_0x345bbb['material']&&(_0x5f2fdc=new _0x5096b9({'color':_0x345bbb['material']['color']||0x808080,'transparent':_0x345bbb['material']['transparent']||!0x1,'opacity':void 0x0!==_0x345bbb['material']['opacity']?_0x345bbb['material']['opacity']:0x1}));if(_0x5f2fdc&&(_0x5f2fdc['isMeshPhongMaterial']||_0x5f2fdc['isMeshStandardMaterial'])){if(void 0x0===_0x5f2fdc['userData']['originalShininess'])if(_0x5f2fdc['userData']['originalShininess']=void 0x0!==_0x5f2fdc['shininess']?_0x5f2fdc['shininess']:0x1e,_0x5f2fdc['specular'])if(_0x5f2fdc['specular']['isColor']){const _0x2cc769=_0x5f2fdc['specular'];_0x2cc769['r']<0.1&&_0x2cc769['g']<0.1&&_0x2cc769['b']<0.1?_0x5f2fdc['userData']['originalSpecular']=null:_0x5f2fdc['userData']['originalSpecular']=_0x2cc769['clone']();}else _0x5f2fdc['userData']['originalSpecular']=null;else _0x5f2fdc['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x5f2fdc['shininess']&&_0x5f2fdc['shininess']<0x32&&(_0x5f2fdc['shininess']=0x32),(!_0x5f2fdc['specular']||_0x5f2fdc['specular']['r']<0.2)&&(_0x5f2fdc['specular']=new _0x5dc695(0.3,0.3,0.3));else if(void 0x0!==_0x5f2fdc['userData']['originalShininess']&&(_0x5f2fdc['shininess']=_0x5f2fdc['userData']['originalShininess']),null===_0x5f2fdc['userData']['originalSpecular'])_0x5f2fdc['specular']=new _0x5dc695(0x111111);else if(_0x5f2fdc['userData']['originalSpecular']){const _0x1a2589=_0x5f2fdc['userData']['originalSpecular'];_0x1a2589['isColor']?_0x5f2fdc['specular']=_0x1a2589['clone']():_0x5f2fdc['specular']=_0x1a2589;}}_0x189a42=!0x0;break;}}if(_0x189a42&&this['originalModel']){const _0x42457e=this['originalModel']['links']['get'](_0x262376);if(_0x42457e&&_0x42457e['visuals'])for(const _0x16ca70 of _0x42457e['visuals'])if(_0x16ca70['geometry']&&_0x16ca70['geometry']['filename']){const _0x310e8b=_0x16ca70['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop']();if(_0x310e8b['replace'](/\.[^/.]+$/,'')['toLowerCase']()===_0x195954['toLowerCase']()||_0x310e8b['toLowerCase']()===(_0x195954+'.STL')['toLowerCase']()){_0x16ca70['userData']&&_0x16ca70['userData']['rgba']&&(_0x2a1ae0=_0x16ca70['userData']['rgba'],_0x5f2fdc&&_0x5f2fdc['color']&&(_0x5f2fdc['color']['setRGB'](_0x2a1ae0['r'],_0x2a1ae0['g'],_0x2a1ae0['b']),_0x2a1ae0['a']<0x1&&(_0x5f2fdc['transparent']=!0x0,_0x5f2fdc['opacity']=_0x2a1ae0['a'])));break;}}}}if(!_0x189a42&&this['originalModel']){const _0x2ae429=this['originalModel']['links']['get'](_0x262376);if(_0x2ae429&&_0x2ae429['visuals']&&_0x2ae429['visuals']['length']>0x0){const _0x159712=Math['min'](_0x3778c1,_0x2ae429['visuals']['length']-0x1),_0x49ec68=_0x2ae429['visuals'][_0x159712];_0x49ec68&&(_0x49ec68['userData']&&_0x49ec68['userData']['rgba']?_0x2a1ae0=_0x49ec68['userData']['rgba']:_0x49ec68['threeObject']&&_0x49ec68['threeObject']['traverse'](_0x2ef1b9=>{if(_0x2ef1b9['isMesh']&&_0x2ef1b9['material']&&!_0x2a1ae0){const _0x4330f0=_0x2ef1b9['material']['color'];_0x2a1ae0={'r':_0x4330f0['r'],'g':_0x4330f0['g'],'b':_0x4330f0['b'],'a':void 0x0!==_0x2ef1b9['material']['opacity']?_0x2ef1b9['material']['opacity']:0x1};}}));}}if(!_0x189a42){const _0x27b513=_0x3ce044['get'](_0x262376);if(_0x27b513&&_0x27b513['length']>0x0){const _0x238252=_0x27b513[Math['min'](_0x3778c1,_0x27b513['length']-0x1)];if(Array['isArray'](_0x238252)){const _0x4d0ef4=_0x238252[0x0];_0x4d0ef4&&_0x4d0ef4['clone']?_0x5f2fdc=_0x4d0ef4['clone']():_0x4d0ef4&&(_0x5f2fdc=new _0x5096b9({'color':_0x4d0ef4['color']||0x808080,'transparent':_0x4d0ef4['transparent']||!0x1,'opacity':void 0x0!==_0x4d0ef4['opacity']?_0x4d0ef4['opacity']:0x1}));}else _0x238252&&_0x238252['clone']?_0x5f2fdc=_0x238252['clone']():_0x238252&&(_0x5f2fdc=new _0x5096b9({'color':_0x238252['color']||0x808080,'transparent':_0x238252['transparent']||!0x1,'opacity':void 0x0!==_0x238252['opacity']?_0x238252['opacity']:0x1}));if(_0x5f2fdc&&(_0x5f2fdc['isMeshPhongMaterial']||_0x5f2fdc['isMeshStandardMaterial'])){if(void 0x0===_0x5f2fdc['userData']['originalShininess'])if(_0x5f2fdc['userData']['originalShininess']=void 0x0!==_0x5f2fdc['shininess']?_0x5f2fdc['shininess']:0x1e,_0x5f2fdc['specular'])if(_0x5f2fdc['specular']['isColor']){const _0x333017=_0x5f2fdc['specular'];_0x333017['r']<0.1&&_0x333017['g']<0.1&&_0x333017['b']<0.1?_0x5f2fdc['userData']['originalSpecular']=null:_0x5f2fdc['userData']['originalSpecular']=_0x333017['clone']();}else _0x5f2fdc['userData']['originalSpecular']=null;else _0x5f2fdc['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x5f2fdc['shininess']&&_0x5f2fdc['shininess']<0x32&&(_0x5f2fdc['shininess']=0x32),(!_0x5f2fdc['specular']||_0x5f2fdc['specular']['r']<0.2)&&(_0x5f2fdc['specular']=new _0x5dc695(0.3,0.3,0.3));else if(void 0x0!==_0x5f2fdc['userData']['originalShininess']&&(_0x5f2fdc['shininess']=_0x5f2fdc['userData']['originalShininess']),null===_0x5f2fdc['userData']['originalSpecular'])_0x5f2fdc['specular']=new _0x5dc695(0x111111);else if(_0x5f2fdc['userData']['originalSpecular']){const _0x47a0fe=_0x5f2fdc['userData']['originalSpecular'];_0x47a0fe['isColor']?_0x5f2fdc['specular']=_0x47a0fe['clone']():_0x5f2fdc['specular']=_0x47a0fe;}}_0x189a42=!0x0;}}if(!_0x189a42){const _0x2f97b9=_0x2a1ae0?[_0x2a1ae0['r'],_0x2a1ae0['g'],_0x2a1ae0['b'],_0x2a1ae0['a']]:[_0x4a71b0['geom_rgba'][0x4*_0x14f1fa+0x0],_0x4a71b0['geom_rgba'][0x4*_0x14f1fa+0x1],_0x4a71b0['geom_rgba'][0x4*_0x14f1fa+0x2],_0x4a71b0['geom_rgba'][0x4*_0x14f1fa+0x3]],_0x38596e=0x3===_0x10a84a,_0x18ccf5=this['sceneManager']['visualizationManager']['showEnhancedLighting'];_0x5f2fdc=new _0x5096b9({'color':_0x38596e?new _0x5dc695(0x0,0x1,0x0):new _0x5dc695(_0x2f97b9[0x0],_0x2f97b9[0x1],_0x2f97b9[0x2]),'transparent':!!_0x38596e||_0x2f97b9[0x3]<0x1,'opacity':_0x38596e?0.3:_0x2f97b9[0x3],'shininess':_0x18ccf5?0x32:0x1e,'specular':_0x18ccf5?new _0x5dc695(0.3,0.3,0.3):new _0x5dc695(0x111111),'wireframe':!!_0x38596e}),_0x5f2fdc['userData']['originalShininess']=0x1e,_0x5f2fdc['userData']['originalSpecular']=null;}if(_0x5f2fdc['isMeshPhongMaterial']||_0x5f2fdc['isMeshStandardMaterial']){if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])_0x5f2fdc['shininess']<0x32&&(_0x5f2fdc['shininess']=0x32),(!_0x5f2fdc['specular']||_0x5f2fdc['specular']['isColor']&&_0x5f2fdc['specular']['r']<0.2)&&(_0x5f2fdc['specular']=new _0x5dc695(0.3,0.3,0.3));else if(void 0x0!==_0x5f2fdc['userData']['originalShininess']&&(_0x5f2fdc['shininess']=_0x5f2fdc['userData']['originalShininess']),null===_0x5f2fdc['userData']['originalSpecular'])_0x5f2fdc['specular']=new _0x5dc695(0x111111);else if(_0x5f2fdc['userData']['originalSpecular']){const _0x1fb852=_0x5f2fdc['userData']['originalSpecular'];_0x1fb852['isColor']?_0x5f2fdc['specular']=_0x1fb852['clone']():_0x5f2fdc['specular']=_0x1fb852;}_0x5f2fdc['needsUpdate']=!0x0;}let _0x4a7b26=_0x5f2fdc;0x3===_0x10a84a&&(_0x4a7b26=new _0x5096b9({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}));const _0x237059=new _0x576ce4(_0xa08b4f,_0x4a7b26);_0x237059['castShadow']=0x3!==_0x10a84a,_0x237059['receiveShadow']=0x3!==_0x10a84a,_0x237059['bodyID']=_0x125bcb,0x3===_0x10a84a&&(_0x237059['userData']['isCollisionGeom']=!0x0,_0x237059['visible']=_0xa507d2),this['getPosition'](_0x4a71b0['geom_pos'],_0x14f1fa,_0x237059['position']),this['getQuaternion'](_0x4a71b0['geom_quat'],_0x14f1fa,_0x237059['quaternion']),_0x559a84==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value']&&_0x237059['scale']['set'](_0x4308f2[0x0],_0x4308f2[0x2],_0x4308f2[0x1]),this['bodies'][_0x125bcb]['add'](_0x237059);}for(let _0x1c798e=0x0;_0x1c798e<_0x4a71b0['nbody'];_0x1c798e++)this['bodies'][_0x1c798e]||(this['bodies'][_0x1c798e]=new _0x2026e8(),this['bodies'][_0x1c798e]['name']='body_'+_0x1c798e,this['bodies'][_0x1c798e]['bodyID']=_0x1c798e),this['mujocoRoot']['add'](this['bodies'][_0x1c798e]),this['bodies'][_0x1c798e]['traverse'](_0x1b3758=>{_0x1b3758['isMesh']&&(_0x1b3758['bodyID']=_0x1c798e);});return this['createVisualizationElements'](_0x4a71b0),this['mujocoRoot'];}['createVisualizationElements'](_0x5f3391){var _0x24a9aa,_0x2c4383,_0x4c4957,_0x337abd;const _0x45215d=null==(_0x24a9aa=document['getElementById']('toggle-axes-btn'))?void 0x0:_0x24a9aa['classList']['contains']('active'),_0x5745b0=null==(_0x2c4383=document['getElementById']('toggle-joint-axes-btn'))?void 0x0:_0x2c4383['classList']['contains']('active'),_0x3afe9d=null==(_0x4c4957=document['getElementById']('show-com'))?void 0x0:_0x4c4957['classList']['contains']('active'),_0x370c6f=null==(_0x337abd=document['getElementById']('show-inertia'))?void 0x0:_0x337abd['classList']['contains']('active');for(let _0x419689=0x0;_0x419689<_0x5f3391['nbody'];_0x419689++){if(!this['bodies'][_0x419689])continue;const _0x5f51fd=Oi['createAxesGeometry'](0.1);_0x5f51fd['userData']['isVisualization']=!0x0,_0x5f51fd['userData']['type']='axes',_0x5f51fd['visible']=_0x45215d,_0x5f51fd['raycast']=()=>{};const _0x2dbfdc=new _0x446862();_0x2dbfdc['setFromAxisAngle'](new _0x4a4464(0x1,0x0,0x0),-Math['PI']/0x2),_0x5f51fd['quaternion']['copy'](_0x2dbfdc),this['bodies'][_0x419689]['add'](_0x5f51fd);const _0x543a8a=_0x5f3391['body_mass'][_0x419689];if(_0x543a8a>0x0){const _0x35a994=ki['createCOMGeometry'](0.02);_0x35a994['userData']['isVisualization']=!0x0,_0x35a994['userData']['type']='com',_0x35a994['visible']=_0x3afe9d,this['getPosition'](_0x5f3391['body_ipos'],_0x419689,_0x35a994['position']),this['bodies'][_0x419689]['add'](_0x35a994);const _0x475bdd=_0x5f3391['body_inertia'][0x3*_0x419689+0x0],_0x26703b=_0x5f3391['body_inertia'][0x3*_0x419689+0x1],_0x9c9648={'ixx':_0x475bdd,'iyy':_0x5f3391['body_inertia'][0x3*_0x419689+0x2],'izz':_0x26703b,'mass':_0x543a8a},_0x2509d2=Ue['computeInertiaBox'](_0x9c9648),_0x51f37d=Ue['createInertiaBoxGeometry'](_0x2509d2['width'],_0x2509d2['height'],_0x2509d2['depth']),_0x28aedc=new _0x5096b9({'color':0x4a9eff,'transparent':!0x0,'opacity':0.35,'shininess':2.5,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x10deff=new _0x576ce4(_0x51f37d,_0x28aedc);_0x10deff['userData']['isVisualization']=!0x0,_0x10deff['userData']['type']='inertia',_0x10deff['visible']=_0x370c6f,_0x10deff['castShadow']=!0x1,_0x10deff['receiveShadow']=!0x1,_0x10deff['raycast']=()=>{},this['getPosition'](_0x5f3391['body_ipos'],_0x419689,_0x10deff['position']),_0x5f3391['body_iquat']&&this['getQuaternion'](_0x5f3391['body_iquat'],_0x419689,_0x10deff['quaternion']),this['bodies'][_0x419689]['add'](_0x10deff);}}for(let _0x614394=0x0;_0x614394<_0x5f3391['njnt'];_0x614394++){const _0x20c5f0=_0x5f3391['jnt_type'][_0x614394],_0x4db344=_0x5f3391['jnt_bodyid'][_0x614394];if((_0x20c5f0===this['mujoco']['mjtJoint']['mjJNT_HINGE']['value']||_0x20c5f0===this['mujoco']['mjtJoint']['mjJNT_BALL']['value'])&&this['bodies'][_0x4db344]){const _0x4aa088=new _0x4a4464();if(this['getPosition'](_0x5f3391['jnt_axis'],_0x614394,_0x4aa088),_0x4aa088['length']()>0.001){_0x4aa088['normalize']();const _0x956504=Oi['createJointArrowGeometry'](_0x4aa088);_0x956504['userData']['isVisualization']=!0x0,_0x956504['userData']['type']='jointAxis',_0x956504['visible']=_0x5745b0,_0x956504['raycast']=()=>{},this['getPosition'](_0x5f3391['jnt_pos'],_0x614394,_0x956504['position']),this['bodies'][_0x4db344]['add'](_0x956504);}}}}['createMeshGeometry'](_0x3ff59d){const _0x414157=this['model'],_0x13a02c=new _0x22b5b9(),_0x385b9f=_0x414157['mesh_vert']['subarray'](0x3*_0x414157['mesh_vertadr'][_0x3ff59d],0x3*(_0x414157['mesh_vertadr'][_0x3ff59d]+_0x414157['mesh_vertnum'][_0x3ff59d]));for(let _0x54e4b2=0x0;_0x54e4b2<_0x385b9f['length'];_0x54e4b2+=0x3){const _0x145187=_0x385b9f[_0x54e4b2+0x1];_0x385b9f[_0x54e4b2+0x1]=_0x385b9f[_0x54e4b2+0x2],_0x385b9f[_0x54e4b2+0x2]=-_0x145187;}const _0x5e32c1=_0x414157['mesh_normal']['subarray'](0x3*_0x414157['mesh_vertadr'][_0x3ff59d],0x3*(_0x414157['mesh_vertadr'][_0x3ff59d]+_0x414157['mesh_vertnum'][_0x3ff59d]));for(let _0x2e8093=0x0;_0x2e8093<_0x5e32c1['length'];_0x2e8093+=0x3){const _0x555eaf=_0x5e32c1[_0x2e8093+0x1];_0x5e32c1[_0x2e8093+0x1]=_0x5e32c1[_0x2e8093+0x2],_0x5e32c1[_0x2e8093+0x2]=-_0x555eaf;}const _0x56c23e=_0x414157['mesh_face']['subarray'](0x3*_0x414157['mesh_faceadr'][_0x3ff59d],0x3*(_0x414157['mesh_faceadr'][_0x3ff59d]+_0x414157['mesh_facenum'][_0x3ff59d]));return _0x13a02c['setAttribute']('position',new _0x353683(_0x385b9f,0x3)),_0x13a02c['setAttribute']('normal',new _0x353683(_0x5e32c1,0x3)),_0x13a02c['setIndex'](Array['from'](_0x56c23e)),_0x13a02c['computeVertexNormals'](),_0x13a02c;}['getPosition'](_0x4651b1,_0x4e861b,_0x219f3f,_0x4658c0=!0x0){return _0x4658c0?_0x219f3f['set'](_0x4651b1[0x3*_0x4e861b+0x0],_0x4651b1[0x3*_0x4e861b+0x2],-_0x4651b1[0x3*_0x4e861b+0x1]):_0x219f3f['set'](_0x4651b1[0x3*_0x4e861b+0x0],_0x4651b1[0x3*_0x4e861b+0x1],_0x4651b1[0x3*_0x4e861b+0x2]);}['getQuaternion'](_0x42921a,_0x438032,_0x3ae893,_0x496634=!0x0){return _0x496634?_0x3ae893['set'](-_0x42921a[0x4*_0x438032+0x1],-_0x42921a[0x4*_0x438032+0x3],_0x42921a[0x4*_0x438032+0x2],-_0x42921a[0x4*_0x438032+0x0]):_0x3ae893['set'](_0x42921a[0x4*_0x438032+0x1],_0x42921a[0x4*_0x438032+0x2],_0x42921a[0x4*_0x438032+0x3],_0x42921a[0x4*_0x438032+0x0]);}['update'](_0x199686){if(!this['isLoaded']||!this['model'])return;if(!this['params']['paused']){const _0x518964=this['isOldAPI']?this['model']['opt']['timestep']:this['model']['getOptions']()['timestep'];for(_0x199686-this['mujoco_time']>0x23&&(this['mujoco_time']=_0x199686);this['mujoco_time']<_0x199686;){if(this['isOldAPI'])for(let _0x58523c=0x0;_0x58523c<this['data']['qfrc_applied']['length'];_0x58523c++)this['data']['qfrc_applied'][_0x58523c]=0x0;if(this['dragStateManager']&&this['dragStateManager']['active']){const _0x11dd57=this['dragStateManager']['physicsObject'];if(_0x11dd57&&_0x11dd57['bodyID']){const _0x239e78=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x3fb462=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0x5b61ec=0x0;_0x5b61ec<this['model']['nbody'];_0x5b61ec++){const _0x2fa6d7=this['bodies'][_0x5b61ec];_0x2fa6d7&&(this['getPosition'](_0x239e78,_0x5b61ec,_0x2fa6d7['position']),this['getQuaternion'](_0x3fb462,_0x5b61ec,_0x2fa6d7['quaternion']),_0x2fa6d7['updateMatrixWorld'](!0x0));}this['dragStateManager']['update']();const _0x358aee=_0x11dd57['bodyID'],_0x189596=this['toMujocoPos'](this['dragStateManager']['currentWorld']['clone']()['sub'](this['dragStateManager']['worldHit'])['multiplyScalar'](0xfa*this['model']['body_mass'][_0x358aee])),_0x2e3984=this['toMujocoPos'](this['dragStateManager']['worldHit']['clone']());this['isOldAPI']&&this['mujoco']['mj_applyFT'](this['model'],this['data'],[_0x189596['x'],_0x189596['y'],_0x189596['z']],[0x0,0x0,0x0],[_0x2e3984['x'],_0x2e3984['y'],_0x2e3984['z']],_0x358aee,this['data']['qfrc_applied']);}}this['isOldAPI']?this['mujoco']['mj_step'](this['model'],this['data']):this['simulation']['step'](),this['mujoco_time']+=0x3e8*_0x518964;}}const _0x3ae3e8=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x5e00d7=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0x1261c2=0x0;_0x1261c2<this['model']['nbody'];_0x1261c2++){const _0x28b166=this['bodies'][_0x1261c2];_0x28b166&&(this['getPosition'](_0x3ae3e8,_0x1261c2,_0x28b166['position'],!0x0),this['getQuaternion'](_0x5e00d7,_0x1261c2,_0x28b166['quaternion'],!0x0),_0x28b166['updateMatrixWorld'](!0x0));}this['params']['paused']||this['sceneManager']['redraw']();}['toMujocoPos'](_0x2248b2){return _0x2248b2['set'](_0x2248b2['x'],-_0x2248b2['z'],_0x2248b2['y']);}['reset'](){this['model']&&(this['isSimulating'],this['isOldAPI']?(this['mujoco']['mj_resetData'](this['model'],this['data']),this['mujoco']['mj_forward'](this['model'],this['data'])):(this['simulation']['resetData'](),this['simulation']['forward']()),this['mujoco_time']=0x0);}['startSimulation'](){this['params']['paused']=!0x1,this['isSimulating']=!0x0,this['mujocoRoot']&&(this['mujocoRoot']['parent']||this['sceneManager']['scene']['add'](this['mujocoRoot']),this['mujocoRoot']['visible']=!0x0),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&(this['sceneManager']['currentModel']['threeObject']['visible']=!0x1),this['dragStateManager']&&this['dragStateManager']['enable'](),this['sceneManager']['dragControls']&&(this['sceneManager']['dragControls']['enabled']=!0x1),this['sceneManager']['highlightManager']&&this['sceneManager']['highlightManager']['clearHighlight']();}['pauseSimulation'](){this['params']['paused']=!0x0,this['isSimulating']=!0x1,this['dragStateManager']&&this['dragStateManager']['disable'](),this['mujocoRoot']&&(this['mujocoRoot']['visible']=!0x1),this['sceneManager']['dragControls']&&(this['sceneManager']['dragControls']['enabled']=!0x0);}['toggleSimulation'](){return this['params']['paused']?this['startSimulation']():this['pauseSimulation'](),!this['params']['paused'];}['clearScene'](){if(this['isOldAPI']?(this['data']&&(this['data']['delete'](),this['data']=null),this['model']&&(this['model']['delete'](),this['model']=null)):(this['simulation']&&(this['simulation']['free'](),this['simulation']=null),this['state']&&(this['state']=null),this['model']&&(this['model']=null)),this['mujoco']&&this['mujoco']['FS'])try{const _0x23e247=this['mujoco']['FS']['readdir']('/working');for(const _0x474d64 of _0x23e247)if('.'!==_0x474d64&&'..'!==_0x474d64)try{const _0x2465ad='/working/'+_0x474d64,_0x58b9d1=this['mujoco']['FS']['stat'](_0x2465ad);this['mujoco']['FS']['isDir'](_0x58b9d1['mode'])?this['removeDirectory'](_0x2465ad):this['mujoco']['FS']['unlink'](_0x2465ad);}catch(_0x82eed){}}catch(_0x1b9e40){}this['mujocoRoot']&&(this['mujocoRoot']['parent']&&this['mujocoRoot']['parent']['remove'](this['mujocoRoot']),this['mujocoRoot']=null),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&(this['sceneManager']['currentModel']['threeObject']['visible']=!0x0),this['sceneManager']['dragControls']&&(this['sceneManager']['dragControls']['enabled']=!0x0),this['dragStateManager']&&(this['dragStateManager']['disable'](),this['dragStateManager']['arrow']&&this['dragStateManager']['arrow']['parent']&&this['dragStateManager']['arrow']['parent']['remove'](this['dragStateManager']['arrow']),this['dragStateManager']=null),this['originalModel']=null,this['bodies']={},this['lights']=[],this['isLoaded']=!0x1,this['isSimulating']=!0x1,this['params']['paused']=!0x0;}['removeDirectory'](_0x2a6bee){if(this['mujoco']&&this['mujoco']['FS'])try{const _0x3eda5b=this['mujoco']['FS']['readdir'](_0x2a6bee);for(const _0x39bbfb of _0x3eda5b)if('.'!==_0x39bbfb&&'..'!==_0x39bbfb){const _0x194fbe=_0x2a6bee+'/'+_0x39bbfb,_0x3782de=this['mujoco']['FS']['stat'](_0x194fbe);this['mujoco']['FS']['isDir'](_0x3782de['mode'])?this['removeDirectory'](_0x194fbe):this['mujoco']['FS']['unlink'](_0x194fbe);}this['mujoco']['FS']['rmdir'](_0x2a6bee);}catch(_0x39b40f){}}['toggleCollisionDisplay'](_0x33d12d){if(this['mujocoRoot']){for(let _0x59e8a9=0x0;_0x59e8a9<this['model']['nbody'];_0x59e8a9++){const _0x3383c4=this['bodies'][_0x59e8a9];_0x3383c4&&_0x3383c4['children']['forEach'](_0x6f4181=>{_0x6f4181['userData']&&_0x6f4181['userData']['isCollisionGeom']&&(_0x6f4181['visible']=_0x33d12d);});}this['sceneManager']['redraw']();}}['toggleVisualDisplay'](_0x5e18ba){if(this['mujocoRoot']){for(let _0x2f5e0a=0x0;_0x2f5e0a<this['model']['nbody'];_0x2f5e0a++){const _0x3f432d=this['bodies'][_0x2f5e0a];_0x3f432d&&_0x3f432d['children']['forEach'](_0x20cbd7=>{!_0x20cbd7['isMesh']||_0x20cbd7['userData']['isVisualization']||_0x20cbd7['userData']['isCollisionGeom']||(_0x20cbd7['visible']=_0x5e18ba);});}this['sceneManager']['redraw']();}}['hasVisibleVisualization'](_0x243730){if(!this['mujocoRoot']||!this['model'])return!0x1;for(let _0x43526c=0x0;_0x43526c<this['model']['nbody'];_0x43526c++){const _0x1cb711=this['bodies'][_0x43526c];if(!_0x1cb711)continue;let _0x1b9d3d=!0x1;if(_0x1cb711['traverse'](_0x59d841=>{!_0x1b9d3d&&_0x59d841['userData']&&_0x59d841['userData']['type']===_0x243730&&_0x59d841['visible']&&(_0x1b9d3d=!0x0);}),_0x1b9d3d)return!0x0;}return!0x1;}['updateVisualTransparency'](){var _0x400149;if(!this['mujocoRoot'])return;const _0x4922a0=(null==(_0x400149=document['getElementById']('show-com'))?void 0x0:_0x400149['classList']['contains']('active'))||this['hasVisibleVisualization']('axes')||this['hasVisibleVisualization']('jointAxis');for(let _0x2ba4e9=0x0;_0x2ba4e9<this['model']['nbody'];_0x2ba4e9++){const _0x3a22ce=this['bodies'][_0x2ba4e9];_0x3a22ce&&_0x3a22ce['children']['forEach'](_0x1fa065=>{!_0x1fa065['isMesh']||_0x1fa065['userData']['isVisualization']||_0x1fa065['userData']['isCollisionGeom']||ji['setMeshTransparency'](_0x1fa065,_0x4922a0);});}this['sceneManager']['redraw']();}['toggleCOMDisplay'](_0x3f6bc5){if(this['mujocoRoot']){for(let _0x250e8e=0x0;_0x250e8e<this['model']['nbody'];_0x250e8e++){const _0x2a919c=this['bodies'][_0x250e8e];_0x2a919c&&_0x2a919c['traverse'](_0x3bbcf9=>{_0x3bbcf9['userData']&&'com'===_0x3bbcf9['userData']['type']&&(_0x3bbcf9['visible']=_0x3f6bc5);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleInertiaDisplay'](_0x8d3956){if(this['mujocoRoot']){for(let _0x483ce5=0x0;_0x483ce5<this['model']['nbody'];_0x483ce5++){const _0x449085=this['bodies'][_0x483ce5];_0x449085&&_0x449085['traverse'](_0x373366=>{_0x373366['userData']&&'inertia'===_0x373366['userData']['type']&&(_0x373366['visible']=_0x8d3956);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleAxesDisplay'](_0x11a76a){if(this['mujocoRoot']){for(let _0x456b78=0x0;_0x456b78<this['model']['nbody'];_0x456b78++){const _0x2749d9=this['bodies'][_0x456b78];_0x2749d9&&_0x2749d9['traverse'](_0x49d0a6=>{_0x49d0a6['userData']&&'axes'===_0x49d0a6['userData']['type']&&(_0x49d0a6['visible']=_0x11a76a);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleJointAxesDisplay'](_0x57ed87){if(this['mujocoRoot']){for(let _0x120a6d=0x0;_0x120a6d<this['model']['nbody'];_0x120a6d++){const _0x1e29ac=this['bodies'][_0x120a6d];_0x1e29ac&&_0x1e29ac['traverse'](_0x361614=>{_0x361614['userData']&&'jointAxis'===_0x361614['userData']['type']&&(_0x361614['visible']=_0x57ed87);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['isSimulationRunning'](){return this['isSimulating'];}['hasScene'](){return this['isLoaded'];}}var Xi='undefined'!=typeof globalThis?globalThis:'undefined'!=typeof window?window:'undefined'!=typeof global?global:'undefined'!=typeof self?self:{};function Yi(_0x265ab8){return _0x265ab8&&_0x265ab8['__esModule']&&Object['prototype']['hasOwnProperty']['call'](_0x265ab8,'default')?_0x265ab8['default']:_0x265ab8;}/*
|
|
2
|
+
object-assign
|
|
3
|
+
(c) Sindre Sorhus
|
|
4
|
+
@license MIT
|
|
5
|
+
*/
|
|
6
|
+
var Zi=Object['getOwnPropertySymbols'],Qi=Object['prototype']['hasOwnProperty'],Ki=Object['prototype']['propertyIsEnumerable'];var es,ts,ns,is,ss,rs,as=(function(){try{if(!Object['assign'])return!0x1;var _0x2043cc=new String('abc');if(_0x2043cc[0x5]='de','5'===Object['getOwnPropertyNames'](_0x2043cc)[0x0])return!0x1;for(var _0x3f252d={},_0x4c0adf=0x0;_0x4c0adf<0xa;_0x4c0adf++)_0x3f252d['_'+String['fromCharCode'](_0x4c0adf)]=_0x4c0adf;if('0123456789'!==Object['getOwnPropertyNames'](_0x3f252d)['map'](function(_0x564dcd){return _0x3f252d[_0x564dcd];})['join'](''))return!0x1;var _0x548402={};return'abcdefghijklmnopqrst'['split']('')['forEach'](function(_0xc3fa1b){_0x548402[_0xc3fa1b]=_0xc3fa1b;}),'abcdefghijklmnopqrst'===Object['keys'](Object['assign']({},_0x548402))['join']('');}catch(_0x3a9ab7){return!0x1;}}())?Object['assign']:function(_0x5ea089,_0xa474f7){for(var _0x59f1e4,_0x2b35bf,_0x166bd1=function(_0x46425d){if(null==_0x46425d)throw new TypeError('Object.assign\x20cannot\x20be\x20called\x20with\x20null\x20or\x20undefined');return Object(_0x46425d);}(_0x5ea089),_0x35696d=0x1;_0x35696d<arguments['length'];_0x35696d++){for(var _0x3e09a7 in _0x59f1e4=Object(arguments[_0x35696d]))Qi['call'](_0x59f1e4,_0x3e09a7)&&(_0x166bd1[_0x3e09a7]=_0x59f1e4[_0x3e09a7]);if(Zi){_0x2b35bf=Zi(_0x59f1e4);for(var _0x2b8934=0x0;_0x2b8934<_0x2b35bf['length'];_0x2b8934++)Ki['call'](_0x59f1e4,_0x2b35bf[_0x2b8934])&&(_0x166bd1[_0x2b35bf[_0x2b8934]]=_0x59f1e4[_0x2b35bf[_0x2b8934]]);}}return _0x166bd1;},os={'exports':{}};function ls(){return ts?es:(ts=0x1,es=function(_0x26f66b,_0x21129e,_0xa4b097){_0x21129e['forEach'](function(_0x23d3ff){var _0x455967=_0xa4b097[_0x23d3ff];_0x26f66b['prototype'][_0x23d3ff]=function(_0x5150fc){return _0x5150fc['ros']=this,new _0x455967(_0x5150fc);};});});}function cs(){return is?ns:(is=0x1,ns='undefined'!=typeof window?window['WebSocket']:WebSocket);}var hs,us,ds,ps,ms,gs,fs,ys,vs,bs={'exports':{}};function ws(){return hs||(hs=0x1,(function(){function _0x4cbd21(_0x569f48){var _0x4564cf={};function _0x22fbdb(_0x4c6449){if(_0x4564cf[_0x4c6449])return _0x4564cf[_0x4c6449]['exports'];var _0x1c9ed1=_0x4564cf[_0x4c6449]={'i':_0x4c6449,'l':!0x1,'exports':{}};return _0x569f48[_0x4c6449]['call'](_0x1c9ed1['exports'],_0x1c9ed1,_0x1c9ed1['exports'],_0x22fbdb),_0x1c9ed1['l']=!0x0,_0x1c9ed1['exports'];}_0x22fbdb['m']=_0x569f48,_0x22fbdb['c']=_0x4564cf,_0x22fbdb['i']=function(_0x15b03c){return _0x15b03c;},_0x22fbdb['d']=function(_0x328069,_0x51e650,_0x459c36){_0x22fbdb['o'](_0x328069,_0x51e650)||Object['defineProperty'](_0x328069,_0x51e650,{'configurable':!0x1,'enumerable':!0x0,'get':_0x459c36});},_0x22fbdb['r']=function(_0x45c7c4){Object['defineProperty'](_0x45c7c4,'__esModule',{'value':!0x0});},_0x22fbdb['n']=function(_0x4b9770){var _0x540942=_0x4b9770&&_0x4b9770['__esModule']?function(){return _0x4b9770['default'];}:function(){return _0x4b9770;};return _0x22fbdb['d'](_0x540942,'a',_0x540942),_0x540942;},_0x22fbdb['o']=function(_0x3f3b04,_0x502e5c){return Object['prototype']['hasOwnProperty']['call'](_0x3f3b04,_0x502e5c);},_0x22fbdb['p']='/',_0x22fbdb['oe']=function(_0x3749d9){throw _0x3749d9;};var _0x185263=_0x22fbdb(_0x22fbdb['s']=ENTRY_MODULE);return _0x185263['default']||_0x185263;}var _0x8372fe='[\x5c.|\x5c-|\x5c+|\x5cw|/|@]+',_0x1f3bad='\x5c(\x5cs*(/\x5c*.*?\x5c*/)?\x5cs*.*?('+_0x8372fe+').*?\x5c)';function _0x427578(_0xdf4640){return(_0xdf4640+'')['replace'](/[.?*+^$[\]\\(){}|-]/g,'\x5c$&');}function _0x5e7e99(_0x28428b){return!isNaN(0x1*_0x28428b);}function _0xe5bf1d(_0x56abd3,_0x26dc4f,_0x568165){var _0x971c8e={};_0x971c8e[_0x568165]=[];var _0x33701d=_0x26dc4f['toString'](),_0x34944b=_0x33701d['match'](/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!_0x34944b)return _0x971c8e;for(var _0x3ea936,_0x157c6a=_0x34944b[0x1],_0xb8b2b1=new RegExp('(\x5c\x5cn|\x5cW)'+_0x427578(_0x157c6a)+_0x1f3bad,'g');_0x3ea936=_0xb8b2b1['exec'](_0x33701d);)'dll-reference'!==_0x3ea936[0x3]&&_0x971c8e[_0x568165]['push'](_0x3ea936[0x3]);for(_0xb8b2b1=new RegExp('\x5c('+_0x427578(_0x157c6a)+'\x5c(\x22(dll-reference\x5cs('+_0x8372fe+'))\x22\x5c)\x5c)'+_0x1f3bad,'g');_0x3ea936=_0xb8b2b1['exec'](_0x33701d);)_0x56abd3[_0x3ea936[0x2]]||(_0x971c8e[_0x568165]['push'](_0x3ea936[0x1]),_0x56abd3[_0x3ea936[0x2]]=__webpack_require__(_0x3ea936[0x1])['m']),_0x971c8e[_0x3ea936[0x2]]=_0x971c8e[_0x3ea936[0x2]]||[],_0x971c8e[_0x3ea936[0x2]]['push'](_0x3ea936[0x4]);for(var _0x31738e=Object['keys'](_0x971c8e),_0x58f753=0x0;_0x58f753<_0x31738e['length'];_0x58f753++)for(var _0x2c6518=0x0;_0x2c6518<_0x971c8e[_0x31738e[_0x58f753]]['length'];_0x2c6518++)_0x5e7e99(_0x971c8e[_0x31738e[_0x58f753]][_0x2c6518])&&(_0x971c8e[_0x31738e[_0x58f753]][_0x2c6518]=0x1*_0x971c8e[_0x31738e[_0x58f753]][_0x2c6518]);return _0x971c8e;}function _0x1b0556(_0x465355){return Object['keys'](_0x465355)['reduce'](function(_0x25dee7,_0x252eb4){return _0x25dee7||_0x465355[_0x252eb4]['length']>0x0;},!0x1);}bs['exports']=function(_0x57d2aa,_0x565eb0){_0x565eb0=_0x565eb0||{};var _0x23a108={'main':__webpack_modules__},_0x3b6415=_0x565eb0['all']?{'main':Object['keys'](_0x23a108['main'])}:function(_0x87fe05,_0x492392){for(var _0x31363c={'main':[_0x492392]},_0x43179b={'main':[]},_0x1ad99f={'main':{}};_0x1b0556(_0x31363c);)for(var _0x4b4973=Object['keys'](_0x31363c),_0x399d61=0x0;_0x399d61<_0x4b4973['length'];_0x399d61++){var _0x49c628=_0x4b4973[_0x399d61],_0x4ebd18=_0x31363c[_0x49c628]['pop']();if(_0x1ad99f[_0x49c628]=_0x1ad99f[_0x49c628]||{},!_0x1ad99f[_0x49c628][_0x4ebd18]&&_0x87fe05[_0x49c628][_0x4ebd18]){_0x1ad99f[_0x49c628][_0x4ebd18]=!0x0,_0x43179b[_0x49c628]=_0x43179b[_0x49c628]||[],_0x43179b[_0x49c628]['push'](_0x4ebd18);for(var _0x3651d1=_0xe5bf1d(_0x87fe05,_0x87fe05[_0x49c628][_0x4ebd18],_0x49c628),_0x288e18=Object['keys'](_0x3651d1),_0x989b72=0x0;_0x989b72<_0x288e18['length'];_0x989b72++)_0x31363c[_0x288e18[_0x989b72]]=_0x31363c[_0x288e18[_0x989b72]]||[],_0x31363c[_0x288e18[_0x989b72]]=_0x31363c[_0x288e18[_0x989b72]]['concat'](_0x3651d1[_0x288e18[_0x989b72]]);}}return _0x43179b;}(_0x23a108,_0x57d2aa),_0x23698f='';Object['keys'](_0x3b6415)['filter'](function(_0x34ed70){return'main'!==_0x34ed70;})['forEach'](function(_0x3d98f5){for(var _0x388d12=0x0;_0x3b6415[_0x3d98f5][_0x388d12];)_0x388d12++;_0x3b6415[_0x3d98f5]['push'](_0x388d12),_0x23a108[_0x3d98f5][_0x388d12]='(function(module,\x20exports,\x20__webpack_require__)\x20{\x20module.exports\x20=\x20__webpack_require__;\x20})',_0x23698f=_0x23698f+'var\x20'+_0x3d98f5+'\x20=\x20('+_0x4cbd21['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0x388d12))+')({'+_0x3b6415[_0x3d98f5]['map'](function(_0x5144ca){return JSON['stringify'](_0x5144ca)+':\x20'+_0x23a108[_0x3d98f5][_0x5144ca]['toString']();})['join'](',')+'});\x0a';}),_0x23698f=_0x23698f+'new\x20(('+_0x4cbd21['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0x57d2aa))+')({'+_0x3b6415['main']['map'](function(_0x312959){return JSON['stringify'](_0x312959)+':\x20'+_0x23a108['main'][_0x312959]['toString']();})['join'](',')+'}))(self);';var _0x2220d2=new window['Blob']([_0x23698f],{'type':'text/javascript'});if(_0x565eb0['bare'])return _0x2220d2;var _0x231b89=(window['URL']||window['webkitURL']||window['mozURL']||window['msURL'])['createObjectURL'](_0x2220d2),_0x4c5342=new window['Worker'](_0x231b89);return _0x4c5342['objectURL']=_0x231b89,_0x4c5342;};}())),bs['exports'];}function xs(){if(ms)return ps;ms=0x1;try{var _0x2ba66b=(function(){if(rs)return ss;rs=0x1;var _0xef5a41=arguments[0x3],_0x37ade4=arguments[0x4],_0x5c427d=arguments[0x5],_0x47d010=JSON['stringify'];return ss=function(_0x1347e4,_0x26076c){for(var _0x845d6b,_0x3930dc=Object['keys'](_0x5c427d),_0xf0b6b5=0x0,_0x1ccc76=_0x3930dc['length'];_0xf0b6b5<_0x1ccc76;_0xf0b6b5++){var _0x27347e=_0x3930dc[_0xf0b6b5],_0x44e6e9=_0x5c427d[_0x27347e]['exports'];if(_0x44e6e9===_0x1347e4||_0x44e6e9&&_0x44e6e9['default']===_0x1347e4){_0x845d6b=_0x27347e;break;}}if(!_0x845d6b){_0x845d6b=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10);var _0x40e9bb={};for(_0xf0b6b5=0x0,_0x1ccc76=_0x3930dc['length'];_0xf0b6b5<_0x1ccc76;_0xf0b6b5++)_0x40e9bb[_0x27347e=_0x3930dc[_0xf0b6b5]]=_0x27347e;_0x37ade4[_0x845d6b]=['function(require,module,exports){'+_0x1347e4+'(self);\x20}',_0x40e9bb];}var _0x16ba96=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10),_0x3ece9f={};_0x3ece9f[_0x845d6b]=_0x845d6b,_0x37ade4[_0x16ba96]=['function(require,module,exports){var\x20f\x20=\x20require('+_0x47d010(_0x845d6b)+');(f.default\x20?\x20f.default\x20:\x20f)(self);}',_0x3ece9f];var _0x8ff2d0={};!function _0x310aa4(_0x3e36a8){for(var _0xa2d422 in(_0x8ff2d0[_0x3e36a8]=!0x0,_0x37ade4[_0x3e36a8][0x1])){var _0x634e90=_0x37ade4[_0x3e36a8][0x1][_0xa2d422];_0x8ff2d0[_0x634e90]||_0x310aa4(_0x634e90);}}(_0x16ba96);var _0x18b978='('+_0xef5a41+')({'+Object['keys'](_0x8ff2d0)['map'](function(_0x187b56){return _0x47d010(_0x187b56)+':['+_0x37ade4[_0x187b56][0x0]+','+_0x47d010(_0x37ade4[_0x187b56][0x1])+']';})['join'](',')+'},{},['+_0x47d010(_0x16ba96)+'])',_0x2439d6=window['URL']||window['webkitURL']||window['mozURL']||window['msURL'],_0x30aefe=new Blob([_0x18b978],{'type':'text/javascript'});if(_0x26076c&&_0x26076c['bare'])return _0x30aefe;var _0x2739aa=_0x2439d6['createObjectURL'](_0x30aefe),_0x317bd4=new Worker(_0x2739aa);return _0x317bd4['objectURL']=_0x2739aa,_0x317bd4;};}());}catch(_0x490890){_0x2ba66b=ws();}var _0x2e11e4=(function(){if(ds)return us;ds=0x1;var _0x47bb86=_0x47bb86||cs();return us=function(_0x1c2fbf){var _0x10acb9=null;function _0x4c970e(_0x137b55){var _0x5d20d7=_0x137b55['data'];_0x5d20d7 instanceof ArrayBuffer?_0x1c2fbf['postMessage'](_0x5d20d7,[_0x5d20d7]):_0x1c2fbf['postMessage'](_0x5d20d7);}function _0x3c046a(_0x29acbb){_0x1c2fbf['postMessage']({'type':_0x29acbb['type']});}_0x1c2fbf['addEventListener']('message',function(_0x24cb34){var _0x240899=_0x24cb34['data'];if('string'==typeof _0x240899)_0x10acb9['send'](_0x240899);else if(_0x240899['hasOwnProperty']('close'))_0x10acb9['close'](),_0x10acb9=null;else{if(!_0x240899['hasOwnProperty']('uri'))throw'Unknown\x20message\x20to\x20WorkerSocket';var _0x56cc72=_0x240899['uri'];(_0x10acb9=new _0x47bb86(_0x56cc72))['binaryType']='arraybuffer',_0x10acb9['onmessage']=_0x4c970e,_0x10acb9['onclose']=_0x3c046a,_0x10acb9['onopen']=_0x3c046a,_0x10acb9['onerror']=_0x3c046a;}});};}());function _0x5d700e(_0x4cc033){this['socket_']=_0x2ba66b(_0x2e11e4),this['socket_']['addEventListener']('message',this['handleWorkerMessage_']['bind'](this)),this['socket_']['postMessage']({'uri':_0x4cc033});}return _0x5d700e['prototype']['handleWorkerMessage_']=function(_0x16b8e4){var _0x108656=_0x16b8e4['data'];if(_0x108656 instanceof ArrayBuffer||'string'==typeof _0x108656)this['onmessage'](_0x16b8e4);else{var _0x58d761=_0x108656['type'];if('close'===_0x58d761)this['onclose'](null);else if('open'===_0x58d761)this['onopen'](null);else{if('error'!==_0x58d761)throw'Unknown\x20message\x20from\x20workersocket';this['onerror'](null);}}},_0x5d700e['prototype']['send']=function(_0x197165){this['socket_']['postMessage'](_0x197165);},_0x5d700e['prototype']['close']=function(){this['socket_']['postMessage']({'close':!0x0});},ps=_0x5d700e;}function Ms(){if(vs)return ys;vs=0x1;var _0x5addc9=fs?gs:(fs=0x1,gs=function(){return document['createElement']('canvas');}),_0x48ad94=_0x5addc9['Image']||window['Image'];return ys=function(_0x5b8bab,_0x4a38e0){var _0x5b50d7=new _0x48ad94();_0x5b50d7['onload']=function(){var _0x3171d2=new _0x5addc9(),_0x407f19=_0x3171d2['getContext']('2d');_0x3171d2['width']=_0x5b50d7['width'],_0x3171d2['height']=_0x5b50d7['height'],_0x407f19['imageSmoothingEnabled']=!0x1,_0x407f19['webkitImageSmoothingEnabled']=!0x1,_0x407f19['mozImageSmoothingEnabled']=!0x1,_0x407f19['drawImage'](_0x5b50d7,0x0,0x0);for(var _0x24b532=_0x407f19['getImageData'](0x0,0x0,_0x5b50d7['width'],_0x5b50d7['height'])['data'],_0x23581b='',_0x1feef1=0x0;_0x1feef1<_0x24b532['length'];_0x1feef1+=0x4)_0x23581b+=String['fromCharCode'](_0x24b532[_0x1feef1],_0x24b532[_0x1feef1+0x1],_0x24b532[_0x1feef1+0x2]);_0x4a38e0(JSON['parse'](_0x23581b));},_0x5b50d7['src']='data:image/png;base64,'+_0x5b8bab;};}var _s,Ss={'exports':{}};function As(){return _s||(_s=0x1,_0x88a505=Ss,_0x3f8832=Xi,_0x48022d=Math['pow'](0x2,-0x18),_0x562173=Math['pow'](0x2,0x20),_0x59615c=Math['pow'](0x2,0x35),_0x203799={'encode':function(_0x449492){var _0xebb8d2,_0x13d959=new ArrayBuffer(0x100),_0xc895a1=new DataView(_0x13d959),_0x4ea824=0x0;function _0xf4e7e9(_0x185c6b){for(var _0x9d797b=_0x13d959['byteLength'],_0xf7fd84=_0x4ea824+_0x185c6b;_0x9d797b<_0xf7fd84;)_0x9d797b*=0x2;if(_0x9d797b!==_0x13d959['byteLength']){var _0x3fefc8=_0xc895a1;_0x13d959=new ArrayBuffer(_0x9d797b),_0xc895a1=new DataView(_0x13d959);for(var _0x40781e=_0x4ea824+0x3>>0x2,_0x482986=0x0;_0x482986<_0x40781e;++_0x482986)_0xc895a1['setUint32'](0x4*_0x482986,_0x3fefc8['getUint32'](0x4*_0x482986));}return _0xebb8d2=_0x185c6b,_0xc895a1;}function _0x465bfd(){_0x4ea824+=_0xebb8d2;}function _0x53a95e(_0x10de66){_0x465bfd(_0xf4e7e9(0x1)['setUint8'](_0x4ea824,_0x10de66));}function _0x116ad9(_0x575cde){for(var _0x125347=_0xf4e7e9(_0x575cde['length']),_0x16ce84=0x0;_0x16ce84<_0x575cde['length'];++_0x16ce84)_0x125347['setUint8'](_0x4ea824+_0x16ce84,_0x575cde[_0x16ce84]);_0x465bfd();}function _0x109e88(_0x16e242,_0x126a1b){var _0x2aee41;_0x126a1b<0x18?_0x53a95e(_0x16e242<<0x5|_0x126a1b):_0x126a1b<0x100?(_0x53a95e(_0x16e242<<0x5|0x18),_0x53a95e(_0x126a1b)):_0x126a1b<0x10000?(_0x53a95e(_0x16e242<<0x5|0x19),_0x2aee41=_0x126a1b,_0x465bfd(_0xf4e7e9(0x2)['setUint16'](_0x4ea824,_0x2aee41))):_0x126a1b<0x100000000?(_0x53a95e(_0x16e242<<0x5|0x1a),function(_0x2b95ea){_0x465bfd(_0xf4e7e9(0x4)['setUint32'](_0x4ea824,_0x2b95ea));}(_0x126a1b)):(_0x53a95e(_0x16e242<<0x5|0x1b),function(_0x1b07b0){var _0x42851d=_0x1b07b0%_0x562173,_0x32f422=(_0x1b07b0-_0x42851d)/_0x562173,_0x21ffbd=_0xf4e7e9(0x8);_0x21ffbd['setUint32'](_0x4ea824,_0x32f422),_0x21ffbd['setUint32'](_0x4ea824+0x4,_0x42851d),_0x465bfd();}(_0x126a1b));}if(function _0x43fdd8(_0x1c60ff){var _0x40bbe8;if(!0x1===_0x1c60ff)return _0x53a95e(0xf4);if(!0x0===_0x1c60ff)return _0x53a95e(0xf5);if(null===_0x1c60ff)return _0x53a95e(0xf6);if(_0x1c60ff===_0x41ee67)return _0x53a95e(0xf7);switch(typeof _0x1c60ff){case'number':if(Math['floor'](_0x1c60ff)===_0x1c60ff){if(0x0<=_0x1c60ff&&_0x1c60ff<=_0x59615c)return _0x109e88(0x0,_0x1c60ff);if(-_0x59615c<=_0x1c60ff&&_0x1c60ff<0x0)return _0x109e88(0x1,-(_0x1c60ff+0x1));}return _0x53a95e(0xfb),function(_0x2992fd){_0x465bfd(_0xf4e7e9(0x8)['setFloat64'](_0x4ea824,_0x2992fd));}(_0x1c60ff);case'string':var _0x32fa07=[];for(_0x40bbe8=0x0;_0x40bbe8<_0x1c60ff['length'];++_0x40bbe8){var _0x466587=_0x1c60ff['charCodeAt'](_0x40bbe8);_0x466587<0x80?_0x32fa07['push'](_0x466587):_0x466587<0x800?(_0x32fa07['push'](0xc0|_0x466587>>0x6),_0x32fa07['push'](0x80|0x3f&_0x466587)):_0x466587<0xd800?(_0x32fa07['push'](0xe0|_0x466587>>0xc),_0x32fa07['push'](0x80|_0x466587>>0x6&0x3f),_0x32fa07['push'](0x80|0x3f&_0x466587)):(_0x466587=(0x3ff&_0x466587)<<0xa,_0x466587|=0x3ff&_0x1c60ff['charCodeAt'](++_0x40bbe8),_0x466587+=0x10000,_0x32fa07['push'](0xf0|_0x466587>>0x12),_0x32fa07['push'](0x80|_0x466587>>0xc&0x3f),_0x32fa07['push'](0x80|_0x466587>>0x6&0x3f),_0x32fa07['push'](0x80|0x3f&_0x466587));}return _0x109e88(0x3,_0x32fa07['length']),_0x116ad9(_0x32fa07);default:var _0xa11d0d;if(Array['isArray'](_0x1c60ff))for(_0x109e88(0x4,_0xa11d0d=_0x1c60ff['length']),_0x40bbe8=0x0;_0x40bbe8<_0xa11d0d;++_0x40bbe8)_0x43fdd8(_0x1c60ff[_0x40bbe8]);else if(_0x1c60ff instanceof Uint8Array)_0x109e88(0x2,_0x1c60ff['length']),_0x116ad9(_0x1c60ff);else{var _0x55c206=Object['keys'](_0x1c60ff);for(_0x109e88(0x5,_0xa11d0d=_0x55c206['length']),_0x40bbe8=0x0;_0x40bbe8<_0xa11d0d;++_0x40bbe8){var _0x44c4c1=_0x55c206[_0x40bbe8];_0x43fdd8(_0x44c4c1),_0x43fdd8(_0x1c60ff[_0x44c4c1]);}}}}(_0x449492),'slice'in _0x13d959)return _0x13d959['slice'](0x0,_0x4ea824);for(var _0x550323=new ArrayBuffer(_0x4ea824),_0x2c877f=new DataView(_0x550323),_0x5e714c=0x0;_0x5e714c<_0x4ea824;++_0x5e714c)_0x2c877f['setUint8'](_0x5e714c,_0xc895a1['getUint8'](_0x5e714c));return _0x550323;},'decode':function(_0x2c729a,_0x443895,_0x1f1c6b){var _0x14f99c=new DataView(_0x2c729a),_0x332578=0x0;function _0x57e258(_0x4211fb,_0x5d2128){return _0x332578+=_0x5d2128,_0x4211fb;}function _0x3e4d21(_0x130d85){return _0x57e258(new Uint8Array(_0x2c729a,_0x332578,_0x130d85),_0x130d85);}function _0x1672ba(){return _0x57e258(_0x14f99c['getUint8'](_0x332578),0x1);}function _0x27489c(){return _0x57e258(_0x14f99c['getUint16'](_0x332578),0x2);}function _0x1d9e47(){return _0x57e258(_0x14f99c['getUint32'](_0x332578),0x4);}function _0x1d37e4(){return 0xff===_0x14f99c['getUint8'](_0x332578)&&(_0x332578+=0x1,!0x0);}function _0x1f67b9(_0x114f80){if(_0x114f80<0x18)return _0x114f80;if(0x18===_0x114f80)return _0x1672ba();if(0x19===_0x114f80)return _0x27489c();if(0x1a===_0x114f80)return _0x1d9e47();if(0x1b===_0x114f80)return _0x1d9e47()*_0x562173+_0x1d9e47();if(0x1f===_0x114f80)return-0x1;throw'Invalid\x20length\x20encoding';}function _0x501e15(_0xe33031){var _0x1276b4=_0x1672ba();if(0xff===_0x1276b4)return-0x1;var _0x3fbdd2=_0x1f67b9(0x1f&_0x1276b4);if(_0x3fbdd2<0x0||_0x1276b4>>0x5!==_0xe33031)throw'Invalid\x20indefinite\x20length\x20element';return _0x3fbdd2;}function _0x34e0e9(_0x5851be,_0x51474a){for(var _0x524586=0x0;_0x524586<_0x51474a;++_0x524586){var _0x3aca87=_0x1672ba();0x80&_0x3aca87&&(_0x3aca87<0xe0?(_0x3aca87=(0x1f&_0x3aca87)<<0x6|0x3f&_0x1672ba(),_0x51474a-=0x1):_0x3aca87<0xf0?(_0x3aca87=(0xf&_0x3aca87)<<0xc|(0x3f&_0x1672ba())<<0x6|0x3f&_0x1672ba(),_0x51474a-=0x2):(_0x3aca87=(0xf&_0x3aca87)<<0x12|(0x3f&_0x1672ba())<<0xc|(0x3f&_0x1672ba())<<0x6|0x3f&_0x1672ba(),_0x51474a-=0x3)),_0x3aca87<0x10000?_0x5851be['push'](_0x3aca87):(_0x3aca87-=0x10000,_0x5851be['push'](0xd800|_0x3aca87>>0xa),_0x5851be['push'](0xdc00|0x3ff&_0x3aca87));}}'function'!=typeof _0x443895&&(_0x443895=function(_0x4f2cf4){return _0x4f2cf4;}),'function'!=typeof _0x1f1c6b&&(_0x1f1c6b=function(){return _0x41ee67;});var _0xa3d678=function _0x28eb44(){var _0x5c15f2,_0x532149,_0xa2b6f8=_0x1672ba(),_0x471e98=_0xa2b6f8>>0x5,_0x25b700=0x1f&_0xa2b6f8;if(0x7===_0x471e98)switch(_0x25b700){case 0x19:return(function(){var _0x3df788=new ArrayBuffer(0x4),_0x65800=new DataView(_0x3df788),_0x4020a5=_0x27489c(),_0x10f6b0=0x8000&_0x4020a5,_0x2e0d80=0x7c00&_0x4020a5,_0x5f353d=0x3ff&_0x4020a5;if(0x7c00===_0x2e0d80)_0x2e0d80=0x3fc00;else if(0x0!==_0x2e0d80)_0x2e0d80+=0x1c000;else if(0x0!==_0x5f353d)return _0x5f353d*_0x48022d;return _0x65800['setUint32'](0x0,_0x10f6b0<<0x10|_0x2e0d80<<0xd|_0x5f353d<<0xd),_0x65800['getFloat32'](0x0);}());case 0x1a:return _0x57e258(_0x14f99c['getFloat32'](_0x332578),0x4);case 0x1b:return _0x57e258(_0x14f99c['getFloat64'](_0x332578),0x8);}if((_0x532149=_0x1f67b9(_0x25b700))<0x0&&(_0x471e98<0x2||0x6<_0x471e98))throw'Invalid\x20length';switch(_0x471e98){case 0x0:return _0x532149;case 0x1:return-0x1-_0x532149;case 0x2:if(_0x532149<0x0){for(var _0x121897=[],_0x1fed27=0x0;(_0x532149=_0x501e15(_0x471e98))>=0x0;)_0x1fed27+=_0x532149,_0x121897['push'](_0x3e4d21(_0x532149));var _0x303312=new Uint8Array(_0x1fed27),_0x643ae0=0x0;for(_0x5c15f2=0x0;_0x5c15f2<_0x121897['length'];++_0x5c15f2)_0x303312['set'](_0x121897[_0x5c15f2],_0x643ae0),_0x643ae0+=_0x121897[_0x5c15f2]['length'];return _0x303312;}return _0x3e4d21(_0x532149);case 0x3:var _0x2a9542=[];if(_0x532149<0x0)for(;(_0x532149=_0x501e15(_0x471e98))>=0x0;)_0x34e0e9(_0x2a9542,_0x532149);else _0x34e0e9(_0x2a9542,_0x532149);return String['fromCharCode']['apply'](null,_0x2a9542);case 0x4:var _0x1a4442;if(_0x532149<0x0)for(_0x1a4442=[];!_0x1d37e4();)_0x1a4442['push'](_0x28eb44());else for(_0x1a4442=new Array(_0x532149),_0x5c15f2=0x0;_0x5c15f2<_0x532149;++_0x5c15f2)_0x1a4442[_0x5c15f2]=_0x28eb44();return _0x1a4442;case 0x5:var _0x3520a6={};for(_0x5c15f2=0x0;_0x5c15f2<_0x532149||_0x532149<0x0&&!_0x1d37e4();++_0x5c15f2)_0x3520a6[_0x28eb44()]=_0x28eb44();return _0x3520a6;case 0x6:return _0x443895(_0x28eb44(),_0x532149);case 0x7:switch(_0x532149){case 0x14:return!0x1;case 0x15:return!0x0;case 0x16:return null;case 0x17:return _0x41ee67;default:return _0x1f1c6b(_0x532149);}}}();if(_0x332578!==_0x2c729a['byteLength'])throw'Remaining\x20bytes';return _0xa3d678;}},_0x88a505['exports']?_0x88a505['exports']=_0x203799:_0x3f8832['CBOR']||(_0x3f8832['CBOR']=_0x203799)),Ss['exports'];var _0x88a505,_0x3f8832,_0x41ee67,_0x48022d,_0x562173,_0x59615c,_0x203799;}var Ls,Es,Cs,js,ks,Ts,Os,Fs={'exports':{}};function Ds(){if(Cs)return Es;Cs=0x1;var _0x549468=Ms(),_0x21153b=As(),_0x1942e0=(Ls||(Ls=0x1,function(_0x5849ad){var _0x545f83=Math['pow'](0x2,0x20),_0x3ae2c2=!0x1;function _0x410a25(){_0x3ae2c2||(_0x3ae2c2=!0x0);}var _0x320847={0x40:Uint8Array,0x45:Uint16Array,0x46:Uint32Array,0x48:Int8Array,0x4d:Int16Array,0x4e:Int32Array,0x55:Float32Array,0x56:Float64Array},_0x3595ee={0x47:function(_0x370797){_0x410a25();for(var _0x9457e8=_0x370797['byteLength'],_0x3c5a4e=_0x370797['byteOffset'],_0x22ad8=_0x9457e8/0x8,_0x4f241c=_0x370797['buffer']['slice'](_0x3c5a4e,_0x3c5a4e+_0x9457e8),_0x11cb0e=new Uint32Array(_0x4f241c),_0xb276ab=new Array(_0x22ad8),_0x13a98a=0x0;_0x13a98a<_0x22ad8;_0x13a98a++){var _0x3498f9=0x2*_0x13a98a,_0x1b10c3=_0x11cb0e[_0x3498f9],_0x7bf304=_0x11cb0e[_0x3498f9+0x1];_0xb276ab[_0x13a98a]=_0x1b10c3+_0x545f83*_0x7bf304;}return _0xb276ab;},0x4f:function(_0x2a200b){_0x410a25();for(var _0x519af5=_0x2a200b['byteLength'],_0x2ee609=_0x2a200b['byteOffset'],_0x109d77=_0x519af5/0x8,_0x36b9a2=_0x2a200b['buffer']['slice'](_0x2ee609,_0x2ee609+_0x519af5),_0x3a3ee9=new Uint32Array(_0x36b9a2),_0x545e4a=new Int32Array(_0x36b9a2),_0x1cb601=new Array(_0x109d77),_0x351375=0x0;_0x351375<_0x109d77;_0x351375++){var _0x1a9af3=0x2*_0x351375,_0xc46e78=_0x3a3ee9[_0x1a9af3],_0x13c107=_0x545e4a[_0x1a9af3+0x1];_0x1cb601[_0x351375]=_0xc46e78+_0x545f83*_0x13c107;}return _0x1cb601;}};_0x5849ad['exports']&&(_0x5849ad['exports']=function(_0x6a90d9,_0xd32521){var _0xccc53a,_0x49c239,_0x1bd723,_0x424027;return _0xd32521 in _0x320847?(_0x49c239=_0x320847[_0xd32521],_0x1bd723=(_0xccc53a=_0x6a90d9)['byteLength'],_0x424027=_0xccc53a['byteOffset'],new _0x49c239(_0xccc53a['buffer']['slice'](_0x424027,_0x424027+_0x1bd723))):_0xd32521 in _0x3595ee?_0x3595ee[_0xd32521](_0x6a90d9):_0x6a90d9;});}(Fs)),Fs['exports']),_0x576808=null;return'undefined'!=typeof bson&&(_0x576808=bson()['BSON']),Es=function(_0x463c71){var _0x519034=null;function _0x499d5d(_0x190e9b){'publish'===_0x190e9b['op']?_0x463c71['emit'](_0x190e9b['topic'],_0x190e9b['msg']):'service_response'===_0x190e9b['op']?_0x463c71['emit'](_0x190e9b['id'],_0x190e9b):'call_service'===_0x190e9b['op']?_0x463c71['emit'](_0x190e9b['service'],_0x190e9b):'status'===_0x190e9b['op']&&(_0x190e9b['id']?_0x463c71['emit']('status:'+_0x190e9b['id'],_0x190e9b):_0x463c71['emit']('status',_0x190e9b));}function _0x106592(_0x55bb5c,_0x182c77){'png'===_0x55bb5c['op']?_0x549468(_0x55bb5c['data'],_0x182c77):_0x182c77(_0x55bb5c);}return _0x463c71['transportOptions']['decoder']&&(_0x519034=_0x463c71['transportOptions']['decoder']),{'onopen':function(_0x84532e){_0x463c71['isConnected']=!0x0,_0x463c71['emit']('connection',_0x84532e);},'onclose':function(_0x59c889){_0x463c71['isConnected']=!0x1,_0x463c71['emit']('close',_0x59c889);},'onerror':function(_0x11e039){_0x463c71['emit']('error',_0x11e039);},'onmessage':function(_0x2258f6){if(_0x519034)_0x519034(_0x2258f6['data'],function(_0x3d7e38){_0x499d5d(_0x3d7e38);});else if('undefined'!=typeof Blob&&_0x2258f6['data']instanceof Blob)!function(_0x9ecdc7,_0x1da84e){if(!_0x576808)throw'Cannot\x20process\x20BSON\x20encoded\x20message\x20without\x20BSON\x20header.';var _0x2ed587=new FileReader();_0x2ed587['onload']=function(){var _0x1dfa81=new Uint8Array(this['result']),_0x304818=_0x576808['deserialize'](_0x1dfa81);_0x1da84e(_0x304818);},_0x2ed587['readAsArrayBuffer'](_0x9ecdc7);}(_0x2258f6['data'],function(_0x1f36b1){_0x106592(_0x1f36b1,_0x499d5d);});else if(_0x2258f6['data']instanceof ArrayBuffer){_0x499d5d(_0x21153b['decode'](_0x2258f6['data'],_0x1942e0));}else{_0x106592(JSON['parse']('string'==typeof _0x2258f6?_0x2258f6:_0x2258f6['data']),_0x499d5d);}}};};}function Ps(){if(ks)return js;ks=0x1;var _0x377ecb=as;return js=function(_0x1d1574){_0x377ecb(this,_0x1d1574);};}function Is(){if(Os)return Ts;Os=0x1;var _0x265fdf=as;return Ts=function(_0x49d73e){_0x265fdf(this,_0x49d73e);};}var Rs,zs,Ns,Us,Vs,qs,Bs,$s,Js,Hs,Gs,Ws,Xs={'exports':{}};function Ys(){return Rs||(Rs=0x1,_0x59081e=Xs,function(_0x28fe97){var _0x46390d=Object['hasOwnProperty'],_0x12ba48=Array['isArray']?Array['isArray']:function(_0x207897){return'[object\x20Array]'===Object['prototype']['toString']['call'](_0x207897);},_0x3b3c5d='object'==typeof process&&'function'==typeof process['nextTick'],_0x83db12='function'==typeof Symbol,_0x365d4f='object'==typeof Reflect,_0x2aeeb4='function'==typeof setImmediate?setImmediate:setTimeout,_0x5a1202=_0x83db12?_0x365d4f&&'function'==typeof Reflect['ownKeys']?Reflect['ownKeys']:function(_0x4171eb){var _0x1c9efe=Object['getOwnPropertyNames'](_0x4171eb);return _0x1c9efe['push']['apply'](_0x1c9efe,Object['getOwnPropertySymbols'](_0x4171eb)),_0x1c9efe;}:Object['keys'];function _0x457e8c(){this['_events']={},this['_conf']&&_0x2c56f7['call'](this,this['_conf']);}function _0x2c56f7(_0x5db9d0){_0x5db9d0&&(this['_conf']=_0x5db9d0,_0x5db9d0['delimiter']&&(this['delimiter']=_0x5db9d0['delimiter']),_0x5db9d0['maxListeners']!==_0x28fe97&&(this['_maxListeners']=_0x5db9d0['maxListeners']),_0x5db9d0['wildcard']&&(this['wildcard']=_0x5db9d0['wildcard']),_0x5db9d0['newListener']&&(this['_newListener']=_0x5db9d0['newListener']),_0x5db9d0['removeListener']&&(this['_removeListener']=_0x5db9d0['removeListener']),_0x5db9d0['verboseMemoryLeak']&&(this['verboseMemoryLeak']=_0x5db9d0['verboseMemoryLeak']),_0x5db9d0['ignoreErrors']&&(this['ignoreErrors']=_0x5db9d0['ignoreErrors']),this['wildcard']&&(this['listenerTree']={}));}function _0x5070d0(_0x3d6615,_0x39dff9){var _0x5cf0ff='(node)\x20warning:\x20possible\x20EventEmitter\x20memory\x20leak\x20detected.\x20'+_0x3d6615+'\x20listeners\x20added.\x20Use\x20emitter.setMaxListeners()\x20to\x20increase\x20limit.';if(this['verboseMemoryLeak']&&(_0x5cf0ff+='\x20Event\x20name:\x20'+_0x39dff9+'.'),'undefined'!=typeof process&&process['emitWarning']){var _0x317ba4=new Error(_0x5cf0ff);_0x317ba4['name']='MaxListenersExceededWarning',_0x317ba4['emitter']=this,_0x317ba4['count']=_0x3d6615,process['emitWarning'](_0x317ba4);}else console['trace'];}var _0x2e6d6f=function(_0x3db2ee,_0x34f280,_0xe89a12){var _0x4f85b1=arguments['length'];switch(_0x4f85b1){case 0x0:return[];case 0x1:return[_0x3db2ee];case 0x2:return[_0x3db2ee,_0x34f280];case 0x3:return[_0x3db2ee,_0x34f280,_0xe89a12];default:for(var _0x16b1bc=new Array(_0x4f85b1);_0x4f85b1--;)_0x16b1bc[_0x4f85b1]=arguments[_0x4f85b1];return _0x16b1bc;}};function _0x190db2(_0xd00902,_0x2b8da4){for(var _0x3ab781={},_0x189a32=_0xd00902['length'],_0x3e7c7e=_0x2b8da4?_0x2b8da4['length']:0x0,_0x41c0aa=0x0;_0x41c0aa<_0x189a32;_0x41c0aa++)_0x3ab781[_0xd00902[_0x41c0aa]]=_0x41c0aa<_0x3e7c7e?_0x2b8da4[_0x41c0aa]:_0x28fe97;return _0x3ab781;}function _0x5a6269(_0x129437,_0x4ddd98,_0x3fa872){var _0x339f41,_0x3e1fb5;if(this['_emitter']=_0x129437,this['_target']=_0x4ddd98,this['_listeners']={},this['_listenersCount']=0x0,(_0x3fa872['on']||_0x3fa872['off'])&&(_0x339f41=_0x3fa872['on'],_0x3e1fb5=_0x3fa872['off']),_0x4ddd98['addEventListener']?(_0x339f41=_0x4ddd98['addEventListener'],_0x3e1fb5=_0x4ddd98['removeEventListener']):_0x4ddd98['addListener']?(_0x339f41=_0x4ddd98['addListener'],_0x3e1fb5=_0x4ddd98['removeListener']):_0x4ddd98['on']&&(_0x339f41=_0x4ddd98['on'],_0x3e1fb5=_0x4ddd98['off']),!_0x339f41&&!_0x3e1fb5)throw Error('target\x20does\x20not\x20implement\x20any\x20known\x20event\x20API');if('function'!=typeof _0x339f41)throw TypeError('on\x20method\x20must\x20be\x20a\x20function');if('function'!=typeof _0x3e1fb5)throw TypeError('off\x20method\x20must\x20be\x20a\x20function');this['_on']=_0x339f41,this['_off']=_0x3e1fb5;var _0x465a6d=_0x129437['_observers'];_0x465a6d?_0x465a6d['push'](this):_0x129437['_observers']=[this];}function _0x3da377(_0x2530cc,_0x10153d,_0x10917b,_0xcd2fa){var _0x596faf=Object['assign']({},_0x10153d);if(!_0x2530cc)return _0x596faf;if('object'!=typeof _0x2530cc)throw TypeError('options\x20must\x20be\x20an\x20object');var _0x3a6cee,_0x1eab78,_0x4888a2,_0x6f83d2=Object['keys'](_0x2530cc),_0x45a63d=_0x6f83d2['length'];function _0x266401(_0x476f15){throw Error('Invalid\x20\x22'+_0x3a6cee+'\x22\x20option\x20value'+(_0x476f15?'.\x20Reason:\x20'+_0x476f15:''));}for(var _0x65decf=0x0;_0x65decf<_0x45a63d;_0x65decf++){if(_0x3a6cee=_0x6f83d2[_0x65decf],!_0xcd2fa&&!_0x46390d['call'](_0x10153d,_0x3a6cee))throw Error('Unknown\x20\x22'+_0x3a6cee+'\x22\x20option');(_0x1eab78=_0x2530cc[_0x3a6cee])!==_0x28fe97&&(_0x4888a2=_0x10917b[_0x3a6cee],_0x596faf[_0x3a6cee]=_0x4888a2?_0x4888a2(_0x1eab78,_0x266401):_0x1eab78);}return _0x596faf;}function _0x44bd25(_0x31acb0,_0x16cd54){return'function'==typeof _0x31acb0&&_0x31acb0['hasOwnProperty']('prototype')||_0x16cd54('value\x20must\x20be\x20a\x20constructor'),_0x31acb0;}function _0x14eafc(_0x555fac){var _0x442d0b='value\x20must\x20be\x20type\x20of\x20'+_0x555fac['join']('|'),_0x24c5b7=_0x555fac['length'],_0x4ae47d=_0x555fac[0x0],_0x5b2b05=_0x555fac[0x1];return 0x1===_0x24c5b7?function(_0x8b3281,_0x8df596){if(typeof _0x8b3281===_0x4ae47d)return _0x8b3281;_0x8df596(_0x442d0b);}:0x2===_0x24c5b7?function(_0x6fe3ac,_0x551768){var _0x2b01c8=typeof _0x6fe3ac;if(_0x2b01c8===_0x4ae47d||_0x2b01c8===_0x5b2b05)return _0x6fe3ac;_0x551768(_0x442d0b);}:function(_0x2bcc92,_0xca7cc){for(var _0x1ba58e=typeof _0x2bcc92,_0x3385db=_0x24c5b7;_0x3385db-->0x0;)if(_0x1ba58e===_0x555fac[_0x3385db])return _0x2bcc92;_0xca7cc(_0x442d0b);};}Object['assign'](_0x5a6269['prototype'],{'subscribe':function(_0x8d9aba,_0x1b27f0,_0x5810b0){var _0x1a7b58=this,_0x543074=this['_target'],_0x1103e3=this['_emitter'],_0x43cb34=this['_listeners'],_0xfac23c=function(){var _0x28f7ae=_0x2e6d6f['apply'](null,arguments),_0x58648e={'data':_0x28f7ae,'name':_0x1b27f0,'original':_0x8d9aba};_0x5810b0?!0x1!==_0x5810b0['call'](_0x543074,_0x58648e)&&_0x1103e3['emit']['apply'](_0x1103e3,[_0x58648e['name']]['concat'](_0x28f7ae)):_0x1103e3['emit']['apply'](_0x1103e3,[_0x1b27f0]['concat'](_0x28f7ae));};if(_0x43cb34[_0x8d9aba])throw Error('Event\x20\x27'+_0x8d9aba+'\x27\x20is\x20already\x20listening');this['_listenersCount']++,_0x1103e3['_newListener']&&_0x1103e3['_removeListener']&&!_0x1a7b58['_onNewListener']?(this['_onNewListener']=function(_0x529776){_0x529776===_0x1b27f0&&null===_0x43cb34[_0x8d9aba]&&(_0x43cb34[_0x8d9aba]=_0xfac23c,_0x1a7b58['_on']['call'](_0x543074,_0x8d9aba,_0xfac23c));},_0x1103e3['on']('newListener',this['_onNewListener']),this['_onRemoveListener']=function(_0x2453bf){_0x2453bf===_0x1b27f0&&!_0x1103e3['hasListeners'](_0x2453bf)&&_0x43cb34[_0x8d9aba]&&(_0x43cb34[_0x8d9aba]=null,_0x1a7b58['_off']['call'](_0x543074,_0x8d9aba,_0xfac23c));},_0x43cb34[_0x8d9aba]=null,_0x1103e3['on']('removeListener',this['_onRemoveListener'])):(_0x43cb34[_0x8d9aba]=_0xfac23c,_0x1a7b58['_on']['call'](_0x543074,_0x8d9aba,_0xfac23c));},'unsubscribe':function(_0x3df6ce){var _0x2a552c,_0x36574c,_0x56162f,_0x582fb3=this,_0x3440f2=this['_listeners'],_0x5dba81=this['_emitter'],_0x550efd=this['_off'],_0x40f8ab=this['_target'];if(_0x3df6ce&&'string'!=typeof _0x3df6ce)throw TypeError('event\x20must\x20be\x20a\x20string');function _0x3de545(){_0x582fb3['_onNewListener']&&(_0x5dba81['off']('newListener',_0x582fb3['_onNewListener']),_0x5dba81['off']('removeListener',_0x582fb3['_onRemoveListener']),_0x582fb3['_onNewListener']=null,_0x582fb3['_onRemoveListener']=null);var _0x2ba5ec=_0x1a4ed1['call'](_0x5dba81,_0x582fb3);_0x5dba81['_observers']['splice'](_0x2ba5ec,0x1);}if(_0x3df6ce){if(!(_0x2a552c=_0x3440f2[_0x3df6ce]))return;_0x550efd['call'](_0x40f8ab,_0x3df6ce,_0x2a552c),delete _0x3440f2[_0x3df6ce],--this['_listenersCount']||_0x3de545();}else{for(_0x56162f=(_0x36574c=_0x5a1202(_0x3440f2))['length'];_0x56162f-->0x0;)_0x3df6ce=_0x36574c[_0x56162f],_0x550efd['call'](_0x40f8ab,_0x3df6ce,_0x3440f2[_0x3df6ce]);this['_listeners']={},this['_listenersCount']=0x0,_0x3de545();}}});var _0x3520d8=_0x14eafc(['function']),_0x835818=_0x14eafc(['object','function']);function _0x404e45(_0xccdffa,_0x42656a,_0x4353fc){var _0x1a8fa2,_0x4b35ab,_0x55ce56,_0x72c893=0x0,_0x64270b=new _0xccdffa(function(_0x107ca8,_0x44179c,_0x29179c){function _0x52012f(){_0x4b35ab&&(_0x4b35ab=null),_0x72c893&&(clearTimeout(_0x72c893),_0x72c893=0x0);}_0x4353fc=_0x3da377(_0x4353fc,{'timeout':0x0,'overload':!0x1},{'timeout':function(_0x3e837a,_0xca2428){return('number'!=typeof(_0x3e837a*=0x1)||_0x3e837a<0x0||!Number['isFinite'](_0x3e837a))&&_0xca2428('timeout\x20must\x20be\x20a\x20positive\x20number'),_0x3e837a;}}),_0x1a8fa2=!_0x4353fc['overload']&&'function'==typeof _0xccdffa['prototype']['cancel']&&'function'==typeof _0x29179c;var _0x13a622=function(_0x7cf651){_0x52012f(),_0x107ca8(_0x7cf651);},_0x2874dc=function(_0x3ff29f){_0x52012f(),_0x44179c(_0x3ff29f);};_0x1a8fa2?_0x42656a(_0x13a622,_0x2874dc,_0x29179c):(_0x4b35ab=[function(_0x1043c1){_0x2874dc(_0x1043c1||Error('canceled'));}],_0x42656a(_0x13a622,_0x2874dc,function(_0x4ad8cf){if(_0x55ce56)throw Error('Unable\x20to\x20subscribe\x20on\x20cancel\x20event\x20asynchronously');if('function'!=typeof _0x4ad8cf)throw TypeError('onCancel\x20callback\x20must\x20be\x20a\x20function');_0x4b35ab['push'](_0x4ad8cf);}),_0x55ce56=!0x0),_0x4353fc['timeout']>0x0&&(_0x72c893=setTimeout(function(){var _0x2b214d=Error('timeout');_0x2b214d['code']='ETIMEDOUT',_0x72c893=0x0,_0x64270b['cancel'](_0x2b214d),_0x44179c(_0x2b214d);},_0x4353fc['timeout']));});return _0x1a8fa2||(_0x64270b['cancel']=function(_0x1027a6){if(_0x4b35ab){for(var _0x283ebe=_0x4b35ab['length'],_0x245835=0x1;_0x245835<_0x283ebe;_0x245835++)_0x4b35ab[_0x245835](_0x1027a6);_0x4b35ab[0x0](_0x1027a6),_0x4b35ab=null;}}),_0x64270b;}function _0x1a4ed1(_0x4ea333){var _0x1782a1=this['_observers'];if(!_0x1782a1)return-0x1;for(var _0x13eee9=_0x1782a1['length'],_0x2cdbbb=0x0;_0x2cdbbb<_0x13eee9;_0x2cdbbb++)if(_0x1782a1[_0x2cdbbb]['_target']===_0x4ea333)return _0x2cdbbb;return-0x1;}function _0x240b1c(_0x53349e,_0x2e714d,_0x2f9655,_0x44c476,_0x220ca7){if(!_0x2f9655)return null;if(0x0===_0x44c476){var _0xdae0e2=typeof _0x2e714d;if('string'===_0xdae0e2){var _0x5923df,_0x17bd54,_0x600a35=0x0,_0x42de7d=0x0,_0x3499a3=this['delimiter'],_0x43be55=_0x3499a3['length'];if(-0x1!==(_0x17bd54=_0x2e714d['indexOf'](_0x3499a3))){_0x5923df=new Array(0x5);do{_0x5923df[_0x600a35++]=_0x2e714d['slice'](_0x42de7d,_0x17bd54),_0x42de7d=_0x17bd54+_0x43be55;}while(-0x1!==(_0x17bd54=_0x2e714d['indexOf'](_0x3499a3,_0x42de7d)));_0x5923df[_0x600a35++]=_0x2e714d['slice'](_0x42de7d),_0x2e714d=_0x5923df,_0x220ca7=_0x600a35;}else _0x2e714d=[_0x2e714d],_0x220ca7=0x1;}else'object'===_0xdae0e2?_0x220ca7=_0x2e714d['length']:(_0x2e714d=[_0x2e714d],_0x220ca7=0x1);}var _0x34ab5a,_0x46f5f7,_0x1a4c0f,_0x175e10,_0x166bfb,_0x41430b,_0x64e049,_0x22383c=null,_0x412e20=_0x2e714d[_0x44c476],_0x1ae628=_0x2e714d[_0x44c476+0x1];if(_0x44c476===_0x220ca7)_0x2f9655['_listeners']&&('function'==typeof _0x2f9655['_listeners']?(_0x53349e&&_0x53349e['push'](_0x2f9655['_listeners']),_0x22383c=[_0x2f9655]):(_0x53349e&&_0x53349e['push']['apply'](_0x53349e,_0x2f9655['_listeners']),_0x22383c=[_0x2f9655]));else{if('*'===_0x412e20){for(_0x17bd54=(_0x41430b=_0x5a1202(_0x2f9655))['length'];_0x17bd54-->0x0;)'_listeners'!==(_0x34ab5a=_0x41430b[_0x17bd54])&&(_0x64e049=_0x240b1c(_0x53349e,_0x2e714d,_0x2f9655[_0x34ab5a],_0x44c476+0x1,_0x220ca7))&&(_0x22383c?_0x22383c['push']['apply'](_0x22383c,_0x64e049):_0x22383c=_0x64e049);return _0x22383c;}if('**'===_0x412e20){for((_0x166bfb=_0x44c476+0x1===_0x220ca7||_0x44c476+0x2===_0x220ca7&&'*'===_0x1ae628)&&_0x2f9655['_listeners']&&(_0x22383c=_0x240b1c(_0x53349e,_0x2e714d,_0x2f9655,_0x220ca7,_0x220ca7)),_0x17bd54=(_0x41430b=_0x5a1202(_0x2f9655))['length'];_0x17bd54-->0x0;)'_listeners'!==(_0x34ab5a=_0x41430b[_0x17bd54])&&('*'===_0x34ab5a||'**'===_0x34ab5a?(_0x2f9655[_0x34ab5a]['_listeners']&&!_0x166bfb&&(_0x64e049=_0x240b1c(_0x53349e,_0x2e714d,_0x2f9655[_0x34ab5a],_0x220ca7,_0x220ca7))&&(_0x22383c?_0x22383c['push']['apply'](_0x22383c,_0x64e049):_0x22383c=_0x64e049),_0x64e049=_0x240b1c(_0x53349e,_0x2e714d,_0x2f9655[_0x34ab5a],_0x44c476,_0x220ca7)):_0x64e049=_0x240b1c(_0x53349e,_0x2e714d,_0x2f9655[_0x34ab5a],_0x34ab5a===_0x1ae628?_0x44c476+0x2:_0x44c476,_0x220ca7),_0x64e049&&(_0x22383c?_0x22383c['push']['apply'](_0x22383c,_0x64e049):_0x22383c=_0x64e049));return _0x22383c;}_0x2f9655[_0x412e20]&&(_0x22383c=_0x240b1c(_0x53349e,_0x2e714d,_0x2f9655[_0x412e20],_0x44c476+0x1,_0x220ca7));}if((_0x46f5f7=_0x2f9655['*'])&&_0x240b1c(_0x53349e,_0x2e714d,_0x46f5f7,_0x44c476+0x1,_0x220ca7),_0x1a4c0f=_0x2f9655['**'])if(_0x44c476<_0x220ca7)for(_0x1a4c0f['_listeners']&&_0x240b1c(_0x53349e,_0x2e714d,_0x1a4c0f,_0x220ca7,_0x220ca7),_0x17bd54=(_0x41430b=_0x5a1202(_0x1a4c0f))['length'];_0x17bd54-->0x0;)'_listeners'!==(_0x34ab5a=_0x41430b[_0x17bd54])&&(_0x34ab5a===_0x1ae628?_0x240b1c(_0x53349e,_0x2e714d,_0x1a4c0f[_0x34ab5a],_0x44c476+0x2,_0x220ca7):_0x34ab5a===_0x412e20?_0x240b1c(_0x53349e,_0x2e714d,_0x1a4c0f[_0x34ab5a],_0x44c476+0x1,_0x220ca7):((_0x175e10={})[_0x34ab5a]=_0x1a4c0f[_0x34ab5a],_0x240b1c(_0x53349e,_0x2e714d,{'**':_0x175e10},_0x44c476+0x1,_0x220ca7)));else _0x1a4c0f['_listeners']?_0x240b1c(_0x53349e,_0x2e714d,_0x1a4c0f,_0x220ca7,_0x220ca7):_0x1a4c0f['*']&&_0x1a4c0f['*']['_listeners']&&_0x240b1c(_0x53349e,_0x2e714d,_0x1a4c0f['*'],_0x220ca7,_0x220ca7);return _0x22383c;}function _0x42d0a2(_0x51399b,_0x5c44e8,_0x183f05){var _0x466108,_0x2307ee,_0x437a26=0x0,_0x218fa0=0x0,_0x5001c2=this['delimiter'],_0xf03fee=_0x5001c2['length'];if('string'==typeof _0x51399b)if(-0x1!==(_0x466108=_0x51399b['indexOf'](_0x5001c2))){_0x2307ee=new Array(0x5);do{_0x2307ee[_0x437a26++]=_0x51399b['slice'](_0x218fa0,_0x466108),_0x218fa0=_0x466108+_0xf03fee;}while(-0x1!==(_0x466108=_0x51399b['indexOf'](_0x5001c2,_0x218fa0)));_0x2307ee[_0x437a26++]=_0x51399b['slice'](_0x218fa0);}else _0x2307ee=[_0x51399b],_0x437a26=0x1;else _0x2307ee=_0x51399b,_0x437a26=_0x51399b['length'];if(_0x437a26>0x1)for(_0x466108=0x0;_0x466108+0x1<_0x437a26;_0x466108++)if('**'===_0x2307ee[_0x466108]&&'**'===_0x2307ee[_0x466108+0x1])return;var _0x2c1aab,_0x346d56=this['listenerTree'];for(_0x466108=0x0;_0x466108<_0x437a26;_0x466108++)if(_0x346d56=_0x346d56[_0x2c1aab=_0x2307ee[_0x466108]]||(_0x346d56[_0x2c1aab]={}),_0x466108===_0x437a26-0x1)return _0x346d56['_listeners']?('function'==typeof _0x346d56['_listeners']&&(_0x346d56['_listeners']=[_0x346d56['_listeners']]),_0x183f05?_0x346d56['_listeners']['unshift'](_0x5c44e8):_0x346d56['_listeners']['push'](_0x5c44e8),!_0x346d56['_listeners']['warned']&&this['_maxListeners']>0x0&&_0x346d56['_listeners']['length']>this['_maxListeners']&&(_0x346d56['_listeners']['warned']=!0x0,_0x5070d0['call'](this,_0x346d56['_listeners']['length'],_0x2c1aab))):_0x346d56['_listeners']=_0x5c44e8,!0x0;return!0x0;}function _0x2f720b(_0x810c2,_0x495fce,_0x5226f8,_0x3ac307){for(var _0x98d9b8,_0x4b5b3e,_0x5b9a5c,_0x48f29e,_0x558a87=_0x5a1202(_0x810c2),_0x1640a0=_0x558a87['length'],_0xdd85dc=_0x810c2['_listeners'];_0x1640a0-->0x0;)_0x98d9b8=_0x810c2[_0x4b5b3e=_0x558a87[_0x1640a0]],_0x5b9a5c='_listeners'===_0x4b5b3e?_0x5226f8:_0x5226f8?_0x5226f8['concat'](_0x4b5b3e):[_0x4b5b3e],_0x48f29e=_0x3ac307||'symbol'==typeof _0x4b5b3e,_0xdd85dc&&_0x495fce['push'](_0x48f29e?_0x5b9a5c:_0x5b9a5c['join'](this['delimiter'])),'object'==typeof _0x98d9b8&&_0x2f720b['call'](this,_0x98d9b8,_0x495fce,_0x5b9a5c,_0x48f29e);return _0x495fce;}function _0x248261(_0x435cd0){for(var _0x19f550,_0x1e0645,_0x3297c3,_0x2f6914=_0x5a1202(_0x435cd0),_0x422238=_0x2f6914['length'];_0x422238-->0x0;)(_0x19f550=_0x435cd0[_0x1e0645=_0x2f6914[_0x422238]])&&(_0x3297c3=!0x0,'_listeners'===_0x1e0645||_0x248261(_0x19f550)||delete _0x435cd0[_0x1e0645]);return _0x3297c3;}function _0x22a492(_0x102a1a,_0x23c1ec,_0x2e81e9){this['emitter']=_0x102a1a,this['event']=_0x23c1ec,this['listener']=_0x2e81e9;}function _0x5d2228(_0x2ce723,_0x20a829,_0x582f6f){if(!0x0===_0x582f6f)_0x580aad=!0x0;else if(!0x1===_0x582f6f)_0x57fa67=!0x0;else{if(!_0x582f6f||'object'!=typeof _0x582f6f)throw TypeError('options\x20should\x20be\x20an\x20object\x20or\x20true');var _0x57fa67=_0x582f6f['async'],_0x580aad=_0x582f6f['promisify'],_0x55c239=_0x582f6f['nextTick'],_0x56635d=_0x582f6f['objectify'];}if(_0x57fa67||_0x55c239||_0x580aad){var _0xf53759=_0x20a829,_0x387c3d=_0x20a829['_origin']||_0x20a829;if(_0x55c239&&!_0x3b3c5d)throw Error('process.nextTick\x20is\x20not\x20supported');_0x580aad===_0x28fe97&&(_0x580aad='AsyncFunction'===_0x20a829['constructor']['name']),_0x20a829=function(){var _0x4efff1=arguments,_0xb3caf=this,_0x70af6f=this['event'];return _0x580aad?_0x55c239?Promise['resolve']():new Promise(function(_0x108d0d){_0x2aeeb4(_0x108d0d);})['then'](function(){return _0xb3caf['event']=_0x70af6f,_0xf53759['apply'](_0xb3caf,_0x4efff1);}):(_0x55c239?process['nextTick']:_0x2aeeb4)(function(){_0xb3caf['event']=_0x70af6f,_0xf53759['apply'](_0xb3caf,_0x4efff1);});},_0x20a829['_async']=!0x0,_0x20a829['_origin']=_0x387c3d;}return[_0x20a829,_0x56635d?new _0x22a492(this,_0x2ce723,_0x20a829):this];}function _0x2a96c9(_0x569430){this['_events']={},this['_newListener']=!0x1,this['_removeListener']=!0x1,this['verboseMemoryLeak']=!0x1,_0x2c56f7['call'](this,_0x569430);}_0x22a492['prototype']['off']=function(){return this['emitter']['off'](this['event'],this['listener']),this;},_0x2a96c9['EventEmitter2']=_0x2a96c9,_0x2a96c9['prototype']['listenTo']=function(_0x386f5d,_0x3144f6,_0x1c149a){if('object'!=typeof _0x386f5d)throw TypeError('target\x20musts\x20be\x20an\x20object');var _0x56c55d=this;function _0x39414d(_0x554ce9){if('object'!=typeof _0x554ce9)throw TypeError('events\x20must\x20be\x20an\x20object');var _0x3715d5,_0x46011d=_0x1c149a['reducers'],_0x1170a7=_0x1a4ed1['call'](_0x56c55d,_0x386f5d);_0x3715d5=-0x1===_0x1170a7?new _0x5a6269(_0x56c55d,_0x386f5d,_0x1c149a):_0x56c55d['_observers'][_0x1170a7];for(var _0x2979c1,_0x2d147f=_0x5a1202(_0x554ce9),_0x4deaf4=_0x2d147f['length'],_0x50ad07='function'==typeof _0x46011d,_0x468249=0x0;_0x468249<_0x4deaf4;_0x468249++)_0x2979c1=_0x2d147f[_0x468249],_0x3715d5['subscribe'](_0x2979c1,_0x554ce9[_0x2979c1]||_0x2979c1,_0x50ad07?_0x46011d:_0x46011d&&_0x46011d[_0x2979c1]);}return _0x1c149a=_0x3da377(_0x1c149a,{'on':_0x28fe97,'off':_0x28fe97,'reducers':_0x28fe97},{'on':_0x3520d8,'off':_0x3520d8,'reducers':_0x835818}),_0x12ba48(_0x3144f6)?_0x39414d(_0x190db2(_0x3144f6)):_0x39414d('string'==typeof _0x3144f6?_0x190db2(_0x3144f6['split'](/\s+/)):_0x3144f6),this;},_0x2a96c9['prototype']['stopListeningTo']=function(_0x2977df,_0x5ea917){var _0x3a62a8=this['_observers'];if(!_0x3a62a8)return!0x1;var _0x2fd69e,_0x72fb72=_0x3a62a8['length'],_0x4243e3=!0x1;if(_0x2977df&&'object'!=typeof _0x2977df)throw TypeError('target\x20should\x20be\x20an\x20object');for(;_0x72fb72-->0x0;)_0x2fd69e=_0x3a62a8[_0x72fb72],_0x2977df&&_0x2fd69e['_target']!==_0x2977df||(_0x2fd69e['unsubscribe'](_0x5ea917),_0x4243e3=!0x0);return _0x4243e3;},_0x2a96c9['prototype']['delimiter']='.',_0x2a96c9['prototype']['setMaxListeners']=function(_0x175160){_0x175160!==_0x28fe97&&(this['_maxListeners']=_0x175160,this['_conf']||(this['_conf']={}),this['_conf']['maxListeners']=_0x175160);},_0x2a96c9['prototype']['getMaxListeners']=function(){return this['_maxListeners'];},_0x2a96c9['prototype']['event']='',_0x2a96c9['prototype']['once']=function(_0x352bc6,_0x3f53c1,_0x15661d){return this['_once'](_0x352bc6,_0x3f53c1,!0x1,_0x15661d);},_0x2a96c9['prototype']['prependOnceListener']=function(_0x101b6f,_0x402706,_0x30d856){return this['_once'](_0x101b6f,_0x402706,!0x0,_0x30d856);},_0x2a96c9['prototype']['_once']=function(_0x51e18c,_0x503ff9,_0x276d2c,_0x9d90d){return this['_many'](_0x51e18c,0x1,_0x503ff9,_0x276d2c,_0x9d90d);},_0x2a96c9['prototype']['many']=function(_0x7be2e1,_0x20a8af,_0x35d3e5,_0x3cf557){return this['_many'](_0x7be2e1,_0x20a8af,_0x35d3e5,!0x1,_0x3cf557);},_0x2a96c9['prototype']['prependMany']=function(_0x3df825,_0x44625e,_0x450399,_0x42aab7){return this['_many'](_0x3df825,_0x44625e,_0x450399,!0x0,_0x42aab7);},_0x2a96c9['prototype']['_many']=function(_0x4ec081,_0x4a72d3,_0x489568,_0x103f91,_0x130066){var _0x257780=this;if('function'!=typeof _0x489568)throw new Error('many\x20only\x20accepts\x20instances\x20of\x20Function');function _0xdd7260(){return 0x0===--_0x4a72d3&&_0x257780['off'](_0x4ec081,_0xdd7260),_0x489568['apply'](this,arguments);}return _0xdd7260['_origin']=_0x489568,this['_on'](_0x4ec081,_0xdd7260,_0x103f91,_0x130066);},_0x2a96c9['prototype']['emit']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x457e8c['call'](this);var _0x3eaac2,_0x1d9284,_0x2b0c7a,_0x3fd4f7,_0x4948d9,_0x38bac1,_0xcc4673=arguments[0x0],_0x29e36a=this['wildcard'];if('newListener'===_0xcc4673&&!this['_newListener']&&!this['_events']['newListener'])return!0x1;if(_0x29e36a&&(_0x3eaac2=_0xcc4673,'newListener'!==_0xcc4673&&'removeListener'!==_0xcc4673&&'object'==typeof _0xcc4673)){if(_0x2b0c7a=_0xcc4673['length'],_0x83db12)for(_0x3fd4f7=0x0;_0x3fd4f7<_0x2b0c7a;_0x3fd4f7++)if('symbol'==typeof _0xcc4673[_0x3fd4f7]){_0x38bac1=!0x0;break;}_0x38bac1||(_0xcc4673=_0xcc4673['join'](this['delimiter']));}var _0x310d87,_0x3f7dcb=arguments['length'];if(this['_all']&&this['_all']['length'])for(_0x3fd4f7=0x0,_0x2b0c7a=(_0x310d87=this['_all']['slice']())['length'];_0x3fd4f7<_0x2b0c7a;_0x3fd4f7++)switch(this['event']=_0xcc4673,_0x3f7dcb){case 0x1:_0x310d87[_0x3fd4f7]['call'](this,_0xcc4673);break;case 0x2:_0x310d87[_0x3fd4f7]['call'](this,_0xcc4673,arguments[0x1]);break;case 0x3:_0x310d87[_0x3fd4f7]['call'](this,_0xcc4673,arguments[0x1],arguments[0x2]);break;default:_0x310d87[_0x3fd4f7]['apply'](this,arguments);}if(_0x29e36a)_0x310d87=[],_0x240b1c['call'](this,_0x310d87,_0x3eaac2,this['listenerTree'],0x0,_0x2b0c7a);else{if('function'==typeof(_0x310d87=this['_events'][_0xcc4673])){switch(this['event']=_0xcc4673,_0x3f7dcb){case 0x1:_0x310d87['call'](this);break;case 0x2:_0x310d87['call'](this,arguments[0x1]);break;case 0x3:_0x310d87['call'](this,arguments[0x1],arguments[0x2]);break;default:for(_0x1d9284=new Array(_0x3f7dcb-0x1),_0x4948d9=0x1;_0x4948d9<_0x3f7dcb;_0x4948d9++)_0x1d9284[_0x4948d9-0x1]=arguments[_0x4948d9];_0x310d87['apply'](this,_0x1d9284);}return!0x0;}_0x310d87&&(_0x310d87=_0x310d87['slice']());}if(_0x310d87&&_0x310d87['length']){if(_0x3f7dcb>0x3)for(_0x1d9284=new Array(_0x3f7dcb-0x1),_0x4948d9=0x1;_0x4948d9<_0x3f7dcb;_0x4948d9++)_0x1d9284[_0x4948d9-0x1]=arguments[_0x4948d9];for(_0x3fd4f7=0x0,_0x2b0c7a=_0x310d87['length'];_0x3fd4f7<_0x2b0c7a;_0x3fd4f7++)switch(this['event']=_0xcc4673,_0x3f7dcb){case 0x1:_0x310d87[_0x3fd4f7]['call'](this);break;case 0x2:_0x310d87[_0x3fd4f7]['call'](this,arguments[0x1]);break;case 0x3:_0x310d87[_0x3fd4f7]['call'](this,arguments[0x1],arguments[0x2]);break;default:_0x310d87[_0x3fd4f7]['apply'](this,_0x1d9284);}return!0x0;}if(!this['ignoreErrors']&&!this['_all']&&'error'===_0xcc4673)throw arguments[0x1]instanceof Error?arguments[0x1]:new Error('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return!!this['_all'];},_0x2a96c9['prototype']['emitAsync']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x457e8c['call'](this);var _0x2a243f,_0xd891bf,_0x5f5310,_0x566b18,_0x57b455,_0x347023,_0x15a52c=arguments[0x0],_0x48ff1a=this['wildcard'];if('newListener'===_0x15a52c&&!this['_newListener']&&!this['_events']['newListener'])return Promise['resolve']([!0x1]);if(_0x48ff1a&&(_0x2a243f=_0x15a52c,'newListener'!==_0x15a52c&&'removeListener'!==_0x15a52c&&'object'==typeof _0x15a52c)){if(_0x566b18=_0x15a52c['length'],_0x83db12)for(_0x57b455=0x0;_0x57b455<_0x566b18;_0x57b455++)if('symbol'==typeof _0x15a52c[_0x57b455]){_0xd891bf=!0x0;break;}_0xd891bf||(_0x15a52c=_0x15a52c['join'](this['delimiter']));}var _0x56cde9,_0x36cf1f=[],_0x77b676=arguments['length'];if(this['_all'])for(_0x57b455=0x0,_0x566b18=this['_all']['length'];_0x57b455<_0x566b18;_0x57b455++)switch(this['event']=_0x15a52c,_0x77b676){case 0x1:_0x36cf1f['push'](this['_all'][_0x57b455]['call'](this,_0x15a52c));break;case 0x2:_0x36cf1f['push'](this['_all'][_0x57b455]['call'](this,_0x15a52c,arguments[0x1]));break;case 0x3:_0x36cf1f['push'](this['_all'][_0x57b455]['call'](this,_0x15a52c,arguments[0x1],arguments[0x2]));break;default:_0x36cf1f['push'](this['_all'][_0x57b455]['apply'](this,arguments));}if(_0x48ff1a?(_0x56cde9=[],_0x240b1c['call'](this,_0x56cde9,_0x2a243f,this['listenerTree'],0x0)):_0x56cde9=this['_events'][_0x15a52c],'function'==typeof _0x56cde9)switch(this['event']=_0x15a52c,_0x77b676){case 0x1:_0x36cf1f['push'](_0x56cde9['call'](this));break;case 0x2:_0x36cf1f['push'](_0x56cde9['call'](this,arguments[0x1]));break;case 0x3:_0x36cf1f['push'](_0x56cde9['call'](this,arguments[0x1],arguments[0x2]));break;default:for(_0x5f5310=new Array(_0x77b676-0x1),_0x347023=0x1;_0x347023<_0x77b676;_0x347023++)_0x5f5310[_0x347023-0x1]=arguments[_0x347023];_0x36cf1f['push'](_0x56cde9['apply'](this,_0x5f5310));}else if(_0x56cde9&&_0x56cde9['length']){if(_0x56cde9=_0x56cde9['slice'](),_0x77b676>0x3)for(_0x5f5310=new Array(_0x77b676-0x1),_0x347023=0x1;_0x347023<_0x77b676;_0x347023++)_0x5f5310[_0x347023-0x1]=arguments[_0x347023];for(_0x57b455=0x0,_0x566b18=_0x56cde9['length'];_0x57b455<_0x566b18;_0x57b455++)switch(this['event']=_0x15a52c,_0x77b676){case 0x1:_0x36cf1f['push'](_0x56cde9[_0x57b455]['call'](this));break;case 0x2:_0x36cf1f['push'](_0x56cde9[_0x57b455]['call'](this,arguments[0x1]));break;case 0x3:_0x36cf1f['push'](_0x56cde9[_0x57b455]['call'](this,arguments[0x1],arguments[0x2]));break;default:_0x36cf1f['push'](_0x56cde9[_0x57b455]['apply'](this,_0x5f5310));}}else if(!this['ignoreErrors']&&!this['_all']&&'error'===_0x15a52c)return arguments[0x1]instanceof Error?Promise['reject'](arguments[0x1]):Promise['reject']('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return Promise['all'](_0x36cf1f);},_0x2a96c9['prototype']['on']=function(_0x133b1e,_0x6b03de,_0x4734e4){return this['_on'](_0x133b1e,_0x6b03de,!0x1,_0x4734e4);},_0x2a96c9['prototype']['prependListener']=function(_0x46a17a,_0x5339de,_0x4a9421){return this['_on'](_0x46a17a,_0x5339de,!0x0,_0x4a9421);},_0x2a96c9['prototype']['onAny']=function(_0x4d7816){return this['_onAny'](_0x4d7816,!0x1);},_0x2a96c9['prototype']['prependAny']=function(_0x283841){return this['_onAny'](_0x283841,!0x0);},_0x2a96c9['prototype']['addListener']=_0x2a96c9['prototype']['on'],_0x2a96c9['prototype']['_onAny']=function(_0x2ad56f,_0xb14c38){if('function'!=typeof _0x2ad56f)throw new Error('onAny\x20only\x20accepts\x20instances\x20of\x20Function');return this['_all']||(this['_all']=[]),_0xb14c38?this['_all']['unshift'](_0x2ad56f):this['_all']['push'](_0x2ad56f),this;},_0x2a96c9['prototype']['_on']=function(_0x1356ca,_0x4b2e0b,_0x11334e,_0x589004){if('function'==typeof _0x1356ca)return this['_onAny'](_0x1356ca,_0x4b2e0b),this;if('function'!=typeof _0x4b2e0b)throw new Error('on\x20only\x20accepts\x20instances\x20of\x20Function');this['_events']||_0x457e8c['call'](this);var _0x3c5df1,_0x25ca2f=this;return _0x589004!==_0x28fe97&&(_0x4b2e0b=(_0x3c5df1=_0x5d2228['call'](this,_0x1356ca,_0x4b2e0b,_0x589004))[0x0],_0x25ca2f=_0x3c5df1[0x1]),this['_newListener']&&this['emit']('newListener',_0x1356ca,_0x4b2e0b),this['wildcard']?(_0x42d0a2['call'](this,_0x1356ca,_0x4b2e0b,_0x11334e),_0x25ca2f):(this['_events'][_0x1356ca]?('function'==typeof this['_events'][_0x1356ca]&&(this['_events'][_0x1356ca]=[this['_events'][_0x1356ca]]),_0x11334e?this['_events'][_0x1356ca]['unshift'](_0x4b2e0b):this['_events'][_0x1356ca]['push'](_0x4b2e0b),!this['_events'][_0x1356ca]['warned']&&this['_maxListeners']>0x0&&this['_events'][_0x1356ca]['length']>this['_maxListeners']&&(this['_events'][_0x1356ca]['warned']=!0x0,_0x5070d0['call'](this,this['_events'][_0x1356ca]['length'],_0x1356ca))):this['_events'][_0x1356ca]=_0x4b2e0b,_0x25ca2f);},_0x2a96c9['prototype']['off']=function(_0x528a35,_0x26603f){if('function'!=typeof _0x26603f)throw new Error('removeListener\x20only\x20takes\x20instances\x20of\x20Function');var _0x4cdc93,_0x6cc6b2=[];if(this['wildcard']){var _0x32adbb='string'==typeof _0x528a35?_0x528a35['split'](this['delimiter']):_0x528a35['slice']();if(!(_0x6cc6b2=_0x240b1c['call'](this,null,_0x32adbb,this['listenerTree'],0x0)))return this;}else{if(!this['_events'][_0x528a35])return this;_0x4cdc93=this['_events'][_0x528a35],_0x6cc6b2['push']({'_listeners':_0x4cdc93});}for(var _0x5e2d95=0x0;_0x5e2d95<_0x6cc6b2['length'];_0x5e2d95++){var _0x4f17c1=_0x6cc6b2[_0x5e2d95];if(_0x4cdc93=_0x4f17c1['_listeners'],_0x12ba48(_0x4cdc93)){for(var _0x240d6b=-0x1,_0x5d6cce=0x0,_0x5afc0a=_0x4cdc93['length'];_0x5d6cce<_0x5afc0a;_0x5d6cce++)if(_0x4cdc93[_0x5d6cce]===_0x26603f||_0x4cdc93[_0x5d6cce]['listener']&&_0x4cdc93[_0x5d6cce]['listener']===_0x26603f||_0x4cdc93[_0x5d6cce]['_origin']&&_0x4cdc93[_0x5d6cce]['_origin']===_0x26603f){_0x240d6b=_0x5d6cce;break;}if(_0x240d6b<0x0)continue;return this['wildcard']?_0x4f17c1['_listeners']['splice'](_0x240d6b,0x1):this['_events'][_0x528a35]['splice'](_0x240d6b,0x1),0x0===_0x4cdc93['length']&&(this['wildcard']?delete _0x4f17c1['_listeners']:delete this['_events'][_0x528a35]),this['_removeListener']&&this['emit']('removeListener',_0x528a35,_0x26603f),this;}(_0x4cdc93===_0x26603f||_0x4cdc93['listener']&&_0x4cdc93['listener']===_0x26603f||_0x4cdc93['_origin']&&_0x4cdc93['_origin']===_0x26603f)&&(this['wildcard']?delete _0x4f17c1['_listeners']:delete this['_events'][_0x528a35],this['_removeListener']&&this['emit']('removeListener',_0x528a35,_0x26603f));}return this['listenerTree']&&_0x248261(this['listenerTree']),this;},_0x2a96c9['prototype']['offAny']=function(_0x42948f){var _0x6a946e,_0x59e940=0x0,_0x4834f9=0x0;if(_0x42948f&&this['_all']&&this['_all']['length']>0x0){for(_0x59e940=0x0,_0x4834f9=(_0x6a946e=this['_all'])['length'];_0x59e940<_0x4834f9;_0x59e940++)if(_0x42948f===_0x6a946e[_0x59e940])return _0x6a946e['splice'](_0x59e940,0x1),this['_removeListener']&&this['emit']('removeListenerAny',_0x42948f),this;}else{if(_0x6a946e=this['_all'],this['_removeListener'])for(_0x59e940=0x0,_0x4834f9=_0x6a946e['length'];_0x59e940<_0x4834f9;_0x59e940++)this['emit']('removeListenerAny',_0x6a946e[_0x59e940]);this['_all']=[];}return this;},_0x2a96c9['prototype']['removeListener']=_0x2a96c9['prototype']['off'],_0x2a96c9['prototype']['removeAllListeners']=function(_0x2d8d5c){if(_0x2d8d5c===_0x28fe97)return!this['_events']||_0x457e8c['call'](this),this;if(this['wildcard']){var _0x537aa5,_0x21cf6f=_0x240b1c['call'](this,null,_0x2d8d5c,this['listenerTree'],0x0);if(!_0x21cf6f)return this;for(_0x537aa5=0x0;_0x537aa5<_0x21cf6f['length'];_0x537aa5++)_0x21cf6f[_0x537aa5]['_listeners']=null;this['listenerTree']&&_0x248261(this['listenerTree']);}else this['_events']&&(this['_events'][_0x2d8d5c]=null);return this;},_0x2a96c9['prototype']['listeners']=function(_0x3e0593){var _0x3d0904,_0x453f5a,_0x5ecac1,_0x536938,_0x580ab1,_0xe22ae9=this['_events'];if(_0x3e0593===_0x28fe97){if(this['wildcard'])throw Error('event\x20name\x20required\x20for\x20wildcard\x20emitter');if(!_0xe22ae9)return[];for(_0x536938=(_0x3d0904=_0x5a1202(_0xe22ae9))['length'],_0x5ecac1=[];_0x536938-->0x0;)'function'==typeof(_0x453f5a=_0xe22ae9[_0x3d0904[_0x536938]])?_0x5ecac1['push'](_0x453f5a):_0x5ecac1['push']['apply'](_0x5ecac1,_0x453f5a);return _0x5ecac1;}if(this['wildcard']){if(!(_0x580ab1=this['listenerTree']))return[];var _0x565d15=[],_0x197f24='string'==typeof _0x3e0593?_0x3e0593['split'](this['delimiter']):_0x3e0593['slice']();return _0x240b1c['call'](this,_0x565d15,_0x197f24,_0x580ab1,0x0),_0x565d15;}return _0xe22ae9&&(_0x453f5a=_0xe22ae9[_0x3e0593])?'function'==typeof _0x453f5a?[_0x453f5a]:_0x453f5a:[];},_0x2a96c9['prototype']['eventNames']=function(_0x7de1c9){var _0x47e349=this['_events'];return this['wildcard']?_0x2f720b['call'](this,this['listenerTree'],[],null,_0x7de1c9):_0x47e349?_0x5a1202(_0x47e349):[];},_0x2a96c9['prototype']['listenerCount']=function(_0x341453){return this['listeners'](_0x341453)['length'];},_0x2a96c9['prototype']['hasListeners']=function(_0x708996){if(this['wildcard']){var _0x108ee0=[],_0xd5c549='string'==typeof _0x708996?_0x708996['split'](this['delimiter']):_0x708996['slice']();return _0x240b1c['call'](this,_0x108ee0,_0xd5c549,this['listenerTree'],0x0),_0x108ee0['length']>0x0;}var _0x5a6b7d=this['_events'],_0x4534c0=this['_all'];return!!(_0x4534c0&&_0x4534c0['length']||_0x5a6b7d&&(_0x708996===_0x28fe97?_0x5a1202(_0x5a6b7d)['length']:_0x5a6b7d[_0x708996]));},_0x2a96c9['prototype']['listenersAny']=function(){return this['_all']?this['_all']:[];},_0x2a96c9['prototype']['waitFor']=function(_0x4d71c4,_0x2bb3de){var _0x54c8c9=this,_0x247e0f=typeof _0x2bb3de;return'number'===_0x247e0f?_0x2bb3de={'timeout':_0x2bb3de}:'function'===_0x247e0f&&(_0x2bb3de={'filter':_0x2bb3de}),_0x404e45((_0x2bb3de=_0x3da377(_0x2bb3de,{'timeout':0x0,'filter':_0x28fe97,'handleError':!0x1,'Promise':Promise,'overload':!0x1},{'filter':_0x3520d8,'Promise':_0x44bd25}))['Promise'],function(_0x3e0c49,_0x40ad65,_0x262735){function _0x36014(){var _0x29d5dc=_0x2bb3de['filter'];if(!_0x29d5dc||_0x29d5dc['apply'](_0x54c8c9,arguments))if(_0x54c8c9['off'](_0x4d71c4,_0x36014),_0x2bb3de['handleError']){var _0x188254=arguments[0x0];_0x188254?_0x40ad65(_0x188254):_0x3e0c49(_0x2e6d6f['apply'](null,arguments)['slice'](0x1));}else _0x3e0c49(_0x2e6d6f['apply'](null,arguments));}_0x262735(function(){_0x54c8c9['off'](_0x4d71c4,_0x36014);}),_0x54c8c9['_on'](_0x4d71c4,_0x36014,!0x1);},{'timeout':_0x2bb3de['timeout'],'overload':_0x2bb3de['overload']});};var _0x5b7c71=_0x2a96c9['prototype'];Object['defineProperties'](_0x2a96c9,{'defaultMaxListeners':{'get':function(){return _0x5b7c71['_maxListeners'];},'set':function(_0x2f95af){if('number'!=typeof _0x2f95af||_0x2f95af<0x0||Number['isNaN'](_0x2f95af))throw TypeError('n\x20must\x20be\x20a\x20non-negative\x20number');_0x5b7c71['_maxListeners']=_0x2f95af;},'enumerable':!0x0},'once':{'value':function(_0xbeba7a,_0xbc1926,_0x3e6f87){return _0x404e45((_0x3e6f87=_0x3da377(_0x3e6f87,{'Promise':Promise,'timeout':0x0,'overload':!0x1},{'Promise':_0x44bd25}))['Promise'],function(_0x23922e,_0x5ecd84,_0x51d19b){var _0x8fefda;if('function'==typeof _0xbeba7a['addEventListener'])return _0x8fefda=function(){_0x23922e(_0x2e6d6f['apply'](null,arguments));},_0x51d19b(function(){_0xbeba7a['removeEventListener'](_0xbc1926,_0x8fefda);}),void _0xbeba7a['addEventListener'](_0xbc1926,_0x8fefda,{'once':!0x0});var _0x32eb12,_0x57e4a1=function(){_0x32eb12&&_0xbeba7a['removeListener']('error',_0x32eb12),_0x23922e(_0x2e6d6f['apply'](null,arguments));};'error'!==_0xbc1926&&(_0x32eb12=function(_0x277377){_0xbeba7a['removeListener'](_0xbc1926,_0x57e4a1),_0x5ecd84(_0x277377);},_0xbeba7a['once']('error',_0x32eb12)),_0x51d19b(function(){_0x32eb12&&_0xbeba7a['removeListener']('error',_0x32eb12),_0xbeba7a['removeListener'](_0xbc1926,_0x57e4a1);}),_0xbeba7a['once'](_0xbc1926,_0x57e4a1);},{'timeout':_0x3e6f87['timeout'],'overload':_0x3e6f87['overload']});},'writable':!0x0,'configurable':!0x0}}),Object['defineProperties'](_0x5b7c71,{'_maxListeners':{'value':0xa,'writable':!0x0,'configurable':!0x0},'_observers':{'value':null,'writable':!0x0,'configurable':!0x0}}),_0x59081e['exports']=_0x2a96c9;}()),Xs['exports'];var _0x59081e;}function Zs(){if(Ns)return zs;Ns=0x1;var _0xe093c8=Ps();Is();var _0x54b62f=Ys()['EventEmitter2'];function _0x4248cc(_0x341bce){_0x341bce=_0x341bce||{},this['ros']=_0x341bce['ros'],this['name']=_0x341bce['name'],this['serviceType']=_0x341bce['serviceType'],this['isAdvertised']=!0x1,this['_serviceCallback']=null;}return _0x4248cc['prototype']['__proto__']=_0x54b62f['prototype'],_0x4248cc['prototype']['callService']=function(_0x4d6003,_0x46a621,_0xc7980){if(!this['isAdvertised']){var _0x2cc584='call_service:'+this['name']+':'+ ++this['ros']['idCounter'];(_0x46a621||_0xc7980)&&this['ros']['once'](_0x2cc584,function(_0x5864a2){void 0x0!==_0x5864a2['result']&&!0x1===_0x5864a2['result']?'function'==typeof _0xc7980&&_0xc7980(_0x5864a2['values']):'function'==typeof _0x46a621&&_0x46a621(new _0xe093c8(_0x5864a2['values']));});var _0x586815={'op':'call_service','id':_0x2cc584,'service':this['name'],'type':this['serviceType'],'args':_0x4d6003};this['ros']['callOnConnection'](_0x586815);}},_0x4248cc['prototype']['advertise']=function(_0x3683cf){this['isAdvertised']||'function'!=typeof _0x3683cf||(this['_serviceCallback']=_0x3683cf,this['ros']['on'](this['name'],this['_serviceResponse']['bind'](this)),this['ros']['callOnConnection']({'op':'advertise_service','type':this['serviceType'],'service':this['name']}),this['isAdvertised']=!0x0);},_0x4248cc['prototype']['unadvertise']=function(){this['isAdvertised']&&(this['ros']['callOnConnection']({'op':'unadvertise_service','service':this['name']}),this['isAdvertised']=!0x1);},_0x4248cc['prototype']['_serviceResponse']=function(_0x16bb09){var _0x7635af={},_0x1fd780=this['_serviceCallback'](_0x16bb09['args'],_0x7635af),_0x56f78e={'op':'service_response','service':this['name'],'values':new _0xe093c8(_0x7635af),'result':_0x1fd780};_0x16bb09['id']&&(_0x56f78e['id']=_0x16bb09['id']),this['ros']['callOnConnection'](_0x56f78e);},zs=_0x4248cc;}function Qs(){if(Vs)return Us;Vs=0x1;var _0x324643=cs(),_0x219c40=xs(),_0x8eeb08=Ds(),_0x2503a0=Zs(),_0x217c49=Is(),_0x44c904=as,_0x13733a=Ys()['EventEmitter2'];function _0x535709(_0x3df2f8){_0x3df2f8=_0x3df2f8||{};var _0x5697b0=this;this['socket']=null,this['idCounter']=0x0,this['isConnected']=!0x1,this['transportLibrary']=_0x3df2f8['transportLibrary']||'websocket',this['transportOptions']=_0x3df2f8['transportOptions']||{},this['_sendFunc']=function(_0x4b3641){_0x5697b0['sendEncodedMessage'](_0x4b3641);},void 0x0===_0x3df2f8['groovyCompatibility']?this['groovyCompatibility']=!0x0:this['groovyCompatibility']=_0x3df2f8['groovyCompatibility'],this['setMaxListeners'](0x0),_0x3df2f8['url']&&this['connect'](_0x3df2f8['url']);}return _0x535709['prototype']['__proto__']=_0x13733a['prototype'],_0x535709['prototype']['connect']=function(_0x1b904d){if('socket.io'===this['transportLibrary'])this['socket']=_0x44c904(io(_0x1b904d,{'force\x20new\x20connection':!0x0}),_0x8eeb08(this)),this['socket']['on']('connect',this['socket']['onopen']),this['socket']['on']('data',this['socket']['onmessage']),this['socket']['on']('close',this['socket']['onclose']),this['socket']['on']('error',this['socket']['onerror']);else if('RTCPeerConnection'===this['transportLibrary']['constructor']['name'])this['socket']=_0x44c904(this['transportLibrary']['createDataChannel'](_0x1b904d,this['transportOptions']),_0x8eeb08(this));else if('websocket'===this['transportLibrary']){if(!this['socket']||this['socket']['readyState']===_0x324643['CLOSED']){var _0x8d4bd6=new _0x324643(_0x1b904d);_0x8d4bd6['binaryType']='arraybuffer',this['socket']=_0x44c904(_0x8d4bd6,_0x8eeb08(this));}}else{if('workersocket'!==this['transportLibrary'])throw'Unknown\x20transportLibrary:\x20'+this['transportLibrary']['toString']();this['socket']=_0x44c904(new _0x219c40(_0x1b904d),_0x8eeb08(this));}},_0x535709['prototype']['close']=function(){this['socket']&&this['socket']['close']();},_0x535709['prototype']['authenticate']=function(_0x3c837a,_0x54fd96,_0x2de848,_0x18892f,_0x424137,_0x5cc39e,_0xc7719d){var _0x594015={'op':'auth','mac':_0x3c837a,'client':_0x54fd96,'dest':_0x2de848,'rand':_0x18892f,'t':_0x424137,'level':_0x5cc39e,'end':_0xc7719d};this['callOnConnection'](_0x594015);},_0x535709['prototype']['sendEncodedMessage']=function(_0x35e362){var _0x325ddd=null,_0x580442=this;_0x325ddd='socket.io'===this['transportLibrary']?function(_0x1d600d){_0x580442['socket']['emit']('operation',_0x1d600d);}:function(_0x535fd9){_0x580442['socket']['send'](_0x535fd9);},this['isConnected']?_0x325ddd(_0x35e362):_0x580442['once']('connection',function(){_0x325ddd(_0x35e362);});},_0x535709['prototype']['callOnConnection']=function(_0x4856b5){this['transportOptions']['encoder']?this['transportOptions']['encoder'](_0x4856b5,this['_sendFunc']):this['_sendFunc'](JSON['stringify'](_0x4856b5));},_0x535709['prototype']['setStatusLevel']=function(_0x2fc9f2,_0xd928ce){var _0x5c56b7={'op':'set_level','level':_0x2fc9f2,'id':_0xd928ce};this['callOnConnection'](_0x5c56b7);},_0x535709['prototype']['getActionServers']=function(_0xcbfe80,_0x4b0a1f){var _0x6bc302=new _0x2503a0({'ros':this,'name':'/rosapi/action_servers','serviceType':'rosapi/GetActionServers'}),_0xd049c6=new _0x217c49({});'function'==typeof _0x4b0a1f?_0x6bc302['callService'](_0xd049c6,function(_0x219356){_0xcbfe80(_0x219356['action_servers']);},function(_0x27ad74){_0x4b0a1f(_0x27ad74);}):_0x6bc302['callService'](_0xd049c6,function(_0x8b5ed9){_0xcbfe80(_0x8b5ed9['action_servers']);});},_0x535709['prototype']['getTopics']=function(_0x802990,_0x55cbe5){var _0x44e98c=new _0x2503a0({'ros':this,'name':'/rosapi/topics','serviceType':'rosapi/Topics'}),_0x5bf499=new _0x217c49();'function'==typeof _0x55cbe5?_0x44e98c['callService'](_0x5bf499,function(_0x33f8f5){_0x802990(_0x33f8f5);},function(_0x1ee373){_0x55cbe5(_0x1ee373);}):_0x44e98c['callService'](_0x5bf499,function(_0x688379){_0x802990(_0x688379);});},_0x535709['prototype']['getTopicsForType']=function(_0xc5c8d5,_0x19ac1c,_0x29368b){var _0x585fd6=new _0x2503a0({'ros':this,'name':'/rosapi/topics_for_type','serviceType':'rosapi/TopicsForType'}),_0x10ee97=new _0x217c49({'type':_0xc5c8d5});'function'==typeof _0x29368b?_0x585fd6['callService'](_0x10ee97,function(_0x483ad7){_0x19ac1c(_0x483ad7['topics']);},function(_0x44f523){_0x29368b(_0x44f523);}):_0x585fd6['callService'](_0x10ee97,function(_0x4da0c5){_0x19ac1c(_0x4da0c5['topics']);});},_0x535709['prototype']['getServices']=function(_0x18304b,_0x6c257c){var _0x57d060=new _0x2503a0({'ros':this,'name':'/rosapi/services','serviceType':'rosapi/Services'}),_0x39ddce=new _0x217c49();'function'==typeof _0x6c257c?_0x57d060['callService'](_0x39ddce,function(_0x15d7af){_0x18304b(_0x15d7af['services']);},function(_0x2b2886){_0x6c257c(_0x2b2886);}):_0x57d060['callService'](_0x39ddce,function(_0x527d52){_0x18304b(_0x527d52['services']);});},_0x535709['prototype']['getServicesForType']=function(_0x578d84,_0x19064a,_0x3ed75d){var _0x269e2d=new _0x2503a0({'ros':this,'name':'/rosapi/services_for_type','serviceType':'rosapi/ServicesForType'}),_0x285031=new _0x217c49({'type':_0x578d84});'function'==typeof _0x3ed75d?_0x269e2d['callService'](_0x285031,function(_0x296437){_0x19064a(_0x296437['services']);},function(_0x20a7ad){_0x3ed75d(_0x20a7ad);}):_0x269e2d['callService'](_0x285031,function(_0x3b28b9){_0x19064a(_0x3b28b9['services']);});},_0x535709['prototype']['getServiceRequestDetails']=function(_0x15dfcd,_0x196b6e,_0x1effa1){var _0x1cf78b=new _0x2503a0({'ros':this,'name':'/rosapi/service_request_details','serviceType':'rosapi/ServiceRequestDetails'}),_0x324ff1=new _0x217c49({'type':_0x15dfcd});'function'==typeof _0x1effa1?_0x1cf78b['callService'](_0x324ff1,function(_0x3fb825){_0x196b6e(_0x3fb825);},function(_0x47c3d7){_0x1effa1(_0x47c3d7);}):_0x1cf78b['callService'](_0x324ff1,function(_0x5268e9){_0x196b6e(_0x5268e9);});},_0x535709['prototype']['getServiceResponseDetails']=function(_0x16e46f,_0x5277b9,_0x24b0e1){var _0x33c0dc=new _0x2503a0({'ros':this,'name':'/rosapi/service_response_details','serviceType':'rosapi/ServiceResponseDetails'}),_0xd1f868=new _0x217c49({'type':_0x16e46f});'function'==typeof _0x24b0e1?_0x33c0dc['callService'](_0xd1f868,function(_0x20d9d3){_0x5277b9(_0x20d9d3);},function(_0x25ce79){_0x24b0e1(_0x25ce79);}):_0x33c0dc['callService'](_0xd1f868,function(_0x205e78){_0x5277b9(_0x205e78);});},_0x535709['prototype']['getNodes']=function(_0x37dbe2,_0x55b22f){var _0x3a1c60=new _0x2503a0({'ros':this,'name':'/rosapi/nodes','serviceType':'rosapi/Nodes'}),_0x31e1a5=new _0x217c49();'function'==typeof _0x55b22f?_0x3a1c60['callService'](_0x31e1a5,function(_0x129ffc){_0x37dbe2(_0x129ffc['nodes']);},function(_0x5dbef2){_0x55b22f(_0x5dbef2);}):_0x3a1c60['callService'](_0x31e1a5,function(_0x22773f){_0x37dbe2(_0x22773f['nodes']);});},_0x535709['prototype']['getNodeDetails']=function(_0x89c7a2,_0x5ba9d4,_0x134204){var _0x367cf5=new _0x2503a0({'ros':this,'name':'/rosapi/node_details','serviceType':'rosapi/NodeDetails'}),_0x518859=new _0x217c49({'node':_0x89c7a2});'function'==typeof _0x134204?_0x367cf5['callService'](_0x518859,function(_0x4650bd){_0x5ba9d4(_0x4650bd['subscribing'],_0x4650bd['publishing'],_0x4650bd['services']);},function(_0x397138){_0x134204(_0x397138);}):_0x367cf5['callService'](_0x518859,function(_0x12ecfe){_0x5ba9d4(_0x12ecfe);});},_0x535709['prototype']['getParams']=function(_0x838a82,_0x4fa550){var _0x2683d8=new _0x2503a0({'ros':this,'name':'/rosapi/get_param_names','serviceType':'rosapi/GetParamNames'}),_0x5bfd64=new _0x217c49();'function'==typeof _0x4fa550?_0x2683d8['callService'](_0x5bfd64,function(_0x2daf0c){_0x838a82(_0x2daf0c['names']);},function(_0x4a724a){_0x4fa550(_0x4a724a);}):_0x2683d8['callService'](_0x5bfd64,function(_0x49c311){_0x838a82(_0x49c311['names']);});},_0x535709['prototype']['getTopicType']=function(_0x44a8b5,_0xe0cd66,_0x24aa24){var _0x3d4490=new _0x2503a0({'ros':this,'name':'/rosapi/topic_type','serviceType':'rosapi/TopicType'}),_0x22ab01=new _0x217c49({'topic':_0x44a8b5});'function'==typeof _0x24aa24?_0x3d4490['callService'](_0x22ab01,function(_0x4f8803){_0xe0cd66(_0x4f8803['type']);},function(_0x45cc20){_0x24aa24(_0x45cc20);}):_0x3d4490['callService'](_0x22ab01,function(_0x1d94ce){_0xe0cd66(_0x1d94ce['type']);});},_0x535709['prototype']['getServiceType']=function(_0x312923,_0x196277,_0x937e68){var _0x3dea8d=new _0x2503a0({'ros':this,'name':'/rosapi/service_type','serviceType':'rosapi/ServiceType'}),_0x4138e8=new _0x217c49({'service':_0x312923});'function'==typeof _0x937e68?_0x3dea8d['callService'](_0x4138e8,function(_0x41a70f){_0x196277(_0x41a70f['type']);},function(_0xde9b04){_0x937e68(_0xde9b04);}):_0x3dea8d['callService'](_0x4138e8,function(_0x2645d3){_0x196277(_0x2645d3['type']);});},_0x535709['prototype']['getMessageDetails']=function(_0x54513b,_0x3e9638,_0x2f8da9){var _0x17788e=new _0x2503a0({'ros':this,'name':'/rosapi/message_details','serviceType':'rosapi/MessageDetails'}),_0x1b5060=new _0x217c49({'type':_0x54513b});'function'==typeof _0x2f8da9?_0x17788e['callService'](_0x1b5060,function(_0x46a65a){_0x3e9638(_0x46a65a['typedefs']);},function(_0x3ceb53){_0x2f8da9(_0x3ceb53);}):_0x17788e['callService'](_0x1b5060,function(_0xae7181){_0x3e9638(_0xae7181['typedefs']);});},_0x535709['prototype']['decodeTypeDefs']=function(_0x6fcb83){var _0x22b937=this,_0x378bb1=function(_0x3863c2,_0x4f62ce){for(var _0x9cbfef={},_0x2d27d4=0x0;_0x2d27d4<_0x3863c2['fieldnames']['length'];_0x2d27d4++){var _0x5d951a=_0x3863c2['fieldarraylen'][_0x2d27d4],_0x1be376=_0x3863c2['fieldnames'][_0x2d27d4],_0x5e0529=_0x3863c2['fieldtypes'][_0x2d27d4];if(-0x1===_0x5e0529['indexOf']('/'))_0x9cbfef[_0x1be376]=-0x1===_0x5d951a?_0x5e0529:[_0x5e0529];else{for(var _0x36e65a=!0x1,_0x44ac85=0x0;_0x44ac85<_0x4f62ce['length'];_0x44ac85++)if(_0x4f62ce[_0x44ac85]['type']['toString']()===_0x5e0529['toString']()){_0x36e65a=_0x4f62ce[_0x44ac85];break;}if(_0x36e65a){var _0x337a66=_0x378bb1(_0x36e65a,_0x4f62ce);_0x9cbfef[_0x1be376]=-0x1===_0x5d951a?_0x337a66:[_0x337a66];}else _0x22b937['emit']('error','Cannot\x20find\x20'+_0x5e0529+'\x20in\x20decodeTypeDefs');}}return _0x9cbfef;};return _0x378bb1(_0x6fcb83[0x0],_0x6fcb83);},_0x535709['prototype']['getTopicsAndRawTypes']=function(_0x57e823,_0x35f674){var _0x2c1726=new _0x2503a0({'ros':this,'name':'/rosapi/topics_and_raw_types','serviceType':'rosapi/TopicsAndRawTypes'}),_0x23ccdc=new _0x217c49();'function'==typeof _0x35f674?_0x2c1726['callService'](_0x23ccdc,function(_0x23e68a){_0x57e823(_0x23e68a);},function(_0x5aa889){_0x35f674(_0x5aa889);}):_0x2c1726['callService'](_0x23ccdc,function(_0x2b1e84){_0x57e823(_0x2b1e84);});},Us=_0x535709;}function Ks(){if(Bs)return qs;Bs=0x1;var _0x338ea3=as;return qs=function(_0xf6dac4){_0x338ea3(this,_0xf6dac4);};}function er(){if(Js)return $s;Js=0x1;var _0x25a98b=Ys()['EventEmitter2'],_0x446a19=Ks();function _0x34b8e8(_0x2d1a92){_0x2d1a92=_0x2d1a92||{},this['ros']=_0x2d1a92['ros'],this['name']=_0x2d1a92['name'],this['messageType']=_0x2d1a92['messageType'],this['isAdvertised']=!0x1,this['compression']=_0x2d1a92['compression']||'none',this['throttle_rate']=_0x2d1a92['throttle_rate']||0x0,this['latch']=_0x2d1a92['latch']||!0x1,this['queue_size']=_0x2d1a92['queue_size']||0x64,this['queue_length']=_0x2d1a92['queue_length']||0x0,this['reconnect_on_close']=void 0x0===_0x2d1a92['reconnect_on_close']||_0x2d1a92['reconnect_on_close'],this['compression']&&'png'!==this['compression']&&'cbor'!==this['compression']&&'cbor-raw'!==this['compression']&&'none'!==this['compression']&&(this['emit']('warning',this['compression']+'\x20compression\x20is\x20not\x20supported.\x20No\x20compression\x20will\x20be\x20used.'),this['compression']='none'),this['throttle_rate']<0x0&&(this['emit']('warning',this['throttle_rate']+'\x20is\x20not\x20allowed.\x20Set\x20to\x200'),this['throttle_rate']=0x0);var _0x505fd0=this;this['reconnect_on_close']?this['callForSubscribeAndAdvertise']=function(_0x2055ea){_0x505fd0['ros']['callOnConnection'](_0x2055ea),_0x505fd0['waitForReconnect']=!0x1,_0x505fd0['reconnectFunc']=function(){_0x505fd0['waitForReconnect']||(_0x505fd0['waitForReconnect']=!0x0,_0x505fd0['ros']['callOnConnection'](_0x2055ea),_0x505fd0['ros']['once']('connection',function(){_0x505fd0['waitForReconnect']=!0x1;}));},_0x505fd0['ros']['on']('close',_0x505fd0['reconnectFunc']);}:this['callForSubscribeAndAdvertise']=this['ros']['callOnConnection'],this['_messageCallback']=function(_0x4a97e9){_0x505fd0['emit']('message',new _0x446a19(_0x4a97e9));};}return _0x34b8e8['prototype']['__proto__']=_0x25a98b['prototype'],_0x34b8e8['prototype']['subscribe']=function(_0x1a3a07){'function'==typeof _0x1a3a07&&this['on']('message',_0x1a3a07),this['subscribeId']||(this['ros']['on'](this['name'],this['_messageCallback']),this['subscribeId']='subscribe:'+this['name']+':'+ ++this['ros']['idCounter'],this['callForSubscribeAndAdvertise']({'op':'subscribe','id':this['subscribeId'],'type':this['messageType'],'topic':this['name'],'compression':this['compression'],'throttle_rate':this['throttle_rate'],'queue_length':this['queue_length']}));},_0x34b8e8['prototype']['unsubscribe']=function(_0x32d2f2){_0x32d2f2&&(this['off']('message',_0x32d2f2),this['listeners']('message')['length'])||this['subscribeId']&&(this['ros']['off'](this['name'],this['_messageCallback']),this['reconnect_on_close']&&this['ros']['off']('close',this['reconnectFunc']),this['emit']('unsubscribe'),this['ros']['callOnConnection']({'op':'unsubscribe','id':this['subscribeId'],'topic':this['name']}),this['subscribeId']=null);},_0x34b8e8['prototype']['advertise']=function(){if(!this['isAdvertised']&&(this['advertiseId']='advertise:'+this['name']+':'+ ++this['ros']['idCounter'],this['callForSubscribeAndAdvertise']({'op':'advertise','id':this['advertiseId'],'type':this['messageType'],'topic':this['name'],'latch':this['latch'],'queue_size':this['queue_size']}),this['isAdvertised']=!0x0,!this['reconnect_on_close'])){var _0x5886a6=this;this['ros']['on']('close',function(){_0x5886a6['isAdvertised']=!0x1;});}},_0x34b8e8['prototype']['unadvertise']=function(){this['isAdvertised']&&(this['reconnect_on_close']&&this['ros']['off']('close',this['reconnectFunc']),this['emit']('unadvertise'),this['ros']['callOnConnection']({'op':'unadvertise','id':this['advertiseId'],'topic':this['name']}),this['isAdvertised']=!0x1);},_0x34b8e8['prototype']['publish']=function(_0x1a9dab){this['isAdvertised']||this['advertise'](),this['ros']['idCounter']++;var _0x4342a4={'op':'publish','id':'publish:'+this['name']+':'+this['ros']['idCounter'],'topic':this['name'],'msg':_0x1a9dab,'latch':this['latch']};this['ros']['callOnConnection'](_0x4342a4);},$s=_0x34b8e8;}function tr(){if(Gs)return Hs;Gs=0x1;var _0xc1f664=Zs(),_0xb1f145=Is();function _0x326ad1(_0x3a6643){_0x3a6643=_0x3a6643||{},this['ros']=_0x3a6643['ros'],this['name']=_0x3a6643['name'];}return _0x326ad1['prototype']['get']=function(_0x3ffa3f,_0x1358b9){var _0x2c610d=new _0xc1f664({'ros':this['ros'],'name':'/rosapi/get_param','serviceType':'rosapi/GetParam'}),_0x93e02f=new _0xb1f145({'name':this['name']});_0x2c610d['callService'](_0x93e02f,function(_0x11647d){var _0x4a22b6=JSON['parse'](_0x11647d['value']);_0x3ffa3f(_0x4a22b6);},_0x1358b9);},_0x326ad1['prototype']['set']=function(_0x572c16,_0x15feaf,_0x4cf5dd){var _0x31578a=new _0xc1f664({'ros':this['ros'],'name':'/rosapi/set_param','serviceType':'rosapi/SetParam'}),_0x3a4a85=new _0xb1f145({'name':this['name'],'value':JSON['stringify'](_0x572c16)});_0x31578a['callService'](_0x3a4a85,_0x15feaf,_0x4cf5dd);},_0x326ad1['prototype']['delete']=function(_0x549106,_0x1a9ce5){var _0xbae27d=new _0xc1f664({'ros':this['ros'],'name':'/rosapi/delete_param','serviceType':'rosapi/DeleteParam'}),_0x1703c6=new _0xb1f145({'name':this['name']});_0xbae27d['callService'](_0x1703c6,_0x549106,_0x1a9ce5);},Hs=_0x326ad1;}var nr,ir,sr,rr,ar,or,lr,cr,hr,ur,dr,pr,mr,gr,fr,yr,vr,br,wr,xr={'exports':{}};function Mr(){if(ir)return nr;ir=0x1;var _0x543afd=er(),_0x3ede47=Ks(),_0xa26640=Ys()['EventEmitter2'];function _0x2eb802(_0x2b55a9){var _0x29cdf1=this;_0x2b55a9=_0x2b55a9||{},this['ros']=_0x2b55a9['ros'],this['serverName']=_0x2b55a9['serverName'],this['actionName']=_0x2b55a9['actionName'],this['timeout']=_0x2b55a9['timeout'],this['omitFeedback']=_0x2b55a9['omitFeedback'],this['omitStatus']=_0x2b55a9['omitStatus'],this['omitResult']=_0x2b55a9['omitResult'],this['goals']={};var _0x59544d=!0x1;this['feedbackListener']=new _0x543afd({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['statusListener']=new _0x543afd({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),this['resultListener']=new _0x543afd({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['goalTopic']=new _0x543afd({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),this['cancelTopic']=new _0x543afd({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'}),this['goalTopic']['advertise'](),this['cancelTopic']['advertise'](),this['omitStatus']||this['statusListener']['subscribe'](function(_0x55553d){_0x59544d=!0x0,_0x55553d['status_list']['forEach'](function(_0x406d54){var _0x2c5d4d=_0x29cdf1['goals'][_0x406d54['goal_id']['id']];_0x2c5d4d&&_0x2c5d4d['emit']('status',_0x406d54);});}),this['omitFeedback']||this['feedbackListener']['subscribe'](function(_0x1add6d){var _0x5e5320=_0x29cdf1['goals'][_0x1add6d['status']['goal_id']['id']];_0x5e5320&&(_0x5e5320['emit']('status',_0x1add6d['status']),_0x5e5320['emit']('feedback',_0x1add6d['feedback']));}),this['omitResult']||this['resultListener']['subscribe'](function(_0x4618bc){var _0x2ba850=_0x29cdf1['goals'][_0x4618bc['status']['goal_id']['id']];_0x2ba850&&(_0x2ba850['emit']('status',_0x4618bc['status']),_0x2ba850['emit']('result',_0x4618bc['result']));}),this['timeout']&&setTimeout(function(){_0x59544d||_0x29cdf1['emit']('timeout');},this['timeout']);}return _0x2eb802['prototype']['__proto__']=_0xa26640['prototype'],_0x2eb802['prototype']['cancel']=function(){var _0x59caa0=new _0x3ede47();this['cancelTopic']['publish'](_0x59caa0);},_0x2eb802['prototype']['dispose']=function(){this['goalTopic']['unadvertise'](),this['cancelTopic']['unadvertise'](),this['omitStatus']||this['statusListener']['unsubscribe'](),this['omitFeedback']||this['feedbackListener']['unsubscribe'](),this['omitResult']||this['resultListener']['unsubscribe']();},nr=_0x2eb802;}function _r(){if(rr)return sr;rr=0x1;var _0x171cd4=er();Ks();var _0x1e39cb=Ys()['EventEmitter2'];function _0x340a18(_0x538949){var _0x3011c5=this;_0x538949=_0x538949||{},this['ros']=_0x538949['ros'],this['serverName']=_0x538949['serverName'],this['actionName']=_0x538949['actionName'];var _0x23cbae=new _0x171cd4({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0x2091db=new _0x171cd4({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),_0x336e1e=new _0x171cd4({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),_0x5743fe=new _0x171cd4({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'});_0x23cbae['subscribe'](function(_0x1adc4f){_0x3011c5['emit']('goal',_0x1adc4f);}),_0x336e1e['subscribe'](function(_0x25a112){_0x25a112['status_list']['forEach'](function(_0x99798){_0x3011c5['emit']('status',_0x99798);});}),_0x2091db['subscribe'](function(_0xae5d61){_0x3011c5['emit']('status',_0xae5d61['status']),_0x3011c5['emit']('feedback',_0xae5d61['feedback']);}),_0x5743fe['subscribe'](function(_0x332d0e){_0x3011c5['emit']('status',_0x332d0e['status']),_0x3011c5['emit']('result',_0x332d0e['result']);});}return _0x340a18['prototype']['__proto__']=_0x1e39cb['prototype'],sr=_0x340a18;}function Sr(){if(or)return ar;or=0x1;var _0xc9d756=Ks(),_0xe4c18b=Ys()['EventEmitter2'];function _0x3a99e4(_0x1970b4){var _0x5ac6e9=this;this['actionClient']=_0x1970b4['actionClient'],this['goalMessage']=_0x1970b4['goalMessage'],this['isFinished']=!0x1;var _0xa4ec3f=new Date();this['goalID']='goal_'+Math['random']()+'_'+_0xa4ec3f['getTime'](),this['goalMessage']=new _0xc9d756({'goal_id':{'stamp':{'secs':0x0,'nsecs':0x0},'id':this['goalID']},'goal':this['goalMessage']}),this['on']('status',function(_0x5010d3){_0x5ac6e9['status']=_0x5010d3;}),this['on']('result',function(_0x15fb1e){_0x5ac6e9['isFinished']=!0x0,_0x5ac6e9['result']=_0x15fb1e;}),this['on']('feedback',function(_0x2ec1ac){_0x5ac6e9['feedback']=_0x2ec1ac;}),this['actionClient']['goals'][this['goalID']]=this;}return _0x3a99e4['prototype']['__proto__']=_0xe4c18b['prototype'],_0x3a99e4['prototype']['send']=function(_0x53b44c){var _0x2aad73=this;_0x2aad73['actionClient']['goalTopic']['publish'](_0x2aad73['goalMessage']),_0x53b44c&&setTimeout(function(){_0x2aad73['isFinished']||_0x2aad73['emit']('timeout');},_0x53b44c);},_0x3a99e4['prototype']['cancel']=function(){var _0x1d746f=new _0xc9d756({'id':this['goalID']});this['actionClient']['cancelTopic']['publish'](_0x1d746f);},ar=_0x3a99e4;}function Ar(){if(cr)return lr;cr=0x1;var _0x16b2a0=er(),_0xaf2fba=Ks(),_0x436c3e=Ys()['EventEmitter2'];function _0x49f709(_0xb2974f){var _0x330ac1=this;_0xb2974f=_0xb2974f||{},this['ros']=_0xb2974f['ros'],this['serverName']=_0xb2974f['serverName'],this['actionName']=_0xb2974f['actionName'],this['feedbackPublisher']=new _0x16b2a0({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['feedbackPublisher']['advertise']();var _0x16377b=new _0x16b2a0({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'});_0x16377b['advertise'](),this['resultPublisher']=new _0x16b2a0({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['resultPublisher']['advertise']();var _0x4f0c2d=new _0x16b2a0({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0x5c56ca=new _0x16b2a0({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'});this['statusMessage']=new _0xaf2fba({'header':{'stamp':{'secs':0x0,'nsecs':0x64},'frame_id':''},'status_list':[]}),this['currentGoal']=null,this['nextGoal']=null,_0x4f0c2d['subscribe'](function(_0x5cfd21){_0x330ac1['currentGoal']?(_0x330ac1['nextGoal']=_0x5cfd21,_0x330ac1['emit']('cancel')):(_0x330ac1['statusMessage']['status_list']=[{'goal_id':_0x5cfd21['goal_id'],'status':0x1}],_0x330ac1['currentGoal']=_0x5cfd21,_0x330ac1['emit']('goal',_0x5cfd21['goal']));});var _0x526946=function(_0x29807f,_0x44ff3c){return!(_0x29807f['secs']>_0x44ff3c['secs'])&&(_0x29807f['secs']<_0x44ff3c['secs']||_0x29807f['nsecs']<_0x44ff3c['nsecs']);};_0x5c56ca['subscribe'](function(_0x313feb){0x0===_0x313feb['stamp']['secs']&&0x0===_0x313feb['stamp']['secs']&&''===_0x313feb['id']?(_0x330ac1['nextGoal']=null,_0x330ac1['currentGoal']&&_0x330ac1['emit']('cancel')):(_0x330ac1['currentGoal']&&_0x313feb['id']===_0x330ac1['currentGoal']['goal_id']['id']?_0x330ac1['emit']('cancel'):_0x330ac1['nextGoal']&&_0x313feb['id']===_0x330ac1['nextGoal']['goal_id']['id']&&(_0x330ac1['nextGoal']=null),_0x330ac1['nextGoal']&&_0x526946(_0x330ac1['nextGoal']['goal_id']['stamp'],_0x313feb['stamp'])&&(_0x330ac1['nextGoal']=null),_0x330ac1['currentGoal']&&_0x526946(_0x330ac1['currentGoal']['goal_id']['stamp'],_0x313feb['stamp'])&&_0x330ac1['emit']('cancel'));}),setInterval(function(){var _0x3d9b95=new Date(),_0x23a0bf=Math['floor'](_0x3d9b95['getTime']()/0x3e8),_0x45dec5=Math['round'](0x3b9aca00*(_0x3d9b95['getTime']()/0x3e8-_0x23a0bf));_0x330ac1['statusMessage']['header']['stamp']['secs']=_0x23a0bf,_0x330ac1['statusMessage']['header']['stamp']['nsecs']=_0x45dec5,_0x16377b['publish'](_0x330ac1['statusMessage']);},0x1f4);}return _0x49f709['prototype']['__proto__']=_0x436c3e['prototype'],_0x49f709['prototype']['setSucceeded']=function(_0x15a74c){var _0x5af4bd=new _0xaf2fba({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x3},'result':_0x15a74c});this['resultPublisher']['publish'](_0x5af4bd),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x49f709['prototype']['setAborted']=function(_0x3afb90){var _0x576d62=new _0xaf2fba({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x4},'result':_0x3afb90});this['resultPublisher']['publish'](_0x576d62),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x49f709['prototype']['sendFeedback']=function(_0x5459a2){var _0x460bf0=new _0xaf2fba({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x1},'feedback':_0x5459a2});this['feedbackPublisher']['publish'](_0x460bf0);},_0x49f709['prototype']['setPreempted']=function(){this['statusMessage']['status_list']=[];var _0x291a17=new _0xaf2fba({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x2}});this['resultPublisher']['publish'](_0x291a17),this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},lr=_0x49f709;}function Lr(){if(dr)return ur;function _0x59645f(_0x44c88c){_0x44c88c=_0x44c88c||{},this['x']=_0x44c88c['x']||0x0,this['y']=_0x44c88c['y']||0x0,this['z']=_0x44c88c['z']||0x0;}return dr=0x1,_0x59645f['prototype']['add']=function(_0x200db0){this['x']+=_0x200db0['x'],this['y']+=_0x200db0['y'],this['z']+=_0x200db0['z'];},_0x59645f['prototype']['subtract']=function(_0x27e136){this['x']-=_0x27e136['x'],this['y']-=_0x27e136['y'],this['z']-=_0x27e136['z'];},_0x59645f['prototype']['multiplyQuaternion']=function(_0x269e8e){var _0x1b2258=_0x269e8e['w']*this['x']+_0x269e8e['y']*this['z']-_0x269e8e['z']*this['y'],_0x3c3baf=_0x269e8e['w']*this['y']+_0x269e8e['z']*this['x']-_0x269e8e['x']*this['z'],_0x497d28=_0x269e8e['w']*this['z']+_0x269e8e['x']*this['y']-_0x269e8e['y']*this['x'],_0x14a767=-_0x269e8e['x']*this['x']-_0x269e8e['y']*this['y']-_0x269e8e['z']*this['z'];this['x']=_0x1b2258*_0x269e8e['w']+_0x14a767*-_0x269e8e['x']+_0x3c3baf*-_0x269e8e['z']-_0x497d28*-_0x269e8e['y'],this['y']=_0x3c3baf*_0x269e8e['w']+_0x14a767*-_0x269e8e['y']+_0x497d28*-_0x269e8e['x']-_0x1b2258*-_0x269e8e['z'],this['z']=_0x497d28*_0x269e8e['w']+_0x14a767*-_0x269e8e['z']+_0x1b2258*-_0x269e8e['y']-_0x3c3baf*-_0x269e8e['x'];},_0x59645f['prototype']['clone']=function(){return new _0x59645f(this);},ur=_0x59645f;}function Er(){if(mr)return pr;function _0x3802db(_0x146388){_0x146388=_0x146388||{},this['x']=_0x146388['x']||0x0,this['y']=_0x146388['y']||0x0,this['z']=_0x146388['z']||0x0,this['w']='number'==typeof _0x146388['w']?_0x146388['w']:0x1;}return mr=0x1,_0x3802db['prototype']['conjugate']=function(){this['x']*=-0x1,this['y']*=-0x1,this['z']*=-0x1;},_0x3802db['prototype']['norm']=function(){return Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);},_0x3802db['prototype']['normalize']=function(){var _0x5a20df=Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);0x0===_0x5a20df?(this['x']=0x0,this['y']=0x0,this['z']=0x0,this['w']=0x1):(_0x5a20df=0x1/_0x5a20df,this['x']=this['x']*_0x5a20df,this['y']=this['y']*_0x5a20df,this['z']=this['z']*_0x5a20df,this['w']=this['w']*_0x5a20df);},_0x3802db['prototype']['invert']=function(){this['conjugate'](),this['normalize']();},_0x3802db['prototype']['multiply']=function(_0x34b801){var _0x24a33f=this['x']*_0x34b801['w']+this['y']*_0x34b801['z']-this['z']*_0x34b801['y']+this['w']*_0x34b801['x'],_0x19afd0=-this['x']*_0x34b801['z']+this['y']*_0x34b801['w']+this['z']*_0x34b801['x']+this['w']*_0x34b801['y'],_0x5e8e43=this['x']*_0x34b801['y']-this['y']*_0x34b801['x']+this['z']*_0x34b801['w']+this['w']*_0x34b801['z'],_0x409e2d=-this['x']*_0x34b801['x']-this['y']*_0x34b801['y']-this['z']*_0x34b801['z']+this['w']*_0x34b801['w'];this['x']=_0x24a33f,this['y']=_0x19afd0,this['z']=_0x5e8e43,this['w']=_0x409e2d;},_0x3802db['prototype']['clone']=function(){return new _0x3802db(this);},pr=_0x3802db;}function Cr(){if(fr)return gr;fr=0x1;var _0x7ca0f7=Lr(),_0x28b2ab=Er();function _0x425b78(_0x59a604){_0x59a604=_0x59a604||{},this['position']=new _0x7ca0f7(_0x59a604['position']),this['orientation']=new _0x28b2ab(_0x59a604['orientation']);}return _0x425b78['prototype']['applyTransform']=function(_0x2e9d84){this['position']['multiplyQuaternion'](_0x2e9d84['rotation']),this['position']['add'](_0x2e9d84['translation']);var _0x5cd011=_0x2e9d84['rotation']['clone']();_0x5cd011['multiply'](this['orientation']),this['orientation']=_0x5cd011;},_0x425b78['prototype']['clone']=function(){return new _0x425b78(this);},_0x425b78['prototype']['multiply']=function(_0x567278){var _0x317938=_0x567278['clone']();return _0x317938['applyTransform']({'rotation':this['orientation'],'translation':this['position']}),_0x317938;},_0x425b78['prototype']['getInverse']=function(){var _0x2ed9f=this['clone']();return _0x2ed9f['orientation']['invert'](),_0x2ed9f['position']['multiplyQuaternion'](_0x2ed9f['orientation']),_0x2ed9f['position']['x']*=-0x1,_0x2ed9f['position']['y']*=-0x1,_0x2ed9f['position']['z']*=-0x1,_0x2ed9f;},gr=_0x425b78;}function jr(){if(vr)return yr;vr=0x1;var _0x37604e=Lr(),_0x1f758a=Er();function _0x4375fb(_0x4512cd){_0x4512cd=_0x4512cd||{},this['translation']=new _0x37604e(_0x4512cd['translation']),this['rotation']=new _0x1f758a(_0x4512cd['rotation']);}return _0x4375fb['prototype']['clone']=function(){return new _0x4375fb(this);},yr=_0x4375fb;}var kr,Tr,Or,Fr,Dr,Pr,Ir,Rr,zr,Nr,Ur,Vr,qr,Br,$r,Jr,Hr,Gr,Wr,Xr,Yr,Zr,Qr,Kr={'exports':{}};function ea(){if(Tr)return kr;Tr=0x1;var _0x15900b=Mr(),_0xeca733=Sr(),_0x4c6a30=Zs(),_0x1e6cd4=Is(),_0x2c8702=er(),_0x4dee05=jr();function _0x917ad8(_0x27d804){_0x27d804=_0x27d804||{},this['ros']=_0x27d804['ros'],this['fixedFrame']=_0x27d804['fixedFrame']||'base_link',this['angularThres']=_0x27d804['angularThres']||0x2,this['transThres']=_0x27d804['transThres']||0.01,this['rate']=_0x27d804['rate']||0xa,this['updateDelay']=_0x27d804['updateDelay']||0x32;var _0x1cabd7=_0x27d804['topicTimeout']||0x2,_0x15886b=Math['floor'](_0x1cabd7),_0x48c06a=Math['floor'](0x3b9aca00*(_0x1cabd7-_0x15886b));this['topicTimeout']={'secs':_0x15886b,'nsecs':_0x48c06a},this['serverName']=_0x27d804['serverName']||'/tf2_web_republisher',this['repubServiceName']=_0x27d804['repubServiceName']||'/republish_tfs',this['currentGoal']=!0x1,this['currentTopic']=!0x1,this['frameInfos']={},this['republisherUpdateRequested']=!0x1,this['_subscribeCB']=null,this['_isDisposed']=!0x1,this['actionClient']=new _0x15900b({'ros':_0x27d804['ros'],'serverName':this['serverName'],'actionName':'tf2_web_republisher/TFSubscriptionAction','omitStatus':!0x0,'omitResult':!0x0}),this['serviceClient']=new _0x4c6a30({'ros':_0x27d804['ros'],'name':this['repubServiceName'],'serviceType':'tf2_web_republisher/RepublishTFs'});}return _0x917ad8['prototype']['processTFArray']=function(_0x39485d){_0x39485d['transforms']['forEach'](function(_0x225ad5){var _0x369611=_0x225ad5['child_frame_id'];'/'===_0x369611[0x0]&&(_0x369611=_0x369611['substring'](0x1));var _0x5bcd52=this['frameInfos'][_0x369611];_0x5bcd52&&(_0x5bcd52['transform']=new _0x4dee05({'translation':_0x225ad5['transform']['translation'],'rotation':_0x225ad5['transform']['rotation']}),_0x5bcd52['cbs']['forEach'](function(_0x5f19aa){_0x5f19aa(_0x5bcd52['transform']);}));},this);},_0x917ad8['prototype']['updateGoal']=function(){var _0xc29bbc={'source_frames':Object['keys'](this['frameInfos']),'target_frame':this['fixedFrame'],'angular_thres':this['angularThres'],'trans_thres':this['transThres'],'rate':this['rate']};if(this['ros']['groovyCompatibility'])this['currentGoal']&&this['currentGoal']['cancel'](),this['currentGoal']=new _0xeca733({'actionClient':this['actionClient'],'goalMessage':_0xc29bbc}),this['currentGoal']['on']('feedback',this['processTFArray']['bind'](this)),this['currentGoal']['send']();else{_0xc29bbc['timeout']=this['topicTimeout'];var _0x60ca0c=new _0x1e6cd4(_0xc29bbc);this['serviceClient']['callService'](_0x60ca0c,this['processResponse']['bind'](this));}this['republisherUpdateRequested']=!0x1;},_0x917ad8['prototype']['processResponse']=function(_0x1a2182){this['_isDisposed']||(this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']),this['currentTopic']=new _0x2c8702({'ros':this['ros'],'name':_0x1a2182['topic_name'],'messageType':'tf2_web_republisher/TFArray'}),this['_subscribeCB']=this['processTFArray']['bind'](this),this['currentTopic']['subscribe'](this['_subscribeCB']));},_0x917ad8['prototype']['subscribe']=function(_0x50d835,_0x3f0e7f){'/'===_0x50d835[0x0]&&(_0x50d835=_0x50d835['substring'](0x1)),this['frameInfos'][_0x50d835]?this['frameInfos'][_0x50d835]['transform']&&_0x3f0e7f(this['frameInfos'][_0x50d835]['transform']):(this['frameInfos'][_0x50d835]={'cbs':[]},this['republisherUpdateRequested']||(setTimeout(this['updateGoal']['bind'](this),this['updateDelay']),this['republisherUpdateRequested']=!0x0)),this['frameInfos'][_0x50d835]['cbs']['push'](_0x3f0e7f);},_0x917ad8['prototype']['unsubscribe']=function(_0x45571d,_0x5eeed1){'/'===_0x45571d[0x0]&&(_0x45571d=_0x45571d['substring'](0x1));for(var _0xe2b2fe=this['frameInfos'][_0x45571d],_0x15da3c=_0xe2b2fe&&_0xe2b2fe['cbs']||[],_0xe379fb=_0x15da3c['length'];_0xe379fb--;)_0x15da3c[_0xe379fb]===_0x5eeed1&&_0x15da3c['splice'](_0xe379fb,0x1);_0x5eeed1&&0x0!==_0x15da3c['length']||delete this['frameInfos'][_0x45571d];},_0x917ad8['prototype']['dispose']=function(){this['_isDisposed']=!0x0,this['actionClient']['dispose'](),this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']);},kr=_0x917ad8;}function ta(){return Dr?Fr:(Dr=0x1,Fr={'URDF_SPHERE':0x0,'URDF_BOX':0x1,'URDF_CYLINDER':0x2,'URDF_MESH':0x3});}function na(){if(Ir)return Pr;Ir=0x1;var _0x4c767b=Lr(),_0x4dccd0=ta();return Pr=function(_0x48dc01){this['dimension']=null,this['type']=_0x4dccd0['URDF_BOX'];var _0x2a143d=_0x48dc01['xml']['getAttribute']('size')['split']('\x20');this['dimension']=new _0x4c767b({'x':parseFloat(_0x2a143d[0x0]),'y':parseFloat(_0x2a143d[0x1]),'z':parseFloat(_0x2a143d[0x2])});};}function ia(){if(zr)return Rr;return zr=0x1,Rr=function(_0x18e802){var _0x19b358=_0x18e802['xml']['getAttribute']('rgba')['split']('\x20');this['r']=parseFloat(_0x19b358[0x0]),this['g']=parseFloat(_0x19b358[0x1]),this['b']=parseFloat(_0x19b358[0x2]),this['a']=parseFloat(_0x19b358[0x3]);};}function sa(){if(Ur)return Nr;Ur=0x1;var _0x179e68=ta();return Nr=function(_0x3cd454){this['type']=_0x179e68['URDF_CYLINDER'],this['length']=parseFloat(_0x3cd454['xml']['getAttribute']('length')),this['radius']=parseFloat(_0x3cd454['xml']['getAttribute']('radius'));};}function ra(){if(qr)return Vr;qr=0x1;var _0x1e0239=ia();function _0xd46eb8(_0x485f1d){this['textureFilename']=null,this['color']=null,this['name']=_0x485f1d['xml']['getAttribute']('name');var _0x37b38c=_0x485f1d['xml']['getElementsByTagName']('texture');_0x37b38c['length']>0x0&&(this['textureFilename']=_0x37b38c[0x0]['getAttribute']('filename'));var _0x12cd08=_0x485f1d['xml']['getElementsByTagName']('color');_0x12cd08['length']>0x0&&(this['color']=new _0x1e0239({'xml':_0x12cd08[0x0]}));}_0xd46eb8['prototype']['isLink']=function(){return null===this['color']&&null===this['textureFilename'];};var _0x1c803a=as;return _0xd46eb8['prototype']['assign']=function(_0x434087){return _0x1c803a(this,_0x434087);},Vr=_0xd46eb8;}function aa(){if($r)return Br;$r=0x1;var _0x5eebe2=Lr(),_0x28a3e8=ta();return Br=function(_0x527198){this['scale']=null,this['type']=_0x28a3e8['URDF_MESH'],this['filename']=_0x527198['xml']['getAttribute']('filename');var _0xfa2bb0=_0x527198['xml']['getAttribute']('scale');if(_0xfa2bb0){var _0x53f7c5=_0xfa2bb0['split']('\x20');this['scale']=new _0x5eebe2({'x':parseFloat(_0x53f7c5[0x0]),'y':parseFloat(_0x53f7c5[0x1]),'z':parseFloat(_0x53f7c5[0x2])});}};}function oa(){if(Hr)return Jr;Hr=0x1;var _0x5c9636=ta();return Jr=function(_0x17f8f2){this['type']=_0x5c9636['URDF_SPHERE'],this['radius']=parseFloat(_0x17f8f2['xml']['getAttribute']('radius'));};}function la(){if(Wr)return Gr;Wr=0x1;var _0x3e53de=Cr(),_0x2c509d=Lr(),_0x16637d=Er(),_0x1d1379=sa(),_0xb5d5b9=na(),_0x41c8de=ra(),_0x5bdf5a=aa(),_0x2f6869=oa();return Gr=function(_0x4ae5f7){var _0x520c93=_0x4ae5f7['xml'];this['origin']=null,this['geometry']=null,this['material']=null,this['name']=_0x4ae5f7['xml']['getAttribute']('name');var _0x414824=_0x520c93['getElementsByTagName']('origin');if(0x0===_0x414824['length'])this['origin']=new _0x3e53de();else{var _0x362a79=_0x414824[0x0]['getAttribute']('xyz'),_0x3920f4=new _0x2c509d();_0x362a79&&(_0x362a79=_0x362a79['split']('\x20'),_0x3920f4=new _0x2c509d({'x':parseFloat(_0x362a79[0x0]),'y':parseFloat(_0x362a79[0x1]),'z':parseFloat(_0x362a79[0x2])}));var _0x483516=_0x414824[0x0]['getAttribute']('rpy'),_0x526190=new _0x16637d();if(_0x483516){_0x483516=_0x483516['split']('\x20');var _0x327c92=parseFloat(_0x483516[0x0])/0x2,_0x58b526=parseFloat(_0x483516[0x1])/0x2,_0x3f268a=parseFloat(_0x483516[0x2])/0x2,_0x121f5b=Math['sin'](_0x327c92)*Math['cos'](_0x58b526)*Math['cos'](_0x3f268a)-Math['cos'](_0x327c92)*Math['sin'](_0x58b526)*Math['sin'](_0x3f268a),_0x4ca5ac=Math['cos'](_0x327c92)*Math['sin'](_0x58b526)*Math['cos'](_0x3f268a)+Math['sin'](_0x327c92)*Math['cos'](_0x58b526)*Math['sin'](_0x3f268a),_0x2443fe=Math['cos'](_0x327c92)*Math['cos'](_0x58b526)*Math['sin'](_0x3f268a)-Math['sin'](_0x327c92)*Math['sin'](_0x58b526)*Math['cos'](_0x3f268a),_0x3d7a35=Math['cos'](_0x327c92)*Math['cos'](_0x58b526)*Math['cos'](_0x3f268a)+Math['sin'](_0x327c92)*Math['sin'](_0x58b526)*Math['sin'](_0x3f268a);(_0x526190=new _0x16637d({'x':_0x121f5b,'y':_0x4ca5ac,'z':_0x2443fe,'w':_0x3d7a35}))['normalize']();}this['origin']=new _0x3e53de({'position':_0x3920f4,'orientation':_0x526190});}var _0x3dd477=_0x520c93['getElementsByTagName']('geometry');if(_0x3dd477['length']>0x0){for(var _0xff3df6=_0x3dd477[0x0],_0x1e3243=null,_0x3fd3af=0x0;_0x3fd3af<_0xff3df6['childNodes']['length'];_0x3fd3af++){var _0x59df5e=_0xff3df6['childNodes'][_0x3fd3af];if(0x1===_0x59df5e['nodeType']){_0x1e3243=_0x59df5e;break;}}var _0x426795=_0x1e3243['nodeName'];'sphere'===_0x426795?this['geometry']=new _0x2f6869({'xml':_0x1e3243}):'box'===_0x426795?this['geometry']=new _0xb5d5b9({'xml':_0x1e3243}):'cylinder'===_0x426795?this['geometry']=new _0x1d1379({'xml':_0x1e3243}):'mesh'===_0x426795&&(this['geometry']=new _0x5bdf5a({'xml':_0x1e3243}));}var _0x19203e=_0x520c93['getElementsByTagName']('material');_0x19203e['length']>0x0&&(this['material']=new _0x41c8de({'xml':_0x19203e[0x0]}));};}function ca(){if(Yr)return Xr;Yr=0x1;var _0x49757d=la();return Xr=function(_0xbf1638){this['name']=_0xbf1638['xml']['getAttribute']('name'),this['visuals']=[];for(var _0x4da6f0=_0xbf1638['xml']['getElementsByTagName']('visual'),_0x2fa1b3=0x0;_0x2fa1b3<_0x4da6f0['length'];_0x2fa1b3++)this['visuals']['push'](new _0x49757d({'xml':_0x4da6f0[_0x2fa1b3]}));};}var ha,ua,da,pa,ma,ga={};function fa(){if(da)return ua;da=0x1;var _0x58ada2=ra(),_0x16af8a=ca(),_0x2f3018=(function(){if(Qr)return Zr;Qr=0x1;var _0x29261a=Cr(),_0x37e868=Lr(),_0x22036d=Er();return Zr=function(_0x14635c){this['name']=_0x14635c['xml']['getAttribute']('name'),this['type']=_0x14635c['xml']['getAttribute']('type');var _0x3f9bd0=_0x14635c['xml']['getElementsByTagName']('parent');_0x3f9bd0['length']>0x0&&(this['parent']=_0x3f9bd0[0x0]['getAttribute']('link'));var _0x172ef0=_0x14635c['xml']['getElementsByTagName']('child');_0x172ef0['length']>0x0&&(this['child']=_0x172ef0[0x0]['getAttribute']('link'));var _0x135a2d=_0x14635c['xml']['getElementsByTagName']('limit');_0x135a2d['length']>0x0&&(this['minval']=parseFloat(_0x135a2d[0x0]['getAttribute']('lower')),this['maxval']=parseFloat(_0x135a2d[0x0]['getAttribute']('upper')));var _0x3b9156=_0x14635c['xml']['getElementsByTagName']('origin');if(0x0===_0x3b9156['length'])this['origin']=new _0x29261a();else{var _0x3c8978=_0x3b9156[0x0]['getAttribute']('xyz'),_0x3d6a44=new _0x37e868();_0x3c8978&&(_0x3c8978=_0x3c8978['split']('\x20'),_0x3d6a44=new _0x37e868({'x':parseFloat(_0x3c8978[0x0]),'y':parseFloat(_0x3c8978[0x1]),'z':parseFloat(_0x3c8978[0x2])}));var _0x448765=_0x3b9156[0x0]['getAttribute']('rpy'),_0x23c367=new _0x22036d();if(_0x448765){_0x448765=_0x448765['split']('\x20');var _0x466af8=parseFloat(_0x448765[0x0])/0x2,_0x59aa66=parseFloat(_0x448765[0x1])/0x2,_0x45d999=parseFloat(_0x448765[0x2])/0x2,_0x12e183=Math['sin'](_0x466af8)*Math['cos'](_0x59aa66)*Math['cos'](_0x45d999)-Math['cos'](_0x466af8)*Math['sin'](_0x59aa66)*Math['sin'](_0x45d999),_0x476b74=Math['cos'](_0x466af8)*Math['sin'](_0x59aa66)*Math['cos'](_0x45d999)+Math['sin'](_0x466af8)*Math['cos'](_0x59aa66)*Math['sin'](_0x45d999),_0x158b1a=Math['cos'](_0x466af8)*Math['cos'](_0x59aa66)*Math['sin'](_0x45d999)-Math['sin'](_0x466af8)*Math['sin'](_0x59aa66)*Math['cos'](_0x45d999),_0x1f1385=Math['cos'](_0x466af8)*Math['cos'](_0x59aa66)*Math['cos'](_0x45d999)+Math['sin'](_0x466af8)*Math['sin'](_0x59aa66)*Math['sin'](_0x45d999);(_0x23c367=new _0x22036d({'x':_0x12e183,'y':_0x476b74,'z':_0x158b1a,'w':_0x1f1385}))['normalize']();}this['origin']=new _0x29261a({'position':_0x3d6a44,'orientation':_0x23c367});}};}()),_0x411ef9=(ha||(ha=0x1,ga['DOMImplementation']=window['DOMImplementation'],ga['XMLSerializer']=window['XMLSerializer'],ga['DOMParser']=window['DOMParser']),ga)['DOMParser'];return ua=function(_0x49fcea){var _0x4bb274=(_0x49fcea=_0x49fcea||{})['xml'],_0x94231f=_0x49fcea['string'];this['materials']={},this['links']={},this['joints']={},_0x94231f&&(_0x4bb274=new _0x411ef9()['parseFromString'](_0x94231f,'text/xml'));var _0x5b00b0=_0x4bb274['documentElement'];this['name']=_0x5b00b0['getAttribute']('name');for(var _0x173ae3=_0x5b00b0['childNodes'],_0x171170=0x0;_0x171170<_0x173ae3['length'];_0x171170++){var _0x17e504=_0x173ae3[_0x171170];if('material'===_0x17e504['tagName']){var _0x4a98be=new _0x58ada2({'xml':_0x17e504});void 0x0!==this['materials'][_0x4a98be['name']]?this['materials'][_0x4a98be['name']]['isLink']()&&this['materials'][_0x4a98be['name']]['assign'](_0x4a98be):this['materials'][_0x4a98be['name']]=_0x4a98be;}else if('link'===_0x17e504['tagName']){var _0x34ce28=new _0x16af8a({'xml':_0x17e504});if(void 0x0!==this['links'][_0x34ce28['name']]);else{for(var _0x16d9cf=0x0;_0x16d9cf<_0x34ce28['visuals']['length'];_0x16d9cf++){var _0x3173d2=_0x34ce28['visuals'][_0x16d9cf]['material'];null!==_0x3173d2&&_0x3173d2['name']&&(void 0x0!==this['materials'][_0x3173d2['name']]?_0x34ce28['visuals'][_0x16d9cf]['material']=this['materials'][_0x3173d2['name']]:this['materials'][_0x3173d2['name']]=_0x3173d2);}this['links'][_0x34ce28['name']]=_0x34ce28;}}else if('joint'===_0x17e504['tagName']){var _0x4b467a=new _0x2f3018({'xml':_0x17e504});this['joints'][_0x4b467a['name']]=_0x4b467a;}}};}var ya=Xi['ROSLIB']||{'REVISION':'1.4.1'},va=as;va(ya,(function(){if(Ws)return os['exports'];Ws=0x1;var _0x5e1871=ls(),_0x5b0777=os['exports']={'Ros':Qs(),'Topic':er(),'Message':Ks(),'Param':tr(),'Service':Zs(),'ServiceRequest':Is(),'ServiceResponse':Ps()};return _0x5e1871(_0x5b0777['Ros'],['Param','Service','Topic'],_0x5b0777),os['exports'];}())),va(ya,(function(){if(hr)return xr['exports'];hr=0x1;var _0x17e343=Qs();return ls()(_0x17e343,['ActionClient','SimpleActionServer'],xr['exports']={'ActionClient':Mr(),'ActionListener':_r(),'Goal':Sr(),'SimpleActionServer':Ar()}),xr['exports'];}())),va(ya,wr?br:(wr=0x1,br={'Pose':Cr(),'Quaternion':Er(),'Transform':jr(),'Vector3':Lr()})),va(ya,(function(){if(Or)return Kr['exports'];Or=0x1;var _0x2b2c50=Qs();return ls()(_0x2b2c50,['TFClient'],Kr['exports']={'TFClient':ea()}),Kr['exports'];}())),va(ya,ma?pa:(ma=0x1,pa=as({'UrdfBox':na(),'UrdfColor':ia(),'UrdfCylinder':sa(),'UrdfLink':ca(),'UrdfMaterial':ra(),'UrdfMesh':aa(),'UrdfModel':fa(),'UrdfSphere':oa(),'UrdfVisual':la()},ta())));const ba=Yi(ya);class wa{constructor(_0x533d9d,_0x3eb02a){this['rosController']=_0x533d9d,this['sceneManager']=_0x3eb02a,this['tfSubscriptions']=new Map(),this['_tmpPos']=new _0x4a4464(),this['_tmpQuat']=new _0x446862(),this['_tmpEuler']=new _0x1b9ef9(),this['_tmpMat']=new _0x4306a8(),this['handSeparationScale']=0x1,this['wristRotationOffset']=Math['PI']/0x4;}['subscribeTF'](_0x261e67,_0x59c857,_0x2fa684){if(!this['rosController']['ros']||!this['rosController']['ros']['isConnected'])return null;if(this['unsubscribe'](_0x261e67),!_0x59c857||!_0x59c857['threeObject'])return null;try{const _0x5af088=new ba['Topic']({'ros':this['rosController']['ros'],'name':_0x2fa684,'messageType':'tf2_msgs/msg/TFMessage'});return _0x5af088['subscribe'](_0x3a805d=>{this['rosController']['recordSubMessage'](_0x2fa684),this['_applyTFTransforms'](_0x261e67,_0x59c857,_0x3a805d['transforms']);}),this['tfSubscriptions']['set'](_0x261e67,_0x5af088),_0x5af088;}catch(_0x71aa0e){return null;}}['_applyTFTransforms'](_0x5040ed,_0x5aa56b,_0x56c875){if(!_0x5aa56b||!_0x5aa56b['links']||!_0x56c875||0x0===_0x56c875['length'])return;_0x5aa56b['threeObject']&&_0x5aa56b['threeObject']['updateMatrixWorld']();const _0xe0c203=new Map();for(let _0x2392a9=0x0;_0x2392a9<_0x56c875['length'];_0x2392a9++){const _0x1c76b4=_0x56c875[_0x2392a9],_0x43b5ca=_0x1c76b4['child_frame_id'];_0x43b5ca&&_0x5aa56b['links']['has'](_0x43b5ca)&&_0xe0c203['set'](_0x43b5ca,_0x1c76b4['transform']);}if(0x0!==_0xe0c203['size']){if(!_0x5aa56b['_tfOriginOffset']){let _0x1a6444=null;const _0x5f4478='link_RightSkeletonBase',_0xcdb686='link_LeftSkeletonBase';if(_0xe0c203['has'](_0x5f4478)){const _0x5292bb=_0xe0c203['get'](_0x5f4478);if(_0x1a6444=new _0x4a4464(_0x5292bb['translation']['x'],_0x5292bb['translation']['y'],_0x5292bb['translation']['z']),_0xe0c203['has'](_0xcdb686)){const _0xf2c65e=_0xe0c203['get'](_0xcdb686);new _0x4a4464(_0xf2c65e['translation']['x'],_0xf2c65e['translation']['y'],_0xf2c65e['translation']['z'])['distanceTo'](_0x1a6444);}}else{let _0x5b0390=0x0,_0x3e8b98=0x0,_0x393b26=0x0,_0x4622ba=0x0;_0xe0c203['forEach'](_0x4b7ddb=>{_0x5b0390+=_0x4b7ddb['translation']['x'],_0x3e8b98+=_0x4b7ddb['translation']['y'],_0x393b26+=_0x4b7ddb['translation']['z'],_0x4622ba++;}),_0x1a6444=new _0x4a4464(_0x5b0390/_0x4622ba,_0x3e8b98/_0x4622ba,_0x393b26/_0x4622ba);}if(_0x5aa56b['_tfOriginOffset']=_0x1a6444,_0xe0c203['has'](_0x5f4478)&&_0xe0c203['has'](_0xcdb686)){const _0x192f8e=_0xe0c203['get'](_0x5f4478),_0x1cfd3e=_0xe0c203['get'](_0xcdb686);_0x5aa56b['_tfRightHandRef']=new _0x4a4464(_0x192f8e['translation']['x'],_0x192f8e['translation']['y'],_0x192f8e['translation']['z']),_0x5aa56b['_tfLeftHandRef']=new _0x4a4464(_0x1cfd3e['translation']['x'],_0x1cfd3e['translation']['y'],_0x1cfd3e['translation']['z']),_0x5aa56b['_tfRightRotOffset']=new _0x446862()['setFromAxisAngle'](new _0x4a4464(0x0,0x0,0x1),this['wristRotationOffset']),_0x5aa56b['_tfLeftRotOffset']=new _0x446862()['setFromAxisAngle'](new _0x4a4464(0x0,0x0,0x1),-this['wristRotationOffset']);}}_0x5aa56b['_tfRepositionedLinks']||(_0x5aa56b['_tfRepositionedLinks']=new Set()),_0x5aa56b['links']['forEach']((_0x50116b,_0x3e3b83)=>{const _0x4f34ea=_0xe0c203['get'](_0x3e3b83);if(!_0x4f34ea||!_0x50116b['threeObject'])return;const _0xceb8be=_0x4f34ea['translation'],_0x589745=_0x4f34ea['rotation'],_0x27de3e=_0x3e3b83['toLowerCase']()['includes']('left');let _0x2e13f4=_0xceb8be['x'],_0x26a528=_0xceb8be['y'],_0x22dfd9=_0xceb8be['z'],_0x159c5b=new _0x446862(_0x589745['x'],_0x589745['y'],_0x589745['z'],_0x589745['w']);if(0x0!==this['wristRotationOffset']&&_0x5aa56b['_tfRightHandRef']&&_0x5aa56b['_tfLeftHandRef']){const _0x381d6c=_0x27de3e?_0x5aa56b['_tfLeftHandRef']:_0x5aa56b['_tfRightHandRef'],_0x92c338=_0x27de3e?_0x5aa56b['_tfLeftRotOffset']:_0x5aa56b['_tfRightRotOffset'],_0x20533b=new _0x4a4464(_0x2e13f4-_0x381d6c['x'],_0x26a528-_0x381d6c['y'],_0x22dfd9-_0x381d6c['z']);_0x20533b['applyQuaternion'](_0x92c338),_0x2e13f4=_0x381d6c['x']+_0x20533b['x'],_0x26a528=_0x381d6c['y']+_0x20533b['y'],_0x22dfd9=_0x381d6c['z']+_0x20533b['z'],_0x159c5b=_0x92c338['clone']()['multiply'](_0x159c5b);}if(_0x2e13f4-=_0x5aa56b['_tfOriginOffset']['x'],_0x26a528-=_0x5aa56b['_tfOriginOffset']['y'],_0x22dfd9-=_0x5aa56b['_tfOriginOffset']['z'],0x1!==this['handSeparationScale']&&_0x5aa56b['_tfRightHandRef']&&_0x5aa56b['_tfLeftHandRef']){if(!_0x5aa56b['_tfLeftHandOffset']){const _0x2aad63=new _0x4a4464()['subVectors'](_0x5aa56b['_tfLeftHandRef'],_0x5aa56b['_tfRightHandRef']);_0x2aad63['multiplyScalar'](this['handSeparationScale']);const _0x3fe6e5=new _0x4a4464()['subVectors'](_0x5aa56b['_tfLeftHandRef'],_0x5aa56b['_tfRightHandRef']);_0x5aa56b['_tfLeftHandOffset']=new _0x4a4464()['subVectors'](_0x2aad63,_0x3fe6e5);}_0x27de3e&&(_0x2e13f4+=_0x5aa56b['_tfLeftHandOffset']['x'],_0x26a528+=_0x5aa56b['_tfLeftHandOffset']['y'],_0x22dfd9+=_0x5aa56b['_tfLeftHandOffset']['z']);}this['_tmpPos']['set'](_0x2e13f4,_0x26a528,_0x22dfd9),this['_tmpQuat']['copy'](_0x159c5b);const _0x21b22a=_0x50116b['threeObject']['parent'];_0x21b22a&&_0x21b22a!==_0x5aa56b['threeObject']&&(_0x50116b['threeObject']['userData']['_originalParent']||(_0x50116b['threeObject']['userData']['_originalParent']=_0x21b22a),_0x21b22a['remove'](_0x50116b['threeObject']),_0x5aa56b['threeObject']['add'](_0x50116b['threeObject']),_0x5aa56b['_tfRepositionedLinks']['add'](_0x3e3b83)),_0x50116b['threeObject']['position']['copy'](this['_tmpPos']),_0x50116b['threeObject']['quaternion']['copy'](this['_tmpQuat']),_0x50116b['threeObject']['scale']['set'](0x1,0x1,0x1),_0x50116b['threeObject']['updateMatrixWorld']();}),_0x5aa56b['threeObject']&&_0x5aa56b['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}}['unsubscribe'](_0x391d70){const _0x224871=this['tfSubscriptions']['get'](_0x391d70);if(_0x224871){try{_0x224871['unsubscribe']();}catch(_0x2926cb){}this['tfSubscriptions']['delete'](_0x391d70);}}['unsubscribeAll'](){this['tfSubscriptions']['forEach']((_0x5e5cfd,_0x353208)=>{this['unsubscribe'](_0x353208);});}['isSubscribed'](_0x3cea4f){return this['tfSubscriptions']['has'](_0x3cea4f);}}class xa{constructor(_0x177337){this['sceneManager']=_0x177337,this['ros']=null,this['listeners']=[],this['publisher']=null,this['connected']=!0x1,this['_pendingRender']=!0x1,this['onConnectionChange']=null,this['subMessageCount']=0x0,this['subLastMessageTime']=0x0,this['subStats']=new Map(),this['pubMessageCount']=0x0,this['pubLastMessageTime']=0x0,this['_extraTopics']=new Map(),this['_connectionListeners']=new Set(),this['tfController']=new wa(this,_0x177337),this['onJointData']=null,this['_resetService']=null,this['_model']=null,this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['_jointStateTopic']='/io_teleop/joint_states';}['connect'](_0x1eb379){this['ros']&&this['disconnect'](),this['ros']=new ba['Ros']({'url':_0x1eb379}),this['ros']['on']('connection',()=>{this['connected']=!0x0,this['_queryDomainId'](),this['_advertiseResetService'](),this['_notifyConnectionChange'](!0x0);}),this['ros']['on']('error',_0xa37c3d=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);}),this['ros']['on']('close',()=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);});}['subscribeJointCmdForPlot'](_0x46d550){return this['subscribeJointCmd'](null,_0x46d550);}['subscribeJointCmd'](_0x27cfa7,_0x3515cd='/io_teleop/joint_cmd'){if(!this['ros']||!this['connected'])return;const _0x37351b=new ba['Topic']({'ros':this['ros'],'name':_0x3515cd,'messageType':'sensor_msgs/msg/JointState'});_0x37351b['subscribe'](_0x223c69=>{this['subMessageCount']++,this['subLastMessageTime']=Date['now']();let _0x485695=this['subStats']['get'](_0x3515cd);_0x485695||(_0x485695={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x3515cd,_0x485695)),_0x485695['count']++,_0x485695['lastTime']=Date['now']();const _0x490f46=Date['now']();_0x223c69['name']['forEach']((_0x5e0e86,_0x12b42a)=>{const _0x2e4524=_0x223c69['position'][_0x12b42a];if(this['onJointData']&&this['onJointData'](_0x3515cd,_0x5e0e86,_0x490f46,_0x2e4524),!_0x27cfa7)return;const _0x4f1d77=_0x27cfa7['getJoint'](_0x5e0e86);_0x4f1d77&&(Ei['setJointAngle'](_0x27cfa7,_0x5e0e86,_0x2e4524,!0x0),_0x4f1d77['threeObject']&&_0x4f1d77['threeObject']['updateMatrixWorld'](!0x0));}),_0x27cfa7&&(_0x27cfa7['threeObject']&&_0x27cfa7['threeObject']['updateMatrixWorld'](!0x0),this['_pendingRender']||(this['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['_pendingRender']=!0x1;})));}),this['listeners']['push'](_0x37351b),_0x27cfa7&&this['_jointCmdListeners']['push'](_0x37351b);}['unsubscribeTopic'](_0x86c680){_0x86c680&&(this['listeners']=this['listeners']['filter'](_0x575088=>{if(_0x575088['name']!==_0x86c680)return!0x0;_0x575088['unsubscribe']();const _0x4c0116=this['_jointCmdListeners']['indexOf'](_0x575088);return-0x1!==_0x4c0116&&this['_jointCmdListeners']['splice'](_0x4c0116,0x1),!0x1;}));}['publishJointStates'](_0x1924d7,_0x55b24b='/io_teleop/joint_states'){if(!this['ros']||!this['connected'])return;this['_jointStateTopic']=_0x55b24b,this['publisher']&&this['publisher']['name']===_0x55b24b||(this['publisher']&&this['publisher']['unadvertise'](),this['publisher']=new ba['Topic']({'ros':this['ros'],'name':_0x55b24b,'messageType':'sensor_msgs/msg/JointState'}),this['_advertiseTopic'](this['publisher']));const _0x4a6bcd=Array['from'](_0x1924d7['joints']['values']())['filter'](_0x47c763=>'number'==typeof _0x47c763['currentValue']),_0x5ef3ed=new ba['Message']({'header':{'stamp':{'sec':0x0,'nanosec':0x0},'frame_id':''},'name':_0x4a6bcd['map'](_0x468e00=>_0x468e00['name']),'position':_0x4a6bcd['map'](_0x5a252b=>_0x5a252b['currentValue']),'velocity':[],'effort':[]});this['pubMessageCount']++,this['pubLastMessageTime']=Date['now'](),this['publisher']['publish'](_0x5ef3ed);}['_advertiseTopic'](_0x7eb0ea,_0x58f785='reliable'){const _0x219b02='advertise:'+_0x7eb0ea['name']+':'+ ++this['ros']['idCounter'];_0x7eb0ea['advertiseId']=_0x219b02,_0x7eb0ea['isAdvertised']=!0x0,this['ros']['callOnConnection']({'op':'advertise','id':_0x219b02,'type':_0x7eb0ea['messageType'],'topic':_0x7eb0ea['name'],'latch':!0x1,'queue_size':_0x7eb0ea['queue_size'],'qos':{'history':'keep_last','depth':0xa,'reliability':_0x58f785,'durability':'volatile'}});}['getRos'](){return this['ros'];}['isConnected'](){return!!this['connected'];}['createAdvertisedTopic'](_0x5614a0,_0xe2462){if(!this['ros']||!_0x5614a0||!_0xe2462)return null;const _0x32cf89=this['_extraTopics']['get'](_0x5614a0);if(_0x32cf89){if(_0x32cf89['messageType']===_0xe2462)return _0x32cf89;this['releaseTopic'](_0x5614a0);}const _0x2b83cd=new ba['Topic']({'ros':this['ros'],'name':_0x5614a0,'messageType':_0xe2462});return this['_advertiseTopic'](_0x2b83cd),this['_extraTopics']['set'](_0x5614a0,_0x2b83cd),_0x2b83cd;}['releaseTopic'](_0x5cd330){const _0x4b960=this['_extraTopics']['get'](_0x5cd330);if(_0x4b960){try{_0x4b960['unadvertise']();}catch(_0x590821){}this['_extraTopics']['delete'](_0x5cd330);}}['addConnectionListener'](_0x1a4904){return'function'!=typeof _0x1a4904?()=>{}:(this['_connectionListeners']['add'](_0x1a4904),()=>{this['_connectionListeners']['delete'](_0x1a4904);});}['_notifyConnectionChange'](_0x31b80c){this['onConnectionChange']&&this['onConnectionChange'](_0x31b80c);for(const _0x589c94 of this['_connectionListeners'])try{_0x589c94(_0x31b80c);}catch(_0x102bd5){}}['_queryDomainId'](){const _0x2cb065=new ba['Topic']({'ros':this['ros'],'name':'/robot_viewer/domain_id','messageType':'std_msgs/msg/Int32','throttle_rate':0x7d0});_0x2cb065['subscribe'](_0x397bac=>{this['domainId']=_0x397bac['data'],this['onDomainIdChange']&&this['onDomainIdChange'](this['domainId']),_0x2cb065['unsubscribe']();}),setTimeout(()=>{void 0x0===this['domainId']&&(_0x2cb065['unsubscribe'](),this['domainId']=null,this['onDomainIdChange']&&this['onDomainIdChange'](null));},0x1388);}['setModel'](_0x46c75c){this['_model']=_0x46c75c;}['_advertiseResetService'](){this['ros']&&(this['_resetService']=new ba['Service']({'ros':this['ros'],'name':'/io_teleop_reset_robot','serviceType':'std_srvs/Trigger'}),this['_resetService']['advertise']((_0x5b44a7,_0x1d4ed1)=>{var _0x426dfb;if(this['_pauseJointCmd'](),this['_model']&&this['_model']['joints']){const _0x5a799f=(null==(_0x426dfb=this['_model']['userData'])?void 0x0:_0x426dfb['homePositions'])||{};this['_model']['joints']['forEach']((_0x48ae9e,_0x113917)=>{if('fixed'!==_0x48ae9e['type']){const _0x42ac89=_0x5a799f[_0x113917]??0x0;Ei['setJointAngle'](this['_model'],_0x113917,_0x42ac89,!0x0),_0x48ae9e['currentValue']=_0x42ac89;}}),this['_model']['threeObject']&&this['_model']['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),this['sceneManager']['render']();}const _0x51d3f5=this['_jointStateTopic']||'/io_teleop/joint_states';return this['_model']&&this['publishJointStates'](this['_model'],_0x51d3f5),setTimeout(()=>{this['_resumeJointCmd']();},0x64),_0x1d4ed1['success']=!0x0,_0x1d4ed1['message']='ok',!0x0;}));}['_pauseJointCmd'](){this['_jointCmdTopics']=[],this['_jointCmdListeners']['forEach'](_0x6569c9=>{this['_jointCmdTopics']['push'](_0x6569c9['name']),_0x6569c9['unsubscribe']();const _0x1ea2c9=this['listeners']['indexOf'](_0x6569c9);-0x1!==_0x1ea2c9&&this['listeners']['splice'](_0x1ea2c9,0x1);}),this['_jointCmdListeners']=[];}['_resumeJointCmd'](){this['_model']&&(this['_jointCmdTopics']['forEach'](_0x4a10ee=>{this['subscribeJointCmd'](this['_model'],_0x4a10ee);}),this['_jointCmdTopics']=[]);}['disconnect'](){try{if(this['listeners']['forEach'](_0x2a8cb9=>{try{_0x2a8cb9['unsubscribe']();}catch(_0x5b2629){}}),this['listeners']=[],this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['publisher']){try{this['publisher']['unadvertise']();}catch(_0x200294){}this['publisher']=null;}if(this['_resetService']){try{this['_resetService']['unadvertise']();}catch(_0xedd37){}this['_resetService']=null;}this['_extraTopics']['forEach']((_0x52209f,_0xafbe1b)=>{try{_0x52209f['unadvertise']();}catch(_0x27f227){}}),this['_extraTopics']['clear']();try{this['tfController']['unsubscribeAll']();}catch(_0x1a2449){}if(this['ros']){try{this['ros']['close']();}catch(_0x555632){}this['ros']=null;}}finally{this['connected']=!0x1,this['domainId']=void 0x0,this['_notifyConnectionChange'](!0x1);}}['subscribeTF'](_0x248495,_0x5eb4e5,_0x5b0237,_0x16f648=null){return this['tfController']['subscribeTF'](_0x248495,_0x5eb4e5,_0x5b0237,_0x16f648);}['unsubscribeTF'](_0x601732){this['tfController']['unsubscribe'](_0x601732);}['getTopics'](_0x493151,_0x23cdaa){this['ros']&&this['connected']&&this['ros']['getTopics'](_0x493151,_0x23cdaa);}['recordSubMessage'](_0x23e6a3){const _0x274b71=Date['now']();this['subMessageCount']++,this['subLastMessageTime']=_0x274b71;let _0x591464=this['subStats']['get'](_0x23e6a3);_0x591464||(_0x591464={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x23e6a3,_0x591464)),_0x591464['count']++,_0x591464['lastTime']=_0x274b71;}['getMessageRate'](_0x309161){if(_0x309161){const _0x4cb56d=this['subStats']['get'](_0x309161);return _0x4cb56d?Date['now']()-_0x4cb56d['lastTime']>0x7d0?0x0:_0x4cb56d['count']:0x0;}return Date['now']()-this['subLastMessageTime']>0x7d0?0x0:this['subMessageCount'];}['resetMessageCount'](){this['subMessageCount']=0x0,this['subStats']['forEach'](_0x4866c8=>{_0x4866c8['count']=0x0;});}['getPubMessageRate'](){return Date['now']()-this['pubLastMessageTime']>0x7d0?0x0:this['pubMessageCount'];}['resetPubMessageCount'](){this['pubMessageCount']=0x0;}}const Ma={'human':{'id':'mocap_human','name':'Motion\x20Capture\x20Human','urdfPath':'/models/mocap/blender_human.urdf','rosTopic':'/io_fusion/tf','topicType':'tf','visible':!0x0,'autoLoad':!0x1},'exoskeleton':{'id':'exoskeleton','name':'Exoskeleton\x20Glove\x20v1.0','urdfPath':'/models/mocap/blender_human_skeleton_v4.urdf','scale':0x4,'rotation':{'x':-Math['PI']/0x2,'y':0x0,'z':Math['PI']},'rosTopic':'/io_fusion/tf_exoskeleton','topicType':'tf','visible':!0x0,'autoLoad':!0x1},'exoskeleton_v2':{'id':'exoskeleton_v2','name':'Exoskeleton\x20Glove\x20v2.0','urdfPath':'/models/mocap/blender_human_skeleton_v5.urdf','scale':0x4,'rotation':{'x':-Math['PI']/0x2,'y':0x0,'z':Math['PI']},'rosTopic':'/io_fusion/tf_exoskeleton','topicType':'tf','visible':!0x0,'autoLoad':!0x1}},_a=Object['freeze'](Object['defineProperty']({'__proto__':null,'MOCAP_CONFIG':Ma},Symbol['toStringTag'],{'value':'Module'}));class Sa{constructor(_0x1e3b1e,_0x465e33){this['rosController']=_0x1e3b1e,this['app']=_0x465e33,this['panel']=null,this['bidirectionalEnabled']=!0x1,this['_heartbeatWorker']=null,this['publishRate']=0x14,this['_domainId']=null,this['_domainIdResolved']=!0x1,this['topicDefs']=[{'key':'cmd','default':'/io_teleop/joint_cmd'},{'key':'fingerLeft','default':'/io_teleop/joint_cmd_finger_left'},{'key':'fingerRight','default':'/io_teleop/joint_cmd_finger_right'},{'key':'jointFromVr','default':'/io_teleop/target_joint_from_vr'},{'key':'gripperStatus','default':'/io_teleop/target_gripper_status'},{'key':'fingerJoints','default':'/io_teleop/target_finger_joints'}];}['_renderTopicRows'](){return this['topicDefs']['map'](_0x1019fc=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22\x20data-topic-key=\x22'+_0x1019fc['key']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20class=\x22ros-topic-checkbox\x22\x20checked>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20class=\x22ros-input\x20ros-topic-input\x22\x20value=\x22'+_0x1019fc['default']+'\x22\x20placeholder=\x22'+_0x1019fc['default']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-rate-badge\x20ros-topic-rate\x22>0\x20Hz</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20')['join']('');}['createPanel'](){const _0xc2e87a=document['createElement']('div');_0xc2e87a['id']='floating-ros-panel',_0xc2e87a['className']='floating-panel',_0xc2e87a['style']['cssText']='top:\x2080px;\x20right:\x20400px;\x20width:\x20360px;\x20z-index:\x2051;\x20display:\x20none;',_0xc2e87a['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22rosConnection\x22>ROS\x20连接</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22\x20data-panel=\x22floating-ros-panel\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-hint\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22rosBridgeHint\x22>💡\x20需要本地启动\x20rosbridge:</span><code>./start-rosbridge.sh\x20--domain_id=xxx</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<a\x20class=\x22ros-download-btn\x22\x20id=\x22ros-download-script\x22\x20title=\x22下载启动脚本\x22\x20data-i18n=\x22downloadScript\x22\x20data-i18n-title=\x22downloadScriptTitle\x22>⬇\x20下载脚本</a>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22serverAddress\x22>服务器地址</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22ros-url\x22\x20class=\x22ros-input\x22\x20value=\x22ws://localhost:9090\x22\x20placeholder=\x22ws://localhost:9090\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20style=\x22margin:0;white-space:nowrap;\x22>ROS_DOMAIN_ID:</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22ros-domain-id\x22\x20class=\x22ros-rate-badge\x22\x20style=\x22background:#1e8e3e;color:#fff;\x22>—</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;gap:8px;align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22ros-connect-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20data-i18n=\x22connect\x22>连接</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22ros-disconnect-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22disconnect\x22\x20disabled>断开</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22ros-monitor-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20title=\x22打开实时监控面板\x22\x20data-i18n=\x22monitor\x22\x20data-i18n-title=\x22monitorTitle\x22>📈\x20监控</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20状态文字带运行态(已连接/未连接),不能挂\x20data-i18n\x20——\x20否则切语言时会被\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20静态文案无条件覆盖;由\x20refreshLanguage()\x20按真实状态重算\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22ros-status\x22\x20class=\x22ros-status\x22>●\x20未连接</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22subscribeTopic\x22>订阅\x20Topic</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22ros-topic-list\x22\x20class=\x22ros-topic-list\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_renderTopicRows']()+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-checkbox\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20id=\x22ros-bidirectional\x22\x20checked>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22publishRobotState\x22>发布机器人状态</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22ros-publish-config\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22ros-pub-topic\x22\x20class=\x22ros-input\x20ros-topic-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x22/io_teleop/joint_states\x22\x20placeholder=\x22/io_teleop/joint_states\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-rate-badge\x20ros-topic-rate\x22\x20id=\x22ros-pub-rate-actual\x22>0\x20Hz</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22publishRateLabel\x22>发布频率\x20(Hz)</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22ros-pub-rate\x22\x20class=\x22ros-input\x22\x20min=\x221\x22\x20max=\x22100\x22\x20value=\x2220\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0xc2e87a,this['attachEventListeners'](),this['startMessageRateMonitor']();const _0x287afb=new URLSearchParams(window['location']['search']),_0x611a31=_0x287afb['has']('mocap'),_0x40e7bd=_0x287afb['get']('mocap');if(_0x611a31&&_0x40e7bd){const _0x478d8c=Ma[_0x40e7bd];if(_0x478d8c){_0xc2e87a['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach']((_0x2335fc,_0x497c0c)=>{if(0x0===_0x497c0c){const _0x4d71f5=_0x2335fc['querySelector']('.ros-topic-input');_0x4d71f5['value']=_0x478d8c['rosTopic'],_0x4d71f5['title']='TF\x20Topic';_0x2335fc['querySelector']('.ros-topic-checkbox')['style']['display']='none';}else _0x2335fc['style']['display']='none';});_0xc2e87a['querySelectorAll']('.ros-form-group')['forEach'](_0x5dfe28=>{_0x5dfe28['querySelector']('#ros-bidirectional')&&(_0x5dfe28['style']['display']='none');});const _0x43b0cb=_0xc2e87a['querySelector']('#ros-publish-config');_0x43b0cb&&(_0x43b0cb['style']['display']='none');}}return _0xc2e87a;}['_t'](_0x5633d2,_0x62e60e=_0x5633d2){var _0x273df4,_0x1973d0;const _0x49f693=null==(_0x1973d0=null==(_0x273df4=window['i18n'])?void 0x0:_0x273df4['t'])?void 0x0:_0x1973d0['call'](_0x273df4,_0x5633d2);return _0x49f693&&_0x49f693!==_0x5633d2?_0x49f693:_0x62e60e;}['refreshLanguage'](){var _0x3bfa03,_0xbbdd81,_0x4ee10f;if(!this['panel'])return;null==(_0xbbdd81=null==(_0x3bfa03=window['i18n'])?void 0x0:_0x3bfa03['updatePageLanguage'])||_0xbbdd81['call'](_0x3bfa03);const _0x3c7b45=!!(null==(_0x4ee10f=this['rosController'])?void 0x0:_0x4ee10f['connected']),_0xed5a8b=this['panel']['querySelector']('#ros-status');if(_0xed5a8b&&(_0xed5a8b['textContent']=this['_t'](_0x3c7b45?'statusConnected':'statusDisconnected'),_0xed5a8b['style']['color']=_0x3c7b45?'#4caf50':'#f44336'),_0x3c7b45&&this['_domainIdResolved']){const _0x2405f0=this['panel']['querySelector']('#ros-domain-id');_0x2405f0&&(null!==this['_domainId']?(_0x2405f0['textContent']=this['_domainId'],_0x2405f0['style']['background']='#1e8e3e'):(_0x2405f0['textContent']=this['_t']('unknown'),_0x2405f0['style']['background']='#e65100'));}}['attachEventListeners'](){const _0x26a1c5=this['panel']['querySelector']('#ros-connect-btn'),_0x48f3de=this['panel']['querySelector']('#ros-disconnect-btn'),_0x21234c=this['panel']['querySelector']('#ros-monitor-btn'),_0x1cf1d7=this['panel']['querySelector']('#ros-bidirectional'),_0x17c68c=this['panel']['querySelector']('#ros-pub-rate');this['panel']['querySelector']('#ros-download-script')['addEventListener']('click',_0xc0dcbc=>{_0xc0dcbc['preventDefault']();const _0x5830a6=document['createElement']('a');_0x5830a6['href']='/scripts/start-rosbridge.sh',_0x5830a6['download']='start-rosbridge.sh',document['body']['appendChild'](_0x5830a6),_0x5830a6['click'](),document['body']['removeChild'](_0x5830a6);}),_0x21234c['addEventListener']('click',()=>{const _0x4cdd3a=''+window['location']['origin']+window['location']['pathname']+'?plot=1';window['open'](_0x4cdd3a,'_blank');}),this['bidirectionalEnabled']=!0x0,_0x17c68c['addEventListener']('input',_0x44ff88=>{this['publishRate']=parseInt(_0x44ff88['target']['value'])||0x14,this['_heartbeatWorker']&&(this['stopPublishing'](),this['startPublishing']());}),_0x26a1c5['addEventListener']('click',()=>{const _0x31f27a=this['panel']['querySelector']('#ros-url')['value'];_0x31f27a?(this['rosController']['connect'](_0x31f27a),localStorage['setItem']('ros_url',_0x31f27a),localStorage['setItem']('ros_connected','true'),_0x26a1c5['disabled']=!0x0):alert(this['_t']('enterServerUrl'));}),_0x48f3de['addEventListener']('click',()=>{this['rosController']['disconnect']();}),_0x1cf1d7['addEventListener']('change',_0xc36d00=>{this['bidirectionalEnabled']=_0xc36d00['target']['checked'],_0xc36d00['target']['checked']&&this['rosController']['connected']&&this['app']['currentModel']?this['startPublishing']():this['stopPublishing']();}),this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x1b86c0=>{const _0x271e42=_0x1b86c0['querySelector']('.ros-topic-checkbox'),_0x1fb71a=_0x1b86c0['querySelector']('.ros-topic-input');_0x271e42['addEventListener']('change',()=>{this['rosController']['connected']&&this['app']['currentModel']&&(_0x271e42['checked']?_0x1fb71a['value']&&this['rosController']['subscribeJointCmd'](this['app']['currentModel'],_0x1fb71a['value']):this['rosController']['unsubscribeTopic'](_0x1fb71a['value']));});}),this['rosController']['onDomainIdChange']=_0x1805d6=>{const _0x3d680d=this['panel']['querySelector']('#ros-domain-id');_0x3d680d&&(this['_domainIdResolved']=!0x0,this['_domainId']=_0x1805d6,null!==_0x1805d6?(_0x3d680d['textContent']=_0x1805d6,_0x3d680d['style']['background']='#1e8e3e'):(_0x3d680d['textContent']=this['_t']('unknown'),_0x3d680d['style']['background']='#e65100'));},this['rosController']['onConnectionChange']=_0x3e9d16=>{var _0x321155;const _0x25f06f=this['panel']['querySelector']('#ros-status');if(_0x25f06f['textContent']=this['_t'](_0x3e9d16?'statusConnected':'statusDisconnected'),_0x25f06f['style']['color']=_0x3e9d16?'#4caf50':'#f44336',_0x26a1c5['disabled']=_0x3e9d16,_0x48f3de['disabled']=!_0x3e9d16,!_0x3e9d16){const _0x42326b=this['panel']['querySelector']('#ros-domain-id');_0x42326b&&(_0x42326b['textContent']='—',_0x42326b['style']['background']='#1e8e3e'),this['_domainId']=null,this['_domainIdResolved']=!0x1,this['stopPublishing'](),localStorage['setItem']('ros_connected','false');}const _0x4723c8=new URLSearchParams(window['location']['search']),_0x4298af=_0x4723c8['has']('mocap'),_0x2ac8e4=_0x4723c8['get']('mocap');if(_0x3e9d16)if(_0x4298af&&_0x2ac8e4&&this['app']['sceneManager']['currentModel']){const _0x5ef5ee=Ma[_0x2ac8e4];if(_0x5ef5ee&&'tf'===_0x5ef5ee['topicType']){const _0x62195a=null==(_0x321155=this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x321155['querySelector']('.ros-topic-input'),_0x50cade=(null==_0x62195a?void 0x0:_0x62195a['value'])||_0x5ef5ee['rosTopic'];this['rosController']['tfController']['subscribeTF'](_0x5ef5ee['id'],this['app']['sceneManager']['currentModel'],_0x50cade);}}else this['app']['currentModel']&&(this['_subscribeCheckedTopics'](this['app']['currentModel']),this['bidirectionalEnabled']&&this['startPublishing']());};}['_subscribeCheckedTopics'](_0x4c30ea){this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x2d164f=>{const _0x12a469=_0x2d164f['querySelector']('.ros-topic-checkbox'),_0xa22ebb=_0x2d164f['querySelector']('.ros-topic-input');_0x12a469['checked']&&_0xa22ebb['value']&&this['rosController']['subscribeJointCmd'](_0x4c30ea,_0xa22ebb['value']);});}['startPublishing'](){this['_heartbeatWorker']||(this['_heartbeatWorker']=new Worker('./heartbeat-worker.js'),this['_heartbeatWorker']['onmessage']=()=>{if(this['rosController']['connected']&&this['app']['currentModel']){const _0xaf9ebb=this['panel']['querySelector']('#ros-pub-topic')['value'];this['rosController']['publishJointStates'](this['app']['currentModel'],_0xaf9ebb);}},this['_heartbeatWorker']['postMessage']({'cmd':'start','rate':this['publishRate']}));}['stopPublishing'](){this['_heartbeatWorker']&&(this['_heartbeatWorker']['postMessage']({'cmd':'stop'}),this['_heartbeatWorker']['terminate'](),this['_heartbeatWorker']=null);}['startMessageRateMonitor'](){setInterval(()=>{this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x23265e=>{const _0x20c8df=_0x23265e['querySelector']('.ros-topic-input'),_0x5e7883=_0x23265e['querySelector']('.ros-topic-rate');if(_0x20c8df&&_0x5e7883){const _0x571e75=this['rosController']['getMessageRate'](_0x20c8df['value']);_0x5e7883['textContent']=_0x571e75+'\x20Hz';}});const _0x431796=this['rosController']['getPubMessageRate'](),_0xa2177e=this['panel']['querySelector']('#ros-pub-rate-actual');_0xa2177e&&(_0xa2177e['textContent']=_0x431796+'\x20Hz'),this['rosController']['resetMessageCount'](),this['rosController']['resetPubMessageCount']();},0x3e8);}['onModelLoaded'](_0x3643f7){this['rosController']['connected']&&(this['_subscribeCheckedTopics'](_0x3643f7),this['bidirectionalEnabled']&&this['startPublishing']());}['onJointChanged'](_0x48039f){}['show'](){if(!this['panel'])return;if('none'!==this['panel']['style']['display']&&'none'!==getComputedStyle(this['panel'])['display'])return;this['panel']['style']['display']='flex',this['panel']['style']['opacity']='0',this['panel']['style']['transform']='scale(0.95)',this['panel']['offsetHeight'],this['panel']['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',this['panel']['style']['opacity']='1',this['panel']['style']['transform']='scale(1)',setTimeout(()=>{this['panel']['style']['transition']='';},0xc8);const _0x2e9a76=document['getElementById']('toggle-ros-panel');_0x2e9a76&&_0x2e9a76['classList']['add']('active');}['getServerUrl'](){var _0x3e7873,_0x20ec0b,_0x3a1da0;return(null==(_0x3a1da0=null==(_0x20ec0b=null==(_0x3e7873=this['panel'])?void 0x0:_0x3e7873['querySelector']('#ros-url'))?void 0x0:_0x20ec0b['value'])?void 0x0:_0x3a1da0['trim']())||'';}['setServerUrl'](_0x5c4a72){var _0x8e5c09;const _0xe1d12e=null==(_0x8e5c09=this['panel'])?void 0x0:_0x8e5c09['querySelector']('#ros-url');_0xe1d12e&&_0x5c4a72&&(_0xe1d12e['value']=_0x5c4a72);}['autoConnect'](_0x50e468){if(!this['panel']||this['rosController']['connected'])return;const _0x3cfafd=this['panel']['querySelector']('#ros-url');_0x3cfafd&&_0x50e468&&(_0x3cfafd['value']=_0x50e468);const _0x2ebc4e=this['panel']['querySelector']('#ros-connect-btn');_0x2ebc4e&&!_0x2ebc4e['disabled']&&_0x2ebc4e['click']();}}const Aa='__world__',La=['+X','-X','+Y','-Y','+Z','-Z'],Ea=_0x4fb07f=>{const _0x2104ba='XYZ'['indexOf'](String(_0x4fb07f||'')['toUpperCase']()['replace'](/[^XYZ]/g,'')[0x0]);return _0x2104ba<0x0?0x0:_0x2104ba;};function Ca(_0x9963e8,_0x49c5f8){return _0x49c5f8['set'](0x0,0x0,0x0),_0x49c5f8['setComponent'](Ea(_0x9963e8),(_0x3e396c=>'-'===(_0x3e396c||'')['trim']()[0x0]?-0x1:0x1)(_0x9963e8)),_0x49c5f8;}function ja(_0x5eb508,_0x225d66){return Ea(_0x5eb508)!==Ea(_0x225d66);}function ka(_0x135f94){return La['filter'](_0xa63dc8=>ja(_0x135f94,_0xa63dc8));}const Ta={'x':0x0,'y':0x1,'z':0x2},Oa={'roll':0x0,'pitch':0x1,'yaw':0x2},Fa=[new _0x4a4464(0x1,0x0,0x0),new _0x4a4464(0x0,0x1,0x0),new _0x4a4464(0x0,0x0,0x1)],Da=Math['PI'],Pa=_0xd3720b=>{const _0x13a9bd=Number(_0xd3720b)||0x0;return _0x13a9bd>=-Da&&_0x13a9bd<=Da?_0x13a9bd:_0x13a9bd-0x2*Da*Math['round'](_0x13a9bd/(0x2*Da));};class Ia{constructor(_0x2c1187,_0x34d820={}){this['sceneManager']=_0x2c1187,this['width']=_0x34d820['width']??0x280,this['height']=_0x34d820['height']??0x1e0,this['fov']=_0x34d820['fov']??0x3c,this['near']=_0x34d820['near']??0.001,this['far']=_0x34d820['far']??0xc8,this['mountFrame']=_0x34d820['mountFrame']??Aa,this['mountXyz']=[0x0,0x0,0x0],this['_mountOffset']=new _0x4a4464(),this['mountRpy']=[0x0,0x0,0x0],this['forwardAxis']=_0x34d820['forwardAxis']??'+X',this['upAxis']=_0x34d820['upAxis']??'+Z',this['camera']=new _0xe52e6c(this['fov'],this['width']/this['height'],this['near'],this['far']),this['_mountAxes']=null,this['_mountAxesVisible']=!0x1,this['_mountAxesSize']=0x0,this['_mountAxesPose']=null,this['_mountQuat']=new _0x446862(),this['_safeMode']=!0x1,this['_firstFrameChecked']=!0x1,this['_warnedFrame']=null,this['_targetLinear']=null,this['_targetLdr']=null,this['_targetLinearAlt']=null,this['_targetLdrAlt']=null,this['_probeTarget']=null,this['lastGpuProbeMs']=null,this['_useAltTarget']=!0x1,this['_hasPrevFrame']=!0x1,this['_targetSize']={'w':0x0,'h':0x0},this['_rgba']=null,this['_hidden']=[],this['lastCaptureMs']=0x0,this['lastFrameLag']=0x0,this['lastCaptureSkipped']=null,this['_worldMatrix']=new _0x4306a8(),this['_offsetMatrix']=new _0x4306a8(),this['_presetMatrix']=new _0x4306a8(),this['_fwdVec']=new _0x4a4464(),this['_upVec']=new _0x4a4464(),this['_rightVec']=new _0x4a4464(),this['_backVec']=new _0x4a4464(),this['_poseMatrix']=new _0x4306a8(),this['_poseQuat']=new _0x446862(),this['_axisVec']=new _0x4a4464(),this['_axisQuat']=new _0x446862(),this['_euler']=new _0x1b9ef9(),this['_tmpPos']=new _0x4a4464(),this['_tmpQuat']=new _0x446862(),this['_tmpScale']=new _0x4a4464(),this['_encodeMaterial']=new _0x3beb3b({'uniforms':{'tLinear':{'value':null}},'vertexShader':'\x0a\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vUv\x20=\x20uv;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(position.xy,\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a','fragmentShader':'\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20tLinear;\x0a\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20y\x20取\x201-v:把\x20WebGL\x20自下而上的行序在这里翻成图像序,回读即\x20top-down\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20c\x20=\x20texture2D(tLinear,\x20vec2(vUv.x,\x201.0\x20-\x20vUv.y)).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20linear\x20→\x20sRGB(OETF):与画布上的\x20lin2sRGB\x20分支一致\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20lo\x20=\x20c\x20*\x2012.92;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20hi\x20=\x201.055\x20*\x20pow(max(c,\x20vec3(0.0)),\x20vec3(1.0\x20/\x202.4))\x20-\x200.055;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(mix(lo,\x20hi,\x20step(vec3(0.0031308),\x20c)),\x201.0);\x0a\x20\x20\x20\x20}\x0a','depthTest':!0x1,'depthWrite':!0x1}),this['_quadGeometry']=new _0x2459d9(0x2,0x2),this['_quad']=new _0x576ce4(this['_quadGeometry'],this['_encodeMaterial']),this['_quad']['frustumCulled']=!0x1,this['_quadScene']=new _0x18553b(),this['_quadScene']['add'](this['_quad']),this['_quadCamera']=new _0x432d38(-0x1,0x1,0x1,-0x1,0x0,0x1);}['setResolution'](_0x2c327a,_0x5a39f0){const _0x287eba=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x2c327a)||0x0))),_0x215653=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x5a39f0)||0x0)));_0x287eba===this['width']&&_0x215653===this['height']||(this['width']=_0x287eba,this['height']=_0x215653,this['_firstFrameChecked']=!0x1);}['setFov'](_0x43ec0a){const _0x457879=Number(_0x43ec0a);Number['isFinite'](_0x457879)&&(this['fov']=Math['min'](0x78,Math['max'](0x1,_0x457879)));}['setMount'](_0x27df75={}){void 0x0!==_0x27df75['frame']&&_0x27df75['frame']!==this['mountFrame']&&(this['mountFrame']=_0x27df75['frame']||Aa,this['_warnedFrame']=null),Array['isArray'](_0x27df75['xyz'])&&(this['mountXyz']=_0x27df75['xyz']['map'](_0x213d94=>Number(_0x213d94)||0x0),this['_mountOffset']['set'](this['mountXyz'][0x0],this['mountXyz'][0x1],this['mountXyz'][0x2])),Array['isArray'](_0x27df75['rpy'])&&(this['mountRpy']=_0x27df75['rpy']['map'](Pa),this['_mountQuat']['copy'](this['_poseQuaternion'](this['_poseQuat']))),void 0x0!==_0x27df75['forward']&&La['includes'](_0x27df75['forward'])&&(this['forwardAxis']=_0x27df75['forward'],ja(this['forwardAxis'],this['upAxis'])||(this['upAxis']=ka(this['forwardAxis'])[0x0])),void 0x0!==_0x27df75['up']&&La['includes'](_0x27df75['up'])&&ja(this['forwardAxis'],_0x27df75['up'])&&(this['upAxis']=_0x27df75['up']),this['refreshMountAxes']();}['setMountRpyField'](_0x2ce196,_0x271dc2){const _0x3dcd0f=Oa[_0x2ce196];if(void 0x0===_0x3dcd0f)return!0x1;const _0x1db148=Pa(_0x271dc2),_0x3fbba1=((_0x357e75,_0x2a2986)=>{let _0x1d06fb=_0x2a2986-_0x357e75;return _0x1d06fb>Da?_0x1d06fb-=0x2*Da:_0x1d06fb<-Da&&(_0x1d06fb+=0x2*Da),_0x1d06fb;})(this['mountRpy'][_0x3dcd0f],_0x1db148);if(this['mountRpy'][_0x3dcd0f]=_0x1db148,0x0!==_0x3fbba1){const _0x4221c2=this['_axisVec']['copy'](Fa[_0x3dcd0f])['applyQuaternion'](this['_mountQuat']);this['_mountQuat']['premultiply'](this['_axisQuat']['setFromAxisAngle'](_0x4221c2,_0x3fbba1));}return this['refreshMountAxes'](),!0x0;}['setMountXyzField'](_0x170c31,_0x4d0def){const _0x26c24e=Ta[_0x170c31];if(void 0x0===_0x26c24e)return!0x1;const _0x3c2ff9=Number(_0x4d0def)||0x0,_0x33365a=_0x3c2ff9-this['mountXyz'][_0x26c24e];if(this['mountXyz'][_0x26c24e]=_0x3c2ff9,0x0!==_0x33365a){const _0x32d2a0=this['_axisVec']['set'](0x0,0x0,0x0)['setComponent'](_0x26c24e,0x1)['applyQuaternion'](this['_mountQuat']);this['_mountOffset']['addScaledVector'](_0x32d2a0,_0x33365a);}return this['refreshMountAxes'](),!0x0;}['setMountAxesVisible'](_0x1f043d){var _0x1fd72b;const _0x259638=!!_0x1f043d;_0x259638===this['_mountAxesVisible']&&((null==(_0x1fd72b=this['_mountAxes'])?void 0x0:_0x1fd72b['visible'])??!0x1)===_0x259638||(this['_mountAxesVisible']=_0x259638,this['refreshMountAxes']());}['refreshMountAxes'](){var _0x9d64af,_0x2807b4;this['_applyMountAxes']()&&(null==(_0x2807b4=null==(_0x9d64af=this['sceneManager'])?void 0x0:_0x9d64af['redraw'])||_0x2807b4['call'](_0x9d64af));}['isMountAxesVisible'](){return this['_mountAxesVisible'];}['_applyMountAxes'](){const _0xc396ee=this['_mountAxesVisible']?this['_resolveParentObject']():null;if(!_0xc396ee)return!(!this['_mountAxes']||!this['_mountAxes']['visible'])&&(this['_mountAxes']['visible']=!0x1,!0x0);const _0xcd3819=!this['_mountAxes']||this['_mountAxes']['parent']!==_0xc396ee;_0xcd3819&&(this['_disposeMountAxes'](),this['_mountAxesSize']=this['_estimateAxesSize'](),this['_mountAxes']=Oi['createAxesGeometry'](this['_mountAxesSize']),_0xc396ee['add'](this['_mountAxes']));const {x:_0x2d0819,y:_0xaae6a8,z:_0x286a9b}=this['_mountOffset'],_0x316af8=[_0x2d0819,_0xaae6a8,_0x286a9b,this['_mountQuat']['x'],this['_mountQuat']['y'],this['_mountQuat']['z'],this['_mountQuat']['w']],_0x28ae90=!this['_mountAxesPose']||this['_mountAxesPose']['some']((_0x239e9d,_0x4febc8)=>_0x239e9d!==_0x316af8[_0x4febc8]);this['_mountAxes']['position']['set'](_0x2d0819,_0xaae6a8,_0x286a9b),this['_mountAxes']['quaternion']['copy'](this['_mountQuat']),this['_mountAxesPose']=_0x316af8;const _0x4fa565=!this['_mountAxes']['visible'];return this['_mountAxes']['visible']=!0x0,_0xcd3819||_0x4fa565||_0x28ae90;}['_estimateAxesSize'](){var _0x1ef483;let _0x4d155a=0x1;try{const _0x402934=null==(_0x1ef483=this['sceneManager'])?void 0x0:_0x1ef483['currentModel'];if((null==_0x402934?void 0x0:_0x402934['threeObject'])&&'function'==typeof this['sceneManager']['computeRobustBoundingBox']){const _0x50c217=this['sceneManager']['computeRobustBoundingBox'](_0x402934['threeObject']);_0x50c217&&!_0x50c217['isEmpty']()&&(_0x4d155a=_0x50c217['getSize'](new _0x4a4464())['length']()||0x1);}}catch(_0x33ee2c){}return Math['min'](0x2,Math['max'](0.05,0.15*_0x4d155a));}['_resolveParentObject'](){var _0x2b394e,_0x218776;if(!this['mountFrame']||this['mountFrame']===Aa)return(null==(_0x2b394e=this['sceneManager'])?void 0x0:_0x2b394e['world'])||null;const _0x57b795=null==(_0x218776=this['sceneManager'])?void 0x0:_0x218776['currentModel'],_0x146886=_0x57b795&&'function'==typeof _0x57b795['getLink']?_0x57b795['getLink'](this['mountFrame']):null;return(null==_0x146886?void 0x0:_0x146886['threeObject'])||null;}['_disposeMountAxes'](){this['_mountAxes']&&(this['_mountAxes']['removeFromParent'](),this['_mountAxes']['traverse'](_0x2d433a=>{var _0x5df6a6,_0x13522c;null==(_0x13522c=null==(_0x5df6a6=_0x2d433a['geometry'])?void 0x0:_0x5df6a6['dispose'])||_0x13522c['call'](_0x5df6a6);(Array['isArray'](_0x2d433a['material'])?_0x2d433a['material']:_0x2d433a['material']?[_0x2d433a['material']]:[])['forEach'](_0x2b2e30=>{var _0x308d0f;return null==(_0x308d0f=_0x2b2e30['dispose'])?void 0x0:_0x308d0f['call'](_0x2b2e30);});}),this['_mountAxes']=null,this['_mountAxesSize']=0x0,this['_mountAxesPose']=null);}['getState'](){return{'width':this['width'],'height':this['height'],'fov':this['fov'],'mountFrame':this['mountFrame'],'mountXyz':[...this['mountXyz']],'mountRpy':[...this['mountRpy']],'forwardAxis':this['forwardAxis'],'upAxis':this['upAxis'],'safeMode':this['_safeMode']};}['capture'](_0xb0809=null){const _0x398a6e=this['sceneManager'],_0x4058e0=null==_0x398a6e?void 0x0:_0x398a6e['renderer'];if(!_0x4058e0||_0x398a6e['_contextLost'])return this['lastCaptureSkipped']=_0x4058e0?'context-lost':'no-renderer',null;this['lastCaptureSkipped']=null,this['_ensureTargets'](),this['_updateCameraPose']();const _0x1de4ed=this['width']*this['height']*0x4,_0x56d9a7=_0xb0809&&_0xb0809['length']===_0x1de4ed?_0xb0809:this['_rgba'],_0x1b39c9=performance['now'](),_0x2d10da=_0x4058e0['getRenderTarget'](),_0x52ff35=this['_useAltTarget']?this['_targetLinearAlt']:this['_targetLinear'],_0xbd77df=this['_useAltTarget']?this['_targetLdrAlt']:this['_targetLdr'],_0x4ddd32=this['_useAltTarget']?this['_targetLdr']:this['_targetLdrAlt'],_0x2cac6c=this['_hasPrevFrame'];let _0x3f2175=0x0;if(_0x2cac6c){const _0x107aae=performance['now']();_0x4058e0['readRenderTargetPixels'](_0x4ddd32,0x0,0x0,this['width'],this['height'],_0x56d9a7),_0x3f2175=performance['now']()-_0x107aae;}const _0x5c64a3=_0x4058e0['shadowMap'],_0x2ebea9=!!(_0x398a6e['directionalLight']&&_0x398a6e['directionalLight']['shadow']&&_0x398a6e['directionalLight']['shadow']['map']),_0x4b4b83='function'==typeof _0x398a6e['hasPendingRender']&&!_0x398a6e['hasPendingRender'](),_0x1c1400=_0x5c64a3['enabled']&&_0x2ebea9&&_0x4b4b83,_0x4b6a8e=_0x5c64a3['autoUpdate'];_0x1c1400&&(_0x5c64a3['autoUpdate']=!0x1),this['_hideHelpers']();const _0x4f4f1f=performance['now']();try{_0x4058e0['setRenderTarget'](_0x52ff35),_0x4058e0['render'](_0x398a6e['scene'],this['camera']),this['_encodeMaterial']['uniforms']['tLinear']['value']=_0x52ff35['texture'],_0x4058e0['setRenderTarget'](_0xbd77df),_0x4058e0['render'](this['_quadScene'],this['_quadCamera']);}finally{_0x1c1400&&(_0x5c64a3['autoUpdate']=_0x4b6a8e),_0x4058e0['setRenderTarget'](_0x2d10da),this['_restoreHelpers']();}const _0x3223c7=performance['now']()-_0x4f4f1f;return this['_useAltTarget']=!this['_useAltTarget'],this['_hasPrevFrame']=!0x0,this['lastCaptureMs']=performance['now']()-_0x1b39c9,this['lastFrameLag']=_0x2cac6c?0x1:0x0,_0x2cac6c?(this['_firstFrameChecked']||(this['_firstFrameChecked']=!0x0,this['_checkFirstFrame'](_0x56d9a7)),{'data':new Uint8ClampedArray(_0x56d9a7['buffer'],_0x56d9a7['byteOffset'],_0x56d9a7['byteLength']),'width':this['width'],'height':this['height'],'captureMs':this['lastCaptureMs'],'renderMs':_0x3223c7,'readbackMs':_0x3f2175,'frameLag':this['lastFrameLag'],'safeMode':this['_safeMode']}):(this['lastCaptureSkipped']='priming',null);}['dispose'](){this['_disposeTargets'](),this['_probeTarget']&&(this['_probeTarget']['dispose'](),this['_probeTarget']=null),this['_quadGeometry']['dispose'](),this['_encodeMaterial']['dispose'](),this['_rgba']=null;}['_supportsFloatTarget'](){var _0x557f9b;const _0x4f1d61=null==(_0x557f9b=this['sceneManager']['renderer'])?void 0x0:_0x557f9b['extensions'];return!(!_0x4f1d61||'function'!=typeof _0x4f1d61['has'])&&(_0x4f1d61['has']('EXT_color_buffer_half_float')||_0x4f1d61['has']('EXT_color_buffer_float'));}['_ensureTargets'](){if(this['_targetLinear']&&this['_targetSize']['w']===this['width']&&this['_targetSize']['h']===this['height'])return;this['_disposeTargets']();const _0x4366ba=!this['_safeMode']&&this['_supportsFloatTarget']()?_0x4ccf77:_0x29d3b9;this['_targetLinear']=new _0x1075a7(this['width'],this['height'],{'type':_0x4366ba,'format':_0x2333fa,'minFilter':_0x4b1c10,'magFilter':_0x4b1c10,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinear']['texture']['generateMipmaps']=!0x1,this['_targetLdr']=new _0x1075a7(this['width'],this['height'],{'type':_0x29d3b9,'format':_0x2333fa,'minFilter':_0x4b1c10,'magFilter':_0x4b1c10,'depthBuffer':!0x1,'stencilBuffer':!0x1}),this['_targetLdr']['texture']['generateMipmaps']=!0x1,this['_targetLinearAlt']=new _0x1075a7(this['width'],this['height'],{'type':_0x4366ba,'format':_0x2333fa,'minFilter':_0x4b1c10,'magFilter':_0x4b1c10,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinearAlt']['texture']['generateMipmaps']=!0x1,this['_targetLdrAlt']=new _0x1075a7(this['width'],this['height'],{'type':_0x29d3b9,'format':_0x2333fa,'minFilter':_0x4b1c10,'magFilter':_0x4b1c10,'depthBuffer':!0x1,'stencilBuffer':!0x1}),this['_targetLdrAlt']['texture']['generateMipmaps']=!0x1,this['_useAltTarget']=!0x1,this['_hasPrevFrame']=!0x1,this['_rgba']=new Uint8Array(this['width']*this['height']*0x4),this['_targetSize']={'w':this['width'],'h':this['height']},this['_firstFrameChecked']=!0x1;}['probeGpu'](_0x56b826=0x5){const _0xc5c58a=this['sceneManager'],_0x3ef6e9=null==_0xc5c58a?void 0x0:_0xc5c58a['renderer'];if(!_0x3ef6e9||_0xc5c58a['_contextLost'])return null;this['_probeTarget']||(this['_probeTarget']=new _0x1075a7(0x100,0x100,{'type':_0x29d3b9,'format':_0x2333fa,'depthBuffer':!0x1,'stencilBuffer':!0x1}));const _0x30a848=0x100,_0x4aab60=new Uint8Array(0x40000),_0x3bfc52=_0x3ef6e9['getRenderTarget'](),_0x197bfe=performance['now']();for(let _0x4d37b8=0x0;_0x4d37b8<_0x56b826;_0x4d37b8++)_0x3ef6e9['setRenderTarget'](this['_probeTarget']),_0x3ef6e9['clear'](!0x0,!0x1,!0x1),_0x3ef6e9['readRenderTargetPixels'](this['_probeTarget'],0x0,0x0,_0x30a848,_0x30a848,_0x4aab60);_0x3ef6e9['setRenderTarget'](_0x3bfc52);const _0x32055c=(performance['now']()-_0x197bfe)/_0x56b826;return this['lastGpuProbeMs']=_0x32055c,_0x32055c;}['_disposeTargets'](){for(const _0x5d8871 of[this['_targetLinear'],this['_targetLdr'],this['_targetLinearAlt'],this['_targetLdrAlt']])_0x5d8871&&_0x5d8871['dispose']();this['_targetLinear']=null,this['_targetLdr']=null,this['_targetLinearAlt']=null,this['_targetLdrAlt']=null,this['_probeTarget']&&(this['_probeTarget']['dispose'](),this['_probeTarget']=null),this['lastGpuProbeMs']=null,this['_useAltTarget']=!0x1,this['_hasPrevFrame']=!0x1,this['_targetSize']={'w':0x0,'h':0x0};}['_resolveParentMatrix'](){const _0x4c9eca=this['_worldMatrix'];if(!this['mountFrame']||this['mountFrame']===Aa){const _0x436aba=this['sceneManager']['world'];return _0x436aba?(_0x436aba['updateWorldMatrix'](!0x0,!0x1),_0x4c9eca['copy'](_0x436aba['matrixWorld'])):_0x4c9eca['identity'](),_0x4c9eca;}const _0xa4cdaa=this['sceneManager']['currentModel'],_0x3c59ab=_0xa4cdaa&&'function'==typeof _0xa4cdaa['getLink']?_0xa4cdaa['getLink'](this['mountFrame']):null,_0x5187fa=null==_0x3c59ab?void 0x0:_0x3c59ab['threeObject'];if(_0x5187fa)_0x5187fa['updateWorldMatrix'](!0x0,!0x1),_0x4c9eca['copy'](_0x5187fa['matrixWorld']);else{this['_warnedFrame']!==this['mountFrame']&&(this['_warnedFrame']=this['mountFrame']);const _0x41326f=this['sceneManager']['world'];_0x41326f?(_0x41326f['updateWorldMatrix'](!0x0,!0x1),_0x4c9eca['copy'](_0x41326f['matrixWorld'])):_0x4c9eca['identity']();}return _0x4c9eca;}['_updateCameraPose'](){const _0x565b10=this['_resolveParentMatrix']();_0x565b10['multiply'](this['_buildOffsetMatrix']()),_0x565b10['decompose'](this['_tmpPos'],this['_tmpQuat'],this['_tmpScale']),this['camera']['position']['copy'](this['_tmpPos']),this['camera']['quaternion']['copy'](this['_tmpQuat']),this['camera']['scale']['copy'](this['_tmpScale']),this['camera']['aspect']=this['width']/this['height'],this['camera']['fov']=this['fov'],this['camera']['updateProjectionMatrix']();}['_buildOffsetMatrix'](){const {x:_0x3b307b,y:_0x8f317f,z:_0x246e76}=this['_mountOffset'];return this['_offsetMatrix']['makeTranslation'](_0x3b307b,_0x8f317f,_0x246e76),this['_offsetMatrix']['multiply'](this['_buildPoseMatrix']())['multiply'](this['_buildOrientationMatrix']());}['_poseQuaternion'](_0x25f1a7){const [_0x412976,_0x248ac9,_0x35ac0b]=this['mountRpy'];return _0x25f1a7['setFromEuler'](this['_euler']['set'](_0x412976,_0x248ac9,_0x35ac0b,'ZXY'));}['_buildPoseMatrix'](){return this['_poseMatrix']['makeRotationFromQuaternion'](this['_mountQuat']);}['_buildOrientationMatrix'](){return Ca(this['forwardAxis'],this['_fwdVec'])['normalize'](),Ca(this['upAxis'],this['_upVec'])['normalize'](),this['_rightVec']['crossVectors'](this['_fwdVec'],this['_upVec'])['normalize'](),this['_upVec']['crossVectors'](this['_rightVec'],this['_fwdVec'])['normalize'](),this['_backVec']['copy'](this['_fwdVec'])['negate'](),this['_presetMatrix']['makeBasis'](this['_rightVec'],this['_upVec'],this['_backVec']);}['_hideHelpers'](){var _0xff6332;const _0x5abc24=this['sceneManager'];this['_hidden']=[];const _0x512940=_0xfdfa99=>{_0xfdfa99&&_0xfdfa99['visible']&&(this['_hidden']['push'](_0xfdfa99),_0xfdfa99['visible']=!0x1);};_0x512940(_0x5abc24['referenceGrid']),_0x512940(_0x5abc24['worldAxes']),_0x512940(null==(_0xff6332=_0x5abc24['measurementManager'])?void 0x0:_0xff6332['measurementHelper']),_0x5abc24['scene']['traverse'](_0x58be1a=>{_0x58be1a['userData']&&_0x58be1a['userData']['excludeFromBBox']&&_0x512940(_0x58be1a);});}['_restoreHelpers'](){for(const _0x3e31e3 of this['_hidden'])_0x3e31e3['visible']=!0x0;this['_hidden']=[];}['_checkFirstFrame'](_0x162611){if(this['_safeMode'])return!0x1;let _0x1b7b06=0x0;for(let _0x407e4f=0x0;_0x407e4f<_0x162611['length'];_0x407e4f+=0x40)_0x1b7b06+=_0x162611[_0x407e4f];return 0x0===_0x1b7b06&&(this['_safeMode']=!0x0,this['_disposeTargets'](),this['_ensureTargets'](),!0x0);}}class Ra{constructor(_0x3f4eb9,_0x5acd9b){this['rosController']=_0x3f4eb9,this['virtualCamera']=_0x5acd9b,this['topicName']='/camera/image_raw/compressed',this['messageType']='sensor_msgs/msg/CompressedImage',this['frameId']='virtual_camera_optical_frame',this['rateHz']=0xa,this['imageFormat']='jpeg',this['jpegQuality']=0x50,this['onPreview']=null,this['onRunningChange']=null,this['onCameraConnectionChange']=null,this['onEncodings']=null,this['onDomainId']=null,this['_worker']=null,this['_running']=!0x1,this['_connectionWanted']=!0x1,this['_previewEnabled']=!0x1,this['_encodings']=null,this['_pool']=[],this['_poolSize']={'w':0x0,'h':0x0},this['_poolAllocs']=0x0,this['_win']={'count':0x0,'captureSum':0x0,'captureMax':0x0,'renderMax':0x0,'readbackMax':0x0},this['_noFrameCount']=0x0,this['_lastNoFrameReason']=null,this['_lastError']=null,this['_workerStats']={'rate':0x0,'target':0xa,'queued':0x0,'depth':0x1,'underruns':0x0,'dropped':0x0,'payloadBytes':0x0,'encodeMs':0x0,'pendingNeed':0x0,'encodeInFlight':0x0,'stalled':0x0,'reconnects':0x0,'workerConnected':!0x1,'workerRunning':!0x1,'wsState':-0x1,'lastDrop':null,'lastFormat':null};}['start'](_0x2d6959){return!!this['_running']||(_0x2d6959?!!this['_ensureWorker']()&&(this['_running']=!0x0,this['_lastError']=null,this['_poolAllocs']=0x0,this['_noFrameCount']=0x0,this['_lastNoFrameReason']=null,this['_win']={'count':0x0,'captureSum':0x0,'captureMax':0x0,'renderMax':0x0,'readbackMax':0x0},this['_resetPool'](),this['_connectionWanted']=!0x0,this['_worker']['postMessage']({'cmd':'start',...this['_configPayload']({'url':_0x2d6959})}),this['_notifyRunningChange'](),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1));}['connect'](_0xffe1b6){return _0xffe1b6?!!this['_ensureWorker']()&&(this['_connectionWanted']=!0x0,this['_lastError']=null,this['_worker']['postMessage']({'cmd':'connect',...this['_configPayload']({'url':_0xffe1b6})}),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1);}['disconnect'](){var _0x3d6c5a;this['_running']=!0x1,this['_connectionWanted']=!0x1,null==(_0x3d6c5a=this['_worker'])||_0x3d6c5a['postMessage']({'cmd':'disconnect'}),this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,null),this['_notifyRunningChange']();}['stop'](){var _0x40d865;this['_running']&&(this['_running']=!0x1,null==(_0x40d865=this['_worker'])||_0x40d865['postMessage']({'cmd':'stop'}),this['_pool']=[],this['_notifyRunningChange']());}['isRunning'](){return this['_running'];}['onTopicConfigChanged'](){this['_pushConfig']();}['onRateChanged'](){this['_pushConfig']();}['requestEncodings'](){this['_encodings']&&this['onEncodings']&&this['onEncodings'](this['_encodings']),this['_ensureWorker']()&&this['_worker']['postMessage']({'cmd':'encodings'});}['onFormatChanged'](){this['_pushConfig']();}['setPreviewEnabled'](_0xa1c823){this['_previewEnabled']=!!_0xa1c823,this['_pushConfig']();}['dispose'](){this['stop'](),this['_worker']&&(this['_worker']['terminate'](),this['_worker']=null),this['_pool']=[];}['_provideFrame'](){if(!this['_worker'])return;if(!this['_running'])return void this['_answerNoFrame']('not-running');let _0x277fc2=null,_0x428da3=!0x1;try{_0x277fc2=this['_acquireBuffer']();const _0x4aa0d0=this['virtualCamera']['capture'](_0x277fc2);if(!_0x4aa0d0)return this['_releaseBuffer'](_0x277fc2),void this['_answerNoFrame'](this['virtualCamera']['lastCaptureSkipped']||'capture-null');this['_recordCapture'](_0x4aa0d0),this['_worker']['postMessage']({'cmd':'frame','buffer':_0x277fc2['buffer'],'width':_0x4aa0d0['width'],'height':_0x4aa0d0['height'],'captureMs':_0x4aa0d0['captureMs']},[_0x277fc2['buffer']]),_0x428da3=!0x0;}catch(_0x4fdff1){this['_lastError']='采集失败:\x20'+((null==_0x4fdff1?void 0x0:_0x4fdff1['message'])||_0x4fdff1),_0x277fc2&&!_0x428da3&&this['_releaseBuffer'](_0x277fc2),this['_answerNoFrame']('error');}}['_answerNoFrame'](_0x1354c5){var _0x2dbdd5;this['_noFrameCount']++,this['_lastNoFrameReason']=_0x1354c5,null==(_0x2dbdd5=this['_worker'])||_0x2dbdd5['postMessage']({'cmd':'noframe','reason':_0x1354c5});}['_ensureWorker'](){if(this['_worker'])return!0x0;if('function'!=typeof Worker||'function'!=typeof OffscreenCanvas)return this['_lastError']='浏览器不支持\x20Worker/OffscreenCanvas,无法发布虚拟相机',!0x1;try{return this['_worker']=new Worker('./camera-publish-worker.js'),this['_worker']['onmessage']=_0x1d4de5=>this['_onWorkerMessage'](_0x1d4de5['data']||{}),this['_worker']['onerror']=_0x33217b=>{if(this['_lastError']='相机发布\x20Worker\x20异常:\x20'+((null==_0x33217b?void 0x0:_0x33217b['message'])||_0x33217b),this['_running']=!0x1,this['_connectionWanted']=!0x1,this['_worker']){try{this['_worker']['terminate']();}catch(_0x59694e){}this['_worker']=null;}this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,this['_lastError']),this['_notifyRunningChange']();},!0x0;}catch(_0xf1cbd4){return this['_lastError']='无法创建相机发布\x20Worker:\x20'+((null==_0xf1cbd4?void 0x0:_0xf1cbd4['message'])||_0xf1cbd4),!0x1;}}['_onWorkerMessage'](_0x4d6827){switch(_0x4d6827['cmd']){case'need':this['_provideFrame']();break;case'buffer':_0x4d6827['buffer']&&this['_releaseBuffer'](new Uint8Array(_0x4d6827['buffer']));break;case'domainId':this['onDomainId']&&this['onDomainId']('number'==typeof _0x4d6827['value']?_0x4d6827['value']:null);break;case'encodings':this['_encodings']=Array['isArray'](_0x4d6827['list'])?_0x4d6827['list']:null,this['onEncodings']&&this['onEncodings'](this['_encodings']);break;case'preview':this['onPreview']&&this['onPreview']({'base64':_0x4d6827['base64'],'mime':_0x4d6827['mime']||'image/jpeg','width':_0x4d6827['width'],'height':_0x4d6827['height'],'previewWidth':_0x4d6827['previewWidth'],'previewHeight':_0x4d6827['previewHeight'],'payloadBytes':_0x4d6827['payloadBytes'],'captureMs':_0x4d6827['captureMs']});break;case'stats':this['_workerStats']={'rate':_0x4d6827['rate']||0x0,'target':_0x4d6827['target']||this['rateHz'],'queued':_0x4d6827['queue']||0x0,'depth':_0x4d6827['depth']||0x1,'underruns':_0x4d6827['underruns']||0x0,'dropped':_0x4d6827['dropped']||0x0,'payloadBytes':_0x4d6827['payloadBytes']||0x0,'encodeMs':_0x4d6827['encodeMs']||0x0,'pendingNeed':_0x4d6827['pendingNeed']||0x0,'encodeInFlight':_0x4d6827['encodeInFlight']||0x0,'stalled':_0x4d6827['stalled']||0x0,'reconnects':_0x4d6827['reconnects']||0x0,'workerConnected':!!_0x4d6827['connected'],'workerRunning':!!_0x4d6827['running'],'wsState':'number'==typeof _0x4d6827['wsState']?_0x4d6827['wsState']:-0x1,'lastDrop':_0x4d6827['lastDrop']||null,'lastFormat':_0x4d6827['format']||null};break;case'state':_0x4d6827['error']&&(this['_lastError']=_0x4d6827['error']),this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!!_0x4d6827['connected'],_0x4d6827['error']||null);}}['_configPayload'](_0x61c7be={}){return{'topic':this['topicName'],'type':this['messageType'],'frameId':this['frameId'],'rate':this['rateHz'],'format':this['imageFormat'],'quality':this['jpegQuality'],'preview':this['_previewEnabled'],'previewWidth':0x140,..._0x61c7be};}['_pushConfig'](){(this['_running']||this['_connectionWanted'])&&this['_worker']&&this['_worker']['postMessage']({'cmd':'config',...this['_configPayload']()});}['_resetPool'](){this['_poolSize']={'w':this['virtualCamera']['width'],'h':this['virtualCamera']['height']},this['_pool']=[];for(let _0x422c11=0x0;_0x422c11<0x3;_0x422c11++)this['_pool']['push'](new Uint8Array(this['virtualCamera']['width']*this['virtualCamera']['height']*0x4));}['_acquireBuffer'](){const _0x10ca37=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;this['_poolSize']['w']===this['virtualCamera']['width']&&this['_poolSize']['h']===this['virtualCamera']['height']||this['_resetPool']();let _0x394310=this['_pool']['pop']();return _0x394310&&_0x394310['length']===_0x10ca37||(_0x394310=new Uint8Array(_0x10ca37),this['_poolAllocs']++),_0x394310;}['_releaseBuffer'](_0x4ef258){const _0x414c06=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;_0x4ef258&&_0x4ef258['length']===_0x414c06&&(this['_pool']['length']>=0x3||this['_pool']['push'](_0x4ef258));}['_recordCapture'](_0x42714b){const _0x507597=_0x42714b['captureMs']||0x0;this['_win']['count']++,this['_win']['captureSum']+=_0x507597,_0x507597>this['_win']['captureMax']&&(this['_win']['captureMax']=_0x507597),(_0x42714b['renderMs']||0x0)>this['_win']['renderMax']&&(this['_win']['renderMax']=_0x42714b['renderMs']||0x0),(_0x42714b['readbackMs']||0x0)>this['_win']['readbackMax']&&(this['_win']['readbackMax']=_0x42714b['readbackMs']||0x0);}['_notifyRunningChange'](){this['onRunningChange']&&this['onRunningChange'](this['_running']);}['collectStats'](){const _0x47351f=this['_workerStats'],_0x1352e2=this['_win'],_0x214f87=_0x1352e2['count'],_0x52f8f7={'rate':_0x47351f['rate'],'target':_0x47351f['target'],'queued':_0x47351f['queued'],'depth':_0x47351f['depth'],'underruns':_0x47351f['underruns'],'dropped':_0x47351f['dropped'],'payloadBytes':_0x47351f['payloadBytes'],'encodeMs':_0x47351f['encodeMs'],'format':_0x47351f['lastFormat']||'','pendingNeed':_0x47351f['pendingNeed'],'encodeInFlight':_0x47351f['encodeInFlight'],'stalled':_0x47351f['stalled'],'reconnects':_0x47351f['reconnects'],'workerConnected':_0x47351f['workerConnected'],'workerRunning':_0x47351f['workerRunning'],'wsState':_0x47351f['wsState'],'lastDrop':_0x47351f['lastDrop'],'running':this['_running'],'hasWorker':!!this['_worker'],'captured':_0x214f87,'captureMs':_0x214f87?_0x1352e2['captureSum']/_0x214f87:0x0,'captureMax':_0x1352e2['captureMax'],'renderMax':_0x1352e2['renderMax'],'readbackMax':_0x1352e2['readbackMax'],'noFrameCount':this['_noFrameCount'],'noFrameReason':this['_lastNoFrameReason'],'poolAllocs':this['_poolAllocs'],'workerEncode':!0x0,'error':this['_lastError']};return this['_win']={'count':0x0,'captureSum':0x0,'captureMax':0x0,'renderMax':0x0,'readbackMax':0x0},_0x52f8f7;}['getLastError'](){return this['_lastError'];}}const za=['320x240','640x480','1280x720','1920x1080'],Na=['jpeg','png','webp'];class Ua{constructor(_0x24078e,_0x53a8c0,_0x571d6a){this['app']=_0x24078e,this['virtualCamera']=_0x53a8c0,this['publisher']=_0x571d6a,this['panel']=null,this['_lastPreviewAt']=0x0,this['_statsTimer']=null,this['_cameraConnected']=!0x1,this['_domainId']=null,this['_domainIdResolved']=!0x1,this['_encodings']=null,this['publisher']['onPreview']=_0x487bb4=>this['_handlePreview'](_0x487bb4),this['publisher']['onRunningChange']=()=>this['_syncRunningState'](),this['publisher']['onCameraConnectionChange']=(_0x40f6d9,_0x2b6f35)=>this['_handleCameraConnection'](_0x40f6d9,_0x2b6f35),this['publisher']['onEncodings']=_0x178dd1=>this['_handleEncodings'](_0x178dd1),this['publisher']['onDomainId']=_0x4c14ac=>this['_handleDomainId'](_0x4c14ac);}['createPanel'](){var _0x57dd58,_0x4d438f;const _0x4c9c6e=document['createElement']('div');_0x4c9c6e['id']='virtual-camera-panel',_0x4c9c6e['className']='floating-panel',_0x4c9c6e['style']['cssText']='top:\x2080px;\x20left:\x20400px;\x20width:\x20400px;\x20max-height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;',_0x4c9c6e['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22virtualCamera\x22>虚拟相机</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22\x20data-panel=\x22virtual-camera-panel\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20连接区:从\x20ROS\x20面板前段整体移植过来\x20——\x20启动提示\x20+\x20下载脚本\x20+\x20地址\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROS_DOMAIN_ID\x20+\x20连接/断开\x20+\x20状态。相机走自己的一条\x20WebSocket,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20所以在相机面板里就能连,不必先去\x20ROS\x20面板。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-hint\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22rosBridgeHint\x22>💡\x20需要本地启动\x20rosbridge:</span><code>./start-rosbridge.sh\x20--domain_id=xxx</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<a\x20class=\x22ros-download-btn\x22\x20id=\x22vc-download-script\x22\x20title=\x22下载启动脚本\x22\x20data-i18n=\x22downloadScript\x22\x20data-i18n-title=\x22downloadScriptTitle\x22>⬇\x20下载脚本</a>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22serverAddress\x22>服务器地址</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22vc-ros-url\x22\x20class=\x22ros-input\x22\x20placeholder=\x22ws://localhost:9090\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20style=\x22margin:0;white-space:nowrap;\x22>ROS_DOMAIN_ID:</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22vc-domain-id\x22\x20class=\x22ros-rate-badge\x22\x20style=\x22background:#1e8e3e;color:#fff;\x22>—</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;gap:8px;align-items:center;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-connect-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20data-i18n=\x22connect\x22>连接</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-disconnect-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22disconnect\x22\x20disabled>断开</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20状态文字带运行态(已连接/未连接),不能挂\x20data-i18n\x20——\x20否则切语言时会被\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20静态文案无条件覆盖成「未连接」;由\x20refreshLanguage()\x20按真实状态重算\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-status\x22\x20id=\x22vc-cam-status\x22\x20title=\x22相机自己的\x20rosbridge\x20连接,发布图像专线\x22\x20data-i18n-title=\x22cameraStatusTitle\x22>●\x20相机未连接</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22publishTopic\x22>发布Topic</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22vc-topic\x22\x20class=\x22ros-input\x20ros-topic-input\x22\x20value=\x22'+this['publisher']['topicName']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-rate-badge\x20ros-topic-rate\x22\x20id=\x22vc-rate\x22\x20title=\x22实际发布频率\x22\x20data-i18n-title=\x22actualPublishRate\x22>0.0\x20Hz</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22messageType\x22>消息类型</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-msg-type\x22\x20class=\x22ros-select\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22'+this['publisher']['messageType']+'\x22>'+this['publisher']['messageType']+'</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22encodingFormat\x22>编码格式</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-format\x22\x20class=\x22ros-select\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+Na['map'](_0x3b6eab=>'<option\x20value=\x22'+_0x3b6eab+'\x22>'+_0x3b6eab+'</option>')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22>frame_id</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22vc-frame-id\x22\x20class=\x22ros-input\x22\x20value=\x22'+this['publisher']['frameId']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22resolution\x22>分辨率</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20宽/高那两个数字框放大了一号(72→96px、字号\x2013→14px):它们是这里唯一带\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20微调箭头的控件,四位数字\x20+\x20箭头在\x2072px\x20里挤在一起不好点。预设下拉\x20flex:1,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20让出来的宽度它自动吃掉,整行不会溢出。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:6px;align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-width\x22\x20class=\x22ros-input\x22\x20style=\x22width:96px;font-size:14px;\x22\x20value=\x22'+this['virtualCamera']['width']+'\x22\x20min=\x2216\x22\x20max=\x224096\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);\x22>×</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-height\x22\x20class=\x22ros-input\x22\x20style=\x22width:96px;font-size:14px;\x22\x20value=\x22'+this['virtualCamera']['height']+'\x22\x20min=\x2216\x22\x20max=\x224096\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-preset\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22\x22\x20data-i18n=\x22preset\x22>预设</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+za['map'](_0x3f609d=>'<option\x20value=\x22'+_0x3f609d+'\x22>'+_0x3f609d['replace']('x','×')+'</option>')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20视场角与发布频率都是短数字,并成一行放;单位跟着数值写进**标识**里\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(与「发布频率(Hz)」同一格式),不再在输入框后面挂一个符号\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22flex:1;min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22vc-fov\x22\x20data-i18n=\x22fov\x22>视场角\x20FOV(°)</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-fov\x22\x20class=\x22ros-input\x22\x20value=\x22'+this['virtualCamera']['fov']+'\x22\x20min=\x225\x22\x20max=\x22120\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22flex:1;min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22vc-rate-hz\x22\x20data-i18n=\x22publishRateLabel\x22>发布频率(Hz)</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rate-hz\x22\x20class=\x22ros-input\x22\x20value=\x22'+this['publisher']['rateHz']+'\x22\x20min=\x221\x22\x20max=\x22120\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22mountFrame\x22>挂载坐标系</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-mount-frame\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;min-width:0;\x22></select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20勾选框与坐标系同一行:选\x20link\x20的同时就能开轴,边选边看\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-checkbox\x22\x20style=\x22flex-shrink:0;white-space:nowrap;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22在场景里画出所选\x20link\x20自己的\x20X/Y/Z\x20轴(红=X\x20绿=Y\x20蓝=Z),方便挑光轴与图像上方;设了下面的位置/姿态后它会跟着一起动,零姿态时就是这根\x20link\x20的坐标系。辅助轴只在面板打开时显示,也不会进入发布的图像\x22\x20data-i18n-title=\x22showAxesTitle\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20id=\x22vc-show-axes\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22showAxes\x22>显示坐标系</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20位置(米,步进\x200.001)=\x20相机沿**所选坐标系当前朝向**的安装点;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20姿态(度)=\x20那根\x20link\x20的显示姿态。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20**位置与姿态是同一套增量模型**:每改一个字段,就把「新值−旧值」沿**当时那一版\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20坐标系**的对应轴平移/旋转一次,所以转过之后再改位置,走的仍是转完之后的轴,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20而不是最初那根(平移和旋转都各自绑一个字段,不能把三个值打包成绝对量推下去)。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20姿态三个轴一律**右手定则正方向**(从该轴正端看逆时针):Roll\x20绕\x20X、Pitch\x20绕\x20Y、\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Yaw\x20绕\x20Z。数值都是\x22这个刻度拧了多少\x22,读数与编辑顺序有关。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20位置/姿态**各有一个「归零」**,紧跟在各自那一行后面:只复位自己那一组,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20另半边(读数与姿态)一律不动。归零是**绝对复位**。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20姿态绕**挂载坐标系自己的原点**转(改姿态相机原地不动、原点不飘),而且\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20只作用于挂载坐标系(相机\x20+\x20那组辅助轴):**link\x20对象、URDF、关节\x20origin\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20一个字节都不动**,所以没有\x22关面板要还原\x22这回事。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20每个量都有常显标识,不用鼠标悬停;manager\x20接口一律弧度(UI\x20用度)——\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20**姿态读数归一化到\x20±180°**:显示永远不超界,但**故意不设\x20min/max**,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20否则原生微调箭头一到\x20±180\x20就被浏览器夹住、再也点不动了。越界值由\x20manager\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20换成等价短角后回写(181°\x20→\x20-179°,link\x20照旧继续往同方向转\x201°),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20所以到边界后能一直点下去,转多少圈都行。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20位置与姿态各一张网格,**列宽模板完全一样**,所以两行的标识与输入框照样上下对齐。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20每行的「归零」是这一行的**最后一格**(不另起一行)。代价是这一格要占\x20~34px,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20只能从六个数字框里出:所以它们的左右内边距收窄成\x204px(默认\x2012px),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20否则\x20\x22-0.1235\x22\x20这种值会被裁掉。面板宽\x20400px\x20也是为这个留的余量。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;grid-template-columns:24px\x20repeat(3,\x2030px\x20minmax(0,\x201fr))\x2010px\x20auto;gap:4px;align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22position\x22>位置</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>X</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-pos-x\x22\x20class=\x22ros-input\x22\x20step=\x220.001\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Y</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-pos-y\x22\x20class=\x22ros-input\x22\x20step=\x220.001\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Z</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-pos-z\x22\x20class=\x22ros-input\x22\x20step=\x220.001\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;\x22>m</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-pos-reset\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22zeroOut\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:2px\x206px;font-size:10px;line-height:1.2;white-space:nowrap;\x22>归零</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;grid-template-columns:24px\x20repeat(3,\x2030px\x20minmax(0,\x201fr))\x2010px\x20auto;gap:4px;align-items:center;margin-top:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22orientation\x22>姿态</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Roll</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rpy-r\x22\x20class=\x22ros-input\x22\x20step=\x221\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Pitch</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rpy-p\x22\x20class=\x22ros-input\x22\x20step=\x221\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Yaw</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rpy-y\x22\x20class=\x22ros-input\x22\x20step=\x221\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;\x22>°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-rpy-reset\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22zeroOut\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:2px\x206px;font-size:10px;line-height:1.2;white-space:nowrap;\x22>归零</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:52px;color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22opticalAxis\x22>光轴</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-forward\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;\x22></select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:56px;color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22imageUp\x22>图像上方</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-up\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;\x22></select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-start-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20style=\x22flex:1;\x22\x20data-i18n=\x22startPublish\x22>开始发布</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-stop-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20style=\x22flex:1;\x22\x20data-i18n=\x22stopPublish\x22\x20disabled>停止</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<img\x20id=\x22vc-preview\x22\x20alt=\x22'+this['_t']('previewAlt','虚拟相机预览')+'\x22\x20style=\x22width:100%;margin-top:6px;border-radius:6px;background:#000;display:none;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0x4c9c6e,this['refreshMountTargets'](),this['_syncMountPoseInputs'](),this['_syncOrientationSelects'](),this['attachEventListeners'](),this['_syncPresetSelect'](),this['_syncFormatSelect'](),null==(_0x4d438f=(_0x57dd58=this['publisher'])['requestEncodings'])||_0x4d438f['call'](_0x57dd58);const _0x249e9a=_0x4c9c6e['querySelector']('#vc-ros-url');return _0x249e9a&&(_0x249e9a['value']=this['_resolveRosUrl']()),this['_syncConnectionButtons'](!0x1),this['startStatsMonitor'](),_0x4c9c6e;}['attachEventListeners'](){var _0x322651;const _0x3b5fe0=_0x4b4340=>this['panel']['querySelector']('#'+_0x4b4340);_0x3b5fe0('vc-topic')['addEventListener']('change',_0x5829b6=>{this['publisher']['topicName']=_0x5829b6['target']['value']['trim']()||this['publisher']['topicName'],_0x5829b6['target']['value']=this['publisher']['topicName'],this['publisher']['onTopicConfigChanged']();}),_0x3b5fe0('vc-frame-id')['addEventListener']('change',_0x323421=>{this['publisher']['frameId']=_0x323421['target']['value']['trim']();}),[['vc-pos-x','x'],['vc-pos-y','y'],['vc-pos-z','z']]['forEach'](([_0x1a7095,_0x3f9e7e])=>{_0x3b5fe0(_0x1a7095)['addEventListener']('change',_0x516d0d=>{const _0x255873=parseFloat(_0x516d0d['target']['value']);this['virtualCamera']['setMountXyzField'](_0x3f9e7e,Number['isFinite'](_0x255873)?_0x255873:0x0),this['_syncMountPoseInputs']();});}),[['vc-rpy-r','roll'],['vc-rpy-p','pitch'],['vc-rpy-y','yaw']]['forEach'](([_0x4a9d85,_0x50c3eb])=>{_0x3b5fe0(_0x4a9d85)['addEventListener']('change',_0x5ef231=>{const _0x26a0e9=parseFloat(_0x5ef231['target']['value']);this['virtualCamera']['setMountRpyField'](_0x50c3eb,(Number['isFinite'](_0x26a0e9)?_0x26a0e9:0x0)*Math['PI']/0xb4),this['_syncMountPoseInputs']();});}),_0x3b5fe0('vc-pos-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'xyz':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();}),_0x3b5fe0('vc-rpy-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'rpy':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();});const _0x2d3728=()=>{const _0x5bd5ee=parseInt(_0x3b5fe0('vc-width')['value'],0xa),_0x553874=parseInt(_0x3b5fe0('vc-height')['value'],0xa);_0x5bd5ee&&_0x553874&&(this['virtualCamera']['setResolution'](_0x5bd5ee,_0x553874),_0x3b5fe0('vc-width')['value']=this['virtualCamera']['width'],_0x3b5fe0('vc-height')['value']=this['virtualCamera']['height'],this['_syncPresetSelect']());};_0x3b5fe0('vc-width')['addEventListener']('change',_0x2d3728),_0x3b5fe0('vc-height')['addEventListener']('change',_0x2d3728),_0x3b5fe0('vc-preset')['addEventListener']('change',_0xe7d266=>{const _0x3384f6=_0xe7d266['target']['value'];if(!_0x3384f6)return;const [_0x29bfe0,_0xd01679]=_0x3384f6['split']('x')['map'](_0x363438=>parseInt(_0x363438,0xa));_0x3b5fe0('vc-width')['value']=_0x29bfe0,_0x3b5fe0('vc-height')['value']=_0xd01679,_0x2d3728();}),_0x3b5fe0('vc-fov')['addEventListener']('change',_0x311ded=>{this['virtualCamera']['setFov'](parseFloat(_0x311ded['target']['value'])),_0x311ded['target']['value']=this['virtualCamera']['fov'];}),_0x3b5fe0('vc-rate-hz')['addEventListener']('change',_0x493c3b=>{const _0x2f19a2=parseInt(_0x493c3b['target']['value'],0xa);_0x2f19a2&&(this['publisher']['rateHz']=Math['max'](0x1,Math['min'](0x78,_0x2f19a2)),_0x493c3b['target']['value']=this['publisher']['rateHz'],this['publisher']['onRateChanged']());}),_0x3b5fe0('vc-mount-frame')['addEventListener']('change',_0x1af514=>{this['virtualCamera']['setMount']({'frame':_0x1af514['target']['value']}),this['_syncMountAxes']();}),_0x3b5fe0('vc-show-axes')['addEventListener']('change',()=>this['_syncMountAxes']()),_0x3b5fe0('vc-forward')['addEventListener']('change',_0x3fdb0f=>{this['virtualCamera']['setMount']({'forward':_0x3fdb0f['target']['value']}),this['_syncOrientationSelects']();}),_0x3b5fe0('vc-up')['addEventListener']('change',_0x38fadd=>{this['virtualCamera']['setMount']({'up':_0x38fadd['target']['value']}),this['_syncOrientationSelects']();}),_0x3b5fe0('vc-msg-type')['addEventListener']('change',_0xe96249=>{this['publisher']['messageType']=_0xe96249['target']['value']||this['publisher']['messageType'],_0xe96249['target']['value']=this['publisher']['messageType'],this['publisher']['onTopicConfigChanged']();}),_0x3b5fe0('vc-format')['addEventListener']('change',_0x5d33de=>{this['publisher']['imageFormat']=Na['includes'](_0x5d33de['target']['value'])?_0x5d33de['target']['value']:'jpeg',_0x5d33de['target']['value']=this['publisher']['imageFormat'],this['publisher']['onFormatChanged']();}),_0x3b5fe0('vc-ros-url')['addEventListener']('change',_0x33dd02=>{const _0x364fd6=this['_persistRosUrl'](_0x33dd02['target']['value']);_0x33dd02['target']['value']=_0x364fd6;}),_0x3b5fe0('vc-connect-btn')['addEventListener']('click',()=>{const _0x4fe4f9=this['_persistRosUrl'](_0x3b5fe0('vc-ros-url')['value']);_0x3b5fe0('vc-ros-url')['value']=_0x4fe4f9,this['publisher']['connect'](_0x4fe4f9)?this['_syncConnectionButtons'](!0x0):this['_warn']('连接失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x3b5fe0('vc-disconnect-btn')['addEventListener']('click',()=>{this['publisher']['disconnect'](),this['_syncConnectionButtons'](!0x1);}),_0x3b5fe0('vc-download-script')['addEventListener']('click',_0x4a2019=>{_0x4a2019['preventDefault']();const _0x2c786b=document['createElement']('a');_0x2c786b['href']='/scripts/start-rosbridge.sh',_0x2c786b['download']='start-rosbridge.sh',document['body']['appendChild'](_0x2c786b),_0x2c786b['click'](),document['body']['removeChild'](_0x2c786b);}),_0x3b5fe0('vc-start-btn')['addEventListener']('click',()=>{var _0x149b9f;if(!(null==(_0x149b9f=this['app'])?void 0x0:_0x149b9f['currentModel']))return void this['_warn']('请先载入机器人模型');const _0x1caa9f=this['_persistRosUrl'](_0x3b5fe0('vc-ros-url')['value']);_0x3b5fe0('vc-ros-url')['value']=_0x1caa9f,this['publisher']['start'](_0x1caa9f)||this['_warn']('发布启动失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x3b5fe0('vc-stop-btn')['addEventListener']('click',()=>{this['publisher']['stop']();}),null==(_0x322651=document['getElementById']('toggle-virtual-camera-panel'))||_0x322651['addEventListener']('click',()=>{this['refreshMountTargets']();});}['_syncOrientationSelects'](){var _0x8bbb2a,_0x19dea9;const _0x328de0=null==(_0x8bbb2a=this['panel'])?void 0x0:_0x8bbb2a['querySelector']('#vc-forward'),_0x4e48b7=null==(_0x19dea9=this['panel'])?void 0x0:_0x19dea9['querySelector']('#vc-up');if(!_0x328de0||!_0x4e48b7)return;const _0x1e1d32=this['virtualCamera']['getState']();_0x328de0['innerHTML']=La['map'](_0x31309c=>'<option\x20value=\x22'+_0x31309c+'\x22>'+_0x31309c+'</option>')['join'](''),_0x328de0['value']=_0x1e1d32['forwardAxis'],_0x4e48b7['innerHTML']=ka(_0x1e1d32['forwardAxis'])['map'](_0x2f0df7=>'<option\x20value=\x22'+_0x2f0df7+'\x22>'+_0x2f0df7+'</option>')['join'](''),_0x4e48b7['value']=_0x1e1d32['upAxis'];}['_syncMountPoseInputs'](){var _0x3c3ba0,_0x4d1a9c;const _0x16f918=(null==(_0x4d1a9c=(_0x3c3ba0=this['virtualCamera'])['getState'])?void 0x0:_0x4d1a9c['call'](_0x3c3ba0))||{},_0x1fab39=_0x16f918['mountXyz']||[0x0,0x0,0x0],_0x331556=(_0x16f918['mountRpy']||[0x0,0x0,0x0])['map'](_0x4f7fff=>0xb4*_0x4f7fff/Math['PI']),_0x4bfba1=(_0x2e5cda,_0x41ffbb)=>{var _0x387bcb;const _0x209848=null==(_0x387bcb=this['panel'])?void 0x0:_0x387bcb['querySelector']('#'+_0x2e5cda);_0x209848&&(_0x209848['value']=String(Number(Number(_0x41ffbb)['toFixed'](0x4))));};_0x4bfba1('vc-pos-x',_0x1fab39[0x0]),_0x4bfba1('vc-pos-y',_0x1fab39[0x1]),_0x4bfba1('vc-pos-z',_0x1fab39[0x2]),_0x4bfba1('vc-rpy-r',_0x331556[0x0]),_0x4bfba1('vc-rpy-p',_0x331556[0x1]),_0x4bfba1('vc-rpy-y',_0x331556[0x2]);}['refreshMountTargets'](){var _0x3fdee3,_0x431347,_0x1b0818;const _0x4da691=null==(_0x3fdee3=this['panel'])?void 0x0:_0x3fdee3['querySelector']('#vc-mount-frame');if(!_0x4da691)return;const _0x4c8484=null==(_0x1b0818=null==(_0x431347=this['app'])?void 0x0:_0x431347['sceneManager'])?void 0x0:_0x1b0818['currentModel'],_0x362b86=(null==_0x4c8484?void 0x0:_0x4c8484['links'])?Array['from'](_0x4c8484['links']['keys']()):[],_0x56f195=this['virtualCamera']['mountFrame']||Aa;_0x4da691['innerHTML']=['<option\x20value=\x22'+Aa+'\x22\x20data-i18n=\x22worldFrame\x22>'+this['_t']('worldFrame','世界坐标系')+'</option>',..._0x362b86['map'](_0x173855=>'<option\x20value=\x22'+_0x173855+'\x22>'+_0x173855+'</option>')]['join'](''),_0x56f195===Aa||_0x362b86['includes'](_0x56f195)||this['virtualCamera']['setMount']({'frame':Aa}),_0x4da691['value']=this['virtualCamera']['mountFrame'],this['_syncMountAxes']({'refreshParent':!0x0});}['_syncMountAxes']({refreshParent:_0x1df40c=!0x1}={}){var _0x2abec0,_0x44fe92,_0x268dd8,_0x3baa16;const _0x2ded79=this['_isPanelVisible'](),_0x3073b0=!!(null==(_0x44fe92=null==(_0x2abec0=this['panel'])?void 0x0:_0x2abec0['querySelector']('#vc-show-axes'))?void 0x0:_0x44fe92['checked']);this['virtualCamera']['setMountAxesVisible'](_0x3073b0&&_0x2ded79),_0x1df40c&&(null==(_0x3baa16=(_0x268dd8=this['virtualCamera'])['refreshMountAxes'])||_0x3baa16['call'](_0x268dd8));}['_handleCameraConnection'](_0x7b974e,_0x1b3a21){var _0x4f13a7;this['_cameraConnected']=!!_0x7b974e;const _0x4b06c9=null==(_0x4f13a7=this['panel'])?void 0x0:_0x4f13a7['querySelector']('#vc-cam-status');_0x4b06c9&&(_0x4b06c9['textContent']=this['_t'](_0x7b974e?'cameraConnected':'cameraDisconnected'),_0x4b06c9['style']['color']=_0x7b974e?'#4caf50':'#f44336'),this['_syncConnectionButtons'](_0x7b974e),_0x7b974e||(this['_domainId']=null,this['_resetDomainIdBadge']()),!_0x7b974e&&_0x1b3a21&&this['_warn']('相机连接出错:'+_0x1b3a21,_0x1b3a21);}['_resetDomainIdBadge'](){var _0x569a3a;this['_domainId']=null,this['_domainIdResolved']=!0x1;const _0x5ddc6b=null==(_0x569a3a=this['panel'])?void 0x0:_0x569a3a['querySelector']('#vc-domain-id');_0x5ddc6b&&(_0x5ddc6b['textContent']='—',_0x5ddc6b['style']['background']='#1e8e3e');}['_handleDomainId'](_0x27646b){var _0x33b870;const _0x8fdce4=null==(_0x33b870=this['panel'])?void 0x0:_0x33b870['querySelector']('#vc-domain-id');_0x8fdce4&&this['_cameraConnected']&&(this['_domainIdResolved']=!0x0,this['_domainId']='number'==typeof _0x27646b?_0x27646b:null,'number'==typeof _0x27646b?(_0x8fdce4['textContent']=String(_0x27646b),_0x8fdce4['style']['background']='#1e8e3e'):(_0x8fdce4['textContent']=this['_t']('unknown'),_0x8fdce4['style']['background']='#e65100'));}['_syncConnectionButtons'](_0x3d6ec2){var _0x4c43df,_0x2e0d52,_0x1a6a95;const _0x43a6b3=null==(_0x4c43df=this['panel'])?void 0x0:_0x4c43df['querySelector']('#vc-connect-btn'),_0x11b0dd=null==(_0x2e0d52=this['panel'])?void 0x0:_0x2e0d52['querySelector']('#vc-disconnect-btn'),_0x353f58=null==(_0x1a6a95=this['panel'])?void 0x0:_0x1a6a95['querySelector']('#vc-ros-url');_0x43a6b3&&(_0x43a6b3['disabled']=!!_0x3d6ec2),_0x11b0dd&&(_0x11b0dd['disabled']=!_0x3d6ec2),_0x353f58&&(_0x353f58['disabled']=!!_0x3d6ec2);}['_syncRunningState'](){var _0x24639b,_0x3398b1,_0x26654b;const _0x156fb4=null==(_0x24639b=this['panel'])?void 0x0:_0x24639b['querySelector']('#vc-start-btn'),_0x9a6361=null==(_0x3398b1=this['panel'])?void 0x0:_0x3398b1['querySelector']('#vc-stop-btn'),_0x49b3b3=null==(_0x26654b=this['panel'])?void 0x0:_0x26654b['querySelector']('#vc-topic'),_0x1ecfea=this['publisher']['isRunning']();_0x156fb4&&(_0x156fb4['disabled']=_0x1ecfea),_0x9a6361&&(_0x9a6361['disabled']=!_0x1ecfea),_0x49b3b3&&(_0x49b3b3['disabled']=_0x1ecfea),this['_syncConnectionButtons'](this['_cameraConnected']);}['_resolveRosUrl'](){var _0x46dada,_0x37302d,_0x19c950,_0x590c39,_0x1a507c,_0xf105db;return(null==(_0x19c950=null==(_0x37302d=null==(_0x46dada=this['panel'])?void 0x0:_0x46dada['querySelector']('#vc-ros-url'))?void 0x0:_0x37302d['value'])?void 0x0:_0x19c950['trim']())||(null==(_0xf105db=null==(_0x1a507c=null==(_0x590c39=this['app'])?void 0x0:_0x590c39['rosConnectionPanel'])?void 0x0:_0x1a507c['getServerUrl'])?void 0x0:_0xf105db['call'](_0x1a507c))||localStorage['getItem']('ros_url')||'ws://localhost:9090';}['_persistRosUrl'](_0x1def07){var _0x122e41,_0x84dc41,_0x1bfc12;const _0x3e7b70=String(_0x1def07||'')['trim']()||'ws://localhost:9090';return localStorage['setItem']('ros_url',_0x3e7b70),null==(_0x1bfc12=null==(_0x84dc41=null==(_0x122e41=this['app'])?void 0x0:_0x122e41['rosConnectionPanel'])?void 0x0:_0x84dc41['setServerUrl'])||_0x1bfc12['call'](_0x84dc41,_0x3e7b70),_0x3e7b70;}['_syncPresetSelect'](){var _0x351895;const _0x5c8739=null==(_0x351895=this['panel'])?void 0x0:_0x351895['querySelector']('#vc-preset');if(!_0x5c8739)return;const _0x146860=this['virtualCamera']['width']+'x'+this['virtualCamera']['height'];_0x5c8739['value']=za['includes'](_0x146860)?_0x146860:'';}['_syncFormatSelect'](){var _0x251efd;const _0xaa161d=null==(_0x251efd=this['panel'])?void 0x0:_0x251efd['querySelector']('#vc-format');_0xaa161d&&(_0xaa161d['value']=Na['includes'](this['publisher']['imageFormat'])?this['publisher']['imageFormat']:'jpeg');}['_handleEncodings'](_0x99fdcf){var _0x387255;this['_encodings']=Array['isArray'](_0x99fdcf)?_0x99fdcf:null;const _0x3898da=null==(_0x387255=this['panel'])?void 0x0:_0x387255['querySelector']('#vc-format');if(_0x3898da&&this['_encodings']){let _0x297eae=null;[..._0x3898da['options']]['forEach'](_0x445433=>{const _0x272409=this['_encodings']['find'](_0x126baf=>_0x126baf['format']===_0x445433['value']),_0x5f10cb=!_0x272409||_0x272409['supported'];_0x445433['disabled']=!_0x5f10cb,_0x445433['textContent']=_0x5f10cb?_0x445433['value']:_0x445433['value']+'\x20—\x20'+this['_t']('browserUnsupported'),_0x5f10cb&&!_0x297eae&&(_0x297eae=_0x445433['value']);});const _0x4ba9cd=this['_encodings']['find'](_0x2b6e40=>_0x2b6e40['format']===this['publisher']['imageFormat']);_0x4ba9cd&&!_0x4ba9cd['supported']&&_0x297eae&&(this['publisher']['imageFormat']=_0x297eae,this['publisher']['onFormatChanged'](),_0x3898da['value']=_0x297eae,this['_warn'](_0x4ba9cd['format']+'\x20这台浏览器编不了,已改回\x20'+_0x297eae));}}['startStatsMonitor'](){this['_statsTimer']&&clearInterval(this['_statsTimer']),this['_statsTimer']=setInterval(()=>{var _0x2ec367,_0x47dc93;if(!this['panel'])return;null==(_0x47dc93=(_0x2ec367=this['publisher'])['setPreviewEnabled'])||_0x47dc93['call'](_0x2ec367,this['_isPanelVisible']()),this['_syncMountAxes']();const _0x5834b8=this['publisher']['collectStats'](),_0x3fe12e=this['publisher']['isRunning'](),_0x58793b=this['panel']['querySelector']('#vc-rate');_0x58793b&&(_0x58793b['textContent']=_0x5834b8['rate']['toFixed'](0x1)+'\x20Hz',_0x58793b['title']=_0x3fe12e?this['_t']('rateTargetTitle')['replace']('{target}',_0x5834b8['target']):this['_t']('rateIdleTitle'),_0x58793b['style']['opacity']=_0x3fe12e||_0x5834b8['rate']?'1':'0.55');},0x3e8);}['dispose'](){this['_statsTimer']&&clearInterval(this['_statsTimer']),this['_statsTimer']=null;}['_isPanelVisible'](){return('undefined'==typeof document||!document['hidden'])&&(!!this['panel']&&'none'!==this['panel']['style']['display']);}['_t'](_0x3c3790,_0x3662ef=_0x3c3790){var _0x484745,_0x253252;const _0x624666=null==(_0x253252=null==(_0x484745=window['i18n'])?void 0x0:_0x484745['t'])?void 0x0:_0x253252['call'](_0x484745,_0x3c3790);return _0x624666&&_0x624666!==_0x3c3790?_0x624666:_0x3662ef;}['refreshLanguage'](){var _0xb961d4,_0x300841,_0x385372;null==(_0x300841=null==(_0xb961d4=window['i18n'])?void 0x0:_0xb961d4['updatePageLanguage'])||_0x300841['call'](_0xb961d4),this['_encodings']&&this['_handleEncodings'](this['_encodings']),this['_handleCameraConnection'](this['_cameraConnected']),this['_cameraConnected']&&this['_domainIdResolved']&&this['_handleDomainId'](this['_domainId']);const _0x5492d7=null==(_0x385372=this['panel'])?void 0x0:_0x385372['querySelector']('#vc-preview');_0x5492d7&&(_0x5492d7['alt']=this['_t']('previewAlt','虚拟相机预览'));}['_handlePreview'](_0x118bd8){var _0x335768;if(!this['_isPanelVisible']())return;const _0x389caa=performance['now']();if(this['publisher']['isRunning']()&&_0x389caa-this['_lastPreviewAt']<0x64)return;this['_lastPreviewAt']=_0x389caa;const _0x40375f=null==(_0x335768=this['panel'])?void 0x0:_0x335768['querySelector']('#vc-preview');if(!_0x40375f)return;_0x40375f['style']['display']='block',_0x40375f['style']['aspectRatio']=_0x118bd8['width']+'\x20/\x20'+_0x118bd8['height'];const _0x22be5e=_0x118bd8['previewWidth']?'\x20·\x20'+this['_t']('previewThumb','缩略图')+'\x20'+_0x118bd8['previewWidth']+'×'+_0x118bd8['previewHeight']:'';_0x40375f['title']=this['_t']('previewFrame','画面')+'\x20'+_0x118bd8['width']+'×'+_0x118bd8['height']+_0x22be5e+'\x20·\x20'+this['_t']('previewSingleFrame','单帧')+'\x20'+(_0x118bd8['payloadBytes']/0x400)['toFixed'](0x1)+'\x20KB',_0x40375f['src']='data:'+(_0x118bd8['mime']||'image/jpeg')+';base64,'+_0x118bd8['base64'];}['_warn'](_0x498583,_0x4faddc){}}class Va{constructor(_0x50686a,_0x1cbc1e,_0x48aca4){this['sceneManager']=_0x50686a,this['app']=_0x1cbc1e,this['config']=_0x48aca4,this['panel']=null,this['searchText']='';}['createPanel'](){const _0x2fbd77=document['createElement']('div');return _0x2fbd77['id']=this['config']['panelId'],_0x2fbd77['className']='floating-panel',_0x2fbd77['style']['cssText']=this['config']['panelStyle'],_0x2fbd77['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22'+this['config']['titleI18nKey']+'\x22>'+this['config']['titleText']+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x20axes-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-panel-controls\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20class=\x22axes-search\x22\x20placeholder=\x22'+window['i18n']['t']('searchPlaceholder')+'\x22\x20data-i18n-placeholder=\x22searchPlaceholder\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22\x20style=\x22display:flex;gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-secondary\x22\x20id=\x22'+this['config']['selectAllId']+'\x22\x20data-i18n=\x22selectAll\x22>全选</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-secondary\x22\x20id=\x22'+this['config']['deselectAllId']+'\x22\x20data-i18n=\x22deselectAll\x22>全不选</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22axes-checkbox\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20id=\x22'+this['config']['showLabelsId']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22showLabels\x22>显示名称</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22axes-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22displaySize\x22>显示尺寸</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-scale-value\x22\x20id=\x22'+this['config']['scaleValueId']+'\x22>1.0x</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22range\x22\x20class=\x22axes-slider\x22\x20id=\x22'+this['config']['scaleSliderId']+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20min=\x220.1\x22\x20max=\x222.0\x22\x20step=\x220.1\x22\x20value=\x221.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-list-container\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-list\x22\x20id=\x22'+this['config']['listId']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22no-results\x22\x20data-i18n=\x22noAxesAvailable\x22>无可用坐标轴</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-panel-bottom-spacer\x22\x20aria-hidden=\x22true\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0x2fbd77,this['attachEventListeners'](),_0x2fbd77;}['attachEventListeners'](){const _0x4b1854=this['panel']['querySelector']('.panel-close-btn'),_0xdf5e6=this['panel']['querySelector']('.axes-search'),_0x1985d4=this['panel']['querySelector']('#'+this['config']['selectAllId']),_0x16c83e=this['panel']['querySelector']('#'+this['config']['deselectAllId']),_0x2840ec=this['panel']['querySelector']('#'+this['config']['showLabelsId']),_0x567e89=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x4b51a6=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0x51decf=this['panel']['querySelector']('#'+this['config']['listId']);_0x4b1854['addEventListener']('click',()=>{this['hide']();}),_0xdf5e6['addEventListener']('input',_0x586e6d=>{this['searchText']=_0x586e6d['target']['value'],this['updateAxesList']();}),_0x1985d4['addEventListener']('click',()=>{this['selectAll'](!0x0);}),_0x16c83e['addEventListener']('click',()=>{this['selectAll'](!0x1);}),_0x2840ec['addEventListener']('change',_0x5d2d2b=>{this['sceneManager']['axesManager']['setShowLabels'](_0x5d2d2b['target']['checked']);}),_0x567e89['addEventListener']('input',_0x20add7=>{const _0x5a3486=parseFloat(_0x20add7['target']['value']);_0x4b51a6['textContent']=_0x5a3486['toFixed'](0x1)+'x',this['sceneManager']['axesManager']['setAxesScale'](_0x5a3486),this['app']['currentModel']&&this['reloadAxes']();}),_0x51decf['addEventListener']('change',_0x2db93d=>{_0x2db93d['target']['matches']('input[type=\x22checkbox\x22][data-axis-name]')&&this['setAxisVisible'](_0x2db93d['target']['dataset']['axisName'],_0x2db93d['target']['checked']);});}['updateAxesList'](){const _0x166788=this['getAxisNames']()['filter'](_0x211559=>_0x211559['toLowerCase']()['includes'](this['searchText']['toLowerCase']())),_0x511c2e=this['panel']['querySelector']('#'+this['config']['listId']);if(_0x511c2e['innerHTML']='',0x0===_0x166788['length']){const _0x298270=document['createElement']('div');return _0x298270['className']='no-results',_0x298270['setAttribute']('data-i18n','noAxesAvailable'),_0x298270['textContent']=window['i18n']['t']('noAxesAvailable'),void _0x511c2e['appendChild'](_0x298270);}const _0x310fbb=document['createDocumentFragment']();_0x166788['forEach'](_0x12a94a=>{const _0xef3336=document['createElement']('label');_0xef3336['className']='axes-checkbox';const _0x27e3c2=document['createElement']('input');_0x27e3c2['type']='checkbox',_0x27e3c2['dataset']['axisName']=_0x12a94a,_0x27e3c2['checked']=this['isAxisVisible'](_0x12a94a);const _0x48dfa7=document['createElement']('span');_0x48dfa7['title']=_0x12a94a,_0x48dfa7['textContent']=_0x12a94a,_0xef3336['appendChild'](_0x27e3c2),_0xef3336['appendChild'](_0x48dfa7),_0x310fbb['appendChild'](_0xef3336);}),_0x511c2e['appendChild'](_0x310fbb);}['selectAll'](_0x2526d7){this['setAllAxesVisible'](_0x2526d7),this['panel']['querySelectorAll']('input[type=\x22checkbox\x22][data-axis-name]')['forEach'](_0x5b2621=>{_0x5b2621['checked']=_0x2526d7;});}['reloadAxes'](){const _0x47b64a=this['app']['currentModel'];if(!_0x47b64a)return;const _0x31cc65=this['sceneManager']['axesManager'],_0x29924a=new Map(),_0xaec1d3=_0x31cc65['showLabels'];this['getAxisNames']()['forEach'](_0x103e48=>{_0x29924a['set'](_0x103e48,this['isAxisVisible'](_0x103e48));}),this['clearAxes'](),this['recreateAxes'](_0x47b64a),_0x29924a['forEach']((_0x5e9177,_0x50cabc)=>{this['setAxisVisible'](_0x50cabc,_0x5e9177);}),_0x31cc65['setShowLabels'](_0xaec1d3),this['updateAxesList'](),this['sceneManager']['redraw']();}['show'](){this['panel']['style']['display']='block',this['syncToggleButtonState'](!0x0),this['updateAxesList']();this['panel']['querySelector']('#'+this['config']['showLabelsId'])['checked']=this['sceneManager']['axesManager']['showLabels'];const _0x115fc6=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x386903=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0x2db13d=this['sceneManager']['axesManager']['getAxesScale']();_0x115fc6['value']=_0x2db13d,_0x386903['textContent']=_0x2db13d['toFixed'](0x1)+'x';}['hide'](){this['panel']['style']['display']='none',this['syncToggleButtonState'](!0x1);}['toggle'](){'none'===this['panel']['style']['display']?this['show']():this['hide']();}['isVisible'](){return'none'!==this['panel']['style']['display'];}['syncToggleButtonState'](_0x46a33a){const _0x345f46=document['getElementById'](this['config']['toggleButtonId']);_0x345f46&&_0x345f46['classList']['toggle']('active',_0x46a33a);}['getAxisNames'](){throw new Error('getAxisNames()\x20must\x20be\x20implemented\x20by\x20subclass');}['isAxisVisible'](){throw new Error('isAxisVisible()\x20must\x20be\x20implemented\x20by\x20subclass');}['setAxisVisible'](){throw new Error('setAxisVisible()\x20must\x20be\x20implemented\x20by\x20subclass');}['setAllAxesVisible'](_0x232a97){this['getAxisNames']()['forEach'](_0x4f20c4=>{this['setAxisVisible'](_0x4f20c4,_0x232a97);});}['clearAxes'](){throw new Error('clearAxes()\x20must\x20be\x20implemented\x20by\x20subclass');}['recreateAxes'](){throw new Error('recreateAxes()\x20must\x20be\x20implemented\x20by\x20subclass');}}class qa extends Va{constructor(_0x2985f8,_0x30b620){super(_0x2985f8,_0x30b620,{'panelId':'axes-control-panel','panelStyle':'top:\x2080px;\x20left:\x2020px;\x20width:\x20320px;\x20height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;','titleI18nKey':'axesControlPanel','titleText':'Link\x20坐标轴控制','selectAllId':'axes-select-all','deselectAllId':'axes-deselect-all','showLabelsId':'axes-show-labels','scaleValueId':'axes-scale-value','scaleSliderId':'axes-scale-slider','listId':'axes-list','toggleButtonId':'toggle-axes-btn'}),this['_rpySectionVisible']=!0x1,this['_originalRpy']=[0x0,0x0,0x0],this['_currentRpy']=[0x0,0x0,0x0],this['_selectedJointName']=null,this['_selectedLinkName']=null;}['createPanel'](){const _0x226c66=super['createPanel'](),_0x47f688=_0x226c66['querySelector']('.floating-panel-content'),_0x1dd7e3=document['createElement']('div');_0x1dd7e3['id']='axes-rpy-section',_0x1dd7e3['className']='axes-rpy-section',_0x1dd7e3['style']['cssText']='display:none;\x20border-top:\x201px\x20solid\x20var(--glass-border);\x20padding-top:\x2012px;\x20margin-top:\x2012px;',_0x1dd7e3['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-title\x22>Joint\x20Origin\x20RPY</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-joint-name\x22\x20id=\x22axes-rpy-joint-name\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-rows\x22\x20id=\x22axes-rpy-rows\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-label\x22>Roll\x20(X)</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22roll\x22\x20data-dir=\x22-1\x22>-90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-value\x22\x20id=\x22axes-rpy-roll\x22>0°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22roll\x22\x20data-dir=\x221\x22>+90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-label\x22>Pitch\x20(Y)</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22pitch\x22\x20data-dir=\x22-1\x22>-90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-value\x22\x20id=\x22axes-rpy-pitch\x22>0°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22pitch\x22\x20data-dir=\x221\x22>+90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-label\x22>Yaw\x20(Z)</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22yaw\x22\x20data-dir=\x22-1\x22>-90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-value\x22\x20id=\x22axes-rpy-yaw\x22>0°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22yaw\x22\x20data-dir=\x221\x22>+90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-apply-row\x22\x20style=\x22margin-top:8px;\x20display:flex;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-primary\x22\x20id=\x22axes-rpy-apply\x22\x20style=\x22flex:1;\x22>应用旋转</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-secondary\x22\x20id=\x22axes-rpy-reset\x22\x20style=\x22flex:1;\x22>重置</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0x390df9=_0x47f688['querySelector']('.axes-panel-controls');return _0x390df9&&_0x390df9['nextSibling']?_0x47f688['insertBefore'](_0x1dd7e3,_0x390df9['nextSibling']):_0x47f688['appendChild'](_0x1dd7e3),this['_attachRpyListeners'](_0x1dd7e3),_0x226c66;}['_attachRpyListeners'](_0x27fedf){_0x27fedf['querySelectorAll']('.axes-rpy-btn[data-rpy]')['forEach'](_0x53a364=>{_0x53a364['addEventListener']('click',()=>{const _0x579f3f={'roll':0x0,'pitch':0x1,'yaw':0x2}[_0x53a364['dataset']['rpy']];this['_currentRpy'][_0x579f3f]+=parseInt(_0x53a364['dataset']['dir'])*(Math['PI']/0x2),this['_updateRpyDisplay'](),this['_previewRpy']();});});_0x27fedf['querySelector']('#axes-rpy-apply')['addEventListener']('click',()=>{if(!this['_onRpyApply']||!this['_selectedLinkName'])return;this['_currentRpy']['some']((_0x3f90b7,_0xf3331c)=>Math['abs'](_0x3f90b7-this['_originalRpy'][_0xf3331c])>0.001)&&(this['_onRpyApply'](this['_selectedLinkName'],[...this['_currentRpy']]),this['_originalRpy']=[...this['_currentRpy']]);});_0x27fedf['querySelector']('#axes-rpy-reset')['addEventListener']('click',()=>{this['_currentRpy']=[...this['_originalRpy']],this['_updateRpyDisplay'](),this['_previewRpy']();});}['_previewRpy'](){if(!this['_selectedLinkName']||!this['app']||!this['app']['currentModel'])return;const _0x27dccc=this['app']['currentModel'],_0x40fa61=_0x27dccc['links']['get'](this['_selectedLinkName']);if(!_0x40fa61||!_0x40fa61['threeObject'])return;const _0x12c259=new _0x446862()['setFromEuler'](new _0x1b9ef9(this['_originalRpy'][0x0],this['_originalRpy'][0x1],this['_originalRpy'][0x2],'ZYX')),_0x26391b=new _0x446862()['setFromEuler'](new _0x1b9ef9(this['_currentRpy'][0x0],this['_currentRpy'][0x1],this['_currentRpy'][0x2],'ZYX')),_0x14541c=_0x12c259['clone']()['invert']()['multiply'](_0x26391b);_0x40fa61['threeObject']['quaternion']['copy'](_0x14541c),_0x40fa61['threeObject']['position']['set'](0x0,0x0,0x0),_0x27dccc['threeObject']&&_0x27dccc['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}['_updateRpyDisplay'](){const _0x33703f=_0x4987fa=>{let _0x34edfb=Math['round'](0xb4*_0x4987fa/Math['PI'])%0x168;return _0x34edfb>0xb4&&(_0x34edfb-=0x168),_0x34edfb<=-0xb4&&(_0x34edfb+=0x168),_0x34edfb;},_0x126388=this['panel']['querySelector']('#axes-rpy-roll'),_0xca16fa=this['panel']['querySelector']('#axes-rpy-pitch'),_0x5bb72b=this['panel']['querySelector']('#axes-rpy-yaw');_0x126388&&(_0x126388['textContent']=_0x33703f(this['_currentRpy'][0x0])+'°'),_0xca16fa&&(_0xca16fa['textContent']=_0x33703f(this['_currentRpy'][0x1])+'°'),_0x5bb72b&&(_0x5bb72b['textContent']=_0x33703f(this['_currentRpy'][0x2])+'°');}['showRpySection'](_0x144c5a,_0x1e3291){if(!_0x144c5a||!_0x1e3291)return void this['hideRpySection']();let _0x3510a1=null;if(_0x144c5a['joints']['forEach'](_0x2d3b56=>{_0x2d3b56['child']===_0x1e3291&&(_0x3510a1=_0x2d3b56);}),!_0x3510a1)return void this['hideRpySection']();this['_selectedLinkName']=_0x1e3291,this['_selectedJointName']=_0x3510a1['name'];let _0x5374dd=[0x0,0x0,0x0];if(this['app']['codeEditorManager']){const _0x1e97fc=this['app']['codeEditorManager']['getJointOriginRpy'](_0x3510a1['name']);_0x1e97fc&&(_0x5374dd=_0x1e97fc);}if(_0x5374dd['every'](_0x5232ef=>0x0===_0x5232ef)&&_0x3510a1['threeObject']){const _0x220d82=new _0x1b9ef9()['setFromQuaternion'](_0x3510a1['threeObject']['quaternion'],'ZYX');_0x5374dd=[_0x220d82['x'],_0x220d82['y'],_0x220d82['z']];}_0x3510a1['_origRpy']=[..._0x5374dd],_0x3510a1['_origXyz']=_0x3510a1['threeObject']?[_0x3510a1['threeObject']['position']['x'],_0x3510a1['threeObject']['position']['y'],_0x3510a1['threeObject']['position']['z']]:_0x3510a1['origin']?[..._0x3510a1['origin']['xyz']]:[0x0,0x0,0x0],this['_originalRpy']=[..._0x5374dd],this['_currentRpy']=[..._0x5374dd];const _0x2dee2d=this['panel']['querySelector']('#axes-rpy-section');_0x2dee2d&&(_0x2dee2d['style']['display']='block');const _0x3b785e=this['panel']['querySelector']('#axes-rpy-joint-name');_0x3b785e&&(_0x3b785e['textContent']=_0x3510a1['name']),this['_updateRpyDisplay']();}['hideRpySection'](){this['_selectedLinkName']=null,this['_selectedJointName']=null,this['_originalRpy']=[0x0,0x0,0x0],this['_currentRpy']=[0x0,0x0,0x0];const _0x366a61=this['panel']['querySelector']('#axes-rpy-section');_0x366a61&&(_0x366a61['style']['display']='none');}['setOnRpyApply'](_0x54d31e){this['_onRpyApply']=_0x54d31e;}['getAxisNames'](){return this['sceneManager']['axesManager']['getLinkNames']();}['isAxisVisible'](_0x5621e3){return this['sceneManager']['axesManager']['isLinkAxisVisible'](_0x5621e3);}['setAxisVisible'](_0x367cc6,_0x294726){this['sceneManager']['axesManager']['showAxesByName'](_0x367cc6,_0x294726);}['setAllAxesVisible'](_0x480319){this['sceneManager']['axesManager']['setAllLinkAxesVisible'](_0x480319);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllLinkAxes']();}['recreateAxes'](_0x56176c){const _0x1a5052=this['sceneManager']['axesManager']['modelSize'];_0x56176c['links']['forEach']((_0x56f284,_0x525524)=>{this['sceneManager']['axesManager']['createLinkAxes'](_0x56f284,_0x525524,_0x1a5052);});}}class Ba extends Va{constructor(_0x48e182,_0x368dae){super(_0x48e182,_0x368dae,{'panelId':'joint-axes-control-panel','panelStyle':'top:\x2080px;\x20left:\x20360px;\x20width:\x20320px;\x20height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;','titleI18nKey':'jointAxesControlPanel','titleText':'关节轴控制','selectAllId':'joint-axes-select-all','deselectAllId':'joint-axes-deselect-all','showLabelsId':'joint-axes-show-labels','scaleValueId':'joint-axes-scale-value','scaleSliderId':'joint-axes-scale-slider','listId':'joint-axes-list','toggleButtonId':'toggle-joint-axes-btn'});}['getAxisNames'](){return this['sceneManager']['axesManager']['getJointNames']();}['isAxisVisible'](_0x14f172){return this['sceneManager']['axesManager']['isJointAxisVisible'](_0x14f172);}['setAxisVisible'](_0x47c605,_0x277326){this['sceneManager']['axesManager']['showJointAxisByName'](_0x47c605,_0x277326);}['setAllAxesVisible'](_0x26e9da){this['sceneManager']['axesManager']['setAllJointAxesVisible'](_0x26e9da);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllJointAxes']();}['recreateAxes'](_0x201133){_0x201133['joints']['forEach']((_0x164a3d,_0x3ca2f3)=>{this['sceneManager']['axesManager']['createJointAxis'](_0x164a3d,_0x3ca2f3);});}}const $a='1.1.1',Ja={'zh-CN':{'visual':'视觉','collision':'碰撞','com':'质心','inertia':'惯量','axes':'坐标轴','jointAxes':'关节轴','shadow':'阴影','lighting':'光照','files':'文件','joints':'关节','structure':'结构','edit':'编辑','jointInfo':'关节信息','help':'帮助','theme':'主题','language':'语言','fileList':'文件','jointControl':'关节','modelStructure':'结构','codeEditor':'编辑','radian':'弧度','degree':'角度','reset':'重置','limits':'限位','mujocoReset':'重置','mujocoSimulate':'仿真','mujocoPause':'暂停','reload':'重新加载','download':'下载','saved':'已保存','unsaved':'未保存','noFileOpen':'未打开文件','helpTitle':'IO\x20Robot\x20Viewer\x20v'+$a,'about':'关于','aboutContent':'IO\x20Robot\x20Viewer\x20是一个基于\x20Three.js\x20的网页端机器人遥操作适配工具,提供直观的可视化界面,帮助您在浏览器中查看和分析机器人的结构、关节等属性,引导您完成适配流程并提供ROS通讯与监控能力。<br><br>本项目基于\x20<a\x20href=\x22https://github.com/fan-ziqi/robot_viewer\x22\x20target=\x22_blank\x22\x20rel=\x22noopener\x22\x20style=\x22color:var(--accent-color)\x22>范子琦\x20(fan-ziqi)\x20的\x20robot_viewer</a>\x20进行二次开发。','projectHome':'项目主页','email':'邮箱','myGithub':'我的GitHub','operations':'操作指南','leftDrag':'左键拖动','rotateView':'旋转视角','rightDrag':'右键拖动','panView':'平移视角','scroll':'滚轮','zoom':'缩放视图','clickModel':'点击模型','controlJoint':'控制关节(可拖动)','dragFile':'拖拽文件','loadModel':'加载机器人模型','contact':'联系方式','support':'支持','noFolder':'未加载文件夹','noModel':'未加载模型','load':'加载','loadFiles':'加载文件','loadFolder':'加载文件夹','orClickButton':'或点击下面的按钮加载','noControllableJoints':'未找到可控制关节','clickToEditMin':'点击编辑下限','clickToEditMax':'点击编辑上限','dropHint':'拖拽机器人模型文件或文件夹到页面任意位置','dropHintSub':'支持\x20URDF,\x20Xacro,\x20MJCF\x20格式<br>支持拖拽文件夹以加载mesh文件','graphHint':'拖动:\x20移动\x20|\x20滚轮:\x20缩放\x20|\x20右键:\x20隐藏/显示\x20|\x20Ctrl+左键:\x20测量','copyright':'©\x202025\x20范子琦\x20版权所有。','type':'类型','links':'Links','joints':'关节','controllable':'可控','rootLink':'根Link','linkName':'Link名称','jointName':'关节','mass':'质量','mergedLinks':'合并的Links','model':'模型','mesh':'网格','link':'链接','kg':'kg','rad':'rad','deg':'deg','m':'m','loading':'正在加载','unsupportedFormat':'不支持的文件格式','loadFailed':'加载失败','noSupportedFiles':'未找到支持的文件(URDF,\x20Xacro,\x20MJCF,\x20DAE,\x20STL,\x20OBJ)','loadSuccess':'模型加载成功','cannotLoadMesh':'无法加载\x20mesh\x20文件','unsavedChanges':'您有未保存的更改,确定要关闭吗?','newFile':'新文件.xml','noFileToReload':'没有可重新加载的文件','saveFirst':'请先保存为文件后再加载','reloadingModel':'正在重新加载模型...','modelReloaded':'模型已重新加载(未保存)','reloadFailed':'重新加载失败','downloadFailed':'下载失败','fileDownloaded':'文件已下载','emptyContent':'编辑器内容为空,无法加载','fileType':'文件类型','axesControlPanel':'Link\x20坐标轴控制','jointAxesControlPanel':'关节轴控制','selectAll':'全选','deselectAll':'全不选','showLabels':'显示名称','displaySize':'显示尺寸','noAxesAvailable':'无可用坐标轴','searchPlaceholder':'搜索坐标轴...','selectAllJoints':'全选','showMimicJoints':'显示mimic','applyAngles':'设置角度','setHome':'设零位','resetToHome':'回零','resetToHomeSuccess':'已将所有关节回零','setHomeSuccess':'已记录\x20{count}\x20个关节的零位','noJointsSelected':'请先选择关节','applySuccess':'已应用\x20{count}\x20个关节角度','applyFailed':'应用失败','mocapControl':'动捕控制','mocapHuman':'动捕小人','exoskeleton':'外骨骼手套','connected':'已连接','disconnected':'未连接','webglContextLostTitle':'3D\x20渲染已暂停','webglContextLostDetail':'浏览器回收了\x20GPU\x20资源(通常发生在标签页长时间处于后台)。正在等待自动恢复,模型无需重新加载。','invalidFormat':'数据格式错误,期望数字数组','countMismatch':'数量不匹配:需要\x20{expected}\x20个值,但提供了\x20{actual}\x20个','applyDialogTitle':'应用关节角度','applyDialogHint':'可以粘贴或编辑角度值,格式:[0.58,\x20-0.69,\x200.85,\x20...]','applyDialogApply':'应用','applyDialogCancel':'取消','camera':'相机','virtualCamera':'虚拟相机','rosBridgeHint':'💡\x20需要本地启动\x20rosbridge:','downloadScript':'⬇\x20下载脚本','downloadScriptTitle':'下载启动脚本','serverAddress':'服务器地址','connect':'连接','disconnect':'断开','cameraStatusTitle':'相机自己的\x20rosbridge\x20连接,发布图像专线','cameraConnected':'●\x20相机已连接','cameraDisconnected':'●\x20相机未连接','publishTopic':'发布Topic','actualPublishRate':'实际发布频率','rateTargetTitle':'实际发布频率\x20·\x20目标\x20{target}\x20Hz','rateIdleTitle':'实际发布频率\x20·\x20未发布','messageType':'消息类型','encodingFormat':'编码格式','browserUnsupported':'本浏览器不支持','resolution':'分辨率','preset':'预设','fov':'视场角\x20FOV(°)','publishRateLabel':'发布频率(Hz)','mountFrame':'挂载坐标系','worldFrame':'世界坐标系','showAxes':'显示坐标系','showAxesTitle':'在场景里画出所选\x20link\x20自己的\x20X/Y/Z\x20轴(红=X\x20绿=Y\x20蓝=Z),方便挑光轴与图像上方;设了下面的位置/姿态后它会跟着一起动,零姿态时就是这根\x20link\x20的坐标系。辅助轴只在面板打开时显示,也不会进入发布的图像','position':'位置','orientation':'姿态','zeroOut':'归零','opticalAxis':'光轴','imageUp':'图像上方','startPublish':'开始发布','stopPublish':'停止','previewAlt':'虚拟相机预览','previewFrame':'画面','previewThumb':'缩略图','previewSingleFrame':'单帧','unknown':'未知','rosConnection':'ROS\x20连接','monitor':'📈\x20监控','monitorTitle':'打开实时监控面板','statusConnected':'●\x20已连接','statusDisconnected':'●\x20未连接','subscribeTopic':'订阅\x20Topic','publishRobotState':'发布机器人状态','enterServerUrl':'请输入服务器地址','rosServer':'ROS\x20服务器','timeWindowSeconds':'时间窗口\x20(秒)','resetView':'重置视图','jointSelection':'关节选择','waitingForData':'等待数据...','time':'时间','loadingPlotPanel':'正在加载监控面板...','plotPanelLoadFailed':'监控面板加载失败','checkNetworkAndReload':'请检查网络连接后刷新页面重试','unknownError':'未知错误','base':'基座','baseOrientation':'🧭\x20基座方向','baseOrientationHint':'💡\x20调整机器人基座的初始朝向,Y轴(绿色)朝向机器人前方。数值对应\x20vr_configs.yml\x20中的','eulerRoll':'横滚\x20Roll\x20(X)\x20°','eulerPitch':'俯仰\x20Pitch\x20(Y)\x20°','eulerYaw':'偏航\x20Yaw\x20(Z)\x20°','quaternionX':'四元数\x20x','quaternionY':'四元数\x20y','quaternionZ':'四元数\x20z','quaternionW':'四元数\x20w','copyQuat':'📋\x20复制四元数','resetOrientation':'🔄\x20重置','copiedToClipboard':'✅\x20已复制到剪贴板','copy':'📋\x20复制','copyAllTitle':'复制全部关节信息','copied':'✅\x20已复制','copyFailed':'❌\x20复制失败','jointNameHeader':'关节名称','childLink':'子链接','mocapExoskeletonV1':'v1.0版','mocapExoskeletonV2':'v2.0版','mocapLoadInMainTab':'动捕模型加载请在主页面操作'},'en-US':{'visual':'Visual','collision':'Collision','com':'COM','inertia':'Inertia','axes':'Axes','jointAxes':'Joint\x20Axes','shadow':'Shadow','lighting':'Lighting','files':'Files','joints':'Joints','structure':'Structure','edit':'Edit','jointInfo':'Joint\x20Info','help':'Help','theme':'Theme','language':'Language','fileList':'Files','jointControl':'Joints','modelStructure':'Structure','codeEditor':'Editor','radian':'Radian','degree':'Degree','reset':'Reset','limits':'Limits','mujocoReset':'Reset','mujocoSimulate':'Simulate','mujocoPause':'Pause','reload':'Reload','download':'Download','saved':'Saved','unsaved':'Unsaved','noFileOpen':'No\x20File\x20Open','helpTitle':'Robot\x20Viewer\x20v'+$a,'about':'About','aboutContent':'IO\x20Robot\x20Viewer\x20is\x20a\x20web-based\x20teleoperation\x20adaptation\x20tool\x20for\x20robots,\x20built\x20on\x20Three.js.\x20It\x20provides\x20an\x20intuitive\x20interface\x20for\x20viewing\x20and\x20analyzing\x20your\x20robot\x27s\x20structure,\x20joints,\x20and\x20other\x20properties\x20in\x20the\x20browser,\x20guiding\x20you\x20through\x20the\x20adaptation\x20workflow\x20with\x20ROS\x20communication\x20and\x20monitoring\x20support.<br><br>This\x20project\x20is\x20a\x20derivative\x20work\x20based\x20on\x20<a\x20href=\x22https://github.com/fan-ziqi/robot_viewer\x22\x20target=\x22_blank\x22\x20rel=\x22noopener\x22\x20style=\x22color:var(--accent-color)\x22>robot_viewer\x20by\x20Ziqi\x20Fan\x20(fan-ziqi)</a>.','projectHome':'Project\x20Home','email':'Email','myGithub':'My\x20GitHub','operations':'Operations','leftDrag':'Left\x20Drag','rotateView':'Rotate\x20View','rightDrag':'Right\x20Drag','panView':'Pan\x20View','scroll':'Scroll','zoom':'Zoom','clickModel':'Click\x20Model','controlJoint':'Control\x20Joint\x20(Draggable)','dragFile':'Drag\x20File','loadModel':'Load\x20Robot\x20Model','contact':'Contact','support':'Support','noFolder':'No\x20Folder\x20Loaded','noModel':'No\x20Model\x20Loaded','load':'Load','loadFiles':'Load\x20Files','loadFolder':'Load\x20Folder','orClickButton':'or\x20click\x20the\x20button\x20below\x20to\x20load','noControllableJoints':'No\x20Controllable\x20Joints\x20Found','clickToEditMin':'Click\x20to\x20edit\x20minimum','clickToEditMax':'Click\x20to\x20edit\x20maximum','dropHint':'Drag\x20and\x20drop\x20robot\x20model\x20files\x20or\x20folders\x20anywhere','dropHintSub':'Supports\x20URDF,\x20Xacro,\x20MJCF\x20formats<br>Supports\x20folder\x20dragging\x20to\x20load\x20mesh\x20files','graphHint':'Drag:\x20Move\x20|\x20Scroll:\x20Zoom\x20|\x20Right-click:\x20Hide/Show\x20|\x20Ctrl+Click:\x20Measure','copyright':'©\x202025\x20Ziqi\x20Fan.\x20All\x20rights\x20reserved.','type':'Type','links':'Links','joints':'Joints','controllable':'Controllable','rootLink':'Root\x20Link','linkName':'Link\x20Name','jointName':'Joint','mass':'Mass','mergedLinks':'Merged\x20Links','model':'Model','mesh':'Mesh','link':'Link','kg':'kg','rad':'rad','deg':'deg','m':'m','loading':'Loading','unsupportedFormat':'Unsupported\x20file\x20format','loadFailed':'Load\x20failed','noSupportedFiles':'No\x20supported\x20files\x20found\x20(URDF,\x20Xacro,\x20MJCF,\x20DAE,\x20STL,\x20OBJ)','loadSuccess':'Model\x20loaded\x20successfully','cannotLoadMesh':'Cannot\x20load\x20mesh\x20file','unsavedChanges':'You\x20have\x20unsaved\x20changes.\x20Are\x20you\x20sure\x20you\x20want\x20to\x20close?','newFile':'newfile.xml','noFileToReload':'No\x20file\x20to\x20reload','saveFirst':'Please\x20save\x20the\x20file\x20first\x20before\x20loading','reloadingModel':'Reloading\x20model...','modelReloaded':'Model\x20reloaded\x20(unsaved)','reloadFailed':'Reload\x20failed','downloadFailed':'Download\x20failed','fileDownloaded':'File\x20downloaded','emptyContent':'Editor\x20content\x20is\x20empty,\x20cannot\x20load','fileType':'File\x20Type','axesControlPanel':'Link\x20Axes\x20Control','jointAxesControlPanel':'Joint\x20Axes\x20Control','selectAll':'Select\x20All','deselectAll':'Deselect\x20All','showLabels':'Show\x20Labels','displaySize':'Display\x20Size','noAxesAvailable':'No\x20axes\x20available','searchPlaceholder':'Search\x20axes...','selectAllJoints':'Select\x20All','showMimicJoints':'Show\x20Mimic','applyAngles':'Set\x20Angles','setHome':'Set\x20Home','resetToHome':'Reset\x20Home','resetToHomeSuccess':'All\x20joints\x20reset\x20to\x20home\x20positions','setHomeSuccess':'Recorded\x20{count}\x20joint\x20home\x20positions','noJointsSelected':'Please\x20select\x20joints\x20first','applySuccess':'Applied\x20{count}\x20joint\x20angles','applyFailed':'Apply\x20failed','webglContextLostTitle':'3D\x20rendering\x20paused','webglContextLostDetail':'The\x20browser\x20reclaimed\x20GPU\x20resources\x20(this\x20usually\x20happens\x20after\x20a\x20tab\x20sits\x20in\x20the\x20background).\x20Waiting\x20for\x20automatic\x20recovery\x20—\x20no\x20need\x20to\x20reload\x20the\x20model.','invalidFormat':'Invalid\x20format,\x20expecting\x20array\x20of\x20numbers','countMismatch':'Count\x20mismatch:\x20expected\x20{expected}\x20values,\x20got\x20{actual}','applyDialogTitle':'Apply\x20Joint\x20Angles','applyDialogHint':'Paste\x20or\x20edit\x20angle\x20values,\x20format:\x20[0.58,\x20-0.69,\x200.85,\x20...]','applyDialogApply':'Apply','applyDialogCancel':'Cancel','mocapControl':'Mocap\x20Control','mocapHuman':'Motion\x20Capture\x20Human','exoskeleton':'Exoskeleton\x20Glove','connected':'Connected','disconnected':'Disconnected','camera':'Camera','virtualCamera':'Virtual\x20Camera','rosBridgeHint':'💡\x20rosbridge\x20must\x20be\x20running\x20locally:','downloadScript':'⬇\x20Download\x20script','downloadScriptTitle':'Download\x20startup\x20script','serverAddress':'Server\x20Address','connect':'Connect','disconnect':'Disconnect','cameraStatusTitle':'The\x20camera\x27s\x20own\x20rosbridge\x20connection\x20—\x20a\x20dedicated\x20link\x20for\x20publishing\x20images','cameraConnected':'●\x20Camera\x20connected','cameraDisconnected':'●\x20Camera\x20disconnected','publishTopic':'Publish\x20Topic','actualPublishRate':'Actual\x20publish\x20rate','rateTargetTitle':'Actual\x20publish\x20rate\x20·\x20target\x20{target}\x20Hz','rateIdleTitle':'Actual\x20publish\x20rate\x20·\x20not\x20publishing','messageType':'Message\x20Type','encodingFormat':'Encoding\x20Format','browserUnsupported':'not\x20supported\x20by\x20this\x20browser','resolution':'Resolution','preset':'Preset','fov':'Field\x20of\x20View\x20(°)','publishRateLabel':'Publish\x20Rate\x20(Hz)','mountFrame':'Mount\x20Frame','worldFrame':'World\x20Frame','showAxes':'Show\x20Frame','showAxesTitle':'Draw\x20the\x20selected\x20link\x27s\x20own\x20X/Y/Z\x20axes\x20in\x20the\x20scene\x20(red=X,\x20green=Y,\x20blue=Z)\x20to\x20help\x20pick\x20the\x20optical\x20axis\x20and\x20image\x20up\x20direction.\x20Once\x20the\x20position/orientation\x20below\x20are\x20set\x20it\x20moves\x20along\x20with\x20them;\x20at\x20zero\x20it\x20is\x20exactly\x20this\x20link\x27s\x20frame.\x20The\x20helper\x20axes\x20are\x20only\x20shown\x20while\x20this\x20panel\x20is\x20open\x20and\x20never\x20appear\x20in\x20the\x20published\x20image','position':'Position','orientation':'Orientation','zeroOut':'Reset','opticalAxis':'Optical\x20Axis','imageUp':'Image\x20Up','startPublish':'Start\x20Publishing','stopPublish':'Stop','previewAlt':'Virtual\x20camera\x20preview','previewFrame':'Frame','previewThumb':'thumbnail','previewSingleFrame':'per\x20frame','unknown':'Unknown','rosConnection':'ROS\x20Connection','monitor':'📈\x20Monitor','monitorTitle':'Open\x20the\x20live\x20monitor\x20panel','statusConnected':'●\x20Connected','statusDisconnected':'●\x20Not\x20connected','subscribeTopic':'Subscribe\x20Topics','publishRobotState':'Publish\x20Robot\x20State','enterServerUrl':'Please\x20enter\x20the\x20server\x20address','rosServer':'ROS\x20Server','timeWindowSeconds':'Time\x20Window\x20(s)','resetView':'Reset\x20View','jointSelection':'Joint\x20Selection','waitingForData':'Waiting\x20for\x20data...','time':'Time','loadingPlotPanel':'Loading\x20monitor\x20panel...','plotPanelLoadFailed':'Failed\x20to\x20load\x20the\x20monitor\x20panel','checkNetworkAndReload':'Check\x20your\x20network\x20connection\x20and\x20reload\x20the\x20page','unknownError':'Unknown\x20error','base':'Base','baseOrientation':'🧭\x20Base\x20Orientation','baseOrientationHint':'💡\x20Adjust\x20the\x20robot\x20base\x20initial\x20orientation;\x20the\x20Y\x20axis\x20(green)\x20points\x20toward\x20the\x20robot\x20front.\x20The\x20values\x20map\x20to','eulerRoll':'Roll\x20(X)\x20°','eulerPitch':'Pitch\x20(Y)\x20°','eulerYaw':'Yaw\x20(Z)\x20°','quaternionX':'Quaternion\x20x','quaternionY':'Quaternion\x20y','quaternionZ':'Quaternion\x20z','quaternionW':'Quaternion\x20w','copyQuat':'📋\x20Copy\x20Quat','resetOrientation':'🔄\x20Reset','copiedToClipboard':'✅\x20Copied\x20to\x20clipboard','copy':'📋\x20Copy','copyAllTitle':'Copy\x20all\x20joint\x20info','copied':'✅\x20Copied','copyFailed':'❌\x20Copy\x20failed','jointNameHeader':'Joint\x20Name','childLink':'Child\x20Link','mocapExoskeletonV1':'v1.0','mocapExoskeletonV2':'v2.0','mocapLoadInMainTab':'Load\x20mocap\x20models\x20from\x20the\x20main\x20page'}};const Ha=new class{constructor(){const _0x590c92=this['detectBrowserLanguage']();this['currentLang']=localStorage['getItem']('language')||_0x590c92;}['detectBrowserLanguage'](){return(navigator['language']||navigator['userLanguage'])['toLowerCase']()['startsWith']('zh')?'zh-CN':'en-US';}['t'](_0x487550){return(Ja[this['currentLang']]||Ja['zh-CN'])[_0x487550]||_0x487550;}['setLanguage'](_0x433a45){Ja[_0x433a45]&&(this['currentLang']=_0x433a45,localStorage['setItem']('language',_0x433a45),this['updatePageLanguage']());}['getCurrentLanguage'](){return this['currentLang'];}['updatePageLanguage'](){document['querySelectorAll']('[data-i18n]')['forEach'](_0x152cd5=>{const _0x5654dc=_0x152cd5['getAttribute']('data-i18n'),_0x4a95f3=this['t'](_0x5654dc);'INPUT'===_0x152cd5['tagName']||'TEXTAREA'===_0x152cd5['tagName']?_0x152cd5['placeholder']=_0x4a95f3:_0x4a95f3['includes']('<br>')||_0x4a95f3['includes']('<strong>')?_0x152cd5['innerHTML']=_0x4a95f3:_0x152cd5['textContent']=_0x4a95f3;}),document['querySelectorAll']('[data-i18n-placeholder]')['forEach'](_0x26bd6b=>{const _0x13e6c6=_0x26bd6b['getAttribute']('data-i18n-placeholder');_0x26bd6b['placeholder']=this['t'](_0x13e6c6);}),document['querySelectorAll']('[data-i18n-title]')['forEach'](_0x277f37=>{const _0x1a24db=_0x277f37['getAttribute']('data-i18n-title');_0x277f37['title']=this['t'](_0x1a24db);}),document['documentElement']['lang']=this['currentLang'];}['init'](){this['updatePageLanguage']();}}();class Ga{constructor(_0x6d94f3){this['app']=_0x6d94f3,this['panel']=null,this['init']();}['init'](){this['panel']=document['getElementById']('mocap-control-panel'),this['panel']&&this['setupEventListeners']();}['setupEventListeners'](){this['humanLoadBtn']=document['getElementById']('mocap-human-load'),this['exoskeletonLoadBtnV1']=document['getElementById']('exoskeleton-load-v1'),this['exoskeletonLoadBtnV2']=document['getElementById']('exoskeleton-load-v2');if(new URLSearchParams(window['location']['search'])['has']('mocap')){[this['humanLoadBtn'],this['exoskeletonLoadBtnV1'],this['exoskeletonLoadBtnV2']]['forEach'](_0x5dcd85=>{_0x5dcd85&&(_0x5dcd85['disabled']=!0x0,_0x5dcd85['style']['opacity']='0.5',_0x5dcd85['style']['cursor']='not-allowed');});const _0x18b80f=document['createElement']('div');_0x18b80f['style']['cssText']='padding:\x208px;\x20background:\x20#fff3e0;\x20border-radius:\x204px;\x20margin-top:\x208px;\x20font-size:\x2012px;\x20color:\x20#e65100;',_0x18b80f['textContent']=Ha['t']('mocapLoadInMainTab'),this['panel']['querySelector']('.panel-content')['appendChild'](_0x18b80f);}this['humanLoadBtn']&&this['humanLoadBtn']['addEventListener']('click',()=>{this['loadModel']('human');}),this['exoskeletonLoadBtnV1']&&this['exoskeletonLoadBtnV1']['addEventListener']('click',()=>{this['loadModel']('exoskeleton');}),this['exoskeletonLoadBtnV2']&&this['exoskeletonLoadBtnV2']['addEventListener']('click',()=>{this['loadModel']('exoskeleton_v2');});}async['loadModel'](_0x59bc92){if(!Ma[_0x59bc92])return;const _0x3edc41=''+window['location']['origin']+window['location']['pathname']+'?mocap='+_0x59bc92;window['open'](_0x3edc41,'_blank');}['setLoadingState'](_0x498082,_0x1d517f){const _0x4ddce0=document['getElementById']({'human':'mocap-human-load','exoskeleton':'exoskeleton-load-v1','exoskeleton_v2':'exoskeleton-load-v2'}[_0x498082]);if(_0x4ddce0){_0x4ddce0['disabled']=_0x1d517f;const _0x392336='exoskeleton'===_0x498082?Ha['t']('mocapExoskeletonV1'):'exoskeleton_v2'===_0x498082?Ha['t']('mocapExoskeletonV2'):Ha['t']('load');_0x4ddce0['textContent']=_0x1d517f?Ha['t']('loading'):_0x392336;}}['show'](){this['panel']&&(this['panel']['style']['display']='block');}['hide'](){this['panel']&&(this['panel']['style']['display']='none');}['toggle'](){this['panel']&&(this['panel']['style']['display']='none'===this['panel']['style']['display']?'block':'none');}}function Wa(_0x1bfbcb){return('https:'===location['protocol']||'file:'===location['protocol']||'localhost'===location['hostname']||'127.0.0.1'===location['hostname']||'http:'!==location['protocol']&&window['isSecureContext'])&&navigator['clipboard']&&navigator['clipboard']['writeText']?navigator['clipboard']['writeText'](_0x1bfbcb)['then'](()=>!0x0)['catch'](_0xc863b3=>Xa(_0x1bfbcb)):Promise['resolve'](Xa(_0x1bfbcb));}function Xa(_0x3761c9){try{const _0x4eef90=document['createElement']('textarea');_0x4eef90['value']=_0x3761c9,_0x4eef90['style']['position']='fixed',_0x4eef90['style']['top']='0',_0x4eef90['style']['left']='0',_0x4eef90['style']['width']='2em',_0x4eef90['style']['height']='2em',_0x4eef90['style']['padding']='0',_0x4eef90['style']['border']='none',_0x4eef90['style']['outline']='none',_0x4eef90['style']['boxShadow']='none',_0x4eef90['style']['background']='transparent',_0x4eef90['style']['zIndex']='-1',_0x4eef90['setAttribute']('readonly',''),document['body']['appendChild'](_0x4eef90),_0x4eef90['focus'](),_0x4eef90['select']();try{_0x4eef90['setSelectionRange'](0x0,_0x4eef90['value']['length']);}catch(_0x14b459){}const _0x16e5e6=document['execCommand']('copy');return document['body']['removeChild'](_0x4eef90),_0x16e5e6;}catch(_0x3ab192){return!0x1;}}class Ya{constructor(_0x32c07f,_0x58f81c){this['sceneManager']=_0x32c07f,this['app']=_0x58f81c,this['panel']=null,this['_updatingFromEuler']=!0x1,this['_updatingFromQuat']=!0x1;}['createPanel'](){const _0x323d49=document['createElement']('div');return _0x323d49['id']='floating-orientation-panel',_0x323d49['className']='floating-panel',_0x323d49['style']['cssText']='top:\x2080px;\x20right:\x20440px;\x20width:\x20300px;\x20z-index:\x2053;\x20display:\x20none;',_0x323d49['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22baseOrientation\x22>🧭\x20基座方向</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22\x20data-panel=\x22floating-orientation-panel\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c!--\x20提示里的\x20<code>\x20必须留在\x20data-i18n\x20元素之外:updatePageLanguage\x20是整段\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20替换\x20textContent,写在里面会被一起抹掉\x20--\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-hint\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22baseOrientationHint\x22>💡\x20调整机器人基座的初始朝向,Y轴(绿色)朝向机器人前方。数值对应\x20vr_configs.yml\x20中的</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<code>base_pose.orientation</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-euler-x\x22\x20data-i18n=\x22eulerRoll\x22>横滚\x20Roll\x20(X)\x20°</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-euler-x\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.1\x22\x20placeholder=\x220.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-euler-y\x22\x20data-i18n=\x22eulerPitch\x22>俯仰\x20Pitch\x20(Y)\x20°</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-euler-y\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.1\x22\x20placeholder=\x220.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-euler-z\x22\x20data-i18n=\x22eulerYaw\x22>偏航\x20Yaw\x20(Z)\x20°</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-euler-z\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.1\x22\x20placeholder=\x220.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-x\x22\x20data-i18n=\x22quaternionX\x22>四元数\x20x</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-x\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.001\x22\x20placeholder=\x220.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-y\x22\x20data-i18n=\x22quaternionY\x22>四元数\x20y</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-y\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.001\x22\x20placeholder=\x220.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-z\x22\x20data-i18n=\x22quaternionZ\x22>四元数\x20z</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-z\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.001\x22\x20placeholder=\x220.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-w\x22\x20data-i18n=\x22quaternionW\x22>四元数\x20w</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-w\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x221\x22\x20step=\x220.001\x22\x20placeholder=\x221.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:8px;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22orient-copy-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20data-i18n=\x22copyQuat\x22>📋\x20复制四元数</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22orient-reset-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22resetOrientation\x22>🔄\x20重置</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22orient-copy-status\x22\x20style=\x22font-size:11px;color:#4caf50;display:none;\x22\x20data-i18n=\x22copiedToClipboard\x22>✅\x20已复制到剪贴板</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0x323d49,this['attachEventListeners'](),_0x323d49;}['refreshLanguage'](){var _0x50039d,_0x50b05b;null==(_0x50b05b=null==(_0x50039d=window['i18n'])?void 0x0:_0x50039d['updatePageLanguage'])||_0x50b05b['call'](_0x50039d);}['attachEventListeners'](){const _0x3dda95=this['panel'];['x','y','z']['forEach'](_0x3cdef8=>{const _0x879d08=_0x3dda95['querySelector']('#orient-euler-'+_0x3cdef8);_0x879d08&&(_0x879d08['addEventListener']('input',()=>this['_onEulerChanged']()),_0x879d08['addEventListener']('change',()=>this['_onEulerChanged']()));}),['x','y','z','w']['forEach'](_0x382c1f=>{const _0x559a5b=_0x3dda95['querySelector']('#orient-quat-'+_0x382c1f);_0x559a5b&&(_0x559a5b['addEventListener']('input',()=>this['_onQuatChanged']()),_0x559a5b['addEventListener']('change',()=>this['_onQuatChanged']()));}),_0x3dda95['querySelector']('#orient-copy-btn')['addEventListener']('click',()=>{this['_copyQuatToClipboard']();}),_0x3dda95['querySelector']('#orient-reset-btn')['addEventListener']('click',()=>{this['resetToIdentity']();});}['_onEulerChanged'](){if(this['_updatingFromQuat'])return;this['_updatingFromEuler']=!0x0;const _0x5a88ab=this['panel'],_0x51b6e2=parseFloat(_0x5a88ab['querySelector']('#orient-euler-x')['value'])||0x0,_0x2764a5=parseFloat(_0x5a88ab['querySelector']('#orient-euler-y')['value'])||0x0,_0x546312=parseFloat(_0x5a88ab['querySelector']('#orient-euler-z')['value'])||0x0,_0x11ac35=new _0x1b9ef9(_0x3bb9f9['degToRad'](_0x51b6e2),_0x3bb9f9['degToRad'](_0x2764a5),_0x3bb9f9['degToRad'](_0x546312),'ZYX'),_0xce4d7b=new _0x446862()['setFromEuler'](_0x11ac35);_0x5a88ab['querySelector']('#orient-quat-x')['value']=_0xce4d7b['x']['toFixed'](0x4),_0x5a88ab['querySelector']('#orient-quat-y')['value']=_0xce4d7b['y']['toFixed'](0x4),_0x5a88ab['querySelector']('#orient-quat-z')['value']=_0xce4d7b['z']['toFixed'](0x4),_0x5a88ab['querySelector']('#orient-quat-w')['value']=_0xce4d7b['w']['toFixed'](0x4),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0xce4d7b['x'],_0xce4d7b['y'],_0xce4d7b['z'],_0xce4d7b['w']]),this['_updatingFromEuler']=!0x1;}['_onQuatChanged'](){if(this['_updatingFromEuler'])return;this['_updatingFromQuat']=!0x0;const _0x36121c=this['panel'],_0x254857=parseFloat(_0x36121c['querySelector']('#orient-quat-x')['value'])||0x0,_0x1fbbab=parseFloat(_0x36121c['querySelector']('#orient-quat-y')['value'])||0x0,_0x56e66b=parseFloat(_0x36121c['querySelector']('#orient-quat-z')['value'])||0x0,_0x283ada=parseFloat(_0x36121c['querySelector']('#orient-quat-w')['value'])||0x1,_0x3a5170=Math['sqrt'](_0x254857*_0x254857+_0x1fbbab*_0x1fbbab+_0x56e66b*_0x56e66b+_0x283ada*_0x283ada),_0x23ebd1=new _0x446862(_0x254857/_0x3a5170,_0x1fbbab/_0x3a5170,_0x56e66b/_0x3a5170,_0x283ada/_0x3a5170),_0x3ca8bc=new _0x1b9ef9()['setFromQuaternion'](_0x23ebd1,'ZYX');_0x36121c['querySelector']('#orient-euler-x')['value']=_0x3bb9f9['radToDeg'](_0x3ca8bc['x'])['toFixed'](0x2),_0x36121c['querySelector']('#orient-euler-y')['value']=_0x3bb9f9['radToDeg'](_0x3ca8bc['y'])['toFixed'](0x2),_0x36121c['querySelector']('#orient-euler-z')['value']=_0x3bb9f9['radToDeg'](_0x3ca8bc['z'])['toFixed'](0x2),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0x23ebd1['x'],_0x23ebd1['y'],_0x23ebd1['z'],_0x23ebd1['w']]),this['_updatingFromQuat']=!0x1;}async['_copyQuatToClipboard'](){const _0x154bb1=this['panel'],_0x36b945=parseFloat(_0x154bb1['querySelector']('#orient-quat-x')['value'])||0x0,_0x212904=parseFloat(_0x154bb1['querySelector']('#orient-quat-y')['value'])||0x0,_0x42e093=parseFloat(_0x154bb1['querySelector']('#orient-quat-z')['value'])||0x0,_0x46189b=parseFloat(_0x154bb1['querySelector']('#orient-quat-w')['value'])||0x1,_0xa145a='['+_0x36b945['toFixed'](0x4)+',\x20'+_0x212904['toFixed'](0x4)+',\x20'+_0x42e093['toFixed'](0x4)+',\x20'+_0x46189b['toFixed'](0x4)+']';if(await Wa(_0xa145a)){const _0x171c27=_0x154bb1['querySelector']('#orient-copy-status');_0x171c27&&(_0x171c27['style']['display']='inline',setTimeout(()=>{_0x171c27['style']['display']='none';},0x7d0));}}['resetToIdentity'](){const _0x19210b=this['panel'];_0x19210b['querySelector']('#orient-euler-x')['value']='0',_0x19210b['querySelector']('#orient-euler-y')['value']='0',_0x19210b['querySelector']('#orient-euler-z')['value']='0',_0x19210b['querySelector']('#orient-quat-x')['value']='0',_0x19210b['querySelector']('#orient-quat-y')['value']='0',_0x19210b['querySelector']('#orient-quat-z')['value']='0',_0x19210b['querySelector']('#orient-quat-w')['value']='1',this['sceneManager']&&this['sceneManager']['resetBaseOrientation']();}['syncFromScene'](){if(!this['sceneManager'])return;const _0x27ce32=this['sceneManager']['getBaseOrientation'](),_0x33da21=this['panel'];if(!_0x33da21)return;this['_updatingFromQuat']=!0x0,_0x33da21['querySelector']('#orient-quat-x')['value']=_0x27ce32[0x0]['toFixed'](0x4),_0x33da21['querySelector']('#orient-quat-y')['value']=_0x27ce32[0x1]['toFixed'](0x4),_0x33da21['querySelector']('#orient-quat-z')['value']=_0x27ce32[0x2]['toFixed'](0x4),_0x33da21['querySelector']('#orient-quat-w')['value']=_0x27ce32[0x3]['toFixed'](0x4);const _0x2f27e2=new _0x446862(_0x27ce32[0x0],_0x27ce32[0x1],_0x27ce32[0x2],_0x27ce32[0x3]),_0x14a01e=new _0x1b9ef9()['setFromQuaternion'](_0x2f27e2,'ZYX');_0x33da21['querySelector']('#orient-euler-x')['value']=_0x3bb9f9['radToDeg'](_0x14a01e['x'])['toFixed'](0x2),_0x33da21['querySelector']('#orient-euler-y')['value']=_0x3bb9f9['radToDeg'](_0x14a01e['y'])['toFixed'](0x2),_0x33da21['querySelector']('#orient-euler-z')['value']=_0x3bb9f9['radToDeg'](_0x14a01e['z'])['toFixed'](0x2),this['_updatingFromQuat']=!0x1;}['show'](){this['panel']&&(this['panel']['style']['display']='block',this['syncFromScene']());}['hide'](){this['panel']&&(this['panel']['style']['display']='none');}['toggle'](){this['panel']&&'block'===this['panel']['style']['display']?this['hide']():this['show']();}}function Za(_0x5dd3a0,_0x5d531c=_0x5dd3a0){var _0x4ee137,_0x2741e6;const _0xdc194a=null==(_0x2741e6=null==(_0x4ee137=window['i18n'])?void 0x0:_0x4ee137['t'])?void 0x0:_0x2741e6['call'](_0x4ee137,_0x5dd3a0);return _0xdc194a&&_0xdc194a!==_0x5dd3a0?_0xdc194a:_0x5d531c;}function Qa(_0x9a446,_0x9e072f){var _0x340d8a,_0x1aff94;const _0x45bf2c=document['getElementById'](_0x9e072f);if(!_0x45bf2c||!_0x9a446||!_0x9a446['joints'])return;const _0x1f203d=ht(_0x9a446);let _0x105721='';_0x1f203d['forEach']((_0xa1396f,_0x2417e2)=>{_0x105721+='joint&link_id:\x20'+String(_0x2417e2)['padEnd'](0x5)+'\x20joint_type:'+(_0x26b545=>{const _0x505d31=_0x26b545['toUpperCase']();return _0x505d31+'\x20'['repeat'](Math['max'](0xa,_0x505d31['length'])-_0x505d31['length']);})(_0xa1396f['type'])+'\x20joint_name:\x20'+_0xa1396f['name']['padEnd'](0x1c)+'\x20link_name:\x20'+(_0xa1396f['child']||'')['padEnd'](0x1c)+'\x0a';}),_0x45bf2c['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22joint-info-topbar\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22joint-info-title\x22><span\x20data-i18n=\x22jointInfo\x22>关节信息</span>\x20('+_0x1f203d['length']+')</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22joint-info-copy-btn\x22\x20title=\x22复制全部关节信息\x22\x20data-i18n-title=\x22copyAllTitle\x22\x20data-i18n=\x22copy\x22>📋\x20复制</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22joint-info-close\x20panel-close-btn\x22\x20data-panel=\x22'+_0x9e072f+'\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22joint-info-table-wrap\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<table\x20class=\x22joint-info-table\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<thead><tr>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th>ID</th><th\x20data-i18n=\x22type\x22>类型</th><th\x20data-i18n=\x22jointNameHeader\x22>关节名称</th><th\x20data-i18n=\x22childLink\x22>子链接</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</tr></thead>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<tbody>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1f203d['map']((_0x412aff,_0x2ece81)=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<tr\x20class=\x22'+('fixed'!==_0x412aff['type']?'joint-movable':'')+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td>'+_0x2ece81+'</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td>'+_0x412aff['type']['toUpperCase']()+'</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td><code>'+_0x412aff['name']+'</code></td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td><code>'+(_0x412aff['child']||'—')+'</code></td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</tbody>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</table>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',null==(_0x1aff94=null==(_0x340d8a=window['i18n'])?void 0x0:_0x340d8a['updatePageLanguage'])||_0x1aff94['call'](_0x340d8a),_0x45bf2c['querySelector']('.joint-info-close')['addEventListener']('click',()=>{_0x45bf2c['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x45bf2c['style']['opacity']='0',_0x45bf2c['style']['transform']='scale(0.95)',setTimeout(()=>{_0x45bf2c['style']['display']='none',_0x45bf2c['style']['opacity']='',_0x45bf2c['style']['transform']='';},0xc8);const _0xc53a86=document['getElementById']('toggle-joint-info-panel');_0xc53a86&&_0xc53a86['classList']['remove']('active');}),_0x45bf2c['querySelector']('.joint-info-copy-btn')['addEventListener']('click',async()=>{const _0x51d8af=_0x45bf2c['querySelector']('.joint-info-copy-btn');await Wa(_0x105721)?(_0x51d8af['textContent']=Za('copied','✅\x20已复制'),setTimeout(()=>{_0x51d8af['textContent']=Za('copy','📋\x20复制');},0x5dc)):(_0x51d8af['textContent']=Za('copyFailed','❌\x20复制失败'),setTimeout(()=>{_0x51d8af['textContent']=Za('copy','📋\x20复制');},0x5dc));});}window['d3']=_0x5d4df0,window['i18n']=Ha;class Ka{constructor(){this['sceneManager']=null,this['uiController']=null,this['fileHandler']=null,this['jointControlsUI']=null,this['panelManager']=null,this['modelGraphView']=null,this['fileTreeView']=null,this['codeEditorManager']=null,this['measurementController']=null,this['usdViewerManager']=null,this['mujocoSimulationManager']=null,this['rosController']=null,this['_lastSafetyRenderAt']=0x0,this['virtualCameraManager']=null,this['virtualCameraPublisher']=null,this['virtualCameraPanel']=null,this['rosConnectionPanel']=null,this['axesControlPanel']=null,this['jointAxesControlPanel']=null,this['orientationControlPanel']=null,this['currentModel']=null,this['currentMJCFFile']=null,this['currentMJCFModel']=null,this['angleUnit']='rad',this['vscodeFileMap']=new Map();}async['loadModelFromVSCode'](_0x2f34a4){try{const _0x59fac0=new Blob([_0x2f34a4['content']],{'type':'text/plain'}),_0x47d5e5=new File([_0x59fac0],_0x2f34a4['name'],{'type':'text/plain'});_0x47d5e5['vscodeDirectory']=_0x2f34a4['directory'],_0x47d5e5['vscodePath']=_0x2f34a4['path'],this['fileHandler']['fileMap']['set'](_0x2f34a4['name'],_0x47d5e5),this['fileHandler']['fileMap']['set'](_0x2f34a4['path'],_0x47d5e5),this['vscodeFileMap']['set'](_0x2f34a4['name'],_0x2f34a4),await this['fileHandler']['loadFile'](_0x47d5e5);const _0x3c81c3=[{'file':_0x47d5e5,'name':_0x2f34a4['name'],'type':this['detectFileType'](_0x2f34a4['name']),'path':_0x2f34a4['path'],'category':'model','ext':_0x2f34a4['name']['split']('.')['pop']()['toLowerCase']()}];this['fileHandler']['availableModels']=_0x3c81c3,this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x3c81c3,this['fileHandler']['fileMap']),vscodeAdapter['log']('Model\x20loaded\x20successfully:\x20'+_0x2f34a4['name']);}catch(_0x2ac88f){vscodeAdapter['showError']('Failed\x20to\x20load\x20model:\x20'+_0x2ac88f['message']);}}['detectFileType'](_0x2c2772){const _0x405e05=_0x2c2772['split']('.')['pop']()['toLowerCase']();return['urdf','xacro']['includes'](_0x405e05)?'urdf':['mjcf','xml']['includes'](_0x405e05)?'mjcf':['usd','usda','usdc','usdz']['includes'](_0x405e05)?'usd':['obj','stl','dae','gltf','glb']['includes'](_0x405e05)?'mesh':'unknown';}async['init'](){try{Ha['init']();const _0x14d349=document['getElementById']('canvas');if(!_0x14d349)return;this['sceneManager']=new Pi(_0x14d349),window['sceneManager']=this['sceneManager'],this['rosController']=new xa(this['sceneManager']),this['mocapControlPanel']=new Ga(this),this['createUSDViewerContainer'](),this['fileHandler']=new Ri(),this['fileHandler']['setupFileDrop'](),this['fileHandler']['setUSDViewerInitializer'](async()=>await this['getUSDViewerManager']()),this['fileHandler']['onFilesLoaded']=_0x286a8d=>{this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x286a8d,this['fileHandler']['getFileMap']());},this['fileHandler']['onModelLoaded']=(_0x37479b,_0x1bcb03,_0x34480f=!0x1,_0x528d72=null)=>{this['handleModelLoaded'](_0x37479b,_0x1bcb03,_0x34480f,_0x528d72);},this['jointControlsUI']=new Ni(this['sceneManager']),this['jointControlsUI']['onJointChange']=_0x5bfba4=>{this['rosConnectionPanel']&&this['rosConnectionPanel']['bidirectionalEnabled']&&this['rosConnectionPanel']['onJointChanged'](_0x5bfba4);},this['modelGraphView']=new Vi(this['sceneManager']),this['fileTreeView']=new qi(),this['fileTreeView']['onFileClick']=_0x14f8bf=>{this['handleFileClick'](_0x14f8bf);},this['fileTreeView']['updateFileTree']([],new Map()),this['panelManager']=new Ui(),this['panelManager']['initAllPanels'](),this['rosConnectionPanel']=new Sa(this['rosController'],this);const _0x1e1be3=this['rosConnectionPanel']['createPanel']();document['body']['appendChild'](_0x1e1be3),this['rosConnectionPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('floating-ros-panel'),this['virtualCameraManager']=new Ia(this['sceneManager']),this['virtualCameraPublisher']=new Ra(this['rosController'],this['virtualCameraManager']),this['virtualCameraPanel']=new Ua(this,this['virtualCameraManager'],this['virtualCameraPublisher']);const _0x5db26d=this['virtualCameraPanel']['createPanel']();document['body']['appendChild'](_0x5db26d),this['virtualCameraPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('virtual-camera-panel'),this['rosController']['addConnectionListener'](_0x147fab=>{}),this['axesControlPanel']=new qa(this['sceneManager'],this);const _0x1d2407=this['axesControlPanel']['createPanel']();document['body']['appendChild'](_0x1d2407),this['panelManager']['registerPanel']('axes-control-panel'),this['axesControlPanel']['setOnRpyApply']((_0x5455dc,_0x2d4f4e)=>{const _0x30cab9=this['sceneManager']['axesManager']['applyJointOriginRpy'](this['currentModel'],_0x5455dc,_0x2d4f4e);_0x30cab9&&this['codeEditorManager']&&this['codeEditorManager']['updateUrdfOriginRpy'](_0x30cab9['jointName'],_0x30cab9['rpy']);}),this['jointAxesControlPanel']=new Ba(this['sceneManager'],this);const _0x1bb25c=this['jointAxesControlPanel']['createPanel']();document['body']['appendChild'](_0x1bb25c),this['panelManager']['registerPanel']('joint-axes-control-panel'),this['orientationControlPanel']=new Ya(this['sceneManager'],this);const _0x43459c=this['orientationControlPanel']['createPanel']();document['body']['appendChild'](_0x43459c),this['orientationControlPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('floating-orientation-panel'),this['modelGraphView']&&this['panelManager']['setModelGraphView'](this['modelGraphView']),this['uiController']=new Ii(this['sceneManager']),this['uiController']['setupAll']({'onThemeChanged':_0x105b47=>this['handleThemeChanged'](_0x105b47),'onAngleUnitChanged':_0x3efda5=>this['handleAngleUnitChanged'](_0x3efda5),'onIgnoreLimitsChanged':_0x47d666=>this['handleIgnoreLimitsChanged'](_0x47d666),'onLanguageChanged':_0x43d744=>this['handleLanguageChanged'](_0x43d744),'onResetJoints':()=>this['handleResetJoints'](),'onMujocoReset':()=>this['handleMujocoReset'](),'onMujocoToggleSimulate':()=>this['handleMujocoToggleSimulate'](),'onApplyAngles':()=>this['handleApplyAngles'](),'onSetHome':()=>this['handleSetHome'](),'onSelectAll':()=>this['handleSelectAll'](),'onResetToHome':()=>this['handleResetToHome'](),'onToggleShowMimic':_0x460838=>this['jointControlsUI']['setShowMimicJoints'](_0x460838)}),this['sceneManager']['onMeasurementUpdate']=()=>{this['measurementController']&&this['measurementController']['updateMeasurement']();},this['setupCanvasClickHandler'](_0x14d349),this['codeEditorManager']=new $i(),this['codeEditorManager']['init'](this['fileHandler']['getFileMap']()),this['jointControlsUI']&&this['jointControlsUI']['setCodeEditorManager'](this['codeEditorManager']),this['modelGraphView']&&this['modelGraphView']['setCodeEditorManager'](this['codeEditorManager']),this['codeEditorManager']['onReload']=async(_0x42d14a,_0xc0f241=!0x1)=>{_0xc0f241&&(this['_isReloading']=!0x0),this['fileHandler']['currentModelFile']=_0x42d14a,await this['fileHandler']['loadFile'](_0x42d14a),this['_isReloading']=!0x1;},this['codeEditorManager']['onSaveAs']=_0x1d85ce=>{const _0x1de888={'file':_0x1d85ce,'name':_0x1d85ce['name'],'type':this['detectFileType'](_0x1d85ce['name']),'path':_0x1d85ce['name'],'category':'model','ext':_0x1d85ce['name']['split']('.')['pop']()['toLowerCase']()},_0x55e739=this['fileHandler']['getAvailableModels']();_0x55e739['find'](_0xf0940=>_0xf0940['name']===_0x1d85ce['name'])||_0x55e739['push'](_0x1de888),this['fileTreeView']&&(this['fileTreeView']['updateFileTree'](_0x55e739,this['fileHandler']['getFileMap'](),!0x0),setTimeout(()=>{this['fileTreeView']['markActiveFile'](_0x1d85ce);},0x64));},this['measurementController']=new Ji(this['sceneManager']),this['modelGraphView']&&this['modelGraphView']['setMeasurementController'](this['measurementController']),this['mujocoSimulationManager']=new Wi(this['sceneManager']),this['setupModelTreePanel'](),this['updateEditorButtonVisibility'](),this['animate']();const _0x14b870=new URLSearchParams(window['location']['search'])['get']('mocap');if(_0x14b870&&(await this['loadMocapAsMainModel'](_0x14b870),this['rosConnectionPanel'])){this['rosConnectionPanel']['show']();const _0x5a9a14=localStorage['getItem']('ros_url')||'ws://localhost:9090';this['rosConnectionPanel']['autoConnect'](_0x5a9a14);}}catch(_0x770ebf){}}['updateEditorButtonVisibility'](){const _0x20f336=document['getElementById']('open-editor-btn');_0x20f336&&_0x20f336['classList']['add']('visible');}async['handleModelLoaded'](_0x44aedb,_0x5fd96a,_0x360491=!0x1,_0x285af7=null){var _0x34da32,_0x8696ce,_0x5edfbd,_0x4eb08e;const _0x33a9b7=this['_isReloading'],_0x36e46d=[],_0x16abfa=[];if(_0x33a9b7&&this['sceneManager']&&this['sceneManager']['axesManager']){const _0x1f54e7=this['sceneManager']['axesManager'];_0x1f54e7['getLinksWithAxes']()['forEach'](_0x1a5da2=>{_0x1f54e7['isLinkAxisVisible'](_0x1a5da2)&&_0x36e46d['push'](_0x1a5da2);}),_0x1f54e7['getJointNames']()['forEach'](_0x7e1464=>{_0x1f54e7['isJointAxisVisible'](_0x7e1464)&&_0x16abfa['push'](_0x7e1464);});}const _0x171377='xml'===_0x5fd96a['name']['split']('.')['pop']()['toLowerCase']()&&'mjcf'===(null==(_0x34da32=null==_0x44aedb?void 0x0:_0x44aedb['userData'])?void 0x0:_0x34da32['type']);if(this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['clearScene'](),_0x171377&&_0x44aedb['joints']&&_0x44aedb['joints']['size']>0x0){this['currentMJCFFile']=_0x5fd96a,this['currentMJCFModel']=_0x44aedb;const _0x2c7443=document['getElementById']('mujoco-simulation-bar'),_0x1fb15d=document['getElementById']('mujoco-reset-btn-bar'),_0x10b6bc=document['getElementById']('mujoco-simulate-btn-bar');if(_0x2c7443&&(_0x2c7443['style']['display']='flex'),_0x1fb15d){_0x1fb15d['disabled']=!0x1,_0x1fb15d['style']['opacity']='1',_0x1fb15d['style']['cursor']='pointer';const _0x4aa052=_0x1fb15d['querySelector']('span');_0x4aa052&&(_0x4aa052['textContent']=(null==(_0x8696ce=window['i18n'])?void 0x0:_0x8696ce['t']('mujocoReset'))||'Reset');}if(_0x10b6bc){_0x10b6bc['disabled']=!0x1,_0x10b6bc['style']['opacity']='1',_0x10b6bc['style']['cursor']='pointer',_0x10b6bc['classList']['remove']('active');const _0x3b8e42=_0x10b6bc['querySelector']('span');_0x3b8e42&&(_0x3b8e42['textContent']=(null==(_0x5edfbd=window['i18n'])?void 0x0:_0x5edfbd['t']('mujocoSimulate'))||'Simulate');}}else{const _0x38f5e3=document['getElementById']('mujoco-simulation-bar');_0x38f5e3&&(_0x38f5e3['style']['display']='none'),this['currentMJCFFile']=null,this['currentMJCFModel']=null;}if(null==(_0x4eb08e=null==_0x44aedb?void 0x0:_0x44aedb['userData'])?void 0x0:_0x4eb08e['isUSDWASM']){const _0x38b17b=document['getElementById']('canvas'),_0x441ef9=document['getElementById']('usd-viewer-container');_0x38b17b&&_0x441ef9&&(_0x38b17b['style']['display']='none',_0x441ef9['style']['display']='block');const _0xb66e78=document['getElementById']('joint-controls-panel'),_0x2fd917=document['getElementById']('graph-panel');_0xb66e78&&(_0xb66e78['style']['display']='none'),_0x2fd917&&(_0x2fd917['style']['display']='none'),this['currentModel']=_0x44aedb,this['rosController']['setModel'](_0x44aedb),this['updateModelInfo'](_0x44aedb,_0x5fd96a);const _0x22c5a9=document['getElementById']('canvas-snapshot');return void((null==_0x22c5a9?void 0x0:_0x22c5a9['parentNode'])&&_0x22c5a9['parentNode']['removeChild'](_0x22c5a9));}let _0x134da6=document['getElementById']('canvas');const _0x2451b9=document['getElementById']('usd-viewer-container');_0x134da6&&_0x2451b9&&(_0x134da6['style']['display']='block',_0x2451b9['style']['display']='none'),this['usdViewerManager']&&(this['usdViewerManager']['clear'](),this['usdViewerManager']['hide']());const _0x32e14e=document['getElementById']('joint-controls-panel'),_0xf38215=document['getElementById']('graph-panel');_0x32e14e&&(_0x32e14e['style']['display']=''),_0xf38215&&(_0xf38215['style']['display']=''),this['currentModel']&&(this['sceneManager']['removeModel'](this['currentModel']),this['currentModel']=null),this['currentModel']=_0x44aedb,this['rosController']['setModel'](_0x44aedb),this['sceneManager']['redraw'](),this['sceneManager']['render'](),_0x134da6=document['getElementById']('canvas');let _0x4344b7=null;if(_0x134da6)try{const _0xe279c1=_0x134da6['toDataURL']('image/png');_0x4344b7=document['createElement']('div'),_0x4344b7['id']='canvas-snapshot',_0x4344b7['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-image:\x20url('+_0xe279c1+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-size:\x20cover;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-position:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20var(--bg-primary);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-repeat:\x20no-repeat;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x202;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';const _0x1fa693=document['getElementById']('canvas-container');_0x1fa693?_0x1fa693['appendChild'](_0x4344b7):document['body']['appendChild'](_0x4344b7);}catch(_0x1a3e45){}let _0x1ce614=!0x1;const _0xe91fee=()=>{_0x4344b7&&_0x4344b7['parentNode']&&!_0x1ce614&&(_0x1ce614=!0x0,_0x4344b7['style']['transition']='opacity\x200.3s\x20ease',_0x4344b7['style']['opacity']='0',setTimeout(()=>{_0x4344b7&&_0x4344b7['parentNode']&&(_0x4344b7['parentNode']['removeChild'](_0x4344b7),_0x4344b7=null);},0x12c));},_0x340afd=setTimeout(()=>{_0x4344b7&&_0x4344b7['parentNode']&&(_0xe91fee(),this['sceneManager']['off']('modelReady',_0x455b2c));},0x1388),_0x455b2c=()=>{clearTimeout(_0x340afd),_0xe91fee(),this['sceneManager']['off']('modelReady',_0x455b2c),_0x33a9b7&&(_0x36e46d['forEach'](_0x65aa5=>{this['sceneManager']['axesManager']['showAxesByName'](_0x65aa5,!0x0);}),_0x16abfa['forEach'](_0x3cab70=>{this['sceneManager']['axesManager']['showJointAxisByName'](_0x3cab70,!0x0);}),this['axesControlPanel']&&this['axesControlPanel']['updateAxesList'](),this['jointAxesControlPanel']&&this['jointAxesControlPanel']['updateAxesList']()),this['orientationControlPanel']&&this['orientationControlPanel']['syncFromScene']();};this['sceneManager']['on']('modelReady',_0x455b2c),this['sceneManager']['addModel'](_0x44aedb);const _0x27e7e1=document['getElementById']('drop-zone');if(_0x27e7e1&&(_0x27e7e1['classList']['remove']('show'),_0x27e7e1['classList']['remove']('drag-over')),_0x360491){if(this['sceneManager']['setGroundVisible'](!0x1),this['modelGraphView']){_0x404602('#model-graph-svg')['selectAll']('*:not(defs)')['remove']();const _0x4c1dd9=document['getElementById']('graph-empty-state');_0x4c1dd9&&_0x4c1dd9['classList']['remove']('hidden');}const _0xa18e8=document['getElementById']('model-graph-panel');_0xa18e8&&(_0xa18e8['style']['display']='none');const _0xef2ea3=document['getElementById']('joint-controls');if(_0xef2ea3){_0xef2ea3['innerHTML']='';const _0x19488e=document['createElement']('div');_0x19488e['className']='empty-state',_0x19488e['textContent']=window['i18n']['t']('noModel'),_0xef2ea3['appendChild'](_0x19488e);}const _0x247b4b=document['getElementById']('joints-panel');_0x247b4b&&(_0x247b4b['style']['display']='none'),this['setAxesButtonState'](!0x0),this['codeEditorManager']&&this['codeEditorManager']['clearEditor']();}else{this['sceneManager']['setGroundVisible'](!0x0),this['jointControlsUI']['setupJointControls'](_0x44aedb),this['rosConnectionPanel']&&this['rosConnectionPanel']['onModelLoaded'](_0x44aedb),this['virtualCameraPanel']&&this['virtualCameraPanel']['refreshMountTargets'](),this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](_0x44aedb);const _0x3642d1=document['getElementById']('model-graph-panel');_0x3642d1&&(_0x3642d1['style']['display']='block');const _0x3f2861=document['getElementById']('joints-panel');_0x3f2861&&(_0x3f2861['style']['display']='block'),this['setAxesButtonState'](!0x1);}if(this['fileTreeView']&&!this['_isReloading']&&(this['fileTreeView']['updateFileTree'](this['fileHandler']['getAvailableModels'](),this['fileHandler']['getFileMap'](),!0x0),this['fileTreeView']['expandAndScrollToFile'](_0x5fd96a,this['fileHandler']['getFileMap']())),!this['_isReloading']&&!_0x360491){const _0x474836=document['getElementById']('code-editor-panel');if(_0x474836&&this['codeEditorManager']){_0x474836['classList']['add']('visible');const _0x5aa3c0=document['getElementById']('open-editor-btn');_0x5aa3c0&&_0x5aa3c0['classList']['add']('active'),this['codeEditorManager']['loadFile'](_0x5fd96a);}}this['updateEditorButtonVisibility'](),this['updateModelInfo'](_0x44aedb,_0x5fd96a),_0x33a9b7||_0x360491||(this['sceneManager']['axesManager']['deselectAxis'](),this['sceneManager']['axesManager']['setAllLinkAxesVisible'](!0x1),this['sceneManager']['axesManager']['setAllJointAxesVisible'](!0x1),this['axesControlPanel']&&(this['axesControlPanel']['hideRpySection'](),this['axesControlPanel']['updateAxesList']()),this['jointAxesControlPanel']&&this['jointAxesControlPanel']['updateAxesList']()),_0x360491||Qa(_0x44aedb,'joint-info-panel');}['setupCanvasClickHandler'](_0x4babc2){let _0x130d8b=null,_0x389ffb=0x0;_0x4babc2['addEventListener']('mousedown',_0x20999d=>{0x0===_0x20999d['button']&&(_0x130d8b={'x':_0x20999d['clientX'],'y':_0x20999d['clientY']},_0x389ffb=Date['now']());},!0x0),_0x4babc2['addEventListener']('mouseup',_0x13a308=>{if(0x0!==_0x13a308['button']||!this['sceneManager']||!_0x130d8b)return;const _0x1319a6=_0x13a308['clientX']-_0x130d8b['x'],_0x2adc11=_0x13a308['clientY']-_0x130d8b['y'],_0x598de7=Math['sqrt'](_0x1319a6*_0x1319a6+_0x2adc11*_0x2adc11),_0x2858df=Date['now']()-_0x389ffb;if(_0x598de7<0x5&&_0x2858df<0x12c){const _0x384523=new _0x248c63(),_0x47d862=new _0x30b554(),_0x3652a1=_0x4babc2['getBoundingClientRect']();_0x47d862['x']=(_0x13a308['clientX']-_0x3652a1['left'])/_0x3652a1['width']*0x2-0x1,_0x47d862['y']=-(_0x13a308['clientY']-_0x3652a1['top'])/_0x3652a1['height']*0x2+0x1,_0x384523['setFromCamera'](_0x47d862,this['sceneManager']['camera']);const _0x3b23b1=_0x384523['intersectObjects'](this['sceneManager']['scene']['children'],!0x0),_0x5ae33b=_0x3b23b1['find'](_0x577090=>{if(!_0x577090['object']['userData']||!_0x577090['object']['userData']['isAxis']||!_0x577090['object']['userData']['linkName'])return!0x1;const _0x4761dc=_0x577090['object']['userData']['linkName'],_0x45a7ce=this['sceneManager']['axesManager']['linkAxesHelpers']['get'](_0x4761dc);return _0x45a7ce&&_0x45a7ce['visible'];});if(_0x5ae33b){const _0x53b377=_0x5ae33b['object']['userData']['linkName'];return this['sceneManager']['axesManager']['selectAxis'](_0x53b377),this['axesControlPanel']&&this['axesControlPanel']['showRpySection'](this['currentModel'],_0x53b377),void(_0x130d8b=null);}if(0x0===_0x3b23b1['filter'](_0x14d22b=>{const _0x202eaa=_0x14d22b['object'];let _0x279e81=_0x202eaa;for(;_0x279e81;){const _0x5eb6d0=_0x279e81['name']||'';if(_0x5eb6d0['includes']('jointAxis')||_0x5eb6d0['includes']('helper')||_0x5eb6d0['includes']('grid')||_0x5eb6d0['includes']('Ground')||'groundPlane'===_0x5eb6d0)return!0x1;_0x279e81=_0x279e81['parent'];}return _0x202eaa['isMesh']&&_0x202eaa['visible'];})['length']){if(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['deselectAxis'](),this['axesControlPanel']&&this['axesControlPanel']['hideRpySection'](),this['modelGraphView']){const _0x280390=_0x404602('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0x280390);}this['measurementController']&&this['measurementController']['clearMeasurement']();}}_0x130d8b=null;},!0x0);}['setupModelTreePanel'](){const _0x887de4=document['getElementById']('toggle-model-tree'),_0x5b8cb5=document['getElementById']('floating-model-tree');_0x887de4&&_0x5b8cb5&&(_0x5b8cb5['style']['display']='flex',_0x887de4['classList']['add']('active')),_0x5b8cb5&&_0x5b8cb5['addEventListener']('click',_0x51235d=>{var _0xb10c3e,_0x36c6d2;const _0x7308c4=_0x51235d['target'];if(_0x7308c4===_0x5b8cb5||(null==(_0xb10c3e=_0x7308c4['classList'])?void 0x0:_0xb10c3e['contains']('graph-controls-hint'))||(null==(_0x36c6d2=_0x7308c4['classList'])?void 0x0:_0x36c6d2['contains']('empty-state'))||'floating-model-tree'===_0x7308c4['id']){if(this['modelGraphView']){const _0x276903=_0x404602('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0x276903);}this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']();}});}['updateModelInfo'](_0x319d2b,_0x1a58f5){const _0x5a44c5=document['getElementById']('status-info');if(!_0x5a44c5||!_0x319d2b)return;let _0x3b6aff='<strong>'+_0x1a58f5['name']+'</strong><br>';if(_0x3b6aff+='Type:\x20'+_0x1a58f5['name']['split']('.')['pop']()['toLowerCase']()['toUpperCase']()+'<br>',_0x319d2b['links']&&(_0x3b6aff+='Links:\x20'+_0x319d2b['links']['size']+'<br>'),_0x319d2b['joints']){const _0xdd8013=Array['from'](_0x319d2b['joints']['values']())['filter'](_0x1f8ab9=>'fixed'!==_0x1f8ab9['type'])['length'];_0x3b6aff+='Joints:\x20'+_0x319d2b['joints']['size']+'\x20('+_0xdd8013+'\x20controllable)<br>';}if(_0x319d2b['constraints']&&_0x319d2b['constraints']['size']>0x0){_0x3b6aff+='<span\x20style=\x22color:\x20#00aaff;\x20font-weight:\x20bold;\x22>Constraints:\x20'+_0x319d2b['constraints']['size']+'\x20🔗</span><br>';const _0x37263d={};_0x319d2b['constraints']['forEach'](_0x240223=>{_0x37263d[_0x240223['type']]=(_0x37263d[_0x240223['type']]||0x0)+0x1;});const _0x4502c3={'connect':'Connect','weld':'Weld','joint':'Joint\x20Coupling','distance':'Distance'};_0x3b6aff+='<span\x20style=\x22font-size:\x2011px;\x20color:\x20#888;\x22>'+Object['entries'](_0x37263d)['map'](([_0x2f69c2,_0x1690dd])=>(_0x4502c3[_0x2f69c2]||_0x2f69c2)+':\x20'+_0x1690dd)['join'](',\x20')+'</span><br>';}_0x319d2b['rootLink']&&(_0x3b6aff+='Root\x20Link:\x20'+_0x319d2b['rootLink']),_0x5a44c5['innerHTML']=_0x3b6aff,_0x5a44c5['className']='success';}['handleFileClick'](_0xac7147){const _0x2dd8b1=_0xac7147['ext'];if(['urdf','xacro','xml','usd','usda','usdc','usdz']['includes'](_0x2dd8b1)){this['fileHandler']['loadFile'](_0xac7147['file']);const _0x137cc9=document['getElementById']('code-editor-panel');_0x137cc9&&_0x137cc9['classList']['contains']('visible')&&this['codeEditorManager']&&this['codeEditorManager']['loadFile'](_0xac7147['file']);}else['dae','stl','obj','collada']['includes'](_0x2dd8b1)&&this['fileHandler']['loadMeshAsModel'](_0xac7147['file'],_0xac7147['name']);}['createUSDViewerContainer'](){const _0x47d2a7=document['getElementById']('canvas-container');if(!_0x47d2a7)return;const _0x93f43b=document['createElement']('div');_0x93f43b['id']='usd-viewer-container',_0x93f43b['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0x47d2a7['appendChild'](_0x93f43b);}async['getUSDViewerManager'](){if(!this['usdViewerManager']){const _0x300688=document['getElementById']('usd-viewer-container');if(!_0x300688)throw new Error('USD\x20viewer\x20container\x20not\x20found');this['usdViewerManager']=new Hi(_0x300688),this['fileHandler']['setUSDViewerManager'](this['usdViewerManager']),this['usdViewerManager']['on']('USD_LOADING_START',_0x106494=>{var _0x47b145;const _0x1b1c28=(null==(_0x47b145=_0x106494['data'])?void 0x0:_0x47b145['message'])||'Loading\x20USD...',_0x4926cb=document['getElementById']('status-info');_0x4926cb&&(_0x4926cb['textContent']=_0x1b1c28,_0x4926cb['className']='info');}),this['usdViewerManager']['on']('USD_LOADED',()=>{const _0x3d02a0=document['getElementById']('status-info');_0x3d02a0&&(_0x3d02a0['textContent']='USD\x20file\x20loaded\x20successfully',_0x3d02a0['className']='success');}),this['usdViewerManager']['on']('USD_ERROR',_0x979b31=>{var _0x41e14f;const _0x45fd6c=(null==(_0x41e14f=_0x979b31['data'])?void 0x0:_0x41e14f['error'])||'Load\x20failed',_0x3d756f=document['getElementById']('status-info');_0x3d756f&&(_0x3d756f['textContent']='Load\x20failed:\x20'+_0x45fd6c,_0x3d756f['className']='error');});}return this['usdViewerManager'];}['handleThemeChanged'](_0x27e482){this['codeEditorManager']&&this['codeEditorManager']['updateTheme'](_0x27e482),this['currentModel']&&this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](this['currentModel']);}['handleAngleUnitChanged'](_0x3b4331){this['angleUnit']=_0x3b4331,this['jointControlsUI']&&this['jointControlsUI']['setAngleUnit'](_0x3b4331);}['handleResetJoints'](){this['currentModel']&&this['jointControlsUI']&&this['jointControlsUI']['resetAllJoints'](this['currentModel']);}['handleIgnoreLimitsChanged'](_0x19ee78){this['jointControlsUI']&&this['currentModel']&&this['jointControlsUI']['updateAllSliderLimits'](this['currentModel'],_0x19ee78);}['handleApplyAngles'](){this['jointControlsUI']&&this['jointControlsUI']['handleApplyAngles']();}['handleSetHome'](){var _0x2e36be,_0x46d7fb;if(!this['currentModel']||!this['currentModel']['joints'])return;const _0x353fa5={};this['currentModel']['joints']['forEach']((_0x4ede71,_0x4f5388)=>{'fixed'!==_0x4ede71['type']&&(_0x353fa5[_0x4f5388]=_0x4ede71['currentValue']);}),this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['homePositions']=_0x353fa5,this['jointControlsUI']&&this['jointControlsUI']['updateButtonStates']();const _0x3df724=Object['keys'](_0x353fa5)['length'],_0x122fb8=(null==(_0x46d7fb=null==(_0x2e36be=window['i18n'])?void 0x0:_0x2e36be['t']('setHomeSuccess'))?void 0x0:_0x46d7fb['replace']('{count}',_0x3df724))||'已记录\x20'+_0x3df724+'\x20个关节的零位';this['jointControlsUI']['showToast'](_0x122fb8,'success');}['handleSelectAll'](){this['jointControlsUI']&&this['jointControlsUI']['handleSelectAll']();}['handleResetToHome'](){this['jointControlsUI']&&this['jointControlsUI']['handleResetToHome']();}['handleLanguageChanged'](_0x2789){var _0xb83b10,_0x20f48c,_0x5ee7a4,_0x187159,_0x3595d8,_0x1e4677;Ha['setLanguage'](_0x2789),this['codeEditorManager']&&this['codeEditorManager']['updateEditorSaveStatus'](),this['currentModel']&&this['jointControlsUI']&&this['jointControlsUI']['setupJointControls'](this['currentModel']),this['currentModel']&&this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](this['currentModel']),this['fileTreeView']&&this['fileHandler']&&this['fileTreeView']['updateFileTree'](this['fileHandler']['getAvailableModels'](),this['fileHandler']['getFileMap'](),!0x0);const _0x417b61=document['getElementById']('mujoco-simulate-btn-bar');if(_0x417b61){const _0x5e142a=_0x417b61['querySelector']('span');if(_0x5e142a){const _0x37df51=_0x417b61['classList']['contains']('active')?'mujocoPause':'mujocoSimulate';_0x5e142a['textContent']=Ha['t'](_0x37df51),_0x5e142a['setAttribute']('data-i18n',_0x37df51);}}null==(_0x20f48c=null==(_0xb83b10=this['virtualCameraPanel'])?void 0x0:_0xb83b10['refreshLanguage'])||_0x20f48c['call'](_0xb83b10),null==(_0x187159=null==(_0x5ee7a4=this['rosConnectionPanel'])?void 0x0:_0x5ee7a4['refreshLanguage'])||_0x187159['call'](_0x5ee7a4),null==(_0x1e4677=null==(_0x3595d8=this['orientationControlPanel'])?void 0x0:_0x3595d8['refreshLanguage'])||_0x1e4677['call'](_0x3595d8);}['setAxesButtonState'](_0x2e4dc5){const _0x5255a5=document['getElementById']('toggle-axes-btn'),_0x438273=document['getElementById']('toggle-joint-axes-btn');_0x5255a5&&_0x438273&&(_0x5255a5['setAttribute']('data-checked',_0x2e4dc5['toString']()),_0x438273['setAttribute']('data-checked','false'),_0x2e4dc5?(_0x5255a5['classList']['add']('active'),_0x438273['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['showAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())):(_0x5255a5['classList']['remove']('active'),_0x438273['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['hideAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&(this['mujocoSimulationManager']['toggleAxesDisplay'](_0x2e4dc5),this['mujocoSimulationManager']['toggleJointAxesDisplay'](!0x1)));}['detectFileType'](_0xbce09d){return{'urdf':'urdf','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0xbce09d['toLowerCase']()['split']('.')['pop']()]||'urdf';}async['loadMocapAsMainModel'](_0x36a50f){const {MOCAP_CONFIG:_0x1f0b33}=await Ae(()=>Promise['resolve']()['then'](()=>_a),void 0,import.meta.url),_0x3140d2=_0x1f0b33[_0x36a50f];if(_0x3140d2)try{const _0x8f6e7a=await fetch(_0x3140d2['urdfPath']);if(!_0x8f6e7a['ok'])throw new Error('Failed\x20to\x20fetch\x20URDF:\x20'+_0x8f6e7a['statusText']);const _0x32937e=await _0x8f6e7a['text'](),_0x106fd3=_0x3140d2['urdfPath']['substring'](0x0,_0x3140d2['urdfPath']['lastIndexOf']('/')+0x1),_0x3f26dd=_0x32937e['replace'](/filename="[^"]*?(meshes\/[^"]+)"/g,'filename=\x22'+_0x106fd3+'$1\x22'),_0x376e9a=new Blob([_0x3f26dd],{'type':'text/xml'}),_0x450fb1=new File([_0x376e9a],_0x36a50f+'.urdf',{'type':'text/xml'});this['fileHandler']['fileMap']['clear'](),this['fileHandler']['fileMap']['set'](_0x450fb1['name'],_0x450fb1),await this['fileHandler']['loadFile'](_0x450fb1);const _0x2ca710=this['sceneManager']['currentModel'];if(_0x2ca710&&_0x2ca710['joints']){const _0x44e168={};_0x2ca710['joints']['forEach']((_0x375077,_0x355df4)=>{'fixed'!==_0x375077['type']&&(_0x44e168[_0x355df4]=_0x375077['currentValue']);}),_0x2ca710['userData']||(_0x2ca710['userData']={}),_0x2ca710['userData']['homePositions']=_0x44e168;}_0x3140d2['scale']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['scale']['set'](_0x3140d2['scale'],_0x3140d2['scale'],_0x3140d2['scale']),_0x3140d2['rotation']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['rotation']['set'](_0x3140d2['rotation']['x'],_0x3140d2['rotation']['y'],_0x3140d2['rotation']['z']),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['updateMatrixWorld'](!0x0);}catch(_0x32108d){alert('Failed\x20to\x20load\x20'+_0x3140d2['name']+':\x20'+_0x32108d['message']);}else alert('Unknown\x20mocap\x20model:\x20'+_0x36a50f);}async['autoConnectROS'](_0x26ffea){var _0x5beea0;const _0x3f1e86=localStorage['getItem']('ros_url')||'ws://localhost:9090';try{if(await this['rosController']['connect'](_0x3f1e86),await new Promise(_0x5718c2=>setTimeout(_0x5718c2,0x1f4)),'tf'===_0x26ffea['topicType']&&this['sceneManager']['currentModel']){let _0x54eeb1=_0x26ffea['rosTopic'];const _0x387c66=document['querySelector']('#floating-ros-panel');if(_0x387c66){const _0x1ab67c=null==(_0x5beea0=_0x387c66['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x5beea0['querySelector']('.ros-topic-input');(null==_0x1ab67c?void 0x0:_0x1ab67c['value'])&&(_0x54eeb1=_0x1ab67c['value']);}this['rosController']['tfController']['subscribeTF'](_0x26ffea['id'],this['sceneManager']['currentModel'],_0x54eeb1);}}catch(_0x2ad0e3){}}['handleMujocoReset'](){this['mujocoSimulationManager']&&this['mujocoSimulationManager']['reset']();}async['handleMujocoToggleSimulate'](){if(!this['mujocoSimulationManager']['hasScene']()&&this['currentMJCFFile']&&this['currentMJCFModel'])try{const _0x12a9ba=await this['currentMJCFFile']['text']();return await this['mujocoSimulationManager']['loadScene'](_0x12a9ba,this['currentMJCFFile']['name'],this['fileHandler']['getFileMap'](),this['currentMJCFModel']),this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!0x1),this['mujocoSimulationManager']['startSimulation'](),!0x0;}catch(_0x4ad203){return!0x1;}if(this['mujocoSimulationManager']){const _0x42a462=this['mujocoSimulationManager']['toggleSimulation']();return this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!_0x42a462),_0x42a462;}return!0x1;}['animate'](){var _0x413ae5,_0x34bdca;if(requestAnimationFrame(()=>this['animate']()),this['sceneManager']){this['sceneManager']['update'](),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['update'](performance['now']());const _0x2c8150=performance['now'](),_0x369084=!(!0x0===(null==(_0x34bdca=null==(_0x413ae5=this['virtualCameraPublisher'])?void 0x0:_0x413ae5['isRunning'])?void 0x0:_0x34bdca['call'](_0x413ae5)))&&_0x2c8150-this['_lastSafetyRenderAt']>0xfa;(this['sceneManager']['hasPendingRender']()||_0x369084)&&(this['sceneManager']['render'](),this['_lastSafetyRenderAt']=_0x2c8150);}}}if('1'===new URLSearchParams(window['location']['search'])['get']('plot')){Ha['init']();const e=document['getElementById']('container');e&&(e['style']['display']='none');const t=document['getElementById']('plot-container');t&&(t['style']['display']='flex',t['innerHTML']='<div\x20style=\x22display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary);font-size:14px;\x22>'+Ha['t']('loadingPlotPanel')+'</div>'),Ae(()=>import('./PlotPanel-64b4820e.js'),["./PlotPanel-64b4820e.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js","../css/PlotPanel-3e7d7555.css"],import.meta.url)['then'](_0x160bfe=>{t&&(t['innerHTML']='');const _0x13966b=new _0x160bfe['PlotPanel']();_0x13966b['init'](),window['plotPanel']=_0x13966b;})['catch'](_0x4c8f0a=>{t&&(t['innerHTML']='<div\x20style=\x22display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:12px;\x22><div\x20style=\x22color:#ff6b6b;font-size:16px;font-weight:600;\x22>'+Ha['t']('plotPanelLoadFailed')+'</div><div\x20style=\x22color:var(--text-secondary);font-size:13px;\x22>'+Ha['t']('checkNetworkAndReload')+'</div><div\x20style=\x22color:var(--text-tertiary);font-size:11px;font-family:monospace;margin-top:8px;\x22>'+(_0x4c8f0a&&_0x4c8f0a['message']?_0x4c8f0a['message']:Ha['t']('unknownError'))+'</div></div>');});}else{const e=new Ka();e['init'](),window['app']=e;}export{xa as R,Ae as _};
|