@ioai/robot_viewer 1.1.1 → 1.1.2
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/README.md +34 -0
- package/bin/cli.js +2 -2
- package/dist/assets/js/PlotPanel-09f986c7.js +1 -0
- package/dist/assets/js/index-56e94ce5.js +6 -0
- package/dist/assets/js/{mujoco_wasm-e013cb22.js → mujoco_wasm-345a2576.js} +1 -1
- package/dist/camera-publish-worker.js +1 -1
- package/dist/heartbeat-worker.js +1 -1
- package/dist/index.html +2 -2
- package/package.json +5 -5
- package/server/static-server.js +20 -2
- package/dist/assets/js/PlotPanel-64b4820e.js +0 -1
- package/dist/assets/js/index-2e5294e6.js +0 -6
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{Ray as _0xa30f40,Plane as _0xb2ec94,EventDispatcher as _0x4d22d7,Vector3 as _0x5a7be3,MOUSE as _0x5ef69a,TOUCH as _0x3d584c,Quaternion as _0x4adb8f,Spherical as _0x16079d,Vector2 as _0x29f781,MathUtils as _0x35197a,Matrix4 as _0x5dcd72,Object3D as _0x483a70,Matrix3 as _0x47bdb6,BoxGeometry as _0x1b40f5,Euler as _0x730a0a,SphereGeometry as _0x401a16,Raycaster as _0x21d002,Color as _0x43a4f1,MeshPhongMaterial as _0xa87e13,SRGBColorSpace as _0x3e3edd,Group as _0x2474d6,CapsuleGeometry as _0x146bda,CylinderGeometry as _0x201dad,Mesh as _0x3d1069,MeshStandardMaterial as _0xc21d5a,HemisphereLight as _0x2b3ac0,DirectionalLight as _0x26b1c0,PMREMGenerator as _0x434763,Scene as _0x33e93b,EquirectangularReflectionMapping as _0x55da5a,DataTexture as _0x4da6af,CubeTexture as _0x103b61,CubeReflectionMapping as _0x33202c,PlaneGeometry as _0x27d8b6,ShadowMaterial as _0x4a617e,DoubleSide as _0x17cb8b,GridHelper as _0x16346c,Sphere as _0x58fe83,MeshBasicMaterial as _0x553295,BufferGeometry as _0x5065c1,BufferAttribute as _0x5375dc,LineDashedMaterial as _0x49d752,Line as _0x492957,ConeGeometry as _0x4b8cda,EllipseCurve as _0x212f00,CatmullRomCurve3 as _0x3cfe80,TubeGeometry as _0x6e922e,Box3 as _0x9892f7,LineBasicMaterial as _0x46982f,CanvasTexture as _0x302a55,SpriteMaterial as _0x52cd88,Sprite as _0x41fc88,PerspectiveCamera as _0x45bf09,WebGLRenderer as _0x3588ec,PCFSoftShadowMap as _0x38103c,WireframeGeometry as _0x1e0994,LineSegments as _0x3abb7e,ArrowHelper as _0x1189aa,ShaderMaterial as _0x38f322,OrthographicCamera as _0x410dff,HalfFloatType as _0x1d0a26,UnsignedByteType as _0x4beb35,WebGLRenderTarget as _0x87241a,RGBAFormat as _0xffbefe,NearestFilter as _0x307cf6}from'./three-9c891de0.js';import{s as _0x1a28d0,h as _0xbfcd8c,t as _0x42569a,z as _0x75ec0d,l as _0x1ebd46,i as _0x108a85,d as _0x40e183}from'./d3-2e308866.js';import{a as _0x4e2a56,b as _0x1796ce,x as _0x34e7aa,E as _0x2cd579}from'./codemirror-c3cec7b3.js';import{g as _0x1ecaf4,v as _0x4657fb}from'./codemirror-themes-e6995a6a.js';!(function(){const _0x2bfe6f=document['createElement']('link')['relList'];if(!(_0x2bfe6f&&_0x2bfe6f['supports']&&_0x2bfe6f['supports']('modulepreload'))){for(const _0x58b1e7 of document['querySelectorAll']('link[rel=\x22modulepreload\x22]'))_0x54ca1d(_0x58b1e7);new MutationObserver(_0x4f74bc=>{for(const _0x379ef1 of _0x4f74bc)if('childList'===_0x379ef1['type'])for(const _0x4c8368 of _0x379ef1['addedNodes'])'LINK'===_0x4c8368['tagName']&&'modulepreload'===_0x4c8368['rel']&&_0x54ca1d(_0x4c8368);})['observe'](document,{'childList':!0x0,'subtree':!0x0});}function _0x54ca1d(_0x5c14c1){if(_0x5c14c1['ep'])return;_0x5c14c1['ep']=!0x0;const _0x42c373=function(_0x4217f3){const _0xf79226={};return _0x4217f3['integrity']&&(_0xf79226['integrity']=_0x4217f3['integrity']),_0x4217f3['referrerPolicy']&&(_0xf79226['referrerPolicy']=_0x4217f3['referrerPolicy']),'use-credentials'===_0x4217f3['crossOrigin']?_0xf79226['credentials']='include':'anonymous'===_0x4217f3['crossOrigin']?_0xf79226['credentials']='omit':_0xf79226['credentials']='same-origin',_0xf79226;}(_0x5c14c1);fetch(_0x5c14c1['href'],_0x42c373);}}());const Se={},Ae=function(_0x4f1139,_0xfc8a4a,_0x1a5970){if(!_0xfc8a4a||0x0===_0xfc8a4a['length'])return _0x4f1139();const _0x49d5bc=document['getElementsByTagName']('link');return Promise['all'](_0xfc8a4a['map'](_0x183f5=>{if(_0x183f5=function(_0x5d9646,_0x310884){return new URL(_0x5d9646,_0x310884)['href'];}(_0x183f5,_0x1a5970),_0x183f5 in Se)return;Se[_0x183f5]=!0x0;const _0x31da64=_0x183f5['endsWith']('.css'),_0x181da7=_0x31da64?'[rel=\x22stylesheet\x22]':'';if(!!_0x1a5970)for(let _0x2bb9d0=_0x49d5bc['length']-0x1;_0x2bb9d0>=0x0;_0x2bb9d0--){const _0x38c315=_0x49d5bc[_0x2bb9d0];if(_0x38c315['href']===_0x183f5&&(!_0x31da64||'stylesheet'===_0x38c315['rel']))return;}else if(document['querySelector']('link[href=\x22'+_0x183f5+'\x22]'+_0x181da7))return;const _0x1a5bf2=document['createElement']('link');return _0x1a5bf2['rel']=_0x31da64?'stylesheet':'modulepreload',_0x31da64||(_0x1a5bf2['as']='script',_0x1a5bf2['crossOrigin']=''),_0x1a5bf2['href']=_0x183f5,document['head']['appendChild'](_0x1a5bf2),_0x31da64?new Promise((_0x3e7884,_0x368e23)=>{_0x1a5bf2['addEventListener']('load',_0x3e7884),_0x1a5bf2['addEventListener']('error',()=>_0x368e23(new Error('Unable\x20to\x20preload\x20CSS\x20for\x20'+_0x183f5)));}):void 0x0;}))['then'](()=>_0x4f1139())['catch'](_0x1fbeb5=>{const _0x3b39c7=new Event('vite:preloadError',{'cancelable':!0x0});if(_0x3b39c7['payload']=_0x1fbeb5,window['dispatchEvent'](_0x3b39c7),!_0x3b39c7['defaultPrevented'])throw _0x1fbeb5;});},Le={'type':'change'},Ee={'type':'start'},Ce={'type':'end'},je=new _0xa30f40(),ke=new _0xb2ec94(),Te=Math['cos'](0x46*_0x35197a['DEG2RAD']);class Oe extends _0x4d22d7{constructor(_0x52abdc,_0x36932e){super(),this['object']=_0x52abdc,this['domElement']=_0x36932e,this['domElement']['style']['touchAction']='none',this['enabled']=!0x0,this['target']=new _0x5a7be3(),this['cursor']=new _0x5a7be3(),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':_0x5ef69a['ROTATE'],'MIDDLE':_0x5ef69a['DOLLY'],'RIGHT':_0x5ef69a['PAN']},this['touches']={'ONE':_0x3d584c['ROTATE'],'TWO':_0x3d584c['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 _0x36de14['phi'];},this['getAzimuthalAngle']=function(){return _0x36de14['theta'];},this['getDistance']=function(){return this['object']['position']['distanceTo'](this['target']);},this['listenToKeyEvents']=function(_0x46bda6){_0x46bda6['addEventListener']('keydown',_0x45cda8),this['_domElementKeyEvents']=_0x46bda6;},this['stopListenToKeyEvents']=function(){this['_domElementKeyEvents']['removeEventListener']('keydown',_0x45cda8),this['_domElementKeyEvents']=null;},this['saveState']=function(){_0x53e35e['target0']['copy'](_0x53e35e['target']),_0x53e35e['position0']['copy'](_0x53e35e['object']['position']),_0x53e35e['zoom0']=_0x53e35e['object']['zoom'];},this['reset']=function(){_0x53e35e['target']['copy'](_0x53e35e['target0']),_0x53e35e['object']['position']['copy'](_0x53e35e['position0']),_0x53e35e['object']['zoom']=_0x53e35e['zoom0'],_0x53e35e['object']['updateProjectionMatrix'](),_0x53e35e['dispatchEvent'](Le),_0x53e35e['update'](),_0x59406b=_0x35c419['NONE'];},this['update']=(function(){const _0x533c4b=new _0x5a7be3(),_0x1718c0=new _0x4adb8f()['setFromUnitVectors'](_0x52abdc['up'],new _0x5a7be3(0x0,0x1,0x0)),_0xc6c5f4=_0x1718c0['clone']()['invert'](),_0xb5c1b0=new _0x5a7be3(),_0x15fb77=new _0x4adb8f(),_0x4eac10=new _0x5a7be3(),_0x26ce0f=0x2*Math['PI'];return function(_0x2e8561=null){const _0x5f498b=_0x53e35e['object']['position'];_0x533c4b['copy'](_0x5f498b)['sub'](_0x53e35e['target']),_0x533c4b['applyQuaternion'](_0x1718c0),_0x36de14['setFromVector3'](_0x533c4b),_0x53e35e['autoRotate']&&_0x59406b===_0x35c419['NONE']&&_0x1896ed(function(_0x5969b8){return null!==_0x5969b8?0x2*Math['PI']/0x3c*_0x53e35e['autoRotateSpeed']*_0x5969b8:0x2*Math['PI']/0x3c/0x3c*_0x53e35e['autoRotateSpeed'];}(_0x2e8561)),_0x53e35e['enableDamping']?(_0x36de14['theta']+=_0x324715['theta']*_0x53e35e['dampingFactor'],_0x36de14['phi']+=_0x324715['phi']*_0x53e35e['dampingFactor']):(_0x36de14['theta']+=_0x324715['theta'],_0x36de14['phi']+=_0x324715['phi']);let _0x337a18=_0x53e35e['minAzimuthAngle'],_0x1733bc=_0x53e35e['maxAzimuthAngle'];isFinite(_0x337a18)&&isFinite(_0x1733bc)&&(_0x337a18<-Math['PI']?_0x337a18+=_0x26ce0f:_0x337a18>Math['PI']&&(_0x337a18-=_0x26ce0f),_0x1733bc<-Math['PI']?_0x1733bc+=_0x26ce0f:_0x1733bc>Math['PI']&&(_0x1733bc-=_0x26ce0f),_0x36de14['theta']=_0x337a18<=_0x1733bc?Math['max'](_0x337a18,Math['min'](_0x1733bc,_0x36de14['theta'])):_0x36de14['theta']>(_0x337a18+_0x1733bc)/0x2?Math['max'](_0x337a18,_0x36de14['theta']):Math['min'](_0x1733bc,_0x36de14['theta'])),_0x36de14['phi']=Math['max'](_0x53e35e['minPolarAngle'],Math['min'](_0x53e35e['maxPolarAngle'],_0x36de14['phi'])),_0x36de14['makeSafe'](),!0x0===_0x53e35e['enableDamping']?_0x53e35e['target']['addScaledVector'](_0x24a729,_0x53e35e['dampingFactor']):_0x53e35e['target']['add'](_0x24a729),_0x53e35e['target']['sub'](_0x53e35e['cursor']),_0x53e35e['target']['clampLength'](_0x53e35e['minTargetRadius'],_0x53e35e['maxTargetRadius']),_0x53e35e['target']['add'](_0x53e35e['cursor']);let _0x1fcffe=!0x1;if(_0x53e35e['zoomToCursor']&&_0x4d5eb1||_0x53e35e['object']['isOrthographicCamera'])_0x36de14['radius']=_0x6f68ee(_0x36de14['radius']);else{const _0x54a0a5=_0x36de14['radius'];_0x36de14['radius']=_0x6f68ee(_0x36de14['radius']*_0x4532ea),_0x1fcffe=_0x54a0a5!=_0x36de14['radius'];}if(_0x533c4b['setFromSpherical'](_0x36de14),_0x533c4b['applyQuaternion'](_0xc6c5f4),_0x5f498b['copy'](_0x53e35e['target'])['add'](_0x533c4b),_0x53e35e['object']['lookAt'](_0x53e35e['target']),!0x0===_0x53e35e['enableDamping']?(_0x324715['theta']*=0x1-_0x53e35e['dampingFactor'],_0x324715['phi']*=0x1-_0x53e35e['dampingFactor'],_0x24a729['multiplyScalar'](0x1-_0x53e35e['dampingFactor'])):(_0x324715['set'](0x0,0x0,0x0),_0x24a729['set'](0x0,0x0,0x0)),_0x53e35e['zoomToCursor']&&_0x4d5eb1){let _0x5043c2=null;if(_0x53e35e['object']['isPerspectiveCamera']){const _0x588107=_0x533c4b['length']();_0x5043c2=_0x6f68ee(_0x588107*_0x4532ea);const _0x3adcbd=_0x588107-_0x5043c2;_0x53e35e['object']['position']['addScaledVector'](_0x34bcc3,_0x3adcbd),_0x53e35e['object']['updateMatrixWorld'](),_0x1fcffe=!!_0x3adcbd;}else if(_0x53e35e['object']['isOrthographicCamera']){const _0x55a451=new _0x5a7be3(_0x360408['x'],_0x360408['y'],0x0);_0x55a451['unproject'](_0x53e35e['object']);const _0x3f5322=_0x53e35e['object']['zoom'];_0x53e35e['object']['zoom']=Math['max'](_0x53e35e['minZoom'],Math['min'](_0x53e35e['maxZoom'],_0x53e35e['object']['zoom']/_0x4532ea)),_0x53e35e['object']['updateProjectionMatrix'](),_0x1fcffe=_0x3f5322!==_0x53e35e['object']['zoom'];const _0x31e886=new _0x5a7be3(_0x360408['x'],_0x360408['y'],0x0);_0x31e886['unproject'](_0x53e35e['object']),_0x53e35e['object']['position']['sub'](_0x31e886)['add'](_0x55a451),_0x53e35e['object']['updateMatrixWorld'](),_0x5043c2=_0x533c4b['length']();}else _0x53e35e['zoomToCursor']=!0x1;null!==_0x5043c2&&(this['screenSpacePanning']?_0x53e35e['target']['set'](0x0,0x0,-0x1)['transformDirection'](_0x53e35e['object']['matrix'])['multiplyScalar'](_0x5043c2)['add'](_0x53e35e['object']['position']):(je['origin']['copy'](_0x53e35e['object']['position']),je['direction']['set'](0x0,0x0,-0x1)['transformDirection'](_0x53e35e['object']['matrix']),Math['abs'](_0x53e35e['object']['up']['dot'](je['direction']))<Te?_0x52abdc['lookAt'](_0x53e35e['target']):(ke['setFromNormalAndCoplanarPoint'](_0x53e35e['object']['up'],_0x53e35e['target']),je['intersectPlane'](ke,_0x53e35e['target']))));}else if(_0x53e35e['object']['isOrthographicCamera']){const _0x356b8d=_0x53e35e['object']['zoom'];_0x53e35e['object']['zoom']=Math['max'](_0x53e35e['minZoom'],Math['min'](_0x53e35e['maxZoom'],_0x53e35e['object']['zoom']/_0x4532ea)),_0x356b8d!==_0x53e35e['object']['zoom']&&(_0x53e35e['object']['updateProjectionMatrix'](),_0x1fcffe=!0x0);}return _0x4532ea=0x1,_0x4d5eb1=!0x1,!!(_0x1fcffe||_0xb5c1b0['distanceToSquared'](_0x53e35e['object']['position'])>_0x77ff11||0x8*(0x1-_0x15fb77['dot'](_0x53e35e['object']['quaternion']))>_0x77ff11||_0x4eac10['distanceToSquared'](_0x53e35e['target'])>_0x77ff11)&&(_0x53e35e['dispatchEvent'](Le),_0xb5c1b0['copy'](_0x53e35e['object']['position']),_0x15fb77['copy'](_0x53e35e['object']['quaternion']),_0x4eac10['copy'](_0x53e35e['target']),!0x0);};}()),this['dispose']=function(){_0x53e35e['domElement']['removeEventListener']('contextmenu',_0x5902d2),_0x53e35e['domElement']['removeEventListener']('pointerdown',_0x1cd8f6),_0x53e35e['domElement']['removeEventListener']('pointercancel',_0x285cfa),_0x53e35e['domElement']['removeEventListener']('wheel',_0x286fdd),_0x53e35e['domElement']['removeEventListener']('pointermove',_0x2e7834),_0x53e35e['domElement']['removeEventListener']('pointerup',_0x285cfa);_0x53e35e['domElement']['getRootNode']()['removeEventListener']('keydown',_0x3b11bc,{'capture':!0x0}),null!==_0x53e35e['_domElementKeyEvents']&&(_0x53e35e['_domElementKeyEvents']['removeEventListener']('keydown',_0x45cda8),_0x53e35e['_domElementKeyEvents']=null);};const _0x53e35e=this,_0x35c419={'NONE':-0x1,'ROTATE':0x0,'DOLLY':0x1,'PAN':0x2,'TOUCH_ROTATE':0x3,'TOUCH_PAN':0x4,'TOUCH_DOLLY_PAN':0x5,'TOUCH_DOLLY_ROTATE':0x6};let _0x59406b=_0x35c419['NONE'];const _0x77ff11=0.000001,_0x36de14=new _0x16079d(),_0x324715=new _0x16079d();let _0x4532ea=0x1;const _0x24a729=new _0x5a7be3(),_0x1364e2=new _0x29f781(),_0x4e257b=new _0x29f781(),_0x5e64e2=new _0x29f781(),_0x4a6dbc=new _0x29f781(),_0xd6c189=new _0x29f781(),_0x4b6ff6=new _0x29f781(),_0x296687=new _0x29f781(),_0x8b325e=new _0x29f781(),_0x5b052d=new _0x29f781(),_0x34bcc3=new _0x5a7be3(),_0x360408=new _0x29f781();let _0x4d5eb1=!0x1;const _0x4ec7fa=[],_0xab936b={};let _0x281829=!0x1;function _0xcf3c75(_0x37d6e8){const _0xf8e5ec=Math['abs'](0.01*_0x37d6e8);return Math['pow'](0.95,_0x53e35e['zoomSpeed']*_0xf8e5ec);}function _0x1896ed(_0x24a850){_0x324715['theta']-=_0x24a850;}function _0x2ff9cd(_0x435ccb){_0x324715['phi']-=_0x435ccb;}const _0x30e7af=(function(){const _0x36f5ba=new _0x5a7be3();return function(_0x35aeee,_0x19d0ea){_0x36f5ba['setFromMatrixColumn'](_0x19d0ea,0x0),_0x36f5ba['multiplyScalar'](-_0x35aeee),_0x24a729['add'](_0x36f5ba);};}()),_0x36bad4=(function(){const _0xd9cdd9=new _0x5a7be3();return function(_0xf25060,_0x2be645){!0x0===_0x53e35e['screenSpacePanning']?_0xd9cdd9['setFromMatrixColumn'](_0x2be645,0x1):(_0xd9cdd9['setFromMatrixColumn'](_0x2be645,0x0),_0xd9cdd9['crossVectors'](_0x53e35e['object']['up'],_0xd9cdd9)),_0xd9cdd9['multiplyScalar'](_0xf25060),_0x24a729['add'](_0xd9cdd9);};}()),_0x24b727=(function(){const _0x5a9304=new _0x5a7be3();return function(_0x159d99,_0x5ea6d3){const _0x4c6f52=_0x53e35e['domElement'];if(_0x53e35e['object']['isPerspectiveCamera']){const _0x3ac6af=_0x53e35e['object']['position'];_0x5a9304['copy'](_0x3ac6af)['sub'](_0x53e35e['target']);let _0x627495=_0x5a9304['length']();_0x627495*=Math['tan'](_0x53e35e['object']['fov']/0x2*Math['PI']/0xb4),_0x30e7af(0x2*_0x159d99*_0x627495/_0x4c6f52['clientHeight'],_0x53e35e['object']['matrix']),_0x36bad4(0x2*_0x5ea6d3*_0x627495/_0x4c6f52['clientHeight'],_0x53e35e['object']['matrix']);}else _0x53e35e['object']['isOrthographicCamera']?(_0x30e7af(_0x159d99*(_0x53e35e['object']['right']-_0x53e35e['object']['left'])/_0x53e35e['object']['zoom']/_0x4c6f52['clientWidth'],_0x53e35e['object']['matrix']),_0x36bad4(_0x5ea6d3*(_0x53e35e['object']['top']-_0x53e35e['object']['bottom'])/_0x53e35e['object']['zoom']/_0x4c6f52['clientHeight'],_0x53e35e['object']['matrix'])):_0x53e35e['enablePan']=!0x1;};}());function _0x326653(_0x18064a){_0x53e35e['object']['isPerspectiveCamera']||_0x53e35e['object']['isOrthographicCamera']?_0x4532ea/=_0x18064a:_0x53e35e['enableZoom']=!0x1;}function _0x43a2c6(_0x521c96){_0x53e35e['object']['isPerspectiveCamera']||_0x53e35e['object']['isOrthographicCamera']?_0x4532ea*=_0x521c96:_0x53e35e['enableZoom']=!0x1;}function _0x303578(_0x2de6d4,_0xa29cfc){if(!_0x53e35e['zoomToCursor'])return;_0x4d5eb1=!0x0;const _0x31f05d=_0x53e35e['domElement']['getBoundingClientRect'](),_0xe65cc7=_0x2de6d4-_0x31f05d['left'],_0x5916dd=_0xa29cfc-_0x31f05d['top'],_0x201654=_0x31f05d['width'],_0x2f4a64=_0x31f05d['height'];_0x360408['x']=_0xe65cc7/_0x201654*0x2-0x1,_0x360408['y']=-_0x5916dd/_0x2f4a64*0x2+0x1,_0x34bcc3['set'](_0x360408['x'],_0x360408['y'],0x1)['unproject'](_0x53e35e['object'])['sub'](_0x53e35e['object']['position'])['normalize']();}function _0x6f68ee(_0x532782){return Math['max'](_0x53e35e['minDistance'],Math['min'](_0x53e35e['maxDistance'],_0x532782));}function _0x173174(_0x330c93){_0x1364e2['set'](_0x330c93['clientX'],_0x330c93['clientY']);}function _0x2d63c2(_0x2db09d){_0x4a6dbc['set'](_0x2db09d['clientX'],_0x2db09d['clientY']);}function _0x58a5df(_0xca08e0){if(0x1===_0x4ec7fa['length'])_0x1364e2['set'](_0xca08e0['pageX'],_0xca08e0['pageY']);else{const _0x5d3005=_0x22f4b5(_0xca08e0),_0x4355fb=0.5*(_0xca08e0['pageX']+_0x5d3005['x']),_0x1a5c94=0.5*(_0xca08e0['pageY']+_0x5d3005['y']);_0x1364e2['set'](_0x4355fb,_0x1a5c94);}}function _0x2444ca(_0x2c608c){if(0x1===_0x4ec7fa['length'])_0x4a6dbc['set'](_0x2c608c['pageX'],_0x2c608c['pageY']);else{const _0x5dcedc=_0x22f4b5(_0x2c608c),_0x4f6416=0.5*(_0x2c608c['pageX']+_0x5dcedc['x']),_0x2b5b5a=0.5*(_0x2c608c['pageY']+_0x5dcedc['y']);_0x4a6dbc['set'](_0x4f6416,_0x2b5b5a);}}function _0x4e9f45(_0x30f495){const _0x2de345=_0x22f4b5(_0x30f495),_0x5f5cff=_0x30f495['pageX']-_0x2de345['x'],_0x5227cc=_0x30f495['pageY']-_0x2de345['y'],_0x18c6bb=Math['sqrt'](_0x5f5cff*_0x5f5cff+_0x5227cc*_0x5227cc);_0x296687['set'](0x0,_0x18c6bb);}function _0x1cd5c8(_0x2f7650){if(0x1==_0x4ec7fa['length'])_0x4e257b['set'](_0x2f7650['pageX'],_0x2f7650['pageY']);else{const _0x5c0521=_0x22f4b5(_0x2f7650),_0x4e9663=0.5*(_0x2f7650['pageX']+_0x5c0521['x']),_0x3831ee=0.5*(_0x2f7650['pageY']+_0x5c0521['y']);_0x4e257b['set'](_0x4e9663,_0x3831ee);}_0x5e64e2['subVectors'](_0x4e257b,_0x1364e2)['multiplyScalar'](_0x53e35e['rotateSpeed']);const _0x4abc78=_0x53e35e['domElement'];_0x1896ed(0x2*Math['PI']*_0x5e64e2['x']/_0x4abc78['clientHeight']),_0x2ff9cd(0x2*Math['PI']*_0x5e64e2['y']/_0x4abc78['clientHeight']),_0x1364e2['copy'](_0x4e257b);}function _0x21716d(_0x4d5038){if(0x1===_0x4ec7fa['length'])_0xd6c189['set'](_0x4d5038['pageX'],_0x4d5038['pageY']);else{const _0x2f7a60=_0x22f4b5(_0x4d5038),_0x341aeb=0.5*(_0x4d5038['pageX']+_0x2f7a60['x']),_0x244519=0.5*(_0x4d5038['pageY']+_0x2f7a60['y']);_0xd6c189['set'](_0x341aeb,_0x244519);}_0x4b6ff6['subVectors'](_0xd6c189,_0x4a6dbc)['multiplyScalar'](_0x53e35e['panSpeed']),_0x24b727(_0x4b6ff6['x'],_0x4b6ff6['y']),_0x4a6dbc['copy'](_0xd6c189);}function _0x3ee440(_0x1bc806){const _0x5633db=_0x22f4b5(_0x1bc806),_0x1ec6d6=_0x1bc806['pageX']-_0x5633db['x'],_0x205bc5=_0x1bc806['pageY']-_0x5633db['y'],_0x43718a=Math['sqrt'](_0x1ec6d6*_0x1ec6d6+_0x205bc5*_0x205bc5);_0x8b325e['set'](0x0,_0x43718a),_0x5b052d['set'](0x0,Math['pow'](_0x8b325e['y']/_0x296687['y'],_0x53e35e['zoomSpeed'])),_0x326653(_0x5b052d['y']),_0x296687['copy'](_0x8b325e);_0x303578(0.5*(_0x1bc806['pageX']+_0x5633db['x']),0.5*(_0x1bc806['pageY']+_0x5633db['y']));}function _0x1cd8f6(_0x33099e){!0x1!==_0x53e35e['enabled']&&(0x0===_0x4ec7fa['length']&&(_0x53e35e['domElement']['setPointerCapture'](_0x33099e['pointerId']),_0x53e35e['domElement']['addEventListener']('pointermove',_0x2e7834),_0x53e35e['domElement']['addEventListener']('pointerup',_0x285cfa)),function(_0x45c121){for(let _0x2d7470=0x0;_0x2d7470<_0x4ec7fa['length'];_0x2d7470++)if(_0x4ec7fa[_0x2d7470]==_0x45c121['pointerId'])return!0x0;return!0x1;}(_0x33099e)||(function(_0x3c5fb6){_0x4ec7fa['push'](_0x3c5fb6['pointerId']);}(_0x33099e),'touch'===_0x33099e['pointerType']?_0x9384ec(_0x33099e):function(_0x58d4e1){let _0x41f4c4;switch(_0x58d4e1['button']){case 0x0:_0x41f4c4=_0x53e35e['mouseButtons']['LEFT'];break;case 0x1:_0x41f4c4=_0x53e35e['mouseButtons']['MIDDLE'];break;case 0x2:_0x41f4c4=_0x53e35e['mouseButtons']['RIGHT'];break;default:_0x41f4c4=-0x1;}switch(_0x41f4c4){case _0x5ef69a['DOLLY']:if(!0x1===_0x53e35e['enableZoom'])return;!function(_0x27aa47){_0x303578(_0x27aa47['clientX'],_0x27aa47['clientX']),_0x296687['set'](_0x27aa47['clientX'],_0x27aa47['clientY']);}(_0x58d4e1),_0x59406b=_0x35c419['DOLLY'];break;case _0x5ef69a['ROTATE']:if(_0x58d4e1['ctrlKey']||_0x58d4e1['metaKey']||_0x58d4e1['shiftKey']){if(!0x1===_0x53e35e['enablePan'])return;_0x2d63c2(_0x58d4e1),_0x59406b=_0x35c419['PAN'];}else{if(!0x1===_0x53e35e['enableRotate'])return;_0x173174(_0x58d4e1),_0x59406b=_0x35c419['ROTATE'];}break;case _0x5ef69a['PAN']:if(_0x58d4e1['ctrlKey']||_0x58d4e1['metaKey']||_0x58d4e1['shiftKey']){if(!0x1===_0x53e35e['enableRotate'])return;_0x173174(_0x58d4e1),_0x59406b=_0x35c419['ROTATE'];}else{if(!0x1===_0x53e35e['enablePan'])return;_0x2d63c2(_0x58d4e1),_0x59406b=_0x35c419['PAN'];}break;default:_0x59406b=_0x35c419['NONE'];}_0x59406b!==_0x35c419['NONE']&&_0x53e35e['dispatchEvent'](Ee);}(_0x33099e)));}function _0x2e7834(_0x50cc3c){!0x1!==_0x53e35e['enabled']&&('touch'===_0x50cc3c['pointerType']?function(_0x328d99){switch(_0x27317c(_0x328d99),_0x59406b){case _0x35c419['TOUCH_ROTATE']:if(!0x1===_0x53e35e['enableRotate'])return;_0x1cd5c8(_0x328d99),_0x53e35e['update']();break;case _0x35c419['TOUCH_PAN']:if(!0x1===_0x53e35e['enablePan'])return;_0x21716d(_0x328d99),_0x53e35e['update']();break;case _0x35c419['TOUCH_DOLLY_PAN']:if(!0x1===_0x53e35e['enableZoom']&&!0x1===_0x53e35e['enablePan'])return;!function(_0x5e80da){_0x53e35e['enableZoom']&&_0x3ee440(_0x5e80da),_0x53e35e['enablePan']&&_0x21716d(_0x5e80da);}(_0x328d99),_0x53e35e['update']();break;case _0x35c419['TOUCH_DOLLY_ROTATE']:if(!0x1===_0x53e35e['enableZoom']&&!0x1===_0x53e35e['enableRotate'])return;!function(_0x6b0eec){_0x53e35e['enableZoom']&&_0x3ee440(_0x6b0eec),_0x53e35e['enableRotate']&&_0x1cd5c8(_0x6b0eec);}(_0x328d99),_0x53e35e['update']();break;default:_0x59406b=_0x35c419['NONE'];}}(_0x50cc3c):function(_0x510988){switch(_0x59406b){case _0x35c419['ROTATE']:if(!0x1===_0x53e35e['enableRotate'])return;!function(_0x334645){_0x4e257b['set'](_0x334645['clientX'],_0x334645['clientY']),_0x5e64e2['subVectors'](_0x4e257b,_0x1364e2)['multiplyScalar'](_0x53e35e['rotateSpeed']);const _0x11529f=_0x53e35e['domElement'];_0x1896ed(0x2*Math['PI']*_0x5e64e2['x']/_0x11529f['clientHeight']),_0x2ff9cd(0x2*Math['PI']*_0x5e64e2['y']/_0x11529f['clientHeight']),_0x1364e2['copy'](_0x4e257b),_0x53e35e['update']();}(_0x510988);break;case _0x35c419['DOLLY']:if(!0x1===_0x53e35e['enableZoom'])return;!function(_0x5e6e44){_0x8b325e['set'](_0x5e6e44['clientX'],_0x5e6e44['clientY']),_0x5b052d['subVectors'](_0x8b325e,_0x296687),_0x5b052d['y']>0x0?_0x326653(_0xcf3c75(_0x5b052d['y'])):_0x5b052d['y']<0x0&&_0x43a2c6(_0xcf3c75(_0x5b052d['y'])),_0x296687['copy'](_0x8b325e),_0x53e35e['update']();}(_0x510988);break;case _0x35c419['PAN']:if(!0x1===_0x53e35e['enablePan'])return;!function(_0x2eb647){_0xd6c189['set'](_0x2eb647['clientX'],_0x2eb647['clientY']),_0x4b6ff6['subVectors'](_0xd6c189,_0x4a6dbc)['multiplyScalar'](_0x53e35e['panSpeed']),_0x24b727(_0x4b6ff6['x'],_0x4b6ff6['y']),_0x4a6dbc['copy'](_0xd6c189),_0x53e35e['update']();}(_0x510988);}}(_0x50cc3c));}function _0x285cfa(_0x488e9a){switch(function(_0x4c03b6){delete _0xab936b[_0x4c03b6['pointerId']];for(let _0x4d7344=0x0;_0x4d7344<_0x4ec7fa['length'];_0x4d7344++)if(_0x4ec7fa[_0x4d7344]==_0x4c03b6['pointerId'])return void _0x4ec7fa['splice'](_0x4d7344,0x1);}(_0x488e9a),_0x4ec7fa['length']){case 0x0:_0x53e35e['domElement']['releasePointerCapture'](_0x488e9a['pointerId']),_0x53e35e['domElement']['removeEventListener']('pointermove',_0x2e7834),_0x53e35e['domElement']['removeEventListener']('pointerup',_0x285cfa),_0x53e35e['dispatchEvent'](Ce),_0x59406b=_0x35c419['NONE'];break;case 0x1:const _0x18949b=_0x4ec7fa[0x0],_0x4031fe=_0xab936b[_0x18949b];_0x9384ec({'pointerId':_0x18949b,'pageX':_0x4031fe['x'],'pageY':_0x4031fe['y']});}}function _0x286fdd(_0x280f94){!0x1!==_0x53e35e['enabled']&&!0x1!==_0x53e35e['enableZoom']&&_0x59406b===_0x35c419['NONE']&&(_0x280f94['preventDefault'](),_0x53e35e['dispatchEvent'](Ee),function(_0x5075ea){_0x303578(_0x5075ea['clientX'],_0x5075ea['clientY']),_0x5075ea['deltaY']<0x0?_0x43a2c6(_0xcf3c75(_0x5075ea['deltaY'])):_0x5075ea['deltaY']>0x0&&_0x326653(_0xcf3c75(_0x5075ea['deltaY'])),_0x53e35e['update']();}(function(_0x88734){const _0x3501de=_0x88734['deltaMode'],_0x4e03ba={'clientX':_0x88734['clientX'],'clientY':_0x88734['clientY'],'deltaY':_0x88734['deltaY']};switch(_0x3501de){case 0x1:_0x4e03ba['deltaY']*=0x10;break;case 0x2:_0x4e03ba['deltaY']*=0x64;}_0x88734['ctrlKey']&&!_0x281829&&(_0x4e03ba['deltaY']*=0xa);return _0x4e03ba;}(_0x280f94)),_0x53e35e['dispatchEvent'](Ce));}function _0x3b11bc(_0x9522e2){if('Control'===_0x9522e2['key']){_0x281829=!0x0;_0x53e35e['domElement']['getRootNode']()['addEventListener']('keyup',_0x35ef7c,{'passive':!0x0,'capture':!0x0});}}function _0x35ef7c(_0x967181){if('Control'===_0x967181['key']){_0x281829=!0x1;_0x53e35e['domElement']['getRootNode']()['removeEventListener']('keyup',_0x35ef7c,{'passive':!0x0,'capture':!0x0});}}function _0x45cda8(_0xfe72e6){!0x1!==_0x53e35e['enabled']&&!0x1!==_0x53e35e['enablePan']&&function(_0x5bdde3){let _0x9b5901=!0x1;switch(_0x5bdde3['code']){case _0x53e35e['keys']['UP']:_0x5bdde3['ctrlKey']||_0x5bdde3['metaKey']||_0x5bdde3['shiftKey']?_0x2ff9cd(0x2*Math['PI']*_0x53e35e['rotateSpeed']/_0x53e35e['domElement']['clientHeight']):_0x24b727(0x0,_0x53e35e['keyPanSpeed']),_0x9b5901=!0x0;break;case _0x53e35e['keys']['BOTTOM']:_0x5bdde3['ctrlKey']||_0x5bdde3['metaKey']||_0x5bdde3['shiftKey']?_0x2ff9cd(-0x2*Math['PI']*_0x53e35e['rotateSpeed']/_0x53e35e['domElement']['clientHeight']):_0x24b727(0x0,-_0x53e35e['keyPanSpeed']),_0x9b5901=!0x0;break;case _0x53e35e['keys']['LEFT']:_0x5bdde3['ctrlKey']||_0x5bdde3['metaKey']||_0x5bdde3['shiftKey']?_0x1896ed(0x2*Math['PI']*_0x53e35e['rotateSpeed']/_0x53e35e['domElement']['clientHeight']):_0x24b727(_0x53e35e['keyPanSpeed'],0x0),_0x9b5901=!0x0;break;case _0x53e35e['keys']['RIGHT']:_0x5bdde3['ctrlKey']||_0x5bdde3['metaKey']||_0x5bdde3['shiftKey']?_0x1896ed(-0x2*Math['PI']*_0x53e35e['rotateSpeed']/_0x53e35e['domElement']['clientHeight']):_0x24b727(-_0x53e35e['keyPanSpeed'],0x0),_0x9b5901=!0x0;}_0x9b5901&&(_0x5bdde3['preventDefault'](),_0x53e35e['update']());}(_0xfe72e6);}function _0x9384ec(_0x4ad6af){switch(_0x27317c(_0x4ad6af),_0x4ec7fa['length']){case 0x1:switch(_0x53e35e['touches']['ONE']){case _0x3d584c['ROTATE']:if(!0x1===_0x53e35e['enableRotate'])return;_0x58a5df(_0x4ad6af),_0x59406b=_0x35c419['TOUCH_ROTATE'];break;case _0x3d584c['PAN']:if(!0x1===_0x53e35e['enablePan'])return;_0x2444ca(_0x4ad6af),_0x59406b=_0x35c419['TOUCH_PAN'];break;default:_0x59406b=_0x35c419['NONE'];}break;case 0x2:switch(_0x53e35e['touches']['TWO']){case _0x3d584c['DOLLY_PAN']:if(!0x1===_0x53e35e['enableZoom']&&!0x1===_0x53e35e['enablePan'])return;!function(_0x44727e){_0x53e35e['enableZoom']&&_0x4e9f45(_0x44727e),_0x53e35e['enablePan']&&_0x2444ca(_0x44727e);}(_0x4ad6af),_0x59406b=_0x35c419['TOUCH_DOLLY_PAN'];break;case _0x3d584c['DOLLY_ROTATE']:if(!0x1===_0x53e35e['enableZoom']&&!0x1===_0x53e35e['enableRotate'])return;!function(_0x357467){_0x53e35e['enableZoom']&&_0x4e9f45(_0x357467),_0x53e35e['enableRotate']&&_0x58a5df(_0x357467);}(_0x4ad6af),_0x59406b=_0x35c419['TOUCH_DOLLY_ROTATE'];break;default:_0x59406b=_0x35c419['NONE'];}break;default:_0x59406b=_0x35c419['NONE'];}_0x59406b!==_0x35c419['NONE']&&_0x53e35e['dispatchEvent'](Ee);}function _0x5902d2(_0x49ad70){!0x1!==_0x53e35e['enabled']&&_0x49ad70['preventDefault']();}function _0x27317c(_0xfb78ba){let _0x9d5fd2=_0xab936b[_0xfb78ba['pointerId']];void 0x0===_0x9d5fd2&&(_0x9d5fd2=new _0x29f781(),_0xab936b[_0xfb78ba['pointerId']]=_0x9d5fd2),_0x9d5fd2['set'](_0xfb78ba['pageX'],_0xfb78ba['pageY']);}function _0x22f4b5(_0x129cea){const _0x3ebb7c=_0x129cea['pointerId']===_0x4ec7fa[0x0]?_0x4ec7fa[0x1]:_0x4ec7fa[0x0];return _0xab936b[_0x3ebb7c];}_0x53e35e['domElement']['addEventListener']('contextmenu',_0x5902d2),_0x53e35e['domElement']['addEventListener']('pointerdown',_0x1cd8f6),_0x53e35e['domElement']['addEventListener']('pointercancel',_0x285cfa),_0x53e35e['domElement']['addEventListener']('wheel',_0x286fdd,{'passive':!0x1});_0x53e35e['domElement']['getRootNode']()['addEventListener']('keydown',_0x3b11bc,{'passive':!0x0,'capture':!0x0}),this['update']();}}class Fe extends _0x483a70{constructor(_0x5a0a1a=document['createElement']('div')){super(),this['isCSS2DObject']=!0x0,this['element']=_0x5a0a1a,this['element']['style']['position']='absolute',this['element']['style']['userSelect']='none',this['element']['setAttribute']('draggable',!0x1),this['center']=new _0x29f781(0.5,0.5),this['addEventListener']('removed',function(){this['traverse'](function(_0x2f90d9){_0x2f90d9['element']instanceof Element&&null!==_0x2f90d9['element']['parentNode']&&_0x2f90d9['element']['parentNode']['removeChild'](_0x2f90d9['element']);});});}['copy'](_0x4940d0,_0x2da8f){return super['copy'](_0x4940d0,_0x2da8f),this['element']=_0x4940d0['element']['cloneNode'](!0x0),this['center']=_0x4940d0['center'],this;}}const De=new _0x5a7be3(),Pe=new _0x5dcd72(),Ie=new _0x5dcd72(),Re=new _0x5a7be3(),ze=new _0x5a7be3();class Ne{constructor(_0x57ea8a={}){const _0x2de894=this;let _0x58a29e,_0x2e9f98,_0x111cc5,_0x2f4d10;const _0x5215ad={'objects':new WeakMap()},_0x1cdf0e=void 0x0!==_0x57ea8a['element']?_0x57ea8a['element']:document['createElement']('div');function _0x2a2dcd(_0x58bd61,_0x52cf1d,_0x1b2826){if(_0x58bd61['isCSS2DObject']){De['setFromMatrixPosition'](_0x58bd61['matrixWorld']),De['applyMatrix4'](Ie);const _0x5ce605=!0x0===_0x58bd61['visible']&&De['z']>=-0x1&&De['z']<=0x1&&!0x0===_0x58bd61['layers']['test'](_0x1b2826['layers']);if(_0x58bd61['element']['style']['display']=!0x0===_0x5ce605?'':'none',!0x0===_0x5ce605){_0x58bd61['onBeforeRender'](_0x2de894,_0x52cf1d,_0x1b2826);const _0x504a80=_0x58bd61['element'];_0x504a80['style']['transform']='translate('+-0x64*_0x58bd61['center']['x']+'%,'+-0x64*_0x58bd61['center']['y']+'%)translate('+(De['x']*_0x111cc5+_0x111cc5)+'px,'+(-De['y']*_0x2f4d10+_0x2f4d10)+'px)',_0x504a80['parentNode']!==_0x1cdf0e&&_0x1cdf0e['appendChild'](_0x504a80),_0x58bd61['onAfterRender'](_0x2de894,_0x52cf1d,_0x1b2826);}const _0x2e5157={'distanceToCameraSquared':_0x5d5f9f(_0x1b2826,_0x58bd61)};_0x5215ad['objects']['set'](_0x58bd61,_0x2e5157);}for(let _0x12bf11=0x0,_0x13c8ba=_0x58bd61['children']['length'];_0x12bf11<_0x13c8ba;_0x12bf11++)_0x2a2dcd(_0x58bd61['children'][_0x12bf11],_0x52cf1d,_0x1b2826);}function _0x5d5f9f(_0x5dd7c6,_0x333b59){return Re['setFromMatrixPosition'](_0x5dd7c6['matrixWorld']),ze['setFromMatrixPosition'](_0x333b59['matrixWorld']),Re['distanceToSquared'](ze);}_0x1cdf0e['style']['overflow']='hidden',this['domElement']=_0x1cdf0e,this['getSize']=function(){return{'width':_0x58a29e,'height':_0x2e9f98};},this['render']=function(_0x54a9ae,_0x43d790){!0x0===_0x54a9ae['matrixWorldAutoUpdate']&&_0x54a9ae['updateMatrixWorld'](),null===_0x43d790['parent']&&!0x0===_0x43d790['matrixWorldAutoUpdate']&&_0x43d790['updateMatrixWorld'](),Pe['copy'](_0x43d790['matrixWorldInverse']),Ie['multiplyMatrices'](_0x43d790['projectionMatrix'],Pe),_0x2a2dcd(_0x54a9ae,_0x54a9ae,_0x43d790),function(_0x16ce3a){const _0x3feb35=function(_0x358cf5){const _0x59e89f=[];return _0x358cf5['traverse'](function(_0x3301ae){_0x3301ae['isCSS2DObject']&&_0x59e89f['push'](_0x3301ae);}),_0x59e89f;}(_0x16ce3a)['sort'](function(_0x409830,_0x4d1803){if(_0x409830['renderOrder']!==_0x4d1803['renderOrder'])return _0x4d1803['renderOrder']-_0x409830['renderOrder'];return _0x5215ad['objects']['get'](_0x409830)['distanceToCameraSquared']-_0x5215ad['objects']['get'](_0x4d1803)['distanceToCameraSquared'];}),_0x1fa344=_0x3feb35['length'];for(let _0x3cf8b9=0x0,_0x551701=_0x3feb35['length'];_0x3cf8b9<_0x551701;_0x3cf8b9++)_0x3feb35[_0x3cf8b9]['element']['style']['zIndex']=_0x1fa344-_0x3cf8b9;}(_0x54a9ae);},this['setSize']=function(_0x8b4474,_0x42d5ae){_0x58a29e=_0x8b4474,_0x2e9f98=_0x42d5ae,_0x111cc5=_0x58a29e/0x2,_0x2f4d10=_0x2e9f98/0x2,_0x1cdf0e['style']['width']=_0x8b4474+'px',_0x1cdf0e['style']['height']=_0x42d5ae+'px';};}}class Ue{static['computeEigenDecomposition3x3'](_0x5dc275){const _0x425ac6=_0x5dc275['elements'];let _0x43b384=_0x425ac6[0x0],_0x29e4dd=_0x425ac6[0x1],_0x41424c=_0x425ac6[0x2],_0x658842=_0x425ac6[0x4],_0x57184e=_0x425ac6[0x5],_0x20031a=_0x425ac6[0x8],_0x4cd555=0x1,_0x32782f=0x0,_0x46918b=0x0,_0x3c7eae=0x0,_0x203e27=0x1,_0x10c4b3=0x0,_0xe184ac=0x0,_0xc2996c=0x0,_0x403141=0x1;for(let _0x1cecf7=0x0;_0x1cecf7<0x32;_0x1cecf7++){let _0x48ef22,_0x3dbcab,_0x2436b5,_0x542533=Math['abs'](_0x29e4dd),_0x19b7c0=0x0,_0x30ad50=0x1;if(Math['abs'](_0x41424c)>_0x542533&&(_0x542533=Math['abs'](_0x41424c),_0x19b7c0=0x0,_0x30ad50=0x2),Math['abs'](_0x57184e)>_0x542533&&(_0x542533=Math['abs'](_0x57184e),_0x19b7c0=0x1,_0x30ad50=0x2),_0x542533<1e-10)break;0x0===_0x19b7c0&&0x1===_0x30ad50?(_0x48ef22=_0x29e4dd,_0x3dbcab=_0x43b384,_0x2436b5=_0x658842):0x0===_0x19b7c0&&0x2===_0x30ad50?(_0x48ef22=_0x41424c,_0x3dbcab=_0x43b384,_0x2436b5=_0x20031a):(_0x48ef22=_0x57184e,_0x3dbcab=_0x658842,_0x2436b5=_0x20031a);const _0x160593=(_0x2436b5-_0x3dbcab)/(0x2*_0x48ef22),_0x131d9e=Math['sign'](_0x160593)/(Math['abs'](_0x160593)+Math['sqrt'](0x1+_0x160593*_0x160593)),_0x3c1c81=0x1/Math['sqrt'](0x1+_0x131d9e*_0x131d9e),_0x490792=_0x131d9e*_0x3c1c81;if(0x0===_0x19b7c0&&0x1===_0x30ad50){const _0x29618b=_0x43b384,_0x44bca9=_0x41424c;_0x43b384=_0x3c1c81*_0x3c1c81*_0x29618b-0x2*_0x3c1c81*_0x490792*_0x29e4dd+_0x490792*_0x490792*_0x658842,_0x658842=_0x490792*_0x490792*_0x29618b+0x2*_0x3c1c81*_0x490792*_0x29e4dd+_0x3c1c81*_0x3c1c81*_0x658842,_0x29e4dd=0x0,_0x41424c=_0x3c1c81*_0x44bca9-_0x490792*_0x57184e,_0x57184e=_0x490792*_0x44bca9+_0x3c1c81*_0x57184e;const _0x352fd8=_0x4cd555,_0x213ce3=_0x32782f,_0x1f7c96=_0x46918b;_0x4cd555=_0x3c1c81*_0x352fd8-_0x490792*_0x3c7eae,_0x32782f=_0x3c1c81*_0x213ce3-_0x490792*_0x203e27,_0x46918b=_0x3c1c81*_0x1f7c96-_0x490792*_0x10c4b3,_0x3c7eae=_0x490792*_0x352fd8+_0x3c1c81*_0x3c7eae,_0x203e27=_0x490792*_0x213ce3+_0x3c1c81*_0x203e27,_0x10c4b3=_0x490792*_0x1f7c96+_0x3c1c81*_0x10c4b3;}else if(0x0===_0x19b7c0&&0x2===_0x30ad50){const _0x1cbf00=_0x43b384,_0x31f2df=_0x29e4dd;_0x43b384=_0x3c1c81*_0x3c1c81*_0x1cbf00-0x2*_0x3c1c81*_0x490792*_0x41424c+_0x490792*_0x490792*_0x20031a,_0x20031a=_0x490792*_0x490792*_0x1cbf00+0x2*_0x3c1c81*_0x490792*_0x41424c+_0x3c1c81*_0x3c1c81*_0x20031a,_0x41424c=0x0,_0x29e4dd=_0x3c1c81*_0x31f2df-_0x490792*_0x57184e,_0x57184e=_0x490792*_0x31f2df+_0x3c1c81*_0x57184e;const _0x1ba28d=_0x4cd555,_0x3d699e=_0x32782f,_0x319701=_0x46918b;_0x4cd555=_0x3c1c81*_0x1ba28d-_0x490792*_0xe184ac,_0x32782f=_0x3c1c81*_0x3d699e-_0x490792*_0xc2996c,_0x46918b=_0x3c1c81*_0x319701-_0x490792*_0x403141,_0xe184ac=_0x490792*_0x1ba28d+_0x3c1c81*_0xe184ac,_0xc2996c=_0x490792*_0x3d699e+_0x3c1c81*_0xc2996c,_0x403141=_0x490792*_0x319701+_0x3c1c81*_0x403141;}else{const _0x3ec36d=_0x658842,_0x23abc0=_0x29e4dd;_0x658842=_0x3c1c81*_0x3c1c81*_0x3ec36d-0x2*_0x3c1c81*_0x490792*_0x57184e+_0x490792*_0x490792*_0x20031a,_0x20031a=_0x490792*_0x490792*_0x3ec36d+0x2*_0x3c1c81*_0x490792*_0x57184e+_0x3c1c81*_0x3c1c81*_0x20031a,_0x57184e=0x0,_0x29e4dd=_0x3c1c81*_0x23abc0-_0x490792*_0x41424c,_0x41424c=_0x490792*_0x23abc0+_0x3c1c81*_0x41424c;const _0x2d6de3=_0x3c7eae,_0x543c1e=_0x203e27,_0x3c18b4=_0x10c4b3;_0x3c7eae=_0x3c1c81*_0x2d6de3-_0x490792*_0xe184ac,_0x203e27=_0x3c1c81*_0x543c1e-_0x490792*_0xc2996c,_0x10c4b3=_0x3c1c81*_0x3c18b4-_0x490792*_0x403141,_0xe184ac=_0x490792*_0x2d6de3+_0x3c1c81*_0xe184ac,_0xc2996c=_0x490792*_0x543c1e+_0x3c1c81*_0xc2996c,_0x403141=_0x490792*_0x3c18b4+_0x3c1c81*_0x403141;}}return{'eigenvalues':[_0x43b384,_0x658842,_0x20031a],'eigenvectors':[[_0x4cd555,_0x32782f,_0x46918b],[_0x3c7eae,_0x203e27,_0x10c4b3],[_0xe184ac,_0xc2996c,_0x403141]]};}static['computeEigenvalues3x3'](_0x58a203){const _0x5169b0=_0x58a203['elements'],_0x24c9c8=_0x5169b0[0x0];_0x5169b0[0x1],_0x5169b0[0x2],_0x5169b0[0x3];const _0x1aaf9f=_0x5169b0[0x4];_0x5169b0[0x5],_0x5169b0[0x6],_0x5169b0[0x7];const _0x33056d=_0x5169b0[0x8],_0x2f130f=[Math['abs'](_0x24c9c8),Math['abs'](_0x1aaf9f),Math['abs'](_0x33056d)];return _0x2f130f['sort']((_0x3b5c10,_0x526bf6)=>_0x526bf6-_0x3b5c10),_0x2f130f;}static['computeInertiaBox'](_0x50b641){const _0x55554f=_0x50b641['ixx']||0x0,_0x15fcd5=_0x50b641['iyy']||0x0,_0x28607c=_0x50b641['izz']||0x0,_0x5b3309=_0x50b641['ixy']||0x0,_0x1dff7b=_0x50b641['ixz']||0x0,_0x100f2f=_0x50b641['iyz']||0x0,_0x4bac16=_0x50b641['mass']||0x1;if(_0x4bac16<0.01){const _0x13b160=(Math['abs'](_0x55554f)+Math['abs'](_0x15fcd5)+Math['abs'](_0x28607c))/0x3;if(Math['sqrt'](_0x13b160/_0x4bac16)>0.05)return null;}const _0x46c41a=1e-9;if(Math['abs'](_0x55554f)<_0x46c41a&&Math['abs'](_0x15fcd5)<_0x46c41a&&Math['abs'](_0x28607c)<_0x46c41a)return null;const _0x575082=Math['abs'](_0x5b3309)>1e-10||Math['abs'](_0x1dff7b)>1e-10||Math['abs'](_0x100f2f)>1e-10;let _0x3ded1a,_0x59a4d5=new _0x4adb8f();if(_0x575082){const _0x5ecd04=new _0x47bdb6();_0x5ecd04['set'](_0x55554f,_0x5b3309,_0x1dff7b,_0x5b3309,_0x15fcd5,_0x100f2f,_0x1dff7b,_0x100f2f,_0x28607c);const _0x153210=this['computeEigenDecomposition3x3'](_0x5ecd04);_0x3ded1a=_0x153210['eigenvalues'];const _0x496a71=new _0x5dcd72();_0x496a71['set'](_0x153210['eigenvectors'][0x0][0x0],_0x153210['eigenvectors'][0x1][0x0],_0x153210['eigenvectors'][0x2][0x0],0x0,_0x153210['eigenvectors'][0x0][0x1],_0x153210['eigenvectors'][0x1][0x1],_0x153210['eigenvectors'][0x2][0x1],0x0,_0x153210['eigenvectors'][0x0][0x2],_0x153210['eigenvectors'][0x1][0x2],_0x153210['eigenvectors'][0x2][0x2],0x0,0x0,0x0,0x0,0x1),_0x59a4d5['setFromRotationMatrix'](_0x496a71);}else _0x3ded1a=[_0x55554f,_0x15fcd5,_0x28607c];const _0x13db07=0x6/_0x4bac16;let _0x27dc15=Math['sqrt'](Math['abs'](_0x13db07*(_0x3ded1a[0x1]+_0x3ded1a[0x2]-_0x3ded1a[0x0]))),_0x1e965a=Math['sqrt'](Math['abs'](_0x13db07*(_0x3ded1a[0x0]+_0x3ded1a[0x2]-_0x3ded1a[0x1]))),_0x1b1159=Math['sqrt'](Math['abs'](_0x13db07*(_0x3ded1a[0x0]+_0x3ded1a[0x1]-_0x3ded1a[0x2])));const _0x1f21ab=(Math['abs'](_0x3ded1a[0x0])+Math['abs'](_0x3ded1a[0x1])+Math['abs'](_0x3ded1a[0x2]))/0x3;if(Math['sqrt'](_0x1f21ab/_0x4bac16)>(_0x27dc15+_0x1e965a+_0x1b1159)/0x3)return null;if(_0x4bac16/(_0x27dc15*_0x1e965a*_0x1b1159)<0.0001)return null;const _0x82a3a9=0.01;return _0x27dc15=Math['max'](_0x27dc15,_0x82a3a9),_0x1e965a=Math['max'](_0x1e965a,_0x82a3a9),_0x1b1159=Math['max'](_0x1b1159,_0x82a3a9),_0x27dc15<_0x82a3a9&&_0x1e965a<_0x82a3a9&&_0x1b1159<_0x82a3a9&&(_0x27dc15=_0x1e965a=_0x1b1159=0.05),{'width':_0x27dc15,'height':_0x1e965a,'depth':_0x1b1159,'rotation':_0x59a4d5};}static['createInertiaBoxGeometry'](_0x3a09f7,_0x4871ba,_0xe62169){return new _0x1b40f5(_0x3a09f7,_0x4871ba,_0xe62169);}static['computeInertiaEllipsoid'](_0x8b9409){const _0x45da3f=_0x8b9409['ixx']||0x0,_0x263e35=_0x8b9409['iyy']||0x0,_0x38571b=_0x8b9409['izz']||0x0,_0x54f1ea=_0x8b9409['ixy']||0x0,_0x589f80=_0x8b9409['ixz']||0x0,_0x15e677=_0x8b9409['iyz']||0x0,_0x1ae47f=new _0x47bdb6();_0x1ae47f['set'](_0x45da3f,_0x54f1ea,_0x589f80,_0x54f1ea,_0x263e35,_0x15e677,_0x589f80,_0x15e677,_0x38571b);const _0x3a1a70=this['computeEigenvalues3x3'](_0x1ae47f),_0x5cc1bf=_0x8b9409['mass']||0x1,_0x480dc5=0.1/Math['sqrt'](_0x5cc1bf),_0x525870=[Math['sqrt'](Math['max'](_0x3a1a70[0x0],0x0))*_0x480dc5,Math['sqrt'](Math['max'](_0x3a1a70[0x1],0x0))*_0x480dc5,Math['sqrt'](Math['max'](_0x3a1a70[0x2],0x0))*_0x480dc5];return _0x525870['forEach']((_0x4c27e2,_0x4e299d)=>{_0x4c27e2<0.01&&(_0x525870[_0x4e299d]=0.01);}),{'radii':_0x525870,'rotation':new _0x730a0a(0x0,0x0,0x0)};}static['createInertiaEllipsoidGeometry'](_0x36e5fe){const _0x1d6174=new _0x401a16(0x1,0x20,0x20);return _0x1d6174['scale'](_0x36e5fe[0x0],_0x36e5fe[0x1],_0x36e5fe[0x2]),_0x1d6174;}static['rpyToEuler'](_0x434dff){return _0x434dff&&0x3===_0x434dff['length']?new _0x730a0a(_0x434dff[0x0],_0x434dff[0x1],_0x434dff[0x2],'XYZ'):new _0x730a0a(0x0,0x0,0x0);}static['xyzToVector3'](_0x306b76){return _0x306b76&&0x3===_0x306b76['length']?new _0x5a7be3(_0x306b76[0x0],_0x306b76[0x1],_0x306b76[0x2]):new _0x5a7be3(0x0,0x0,0x0);}}function Ve(_0x50e1bd,_0x5a3f56){if(!_0x5a3f56||!_0x5a3f56['threeObject'])return null;let _0x4c0094=_0x50e1bd;const _0x177d12=_0x5a3f56['threeObject'];for(;_0x4c0094;){if('URDFLink'===_0x4c0094['type']||_0x4c0094['isURDFLink']){const _0x35e570=_0x4c0094['name'];if(_0x35e570&&_0x5a3f56['links']&&_0x5a3f56['links']['has'](_0x35e570)){return{'linkData':_0x5a3f56['links']['get'](_0x35e570),'threeObject':_0x4c0094,'name':_0x35e570};}}if(_0x4c0094===_0x177d12||!_0x4c0094['parent'])break;_0x4c0094=_0x4c0094['parent'];}return null;}const qe=new _0x5a7be3(),Be=new _0x5a7be3(),$e=new _0x5a7be3(),Je=new _0x5a7be3(),He=new _0x5a7be3(),Ge=new _0x5a7be3(),We=new _0x5a7be3(),Xe=new _0xb2ec94();class Ye{constructor(_0x603e78,_0x248b19,_0x49ef94,_0x13886a){this['enabled']=!0x0,this['scene']=_0x603e78,this['camera']=_0x248b19,this['domElement']=_0x49ef94,this['model']=_0x13886a,this['raycaster']=new _0x21d002(),this['raycaster']['layers']['enableAll'](),this['initialGrabPoint']=new _0x5a7be3(),this['hitDistance']=-0x1,this['hovered']=null,this['manipulating']=null,this['renderer']=null;}['update'](){const {raycaster:_0x3389c4,hovered:_0x5a209a,manipulating:_0x576b23}=this,_0x3dc569=this['model'];if(_0x576b23||!this['enabled']||!_0x3dc569||!_0x3dc569['threeObject'])return;let _0x209f89=null;const _0x1f7768=[];_0x3dc569['threeObject']['traverse'](_0x551928=>{if(_0x551928['isMesh']&&!_0x551928['visible']){let _0x191d8b=!0x1,_0x29ec20=_0x551928;for(;_0x29ec20;){if(_0x29ec20['isURDFCollider']){_0x191d8b=!0x0;break;}_0x29ec20=_0x29ec20['parent'];}_0x191d8b||(_0x551928['visible']=!0x0,_0x1f7768['push'](_0x551928));}});const _0x2f95a1=_0x3389c4['intersectObject'](_0x3dc569['threeObject'],!0x0);_0x1f7768['forEach'](_0x96bcf3=>{_0x96bcf3['visible']=!0x1;});const _0x567f57=_0x2f95a1['filter'](_0x33d16e=>{var _0x1478ec,_0x10e026;const _0x46597d=_0x33d16e['object'];if(_0x46597d['isURDFCollider']||(null==(_0x1478ec=_0x46597d['userData'])?void 0x0:_0x1478ec['isCollision'])||(null==(_0x10e026=_0x46597d['userData'])?void 0x0:_0x10e026['isCollisionGeom']))return!0x1;let _0x454cec=!0x1,_0x1e5ce9=_0x46597d;for(;_0x1e5ce9;){if(_0x1e5ce9['isURDFCollider']){_0x454cec=!0x0;break;}_0x1e5ce9=_0x1e5ce9['parent'];}return!_0x454cec&&_0x46597d['isMesh'];});if(0x0!==_0x567f57['length']){const _0x6fb771=_0x567f57[0x0];_0x209f89=Ve(_0x6fb771['object'],_0x3dc569),_0x209f89&&(this['hitDistance']=_0x6fb771['distance'],this['initialGrabPoint']['copy'](_0x6fb771['point']));}((null==_0x209f89?void 0x0:_0x209f89['name'])||null)!==((null==_0x5a209a?void 0x0:_0x5a209a['name'])||null)?(_0x5a209a&&this['onUnhover'](_0x5a209a),this['hovered']=_0x209f89,_0x209f89&&this['onHover'](_0x209f89)):_0x209f89&&_0x5a209a&&(this['hovered']=_0x209f89);}['updateJoint'](_0x53f2bf,_0xbb06cd){this['onUpdateJoint']&&this['onUpdateJoint'](_0x53f2bf,_0xbb06cd);}['onDragStart'](_0x1aed3f){}['onDragEnd'](_0x4273b7){}['onHover'](_0x4cdd63){}['onUnhover'](_0x49ffb8){}['getJointAxis'](_0xaeb3a8){return _0xaeb3a8['threeObject']&&_0xaeb3a8['threeObject']['axis']instanceof _0x5a7be3?_0xaeb3a8['threeObject']['axis']['clone']():_0xaeb3a8['axis']&&_0xaeb3a8['axis']['xyz']?Ue['xyzToVector3'](_0xaeb3a8['axis']['xyz']):new _0x5a7be3(0x0,0x0,0x1);}['getJointThreeObject'](_0x178778){return _0x178778['threeObject'];}['getJointCurrentValue'](_0x54345a){if(_0x54345a['threeObject']){if(void 0x0!==_0x54345a['threeObject']['angle'])return _0x54345a['threeObject']['angle'];if(_0x54345a['threeObject']['jointValue']&&_0x54345a['threeObject']['jointValue']['length']>0x0)return _0x54345a['threeObject']['jointValue'][0x0];}return void 0x0!==_0x54345a['currentValue']?_0x54345a['currentValue']:0x0;}['getRevoluteDelta'](_0x99dfb9,_0x2a53e2,_0x60fd16){const _0xc06829=this['getJointThreeObject'](_0x99dfb9);if(!_0xc06829)return 0x0;const _0x48069e=this['getJointAxis'](_0x99dfb9);Je['copy'](_0x48069e)['transformDirection'](_0xc06829['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0xc06829['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Xe['projectPoint'](_0x2a53e2,Ge),Xe['projectPoint'](_0x60fd16,We),Ge['sub']($e),We['sub']($e),Je['crossVectors'](Ge,We);const _0x47b7a4=Je['dot'](Xe['normal']);return Math['sign'](_0x47b7a4)*We['angleTo'](Ge);}['getPrismaticDelta'](_0x4bcd44,_0x2a7eb6,_0x3c1245){var _0x2d6271;const _0xdefe0a=this['getJointThreeObject'](_0x4bcd44);if(!_0xdefe0a)return 0x0;Je['subVectors'](_0x3c1245,_0x2a7eb6);const _0x320950=this['getJointAxis'](_0x4bcd44);return Xe['normal']['copy'](_0x320950)['transformDirection']((null==(_0x2d6271=_0xdefe0a['parent'])?void 0x0:_0x2d6271['matrixWorld'])||new _0x5dcd72())['normalize'](),Je['dot'](Xe['normal']);}['moveRay'](_0x49a89d){var _0x5d7a71,_0xbe99d7,_0x5e6476,_0x2f2726,_0x473b1e;const {raycaster:_0x1b343b,hitDistance:_0x35fe31,manipulating:_0x4ce67f}=this,{ray:_0x10b4a9}=_0x1b343b;if(_0x4ce67f){_0x10b4a9['at'](_0x35fe31,qe),_0x49a89d['at'](_0x35fe31,Be);let _0x59570c=0x0;const _0x339bd9=_0x4ce67f['type'];if('revolute'===_0x339bd9||'continuous'===_0x339bd9?_0x59570c=this['getRevoluteDelta'](_0x4ce67f,qe,Be):'prismatic'===_0x339bd9&&(_0x59570c=this['getPrismaticDelta'](_0x4ce67f,qe,Be)),_0x59570c){let _0x20782a=this['getJointCurrentValue'](_0x4ce67f)+_0x59570c;if(_0x4ce67f['limits']){(null==(_0xbe99d7=null==(_0x5d7a71=this['model'])?void 0x0:_0x5d7a71['userData'])?void 0x0:_0xbe99d7['ignoreLimits'])||(null==(_0x473b1e=null==(_0x2f2726=null==(_0x5e6476=this['model'])?void 0x0:_0x5e6476['threeObject'])?void 0x0:_0x2f2726['userData'])?void 0x0:_0x473b1e['ignoreLimits'])||!0x1||(_0x20782a=Math['max'](_0x4ce67f['limits']['lower'],Math['min'](_0x4ce67f['limits']['upper'],_0x20782a)));}this['updateJoint'](_0x4ce67f,_0x20782a);}}this['raycaster']['ray']['copy'](_0x49a89d),this['update']();}['setGrabbed'](_0x58dead){const {hovered:_0xb78406,manipulating:_0x56e52e}=this;if(_0x58dead){if(null!==_0x56e52e||null===_0xb78406)return;const _0x1a048b=function(_0x2b0bee,_0x4c2aba){if(!_0x2b0bee||!_0x2b0bee['threeObject']||!_0x4c2aba['joints'])return null;let _0x4bcbb7=_0x2b0bee['threeObject'];for(;_0x4bcbb7;){const _0x17793f=_0x4bcbb7['parent'];if(_0x17793f&&('URDFJoint'===_0x17793f['type']||_0x17793f['isURDFJoint'])){const _0x4b9e72=_0x17793f['name'];if(_0x4b9e72&&_0x4c2aba['joints']['has'](_0x4b9e72)){const _0x175d40=_0x4c2aba['joints']['get'](_0x4b9e72);if('fixed'!==_0x175d40['type'])return _0x175d40;const _0x145d9b=_0x17793f['parent'];if(_0x145d9b&&('URDFLink'===_0x145d9b['type']||_0x145d9b['isURDFLink'])){_0x4bcbb7=_0x145d9b;continue;}}}break;}return null;}(_0xb78406,this['model']);_0x1a048b?(this['manipulating']=_0x1a048b,this['manipulatingLink']=_0xb78406,this['onDragStart'](_0xb78406)):(this['manipulatingLink']=_0xb78406,this['onDragStart'](_0xb78406));}else{if(null===this['manipulating']&&!this['manipulatingLink'])return;this['onDragEnd'](this['manipulatingLink']||_0xb78406),this['manipulating']=null,this['manipulatingLink']=null,this['update']();}}}class Ze extends Ye{constructor(_0x44eacc,_0x50a058,_0xe232c5,_0x37decb){super(_0x44eacc,_0x50a058,_0xe232c5,_0x37decb),this['camera']=_0x50a058,this['domElement']=_0xe232c5;const _0x541867=new _0x21d002(),_0x3b4af2=new _0x29f781(),_0x3106d9=_0x47383d=>{const _0x156567=_0xe232c5['getBoundingClientRect']();_0x3b4af2['x']=(_0x47383d['clientX']-_0x156567['left'])/_0x156567['width']*0x2-0x1,_0x3b4af2['y']=-(_0x47383d['clientY']-_0x156567['top'])/_0x156567['height']*0x2+0x1;};this['_mouseDown']=_0x5a03d0=>{if(0x0!==_0x5a03d0['button'])return;if(_0x3106d9(_0x5a03d0),_0x541867['setFromCamera'](_0x3b4af2,this['camera']),!this['model']||!this['model']['threeObject'])return;const _0x216eef=[];this['model']['threeObject']['traverse'](_0x4e86e5=>{if(_0x4e86e5['isMesh']&&!_0x4e86e5['visible']){let _0xff9ac1=!0x1,_0x304880=_0x4e86e5;for(;_0x304880;){if(_0x304880['isURDFCollider']){_0xff9ac1=!0x0;break;}_0x304880=_0x304880['parent'];}_0xff9ac1||(_0x4e86e5['visible']=!0x0,_0x216eef['push'](_0x4e86e5));}});const _0x8fb603=_0x541867['intersectObject'](this['model']['threeObject'],!0x0);_0x216eef['forEach'](_0x32b8b0=>{_0x32b8b0['visible']=!0x1;});const _0x22eaba=_0x8fb603['filter'](_0xe87e53=>{var _0x100095,_0x1611e0;const _0x276d88=_0xe87e53['object'];if(_0x276d88['isURDFCollider']||(null==(_0x100095=_0x276d88['userData'])?void 0x0:_0x100095['isCollision'])||(null==(_0x1611e0=_0x276d88['userData'])?void 0x0:_0x1611e0['isCollisionGeom']))return!0x1;let _0x2c11d9=!0x1,_0x11a657=_0x276d88;for(;_0x11a657;){if(_0x11a657['isURDFCollider']){_0x2c11d9=!0x0;break;}_0x11a657=_0x11a657['parent'];}return!_0x2c11d9&&_0x276d88['isMesh'];});(_0x22eaba['length']>0x0?Ve(_0x22eaba[0x0]['object'],this['model']):null)&&(this['moveRay'](_0x541867['ray']),this['setGrabbed'](!0x0));},this['_mouseMove']=_0x1b3f44=>{_0x3106d9(_0x1b3f44),_0x541867['setFromCamera'](_0x3b4af2,this['camera']),this['moveRay'](_0x541867['ray']);},this['_mouseUp']=_0x536a1b=>{0x0===_0x536a1b['button']&&(_0x3106d9(_0x536a1b),_0x541867['setFromCamera'](_0x3b4af2,this['camera']),this['moveRay'](_0x541867['ray']),this['setGrabbed'](!0x1));},this['_mouseLeave']=()=>{this['manipulating']&&this['setGrabbed'](!0x1),this['hovered']&&(this['onUnhover'](this['hovered']),this['hovered']=null);},_0xe232c5['addEventListener']('mousedown',this['_mouseDown']),_0xe232c5['addEventListener']('mousemove',this['_mouseMove']),_0xe232c5['addEventListener']('mouseup',this['_mouseUp']),_0xe232c5['addEventListener']('mouseleave',this['_mouseLeave']);}['getRevoluteDelta'](_0xdec8e6,_0x245d04,_0x1ce8d3){const {camera:_0x2dd039,initialGrabPoint:_0x1edf7e}=this,_0x5a7883=this['getJointThreeObject'](_0xdec8e6);if(!_0x5a7883)return 0x0;const _0x105d6a=this['getJointAxis'](_0xdec8e6);return Je['copy'](_0x105d6a)['transformDirection'](_0x5a7883['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0x5a7883['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Je['copy'](_0x2dd039['position'])['sub'](_0x1edf7e)['normalize'](),Math['abs'](Je['dot'](Xe['normal']))>0.3?super['getRevoluteDelta'](_0xdec8e6,_0x245d04,_0x1ce8d3):(Je['set'](0x0,0x1,0x0)['transformDirection'](_0x2dd039['matrixWorld']),Xe['projectPoint'](_0x245d04,Ge),Xe['projectPoint'](_0x1ce8d3,We),Je['set'](0x0,0x0,-0x1)['transformDirection'](_0x2dd039['matrixWorld']),Je['cross'](Xe['normal']),He['subVectors'](_0x1ce8d3,_0x245d04),Je['dot'](He));}['dispose'](){const {domElement:_0x1cc9e9}=this;_0x1cc9e9['removeEventListener']('mousedown',this['_mouseDown']),_0x1cc9e9['removeEventListener']('mousemove',this['_mouseMove']),_0x1cc9e9['removeEventListener']('mouseup',this['_mouseUp']),_0x1cc9e9['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'](_0x5c8d9a){this['links']['set'](_0x5c8d9a['name'],_0x5c8d9a);}['addJoint'](_0x5dde51){this['joints']['set'](_0x5dde51['name'],_0x5dde51);}['addConstraint'](_0x490c84){this['constraints']['set'](_0x490c84['name'],_0x490c84);}['getLink'](_0x4885a7){return this['links']['get'](_0x4885a7);}['getJoint'](_0x409e88){return this['joints']['get'](_0x409e88);}['getConstraint'](_0x2ac10f){return this['constraints']['get'](_0x2ac10f);}}class Ke{constructor(_0x5b4d92){this['name']=_0x5b4d92,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(_0x415c3a){this['type']=_0x415c3a,this['size']=null,this['filename']=null;}['clone'](){const _0x448bbf=new nt(this['type']);return _0x448bbf['size']=this['size']?{...this['size']}:null,_0x448bbf['filename']=this['filename'],_0x448bbf;}}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(_0x33b091,_0x90a5d5){this['name']=_0x33b091,this['type']=_0x90a5d5,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(_0x45b473,_0x30b16a){this['name']=_0x45b473,this['type']=_0x30b16a,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(_0x55420f,_0x3c180d,_0x5d92d8){const _0x52e30e=lt(_0x3c180d,'joint_index'),_0x625413=lt(_0x3c180d,'rest_j_pos');if(!_0x52e30e||!_0x625413)return;const _0x10d9c2=Math['min'](_0x52e30e['length'],_0x625413['length']);for(let _0x5eda7f=0x0;_0x5eda7f<_0x10d9c2;_0x5eda7f++){const _0x540f53=_0x52e30e[_0x5eda7f];if(_0x540f53<0x0)continue;const _0x5c208d=_0x5d92d8[_0x540f53];_0x5c208d&&_0x55420f['set'](_0x5c208d,_0x625413[_0x5eda7f]);}}function lt(_0x43e0e0,_0x311ea1){const _0x2a3d6d=function(_0x16b59b,_0x3077ec){const _0x339eee=new RegExp('^\x5cs*-?\x5cs*'+_0x3077ec+':\x5cs*\x5c[([^\x5c]]+)\x5c]','m'),_0x5b818f=_0x16b59b['match'](_0x339eee);if(_0x5b818f){return _0x5b818f[0x1]['split'](',')['map'](_0x296722=>parseFloat(_0x296722['trim']()))['filter'](_0x318279=>!isNaN(_0x318279));}return null;}(_0x43e0e0,_0x311ea1);if(_0x2a3d6d)return _0x2a3d6d;const _0x2e0b4e=function(_0x1ee53e,_0x20e502){const _0x180a63=new RegExp('^\x5cs*'+_0x20e502+':\x5cs*(-?\x5cd+(?:\x5c.\x5cd+)?)','m'),_0x4d9ef9=_0x1ee53e['match'](_0x180a63);if(_0x4d9ef9){const _0x46f8ea=parseFloat(_0x4d9ef9[0x1]);return isNaN(_0x46f8ea)?null:_0x46f8ea;}return null;}(_0x43e0e0,_0x311ea1);return null!==_0x2e0b4e?[_0x2e0b4e]:null;}function ct(_0x5effd7,_0x130946){const _0x50c7b4=[],_0x592842=_0x5effd7['split']('\x0a');let _0x2f0703=!0x1,_0x22578f=[],_0x164ca4=-0x1;for(let _0x1b7d2a=0x0;_0x1b7d2a<_0x592842['length'];_0x1b7d2a++){const _0x5979ce=_0x592842[_0x1b7d2a],_0x48bd15=_0x5979ce['trimStart']();if(_0x48bd15['startsWith']('#')||0x0===_0x48bd15['length']){_0x2f0703&&_0x22578f['push'](_0x5979ce);continue;}const _0x18ad5f=_0x5979ce['length']-_0x48bd15['length'];_0x48bd15===_0x130946+':'||_0x48bd15['startsWith'](_0x130946+':')?(_0x2f0703&&_0x22578f['length']>0x0&&_0x50c7b4['push'](_0x22578f['join']('\x0a')),_0x2f0703=!0x0,_0x164ca4=_0x18ad5f,_0x22578f=[_0x5979ce]):_0x2f0703&&(_0x18ad5f>_0x164ca4||_0x18ad5f===_0x164ca4&&_0x48bd15['startsWith']('-')?_0x22578f['push'](_0x5979ce):(_0x50c7b4['push'](_0x22578f['join']('\x0a')),_0x2f0703=!0x1,_0x22578f=[],_0x164ca4=-0x1));}return _0x2f0703&&_0x22578f['length']>0x0&&_0x50c7b4['push'](_0x22578f['join']('\x0a')),0x1===_0x50c7b4['length']&&_0x50c7b4[0x0]['includes']('-\x20')?function(_0x4ea2b3){const _0x5a4863=[],_0x321571=_0x4ea2b3['split']('\x0a');let _0x47b8b1=[],_0x2de076=-0x1;for(const _0xf02d29 of _0x321571){const _0x5bb245=_0xf02d29['trimStart']();if(_0x5bb245['startsWith']('#')||0x0===_0x5bb245['length'])continue;const _0x1bb8f6=_0xf02d29['length']-_0x5bb245['length'];_0x5bb245['startsWith']('-\x20')?(_0x47b8b1['length']>0x0&&_0x5a4863['push'](_0x47b8b1['join']('\x0a')),_0x47b8b1=[_0xf02d29],_0x2de076=_0x1bb8f6):_0x2de076>=0x0&&_0x1bb8f6>_0x2de076?_0x47b8b1['push'](_0xf02d29):_0x47b8b1['length']>0x0&&(_0x5a4863['push'](_0x47b8b1['join']('\x0a')),_0x47b8b1=[],_0x2de076=-0x1);}_0x47b8b1['length']>0x0&&_0x5a4863['push'](_0x47b8b1['join']('\x0a'));return _0x5a4863;}(_0x50c7b4[0x0]):_0x50c7b4;}function ht(_0x369d04){if(!_0x369d04||!_0x369d04['joints'])return[];const _0x5e661f=new Map();_0x369d04['joints']['forEach'](_0x220471=>{const _0x58d836=_0x220471['parent']||'__root__';_0x5e661f['has'](_0x58d836)||_0x5e661f['set'](_0x58d836,[]),_0x5e661f['get'](_0x58d836)['push'](_0x220471);});const _0x52fc20=[];return function _0x55912c(_0x489516){(_0x5e661f['get'](_0x489516)||[])['forEach'](_0x1f5b28=>{_0x52fc20['push'](_0x1f5b28),_0x55912c(_0x1f5b28['child']);});}(_0x369d04['rootLink']||'__root__'),_0x369d04['joints']['forEach'](_0x5cdc30=>{_0x52fc20['includes'](_0x5cdc30)||_0x52fc20['push'](_0x5cdc30);}),_0x52fc20;}class ut{static['convert'](_0x414dda,_0x207b30=null,_0x383d9a={}){const _0x49fb3b=new Qe();if(_0x49fb3b['name']=_0x414dda['name']||'robot',_0x49fb3b['threeObject']=_0x414dda,_0x414dda['userData']||(_0x414dda['userData']={}),_0x414dda['userData']['type']='urdf',!_0x414dda['links']||!_0x414dda['joints'])return _0x49fb3b;let _0x2f6528={};_0x207b30&&(_0x2f6528=this['parseInertialFromXML'](_0x207b30)),Object['values'](_0x414dda['links'])['forEach'](_0x3308b6=>{const _0xb234f0=this['convertLink'](_0x3308b6);!_0xb234f0['inertial']&&_0x2f6528[_0x3308b6['name']]&&(_0xb234f0['inertial']=_0x2f6528[_0x3308b6['name']]),_0x49fb3b['addLink'](_0xb234f0);}),Object['values'](_0x414dda['joints'])['forEach'](_0x24bd1e=>{const _0x5bfb15=this['convertJoint'](_0x24bd1e);_0x49fb3b['addJoint'](_0x5bfb15);}),_0x207b30&&this['supplementJointLimitsFromXML'](_0x49fb3b,_0x207b30);const _0x45ccf2=new Set(Array['from'](_0x49fb3b['joints']['values']())['map'](_0x59f911=>_0x59f911['child'])['filter'](_0x4d8e9d=>_0x4d8e9d)),_0x88616e=Array['from'](_0x49fb3b['links']['keys']())['filter'](_0x27245f=>!_0x45ccf2['has'](_0x27245f));return _0x88616e['length']>0x0&&(_0x49fb3b['rootLink']=_0x88616e[0x0]),_0x383d9a['vrConfigContent']&&this['applyVRConfigRestPositions'](_0x49fb3b,_0x383d9a['vrConfigContent']),this['enhanceMaterials'](_0x414dda),_0x49fb3b;}static['enhanceMaterials'](_0xa7037f){_0xa7037f['traverse'](_0x359be1=>{_0x359be1['isMesh']&&_0x359be1['material']&&(Array['isArray'](_0x359be1['material'])?_0x359be1['material']=_0x359be1['material']['map'](_0x4a0980=>this['enhanceSingleMaterial'](_0x4a0980)):_0x359be1['material']=this['enhanceSingleMaterial'](_0x359be1['material']));});}static['enhanceSingleMaterial'](_0x2cb8b4){var _0x50b2fc,_0x2bf12d,_0x553659;if(_0x2cb8b4['isMeshPhongMaterial']||_0x2cb8b4['isMeshStandardMaterial']){if(void 0x0===_0x2cb8b4['userData']['originalShininess'])if(_0x2cb8b4['userData']['originalShininess']=void 0x0!==_0x2cb8b4['shininess']?_0x2cb8b4['shininess']:0x1e,!_0x2cb8b4['userData']['originalColor']&&_0x2cb8b4['color']&&(_0x2cb8b4['userData']['originalColor']=_0x2cb8b4['color']['clone']()),_0x2cb8b4['specular'])if(_0x2cb8b4['specular']['isColor']){const _0x5624ce=_0x2cb8b4['specular'];_0x5624ce['r']<0.1&&_0x5624ce['g']<0.1&&_0x5624ce['b']<0.1?_0x2cb8b4['userData']['originalSpecular']=null:_0x2cb8b4['userData']['originalSpecular']=_0x5624ce['clone']();}else'number'==typeof _0x2cb8b4['specular']?0x111111===_0x2cb8b4['specular']||_0x2cb8b4['specular']<0x111111?_0x2cb8b4['userData']['originalSpecular']=null:_0x2cb8b4['userData']['originalSpecular']=new _0x43a4f1(_0x2cb8b4['specular']):_0x2cb8b4['userData']['originalSpecular']=null;else _0x2cb8b4['userData']['originalSpecular']=null;return(void 0x0===_0x2cb8b4['shininess']||_0x2cb8b4['shininess']<0x32)&&(_0x2cb8b4['shininess']=0x32),_0x2cb8b4['specular']?_0x2cb8b4['specular']['isColor']?(_0x2cb8b4['specular']['r']<0.2||_0x2cb8b4['specular']['g']<0.2||_0x2cb8b4['specular']['b']<0.2)&&_0x2cb8b4['specular']['setRGB'](0.3,0.3,0.3):'number'==typeof _0x2cb8b4['specular']&&(_0x2cb8b4['specular']<0x333333?_0x2cb8b4['specular']=new _0x43a4f1(0.3,0.3,0.3):(_0x2cb8b4['specular']=new _0x43a4f1(_0x2cb8b4['specular']),_0x2cb8b4['specular']['r']<0.2&&_0x2cb8b4['specular']['setRGB'](0.3,0.3,0.3))):_0x2cb8b4['specular']=new _0x43a4f1(0.3,0.3,0.3),_0x2cb8b4['needsUpdate']=!0x0,_0x2cb8b4;}if('MeshBasicMaterial'===_0x2cb8b4['type']){const _0x4fc576=_0x2cb8b4,_0x228c5f='undefined'!=typeof window&&(null==(_0x553659=null==(_0x2bf12d=null==(_0x50b2fc=window['app'])?void 0x0:_0x50b2fc['sceneManager'])?void 0x0:_0x2bf12d['environmentManager'])?void 0x0:_0x553659['getEnvironmentMap']()),_0x4d7da2=new _0xa87e13({'color':_0x4fc576['color'],'map':_0x4fc576['map'],'transparent':_0x4fc576['transparent'],'opacity':_0x4fc576['opacity'],'side':_0x4fc576['side'],'shininess':0x32,'specular':new _0x43a4f1(0.3,0.3,0.3),'envMap':_0x228c5f||null,'reflectivity':_0x228c5f?0.3:0x0});return _0x4d7da2['userData']['originalShininess']=0x1e,_0x4d7da2['userData']['originalSpecular']=null,_0x4d7da2;}return _0x2cb8b4;}static['convertLink'](_0x5dd76c){const _0x247a36=new Ke(_0x5dd76c['name']);return _0x247a36['threeObject']=_0x5dd76c,_0x5dd76c['inertial']&&(_0x247a36['inertial']=this['convertInertial'](_0x5dd76c['inertial'])),_0x247a36;}static['convertJoint'](_0x122678){var _0x42482b;const _0x4df8fa=_0x122678['jointType']||_0x122678['type']||'fixed',_0x12b306=new st(_0x122678['name'],_0x4df8fa);if(_0x12b306['parent']=(null==(_0x42482b=_0x122678['parent'])?void 0x0:_0x42482b['name'])||null,_0x122678['child']&&_0x122678['child']['name'])_0x12b306['child']=_0x122678['child']['name'];else if(_0x122678['children']&&_0x122678['children']['length']>0x0){const _0x53fc8b=_0x122678['children']['find'](_0x5d8426=>_0x5d8426['isURDFLink']||'URDFLink'===_0x5d8426['type']);_0x53fc8b&&(_0x12b306['child']=_0x53fc8b['name']);}return _0x12b306['threeObject']=_0x122678,_0x122678['origin']&&(_0x12b306['origin']={'xyz':_0x122678['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x122678['origin']['rpy']||[0x0,0x0,0x0]}),_0x122678['axis']&&(_0x12b306['axis']={'xyz':_0x122678['axis']['xyz']||[0x0,0x0,0x1]}),_0x122678['limit']&&(_0x12b306['limits']=this['convertLimits'](_0x122678['limit'])),void 0x0!==_0x122678['angle']?_0x12b306['currentValue']=_0x122678['angle']:void 0x0!==_0x122678['jointValue']&&(_0x12b306['currentValue']=_0x122678['jointValue']),_0x122678['mimicJoint']&&(_0x12b306['mimic']={'joint':_0x122678['mimicJoint'],'multiplier':_0x122678['multiplier']??0x1,'offset':_0x122678['offset']??0x0}),_0x12b306;}static['convertLimits'](_0x53ff3b){const _0x523565=new rt();return void 0x0!==_0x53ff3b['lower']&&(_0x523565['lower']=_0x53ff3b['lower']),void 0x0!==_0x53ff3b['upper']&&(_0x523565['upper']=_0x53ff3b['upper']),void 0x0!==_0x53ff3b['effort']&&(_0x523565['effort']=_0x53ff3b['effort']),void 0x0!==_0x53ff3b['velocity']&&(_0x523565['velocity']=_0x53ff3b['velocity']),_0x523565;}static['supplementJointLimitsFromXML'](_0x6a1599,_0x182fec){try{const _0x36c563=new DOMParser()['parseFromString'](_0x182fec,'text/xml');_0x36c563['querySelectorAll']('joint')['forEach'](_0x3a83d7=>{const _0x40f707=_0x3a83d7['getAttribute']('name'),_0x2d4c2a=_0x6a1599['joints']['get'](_0x40f707);if(_0x2d4c2a){const _0x859832=_0x3a83d7['querySelector']('limit');if(_0x859832){_0x2d4c2a['limits']||(_0x2d4c2a['limits']=new rt());const _0x41a018=_0x859832['getAttribute']('effort'),_0x50f30e=_0x859832['getAttribute']('velocity');null!==_0x41a018&&(_0x2d4c2a['limits']['effort']=parseFloat(_0x41a018)),null!==_0x50f30e&&(_0x2d4c2a['limits']['velocity']=parseFloat(_0x50f30e));const _0x34c09a=_0x859832['getAttribute']('lower'),_0x46447a=_0x859832['getAttribute']('upper');null!==_0x34c09a&&(_0x2d4c2a['limits']['lower']=parseFloat(_0x34c09a)),null!==_0x46447a&&(_0x2d4c2a['limits']['upper']=parseFloat(_0x46447a));}}});}catch(_0x4f743b){}}static['convertInertial'](_0x5e5adb){const _0x2117a4=new it();return void 0x0!==_0x5e5adb['mass']&&(_0x2117a4['mass']=_0x5e5adb['mass']),_0x5e5adb['origin']&&(_0x2117a4['origin']={'xyz':_0x5e5adb['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x5e5adb['origin']['rpy']||[0x0,0x0,0x0]}),void 0x0!==_0x5e5adb['ixx']&&(_0x2117a4['ixx']=_0x5e5adb['ixx']),void 0x0!==_0x5e5adb['iyy']&&(_0x2117a4['iyy']=_0x5e5adb['iyy']),void 0x0!==_0x5e5adb['izz']&&(_0x2117a4['izz']=_0x5e5adb['izz']),void 0x0!==_0x5e5adb['ixy']&&(_0x2117a4['ixy']=_0x5e5adb['ixy']),void 0x0!==_0x5e5adb['ixz']&&(_0x2117a4['ixz']=_0x5e5adb['ixz']),void 0x0!==_0x5e5adb['iyz']&&(_0x2117a4['iyz']=_0x5e5adb['iyz']),_0x2117a4;}static['parseInertialFromXML'](_0x48c5dc){const _0x2bd31a={};try{const _0x3929e6=new DOMParser(),_0x4bdde9=_0x3929e6['parseFromString'](_0x48c5dc,'text/xml')['getElementsByTagName']('link');for(let _0x67d406=0x0;_0x67d406<_0x4bdde9['length'];_0x67d406++){const _0x3d9558=_0x4bdde9[_0x67d406],_0x331d64=_0x3d9558['getAttribute']('name'),_0x3ca1cb=_0x3d9558['getElementsByTagName']('inertial')[0x0];if(!_0x3ca1cb)continue;const _0x1c2353=new it(),_0x5bf2c8=_0x3ca1cb['getElementsByTagName']('mass')[0x0];_0x5bf2c8&&(_0x1c2353['mass']=parseFloat(_0x5bf2c8['getAttribute']('value')));const _0x25d3fa=_0x3ca1cb['getElementsByTagName']('origin')[0x0];if(_0x25d3fa){const _0x4f76f4=_0x25d3fa['getAttribute']('xyz'),_0x252100=_0x25d3fa['getAttribute']('rpy');_0x1c2353['origin']={'xyz':_0x4f76f4?_0x4f76f4['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0],'rpy':_0x252100?_0x252100['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0]};}else _0x1c2353['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};const _0x3bf0a5=_0x3ca1cb['getElementsByTagName']('inertia')[0x0];_0x3bf0a5&&(_0x1c2353['ixx']=parseFloat(_0x3bf0a5['getAttribute']('ixx'))||0x0,_0x1c2353['iyy']=parseFloat(_0x3bf0a5['getAttribute']('iyy'))||0x0,_0x1c2353['izz']=parseFloat(_0x3bf0a5['getAttribute']('izz'))||0x0,_0x1c2353['ixy']=parseFloat(_0x3bf0a5['getAttribute']('ixy'))||0x0,_0x1c2353['ixz']=parseFloat(_0x3bf0a5['getAttribute']('ixz'))||0x0,_0x1c2353['iyz']=parseFloat(_0x3bf0a5['getAttribute']('iyz'))||0x0),_0x2bd31a[_0x331d64]=_0x1c2353;}}catch(_0x6fff84){}return _0x2bd31a;}static['applyVRConfigRestPositions'](_0x38a7e7,_0x5e2545){try{const _0x1b5454=function(_0x1728eb,_0xda667c){const _0x15bdb3=new Map();if(!_0x1728eb||!_0xda667c||!Array['isArray'](_0xda667c))return _0x15bdb3;try{const _0x1099a5=ct(_0x1728eb,'arms');for(const _0x452eef of _0x1099a5)ot(_0x15bdb3,_0x452eef,_0xda667c);const _0x449348=ct(_0x1728eb,'waist')[0x0];_0x449348&&ot(_0x15bdb3,_0x449348,_0xda667c);const _0x2b4fdf=ct(_0x1728eb,'head')[0x0];_0x2b4fdf&&ot(_0x15bdb3,_0x2b4fdf,_0xda667c);const _0x426e55=ct(_0x1728eb,'dorsal')[0x0];_0x426e55&&ot(_0x15bdb3,_0x426e55,_0xda667c);const _0x22fb21=ct(_0x1728eb,'folding_waist')[0x0];_0x22fb21&&ot(_0x15bdb3,_0x22fb21,_0xda667c);}catch(_0x2c9e9f){}return _0x15bdb3;}(_0x5e2545,ht(_0x38a7e7)['map'](_0x2ae826=>_0x2ae826['name']));if(0x0===_0x1b5454['size'])return;let _0x1aba0a=0x0;for(const [_0x2d428d,_0x1a932b]of _0x1b5454['entries']()){const _0x43a78c=_0x38a7e7['joints']['get'](_0x2d428d);_0x43a78c&&'fixed'!==_0x43a78c['type']&&(_0x38a7e7['userData']||(_0x38a7e7['userData']={}),_0x38a7e7['userData']['homePositions']||(_0x38a7e7['userData']['homePositions']={}),_0x38a7e7['userData']['homePositions'][_0x2d428d]=_0x1a932b,this['setJointAngle'](_0x43a78c,_0x1a932b,!0x1),_0x1aba0a++);}}catch(_0x400ad2){}}static['setJointAngle'](_0xbff067,_0x3b113b,_0x44559c=!0x1){if(_0xbff067['currentValue']=_0x3b113b,_0xbff067['threeObject']){let _0x2bb738=null;if(_0x44559c&&_0xbff067['threeObject']['limit']&&(_0x2bb738={'lower':_0xbff067['threeObject']['limit']['lower'],'upper':_0xbff067['threeObject']['limit']['upper']},_0xbff067['threeObject']['limit']['lower']=0x2*-Math['PI'],_0xbff067['threeObject']['limit']['upper']=0x2*Math['PI']),'function'==typeof _0xbff067['threeObject']['setJointValue'])return _0xbff067['threeObject']['setJointValue'](_0x3b113b),void(_0x2bb738&&_0xbff067['threeObject']['limit']&&(_0xbff067['threeObject']['limit']['lower']=_0x2bb738['lower'],_0xbff067['threeObject']['limit']['upper']=_0x2bb738['upper']));if('function'==typeof _0xbff067['threeObject']['setAngle'])return _0xbff067['threeObject']['setAngle'](_0x3b113b),void(_0x2bb738&&_0xbff067['threeObject']['limit']&&(_0xbff067['threeObject']['limit']['lower']=_0x2bb738['lower'],_0xbff067['threeObject']['limit']['upper']=_0x2bb738['upper']));if(_0x2bb738&&_0xbff067['threeObject']['limit']&&(_0xbff067['threeObject']['limit']['lower']=_0x2bb738['lower'],_0xbff067['threeObject']['limit']['upper']=_0x2bb738['upper']),'revolute'===_0xbff067['type']||'continuous'===_0xbff067['type']){const _0x3c9f82=_0xbff067['axis']?new _0x5a7be3(..._0xbff067['axis']['xyz'])['normalize']():new _0x5a7be3(0x0,0x0,0x1);_0xbff067['threeObject']['rotation']&&_0xbff067['threeObject']['rotation']['setFromAxisAngle'](_0x3c9f82,_0x3b113b);}else if('prismatic'===_0xbff067['type']){const _0xf95388=_0xbff067['axis']?new _0x5a7be3(..._0xbff067['axis']['xyz'])['normalize']():new _0x5a7be3(0x1,0x0,0x0);_0xbff067['threeObject']['position']&&_0xbff067['threeObject']['position']['copy'](_0xf95388['multiplyScalar'](_0x3b113b));}}}}function dt(_0x5c65a4){return new Promise((_0x3b8a8a,_0x1c161f)=>{const _0x18623e=new FileReader();_0x18623e['onload']=_0xa83cbd=>_0x3b8a8a(_0xa83cbd['target']['result']),_0x18623e['onerror']=_0x1c161f,_0x18623e['readAsText'](_0x5c65a4);});}function pt(_0xf66588){return new Promise((_0x39f21a,_0x2b0ca2)=>{_0xf66588['file'](_0x39f21a,_0x2b0ca2);});}function mt(_0x4b219d){return _0x4b219d?_0x4b219d['replace'](/\\/g,'/')['replace'](/^\/+/,'')['replace'](/\/+/g,'/'):'';}function gt(_0x409b61){return mt(_0x409b61)['split']('/')['reduce']((_0x44b396,_0x26120c)=>_0x26120c&&'.'!==_0x26120c?'..'===_0x26120c?(_0x44b396['pop'](),_0x44b396):(_0x44b396['push'](_0x26120c),_0x44b396):_0x44b396,[])['join']('/');}function ft(_0x4dfc30){if(!_0x4dfc30||!_0x4dfc30['startsWith']('blob:'))return _0x4dfc30;const _0x596922=_0x4dfc30['match'](/^blob:https?:\/\/[^/]+\/(.+)$/);return(null==_0x596922?void 0x0:_0x596922[0x1])||_0x4dfc30;}function yt(_0x5273c6,_0x2cc78a){if(!_0x2cc78a)return;const _0x2afcf2=ft(_0x2cc78a);[_0x2cc78a,_0x2afcf2,mt(_0x2afcf2),gt(_0x2afcf2)]['forEach'](_0x5dbc46=>{_0x5dbc46&&_0x5273c6['push'](_0x5dbc46);});}function vt(_0xfb389c,_0x28a352){let _0x54876a=null,_0x22ca04=0x0;for(const [_0x334107,_0x4a790c]of _0xfb389c['entries']())_0x28a352(_0x334107)&&(_0x54876a=_0x4a790c,_0x22ca04++);return 0x1===_0x22ca04?_0x54876a:null;}function bt(_0x1b9ff6,_0x17e195,_0x44c650={}){var _0x33f170;if(!_0x1b9ff6||!_0x17e195)return null;const _0x22a39f=_0x44c650['baseDir']||'',_0x38253e=[],_0x14e46c=ft(_0x1b9ff6);if(yt(_0x38253e,_0x14e46c),_0x14e46c['startsWith']('package://')){const _0xf8b20f=_0x14e46c['replace'](/^package:\/\//,'');yt(_0x38253e,_0xf8b20f);const _0x302b91=_0xf8b20f['split']('/');_0x302b91['length']>0x1&&yt(_0x38253e,_0x302b91['slice'](0x1)['join']('/'));}const _0x510af7=mt(_0x14e46c['replace'](/^package:\/\//,'')),_0x59e7d5=_0x510af7['split']('/');_0x59e7d5['length']>0x1&&yt(_0x38253e,_0x59e7d5['slice'](0x1)['join']('/')),_0x22a39f&&_0x510af7&&!_0x510af7['startsWith'](_0x22a39f)&&(yt(_0x38253e,_0x22a39f+_0x510af7),_0x59e7d5['length']>0x1&&yt(_0x38253e,_0x22a39f+_0x59e7d5['slice'](0x1)['join']('/')));for(const _0x5e6020 of _0x38253e)if(_0x17e195['has'](_0x5e6020))return _0x17e195['get'](_0x5e6020);const _0xae35b7=new Set(_0x38253e['map'](_0x5294d5=>gt(_0x5294d5))),_0x2c52c7=vt(_0x17e195,_0x37fa2f=>_0xae35b7['has'](gt(_0x37fa2f)));if(_0x2c52c7)return _0x2c52c7;const _0x68ffa7=new Set(Array['from'](_0xae35b7,_0xc0f84d=>_0xc0f84d['toLowerCase']())),_0x37f792=vt(_0x17e195,_0x449416=>_0x68ffa7['has'](gt(_0x449416)['toLowerCase']()));if(_0x37f792)return _0x37f792;const _0x1398f4=vt(_0x17e195,_0x5ec6d2=>{const _0x83953=gt(_0x5ec6d2)['toLowerCase']();return Array['from'](_0x68ffa7)['some'](_0x34b1d7=>_0x34b1d7&&_0x83953['endsWith']('/'+_0x34b1d7));});if(_0x1398f4)return _0x1398f4;const _0x1725bb=null==(_0x33f170=gt(_0x14e46c)['split']('/')['pop']())?void 0x0:_0x33f170['toLowerCase']();return _0x1725bb?vt(_0x17e195,_0x3ccb51=>{var _0x1b32e7;return(null==(_0x1b32e7=gt(_0x3ccb51)['split']('/')['pop']())?void 0x0:_0x1b32e7['toLowerCase']())===_0x1725bb;}):null;}let wt=null;async function xt(){if(!wt){const [{STLLoader:_0x1284d7},{OBJLoader:_0xd1dbf7},{MTLLoader:_0x1a88ba},{ColladaLoader:_0x590251},{GLTFLoader:_0x17de7b}]=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 _0x1284d7(),'OBJLoader':new _0xd1dbf7(),'MTLLoader':new _0x1a88ba(),'ColladaLoader':new _0x590251(),'GLTFLoader':new _0x17de7b()};}return wt;}function Mt(_0x451582){_0x451582['traverse'](_0x139326=>{if(_0x139326['isMesh']&&_0x139326['material']){const _0x3c42cc=Array['isArray'](_0x139326['material'])?_0x139326['material']:[_0x139326['material']];_0x3c42cc['forEach']((_0x4d9bf3,_0x4f4e2c)=>{var _0x1dae76,_0x207ece,_0x410e44,_0x22b1da,_0x66c675,_0x53ecf7,_0x119758,_0x556144,_0x3a46fd,_0x54a6bc,_0x538621,_0x2a6b01;if(_0x4d9bf3)if('MeshBasicMaterial'===_0x4d9bf3['type']||'MeshLambertMaterial'===_0x4d9bf3['type']){const _0x36e36a=_0x4d9bf3,_0x2c6040='undefined'!=typeof window&&!0x1!==(null==(_0x410e44=null==(_0x207ece=null==(_0x1dae76=window['app'])?void 0x0:_0x1dae76['sceneManager'])?void 0x0:_0x207ece['visualizationManager'])?void 0x0:_0x410e44['showEnhancedLighting']),_0x50a8ba='undefined'!=typeof window&&(null==(_0x53ecf7=null==(_0x66c675=null==(_0x22b1da=window['app'])?void 0x0:_0x22b1da['sceneManager'])?void 0x0:_0x66c675['environmentManager'])?void 0x0:_0x53ecf7['getEnvironmentMap']()),_0x27440c=new _0xa87e13({'color':_0x36e36a['color'],'map':_0x36e36a['map'],'transparent':_0x36e36a['transparent'],'opacity':_0x36e36a['opacity'],'side':_0x36e36a['side'],'shininess':_0x2c6040?0x32:0x1e,'specular':_0x2c6040?new _0x43a4f1(0.3,0.3,0.3):new _0x43a4f1(0x111111),'envMap':_0x50a8ba||null,'reflectivity':_0x50a8ba?0.3:0x0});_0x27440c['userData']['originalShininess']=0x1e,_0x27440c['userData']['originalSpecular']=null,_0x27440c['map']&&(_0x27440c['map']['colorSpace']=_0x3e3edd),_0x3c42cc[_0x4f4e2c]=_0x27440c;}else if(_0x4d9bf3['isMeshPhongMaterial']||_0x4d9bf3['isMeshStandardMaterial']){if(void 0x0===_0x4d9bf3['userData']['originalShininess'])if(_0x4d9bf3['userData']['originalShininess']=void 0x0!==_0x4d9bf3['shininess']?_0x4d9bf3['shininess']:0x1e,_0x4d9bf3['specular'])if(_0x4d9bf3['specular']['isColor']){const _0x15c7a5=_0x4d9bf3['specular'];_0x15c7a5['r']<0.1&&_0x15c7a5['g']<0.1&&_0x15c7a5['b']<0.1?_0x4d9bf3['userData']['originalSpecular']=null:_0x4d9bf3['userData']['originalSpecular']=_0x15c7a5['clone']();}else'number'==typeof _0x4d9bf3['specular']?0x111111===_0x4d9bf3['specular']||_0x4d9bf3['specular']<0x111111?_0x4d9bf3['userData']['originalSpecular']=null:_0x4d9bf3['userData']['originalSpecular']=new _0x43a4f1(_0x4d9bf3['specular']):_0x4d9bf3['userData']['originalSpecular']=null;else _0x4d9bf3['userData']['originalSpecular']=null;const _0x813f46='undefined'!=typeof window&&(null==(_0x3a46fd=null==(_0x556144=null==(_0x119758=window['app'])?void 0x0:_0x119758['sceneManager'])?void 0x0:_0x556144['environmentManager'])?void 0x0:_0x3a46fd['getEnvironmentMap']());_0x813f46&&!_0x4d9bf3['envMap']&&(_0x4d9bf3['envMap']=_0x813f46,void 0x0===_0x4d9bf3['reflectivity']&&(_0x4d9bf3['reflectivity']=0.3),_0x4d9bf3['needsUpdate']=!0x0);'undefined'!=typeof window&&!0x1!==(null==(_0x2a6b01=null==(_0x538621=null==(_0x54a6bc=window['app'])?void 0x0:_0x54a6bc['sceneManager'])?void 0x0:_0x538621['visualizationManager'])?void 0x0:_0x2a6b01['showEnhancedLighting'])&&((void 0x0===_0x4d9bf3['shininess']||_0x4d9bf3['shininess']<0x32)&&(_0x4d9bf3['shininess']=0x32),(!_0x4d9bf3['specular']||_0x4d9bf3['specular']['isColor']&&_0x4d9bf3['specular']['r']<0.2||'number'==typeof _0x4d9bf3['specular']&&_0x4d9bf3['specular']<0x333333)&&(_0x4d9bf3['specular']=new _0x43a4f1(0.3,0.3,0.3))),_0x4d9bf3['needsUpdate']=!0x0;}}),Array['isArray'](_0x139326['material'])?_0x139326['material']=_0x3c42cc:0x1===_0x3c42cc['length']&&(_0x139326['material']=_0x3c42cc[0x0]);}});}class _t{static async['processIncludes'](_0x4a3fb2,_0x3198a0=null,_0x162b2e=null){const _0x15f081=new DOMParser(),_0x5ce2b3=_0x15f081['parseFromString'](_0x4a3fb2,'text/xml');if(_0x5ce2b3['querySelector']('parsererror'))return _0x4a3fb2;const _0x17cda1=_0x5ce2b3['querySelectorAll']('include');if(0x0===_0x17cda1['length'])return _0x4a3fb2;for(const _0x1fbafa of _0x17cda1){const _0x615e40=_0x1fbafa['getAttribute']('file');if(!_0x615e40){_0x1fbafa['remove']();continue;}let _0x449563=null;if(_0x3198a0){const _0x4a1b37=[_0x615e40,_0x162b2e?_0x162b2e+'/'+_0x615e40:_0x615e40,_0x615e40['startsWith']('/')?_0x615e40:'/'+_0x615e40];for(const _0x3610c0 of _0x4a1b37){if(_0x3198a0['has'](_0x3610c0)){const _0x271659=_0x3198a0['get'](_0x3610c0);try{_0x449563=await _0x271659['text']();break;}catch(_0x5cdbff){}}for(const [_0x3d47bb,_0x3db3b1]of _0x3198a0)if(_0x3d47bb['toLowerCase']()===_0x3610c0['toLowerCase']())try{_0x449563=await _0x3db3b1['text']();break;}catch(_0x5a6436){}if(_0x449563)break;}}if(!_0x449563){_0x1fbafa['remove']();continue;}const _0x459f38=_0x15f081['parseFromString'](_0x449563,'text/xml');if(_0x459f38['querySelector']('parsererror')){_0x1fbafa['remove']();continue;}const _0x210621=_0x459f38['querySelector']('mujoco');if(!_0x210621){_0x1fbafa['remove']();continue;}const _0x87dff=Array['from'](_0x210621['childNodes']);for(const _0x336c7a of _0x87dff){if(_0x336c7a['nodeType']===Node['TEXT_NODE']||_0x336c7a['nodeType']===Node['COMMENT_NODE']||_0x336c7a['nodeType']===Node['PROCESSING_INSTRUCTION_NODE'])continue;const _0xc3acac=_0x5ce2b3['importNode'](_0x336c7a,!0x0);_0x1fbafa['parentNode']['insertBefore'](_0xc3acac,_0x1fbafa);}_0x1fbafa['remove']();}return new XMLSerializer()['serializeToString'](_0x5ce2b3);}static async['parse'](_0x13c6bc,_0x684fec=null,_0x13833a=null){const _0x37c83e=await this['processIncludes'](_0x13c6bc,_0x684fec,_0x13833a),_0x278b3f=new DOMParser()['parseFromString'](_0x37c83e,'text/xml'),_0x193e46=_0x278b3f['querySelector']('parsererror');if(_0x193e46)throw new Error('MJCF\x20XML\x20parsing\x20failed:\x20'+_0x193e46['textContent']);const _0x58fabc=new Qe();_0x58fabc['name']='mujoco_model';const {classDefaults:_0xab7888,rootDefaults:_0xc515ab}=this['parseDefaults'](_0x278b3f),_0x5d22a9=this['parseAssets'](_0x278b3f,_0xab7888,_0xc515ab),_0x40b7f0=this['parseMaterials'](_0x278b3f),_0x326f8f=_0x278b3f['querySelector']('worldbody');if(!_0x326f8f)throw new Error('MJCF\x20file\x20missing\x20worldbody\x20element');const _0x5f9c2d=_0x326f8f['querySelectorAll'](':scope\x20>\x20geom');if(_0x5f9c2d['length']>0x0){const _0x384f7a=new Ke('worldbody');_0x384f7a['userData']['isWorldbody']=!0x0;const _0x3e6da5=new Set();_0x5f9c2d['forEach']((_0x4a6271,_0x4a63ca)=>{const _0x197a52=this['getGeomInheritedProperties'](_0x4a6271,_0xab7888,_0xc515ab),_0x4cb838=_0x4a6271['getAttribute']('group'),_0x53b393=null!==_0x4cb838?parseInt(_0x4cb838):null!==_0x197a52['group']?_0x197a52['group']:0x0,_0x15670a=(_0x4a6271['getAttribute']('name')||'')['toLowerCase'](),_0x1cab7a=_0x4a6271['hasAttribute']('rgba')||null!==_0x197a52['rgba'],_0x2a349c=_0x4a6271['getAttribute']('mesh'),_0x5cb94a=_0x4a6271['getAttribute']('contype'),_0x4bded2=_0x4a6271['getAttribute']('conaffinity'),_0x442844=_0x4a6271['getAttribute']('density'),_0x474038=null!==_0x5cb94a?parseInt(_0x5cb94a):null!==_0x197a52['contype']?_0x197a52['contype']:null,_0x5d5b33=null!==_0x4bded2?parseInt(_0x4bded2):null!==_0x197a52['conaffinity']?_0x197a52['conaffinity']:null;null!==_0x442844?parseFloat(_0x442844):null!==_0x197a52['density']&&_0x197a52['density'];let _0x6db8ea=!0x1;if(_0x2a349c)if(0x0===_0x474038&&0x0===_0x5d5b33)_0x6db8ea=!0x1;else if(0x3===_0x53b393)_0x6db8ea=!0x0;else if(0x2===_0x53b393||0x1===_0x53b393)_0x6db8ea=!0x1;else if(_0x15670a['includes']('collision'))_0x6db8ea=!0x0;else if(_0x3e6da5['has'](_0x2a349c)){if(_0x1cab7a||0x0===_0x474038&&0x0===_0x5d5b33)return;_0x6db8ea=!0x0;}else _0x6db8ea=!0x1;else _0x6db8ea=!0x0;const _0x5aadc5=this['parseGeom'](_0x4a6271,_0x5d22a9);if(_0x5aadc5)if(_0x6db8ea){const _0x34b35f=new tt();_0x34b35f['geometry']=_0x5aadc5,_0x34b35f['name']=_0x4a6271['getAttribute']('name')||'worldbody_collision_'+_0x4a63ca,_0x34b35f['origin']=this['parseOrigin'](_0x4a6271),_0x384f7a['collisions']['push'](_0x34b35f);}else{_0x2a349c&&_0x3e6da5['add'](_0x2a349c);const _0x2ce00b=new et();_0x2ce00b['geometry']=_0x5aadc5,_0x2ce00b['name']=_0x4a6271['getAttribute']('name')||'worldbody_geom_'+_0x4a63ca,_0x2ce00b['origin']=this['parseOrigin'](_0x4a6271);let _0x49ba27=null;if(_0x4a6271['hasAttribute']('rgba')){const _0x256d23=_0x4a6271['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x256d23['length']>=0x3&&(_0x49ba27={'r':_0x256d23[0x0],'g':_0x256d23[0x1],'b':_0x256d23[0x2],'a':_0x256d23['length']>=0x4?_0x256d23[0x3]:0x1});}else _0x197a52['rgba']&&(_0x49ba27=_0x197a52['rgba']);_0x2ce00b['userData']={'group':_0x53b393,'hasRgba':_0x1cab7a||!!_0x49ba27,'rgba':_0x49ba27,'meshRef':_0x2a349c,'geomType':_0x4a6271['getAttribute']('type')||(_0x2a349c?'mesh':'box')},_0x384f7a['visuals']['push'](_0x2ce00b);}}),(_0x384f7a['visuals']['length']>0x0||_0x384f7a['collisions']['length']>0x0)&&_0x58fabc['addLink'](_0x384f7a);}const _0x129c8a=new Map();this['parseBodies'](_0x326f8f,null,_0x129c8a,_0x58fabc,null,_0x5d22a9,null,_0x40b7f0,_0xab7888,_0xc515ab),this['parseJoints'](_0x326f8f,_0x129c8a,_0x58fabc,null,_0xab7888),this['parseEquality'](_0x278b3f,_0x58fabc);if(_0x58fabc['links']['get']('worldbody'))_0x58fabc['rootLink']='worldbody';else{const _0x1c2371=Array['from'](_0x58fabc['links']['keys']())['filter'](_0xe8ac2b=>!Array['from'](_0x58fabc['joints']['values']())['some'](_0x1b99f3=>_0x1b99f3['child']===_0xe8ac2b));_0x1c2371['length']>0x0?_0x58fabc['rootLink']=_0x1c2371[0x0]:_0x58fabc['links']['size']>0x0&&(_0x58fabc['rootLink']=Array['from'](_0x58fabc['links']['keys']())[0x0]);}return await this['createThreeObject'](_0x58fabc,_0x684fec,_0x5d22a9),_0x58fabc;}static['parseAssets'](_0x2c6037,_0x348237=null,_0x47c213=null){const _0x4dfcec=new Map(),_0x5375bd=_0x2c6037['querySelector']('asset');if(!_0x5375bd)return _0x4dfcec;return _0x5375bd['querySelectorAll']('mesh')['forEach']((_0x2b920c,_0x51135e)=>{let _0x297032=_0x2b920c['getAttribute']('name');const _0x4643d2=_0x2b920c['getAttribute']('file'),_0x4146a5=_0x2b920c['getAttribute']('vertex'),_0x328fc6=_0x2b920c['getAttribute']('scale'),_0x2749a3=_0x2b920c['getAttribute']('class');let _0x14b07d=[0x1,0x1,0x1];if(_0x328fc6){const _0xa6c70a=_0x328fc6['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0xa6c70a['length']?_0x14b07d=[_0xa6c70a[0x0],_0xa6c70a[0x0],_0xa6c70a[0x0]]:0x3===_0xa6c70a['length']&&(_0x14b07d=_0xa6c70a);}else if(_0x2749a3&&_0x348237&&_0x348237['has'](_0x2749a3)){const _0x159db=_0x348237['get'](_0x2749a3);_0x159db['mesh']&&_0x159db['mesh']['scale']&&(_0x14b07d=_0x159db['mesh']['scale']);}else _0x47c213&&_0x47c213['mesh']&&_0x47c213['mesh']['scale']&&(_0x14b07d=_0x47c213['mesh']['scale']);if(_0x4146a5){_0x297032||(_0x297032='inline_mesh_'+_0x51135e);const _0x44a6c9=_0x4146a5['trim']()['split'](/\s+/)['map'](parseFloat),_0x542e34=new Float32Array(_0x44a6c9);_0x4dfcec['set'](_0x297032,{'type':'vertex','vertices':_0x542e34,'scale':_0x14b07d});}else{if(!_0x4643d2)return;if(!_0x297032){_0x297032=_0x4643d2['split']('/')['pop']()['split']('\x5c')['pop']()['split']('.')[0x0];}_0x4dfcec['set'](_0x297032,{'type':'file','path':_0x4643d2,'scale':_0x14b07d});}}),_0x4dfcec;}static['parseMaterials'](_0x341d90){const _0x17821a=new Map(),_0x559dd3=_0x341d90['querySelector']('asset');if(!_0x559dd3)return _0x17821a;return _0x559dd3['querySelectorAll']('material')['forEach'](_0x4924a0=>{const _0x58fd24=_0x4924a0['getAttribute']('name');if(!_0x58fd24)return;const _0x5f3dab={},_0x3f9a70=_0x4924a0['getAttribute']('rgba');if(_0x3f9a70){const _0x2bba14=_0x3f9a70['split']('\x20')['map'](parseFloat);_0x2bba14['length']>=0x3&&(_0x5f3dab['rgba']={'r':_0x2bba14[0x0],'g':_0x2bba14[0x1],'b':_0x2bba14[0x2],'a':_0x2bba14['length']>=0x4?_0x2bba14[0x3]:0x1});}const _0x5502cf=_0x4924a0['getAttribute']('specular');if(_0x5502cf){const _0x415ed3=_0x5502cf['split']('\x20')['map'](parseFloat);_0x5f3dab['specular']=_0x415ed3[0x0]||0.5;}const _0x5c581a=_0x4924a0['getAttribute']('shininess');_0x5c581a&&(_0x5f3dab['shininess']=parseFloat(_0x5c581a)),_0x17821a['set'](_0x58fd24,_0x5f3dab);}),_0x17821a;}static['parseDefaults'](_0x4966dc){const _0x2d2e44=new Map();let _0x1e2500={};const _0x316844=(_0x6dab64,_0x5d6052={})=>{const _0x576137=_0x6dab64['getAttribute']('class'),_0x45689f=JSON['parse'](JSON['stringify'](_0x5d6052||{})),_0x233e06=_0x6dab64['querySelector'](':scope\x20>\x20mesh');if(_0x233e06){_0x45689f['mesh']||(_0x45689f['mesh']={});const _0x4f4d78=_0x233e06['getAttribute']('scale');if(_0x4f4d78){const _0x5c6107=_0x4f4d78['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0x5c6107['length']?_0x45689f['mesh']['scale']=[_0x5c6107[0x0],_0x5c6107[0x0],_0x5c6107[0x0]]:0x3===_0x5c6107['length']&&(_0x45689f['mesh']['scale']=_0x5c6107);}}const _0x2e917c=_0x6dab64['querySelector'](':scope\x20>\x20joint');if(_0x2e917c){_0x45689f['joint']||(_0x45689f['joint']={});const _0xd01ffc=_0x2e917c['getAttribute']('axis');if(_0xd01ffc){const _0x167f66=_0xd01ffc['split']('\x20')['map'](parseFloat);_0x45689f['joint']['axis']=[_0x167f66[0x0]||0x0,_0x167f66[0x1]||0x0,_0x167f66[0x2]||0x0];}const _0x1a8d6d=_0x2e917c['getAttribute']('range');if(_0x1a8d6d){const _0x2e2760=_0x1a8d6d['split']('\x20')['map'](parseFloat);_0x45689f['joint']['range']=_0x2e2760;}const _0xf36ef5=_0x2e917c['getAttribute']('damping');_0xf36ef5&&(_0x45689f['joint']['damping']=parseFloat(_0xf36ef5));}const _0x318d48=_0x6dab64['querySelector'](':scope\x20>\x20geom');if(_0x318d48){_0x45689f['geom']||(_0x45689f['geom']={});const _0x4abb72=_0x318d48['getAttribute']('contype');null!==_0x4abb72&&(_0x45689f['geom']['contype']=parseInt(_0x4abb72));const _0x3e1cd5=_0x318d48['getAttribute']('conaffinity');null!==_0x3e1cd5&&(_0x45689f['geom']['conaffinity']=parseInt(_0x3e1cd5));const _0x5cfb73=_0x318d48['getAttribute']('group');null!==_0x5cfb73&&(_0x45689f['geom']['group']=parseInt(_0x5cfb73));const _0x224f79=_0x318d48['getAttribute']('rgba');if(_0x224f79){const _0x10635a=_0x224f79['split']('\x20')['map'](parseFloat);_0x10635a['length']>=0x3&&(_0x45689f['geom']['rgba']={'r':_0x10635a[0x0],'g':_0x10635a[0x1],'b':_0x10635a[0x2],'a':_0x10635a['length']>=0x4?_0x10635a[0x3]:0x1});}const _0x16edd7=_0x318d48['getAttribute']('material');_0x16edd7&&(_0x45689f['geom']['material']=_0x16edd7);const _0x706d22=_0x318d48['getAttribute']('type');_0x706d22&&(_0x45689f['geom']['type']=_0x706d22);const _0x36b1ac=_0x318d48['getAttribute']('density');null!==_0x36b1ac&&(_0x45689f['geom']['density']=parseFloat(_0x36b1ac));}_0x576137?_0x2d2e44['set'](_0x576137,_0x45689f):Object['assign'](_0x1e2500,_0x45689f);_0x6dab64['querySelectorAll'](':scope\x20>\x20default')['forEach'](_0x216777=>{_0x316844(_0x216777,_0x45689f);});};return _0x4966dc['querySelectorAll']('mujoco\x20>\x20default')['forEach'](_0x598488=>{_0x316844(_0x598488);}),{'classDefaults':_0x2d2e44,'rootDefaults':_0x1e2500};}static['getGeomInheritedProperties'](_0x424a63,_0x16e6d4,_0x2ee7f5){const _0x56ed5f={'contype':null,'conaffinity':null,'group':null,'rgba':null,'material':null,'type':null,'density':null};_0x2ee7f5&&_0x2ee7f5['geom']&&Object['assign'](_0x56ed5f,_0x2ee7f5['geom']);const _0x12aba8=_0x424a63['getAttribute']('class');if(_0x12aba8&&_0x16e6d4&&_0x16e6d4['has'](_0x12aba8)){const _0x4a07aa=_0x16e6d4['get'](_0x12aba8);_0x4a07aa['geom']&&Object['assign'](_0x56ed5f,_0x4a07aa['geom']);}return _0x56ed5f;}static['parseBodies'](_0x1432d5,_0x1111f1,_0x510d82,_0x194edd,_0x25aa4f=null,_0x5aeef8=null,_0x5a4c2e=null,_0x1e93af=null,_0x161ee0=null,_0x2b5847=null){_0x5a4c2e||(_0x5a4c2e={'totalGeoms':0x0,'skippedCollisionGeoms':0x0,'visualGeoms':0x0});_0x1432d5['querySelectorAll'](':scope\x20>\x20body')['forEach'](_0x54a206=>{const _0x3369d0=_0x54a206['getAttribute']('name')||'body_'+_0x510d82['size'],_0x5b63ce=new Ke(_0x3369d0);_0x1111f1&&(_0x5b63ce['userData']['parentName']=_0x1111f1);const _0x151c47=this['parseOrigin'](_0x54a206);_0x5b63ce['userData']['bodyOrigin']=_0x151c47;const _0x5c5aee=_0x54a206['querySelectorAll'](':scope\x20>\x20geom'),_0x14acc8=new Set();_0x5c5aee['forEach']((_0x3817e0,_0x28b44a)=>{_0x5a4c2e['totalGeoms']++;const _0x2cad32=this['getGeomInheritedProperties'](_0x3817e0,_0x161ee0,_0x2b5847),_0x50b1ec=_0x3817e0['getAttribute']('group'),_0x168c4d=null!==_0x50b1ec?parseInt(_0x50b1ec):null!==_0x2cad32['group']?_0x2cad32['group']:0x0,_0x39caa0=(_0x3817e0['getAttribute']('name')||'')['toLowerCase'](),_0x1a19fb=_0x3817e0['hasAttribute']('rgba')||null!==_0x2cad32['rgba'],_0x3d976b=_0x3817e0['getAttribute']('mesh'),_0x3cfc1b=_0x3817e0['getAttribute']('type')||_0x2cad32['type']||(_0x3d976b?'mesh':'box'),_0x5623cc=_0x3817e0['getAttribute']('contype'),_0x4d0753=_0x3817e0['getAttribute']('conaffinity'),_0x5ca8df=_0x3817e0['getAttribute']('density'),_0x3f113c=null!==_0x5623cc?parseInt(_0x5623cc):null!==_0x2cad32['contype']?_0x2cad32['contype']:null,_0x22036b=null!==_0x4d0753?parseInt(_0x4d0753):null!==_0x2cad32['conaffinity']?_0x2cad32['conaffinity']:null;null!==_0x5ca8df?parseFloat(_0x5ca8df):null!==_0x2cad32['density']&&_0x2cad32['density'];let _0x4ddbb1=!0x1;if(_0x3d976b)if(0x0===_0x3f113c&&0x0===_0x22036b)_0x4ddbb1=!0x1;else if(0x3===_0x168c4d)_0x4ddbb1=!0x0;else if(0x2===_0x168c4d||0x1===_0x168c4d)_0x4ddbb1=!0x1;else if(_0x39caa0['includes']('collision'))_0x4ddbb1=!0x0;else if(_0x14acc8['has'](_0x3d976b)){if(_0x1a19fb||0x0===_0x3f113c&&0x0===_0x22036b)return void _0x5a4c2e['skippedCollisionGeoms']++;_0x4ddbb1=!0x0;}else _0x4ddbb1=!0x1;else _0x4ddbb1=!0x0;const _0x5c300d=this['parseGeom'](_0x3817e0,_0x5aeef8);if(_0x5c300d)if(_0x4ddbb1){const _0x14005c=new tt();_0x14005c['geometry']=_0x5c300d,_0x14005c['name']=_0x3817e0['getAttribute']('name')||'collision_'+_0x28b44a,_0x14005c['origin']=this['parseOrigin'](_0x3817e0),_0x5b63ce['collisions']['push'](_0x14005c);}else{_0x5a4c2e['visualGeoms']++,_0x3d976b&&_0x14acc8['add'](_0x3d976b);const _0x14b1f9=new et();_0x14b1f9['geometry']=_0x5c300d,_0x14b1f9['name']=_0x3817e0['getAttribute']('name')||'geom_'+_0x28b44a,_0x14b1f9['origin']=this['parseOrigin'](_0x3817e0);let _0x58d5b1=null,_0x1e19a2=null;if(_0x3817e0['hasAttribute']('rgba')){const _0x1625b8=_0x3817e0['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x1625b8['length']>=0x3&&(_0x58d5b1={'r':_0x1625b8[0x0],'g':_0x1625b8[0x1],'b':_0x1625b8[0x2],'a':_0x1625b8['length']>=0x4?_0x1625b8[0x3]:0x1});}if(!_0x58d5b1&&_0x2cad32['rgba']&&(_0x58d5b1=_0x2cad32['rgba']),!_0x58d5b1&&_0x1e93af&&(_0x1e19a2=_0x3817e0['getAttribute']('material')||_0x2cad32['material'],_0x1e19a2&&_0x1e93af['has'](_0x1e19a2))){const _0x1ac006=_0x1e93af['get'](_0x1e19a2);_0x1ac006['rgba']&&(_0x58d5b1=_0x1ac006['rgba']);}_0x14b1f9['userData']={'group':_0x168c4d,'hasRgba':_0x1a19fb||!!_0x58d5b1,'rgba':_0x58d5b1,'materialName':_0x1e19a2,'meshRef':_0x3d976b,'geomType':_0x3cfc1b},_0x5b63ce['visuals']['push'](_0x14b1f9);}});const _0x1d1aa0=_0x54a206['querySelector'](':scope\x20>\x20inertial');_0x1d1aa0&&(_0x5b63ce['inertial']=this['parseInertial'](_0x1d1aa0)),_0x194edd['addLink'](_0x5b63ce),_0x510d82['set'](_0x3369d0,{'link':_0x5b63ce,'element':_0x54a206,'parentName':_0x1111f1}),this['parseBodies'](_0x54a206,_0x3369d0,_0x510d82,_0x194edd,_0x5b63ce,_0x5aeef8,_0x5a4c2e,_0x1e93af,_0x161ee0,_0x2b5847);});}static['parseGeom'](_0xb6e53,_0x3f7ac3=null){const _0x3c424e=_0xb6e53['getAttribute']('mesh');let _0x23a26a=_0xb6e53['getAttribute']('type');_0x3c424e&&!_0x23a26a&&(_0x23a26a='mesh'),_0x23a26a||(_0x23a26a='sphere');const _0x356aff=new nt(_0x23a26a);switch(_0x23a26a){case'box':const _0x460e5d=_0xb6e53['getAttribute']('size');if(_0x460e5d){const _0x153040=_0x460e5d['split']('\x20')['map'](parseFloat);_0x356aff['size']=0x1===_0x153040['length']?{'x':0x2*_0x153040[0x0],'y':0x2*_0x153040[0x0],'z':0x2*_0x153040[0x0]}:{'x':0x2*(_0x153040[0x0]||0.05),'y':0x2*(_0x153040[0x1]||0.05),'z':0x2*(_0x153040[0x2]||0.05)};}else _0x356aff['size']={'x':0.1,'y':0.1,'z':0.1};break;case'sphere':const _0x580b89=parseFloat(_0xb6e53['getAttribute']('size')||'0.1');_0x356aff['size']={'radius':_0x580b89};break;case'cylinder':case'capsule':const _0x29ec25=_0xb6e53['getAttribute']('fromto'),_0x4f52df=_0xb6e53['getAttribute']('size');if(_0x29ec25){const _0x415dbf=_0x29ec25['split']('\x20')['map'](parseFloat);if(_0x415dbf['length']>=0x6){const _0x189a76=new _0x5a7be3(_0x415dbf[0x0],_0x415dbf[0x1],_0x415dbf[0x2]),_0x278833=new _0x5a7be3(_0x415dbf[0x3],_0x415dbf[0x4],_0x415dbf[0x5]),_0x49c24f=new _0x5a7be3()['addVectors'](_0x189a76,_0x278833)['multiplyScalar'](0.5),_0x22001d=_0x189a76['distanceTo'](_0x278833),_0x239954=new _0x5a7be3()['subVectors'](_0x278833,_0x189a76)['normalize'](),_0xdb3c82=new _0x5a7be3(0x0,0x1,0x0),_0x17b35e=new _0x4adb8f()['setFromUnitVectors'](_0xdb3c82,_0x239954),_0xc8fba2=new _0x730a0a()['setFromQuaternion'](_0x17b35e);_0x356aff['fromto']={'p1':[_0x415dbf[0x0],_0x415dbf[0x1],_0x415dbf[0x2]],'p2':[_0x415dbf[0x3],_0x415dbf[0x4],_0x415dbf[0x5]],'center':[_0x49c24f['x'],_0x49c24f['y'],_0x49c24f['z']],'height':_0x22001d,'rpy':[_0xc8fba2['x'],_0xc8fba2['y'],_0xc8fba2['z']]};const _0x32162d=parseFloat(_0x4f52df||'0.01');_0x356aff['size']={'radius':_0x32162d,'height':_0x22001d};}}else if(_0x4f52df){const _0x185e36=_0x4f52df['split']('\x20')['map'](parseFloat);_0x356aff['size']={'radius':_0x185e36[0x0]||0.1,'height':0x2*(_0x185e36[0x1]||0.1)};}else _0x356aff['size']={'radius':0.01,'height':0.1};break;case'mesh':let _0x51226f=_0xb6e53['getAttribute']('mesh');if(_0x3f7ac3&&_0x3f7ac3['has'](_0x51226f)){const _0x1e9a3e=_0x3f7ac3['get'](_0x51226f);'file'===_0x1e9a3e['type']?(_0x356aff['filename']=_0x1e9a3e['path'],_0x1e9a3e['scale']&&(_0x356aff['meshScale']=_0x1e9a3e['scale'])):'vertex'===_0x1e9a3e['type']&&(_0x356aff['inlineVertices']=_0x1e9a3e['vertices'],_0x356aff['inlineScale']=_0x1e9a3e['scale']);}else _0x356aff['filename']=_0x51226f,_0x3f7ac3&&_0x3f7ac3['size'];_0x356aff['size']=null;}return _0x356aff;}static['parseOrigin'](_0x493726){const _0x3a79a5={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0x30ee13=_0x493726['getAttribute']('pos');if(_0x30ee13){const _0x50ec00=_0x30ee13['split']('\x20')['map'](parseFloat);_0x3a79a5['xyz']=[_0x50ec00[0x0]||0x0,_0x50ec00[0x1]||0x0,_0x50ec00[0x2]||0x0];}const _0x1be0c3=_0x493726['getAttribute']('quat');if(_0x1be0c3){const _0x2746c7=_0x1be0c3['split']('\x20')['map'](parseFloat),_0x481e06=_0x2746c7[0x0],_0x4a0443=_0x2746c7[0x1],_0x346719=_0x2746c7[0x2],_0x2d0c8c=_0x2746c7[0x3];_0x3a79a5['quat']={'w':_0x481e06,'x':_0x4a0443,'y':_0x346719,'z':_0x2d0c8c},_0x3a79a5['rpy']=this['quaternionToEuler'](_0x481e06,_0x4a0443,_0x346719,_0x2d0c8c);}else{const _0x36bf71=_0x493726['getAttribute']('euler');if(_0x36bf71){const _0xafb22e=_0x36bf71['split']('\x20')['map'](parseFloat);_0x3a79a5['rpy']=[_0xafb22e[0x0]||0x0,_0xafb22e[0x1]||0x0,_0xafb22e[0x2]||0x0];}}return _0x3a79a5;}static['quaternionToEuler'](_0x834faf,_0x142308,_0x217cf8,_0x2bb40d){const _0x531fc4=Math['sqrt'](_0x834faf*_0x834faf+_0x142308*_0x142308+_0x217cf8*_0x217cf8+_0x2bb40d*_0x2bb40d);_0x531fc4>0x0&&(_0x834faf/=_0x531fc4,_0x142308/=_0x531fc4,_0x217cf8/=_0x531fc4,_0x2bb40d/=_0x531fc4);const _0x156c2b=0x2*(_0x834faf*_0x142308+_0x217cf8*_0x2bb40d),_0x465510=0x1-0x2*(_0x142308*_0x142308+_0x217cf8*_0x217cf8),_0x2abc50=0x2*(_0x834faf*_0x217cf8-_0x2bb40d*_0x142308),_0x61e9b1=0x2*(_0x834faf*_0x2bb40d+_0x142308*_0x217cf8),_0x349c38=0x1-0x2*(_0x217cf8*_0x217cf8+_0x2bb40d*_0x2bb40d);return[Math['atan2'](_0x156c2b,_0x465510),Math['abs'](_0x2abc50)>=0x1?Math['sign'](_0x2abc50)*Math['PI']/0x2:Math['asin'](_0x2abc50),Math['atan2'](_0x61e9b1,_0x349c38)];}static['parseInertial'](_0x135256){const _0x26aa6=new it(),_0x43368f=_0x135256['getAttribute']('mass');_0x43368f&&(_0x26aa6['mass']=parseFloat(_0x43368f));const _0x2ec9c0=this['parseOrigin'](_0x135256);_0x26aa6['origin']=_0x2ec9c0;const _0xfd936d=_0x135256['getAttribute']('diaginertia'),_0x216365=_0x135256['getAttribute']('fullinertia');let _0x1f7b4a=0x0,_0x1542fc=0x0,_0x5ab34a=0x0,_0x5ab255=0x0,_0x4a78e8=0x0,_0x2f2f5f=0x0;if(_0xfd936d){const _0x5544ad=_0xfd936d['split']('\x20')['map'](parseFloat);_0x1f7b4a=_0x5544ad[0x0]||0x0,_0x1542fc=_0x5544ad[0x1]||0x0,_0x5ab34a=_0x5544ad[0x2]||0x0;}if(_0x216365){const _0x46e1b0=_0x216365['split']('\x20')['map'](parseFloat);_0x1f7b4a=_0x46e1b0[0x0]||0x0,_0x1542fc=_0x46e1b0[0x1]||0x0,_0x5ab34a=_0x46e1b0[0x2]||0x0,_0x5ab255=_0x46e1b0[0x3]||0x0,_0x4a78e8=_0x46e1b0[0x4]||0x0,_0x2f2f5f=_0x46e1b0[0x5]||0x0;}if(_0x26aa6['diagonalInertia']={'ixx':_0x1f7b4a,'iyy':_0x1542fc,'izz':_0x5ab34a},_0x2ec9c0['quat']){const _0x55673a=this['rotateInertiaTensor'](_0x1f7b4a,_0x1542fc,_0x5ab34a,_0x5ab255,_0x4a78e8,_0x2f2f5f,_0x2ec9c0['quat']);_0x1f7b4a=_0x55673a['ixx'],_0x1542fc=_0x55673a['iyy'],_0x5ab34a=_0x55673a['izz'],_0x5ab255=_0x55673a['ixy'],_0x4a78e8=_0x55673a['ixz'],_0x2f2f5f=_0x55673a['iyz'];}const _0x72537a=this['rotateInertiaAroundAxis'](_0x1f7b4a,_0x1542fc,_0x5ab34a,_0x5ab255,_0x4a78e8,_0x2f2f5f,'Y',0x5a),_0x200ab2=this['rotateInertiaAroundAxis'](_0x72537a['ixx'],_0x72537a['iyy'],_0x72537a['izz'],_0x72537a['ixy'],_0x72537a['ixz'],_0x72537a['iyz'],'Y',0x5a);return _0x26aa6['ixx']=_0x200ab2['ixx'],_0x26aa6['iyy']=_0x200ab2['iyy'],_0x26aa6['izz']=_0x200ab2['izz'],_0x26aa6['ixy']=_0x200ab2['ixy'],_0x26aa6['ixz']=_0x200ab2['ixz'],_0x26aa6['iyz']=_0x200ab2['iyz'],_0x26aa6;}static['rotateInertiaAroundAxis'](_0x101d10,_0x178c6f,_0x4d60f6,_0x18473c,_0x57fa81,_0x37f8d2,_0x1f1217,_0x53c268){const _0x4fc5f5=_0x53c268*Math['PI']/0xb4,_0x375fb6=Math['cos'](_0x4fc5f5),_0x5173a2=Math['sin'](_0x4fc5f5);let _0x53625c;'X'===_0x1f1217?_0x53625c=[[0x1,0x0,0x0],[0x0,_0x375fb6,-_0x5173a2],[0x0,_0x5173a2,_0x375fb6]]:'Y'===_0x1f1217?_0x53625c=[[_0x375fb6,0x0,_0x5173a2],[0x0,0x1,0x0],[-_0x5173a2,0x0,_0x375fb6]]:'Z'===_0x1f1217&&(_0x53625c=[[_0x375fb6,-_0x5173a2,0x0],[_0x5173a2,_0x375fb6,0x0],[0x0,0x0,0x1]]);const _0x379475=[[_0x101d10,_0x18473c,_0x57fa81],[_0x18473c,_0x178c6f,_0x37f8d2],[_0x57fa81,_0x37f8d2,_0x4d60f6]],_0x11964a=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0x4ee03d=0x0;_0x4ee03d<0x3;_0x4ee03d++)for(let _0x4d5da4=0x0;_0x4d5da4<0x3;_0x4d5da4++)for(let _0x3decaa=0x0;_0x3decaa<0x3;_0x3decaa++)_0x11964a[_0x4ee03d][_0x4d5da4]+=_0x53625c[_0x4ee03d][_0x3decaa]*_0x379475[_0x3decaa][_0x4d5da4];const _0x19aecd=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0x299506=0x0;_0x299506<0x3;_0x299506++)for(let _0x56f6f0=0x0;_0x56f6f0<0x3;_0x56f6f0++)for(let _0x1902d0=0x0;_0x1902d0<0x3;_0x1902d0++)_0x19aecd[_0x299506][_0x56f6f0]+=_0x11964a[_0x299506][_0x1902d0]*_0x53625c[_0x56f6f0][_0x1902d0];return{'ixx':_0x19aecd[0x0][0x0],'iyy':_0x19aecd[0x1][0x1],'izz':_0x19aecd[0x2][0x2],'ixy':_0x19aecd[0x0][0x1],'ixz':_0x19aecd[0x0][0x2],'iyz':_0x19aecd[0x1][0x2]};}static['rotateInertiaTensor'](_0x4d76ee,_0x40866f,_0x2f661c,_0x2c22ea,_0x3baf06,_0x44154f,_0x7b3124){const {w:_0xddb25f,x:_0x168354,y:_0x3ddb02,z:_0x4fea14}=_0x7b3124,_0x29299a=0x1-0x2*(_0x3ddb02*_0x3ddb02+_0x4fea14*_0x4fea14),_0x17e4da=0x2*(_0x168354*_0x3ddb02-_0xddb25f*_0x4fea14),_0x52ea3f=0x2*(_0x168354*_0x4fea14+_0xddb25f*_0x3ddb02),_0x1a562d=0x2*(_0x168354*_0x3ddb02+_0xddb25f*_0x4fea14),_0x2e922b=0x1-0x2*(_0x168354*_0x168354+_0x4fea14*_0x4fea14),_0x5d907c=0x2*(_0x3ddb02*_0x4fea14-_0xddb25f*_0x168354),_0xeee2b1=0x2*(_0x168354*_0x4fea14-_0xddb25f*_0x3ddb02),_0x5badbf=0x2*(_0x3ddb02*_0x4fea14+_0xddb25f*_0x168354),_0x49a608=0x1-0x2*(_0x168354*_0x168354+_0x3ddb02*_0x3ddb02),_0x3b54db=[[_0x4d76ee,_0x2c22ea,_0x3baf06],[_0x2c22ea,_0x40866f,_0x44154f],[_0x3baf06,_0x44154f,_0x2f661c]],_0x2cf7fc=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];_0x2cf7fc[0x0][0x0]=_0x29299a*_0x3b54db[0x0][0x0]+_0x17e4da*_0x3b54db[0x1][0x0]+_0x52ea3f*_0x3b54db[0x2][0x0],_0x2cf7fc[0x0][0x1]=_0x29299a*_0x3b54db[0x0][0x1]+_0x17e4da*_0x3b54db[0x1][0x1]+_0x52ea3f*_0x3b54db[0x2][0x1],_0x2cf7fc[0x0][0x2]=_0x29299a*_0x3b54db[0x0][0x2]+_0x17e4da*_0x3b54db[0x1][0x2]+_0x52ea3f*_0x3b54db[0x2][0x2],_0x2cf7fc[0x1][0x0]=_0x1a562d*_0x3b54db[0x0][0x0]+_0x2e922b*_0x3b54db[0x1][0x0]+_0x5d907c*_0x3b54db[0x2][0x0],_0x2cf7fc[0x1][0x1]=_0x1a562d*_0x3b54db[0x0][0x1]+_0x2e922b*_0x3b54db[0x1][0x1]+_0x5d907c*_0x3b54db[0x2][0x1],_0x2cf7fc[0x1][0x2]=_0x1a562d*_0x3b54db[0x0][0x2]+_0x2e922b*_0x3b54db[0x1][0x2]+_0x5d907c*_0x3b54db[0x2][0x2],_0x2cf7fc[0x2][0x0]=_0xeee2b1*_0x3b54db[0x0][0x0]+_0x5badbf*_0x3b54db[0x1][0x0]+_0x49a608*_0x3b54db[0x2][0x0],_0x2cf7fc[0x2][0x1]=_0xeee2b1*_0x3b54db[0x0][0x1]+_0x5badbf*_0x3b54db[0x1][0x1]+_0x49a608*_0x3b54db[0x2][0x1],_0x2cf7fc[0x2][0x2]=_0xeee2b1*_0x3b54db[0x0][0x2]+_0x5badbf*_0x3b54db[0x1][0x2]+_0x49a608*_0x3b54db[0x2][0x2];return{'ixx':_0x2cf7fc[0x0][0x0]*_0x29299a+_0x2cf7fc[0x0][0x1]*_0x17e4da+_0x2cf7fc[0x0][0x2]*_0x52ea3f,'iyy':_0x2cf7fc[0x1][0x0]*_0x1a562d+_0x2cf7fc[0x1][0x1]*_0x2e922b+_0x2cf7fc[0x1][0x2]*_0x5d907c,'izz':_0x2cf7fc[0x2][0x0]*_0xeee2b1+_0x2cf7fc[0x2][0x1]*_0x5badbf+_0x2cf7fc[0x2][0x2]*_0x49a608,'ixy':_0x2cf7fc[0x0][0x0]*_0x1a562d+_0x2cf7fc[0x0][0x1]*_0x2e922b+_0x2cf7fc[0x0][0x2]*_0x5d907c,'ixz':_0x2cf7fc[0x0][0x0]*_0xeee2b1+_0x2cf7fc[0x0][0x1]*_0x5badbf+_0x2cf7fc[0x0][0x2]*_0x49a608,'iyz':_0x2cf7fc[0x1][0x0]*_0xeee2b1+_0x2cf7fc[0x1][0x1]*_0x5badbf+_0x2cf7fc[0x1][0x2]*_0x49a608};}static['parseJoints'](_0xc725ea,_0x5640e8,_0x47024a,_0x8a9466=null,_0x9834a2=null){_0xc725ea['querySelectorAll'](':scope\x20>\x20joint')['forEach'](_0x28c4fb=>{const _0x2077f7=_0x28c4fb['getAttribute']('name')||'joint_'+_0x47024a['joints']['size'],_0x2c55b2=_0x28c4fb['getAttribute']('type')||'hinge';let _0x16cc0b='revolute';'slide'===_0x2c55b2?_0x16cc0b='prismatic':'free'===_0x2c55b2?_0x16cc0b='continuous':'ball'!==_0x2c55b2&&'hinge'!==_0x2c55b2||(_0x16cc0b='revolute');const _0x1dfc1f=new st(_0x2077f7,_0x16cc0b),_0x4364dd=(['free','ball']['includes'](_0x2c55b2),_0x28c4fb['parentElement']),_0x3e6131=_0x4364dd['getAttribute']('name');_0x1dfc1f['parent']=_0x8a9466||'worldbody',_0x3e6131&&(_0x1dfc1f['child']=_0x3e6131);let _0x4207b2=null;const _0x1f3d93=_0x28c4fb['getAttribute']('axis');if(_0x1f3d93)_0x4207b2=_0x1f3d93['split']('\x20')['map'](parseFloat);else{let _0x3c02ad=_0x28c4fb['getAttribute']('class');if(_0x3c02ad||(_0x3c02ad=_0x4364dd['getAttribute']('childclass')),_0x3c02ad&&_0x9834a2){const _0x104cae=_0x9834a2['get'](_0x3c02ad);_0x104cae&&_0x104cae['joint']&&_0x104cae['joint']['axis']&&(_0x4207b2=_0x104cae['joint']['axis']);}}_0x4207b2&&(_0x1dfc1f['axis']={'xyz':[_0x4207b2[0x0]||0x0,_0x4207b2[0x1]||0x0,_0x4207b2[0x2]||0x0]});let _0x416d7d=null;const _0x2f13a5=_0x28c4fb['getAttribute']('range');if(_0x2f13a5)_0x416d7d=_0x2f13a5['split']('\x20')['map'](parseFloat);else{let _0x41f0b2=_0x28c4fb['getAttribute']('class');if(_0x41f0b2||(_0x41f0b2=_0x4364dd['getAttribute']('childclass')),_0x41f0b2&&_0x9834a2){const _0x158f43=_0x9834a2['get'](_0x41f0b2);_0x158f43&&_0x158f43['joint']&&_0x158f43['joint']['range']&&(_0x416d7d=_0x158f43['joint']['range']);}}if(_0x416d7d&&_0x416d7d['length']>=0x2){const _0x5e4be3=new rt();_0x5e4be3['lower']=_0x416d7d[0x0],_0x5e4be3['upper']=_0x416d7d[0x1],_0x1dfc1f['limits']=_0x5e4be3;}_0x1dfc1f['origin']=this['parseOrigin'](_0x28c4fb),_0x47024a['addJoint'](_0x1dfc1f);});_0xc725ea['querySelectorAll'](':scope\x20>\x20freejoint')['forEach']((_0x5508b4,_0x54bfd3)=>{const _0x2215fe=_0x5508b4['getAttribute']('name')||'freejoint_'+_0x47024a['joints']['size'],_0x39d45c=new st(_0x2215fe,'continuous');_0x39d45c['type']='free';const _0x8d3c4c=_0x5508b4['parentElement']['getAttribute']('name');_0x39d45c['parent']=_0x8a9466||'worldbody',_0x8d3c4c&&(_0x39d45c['child']=_0x8d3c4c),_0x39d45c['origin']=this['parseOrigin'](_0x5508b4),_0x47024a['addJoint'](_0x39d45c);});const _0x296eec=_0xc725ea['querySelectorAll'](':scope\x20>\x20body'),_0x14d822=_0xc725ea['getAttribute']('name');_0x296eec['forEach'](_0x253d64=>{this['parseJoints'](_0x253d64,_0x5640e8,_0x47024a,_0x14d822||'worldbody',_0x9834a2);});}static['parseEquality'](_0x106507,_0x15508d){const _0x3c9ca7=_0x106507['querySelector']('equality');if(!_0x3c9ca7)return;_0x3c9ca7['querySelectorAll']('connect')['forEach']((_0x3f2a48,_0x5ccb49)=>{const _0x498d82=_0x3f2a48['getAttribute']('name')||'connect_'+_0x5ccb49,_0x244c67=new at(_0x498d82,'connect');_0x244c67['body1']=_0x3f2a48['getAttribute']('body1'),_0x244c67['body2']=_0x3f2a48['getAttribute']('body2');const _0x2e5862=_0x3f2a48['getAttribute']('anchor');_0x2e5862&&(_0x244c67['anchor']=_0x2e5862['trim']()['split'](/\s+/)['map'](parseFloat));const _0x1dc17b=_0x3f2a48['getAttribute']('torquescale');_0x1dc17b&&(_0x244c67['torquescale']=parseFloat(_0x1dc17b)),_0x244c67['userData']={'body1':_0x244c67['body1'],'body2':_0x244c67['body2'],'anchor':_0x244c67['anchor']},_0x15508d['addConstraint'](_0x244c67);});_0x3c9ca7['querySelectorAll']('weld')['forEach']((_0x3541d,_0x2be876)=>{const _0x25565a=_0x3541d['getAttribute']('name')||'weld_'+_0x2be876,_0x3220bd=new at(_0x25565a,'weld');_0x3220bd['body1']=_0x3541d['getAttribute']('body1'),_0x3220bd['body2']=_0x3541d['getAttribute']('body2');const _0x13865f=_0x3541d['getAttribute']('anchor');_0x13865f&&(_0x3220bd['anchor']=_0x13865f['trim']()['split'](/\s+/)['map'](parseFloat));const _0x401bda=_0x3541d['getAttribute']('torquescale');_0x401bda&&(_0x3220bd['torquescale']=parseFloat(_0x401bda)),_0x3220bd['userData']={'body1':_0x3220bd['body1'],'body2':_0x3220bd['body2'],'anchor':_0x3220bd['anchor']},_0x15508d['addConstraint'](_0x3220bd);});_0x3c9ca7['querySelectorAll']('joint')['forEach']((_0xc80575,_0x4a8d0e)=>{const _0x3a752a=_0xc80575['getAttribute']('name')||'joint_constraint_'+_0x4a8d0e,_0x5e5dfd=new at(_0x3a752a,'joint');_0x5e5dfd['joint1']=_0xc80575['getAttribute']('joint1'),_0x5e5dfd['joint2']=_0xc80575['getAttribute']('joint2');const _0x2af83f=_0xc80575['getAttribute']('polycoef');_0x5e5dfd['polycoef']=_0x2af83f?_0x2af83f['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x1],_0x5e5dfd['userData']={'joint1':_0x5e5dfd['joint1'],'joint2':_0x5e5dfd['joint2'],'polycoef':_0x5e5dfd['polycoef']},_0x15508d['addConstraint'](_0x5e5dfd);});_0x3c9ca7['querySelectorAll']('distance')['forEach']((_0x26168b,_0x27ce9a)=>{const _0x26035d=_0x26168b['getAttribute']('name')||'distance_'+_0x27ce9a,_0x37ee10=new at(_0x26035d,'distance');_0x37ee10['body1']=_0x26168b['getAttribute']('body1'),_0x37ee10['body2']=_0x26168b['getAttribute']('body2'),_0x37ee10['userData']={'body1':_0x37ee10['body1'],'body2':_0x37ee10['body2']},_0x15508d['addConstraint'](_0x37ee10);});}static async['createThreeObject'](_0x1b3d6e,_0x5994e0=null,_0x2e1f28=null){await xt();const _0x592dc8=new _0x2474d6();_0x592dc8['name']=_0x1b3d6e['name'];const _0x29b067=new Map(),_0x404893=new Set();for(const [_0x3247a1,_0x2de576]of _0x1b3d6e['links'])for(const _0x47c653 of _0x2de576['visuals'])'mesh'===_0x47c653['geometry']['type']&&_0x47c653['geometry']['filename']&&_0x404893['add'](_0x47c653['geometry']['filename']);const _0x5e729a=Array['from'](_0x404893)['map'](_0x1603b9=>this['loadMeshFile'](_0x1603b9,_0x5994e0)['catch'](_0x23a9dd=>null)),_0x1a78e6=await Promise['all'](_0x5e729a),_0x202f66=new Map();let _0x29f45f=0x0;for(const _0x16d27f of _0x404893){const _0x31e177=_0x1a78e6[_0x29f45f++];_0x202f66['set'](_0x16d27f,_0x31e177);}for(const [_0x280631,_0x3d45c4]of _0x1b3d6e['links']){const _0x409fd3=new _0x2474d6();_0x409fd3['name']=_0x280631,_0x409fd3['isURDFLink']=!0x0,_0x409fd3['type']='URDFLink';let _0x4a69d6=0x0;for(const _0x34ffbd of _0x3d45c4['visuals']){const _0x3cfe7a=await this['createGeometryMesh'](_0x34ffbd['geometry'],_0x5994e0,_0x202f66);if(_0x3cfe7a){if(_0x34ffbd['geometry']&&_0x34ffbd['geometry']['fromto']){_0x3cfe7a['position']['set'](..._0x34ffbd['geometry']['fromto']['center']);const _0x8fd88f=_0x34ffbd['geometry']['fromto']['rpy'];_0x3cfe7a['rotation']['set'](_0x8fd88f[0x0]+_0x34ffbd['origin']['rpy'][0x0],_0x8fd88f[0x1]+_0x34ffbd['origin']['rpy'][0x1],_0x8fd88f[0x2]+_0x34ffbd['origin']['rpy'][0x2]);}else _0x3cfe7a['position']['set'](..._0x34ffbd['origin']['xyz']),_0x3cfe7a['rotation']['set'](..._0x34ffbd['origin']['rpy']);if(_0x3cfe7a['name']=_0x34ffbd['name']||'visual',_0x34ffbd['userData']&&_0x34ffbd['userData']['rgba']){const _0x545eeb=_0x34ffbd['userData']['rgba'],_0x53d255=new _0x43a4f1(_0x545eeb['r'],_0x545eeb['g'],_0x545eeb['b']);_0x3cfe7a['traverse'](_0x42884e=>{if(_0x42884e['isMesh']&&_0x42884e['material'])if(Array['isArray'](_0x42884e['material']))_0x42884e['material']=_0x42884e['material']['map'](_0x14275b=>{const _0x2340fd=_0x14275b['clone']();if(_0x2340fd['color']=_0x53d255,_0x545eeb['a']<0x1&&(_0x2340fd['transparent']=!0x0,_0x2340fd['opacity']=_0x545eeb['a']),_0x2340fd['isMeshPhongMaterial']||_0x2340fd['isMeshStandardMaterial']){if(void 0x0===_0x2340fd['userData']['originalShininess'])if(_0x2340fd['userData']['originalShininess']=void 0x0!==_0x2340fd['shininess']?_0x2340fd['shininess']:0x1e,_0x2340fd['specular'])if(_0x2340fd['specular']['isColor']){const _0xe1fc9e=_0x2340fd['specular'];_0xe1fc9e['r']<0.1&&_0xe1fc9e['g']<0.1&&_0xe1fc9e['b']<0.1?_0x2340fd['userData']['originalSpecular']=null:_0x2340fd['userData']['originalSpecular']=_0xe1fc9e['clone']();}else'number'==typeof _0x2340fd['specular']?0x111111===_0x2340fd['specular']||_0x2340fd['specular']<0x111111?_0x2340fd['userData']['originalSpecular']=null:_0x2340fd['userData']['originalSpecular']=new _0x43a4f1(_0x2340fd['specular']):_0x2340fd['userData']['originalSpecular']=null;else _0x2340fd['userData']['originalSpecular']=null;(void 0x0===_0x2340fd['shininess']||_0x2340fd['shininess']<0x32)&&(_0x2340fd['shininess']=0x32),(!_0x2340fd['specular']||_0x2340fd['specular']['isColor']&&_0x2340fd['specular']['r']<0.2||'number'==typeof _0x2340fd['specular']&&_0x2340fd['specular']<0x333333)&&(_0x2340fd['specular']=new _0x43a4f1(0.3,0.3,0.3));}return _0x2340fd;});else if(_0x42884e['material']=_0x42884e['material']['clone'](),_0x42884e['material']['color']=_0x53d255,_0x545eeb['a']<0x1&&(_0x42884e['material']['transparent']=!0x0,_0x42884e['material']['opacity']=_0x545eeb['a']),_0x42884e['material']['isMeshPhongMaterial']||_0x42884e['material']['isMeshStandardMaterial']){if(void 0x0===_0x42884e['material']['userData']['originalShininess'])if(_0x42884e['material']['userData']['originalShininess']=void 0x0!==_0x42884e['material']['shininess']?_0x42884e['material']['shininess']:0x1e,_0x42884e['material']['specular'])if(_0x42884e['material']['specular']['isColor']){const _0x297b01=_0x42884e['material']['specular'];_0x297b01['r']<0.1&&_0x297b01['g']<0.1&&_0x297b01['b']<0.1?_0x42884e['material']['userData']['originalSpecular']=null:_0x42884e['material']['userData']['originalSpecular']=_0x297b01['clone']();}else'number'==typeof _0x42884e['material']['specular']?0x111111===_0x42884e['material']['specular']||_0x42884e['material']['specular']<0x111111?_0x42884e['material']['userData']['originalSpecular']=null:_0x42884e['material']['userData']['originalSpecular']=new _0x43a4f1(_0x42884e['material']['specular']):_0x42884e['material']['userData']['originalSpecular']=null;else _0x42884e['material']['userData']['originalSpecular']=null;(void 0x0===_0x42884e['material']['shininess']||_0x42884e['material']['shininess']<0x32)&&(_0x42884e['material']['shininess']=0x32),(!_0x42884e['material']['specular']||_0x42884e['material']['specular']['isColor']&&_0x42884e['material']['specular']['r']<0.2||'number'==typeof _0x42884e['material']['specular']&&_0x42884e['material']['specular']<0x333333)&&(_0x42884e['material']['specular']=new _0x43a4f1(0.3,0.3,0.3));}});}_0x409fd3['add'](_0x3cfe7a),_0x34ffbd['threeObject']=_0x3cfe7a;}}for(const _0x425337 of _0x3d45c4['collisions']){const _0x432ad7=await this['createGeometryMesh'](_0x425337['geometry'],_0x5994e0,_0x202f66);if(_0x432ad7){if(_0x425337['geometry']&&_0x425337['geometry']['fromto']){_0x432ad7['position']['set'](..._0x425337['geometry']['fromto']['center']);const _0x4de0c4=_0x425337['geometry']['fromto']['rpy'];_0x432ad7['rotation']['set'](_0x4de0c4[0x0]+_0x425337['origin']['rpy'][0x0],_0x4de0c4[0x1]+_0x425337['origin']['rpy'][0x1],_0x4de0c4[0x2]+_0x425337['origin']['rpy'][0x2]);}else _0x432ad7['position']['set'](..._0x425337['origin']['xyz']),_0x432ad7['rotation']['set'](..._0x425337['origin']['rpy']);_0x432ad7['name']=_0x425337['name']||'collision';const _0x4f8c0f=new _0x2474d6();_0x4f8c0f['name']=_0x280631+'_collider_'+_0x4a69d6,_0x4f8c0f['isURDFCollider']=!0x0,_0x4f8c0f['add'](_0x432ad7),_0x409fd3['add'](_0x4f8c0f),_0x425337['threeObject']=_0x4f8c0f,_0x4a69d6++;}}_0x3d45c4['threeObject']=_0x409fd3,_0x29b067['set'](_0x280631,_0x409fd3);}const _0x44305c=new Map();for(const [_0x3226a6,_0x34f777]of _0x1b3d6e['links'])_0x44305c['set'](_0x3226a6,{'link':_0x34f777,'parentName':_0x34f777['userData']['parentName']});const _0x5d87bc=Array['from'](_0x1b3d6e['links']['keys']())['filter'](_0x2920df=>!_0x44305c['get'](_0x2920df)['parentName']);function _0x36c728(_0x263802,_0x577857){const _0x58f75b=_0x29b067['get'](_0x263802);if(!_0x58f75b)return;_0x577857['add'](_0x58f75b);Array['from'](_0x1b3d6e['joints']['values']())['filter'](_0x4085f8=>_0x4085f8['parent']===_0x263802&&_0x4085f8['child'])['forEach'](_0xebdde9=>{const _0xfea206=_0xebdde9['child'];if(!_0xfea206)return;const _0x3ec9fd=_0x1b3d6e['links']['get'](_0xfea206)['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0x3e0efa=new _0x2474d6();if(_0x3e0efa['name']=_0xebdde9['name']||'joint_'+_0xfea206,_0x3e0efa['isURDFJoint']=!0x0,_0x3e0efa['type']='URDFJoint',_0x3e0efa['jointType']=_0xebdde9['type'],_0xebdde9['axis']&&_0xebdde9['axis']['xyz']){const _0x113404=_0xebdde9['axis']['xyz'];_0x3e0efa['axis']=new _0x5a7be3(_0x113404[0x0],_0x113404[0x1],_0x113404[0x2])['normalize']();}else _0x3e0efa['axis']=new _0x5a7be3(0x0,0x1,0x0);_0x3e0efa['position']['set'](_0x3ec9fd['xyz'][0x0]+_0xebdde9['origin']['xyz'][0x0],_0x3ec9fd['xyz'][0x1]+_0xebdde9['origin']['xyz'][0x1],_0x3ec9fd['xyz'][0x2]+_0xebdde9['origin']['xyz'][0x2]),_0x3e0efa['rotation']['set'](..._0x3ec9fd['rpy']),_0x36c728(_0xfea206,_0x3e0efa),_0x58f75b['add'](_0x3e0efa),_0xebdde9['threeObject']=_0x3e0efa;});for(const [_0x880e51,_0x1a4239]of _0x44305c['entries']())if(_0x1a4239['parentName']===_0x263802){if(!Array['from'](_0x1b3d6e['joints']['values']())['some'](_0x17c740=>_0x17c740['parent']===_0x263802&&_0x17c740['child']===_0x880e51)){const _0x1bf927=_0x1b3d6e['links']['get'](_0x880e51),_0x4ecf91=_0x1bf927['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};_0x1bf927['userData']['isFixedConnection']=!0x0;const _0x3c6ec4=new _0x2474d6();_0x3c6ec4['position']['set'](..._0x4ecf91['xyz']),_0x3c6ec4['rotation']['set'](..._0x4ecf91['rpy']),_0x36c728(_0x880e51,_0x3c6ec4),_0x58f75b['add'](_0x3c6ec4);}}}if(_0x5d87bc['length']>0x0)_0x5d87bc['forEach'](_0x45cc12=>{const _0x4d962a=_0x1b3d6e['links']['get'](_0x45cc12),_0x5ef33b=_0x29b067['get'](_0x45cc12);_0x4d962a['userData']['bodyOrigin']&&(_0x5ef33b['position']['set'](..._0x4d962a['userData']['bodyOrigin']['xyz']),_0x5ef33b['rotation']['set'](..._0x4d962a['userData']['bodyOrigin']['rpy'])),_0x36c728(_0x45cc12,_0x592dc8);});else if(_0x1b3d6e['links']['size']>0x0){const _0x21a914=Array['from'](_0x1b3d6e['links']['keys']())[0x0],_0x33eb4f=_0x1b3d6e['links']['get'](_0x21a914),_0x3b97fb=_0x29b067['get'](_0x21a914);_0x33eb4f['userData']['bodyOrigin']&&(_0x3b97fb['position']['set'](..._0x33eb4f['userData']['bodyOrigin']['xyz']),_0x3b97fb['rotation']['set'](..._0x33eb4f['userData']['bodyOrigin']['rpy'])),_0x36c728(_0x21a914,_0x592dc8);}_0x1b3d6e['threeObject']=_0x592dc8,_0x592dc8['userData']||(_0x592dc8['userData']={}),_0x592dc8['userData']['type']='mjcf',_0x1b3d6e['userData']||(_0x1b3d6e['userData']={}),_0x1b3d6e['userData']['type']='mjcf';}static async['createGeometryMesh'](_0x4af58c,_0x9e0044=null,_0x587bc7=null){var _0x2d60df,_0x1d3f82,_0x33915c;let _0x5a2f57=null;switch(_0x4af58c['type']){case'box':_0x4af58c['size']&&(_0x5a2f57=new _0x1b40f5(_0x4af58c['size']['x'],_0x4af58c['size']['y'],_0x4af58c['size']['z']));break;case'sphere':_0x4af58c['size']&&_0x4af58c['size']['radius']&&(_0x5a2f57=new _0x401a16(_0x4af58c['size']['radius'],0x20,0x20));break;case'cylinder':_0x4af58c['size']&&(_0x5a2f57=new _0x201dad(_0x4af58c['size']['radius'],_0x4af58c['size']['radius'],_0x4af58c['size']['height'],0x20),_0x5a2f57['rotateX'](Math['PI']/0x2));break;case'capsule':if(_0x4af58c['size']){const {radius:_0x367bab,height:_0x5c28ab}=_0x4af58c['size'];if(void 0x0!==_0x146bda)_0x5a2f57=new _0x146bda(_0x367bab,_0x5c28ab,0x4,0x10),_0x5a2f57['rotateX'](Math['PI']/0x2);else{const _0x3deca1=Math['max'](0x0,_0x5c28ab-0x2*_0x367bab),_0xb03c74=new _0x201dad(_0x367bab,_0x367bab,_0x3deca1,0x10);_0xb03c74['rotateX'](Math['PI']/0x2),_0x5a2f57=_0xb03c74;}}break;case'mesh':if(!_0x4af58c['filename'])return null;{let _0x53e7dc=null;if(_0x587bc7&&_0x587bc7['has'](_0x4af58c['filename'])?_0x53e7dc=_0x587bc7['get'](_0x4af58c['filename']):_0x9e0044&&(_0x53e7dc=await this['loadMeshFile'](_0x4af58c['filename'],_0x9e0044)),!_0x53e7dc)return null;if(_0x53e7dc['isGroup']||_0x53e7dc['isObject3D']){if(_0x5a2f57=_0x53e7dc['clone'](!0x0),_0x4af58c['meshScale']){const [_0x2f33ce,_0x4b7e14,_0x1d73b0]=_0x4af58c['meshScale'];_0x5a2f57['scale']['set'](_0x2f33ce,_0x4b7e14,_0x1d73b0);}return _0x5a2f57['traverse'](_0x98ba8f=>{_0x98ba8f['isMesh']&&_0x98ba8f['material'];}),Mt(_0x5a2f57),_0x5a2f57;}if(_0x4af58c['meshScale']){const [_0x442932,_0x92683b,_0x3e74b9]=_0x4af58c['meshScale'];_0x5a2f57=_0x53e7dc['clone'](),_0x5a2f57['scale'](_0x442932,_0x92683b,_0x3e74b9);}else _0x5a2f57=_0x53e7dc;}}if(!_0x5a2f57)return null;const _0xdb309b='undefined'!=typeof window&&(null==(_0x33915c=null==(_0x1d3f82=null==(_0x2d60df=window['app'])?void 0x0:_0x2d60df['sceneManager'])?void 0x0:_0x1d3f82['environmentManager'])?void 0x0:_0x33915c['getEnvironmentMap']()),_0x3a4f6d=new _0xa87e13({'color':0xf0f0f0,'shininess':0x32,'specular':new _0x43a4f1(0.3,0.3,0.3),'envMap':_0xdb309b||null,'reflectivity':_0xdb309b?0.3:0x0});return _0x3a4f6d['userData']['originalShininess']=0x1e,_0x3a4f6d['userData']['originalSpecular']=null,new _0x3d1069(_0x5a2f57,_0x3a4f6d);}static async['loadMeshFile'](_0x446ce8,_0x50d049){return async function(_0x379dcb,_0x4dd68d){try{let _0x33172d=bt(_0x379dcb,_0x4dd68d);const _0x50e843=mt(_0x379dcb);if(!_0x33172d&&!_0x50e843['includes']('.')){const _0x2c0bc5=['.stl','.obj','.dae','.gltf','.glb'];for(const _0x9a2306 of _0x2c0bc5)if(_0x33172d=bt(_0x50e843+_0x9a2306,_0x4dd68d),_0x33172d)break;}if(!_0x33172d)return null;const _0x12df9a=_0x33172d['name']?_0x33172d['name']['toLowerCase']()['split']('.')['pop']():_0x379dcb['toLowerCase']()['split']('.')['pop'](),_0x20c2a1=URL['createObjectURL'](_0x33172d);try{const _0x503ae3=await xt();let _0x11f6a2=null;switch(_0x12df9a){case'stl':_0x11f6a2=await new Promise((_0x12d98e,_0x33eb48)=>{_0x503ae3['STLLoader']['load'](_0x20c2a1,_0x12d98e,void 0x0,_0x33eb48);});break;case'obj':const _0x29ac42=_0x33172d['name']['replace'](/\.obj$/i,'.mtl'),_0x56c8cd=Array['from'](_0x4dd68d['values']())['find'](_0x46f477=>_0x46f477['name']&&_0x46f477['name']['toLowerCase']()===_0x29ac42['toLowerCase']());if(_0x56c8cd)try{const _0x16423f=URL['createObjectURL'](_0x56c8cd),_0x32300d=await new Promise((_0x589eac,_0x346902)=>{_0x503ae3['MTLLoader']['load'](_0x16423f,_0x589eac,void 0x0,_0x346902);});URL['revokeObjectURL'](_0x16423f),_0x32300d['preload'](),_0x503ae3['OBJLoader']['setMaterials'](_0x32300d);}catch(_0xa1953f){}_0x11f6a2=await new Promise((_0x172349,_0x2b289d)=>{_0x503ae3['OBJLoader']['load'](_0x20c2a1,_0x172349,void 0x0,_0x2b289d);}),_0x503ae3['OBJLoader']['setMaterials'](null);break;case'dae':const _0x511bca=await new Promise((_0x1ed5f3,_0x3b765e)=>{_0x503ae3['ColladaLoader']['load'](_0x20c2a1,_0x1ed5f3,void 0x0,_0x3b765e);});_0x11f6a2=_0x511bca?_0x511bca['scene']:null;break;case'gltf':case'glb':const _0x238d98=await new Promise((_0x38491d,_0x50318d)=>{_0x503ae3['GLTFLoader']['load'](_0x20c2a1,_0x38491d,void 0x0,_0x50318d);});_0x11f6a2=_0x238d98?_0x238d98['scene']:null;break;default:return URL['revokeObjectURL'](_0x20c2a1),null;}return URL['revokeObjectURL'](_0x20c2a1),_0x11f6a2&&(_0x11f6a2['isGroup']||_0x11f6a2['isObject3D']||_0x11f6a2['isScene'])&&Mt(_0x11f6a2),_0x11f6a2;}catch(_0x1bc625){return URL['revokeObjectURL'](_0x20c2a1),null;}}catch(_0x1c100b){return null;}}(_0x446ce8,_0x50d049);}static['setJointAngle'](_0x559065,_0x50eee1){if(_0x559065['currentValue']=_0x50eee1,_0x559065['threeObject'])if('revolute'===_0x559065['type']||'continuous'===_0x559065['type']){let _0x5eec53;if(_0x559065['threeObject']['axis'])_0x5eec53=_0x559065['threeObject']['axis']['clone']()['normalize']();else{if(!_0x559065['axis']||!_0x559065['axis']['xyz'])return;{const _0x14b316=_0x559065['axis']['xyz'];_0x5eec53=new _0x5a7be3(_0x14b316[0x0],_0x14b316[0x2],-_0x14b316[0x1])['normalize']();}}_0x559065['threeObject']['userData']['initialQuaternion']||(_0x559065['threeObject']['userData']['initialQuaternion']=_0x559065['threeObject']['quaternion']['clone']());const _0x40186f=new _0x4adb8f();_0x40186f['setFromAxisAngle'](_0x5eec53,_0x50eee1),_0x559065['threeObject']['quaternion']['copy'](_0x559065['threeObject']['userData']['initialQuaternion']),_0x559065['threeObject']['quaternion']['multiply'](_0x40186f),_0x559065['threeObject']['updateMatrixWorld'](!0x0);}else if('prismatic'===_0x559065['type']){let _0x4953cd;if(_0x559065['threeObject']['axis'])_0x4953cd=_0x559065['threeObject']['axis']['clone']()['normalize']();else{if(!_0x559065['axis']||!_0x559065['axis']['xyz'])return;{const _0x2129f7=_0x559065['axis']['xyz'];_0x4953cd=new _0x5a7be3(_0x2129f7[0x0],_0x2129f7[0x2],-_0x2129f7[0x1])['normalize']();}}_0x559065['threeObject']['userData']['initialPosition']||(_0x559065['threeObject']['userData']['initialPosition']=_0x559065['threeObject']['position']['clone']()),_0x559065['threeObject']['position']['copy'](_0x559065['threeObject']['userData']['initialPosition']),_0x559065['threeObject']['position']['addScaledVector'](_0x4953cd,_0x50eee1),_0x559065['threeObject']['updateMatrixWorld'](!0x0);}}}class St{static async['parse'](_0x15f59b,_0x363310=null,_0x71911a=null,_0x23ad27={}){if(!_0x23ad27['usdViewerManager'])throw new Error('USD\x20viewer\x20not\x20initialized');return await this['parseWithWASM'](_0x71911a,_0x363310,_0x23ad27['usdViewerManager']);}static async['parseWithWASM'](_0x32de65,_0x31cd95=null,_0x442bae){try{if(_0x31cd95&&_0x31cd95['size']>0x1){const _0x2b534a={};for(const [_0x22629a,_0x1d5fef]of _0x31cd95['entries']())_0x2b534a[_0x22629a]=_0x1d5fef;let _0x5296ad=_0x32de65['name'];for(const [_0x3bb655,_0x304208]of _0x31cd95['entries']())if(_0x3bb655['endsWith'](_0x32de65['name'])&&!_0x3bb655['includes']('/.thumbs/')&&!_0x3bb655['includes']('/Props/')){_0x5296ad=_0x3bb655;break;}await _0x442bae['loadFromFilesMap'](_0x2b534a,_0x5296ad);}else await _0x442bae['loadFromFile'](_0x32de65);const _0x2d2f62=new Qe();return _0x2d2f62['name']=_0x32de65['name']['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x2d2f62['userData']=_0x2d2f62['userData']||{},_0x2d2f62['userData']['isUSDWASM']=!0x0,_0x2d2f62['userData']['usdViewerManager']=_0x442bae,_0x2d2f62;}catch(_0x343017){throw _0x343017;}}static async['parseUSDZ_OLD'](_0xe45517,_0x2eec2c=null){const {USDZLoader:_0x480abd}=await Ae(()=>import('./USDZLoader-64197f74.js'),["./USDZLoader-64197f74.js","./three-9c891de0.js"],import.meta.url),_0xdc3632=new _0x480abd(),_0x4a35fb=URL['createObjectURL'](_0xe45517);try{const _0x20b780=await new Promise((_0x5900c2,_0x37d66c)=>{_0xdc3632['load'](_0x4a35fb,_0x4b75fa=>{_0x5900c2(_0x4b75fa);},void 0x0,_0x3f6f8=>{_0x37d66c(_0x3f6f8);});});return URL['revokeObjectURL'](_0x4a35fb),this['convertThreeGroupToModel'](_0x20b780,_0xe45517['name']);}catch(_0x5a3d3c){throw URL['revokeObjectURL'](_0x4a35fb),_0x5a3d3c;}}static['convertThreeGroupToModel'](_0x2fa1ab,_0x24f8d4){const _0x305751=new Qe();_0x305751['name']=_0x24f8d4['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x305751['threeObject']=_0x2fa1ab;let _0xa920a0=0x0;return _0x2fa1ab['traverse'](_0x2cab2f=>{if(_0x2cab2f['isMesh']||_0x2cab2f['isGroup']){const _0x2de57f=_0x2cab2f['name']||'link_'+_0xa920a0++,_0x2a20f5=new Ke(_0x2de57f);if(_0x2a20f5['threeObject']=_0x2cab2f,_0x2cab2f['isMesh']){const _0x51af7e=new et();_0x51af7e['name']=_0x2cab2f['name']||_0x2de57f,_0x51af7e['threeObject']=_0x2cab2f,_0x2cab2f['geometry']&&(_0x51af7e['geometry']=this['extractGeometryInfo'](_0x2cab2f['geometry'])),_0x2a20f5['visuals']['push'](_0x51af7e);}_0x305751['addLink'](_0x2a20f5);}}),_0x305751;}static['extractGeometryInfo'](_0x2e6d51){var _0x274cde,_0x5f016b,_0x1cd029,_0x1dd3b2,_0xc13022,_0x5e2e8c;const _0x366d8d=new nt('mesh');return'BoxGeometry'===_0x2e6d51['type']?(_0x366d8d['type']='box',_0x366d8d['size']={'x':(null==(_0x274cde=_0x2e6d51['parameters'])?void 0x0:_0x274cde['width'])||0x1,'y':(null==(_0x5f016b=_0x2e6d51['parameters'])?void 0x0:_0x5f016b['height'])||0x1,'z':(null==(_0x1cd029=_0x2e6d51['parameters'])?void 0x0:_0x1cd029['depth'])||0x1}):'SphereGeometry'===_0x2e6d51['type']?(_0x366d8d['type']='sphere',_0x366d8d['size']={'radius':(null==(_0x1dd3b2=_0x2e6d51['parameters'])?void 0x0:_0x1dd3b2['radius'])||0.5}):'CylinderGeometry'===_0x2e6d51['type']&&(_0x366d8d['type']='cylinder',_0x366d8d['size']={'radius':(null==(_0xc13022=_0x2e6d51['parameters'])?void 0x0:_0xc13022['radiusTop'])||0.5,'height':(null==(_0x5e2e8c=_0x2e6d51['parameters'])?void 0x0:_0x5e2e8c['height'])||0x1}),_0x366d8d;}static['parseASCIIUSD_DEPRECATED'](_0x2d7c87,_0x348849=null){const _0x1b0220=new Qe();_0x1b0220['name']='usd_model',!_0x2d7c87['includes']('#usda')&&_0x2d7c87['includes']('def\x20');const _0x45e51d=_0x2d7c87['split']('\x0a');let _0x5125e1=null,_0x445ded=[];for(let _0x247cfe=0x0;_0x247cfe<_0x45e51d['length'];_0x247cfe++){const _0x31dd23=_0x45e51d[_0x247cfe]['trim']();if(!_0x31dd23||_0x31dd23['startsWith']('#'))continue;const _0xd59ddf=_0x31dd23['match'](/def\s+(\w+)\s+"([^"]+)"\s*\{/);if(_0xd59ddf){const _0x16e625=_0xd59ddf[0x1],_0x5abb43=_0xd59ddf[0x2];if('Xform'===_0x16e625||'Mesh'===_0x16e625||'Cube'===_0x16e625||'Sphere'===_0x16e625||'Cylinder'===_0x16e625)if('Xform'!==_0x16e625||_0x5125e1){if(_0x5125e1){const _0x3d8d0f=new et();_0x3d8d0f['name']=_0x5abb43,_0x3d8d0f['geometry']=this['parseUSDGeometry'](_0x16e625,_0x45e51d,_0x247cfe),_0x5125e1['visuals']['push'](_0x3d8d0f),_0x445ded['push']({'type':'visual','obj':_0x3d8d0f});}}else _0x5125e1=new Ke(_0x5abb43),_0x1b0220['addLink'](_0x5125e1),_0x445ded['push']({'type':'link','obj':_0x5125e1});continue;}if(_0x5125e1&&_0x31dd23['includes']('=')){const _0x18d06a=_0x31dd23['match'](/(\w+)\s*=\s*(.+)/);if(_0x18d06a){const _0x4e52dd=_0x18d06a[0x1],_0x119501=_0x18d06a[0x2]['trim']();if('xformOp:translate'===_0x4e52dd){const _0x5a3a7c=this['parseUSDArray'](_0x119501);if(_0x5a3a7c['length']>=0x3){const _0x3cedee=_0x5125e1['visuals'][_0x5125e1['visuals']['length']-0x1];_0x3cedee&&(_0x3cedee['origin']['xyz']=_0x5a3a7c['slice'](0x0,0x3));}}}}if('}'===_0x31dd23&&_0x445ded['length']>0x0){'link'===_0x445ded['pop']()['type']&&(_0x5125e1=null);}}return this['createThreeObject'](_0x1b0220),_0x1b0220;}static['parseUSDGeometry'](_0x1a1506,_0x586416,_0x9270da){const _0x5902c9=new nt(_0x1a1506['toLowerCase']());for(let _0x479568=_0x9270da;_0x479568<Math['min'](_0x9270da+0x14,_0x586416['length']);_0x479568++){const _0x41633d=_0x586416[_0x479568]['trim']();if('}'===_0x41633d)break;const _0x2621c3=_0x41633d['match'](/(\w+)\s*=\s*(.+)/);if(_0x2621c3){const _0x595f69=_0x2621c3[0x1],_0x57b55a=_0x2621c3[0x2]['trim']();switch(_0x1a1506){case'Cube':if('size'===_0x595f69){const _0x39052b=parseFloat(_0x57b55a);_0x5902c9['size']={'x':_0x39052b,'y':_0x39052b,'z':_0x39052b};}break;case'Sphere':'radius'===_0x595f69&&(_0x5902c9['size']={'radius':parseFloat(_0x57b55a)});break;case'Cylinder':if('radius'===_0x595f69){const _0x19088f=parseFloat(_0x57b55a);_0x5902c9['size']={'radius':_0x19088f,'height':0x2*_0x19088f};}'height'===_0x595f69&&(_0x5902c9['size']||(_0x5902c9['size']={}),_0x5902c9['size']['height']=parseFloat(_0x57b55a));}}}return _0x5902c9;}static['parseUSDArray'](_0xa1fba3){return(_0xa1fba3=_0xa1fba3['replace'](/[()]/g,'')['trim']())['split'](',')['map'](_0x3b198a=>parseFloat(_0x3b198a['trim']()))['filter'](_0x35f086=>!isNaN(_0x35f086));}static['createThreeObject'](_0x37b19b){const _0x46c5a5=new _0x2474d6();_0x46c5a5['name']=_0x37b19b['name'],_0x37b19b['links']['forEach']((_0x524e29,_0x2cef83)=>{const _0x3a0361=new _0x2474d6();_0x3a0361['name']=_0x2cef83,_0x524e29['visuals']['forEach'](_0x8051a0=>{const _0x3046a0=this['createGeometryMesh'](_0x8051a0['geometry']);_0x3046a0&&(_0x3046a0['position']['set'](..._0x8051a0['origin']['xyz']),_0x3046a0['rotation']['set'](..._0x8051a0['origin']['rpy']),_0x3046a0['name']=_0x8051a0['name'],_0x3a0361['add'](_0x3046a0),_0x8051a0['threeObject']=_0x3046a0);}),_0x524e29['threeObject']=_0x3a0361,_0x46c5a5['add'](_0x3a0361);}),_0x37b19b['threeObject']=_0x46c5a5;}static['createGeometryMesh'](_0x1fd578){let _0x1abc0f=null;switch(_0x1fd578['type']){case'cube':if(_0x1fd578['size']){const _0x1a19d=_0x1fd578['size']['x']||0.1;_0x1abc0f=new _0x1b40f5(_0x1a19d,_0x1a19d,_0x1a19d);}break;case'sphere':_0x1fd578['size']&&_0x1fd578['size']['radius']&&(_0x1abc0f=new _0x401a16(_0x1fd578['size']['radius'],0x20,0x20));break;case'cylinder':_0x1fd578['size']&&(_0x1abc0f=new _0x201dad(_0x1fd578['size']['radius']||0.1,_0x1fd578['size']['radius']||0.1,_0x1fd578['size']['height']||0.1,0x20));}if(!_0x1abc0f)return null;const _0x54eab8=new _0xc21d5a({'color':0x888888});return new _0x3d1069(_0x1abc0f,_0x54eab8);}static['setJointAngle'](_0x33948f,_0x962d2a){if(_0x33948f['currentValue']=_0x962d2a,_0x33948f['threeObject']&&('revolute'===_0x33948f['type']||'continuous'===_0x33948f['type'])){const _0x310790=new _0x5a7be3(..._0x33948f['axis']['xyz'])['normalize']();_0x33948f['threeObject']['rotation']['setFromAxisAngle'](_0x310790,_0x962d2a),_0x33948f['threeObject']['updateMatrixWorld'](!0x0);}}}function At(_0x1fed15){const _0x108d69=_0x1fed15['split'](/[\\/]/g);return _0x108d69['pop'](),0x0===_0x108d69['length']?'./':_0x108d69['join']('/')+'/';}function Lt(_0x2115a2,_0x30d2be,_0x4d5771=[]){_0x2115a2['tagName']===_0x30d2be&&_0x4d5771['push'](_0x2115a2);for(let _0x2ba7cb=0x0,_0x597222=_0x2115a2['children']['length'];_0x2ba7cb<_0x597222;_0x2ba7cb++){Lt(_0x2115a2['children'][_0x2ba7cb],_0x30d2be,_0x4d5771);}return _0x4d5771;}function Et(_0x1f31a0,_0x3eb8a1){const _0x55a114=_0x1f31a0['cloneNode'](),_0x599d2d=_0x1f31a0['childNodes'];for(let _0x3d58d4=0x0,_0x1ccbc1=_0x599d2d['length'];_0x3d58d4<_0x1ccbc1;_0x3d58d4++){const _0xb89f18=_0x599d2d[_0x3d58d4],_0x10157d=_0xb89f18['tagName'];(!_0x3eb8a1||'xacro:property'!==_0x10157d&&'xacro:macro'!==_0x10157d)&&_0x55a114['appendChild'](Et(_0xb89f18,_0x3eb8a1));}return _0x55a114;}function Ct(_0x2e2077){for(;_0x2e2077['length']>0x0;){const _0x133e99=_0x2e2077[_0x2e2077['length']-0x1];if(_0x133e99['nodeType']===_0x133e99['ELEMENT_NODE'])break;_0x2e2077['pop']();}}function jt(_0x23445c){return/^(('[^']*?')|("[^"]*?")|(`[^`]*?`))$/['test'](_0x23445c);}function kt(_0x53e21d){return!isNaN(Number(_0x53e21d))&&!isNaN(parseFloat(_0x53e21d));}const Tt=Symbol('parent');function Ot(..._0x515620){const _0x400140={};for(let _0x4c179a=0x0,_0x3df628=_0x515620['length'];_0x4c179a<_0x3df628;_0x4c179a++){const _0x70ada9=_0x515620[_0x4c179a];for(const _0x590504 in _0x70ada9)_0x400140[_0x590504]=_0x70ada9[_0x590504];Tt in _0x70ada9&&(_0x400140[Tt]=_0x70ada9[Tt]);}return _0x400140;}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(_0x558d2b,_0x2092a2){this['type']=_0x558d2b,this['value']=null!=_0x2092a2?_0x2092a2:0x0;}function Gt(_0x12758c){return new Ht(Dt,_0x12758c);}function Wt(_0x5426f6){return new Ht(Pt,_0x5426f6);}function Xt(_0x22e056){return new Ht(It,_0x22e056);}function Yt(_0x115d45,_0x43a324,_0x465bdd,_0x58fbf0,_0x3fcab9){for(var _0x1a5f1b,_0x4daa1e,_0x12c806,_0x54dcf3,_0x1372df=[],_0x5759f3=[],_0x2e2c6a=0x0;_0x2e2c6a<_0x115d45['length'];_0x2e2c6a++){var _0x2613fb=_0x115d45[_0x2e2c6a],_0x11f7f6=_0x2613fb['type'];if(_0x11f7f6===Ft||_0x11f7f6===zt)Array['isArray'](_0x2613fb['value'])?_0x1372df['push']['apply'](_0x1372df,Yt(_0x2613fb['value']['map'](function(_0x6fff46){return new Ht(Ft,_0x6fff46);})['concat'](new Ht(Jt,_0x2613fb['value']['length'])),_0x43a324,_0x465bdd,_0x58fbf0,_0x3fcab9)):_0x1372df['push'](_0x2613fb);else if(_0x11f7f6===Rt&&Object['hasOwn'](_0x3fcab9,_0x2613fb['value']))_0x2613fb=new Ht(Ft,_0x3fcab9[_0x2613fb['value']]),_0x1372df['push'](_0x2613fb);else if(_0x11f7f6===Pt&&_0x1372df['length']>0x1)_0x4daa1e=_0x1372df['pop'](),_0x1a5f1b=_0x1372df['pop'](),_0x54dcf3=_0x465bdd[_0x2613fb['value']],_0x2613fb=new Ht(Ft,_0x54dcf3(_0x1a5f1b['value'],_0x4daa1e['value'])),_0x1372df['push'](_0x2613fb);else if(_0x11f7f6===It&&_0x1372df['length']>0x2)_0x12c806=_0x1372df['pop'](),_0x4daa1e=_0x1372df['pop'](),_0x1a5f1b=_0x1372df['pop'](),'?'===_0x2613fb['value']?_0x1372df['push'](_0x1a5f1b['value']?_0x4daa1e['value']:_0x12c806['value']):(_0x54dcf3=_0x58fbf0[_0x2613fb['value']],_0x2613fb=new Ht(Ft,_0x54dcf3(_0x1a5f1b['value'],_0x4daa1e['value'],_0x12c806['value'])),_0x1372df['push'](_0x2613fb));else if(_0x11f7f6===Dt&&_0x1372df['length']>0x0)_0x1a5f1b=_0x1372df['pop'](),_0x54dcf3=_0x43a324[_0x2613fb['value']],_0x2613fb=new Ht(Ft,_0x54dcf3(_0x1a5f1b['value'])),_0x1372df['push'](_0x2613fb);else if(_0x11f7f6===Vt){for(;_0x1372df['length']>0x0;)_0x5759f3['push'](_0x1372df['shift']());_0x5759f3['push'](new Ht(Vt,Yt(_0x2613fb['value'],_0x43a324,_0x465bdd,_0x58fbf0,_0x3fcab9)));}else if(_0x11f7f6===Bt&&_0x1372df['length']>0x0)_0x1a5f1b=_0x1372df['pop'](),_0x1372df['push'](new Ht(Ft,_0x1a5f1b['value'][_0x2613fb['value']]));else{for(;_0x1372df['length']>0x0;)_0x5759f3['push'](_0x1372df['shift']());_0x5759f3['push'](_0x2613fb);}}for(;_0x1372df['length']>0x0;)_0x5759f3['push'](_0x1372df['shift']());return _0x5759f3;}function Zt(_0x2688b6,_0x435f71,_0x225ea2){for(var _0x5915d7=[],_0x40f17e=0x0;_0x40f17e<_0x2688b6['length'];_0x40f17e++){var _0x30085c=_0x2688b6[_0x40f17e],_0x41d399=_0x30085c['type'];if(_0x41d399===Rt&&_0x30085c['value']===_0x435f71)for(var _0x1bd71b=0x0;_0x1bd71b<_0x225ea2['tokens']['length'];_0x1bd71b++){var _0x576de8,_0x5bba89=_0x225ea2['tokens'][_0x1bd71b];_0x576de8=_0x5bba89['type']===Dt?Gt(_0x5bba89['value']):_0x5bba89['type']===Pt?Wt(_0x5bba89['value']):_0x5bba89['type']===It?Xt(_0x5bba89['value']):new Ht(_0x5bba89['type'],_0x5bba89['value']),_0x5915d7['push'](_0x576de8);}else _0x41d399===Vt?_0x5915d7['push'](new Ht(Vt,Zt(_0x30085c['value'],_0x435f71,_0x225ea2))):_0x5915d7['push'](_0x30085c);}return _0x5915d7;}function Qt(_0xae2cd5,_0x44bb66,_0x5d2521){for(var _0xb109d6 in _0x44bb66['functions'])if(_0x44bb66['functions'][_0xb109d6]===_0xae2cd5)return!0x0;if(_0xae2cd5['__expr_eval_safe_def'])return!0x0;for(var _0x4ffb42 in _0x5d2521)if('object'==typeof _0x5d2521[_0x4ffb42]&&null!==_0x5d2521[_0x4ffb42])for(var _0x2bbbb9 in _0x5d2521[_0x4ffb42])if(_0x5d2521[_0x4ffb42][_0x2bbbb9]===_0xae2cd5)return!0x0;return!0x1;}function Kt(_0x54ce36,_0x1e62b0,_0x1b9170){var _0x434ece,_0xbcbdef,_0x20bd56,_0x3bdccd,_0x363ac8,_0x1bddf1,_0x55957e=[];if(tn(_0x54ce36))return nn(_0x54ce36,_0x1b9170);for(var _0x28f8f7=_0x54ce36['length'],_0x4d1625=0x0;_0x4d1625<_0x28f8f7;_0x4d1625++){var _0x3dbda7=_0x54ce36[_0x4d1625],_0x201ceb=_0x3dbda7['type'];if(_0x201ceb===Ft||_0x201ceb===zt)_0x55957e['push'](_0x3dbda7['value']);else if(_0x201ceb===Pt)_0xbcbdef=_0x55957e['pop'](),_0x434ece=_0x55957e['pop'](),'and'===_0x3dbda7['value']?_0x55957e['push'](!!_0x434ece&&!!Kt(_0xbcbdef,_0x1e62b0,_0x1b9170)):'or'===_0x3dbda7['value']?_0x55957e['push'](!!_0x434ece||!!Kt(_0xbcbdef,_0x1e62b0,_0x1b9170)):'='===_0x3dbda7['value']?(_0x3bdccd=_0x1e62b0['binaryOps'][_0x3dbda7['value']],_0x55957e['push'](_0x3bdccd(_0x434ece,Kt(_0xbcbdef,_0x1e62b0,_0x1b9170),_0x1b9170))):(_0x3bdccd=_0x1e62b0['binaryOps'][_0x3dbda7['value']],_0x55957e['push'](_0x3bdccd(nn(_0x434ece,_0x1b9170),nn(_0xbcbdef,_0x1b9170))));else if(_0x201ceb===It)_0x20bd56=_0x55957e['pop'](),_0xbcbdef=_0x55957e['pop'](),_0x434ece=_0x55957e['pop'](),'?'===_0x3dbda7['value']?_0x55957e['push'](Kt(_0x434ece?_0xbcbdef:_0x20bd56,_0x1e62b0,_0x1b9170)):(_0x3bdccd=_0x1e62b0['ternaryOps'][_0x3dbda7['value']],_0x55957e['push'](_0x3bdccd(nn(_0x434ece,_0x1b9170),nn(_0xbcbdef,_0x1b9170),nn(_0x20bd56,_0x1b9170))));else if(_0x201ceb===Rt){if(/^__proto__|prototype|constructor$/['test'](_0x3dbda7['value']))throw new Error('prototype\x20access\x20detected');if(_0x3dbda7['value']in _0x1e62b0['functions'])_0x55957e['push'](_0x1e62b0['functions'][_0x3dbda7['value']]);else if(_0x3dbda7['value']in _0x1e62b0['unaryOps']&&_0x1e62b0['parser']['isOperatorEnabled'](_0x3dbda7['value']))_0x55957e['push'](_0x1e62b0['unaryOps'][_0x3dbda7['value']]);else{var _0x50399e=_0x1b9170[_0x3dbda7['value']];if(void 0x0===_0x50399e)throw new Error('undefined\x20variable:\x20'+_0x3dbda7['value']);if('function'==typeof _0x50399e&&!Qt(_0x50399e,_0x1e62b0,_0x1b9170))throw new Error('Variable\x20references\x20an\x20unallowed\x20function:\x20'+_0x3dbda7['value']);_0x55957e['push'](_0x50399e);}}else if(_0x201ceb===Dt)_0x434ece=_0x55957e['pop'](),_0x3bdccd=_0x1e62b0['unaryOps'][_0x3dbda7['value']],_0x55957e['push'](_0x3bdccd(nn(_0x434ece,_0x1b9170)));else if(_0x201ceb===Nt){for(_0x1bddf1=_0x3dbda7['value'],_0x363ac8=[];_0x1bddf1-->0x0;)_0x363ac8['unshift'](nn(_0x55957e['pop'](),_0x1b9170));if(!Qt(_0x3bdccd=_0x55957e['pop'](),_0x1e62b0,_0x1b9170))throw new Error('Is\x20not\x20an\x20allowed\x20function.');if(!_0x3bdccd['apply']||!_0x3bdccd['call'])throw new Error(_0x3bdccd+'\x20is\x20not\x20a\x20function');_0x55957e['push'](_0x3bdccd['apply'](void 0x0,_0x363ac8));}else if(_0x201ceb===Ut)_0x55957e['push']((function(){for(var _0x3033fb=_0x55957e['pop'](),_0x47f9cc=[],_0x25e47b=_0x3dbda7['value'];_0x25e47b-->0x0;)_0x47f9cc['unshift'](_0x55957e['pop']());var _0xeebf52=_0x55957e['pop'](),_0x2f89c3=function(){for(var _0x402725=Object['assign']({},_0x1b9170),_0x5ec5a5=0x0,_0x137be6=_0x47f9cc['length'];_0x5ec5a5<_0x137be6;_0x5ec5a5++)_0x402725[_0x47f9cc[_0x5ec5a5]]=arguments[_0x5ec5a5];return Kt(_0x3033fb,_0x1e62b0,_0x402725);};return Object['defineProperty'](_0x2f89c3,'name',{'value':_0xeebf52,'writable':!0x1}),Object['defineProperty'](_0x2f89c3,'__expr_eval_safe_def',{'value':!0x0,'writable':!0x1}),_0x1b9170[_0xeebf52]=_0x2f89c3,_0x2f89c3;}()));else if(_0x201ceb===Vt)_0x55957e['push'](en(_0x3dbda7,_0x1e62b0));else if(_0x201ceb===qt)_0x55957e['push'](_0x3dbda7);else if(_0x201ceb===Bt)_0x434ece=_0x55957e['pop'](),_0x55957e['push'](_0x434ece[_0x3dbda7['value']]);else if(_0x201ceb===$t)_0x55957e['pop']();else{if(_0x201ceb!==Jt)throw new Error('invalid\x20Expression');for(_0x1bddf1=_0x3dbda7['value'],_0x363ac8=[];_0x1bddf1-->0x0;)_0x363ac8['unshift'](_0x55957e['pop']());_0x55957e['push'](_0x363ac8);}}if(_0x55957e['length']>0x1)throw new Error('invalid\x20Expression\x20(parity)');return 0x0===_0x55957e[0x0]?0x0:nn(_0x55957e[0x0],_0x1b9170);}function en(_0x3e504,_0xfe5c8f,_0x5616ae){return tn(_0x3e504)?_0x3e504:{'type':qt,'value':function(_0x15ade6){return Kt(_0x3e504['value'],_0xfe5c8f,_0x15ade6);}};}function tn(_0x3e8cce){return _0x3e8cce&&_0x3e8cce['type']===qt;}function nn(_0x2e71b1,_0x190e95){return tn(_0x2e71b1)?_0x2e71b1['value'](_0x190e95):_0x2e71b1;}function sn(_0x361043,_0x3756e6){for(var _0x1883df,_0x23e3d4,_0x203a4a,_0x4b6207,_0x25e217,_0x109c22,_0x13b4e7=[],_0xea199a=0x0;_0xea199a<_0x361043['length'];_0xea199a++){var _0x2314d9=_0x361043[_0xea199a],_0x5a88fd=_0x2314d9['type'];if(_0x5a88fd===Ft)'number'==typeof _0x2314d9['value']&&_0x2314d9['value']<0x0?_0x13b4e7['push']('('+_0x2314d9['value']+')'):Array['isArray'](_0x2314d9['value'])?_0x13b4e7['push']('['+_0x2314d9['value']['map'](rn)['join'](',\x20')+']'):_0x13b4e7['push'](rn(_0x2314d9['value']));else if(_0x5a88fd===Pt)_0x23e3d4=_0x13b4e7['pop'](),_0x1883df=_0x13b4e7['pop'](),_0x4b6207=_0x2314d9['value'],_0x3756e6?'^'===_0x4b6207?_0x13b4e7['push']('Math.pow('+_0x1883df+',\x20'+_0x23e3d4+')'):'and'===_0x4b6207?_0x13b4e7['push']('(!!'+_0x1883df+'\x20&&\x20!!'+_0x23e3d4+')'):'or'===_0x4b6207?_0x13b4e7['push']('(!!'+_0x1883df+'\x20||\x20!!'+_0x23e3d4+')'):'||'===_0x4b6207?_0x13b4e7['push']('(function(a,b){\x20return\x20Array.isArray(a)\x20&&\x20Array.isArray(b)\x20?\x20a.concat(b)\x20:\x20String(a)\x20+\x20String(b);\x20}(('+_0x1883df+'),('+_0x23e3d4+')))'):'=='===_0x4b6207?_0x13b4e7['push']('('+_0x1883df+'\x20===\x20'+_0x23e3d4+')'):'!='===_0x4b6207?_0x13b4e7['push']('('+_0x1883df+'\x20!==\x20'+_0x23e3d4+')'):'['===_0x4b6207?_0x13b4e7['push'](_0x1883df+'[('+_0x23e3d4+')\x20|\x200]'):_0x13b4e7['push']('('+_0x1883df+'\x20'+_0x4b6207+'\x20'+_0x23e3d4+')'):'['===_0x4b6207?_0x13b4e7['push'](_0x1883df+'['+_0x23e3d4+']'):_0x13b4e7['push']('('+_0x1883df+'\x20'+_0x4b6207+'\x20'+_0x23e3d4+')');else if(_0x5a88fd===It){if(_0x203a4a=_0x13b4e7['pop'](),_0x23e3d4=_0x13b4e7['pop'](),_0x1883df=_0x13b4e7['pop'](),'?'!==(_0x4b6207=_0x2314d9['value']))throw new Error('invalid\x20Expression');_0x13b4e7['push']('('+_0x1883df+'\x20?\x20'+_0x23e3d4+'\x20:\x20'+_0x203a4a+')');}else if(_0x5a88fd===Rt||_0x5a88fd===zt)_0x13b4e7['push'](_0x2314d9['value']);else if(_0x5a88fd===Dt)_0x1883df=_0x13b4e7['pop'](),'-'===(_0x4b6207=_0x2314d9['value'])||'+'===_0x4b6207?_0x13b4e7['push']('('+_0x4b6207+_0x1883df+')'):_0x3756e6?'not'===_0x4b6207?_0x13b4e7['push']('(!'+_0x1883df+')'):'!'===_0x4b6207?_0x13b4e7['push']('fac('+_0x1883df+')'):_0x13b4e7['push'](_0x4b6207+'('+_0x1883df+')'):'!'===_0x4b6207?_0x13b4e7['push']('('+_0x1883df+'!)'):_0x13b4e7['push']('('+_0x4b6207+'\x20'+_0x1883df+')');else if(_0x5a88fd===Nt){for(_0x109c22=_0x2314d9['value'],_0x25e217=[];_0x109c22-->0x0;)_0x25e217['unshift'](_0x13b4e7['pop']());_0x4b6207=_0x13b4e7['pop'](),_0x13b4e7['push'](_0x4b6207+'('+_0x25e217['join'](',\x20')+')');}else if(_0x5a88fd===Ut){for(_0x23e3d4=_0x13b4e7['pop'](),_0x109c22=_0x2314d9['value'],_0x25e217=[];_0x109c22-->0x0;)_0x25e217['unshift'](_0x13b4e7['pop']());_0x1883df=_0x13b4e7['pop'](),_0x3756e6?_0x13b4e7['push']('('+_0x1883df+'\x20=\x20function('+_0x25e217['join'](',\x20')+')\x20{\x20return\x20'+_0x23e3d4+'\x20})'):_0x13b4e7['push']('('+_0x1883df+'('+_0x25e217['join'](',\x20')+')\x20=\x20'+_0x23e3d4+')');}else if(_0x5a88fd===Bt)_0x1883df=_0x13b4e7['pop'](),_0x13b4e7['push'](_0x1883df+'.'+_0x2314d9['value']);else if(_0x5a88fd===Jt){for(_0x109c22=_0x2314d9['value'],_0x25e217=[];_0x109c22-->0x0;)_0x25e217['unshift'](_0x13b4e7['pop']());_0x13b4e7['push']('['+_0x25e217['join'](',\x20')+']');}else if(_0x5a88fd===Vt)_0x13b4e7['push']('('+sn(_0x2314d9['value'],_0x3756e6)+')');else if(_0x5a88fd!==$t)throw new Error('invalid\x20Expression');}return _0x13b4e7['length']>0x1&&(_0x13b4e7=_0x3756e6?[_0x13b4e7['join'](',')]:[_0x13b4e7['join'](';')]),String(_0x13b4e7[0x0]);}function rn(_0x578787){return'string'==typeof _0x578787?JSON['stringify'](_0x578787)['replace'](/\u2028/g,'\x5cu2028')['replace'](/\u2029/g,'\x5cu2029'):_0x578787;}function an(_0x3d644f,_0x456b60){for(var _0x2346f7=0x0;_0x2346f7<_0x3d644f['length'];_0x2346f7++)if(_0x3d644f[_0x2346f7]===_0x456b60)return!0x0;return!0x1;}function on(_0x3abd03,_0x41b330,_0x3f2116){for(var _0x2ca75a=!!(_0x3f2116=_0x3f2116||{})['withMembers'],_0x1d2ea7=null,_0x30399f=0x0;_0x30399f<_0x3abd03['length'];_0x30399f++){var _0x3e8f1e=_0x3abd03[_0x30399f];_0x3e8f1e['type']===Rt||_0x3e8f1e['type']===zt?_0x2ca75a||an(_0x41b330,_0x3e8f1e['value'])?null!==_0x1d2ea7?(an(_0x41b330,_0x1d2ea7)||_0x41b330['push'](_0x1d2ea7),_0x1d2ea7=_0x3e8f1e['value']):_0x1d2ea7=_0x3e8f1e['value']:_0x41b330['push'](_0x3e8f1e['value']):_0x3e8f1e['type']===Bt&&_0x2ca75a&&null!==_0x1d2ea7?_0x1d2ea7+='.'+_0x3e8f1e['value']:_0x3e8f1e['type']===Vt?on(_0x3e8f1e['value'],_0x41b330,_0x3f2116):null!==_0x1d2ea7&&(an(_0x41b330,_0x1d2ea7)||_0x41b330['push'](_0x1d2ea7),_0x1d2ea7=null);}null===_0x1d2ea7||an(_0x41b330,_0x1d2ea7)||_0x41b330['push'](_0x1d2ea7);}function ln(_0x1f333e,_0xe67e30){this['tokens']=_0x1f333e,this['parser']=_0xe67e30,this['unaryOps']=_0xe67e30['unaryOps'],this['binaryOps']=_0xe67e30['binaryOps'],this['ternaryOps']=_0xe67e30['ternaryOps'],this['functions']=_0xe67e30['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(_0x21a868){return _0x21a868=_0x21a868||{},new ln(Yt(this['tokens'],this['unaryOps'],this['binaryOps'],this['ternaryOps'],_0x21a868),this['parser']);},ln['prototype']['substitute']=function(_0x6a362e,_0x4f4c4d){return _0x4f4c4d instanceof ln||(_0x4f4c4d=this['parser']['parse'](String(_0x4f4c4d))),new ln(Zt(this['tokens'],_0x6a362e,_0x4f4c4d),this['parser']);},ln['prototype']['evaluate']=function(_0x52cbd1){return _0x52cbd1=_0x52cbd1||{},Kt(this['tokens'],this,_0x52cbd1);},ln['prototype']['toString']=function(){return sn(this['tokens'],!0x1);},ln['prototype']['symbols']=function(_0x380618){_0x380618=_0x380618||{};var _0x559950=[];return on(this['tokens'],_0x559950,_0x380618),_0x559950;},ln['prototype']['variables']=function(_0x5345cd){_0x5345cd=_0x5345cd||{};var _0x14aad7=[];on(this['tokens'],_0x14aad7,_0x5345cd);var _0x35b70b=this['functions'];return _0x14aad7['filter'](function(_0x362c68){return!(_0x362c68 in _0x35b70b);});},ln['prototype']['toJSFunction']=function(_0x237337,_0x244c95){var _0x3144da=this,_0x38169e=new Function(_0x237337,'with(this.functions)\x20with\x20(this.ternaryOps)\x20with\x20(this.binaryOps)\x20with\x20(this.unaryOps)\x20{\x20return\x20'+sn(this['simplify'](_0x244c95)['tokens'],!0x0)+';\x20}');return function(){return _0x38169e['apply'](_0x3144da,arguments);};};var cn='TEOF',hn='TOP',un='TNUMBER',dn='TSTRING',pn='TPAREN',mn='TBRACKET',gn='TCOMMA',fn='TNAME',yn='TSEMICOLON';function vn(_0x1b2b31,_0x454541,_0x5d7f6d){this['type']=_0x1b2b31,this['value']=_0x454541,this['index']=_0x5d7f6d;}function bn(_0x3db625,_0x3c7a5b){this['pos']=0x0,this['current']=null,this['unaryOps']=_0x3db625['unaryOps'],this['binaryOps']=_0x3db625['binaryOps'],this['ternaryOps']=_0x3db625['ternaryOps'],this['consts']=_0x3db625['consts'],this['expression']=_0x3c7a5b,this['savedPosition']=0x0,this['savedCurrent']=null,this['options']=_0x3db625['options'],this['parser']=_0x3db625;}vn['prototype']['toString']=function(){return this['type']+':\x20'+this['value'];},bn['prototype']['newToken']=function(_0x8cb607,_0xe34bcf,_0x3b93ca){return new vn(_0x8cb607,_0xe34bcf,null!=_0x3b93ca?_0x3b93ca: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 _0x3db26f=!0x1,_0x384b99=this['pos'],_0x340e4e=this['expression']['charAt'](_0x384b99);if('\x27'===_0x340e4e||'\x22'===_0x340e4e)for(var _0x170b70=this['expression']['indexOf'](_0x340e4e,_0x384b99+0x1);_0x170b70>=0x0&&this['pos']<this['expression']['length'];){if(this['pos']=_0x170b70+0x1,'\x5c'!==this['expression']['charAt'](_0x170b70-0x1)){var _0x5c1d3b=this['expression']['substring'](_0x384b99+0x1,_0x170b70);this['current']=this['newToken'](dn,this['unescape'](_0x5c1d3b),_0x384b99),_0x3db26f=!0x0;break;}_0x170b70=this['expression']['indexOf'](_0x340e4e,_0x170b70+0x1);}return _0x3db26f;},bn['prototype']['isParen']=function(){var _0x49f7b0=this['expression']['charAt'](this['pos']);return('('===_0x49f7b0||')'===_0x49f7b0)&&(this['current']=this['newToken'](pn,_0x49f7b0),this['pos']++,!0x0);},bn['prototype']['isBracket']=function(){var _0x75e88b=this['expression']['charAt'](this['pos']);return!('['!==_0x75e88b&&']'!==_0x75e88b||!this['isOperatorEnabled']('['))&&(this['current']=this['newToken'](mn,_0x75e88b),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 _0x2e3b1a=this['pos'],_0x1dbb20=_0x2e3b1a;_0x1dbb20<this['expression']['length'];_0x1dbb20++){var _0x2718c2=this['expression']['charAt'](_0x1dbb20);if(_0x2718c2['toUpperCase']()===_0x2718c2['toLowerCase']()&&(_0x1dbb20===this['pos']||'_'!==_0x2718c2&&'.'!==_0x2718c2&&(_0x2718c2<'0'||_0x2718c2>'9')))break;}if(_0x1dbb20>_0x2e3b1a){var _0x19e887=this['expression']['substring'](_0x2e3b1a,_0x1dbb20);if(_0x19e887 in this['consts'])return this['current']=this['newToken'](un,this['consts'][_0x19e887]),this['pos']+=_0x19e887['length'],!0x0;}return!0x1;},bn['prototype']['isNamedOp']=function(){for(var _0x261e54=this['pos'],_0x46f13f=_0x261e54;_0x46f13f<this['expression']['length'];_0x46f13f++){var _0x460bff=this['expression']['charAt'](_0x46f13f);if(_0x460bff['toUpperCase']()===_0x460bff['toLowerCase']()&&(_0x46f13f===this['pos']||'_'!==_0x460bff&&(_0x460bff<'0'||_0x460bff>'9')))break;}if(_0x46f13f>_0x261e54){var _0x3db674=this['expression']['substring'](_0x261e54,_0x46f13f);if(this['isOperatorEnabled'](_0x3db674)&&(_0x3db674 in this['binaryOps']||_0x3db674 in this['unaryOps']||_0x3db674 in this['ternaryOps']))return this['current']=this['newToken'](hn,_0x3db674),this['pos']+=_0x3db674['length'],!0x0;}return!0x1;},bn['prototype']['isName']=function(){for(var _0x36c335=this['pos'],_0x259261=_0x36c335,_0x44d45e=!0x1;_0x259261<this['expression']['length'];_0x259261++){var _0x439399=this['expression']['charAt'](_0x259261);if(_0x439399['toUpperCase']()===_0x439399['toLowerCase']()){if(_0x259261===this['pos']&&('$'===_0x439399||'_'===_0x439399)){'_'===_0x439399&&(_0x44d45e=!0x0);continue;}if(_0x259261===this['pos']||!_0x44d45e||'_'!==_0x439399&&(_0x439399<'0'||_0x439399>'9'))break;}else _0x44d45e=!0x0;}if(_0x44d45e){var _0x1e11f3=this['expression']['substring'](_0x36c335,_0x259261);return this['current']=this['newToken'](fn,_0x1e11f3),this['pos']+=_0x1e11f3['length'],!0x0;}return!0x1;},bn['prototype']['isWhitespace']=function(){for(var _0x3babe2=!0x1,_0x1e11c6=this['expression']['charAt'](this['pos']);!('\x20'!==_0x1e11c6&&'\x09'!==_0x1e11c6&&'\x0a'!==_0x1e11c6&&'\x0d'!==_0x1e11c6||(_0x3babe2=!0x0,this['pos']++,this['pos']>=this['expression']['length']));)_0x1e11c6=this['expression']['charAt'](this['pos']);return _0x3babe2;};var wn=/^[0-9a-f]{4}$/i;function xn(_0x39dcef,_0xce2fca,_0x76732d){this['parser']=_0x39dcef,this['tokens']=_0xce2fca,this['current']=null,this['nextToken']=null,this['next'](),this['savedCurrent']=null,this['savedNextToken']=null,this['allowMemberAccess']=!0x1!==_0x76732d['allowMemberAccess'];}bn['prototype']['unescape']=function(_0x2e29d7){var _0x3ced9a=_0x2e29d7['indexOf']('\x5c');if(_0x3ced9a<0x0)return _0x2e29d7;for(var _0x5511b9=_0x2e29d7['substring'](0x0,_0x3ced9a);_0x3ced9a>=0x0;){var _0x381409=_0x2e29d7['charAt'](++_0x3ced9a);switch(_0x381409){case'\x27':_0x5511b9+='\x27';break;case'\x22':_0x5511b9+='\x22';break;case'\x5c':_0x5511b9+='\x5c';break;case'/':_0x5511b9+='/';break;case'b':_0x5511b9+='\x08';break;case'f':_0x5511b9+='\x0c';break;case'n':_0x5511b9+='\x0a';break;case'r':_0x5511b9+='\x0d';break;case't':_0x5511b9+='\x09';break;case'u':var _0x5b7a45=_0x2e29d7['substring'](_0x3ced9a+0x1,_0x3ced9a+0x5);wn['test'](_0x5b7a45)||this['parseError']('Illegal\x20escape\x20sequence:\x20\x5cu'+_0x5b7a45),_0x5511b9+=String['fromCharCode'](parseInt(_0x5b7a45,0x10)),_0x3ced9a+=0x4;break;default:throw this['parseError']('Illegal\x20escape\x20sequence:\x20\x22\x5c'+_0x381409+'\x22');}++_0x3ced9a;var _0x29427e=_0x2e29d7['indexOf']('\x5c',_0x3ced9a);_0x5511b9+=_0x2e29d7['substring'](_0x3ced9a,_0x29427e<0x0?_0x2e29d7['length']:_0x29427e),_0x3ced9a=_0x29427e;}return _0x5511b9;},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 _0x177ad3,_0x2611bb,_0xb455da=this['pos'];if(_0xb455da>=this['expression']['length']-0x2||'0'!==this['expression']['charAt'](_0xb455da))return!0x1;if(++_0xb455da,'x'===this['expression']['charAt'](_0xb455da))_0x177ad3=0x10,_0x2611bb=/^[0-9a-f]$/i,++_0xb455da;else{if('b'!==this['expression']['charAt'](_0xb455da))return!0x1;_0x177ad3=0x2,_0x2611bb=/^[01]$/i,++_0xb455da;}for(var _0x142b4a=!0x1,_0x77f1f6=_0xb455da;_0xb455da<this['expression']['length'];){var _0x515e4b=this['expression']['charAt'](_0xb455da);if(!_0x2611bb['test'](_0x515e4b))break;_0xb455da++,_0x142b4a=!0x0;}return _0x142b4a&&(this['current']=this['newToken'](un,parseInt(this['expression']['substring'](_0x77f1f6,_0xb455da),_0x177ad3)),this['pos']=_0xb455da),_0x142b4a;},bn['prototype']['isNumber']=function(){for(var _0x99bd5d,_0x232c8e=!0x1,_0x4b9ff4=this['pos'],_0x2328fd=_0x4b9ff4,_0x50a71e=_0x4b9ff4,_0xe990aa=!0x1,_0x353bdf=!0x1;_0x4b9ff4<this['expression']['length']&&((_0x99bd5d=this['expression']['charAt'](_0x4b9ff4))>='0'&&_0x99bd5d<='9'||!_0xe990aa&&'.'===_0x99bd5d);)'.'===_0x99bd5d?_0xe990aa=!0x0:_0x353bdf=!0x0,_0x4b9ff4++,_0x232c8e=_0x353bdf;if(_0x232c8e&&(_0x50a71e=_0x4b9ff4),'e'===_0x99bd5d||'E'===_0x99bd5d){_0x4b9ff4++;for(var _0x443179=!0x0,_0x247e14=!0x1;_0x4b9ff4<this['expression']['length'];){if(_0x99bd5d=this['expression']['charAt'](_0x4b9ff4),!_0x443179||'+'!==_0x99bd5d&&'-'!==_0x99bd5d){if(!(_0x99bd5d>='0'&&_0x99bd5d<='9'))break;_0x247e14=!0x0,_0x443179=!0x1;}else _0x443179=!0x1;_0x4b9ff4++;}_0x247e14||(_0x4b9ff4=_0x50a71e);}return _0x232c8e?(this['current']=this['newToken'](un,parseFloat(this['expression']['substring'](_0x2328fd,_0x4b9ff4))),this['pos']=_0x4b9ff4):this['pos']=_0x50a71e,_0x232c8e;},bn['prototype']['isOperator']=function(){var _0x19b580=this['pos'],_0x2e852e=this['expression']['charAt'](this['pos']);if('+'===_0x2e852e||'-'===_0x2e852e||'*'===_0x2e852e||'/'===_0x2e852e||'%'===_0x2e852e||'^'===_0x2e852e||'?'===_0x2e852e||':'===_0x2e852e||'.'===_0x2e852e)this['current']=this['newToken'](hn,_0x2e852e);else if('∙'===_0x2e852e||'•'===_0x2e852e)this['current']=this['newToken'](hn,'*');else if('>'===_0x2e852e)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'>='),this['pos']++):this['current']=this['newToken'](hn,'>');else if('<'===_0x2e852e)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'<='),this['pos']++):this['current']=this['newToken'](hn,'<');else if('|'===_0x2e852e){if('|'!==this['expression']['charAt'](this['pos']+0x1))return!0x1;this['current']=this['newToken'](hn,'||'),this['pos']++;}else if('='===_0x2e852e)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'=='),this['pos']++):this['current']=this['newToken'](hn,_0x2e852e);else{if('!'!==_0x2e852e)return!0x1;'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'!='),this['pos']++):this['current']=this['newToken'](hn,_0x2e852e);}return this['pos']++,!!this['isOperatorEnabled'](this['current']['value'])||(this['pos']=_0x19b580,!0x1);},bn['prototype']['isOperatorEnabled']=function(_0x204a85){return this['parser']['isOperatorEnabled'](_0x204a85);},bn['prototype']['getCoordinates']=function(){var _0x2d2c3e,_0x54e0eb=0x0,_0x32505f=-0x1;do{_0x54e0eb++,_0x2d2c3e=this['pos']-_0x32505f,_0x32505f=this['expression']['indexOf']('\x0a',_0x32505f+0x1);}while(_0x32505f>=0x0&&_0x32505f<this['pos']);return{'line':_0x54e0eb,'column':_0x2d2c3e};},bn['prototype']['parseError']=function(_0x312a09){var _0x46e278=this['getCoordinates']();throw new Error('parse\x20error\x20['+_0x46e278['line']+':'+_0x46e278['column']+']:\x20'+_0x312a09);},xn['prototype']['next']=function(){return this['current']=this['nextToken'],this['nextToken']=this['tokens']['next']();},xn['prototype']['tokenMatches']=function(_0x25a14a,_0x2cfb2b){return void 0x0===_0x2cfb2b||(Array['isArray'](_0x2cfb2b)?an(_0x2cfb2b,_0x25a14a['value']):'function'==typeof _0x2cfb2b?_0x2cfb2b(_0x25a14a):_0x25a14a['value']===_0x2cfb2b);},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(_0x510fb9,_0x220820){return!(this['nextToken']['type']!==_0x510fb9||!this['tokenMatches'](this['nextToken'],_0x220820))&&(this['next'](),!0x0);},xn['prototype']['expect']=function(_0x3ff562,_0x3b57b0){if(!this['accept'](_0x3ff562,_0x3b57b0)){var _0x3f506a=this['tokens']['getCoordinates']();throw new Error('parse\x20error\x20['+_0x3f506a['line']+':'+_0x3f506a['column']+']:\x20Expected\x20'+(_0x3b57b0||_0x3ff562));}},xn['prototype']['parseAtom']=function(_0x41435b){var _0xe4fb9c=this['tokens']['unaryOps'];if(this['accept'](fn)||this['accept'](hn,function(_0x122638){return _0x122638['value']in _0xe4fb9c;}))_0x41435b['push'](new Ht(Rt,this['current']['value']));else if(this['accept'](un))_0x41435b['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](dn))_0x41435b['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](pn,'('))this['parseExpression'](_0x41435b),this['expect'](pn,')');else{if(!this['accept'](mn,'['))throw new Error('unexpected\x20'+this['nextToken']);if(this['accept'](mn,']'))_0x41435b['push'](new Ht(Jt,0x0));else{var _0x4c8be0=this['parseArrayList'](_0x41435b);_0x41435b['push'](new Ht(Jt,_0x4c8be0));}}},xn['prototype']['parseExpression']=function(_0x47cd4a){var _0xb2c9e7=[];this['parseUntilEndStatement'](_0x47cd4a,_0xb2c9e7)||(this['parseVariableAssignmentExpression'](_0xb2c9e7),this['parseUntilEndStatement'](_0x47cd4a,_0xb2c9e7)||this['pushExpression'](_0x47cd4a,_0xb2c9e7));},xn['prototype']['pushExpression']=function(_0x274ae8,_0x3b257c){for(var _0x36cdef=0x0,_0x1bd438=_0x3b257c['length'];_0x36cdef<_0x1bd438;_0x36cdef++)_0x274ae8['push'](_0x3b257c[_0x36cdef]);},xn['prototype']['parseUntilEndStatement']=function(_0x1dbf4a,_0x315f91){return!!this['accept'](yn)&&(!this['nextToken']||this['nextToken']['type']===cn||this['nextToken']['type']===pn&&')'===this['nextToken']['value']||_0x315f91['push'](new Ht($t)),this['nextToken']['type']!==cn&&this['parseExpression'](_0x315f91),_0x1dbf4a['push'](new Ht(Vt,_0x315f91)),!0x0);},xn['prototype']['parseArrayList']=function(_0x4651a8){for(var _0x20c28f=0x0;!this['accept'](mn,']');)for(this['parseExpression'](_0x4651a8),++_0x20c28f;this['accept'](gn);)this['parseExpression'](_0x4651a8),++_0x20c28f;return _0x20c28f;},xn['prototype']['parseVariableAssignmentExpression']=function(_0x5e67b5){for(this['parseConditionalExpression'](_0x5e67b5);this['accept'](hn,'=');){var _0x2d0d8e=_0x5e67b5['pop'](),_0x407808=[],_0xa21120=_0x5e67b5['length']-0x1;if(_0x2d0d8e['type']!==Nt){if(_0x2d0d8e['type']!==Rt&&_0x2d0d8e['type']!==Bt)throw new Error('expected\x20variable\x20for\x20assignment');this['parseVariableAssignmentExpression'](_0x407808),_0x5e67b5['push'](new Ht(zt,_0x2d0d8e['value'])),_0x5e67b5['push'](new Ht(Vt,_0x407808)),_0x5e67b5['push'](Wt('='));}else{if(!this['tokens']['isOperatorEnabled']('()='))throw new Error('function\x20definition\x20is\x20not\x20permitted');for(var _0x26d18e=0x0,_0x363dfb=_0x2d0d8e['value']+0x1;_0x26d18e<_0x363dfb;_0x26d18e++){var _0x38443d=_0xa21120-_0x26d18e;_0x5e67b5[_0x38443d]['type']===Rt&&(_0x5e67b5[_0x38443d]=new Ht(zt,_0x5e67b5[_0x38443d]['value']));}this['parseVariableAssignmentExpression'](_0x407808),_0x5e67b5['push'](new Ht(Vt,_0x407808)),_0x5e67b5['push'](new Ht(Ut,_0x2d0d8e['value']));}}},xn['prototype']['parseConditionalExpression']=function(_0x19f7bd){for(this['parseOrExpression'](_0x19f7bd);this['accept'](hn,'?');){var _0x21d031=[],_0x592143=[];this['parseConditionalExpression'](_0x21d031),this['expect'](hn,':'),this['parseConditionalExpression'](_0x592143),_0x19f7bd['push'](new Ht(Vt,_0x21d031)),_0x19f7bd['push'](new Ht(Vt,_0x592143)),_0x19f7bd['push'](Xt('?'));}},xn['prototype']['parseOrExpression']=function(_0x239ee2){for(this['parseAndExpression'](_0x239ee2);this['accept'](hn,'or');){var _0x115da5=[];this['parseAndExpression'](_0x115da5),_0x239ee2['push'](new Ht(Vt,_0x115da5)),_0x239ee2['push'](Wt('or'));}},xn['prototype']['parseAndExpression']=function(_0x48f91c){for(this['parseComparison'](_0x48f91c);this['accept'](hn,'and');){var _0x3c7edf=[];this['parseComparison'](_0x3c7edf),_0x48f91c['push'](new Ht(Vt,_0x3c7edf)),_0x48f91c['push'](Wt('and'));}};var Mn=['==','!=','<','<=','>=','>','in'];xn['prototype']['parseComparison']=function(_0x5dc2fe){for(this['parseAddSub'](_0x5dc2fe);this['accept'](hn,Mn);){var _0x55a14a=this['current'];this['parseAddSub'](_0x5dc2fe),_0x5dc2fe['push'](Wt(_0x55a14a['value']));}};var _n=['+','-','||'];xn['prototype']['parseAddSub']=function(_0x5ecfc6){for(this['parseTerm'](_0x5ecfc6);this['accept'](hn,_n);){var _0x54cb87=this['current'];this['parseTerm'](_0x5ecfc6),_0x5ecfc6['push'](Wt(_0x54cb87['value']));}};var Sn=['*','/','%'];function An(_0x50ce46,_0x2fcf33){return Number(_0x50ce46)+Number(_0x2fcf33);}function Ln(_0x4b185c,_0x213c19){return _0x4b185c-_0x213c19;}function En(_0x97eb65,_0x3615b3){return _0x97eb65*_0x3615b3;}function Cn(_0x55a968,_0x49fd2a){return _0x55a968/_0x49fd2a;}function jn(_0x5d2c5b,_0x2c35f7){return _0x5d2c5b%_0x2c35f7;}function kn(_0x7fd606,_0x2fc005){return Array['isArray'](_0x7fd606)&&Array['isArray'](_0x2fc005)?_0x7fd606['concat'](_0x2fc005):''+_0x7fd606+_0x2fc005;}function Tn(_0xdbf788,_0x2c6b22){return _0xdbf788===_0x2c6b22;}function On(_0x334303,_0xcc791b){return _0x334303!==_0xcc791b;}function Fn(_0x32d971,_0x33637e){return _0x32d971>_0x33637e;}function Dn(_0x3148e1,_0x3a7e06){return _0x3148e1<_0x3a7e06;}function Pn(_0x3b59f3,_0x21a2a7){return _0x3b59f3>=_0x21a2a7;}function In(_0x2df7c8,_0x55202d){return _0x2df7c8<=_0x55202d;}function Rn(_0x5f172c,_0x4334c7){return Boolean(_0x5f172c&&_0x4334c7);}function zn(_0x3c10e8,_0x2561e5){return Boolean(_0x3c10e8||_0x2561e5);}function Nn(_0x6d49bc,_0x116fa7){return an(_0x116fa7,_0x6d49bc);}function Un(_0x5699e6){return(Math['exp'](_0x5699e6)-Math['exp'](-_0x5699e6))/0x2;}function Vn(_0x1a1323){return(Math['exp'](_0x1a1323)+Math['exp'](-_0x1a1323))/0x2;}function qn(_0x64f5c6){return _0x64f5c6===0x1/0x0?0x1:_0x64f5c6===-0x1/0x0?-0x1:(Math['exp'](_0x64f5c6)-Math['exp'](-_0x64f5c6))/(Math['exp'](_0x64f5c6)+Math['exp'](-_0x64f5c6));}function Bn(_0xb2bee1){return _0xb2bee1===-0x1/0x0?_0xb2bee1:Math['log'](_0xb2bee1+Math['sqrt'](_0xb2bee1*_0xb2bee1+0x1));}function $n(_0x3e5e04){return Math['log'](_0x3e5e04+Math['sqrt'](_0x3e5e04*_0x3e5e04-0x1));}function Jn(_0x19e5f0){return Math['log']((0x1+_0x19e5f0)/(0x1-_0x19e5f0))/0x2;}function Hn(_0x513d65){return Math['log'](_0x513d65)*Math['LOG10E'];}function Gn(_0x22aee4){return-_0x22aee4;}function Wn(_0x60624d){return!_0x60624d;}function Xn(_0x1409e9){return _0x1409e9<0x0?Math['ceil'](_0x1409e9):Math['floor'](_0x1409e9);}function Yn(_0x158e44){return Math['random']()*(_0x158e44||0x1);}function Zn(_0x4a62e2){return ei(_0x4a62e2+0x1);}xn['prototype']['parseTerm']=function(_0x3140ce){for(this['parseFactor'](_0x3140ce);this['accept'](hn,Sn);){var _0x4ab9de=this['current'];this['parseFactor'](_0x3140ce),_0x3140ce['push'](Wt(_0x4ab9de['value']));}},xn['prototype']['parseFactor']=function(_0x287678){var _0x663c3e=this['tokens']['unaryOps'];if(this['save'](),this['accept'](hn,function(_0x4e13be){return _0x4e13be['value']in _0x663c3e;})){if('-'!==this['current']['value']&&'+'!==this['current']['value']){if(this['nextToken']['type']===pn&&'('===this['nextToken']['value'])return this['restore'](),void this['parseExponential'](_0x287678);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'](_0x287678);}var _0x2092a9=this['current'];this['parseFactor'](_0x287678),_0x287678['push'](Gt(_0x2092a9['value']));}else this['parseExponential'](_0x287678);},xn['prototype']['parseExponential']=function(_0x304ba1){for(this['parsePostfixExpression'](_0x304ba1);this['accept'](hn,'^');)this['parseFactor'](_0x304ba1),_0x304ba1['push'](Wt('^'));},xn['prototype']['parsePostfixExpression']=function(_0x43d474){for(this['parseFunctionCall'](_0x43d474);this['accept'](hn,'!');)_0x43d474['push'](Gt('!'));},xn['prototype']['parseFunctionCall']=function(_0x1738e0){var _0x39f3ee=this['tokens']['unaryOps'];if(this['accept'](hn,function(_0x24c3e5){return _0x24c3e5['value']in _0x39f3ee;})){var _0x4c85ca=this['current'];this['parseAtom'](_0x1738e0),_0x1738e0['push'](Gt(_0x4c85ca['value']));}else for(this['parseMemberExpression'](_0x1738e0);this['accept'](pn,'(');)if(this['accept'](pn,')'))_0x1738e0['push'](new Ht(Nt,0x0));else{var _0x4080fb=this['parseArgumentList'](_0x1738e0);_0x1738e0['push'](new Ht(Nt,_0x4080fb));}},xn['prototype']['parseArgumentList']=function(_0xf6f69b){for(var _0x377d31=0x0;!this['accept'](pn,')');)for(this['parseExpression'](_0xf6f69b),++_0x377d31;this['accept'](gn);)this['parseExpression'](_0xf6f69b),++_0x377d31;return _0x377d31;},xn['prototype']['parseMemberExpression']=function(_0x14795b){for(this['parseAtom'](_0x14795b);this['accept'](hn,'.')||this['accept'](mn,'[');){var _0x4c17da=this['current'];if('.'===_0x4c17da['value']){if(!this['allowMemberAccess'])throw new Error('unexpected\x20\x22.\x22,\x20member\x20access\x20is\x20not\x20permitted');this['expect'](fn),_0x14795b['push'](new Ht(Bt,this['current']['value']));}else{if('['!==_0x4c17da['value'])throw new Error('unexpected\x20symbol:\x20'+_0x4c17da['value']);if(!this['tokens']['isOperatorEnabled']('['))throw new Error('unexpected\x20\x22[]\x22,\x20arrays\x20are\x20disabled');this['parseExpression'](_0x14795b),this['expect'](mn,']'),_0x14795b['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(_0x313827){var _0x5a632e,_0x8bae61;if(function(_0x44e660){return isFinite(_0x44e660)&&_0x44e660===Math['round'](_0x44e660);}(_0x313827)){if(_0x313827<=0x0)return isFinite(_0x313827)?0x1/0x0:NaN;if(_0x313827>0xab)return 0x1/0x0;for(var _0x5c19a0=_0x313827-0x2,_0x28941a=_0x313827-0x1;_0x5c19a0>0x1;)_0x28941a*=_0x5c19a0,_0x5c19a0--;return 0x0===_0x28941a&&(_0x28941a=0x1),_0x28941a;}if(_0x313827<0.5)return Math['PI']/(Math['sin'](Math['PI']*_0x313827)*ei(0x1-_0x313827));if(_0x313827>=171.35)return 0x1/0x0;if(_0x313827>0x55){var _0x5b7a3e=_0x313827*_0x313827,_0x4579f3=_0x5b7a3e*_0x313827,_0x4e1c6a=_0x4579f3*_0x313827,_0x2d201c=_0x4e1c6a*_0x313827;return Math['sqrt'](0x2*Math['PI']/_0x313827)*Math['pow'](_0x313827/Math['E'],_0x313827)*(0x1+0x1/(0xc*_0x313827)+0x1/(0x120*_0x5b7a3e)-0x8b/(0xca80*_0x4579f3)-0x23b/(0x25f800*_0x4e1c6a)+0x28027/(0xc756000*_0x2d201c)+0x500f63/(0x11850f0000*_0x2d201c*_0x313827));}--_0x313827,_0x8bae61=Kn[0x0];for(var _0x2f522f=0x1;_0x2f522f<Kn['length'];++_0x2f522f)_0x8bae61+=Kn[_0x2f522f]/(_0x313827+_0x2f522f);return _0x5a632e=_0x313827+Qn+0.5,Math['sqrt'](0x2*Math['PI'])*Math['pow'](_0x5a632e,_0x313827+0.5)*Math['exp'](-_0x5a632e)*_0x8bae61;}function ti(_0x1535f8){return Array['isArray'](_0x1535f8)?_0x1535f8['length']:String(_0x1535f8)['length'];}function ni(){for(var _0x5f191c=0x0,_0xd2bb44=0x0,_0x14c068=0x0;_0x14c068<arguments['length'];_0x14c068++){var _0x42daa2,_0x9d9b2c=Math['abs'](arguments[_0x14c068]);_0xd2bb44<_0x9d9b2c?(_0x5f191c=_0x5f191c*(_0x42daa2=_0xd2bb44/_0x9d9b2c)*_0x42daa2+0x1,_0xd2bb44=_0x9d9b2c):_0x5f191c+=_0x9d9b2c>0x0?(_0x42daa2=_0x9d9b2c/_0xd2bb44)*_0x42daa2:_0x9d9b2c;}return _0xd2bb44===0x1/0x0?0x1/0x0:_0xd2bb44*Math['sqrt'](_0x5f191c);}function ii(_0x3a980c,_0x17685c,_0x30e533){return _0x3a980c?_0x17685c:_0x30e533;}function si(_0x28ec5e,_0x198cd8){return void 0x0===_0x198cd8||0x0===+_0x198cd8?Math['round'](_0x28ec5e):(_0x28ec5e=+_0x28ec5e,_0x198cd8=-+_0x198cd8,isNaN(_0x28ec5e)||'number'!=typeof _0x198cd8||_0x198cd8%0x1!=0x0?NaN:(_0x28ec5e=_0x28ec5e['toString']()['split']('e'),+((_0x28ec5e=(_0x28ec5e=Math['round'](+(_0x28ec5e[0x0]+'e'+(_0x28ec5e[0x1]?+_0x28ec5e[0x1]-_0x198cd8:-_0x198cd8))))['toString']()['split']('e'))[0x0]+'e'+(_0x28ec5e[0x1]?+_0x28ec5e[0x1]+_0x198cd8:_0x198cd8))));}function ri(_0x4a3cdf,_0x1b5767,_0x5e3618){return _0x5e3618&&(_0x5e3618[_0x4a3cdf]=_0x1b5767),_0x1b5767;}function ai(_0x4d3c2b,_0x2cf1fd){return _0x4d3c2b[0x0|_0x2cf1fd];}function oi(_0x1ac8ac){return 0x1===arguments['length']&&Array['isArray'](_0x1ac8ac)?Math['max']['apply'](Math,_0x1ac8ac):Math['max']['apply'](Math,arguments);}function li(_0x5f0261){return 0x1===arguments['length']&&Array['isArray'](_0x5f0261)?Math['min']['apply'](Math,_0x5f0261):Math['min']['apply'](Math,arguments);}function ci(_0x176ed8,_0xadf252){if('function'!=typeof _0x176ed8)throw new Error('First\x20argument\x20to\x20map\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0xadf252))throw new Error('Second\x20argument\x20to\x20map\x20is\x20not\x20an\x20array');return _0xadf252['map'](function(_0x136d91,_0x29075e){return _0x176ed8(_0x136d91,_0x29075e);});}function hi(_0x10221e,_0x1a7ad7,_0x108def){if('function'!=typeof _0x10221e)throw new Error('First\x20argument\x20to\x20fold\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x108def))throw new Error('Second\x20argument\x20to\x20fold\x20is\x20not\x20an\x20array');return _0x108def['reduce'](function(_0x58e210,_0x297f33,_0x1d0974){return _0x10221e(_0x58e210,_0x297f33,_0x1d0974);},_0x1a7ad7);}function ui(_0x5faebe,_0x1ee305){if('function'!=typeof _0x5faebe)throw new Error('First\x20argument\x20to\x20filter\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x1ee305))throw new Error('Second\x20argument\x20to\x20filter\x20is\x20not\x20an\x20array');return _0x1ee305['filter'](function(_0x2f8032,_0x226bcf){return _0x5faebe(_0x2f8032,_0x226bcf);});}function di(_0x3d0cdb,_0x20202c){if(!Array['isArray'](_0x20202c)&&'string'!=typeof _0x20202c)throw new Error('Second\x20argument\x20to\x20indexOf\x20is\x20not\x20a\x20string\x20or\x20array');return _0x20202c['indexOf'](_0x3d0cdb);}function pi(_0x27a3f9,_0x4f9dd2){if(!Array['isArray'](_0x4f9dd2))throw new Error('Second\x20argument\x20to\x20join\x20is\x20not\x20an\x20array');return _0x4f9dd2['join'](_0x27a3f9);}function mi(_0x570e74){return(_0x570e74>0x0)-(_0x570e74<0x0)||+_0x570e74;}var gi=0x1/0x3;function fi(_0x4f1a92){return _0x4f1a92<0x0?-Math['pow'](-_0x4f1a92,gi):Math['pow'](_0x4f1a92,gi);}function yi(_0x407bad){return Math['exp'](_0x407bad)-0x1;}function vi(_0x29c54a){return Math['log'](0x1+_0x29c54a);}function bi(_0x105086){return Math['log'](_0x105086)/Math['LN2'];}function wi(_0x209413){if(!Array['isArray'](_0x209413))throw new Error('Sum\x20argument\x20is\x20not\x20an\x20array');return _0x209413['reduce'](function(_0x3f8344,_0x411a78){return _0x3f8344+Number(_0x411a78);},0x0);}function xi(_0x530606){this['options']=_0x530606||{},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(_0xbcd895){var _0x3fd998=[],_0x38e384=new xn(this,new bn(this,_0xbcd895),{'allowMemberAccess':this['options']['allowMemberAccess']});return _0x38e384['parseExpression'](_0x3fd998),_0x38e384['expect'](cn,'EOF'),new ln(_0x3fd998,this);},xi['prototype']['evaluate']=function(_0x274050,_0x3db48d){return this['parse'](_0x274050)['evaluate'](_0x3db48d);};var Mi=new xi();xi['parse']=function(_0xa70052){return Mi['parse'](_0xa70052);},xi['evaluate']=function(_0x43a117,_0x231806){return Mi['parse'](_0x43a117)['evaluate'](_0x231806);};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(_0x5b0e54){var _0x4a4ca6=function(_0x365f56){return Object['hasOwn'](_i,_0x365f56)?_i[_0x365f56]:_0x365f56;}(_0x5b0e54),_0x3a842f=this['options']['operators']||{};return!(_0x4a4ca6 in _0x3a842f)||!!_0x3a842f[_0x4a4ca6];};class Si extends xi{constructor(..._0x10afdd){super(..._0x10afdd);const _0x347fb7=this;_0x347fb7['unaryOps']={'-':_0x347fb7['unaryOps']['-'],'+':_0x347fb7['unaryOps']['+'],'!':_0x347fb7['unaryOps']['not'],'not':_0x347fb7['unaryOps']['not']},_0x347fb7['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':_0x2a6296=>_0x2a6296*(Math['PI']/0xb4),'degrees':_0x2777a7=>_0x2777a7*(0xb4/Math['PI']),'__read_property__':(_0x1afa2c,..._0x41955b)=>{let _0x59f4e5=_0x1afa2c;for(let _0x1c4698=0x0,_0x696c52=_0x41955b['length'];_0x1c4698<_0x696c52;_0x1c4698++)_0x59f4e5=_0x59f4e5[_0x41955b[_0x1c4698]];return _0x59f4e5;}},_0x347fb7['binaryOps']={..._0x347fb7['binaryOps'],'+':(_0x4d4c91,_0x220bea)=>(kt(_0x4d4c91)&&(_0x4d4c91=Number(_0x4d4c91)),kt(_0x220bea)&&(_0x220bea=Number(_0x220bea)),_0x4d4c91+_0x220bea),'in':(_0x4fd2ad,_0x166017)=>Array['isArray'](_0x166017)||'string'==typeof _0x166017?_0x166017['includes'](_0x4fd2ad):_0x4fd2ad in _0x166017,'||':(_0x1993e8,_0x4b9063)=>Boolean(_0x1993e8||_0x4b9063)},_0x347fb7['consts']={..._0x347fb7['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'](_0x591a43){throw new Error('XacroParser:\x20getFileContents()\x20not\x20implemented.');}async['parse'](_0x1909b8){function _0x5063d1(_0x549954,_0x265021,_0x3b7ec9=!0x1){const _0x322276=[],_0x25bc88=Ot(_0x546466,_0x265021);try{let _0x1d98a3=function _0x478344(_0x581e67,_0x32bc13){if('string'!=typeof _0x581e67)return _0x581e67;const _0x3ec401=_0x581e67['split'](/(\$?\$\([^)]+\))|(\$?\${[^}]+})/g)['filter'](_0x57fda4=>!!_0x57fda4)['map'](_0x3c9cac=>{if(!/^\$[{(].+/['test'](_0x3c9cac))return _0x3c9cac;if(/^\$\$/['test'](_0x3c9cac))return _0x3c9cac;const _0x3c6f0b=/^\$\(/['test'](_0x3c9cac);let _0x31d101=_0x3c9cac['substring'](0x2,_0x3c9cac['length']-0x1);if(_0x31d101=_0x478344(_0x31d101,_0x32bc13),/\[.+\]$/['test'](_0x31d101)&&(_0x31d101=_0x31d101['replace'](/([^[\s]+)(\[[^[]+\])+/g,(_0x1340f2,..._0xc80da4)=>{const _0x1d9af3=_0x1340f2['split'](/[[\]]+/g);return _0x1d9af3['pop'](),'__read_property__(\x20'+_0x1d9af3['join'](',')+'\x20)';})),!_0x3c6f0b){if(_0x322276['includes'](_0x31d101))throw new Error('XacroParser:\x20Cannot\x20evaluate\x20infinitely\x20recursive\x20expression:\x20'+_0x322276['join']('\x20>\x20')+'\x20>\x20'+_0x31d101);_0x322276['push'](_0x31d101);const _0x7aa2c7=/([()/*+!\-%|&=])+/g,_0x14bc63=function(_0xbe31a5){return _0xbe31a5['replace'](/(('[^']*?')|("[^"]*?")|(`[^`]*?`)|([()/*+\-%|!&=]+?))/g,_0x2107ac=>'\x20'+_0x2107ac+'\x20')['trim']()['split'](/\s+/g);}(_0x31d101)['map'](_0x5bfacb=>{if(_0x7aa2c7['lastIndex']=0x0,function(_0x38f42e){return/^[()/*+\-%|&=[\]]+$/['test'](_0x38f42e);}(_0x5bfacb))return _0x5bfacb;if(kt(_0x5bfacb))return _0x5bfacb;if(jt(_0x5bfacb))return _0x5bfacb;if(_0x5bfacb in _0x32bc13){const _0x66b75b=_0x478344(_0x32bc13[_0x5bfacb],_0x32bc13);return kt(_0x66b75b)||'object'==typeof _0x66b75b?_0x66b75b:'\x22'+_0x66b75b['toString']()['replace'](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')+'\x22';}return _0x5bfacb;})['map'](_0x5bc528=>(_0x7aa2c7['lastIndex']=0x0,/^[^0-9.]/['test'](_0x5bc528)&&!_0x7aa2c7['test'](_0x5bc528)?'\x20'+_0x5bc528+'\x20':_0x5bc528))['join']('');if(_0x322276['pop'](),jt(_0x14bc63))return _0x14bc63['substring'](0x1,_0x14bc63['length']-0x1);if(kt(_0x14bc63))return _0x14bc63;{const _0x372000=function(_0x5d086b){return _0x5d086b['replace'](/[-+]{2,}/,_0x509372=>{let _0x3c26fb=!0x0;for(let _0x1f09dd=0x0,_0x207f75=_0x509372['length'];_0x1f09dd<_0x207f75;_0x1f09dd++)'-'===_0x509372[_0x1f09dd]&&(_0x3c26fb=!_0x3c26fb);return _0x3c26fb?'+':'-';});}(_0x14bc63);return _0x558f4c['evaluate'](_0x372000,_0x32bc13);}}{const _0x5c9542=_0x478344(_0x31d101,_0x32bc13)['split'](/\s+/g),_0xd1e995=_0x5c9542['shift']();try{return _0x3a47e5(_0xd1e995,..._0x5c9542);}catch(_0x2950b6){throw new Error('XacroParser:\x20Cannot\x20run\x20rospack\x20command\x20\x22'+_0x31d101+'\x22.\x0a'+_0x2950b6['message']);}}}),_0x2f896e=_0x3ec401['filter'](_0x972ae8=>('string'==typeof _0x972ae8&&(_0x972ae8=_0x972ae8['trim']()),''!==_0x972ae8&&null!=_0x972ae8));return 0x1===_0x2f896e['length']?_0x2f896e[0x0]:_0x3ec401['join']('');}(_0x549954,_0x25bc88);return _0x3b7ec9&&'string'==typeof _0x1d98a3&&(_0x1d98a3=_0x1d98a3['replace'](/\${2}([({])/g,(_0x5b0104,_0x8475c2)=>'$'+_0x8475c2)),_0x1d98a3;}catch(_0x2ce58d){throw new Error('XacroParser:\x20Failed\x20to\x20process\x20expression\x20\x22'+_0x549954+'\x22.\x20\x0a'+_0x2ce58d['message']);}}async function _0x4b2382(_0x3e71d9,_0x1e12e6,_0x21875a,_0x2eddc2){const _0x5337bd=_0x3e71d9['tagName']['replace'](/^xacro:/,''),_0x39ea51=_0x21875a[_0x5337bd];if(!_0x39ea51)throw new Error('XacroParser:\x20Cannot\x20find\x20macro\x20\x22'+_0x5337bd+'\x22');const _0x4ac6ec=_0x1e12e6,_0x20b36a=_0x21875a;_0x1e12e6=function(_0x5d0897){const _0x32bcc1=Ot(_0x5d0897);return _0x32bcc1[Tt]=_0x5d0897,_0x32bcc1;}(_0x1e12e6),_0x21875a=Ot(_0x21875a);let _0x57f798=[];for(const _0x57942a of _0x3e71d9['children'])await _0x21d55d(_0x57942a,_0x4ac6ec,_0x20b36a,_0x57f798);_0x57f798=_0x57f798['filter'](_0x11349f=>_0x11349f['nodeType']===_0x11349f['ELEMENT_NODE']);let _0x26d732=0x0;for(const _0x22f90b in _0x39ea51['params']){const _0x55060d=_0x39ea51['params'][_0x22f90b];_0x3e71d9['hasAttribute'](_0x22f90b)?_0x1e12e6[_0x22f90b]=_0x5063d1(_0x3e71d9['getAttribute'](_0x22f90b),_0x4ac6ec):'BLOCK'===_0x55060d['type']?(_0x1e12e6[_0x22f90b]=[_0x57f798[_0x26d732]],_0x26d732++):'MULTI_BLOCK'===_0x55060d['type']?_0x1e12e6[_0x22f90b]=[..._0x57f798['filter'](_0x5f5956=>_0x5f5956['tagName']===_0x22f90b)[0x0]['childNodes']]:_0x1e12e6[_0x22f90b]=_0x5063d1(_0x39ea51['params'][_0x22f90b]['def'],_0x4ac6ec);}const _0x40927d=[..._0x39ea51['node']['childNodes']];for(const _0x5b8d25 of _0x40927d){const _0x2bdec8=[];await _0x21d55d(_0x5b8d25,_0x1e12e6,_0x21875a,_0x2bdec8),_0x2eddc2['push'](..._0x2bdec8);}}function _0x1edc9e(_0x23cf94){const _0x30247c=_0x23cf94['getAttribute']('name')['replace'](/^xacro:/,''),_0x5459ea=_0x23cf94['getAttribute']('params'),_0xd01919={};if(_0x5459ea){const _0x18a7a9=_0x5459ea['trim']()['match'](/[^\s']+('[^']*')?/g)['map'](_0x4aa38a=>function(_0x33bff6){const _0x2e63ba={};if(/^\*\*/['test'](_0x33bff6)?_0x2e63ba['type']='MULTI_BLOCK':/^\*/['test'](_0x33bff6)?_0x2e63ba['type']='BLOCK':_0x2e63ba['type']='PARAM',_0x33bff6=_0x33bff6['replace'](/^\*{1,2}/g,''),/:?=/['test'](_0x33bff6)){const [_0x494ce0,_0x21f133]=_0x33bff6['split'](/:?=/);if(/^\^/['test'](_0x21f133)||/\|/['test'](_0x21f133))throw new Error('XacroParser:\x20ROS\x20Jade\x20pass-through\x20notation\x20not\x20supported\x20in\x20macro\x20defaults:\x20'+_0x21f133);_0x2e63ba['name']=_0x494ce0,_0x21f133['startsWith']('\x27')&&_0x21f133['endsWith']('\x27')?_0x2e63ba['def']=_0x21f133['substring'](0x1,_0x21f133['length']-0x1):_0x2e63ba['def']=_0x21f133;}else _0x2e63ba['name']=_0x33bff6,_0x2e63ba['def']=null;return _0x2e63ba;}(_0x4aa38a));_0x18a7a9['forEach'](_0x5a8559=>{_0xd01919[_0x5a8559['name']]=_0x5a8559;});}return{'name':_0x30247c,'node':Et(_0x23cf94,!0x1),'params':_0xd01919};}async function _0x21d55d(_0x4923ed,_0x129e52,_0x146dc9,_0x1b6fcf=[]){if(_0x4923ed['nodeType']===_0x4923ed['TEXT_NODE']){const _0x5cacaf=_0x4923ed['cloneNode']();return _0x5cacaf['textContent']=_0x5063d1(_0x5cacaf['textContent'],_0x129e52,!0x0),void _0x1b6fcf['push'](_0x5cacaf);}if(_0x4923ed['nodeType']!==_0x4923ed['ELEMENT_NODE'])return void _0x1b6fcf['push'](_0x4923ed['cloneNode']());let _0x197ae5=_0x4923ed['tagName']['toLowerCase']();if(!_0x387ff7)switch(_0x197ae5){case'arg':case'property':case'macro':case'insert_block':case'if':case'unless':case'include':case'element':case'attribute':_0x197ae5='xacro:'+_0x197ae5;break;default:_0x197ae5 in _0x146dc9&&(_0x197ae5='xacro:'+_0x197ae5);}switch(_0x197ae5){case'xacro:property':{Ct(_0x1b6fcf);const _0x3557e6=_0x4923ed['getAttribute']('name');let _0xa3ed33;if(_0x4923ed['hasAttribute']('value'))_0xa3ed33=_0x4923ed['getAttribute']('value');else if(_0x4923ed['hasAttribute']('default'))_0xa3ed33=_0x4923ed['getAttribute']('default');else{const _0x1314be=[..._0x4923ed['childNodes']];_0xa3ed33=[];for(const _0x2002ed of _0x1314be)_0xa3ed33['push'](Et(_0x2002ed,!0x1));}let _0x53ae66='global';_0x5ba88e&&(_0x53ae66=_0x4923ed['getAttribute']('scope')||'local'),'local'!==_0x53ae66&&(_0xa3ed33=_0x5063d1(_0xa3ed33,_0x129e52)),'global'===_0x53ae66?_0x546466[_0x3557e6]=_0xa3ed33:'parent'===_0x53ae66?_0x129e52[Tt][_0x3557e6]=_0xa3ed33:_0x129e52[_0x3557e6]=_0xa3ed33;break;}case'xacro:macro':{Ct(_0x1b6fcf);const _0x3e4a11=_0x1edc9e(_0x4923ed);_0x146dc9[_0x3e4a11['name']]=_0x3e4a11;break;}case'xacro:insert_block':{Ct(_0x1b6fcf);const _0x5780bc=_0x129e52[_0x4923ed['getAttribute']('name')];for(const _0x2b0ca7 of _0x5780bc)await _0x21d55d(_0x2b0ca7,_0x129e52,_0x146dc9,_0x1b6fcf);return;}case'xacro:if':case'xacro:unless':{Ct(_0x1b6fcf);const _0x51b982=_0x5063d1(_0x4923ed['getAttribute']('value'),_0x129e52,!0x0);let _0x2db3a9=null;if(_0x2db3a9=isNaN(parseFloat(_0x51b982))?'true'===_0x51b982||'false'===_0x51b982?'true'===_0x51b982:_0x51b982:!!parseFloat(_0x51b982),'xacro:unless'===_0x197ae5&&(_0x2db3a9=!_0x2db3a9),_0x2db3a9){const _0x34c6a5=[..._0x4923ed['childNodes']];for(const _0x401459 of _0x34c6a5)await _0x21d55d(_0x401459,_0x129e52,_0x146dc9,_0x1b6fcf);}return;}case'xacro:include':{if(Ct(_0x1b6fcf),_0x4923ed['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x40d447=_0x5063d1(_0x4923ed['getAttribute']('filename'),_0x129e52,!0x0),_0x2c0c76=/^[/\\]/['test'](_0x40d447)||/^[a-zA-Z]+:[/\\]/['test'](_0x40d447)?_0x40d447:_0x457271+_0x40d447,_0xfdc555=_0x457271;_0x457271=At(_0x2c0c76);const _0x332a54=[...(await _0x3e9014(_0x2c0c76))['children'][0x0]['childNodes']];for(const _0x376059 of _0x332a54)await _0x21d55d(_0x376059,_0x129e52,_0x146dc9,_0x1b6fcf);return void(_0x457271=_0xfdc555);}case'xacro:arg':{const _0x2aad04=_0x4923ed['getAttribute']('name');return void(_0x3100e2[_0x2aad04]=_0x5063d1(_0x4923ed['getAttribute']('default'),_0x129e52,!0x0));}case'xacro:attribute':case'xacro:element':throw new Error('XacroParser:\x20'+_0x197ae5+'\x20tags\x20not\x20supported.');default:if(/^xacro:/['test'](_0x197ae5)||_0x197ae5 in _0x146dc9)return Ct(_0x1b6fcf),_0x4b2382(_0x4923ed,_0x129e52,_0x146dc9,_0x1b6fcf);{const _0x3ed417=_0x4923ed['cloneNode']();for(let _0x248d3e=0x0,_0x32a874=_0x3ed417['attributes']['length'];_0x248d3e<_0x32a874;_0x248d3e++){const _0x4d01fc=_0x3ed417['attributes'][_0x248d3e],_0x330540=_0x5063d1(_0x4d01fc['value'],_0x129e52,!0x0);_0x3ed417['setAttribute'](_0x4d01fc['name'],_0x330540);}const _0x55353a=[..._0x4923ed['childNodes']],_0xee885a=[];for(let _0x1b496d=0x0,_0x110656=_0x55353a['length'];_0x1b496d<_0x110656;_0x1b496d++)await _0x21d55d(_0x55353a[_0x1b496d],_0x129e52,_0x146dc9,_0xee885a);_0xee885a['forEach'](_0x42e02b=>_0x3ed417['appendChild'](_0x42e02b)),_0x1b6fcf['push'](_0x3ed417);}}}async function _0x126094(_0x54253e,_0x3082f9,_0x2c4135){const _0x4c3f11=Lt(_0x54253e,'xacro:property');_0x387ff7||_0x4c3f11['push'](...Lt(_0x54253e,'property'));for(const _0x2314e0 of _0x4c3f11)await _0x21d55d(_0x2314e0,_0x3082f9,_0x2c4135);const _0x40f0d1=Lt(_0x54253e,'xacro:macro');_0x387ff7||_0x40f0d1['push'](...Lt(_0x54253e,'macro'));for(const _0x35ebb3 of _0x40f0d1)await _0x21d55d(_0x35ebb3,_0x3082f9,_0x2c4135);}async function _0x3e9014(_0x36a0fb){try{const _0x4a489a=await _0x318f3a['getFileContents'](_0x36a0fb);return new DOMParser()['parseFromString'](_0x4a489a,'text/xml');}catch(_0x38309e){throw new Error('XacroParser:\x20Could\x20not\x20load\x20included\x20file:\x20'+_0x36a0fb);}}async function _0x44884b(_0x598107,_0x301160,_0xf05f4b=[]){const _0x34a5e3=Lt(_0x598107,'xacro:include');_0x387ff7||_0x34a5e3['push'](...Lt(_0x598107,'include'));const _0x1194d9=_0x34a5e3['map'](_0x15b93d=>{if(_0x15b93d['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x45904e=_0x15b93d['getAttribute']('filename'),_0x1880a5=_0x15b93d['getAttribute']('ns')||null,_0x589ede=/^[/\\]/['test'](_0x45904e)||/^[a-zA-Z]+:[/\\]/['test'](_0x45904e)?_0x45904e:_0x301160+_0x45904e;return _0x3e9014(_0x589ede)['then'](_0x380bea=>{_0xf05f4b['push']({'filename':_0x45904e,'namespace':_0x1880a5,'content':_0x380bea});return _0x44884b(_0x380bea,At(_0x589ede),_0xf05f4b);});});return await Promise['all'](_0x1194d9),_0xf05f4b;}const _0x318f3a=this,_0x3f9f97=this['inOrder'],_0x161a8d=this['workingPath']+(this['workingPath']&&!/[\\/]$/['test'](this['workingPath'])?'/':''),_0x387ff7=this['requirePrefix'],_0x2a4288=this['rospackCommands'],_0x3235e8={},_0x47e8f9={},_0x3100e2={},_0x546466={'True':0x1,'False':0x0};_0x546466[Tt]=_0x546466;const _0x3a47e5=(_0x2ba8da,..._0x34143a)=>{let _0x420ec8;if(_0x2a4288 instanceof Function&&(_0x420ec8=_0x2a4288(_0x2ba8da,..._0x34143a)),null==_0x420ec8&&null!=_0x2a4288&&'function'==typeof _0x2a4288[_0x2ba8da]&&(_0x420ec8=_0x2a4288[_0x2ba8da](..._0x34143a)),null==_0x420ec8&&'arg'===_0x2ba8da){const _0x2347d8=_0x34143a[0x0];if(void 0x0===_0x2347d8)throw new Error('XacroParser:\x20$(arg)\x20must\x20specify\x20a\x20variable\x20name');if(_0x420ec8=this['arguments'][_0x2347d8],null==_0x420ec8&&(_0x420ec8=_0x3100e2[_0x2347d8]),null==_0x420ec8)throw new Error('XacroParser:\x20Undefined\x20substitution\x20argument\x20'+_0x2347d8);}return _0x420ec8;},_0x558f4c=this['expressionParser'];let _0x5ba88e=this['localProperties'],_0x457271=_0x161a8d,_0x37e732=new DOMParser()['parseFromString'](_0x1909b8,'text/xml');_0x5ba88e&&!_0x3f9f97&&(_0x5ba88e=!0x1);let _0x58b68b=null;return _0x58b68b=_0x3f9f97?Promise['resolve']():(async function(){return await _0x126094(_0x37e732,_0x546466,_0x3235e8),_0x37e732=Et(_0x37e732,!0x0),_0x44884b(_0x37e732,_0x161a8d)['then'](_0xaefa18=>{_0xaefa18['forEach'](_0x7863c9=>{_0x126094(_0x7863c9['content'],_0x546466,_0x3235e8),_0x7863c9['content']=Et(_0x7863c9['content'],!0x0),_0x47e8f9[_0x7863c9['filename']]=_0x7863c9['content'];});});}()),await _0x58b68b,async function(_0x4c5a58,_0x4832f6,_0x5b3edd){const _0x118338=_0x4c5a58['cloneNode']();for(let _0x3b2b76=0x0,_0x5183b6=_0x4c5a58['children']['length'];_0x3b2b76<_0x5183b6;_0x3b2b76++){const _0x187a61=[];await _0x21d55d(_0x4c5a58['children'][_0x3b2b76],_0x4832f6,_0x5b3edd,_0x187a61);const _0x5a97c8=_0x187a61[0x0];_0x5a97c8['removeAttribute']('xmlns:xacro'),_0x118338['appendChild'](_0x5a97c8);}return _0x118338;}(_0x37e732,_0x546466,_0x3235e8);}}class Li{static async['parse'](_0x4ef515,_0x2e109f,_0x2e3208=null,_0x44df93=null,_0x5d93be={}){try{const _0x3ecf58=new Ai();_0x3ecf58['inOrder']=!0x0,_0x3ecf58['requirePrefix']=!0x0,_0x3ecf58['localProperties']=!0x0;const _0x347495=_0x2e109f['includes']('/')?_0x2e109f['substring'](0x0,_0x2e109f['lastIndexOf']('/')+0x1):'';_0x3ecf58['workingPath']=_0x347495,_0x4ef515=this['injectBooleanConstants'](_0x4ef515);const _0x1b7a0=this['extractXacroArguments'](_0x4ef515);_0x1b7a0['hasOwnProperty']('DEBUG')||(_0x1b7a0['DEBUG']='false'),_0x1b7a0['hasOwnProperty']('SELF_COLLIDE')||(_0x1b7a0['SELF_COLLIDE']='false'),_0x3ecf58['arguments']=_0x1b7a0,_0x2e3208&&(_0x3ecf58['getFileContents']=async _0x5e17d3=>await this['loadFileFromMap'](_0x5e17d3,_0x2e3208,_0x347495));const _0x1ea64f=await _0x3ecf58['parse'](_0x4ef515),_0x25aa8e=new XMLSerializer();let _0x5c7eaf=_0x25aa8e['serializeToString'](_0x1ea64f);_0x5c7eaf=_0x5c7eaf['replace'](/\sxmlns=""/g,'');const _0x5edbaf=new DOMParser()['parseFromString'](_0x5c7eaf,'text/xml'),_0xc23b2e=_0x5edbaf['querySelector']('parsererror');if(_0xc23b2e)throw new Error('Generated\x20URDF\x20has\x20invalid\x20XML:\x20'+_0xc23b2e['textContent']);_0x5edbaf['querySelectorAll']('gazebo')['forEach'](_0x443d8d=>{var _0x25ae6b;return null==(_0x25ae6b=_0x443d8d['parentNode'])?void 0x0:_0x25ae6b['removeChild'](_0x443d8d);});_0x5edbaf['querySelectorAll']('transmission')['forEach'](_0x45f29a=>{var _0x169468;return null==(_0x169468=_0x45f29a['parentNode'])?void 0x0:_0x169468['removeChild'](_0x45f29a);}),this['removeEmptyGeometry'](_0x5edbaf),this['cleanXMLNodes'](_0x5edbaf['documentElement']);const _0x1afb4e=_0x25aa8e['serializeToString'](_0x5edbaf),_0x975b6c=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url),_0x479e42=_0x975b6c['URDFLoader']||_0x975b6c['default']||_0x975b6c;return new Promise((_0x38351f,_0x1d9311)=>{const _0x238f4c=new _0x479e42();_0x238f4c['parseCollision']=!0x0;const _0x1d84b5=_0x347495;if(_0x2e3208){const _0x193f2e=this['extractPackagesFromURDF'](_0x1afb4e),_0xe6a4bd={};_0x193f2e['forEach'](_0x5b8bad=>{_0xe6a4bd[_0x5b8bad]=_0x5b8bad;}),_0xe6a4bd['']='',_0x238f4c['packages']=_0xe6a4bd;const _0x13acf6=_0x4d6442=>{if(_0x4d6442['startsWith']('blob:')){const _0x4fcb3d=_0x4d6442['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x4fcb3d||!_0x4fcb3d[0x1])return _0x4d6442;{const _0x124abb=_0x4fcb3d[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x124abb))return _0x4d6442;_0x4d6442=_0x124abb;}}/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp)$/i['test'](_0x4d6442),/\.(dae|stl|obj|gltf|glb)$/i['test'](_0x4d6442);let _0x4a8bc8=_0x4d6442;if(_0x4a8bc8['startsWith']('http://')||_0x4a8bc8['startsWith']('https://'))try{_0x4a8bc8=new URL(_0x4a8bc8)['pathname'],_0x4a8bc8['startsWith']('/')&&(_0x4a8bc8=_0x4a8bc8['substring'](0x1));}catch(_0x4583b2){}const _0x17bc54=bt(_0x4a8bc8,_0x2e3208,{'baseDir':_0x1d84b5});if(_0x17bc54){return URL['createObjectURL'](_0x17bc54);}return _0x4d6442;};_0x238f4c['manager']['setURLModifier'](_0x13acf6);const _0x478783=_0x238f4c['loadMeshCb']||_0x238f4c['defaultMeshLoader']['bind'](_0x238f4c);_0x238f4c['loadMeshCb']=(_0x5086b9,_0x21e71f,_0x19355b)=>{this['findFileInMapByPath'](_0x5086b9,_0x2e3208,_0x1d84b5)['then'](_0x361f07=>{if(_0x361f07){const _0x2e3eb4=(_0x361f07['name']||_0x5086b9)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0x361f07,_0x2e3eb4,_0x21e71f)['then'](_0x11db79=>{_0x11db79?_0x19355b(_0x11db79,null):_0x19355b(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x5086b9));})['catch'](_0x5ea141=>{_0x19355b(null,_0x5ea141);});}else _0x478783(_0x5086b9,_0x21e71f,_0x19355b);})['catch'](_0x3b93b5=>{_0x478783(_0x5086b9,_0x21e71f,_0x19355b);});};}const _0x1cdb47=new Blob([_0x1afb4e],{'type':'text/xml'}),_0xdb6628=URL['createObjectURL'](_0x1cdb47);_0x238f4c['load'](_0xdb6628,_0xa1c97d=>{URL['revokeObjectURL'](_0xdb6628);try{const _0x48822b=ut['convert'](_0xa1c97d,_0x1afb4e,_0x5d93be);_0x38351f(_0x48822b);}catch(_0x57bcf1){_0x1d9311(new Error('URDF\x20conversion\x20failed:\x20'+_0x57bcf1['message']));}},void 0x0,_0x36a5d4=>{URL['revokeObjectURL'](_0xdb6628),_0x1d9311(new Error('URDF\x20loading\x20failed:\x20'+(_0x36a5d4['message']||_0x36a5d4)));});});}catch(_0x321598){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x321598['message']);}}static async['loadFileFromMap'](_0x431e73,_0x3151ec,_0x154cea){let _0x2d4864=_0x431e73;_0x2d4864['startsWith']('/')&&(_0x2d4864=_0x2d4864['substring'](0x1)),_0x2d4864=_0x2d4864['replace'](/^\.\//,'');const _0xfb6ad1=[_0x2d4864,_0x154cea+_0x2d4864,_0x431e73,_0x154cea+_0x431e73['replace'](/^\/+/,''),_0x2d4864['includes']('/')?_0x2d4864['substring'](_0x2d4864['indexOf']('/')+0x1):_0x2d4864];for(const _0x3d9bb1 of _0xfb6ad1){const _0x596556=_0x3151ec['get'](_0x3d9bb1);if(_0x596556){return await _0x596556['text']();}}const _0x35418f=_0x2d4864['split']('/')['pop']();for(const [_0x492a83,_0xad7d23]of _0x3151ec['entries']()){if(_0x492a83['split']('/')['pop']()===_0x35418f){return await _0xad7d23['text']();}}throw new Error('Cannot\x20find\x20included\x20file:\x20'+_0x431e73);}static['removeEmptyGeometry'](_0x374e6e){_0x374e6e['querySelectorAll']('geometry')['forEach'](_0x23642d=>{if(!_0x23642d['children']||0x0===_0x23642d['children']['length']){let _0xb0e257=_0x23642d['parentNode'];if(_0xb0e257){const _0x391f5b=_0xb0e257['parentNode'];_0x391f5b&&('visual'!==_0xb0e257['nodeName']&&'collision'!==_0xb0e257['nodeName']||_0x391f5b['removeChild'](_0xb0e257));}}});}static['cleanXMLNodes'](_0x4321ac){if(!_0x4321ac||!_0x4321ac['childNodes'])return;const _0x420024=[];for(let _0x3613df=0x0;_0x3613df<_0x4321ac['childNodes']['length'];_0x3613df++){const _0x356941=_0x4321ac['childNodes'][_0x3613df];_0x356941['nodeType']===Node['COMMENT_NODE']?_0x420024['push'](_0x356941):_0x356941['nodeType']===Node['TEXT_NODE']?_0x356941['nodeValue']&&''!==_0x356941['nodeValue']['trim']()||_0x420024['push'](_0x356941):_0x356941['nodeType']===Node['ELEMENT_NODE']&&this['cleanXMLNodes'](_0x356941);}_0x420024['forEach'](_0x3f8fe2=>{_0x4321ac['removeChild'](_0x3f8fe2);});}static['extractPackagesFromURDF'](_0x374d33){const _0x318d4a=new Set(),_0x452671=/package:\/\/([^\/]+)/g;let _0xf93172;for(;null!==(_0xf93172=_0x452671['exec'](_0x374d33));)_0x318d4a['add'](_0xf93172[0x1]);return _0x318d4a;}static async['findFileInMapByPath'](_0x2318e7,_0x2be626,_0xc89c9e){return bt(_0x2318e7,_0x2be626,{'baseDir':_0xc89c9e});}static async['loadMeshFileAsync'](_0x255b42,_0x2211fa,_0x3f52b6){const _0x113384=await Ae(()=>import('./three-9c891de0.js'),[],import.meta.url),_0x2b5d28=URL['createObjectURL'](_0x255b42);try{let _0x34d2aa=null;switch(_0x2211fa){case'stl':{const {STLLoader:_0x257631}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x35dc9e=new _0x257631(_0x3f52b6),_0x16e407=await new Promise((_0x1fcd5a,_0x5f5924)=>{_0x35dc9e['load'](_0x2b5d28,_0x1fcd5a,void 0x0,_0x5f5924);}),_0x3ffe5b=new _0x113384['MeshPhongMaterial']();_0x34d2aa=new _0x113384['Mesh'](_0x16e407,_0x3ffe5b);break;}case'dae':{const {ColladaLoader:_0x44cdc1}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x53a4d5=new _0x44cdc1(_0x3f52b6);if(_0x34d2aa=(await new Promise((_0xcfbec5,_0x3dd58f)=>{_0x53a4d5['load'](_0x2b5d28,_0xcfbec5,void 0x0,_0x3dd58f);}))['scene'],_0x34d2aa&&_0x34d2aa['traverse']){const _0xba23b9=[];_0x34d2aa['traverse'](_0x467edb=>{_0x467edb['isLight']&&_0xba23b9['push'](_0x467edb);}),_0xba23b9['forEach'](_0x5c6404=>{_0x5c6404['parent']&&_0x5c6404['parent']['remove'](_0x5c6404);});}break;}case'obj':{const {OBJLoader:_0x906fc6}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x1096cd=new _0x906fc6(_0x3f52b6);_0x34d2aa=await new Promise((_0x2e6748,_0x324aca)=>{_0x1096cd['load'](_0x2b5d28,_0x2e6748,void 0x0,_0x324aca);});break;}case'gltf':case'glb':{const {GLTFLoader:_0x42f3d1}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x551a78=new _0x42f3d1(_0x3f52b6);_0x34d2aa=(await new Promise((_0x257924,_0x3e39ae)=>{_0x551a78['load'](_0x2b5d28,_0x257924,void 0x0,_0x3e39ae);}))['scene'];break;}default:return URL['revokeObjectURL'](_0x2b5d28),null;}return URL['revokeObjectURL'](_0x2b5d28),_0x34d2aa;}catch(_0x5e37d0){throw URL['revokeObjectURL'](_0x2b5d28),_0x5e37d0;}}static['injectBooleanConstants'](_0x53f04c){const _0x3a27e0=_0x53f04c['match'](/(<robot[^>]*>)/);if(!_0x3a27e0)return _0x53f04c;const _0x50509c=_0x3a27e0['index']+_0x3a27e0[0x0]['length'];return _0x53f04c['substring'](0x0,_0x50509c)+'\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'+_0x53f04c['substring'](_0x50509c);}static['extractXacroArguments'](_0x51e7e4){const _0x4c26c6={},_0x244dcb=/<(?:xacro:)?arg\s+name=["']([^"']+)["'](?:\s+default=["']([^"']*)["'])?/g;let _0x21bbda;for(;null!==(_0x21bbda=_0x244dcb['exec'](_0x51e7e4));){const _0x27f693=_0x21bbda[0x1],_0x131031=_0x21bbda[0x2]||'false';_0x4c26c6[_0x27f693]=_0x131031;}return _0x4c26c6;}}class Ei{static['detectFileType'](_0x11c551,_0x51ce15){switch(_0x11c551['toLowerCase']()['split']('.')['pop']()){case'urdf':return'urdf';case'xacro':return'xacro';case'xml':return _0x51ce15&&this['isValidRobotMJCF'](_0x51ce15)?'mjcf':null;case'usd':case'usda':case'usdc':case'usdz':return'usd';default:return null;}}static['isValidRobotDescriptionXML'](_0x404a83){if(!_0x404a83||'string'!=typeof _0x404a83)return!0x1;const _0x5d1456=_0x404a83['trim']();return!(!_0x5d1456['startsWith']('<?xml')&&!_0x5d1456['startsWith']('<'))&&this['isValidRobotMJCF'](_0x5d1456);}static['isValidRobotMJCF'](_0x40720a){if(!_0x40720a||'string'!=typeof _0x40720a)return!0x1;if(!_0x40720a['includes']('<mujoco'))return!0x1;const _0x2161c4=_0x40720a['includes']('<joint'),_0x49c043=_0x40720a['includes']('<actuator');return!(!_0x2161c4&&!_0x49c043);}static async['loadModel'](_0x13079c,_0x4d4849,_0x19e25b,_0x1c4667=null,_0x5ab924=null,_0x2edd84={}){let _0x47a54b=null;if(_0x19e25b){const _0x3272ed=Math['max'](_0x19e25b['lastIndexOf']('/'),_0x19e25b['lastIndexOf']('\x5c'));_0x3272ed>0x0&&(_0x47a54b=_0x19e25b['substring'](0x0,_0x3272ed));}switch(_0x13079c){case'urdf':return await this['loadURDF'](_0x4d4849,_0x19e25b,_0x1c4667,_0x5ab924,_0x2edd84);case'xacro':return await this['loadXacro'](_0x4d4849,_0x19e25b,_0x1c4667,_0x5ab924,_0x2edd84);case'mjcf':return await this['loadMJCF'](_0x4d4849,_0x1c4667,_0x47a54b);case'usd':return await this['loadUSD'](_0x4d4849,_0x1c4667,_0x5ab924,_0x2edd84);default:throw new Error('Unsupported\x20file\x20type:\x20'+_0x13079c);}}static async['loadURDF'](_0x3d3501,_0x4c836b,_0x430a18=null,_0x5d2e74=null,_0x46e231={}){let _0x1d5064;try{const _0x5af367=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0x1d5064=_0x5af367['URDFLoader']||_0x5af367['default']||_0x5af367;}catch(_0x202505){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x202505['message']);}return new Promise((_0x39b1e9,_0x4e8f7c)=>{const _0x275793=new _0x1d5064();_0x275793['parseCollision']=!0x0;const _0x484763=_0x4c836b['includes']('/')?_0x4c836b['substring'](0x0,_0x4c836b['lastIndexOf']('/')+0x1):'';if(_0x430a18){const _0x42c712=this['extractPackagesFromURDF'](_0x3d3501),_0x127c4d={};_0x42c712['forEach'](_0x3fcd1e=>{_0x127c4d[_0x3fcd1e]=_0x3fcd1e;}),_0x127c4d['']='',_0x275793['packages']=_0x127c4d;const _0x19df61=_0x241260=>{if(_0x241260['startsWith']('blob:')){const _0x3778f9=_0x241260['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x3778f9||!_0x3778f9[0x1])return _0x241260;{const _0x1adb1c=_0x3778f9[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x1adb1c))return _0x241260;_0x241260=_0x1adb1c;}}let _0x2baf8e=_0x241260;if(_0x2baf8e['startsWith']('http://')||_0x2baf8e['startsWith']('https://'))try{_0x2baf8e=new URL(_0x2baf8e)['pathname'],_0x2baf8e['startsWith']('/')&&(_0x2baf8e=_0x2baf8e['substring'](0x1));}catch(_0x28bf92){}const _0x540245=bt(_0x2baf8e,_0x430a18,{'baseDir':_0x484763});if(_0x540245){return URL['createObjectURL'](_0x540245);}return _0x241260;};_0x275793['manager']['setURLModifier'](_0x19df61);const _0x367da3=_0x275793['loadMeshCb']||_0x275793['defaultMeshLoader']['bind'](_0x275793);_0x275793['loadMeshCb']=(_0x238b6b,_0x51aa13,_0x2e55b2)=>{this['findFileInMapByPath'](_0x238b6b,_0x430a18,_0x484763)['then'](_0x104b38=>{if(_0x104b38){const _0x5583d7=(_0x104b38['name']||_0x238b6b)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0x104b38,_0x5583d7,_0x51aa13)['then'](_0x1616e0=>{_0x1616e0?_0x2e55b2(_0x1616e0,null):_0x2e55b2(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x238b6b));})['catch'](_0x49a3a5=>{_0x2e55b2(null,_0x49a3a5);});}else _0x367da3(_0x238b6b,_0x51aa13,_0x2e55b2);})['catch'](_0x4c6ce7=>{_0x367da3(_0x238b6b,_0x51aa13,_0x2e55b2);});};}const _0x8a7db5=new Blob([_0x3d3501],{'type':'text/xml'}),_0x16be09=URL['createObjectURL'](_0x8a7db5);_0x275793['load'](_0x16be09,_0x5afa61=>{URL['revokeObjectURL'](_0x16be09);try{const _0x2a517c=ut['convert'](_0x5afa61,_0x3d3501,_0x46e231);_0x39b1e9(_0x2a517c);}catch(_0x187599){_0x4e8f7c(new Error('URDF\x20conversion\x20failed:\x20'+_0x187599['message']));}},void 0x0,_0x23eb07=>{URL['revokeObjectURL'](_0x16be09),_0x4e8f7c(new Error('URDF\x20loading\x20failed:\x20'+(_0x23eb07['message']||_0x23eb07)));});});}static async['loadXacro'](_0x50afd0,_0x328eb1,_0x10f44e=null,_0x2406ac=null,_0x4f0369={}){try{return await Li['parse'](_0x50afd0,_0x328eb1,_0x10f44e,_0x2406ac,_0x4f0369);}catch(_0x4e7778){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x4e7778['message']);}}static['extractPackagesFromURDF'](_0x1aa999){const _0x35530b=new Set(),_0x4a4cd3=/package:\/\/([^\/]+)/g;let _0x32029a;for(;null!==(_0x32029a=_0x4a4cd3['exec'](_0x1aa999));)_0x35530b['add'](_0x32029a[0x1]);return _0x35530b;}static async['resolveURDFPath'](_0x32f08e,_0xccc95b,_0x11c76a,_0x50bafe){const _0x4d7cea=[];if(_0xccc95b){_0x4d7cea['push'](_0xccc95b+'/'+_0x32f08e),_0x4d7cea['push']('/'+_0xccc95b+'/'+_0x32f08e);const _0x17f4d6=_0x32f08e['split']('/')['pop']();_0x4d7cea['push'](_0xccc95b+'/'+_0x17f4d6),_0x4d7cea['push']('/'+_0xccc95b+'/'+_0x17f4d6),_0x4d7cea['push'](_0xccc95b+'/meshes/'+_0x17f4d6),_0x4d7cea['push']('/'+_0xccc95b+'/meshes/'+_0x17f4d6),_0x4d7cea['push'](_0xccc95b+'/urdf/'+_0x17f4d6),_0x4d7cea['push'](_0xccc95b+'/models/'+_0x17f4d6);const _0x4f41af=_0xccc95b['toLowerCase']();for(const [_0x1e2bf6]of _0x11c76a['entries']()){const _0x51c9ee=_0x1e2bf6['toLowerCase']();if(_0x51c9ee['includes'](_0x4f41af)){const _0x983e79=_0x51c9ee['indexOf'](_0x4f41af),_0x49b826=_0x1e2bf6['substring'](_0x983e79+_0xccc95b['length']),_0x5e9ddc=_0x32f08e['split']('/')['pop']();(_0x49b826['endsWith'](_0x32f08e)||_0x49b826['endsWith']('/'+_0x32f08e)||_0x49b826['endsWith'](_0x5e9ddc)||_0x49b826['endsWith']('/'+_0x5e9ddc)||_0x49b826['includes'](_0x5e9ddc))&&_0x4d7cea['push'](_0x1e2bf6);}}}const _0x9a4369=_0x50bafe['substring'](0x0,_0x50bafe['lastIndexOf']('/')+0x1);_0x4d7cea['push'](_0x32f08e),_0x4d7cea['push'](_0x9a4369+_0x32f08e);const _0x8738dc=_0x32f08e['split']('/')['pop']();_0x4d7cea['push'](_0x8738dc);for(const _0x359420 of _0x4d7cea){let _0x5d855b=_0x11c76a['get'](_0x359420);if(_0x5d855b)return await _0x5d855b['arrayBuffer']();}const _0x3c95c6=this['cleanFilePath'](_0x32f08e),_0x408947=Array['from'](_0x11c76a['keys']())['map'](_0x143036=>this['cleanFilePath'](_0x143036));for(const _0x17699d of _0x408947){const _0xe14922=Math['min'](_0x17699d['length'],_0x3c95c6['length']);if(_0x3c95c6['substr'](_0x3c95c6['length']-_0xe14922)===_0x17699d['substr'](_0x17699d['length']-_0xe14922)){const _0x11570d=_0x11c76a['get'](_0x17699d);if(_0x11570d)return await _0x11570d['arrayBuffer']();}}return new ArrayBuffer(0x0);}static['cleanFilePath'](_0x8cf0f2){return _0x8cf0f2['replace'](/\\/g,'/')['split'](/\//g)['reduce']((_0x28e070,_0x5d5395)=>('..'===_0x5d5395?_0x28e070['pop']():'.'!==_0x5d5395&&_0x28e070['push'](_0x5d5395),_0x28e070),[])['join']('/');}static async['findFileInMapByPath'](_0x59684f,_0x17ef4f,_0x1f8e20){return bt(_0x59684f,_0x17ef4f,{'baseDir':_0x1f8e20});}static async['findFileInMap'](_0x2e356e,_0x482ef3,_0xe8668d){let _0x14d5b0=_0x2e356e['replace'](/^package:\/\//,'');_0x14d5b0=_0x14d5b0['replace'](/^\.\//,''),_0x14d5b0=_0x14d5b0['replace'](/^blob:[^\/]+\//,'');const _0x465300=[],_0x456ebe=_0x14d5b0['split']('/');if(_0x456ebe['length']>0x1){const _0x26209b=_0x456ebe[0x0],_0xd25394=_0x456ebe['slice'](0x1)['join']('/'),_0x1cea8f=_0xd25394['split']('/')['pop']();_0x465300['push'](_0x26209b+'/'+_0xd25394),_0x465300['push']('/'+_0x26209b+'/'+_0xd25394),_0x465300['push'](_0x26209b+'/'+_0x1cea8f),_0x465300['push']('/'+_0x26209b+'/'+_0x1cea8f),_0x465300['push'](_0x26209b+'/meshes/'+_0x1cea8f),_0x465300['push']('/'+_0x26209b+'/meshes/'+_0x1cea8f);const _0x20bf67=_0x26209b['toLowerCase']();for(const [_0x56f99c]of _0x482ef3['entries']()){const _0x636213=_0x56f99c['toLowerCase']();if(_0x636213['includes'](_0x20bf67)){const _0x283321=_0x636213['indexOf'](_0x20bf67),_0x570dfd=_0x56f99c['substring'](_0x283321+_0x26209b['length']);(_0x570dfd['endsWith'](_0xd25394)||_0x570dfd['endsWith']('/'+_0xd25394)||_0x570dfd['endsWith'](_0x1cea8f)||_0x570dfd['endsWith']('/'+_0x1cea8f)||_0x570dfd['includes'](_0x1cea8f))&&_0x465300['push'](_0x56f99c);}}}_0x465300['push'](_0x14d5b0),_0x465300['push']('/'+_0x14d5b0),_0x465300['push']('./'+_0x14d5b0);const _0x31ee54=_0xe8668d['substring'](0x0,_0xe8668d['lastIndexOf']('/')+0x1);_0x465300['push'](_0x31ee54+_0x14d5b0);const _0x2e4eff=_0x14d5b0['split']('/')['pop']();_0x465300['push'](_0x2e4eff);for(const _0x2a64f9 of _0x465300){const _0x23cf8d=_0x482ef3['get'](_0x2a64f9);if(_0x23cf8d)return _0x23cf8d;}const _0x1a983c=this['cleanFilePath'](_0x14d5b0)['replace'](/^\.\//,'');for(const [_0x439e6f,_0x483ba5]of _0x482ef3['entries']()){if(this['cleanFilePath'](_0x439e6f)['replace'](/^\.\//,'')===_0x1a983c)return _0x483ba5;}const _0x50d376=this['cleanFilePath'](_0x14d5b0),_0x48c330=Array['from'](_0x482ef3['keys']())['map'](_0x5b9e28=>this['cleanFilePath'](_0x5b9e28));for(const _0x28aaaa of _0x48c330){const _0x49e514=Math['min'](_0x28aaaa['length'],_0x50d376['length']);if(_0x50d376['substr'](_0x50d376['length']-_0x49e514)===_0x28aaaa['substr'](_0x28aaaa['length']-_0x49e514)){const _0x275e84=_0x482ef3['get'](_0x28aaaa);if(_0x275e84)return _0x275e84;}}return null;}static async['loadMeshFileDirect'](_0x5aa527,_0x1dd302){const _0x5a07fa=_0x5aa527['name']?_0x5aa527['name']['toLowerCase']()['split']('.')['pop']():_0x1dd302['toLowerCase']()['split']('.')['pop'](),_0x3093f6=URL['createObjectURL'](_0x5aa527);try{let _0x2fac40=null;switch(_0x5a07fa){case'stl':const {STLLoader:_0x1da924}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x288cbb=new _0x1da924(),_0x26d09c=await new Promise((_0x46189a,_0x1b1a6d)=>{_0x288cbb['load'](_0x3093f6,_0x46189a,void 0x0,_0x1b1a6d);}),_0x3a3e58=new _0xc21d5a({'color':0xcccccc});_0x2fac40=new _0x3d1069(_0x26d09c,_0x3a3e58);break;case'dae':const {ColladaLoader:_0x18c7e3}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x4b3684=new _0x18c7e3(),_0x3a8353=await new Promise((_0x6aa333,_0x3f5e6f)=>{_0x4b3684['load'](_0x3093f6,_0x6aa333,void 0x0,_0x3f5e6f);});if(_0x2fac40=_0x3a8353['scene']||_0x3a8353,_0x2fac40&&_0x2fac40['traverse']){const _0x177862=[];_0x2fac40['traverse'](_0x1eea6f=>{_0x1eea6f['isLight']&&_0x177862['push'](_0x1eea6f);}),_0x177862['forEach'](_0x8eaa05=>{_0x8eaa05['parent']&&_0x8eaa05['parent']['remove'](_0x8eaa05);});}break;case'obj':const {OBJLoader:_0xed258f}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x419c4a=new _0xed258f();_0x2fac40=await new Promise((_0x2b7723,_0x143ac)=>{_0x419c4a['load'](_0x3093f6,_0x2b7723,void 0x0,_0x143ac);});break;case'gltf':case'glb':const {GLTFLoader:_0x43aea9}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x14d79a=new _0x43aea9(),_0x41abfc=await new Promise((_0x420231,_0x2d3d0d)=>{_0x14d79a['load'](_0x3093f6,_0x420231,void 0x0,_0x2d3d0d);});_0x2fac40=_0x41abfc['scene']||_0x41abfc;break;default:return URL['revokeObjectURL'](_0x3093f6),null;}return URL['revokeObjectURL'](_0x3093f6),_0x2fac40;}catch(_0x3dd867){return URL['revokeObjectURL'](_0x3093f6),null;}}static async['loadMeshFileAsync'](_0x3fd006,_0x430290,_0x51031){const _0x5997f3=URL['createObjectURL'](_0x3fd006);try{let _0x114665=null;switch(_0x430290){case'stl':{const {STLLoader:_0x2edc49}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x279510=new _0x2edc49(_0x51031),_0x6fb7d4=await new Promise((_0x265e94,_0x3a66e5)=>{_0x279510['load'](_0x5997f3,_0x265e94,void 0x0,_0x3a66e5);}),_0x3ecad3=new _0xa87e13();_0x114665=new _0x3d1069(_0x6fb7d4,_0x3ecad3);break;}case'dae':{const {ColladaLoader:_0xc473ba}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x1474c5=new _0xc473ba(_0x51031);if(_0x114665=(await new Promise((_0x368a5a,_0x54ede0)=>{_0x1474c5['load'](_0x5997f3,_0x368a5a,void 0x0,_0x54ede0);}))['scene'],_0x114665&&_0x114665['traverse']){const _0x185b70=[];_0x114665['traverse'](_0x5d1138=>{_0x5d1138['isLight']&&_0x185b70['push'](_0x5d1138);}),_0x185b70['forEach'](_0x1b6cca=>{_0x1b6cca['parent']&&_0x1b6cca['parent']['remove'](_0x1b6cca);});}break;}case'obj':{const {OBJLoader:_0x2c081c}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0xb21127=new _0x2c081c(_0x51031);_0x114665=await new Promise((_0x34e4f9,_0x13a6a6)=>{_0xb21127['load'](_0x5997f3,_0x34e4f9,void 0x0,_0x13a6a6);});break;}case'gltf':case'glb':{const {GLTFLoader:_0x5c2b53}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x5e5524=new _0x5c2b53(_0x51031);_0x114665=(await new Promise((_0xeca6e7,_0x239bb4)=>{_0x5e5524['load'](_0x5997f3,_0xeca6e7,void 0x0,_0x239bb4);}))['scene'];break;}default:return URL['revokeObjectURL'](_0x5997f3),null;}return URL['revokeObjectURL'](_0x5997f3),_0x114665;}catch(_0x509e59){throw URL['revokeObjectURL'](_0x5997f3),_0x509e59;}}static async['loadURDFFromURL'](_0x4a468a){let _0x2a020a;try{const _0x17d28d=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0x2a020a=_0x17d28d['URDFLoader']||_0x17d28d['default']||_0x17d28d;}catch(_0x687607){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x687607['message']);}const _0x302fe0=await fetch(_0x4a468a)['then'](_0x4d8381=>_0x4d8381['text']());return new Promise((_0x4ea9a0,_0x5bb68c)=>{const _0x3eada0=new _0x2a020a();_0x3eada0['parseCollision']=!0x0,_0x3eada0['load'](_0x4a468a,_0x22b982=>{try{const _0x316a31=ut['convert'](_0x22b982,_0x302fe0);_0x4ea9a0(_0x316a31);}catch(_0x26d786){_0x5bb68c(new Error('URDF\x20conversion\x20failed:\x20'+_0x26d786['message']));}},void 0x0,_0x46ec7f=>{_0x5bb68c(new Error('URDF\x20loading\x20failed:\x20'+(_0x46ec7f['message']||_0x46ec7f)));});});}static async['loadMJCF'](_0x52066b,_0x5d596f=null,_0x374a16=null){try{return await _t['parse'](_0x52066b,_0x5d596f,_0x374a16);}catch(_0x20e552){throw new Error('MJCF\x20parsing\x20failed:\x20'+_0x20e552['message']+(_0x20e552['stack']?'\x0a'+_0x20e552['stack']:''));}}static async['loadUSD'](_0x160e99,_0x33d747=null,_0x12c216=null,_0x21db88={}){try{return await St['parse'](_0x160e99,_0x33d747,_0x12c216,_0x21db88);}catch(_0x186a3a){throw new Error('USD\x20parsing\x20failed:\x20'+_0x186a3a['message']);}}static['setJointAngle'](_0x5c53c4,_0x6d20a1,_0x11e8fd,_0x2305fb=!0x1){const _0x4adc1c=_0x5c53c4['getJoint'](_0x6d20a1);_0x4adc1c&&(!_0x2305fb&&_0x5c53c4['userData']&&_0x5c53c4['userData']['ignoreLimits']&&(_0x2305fb=!0x0),!_0x4adc1c['threeObject']||'function'!=typeof _0x4adc1c['threeObject']['setJointValue']&&'function'!=typeof _0x4adc1c['threeObject']['setAngle']?_t['setJointAngle'](_0x4adc1c,_0x11e8fd):ut['setJointAngle'](_0x4adc1c,_0x11e8fd,_0x2305fb),_0x5c53c4['threeObject']&&_0x5c53c4['threeObject']['updateMatrixWorld'](!0x0));}}class Ci{constructor(_0x451f61){this['scene']=_0x451f61,this['lights']={},this['groundPlane']=null,this['globalAxes']=null,this['referenceGrid']=null,this['envMap']=null,this['pmremGenerator']=null;}['setupLights'](){this['lights']['ambient']=new _0x2b3ac0(0xffffff,0x444444,0.5),this['lights']['ambient']['position']['set'](0x0,0x1,0x0),this['scene']['add'](this['lights']['ambient']),this['lights']['directional']=new _0x26b1c0(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 _0x26b1c0(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'](_0x33aed8=null){if(_0x33aed8){this['pmremGenerator']||(this['pmremGenerator']=new _0x434763(_0x33aed8),this['pmremGenerator']['compileEquirectangularShader']());const _0x9c103b=new _0x33e93b(),_0xd66fee=new _0x2b3ac0(0xffffff,0x444444,0x1);_0x9c103b['add'](_0xd66fee),this['envMap']=this['pmremGenerator']['fromScene'](_0x9c103b,0.04)['texture'],this['envMap']['mapping']=_0x55da5a,this['scene']['environment']=this['envMap'],this['scene']['background']=this['scene']['background']||new _0x43a4f1(0x505050);}else{const _0x1661a0=0x100,_0x15e097=new Uint8Array(_0x1661a0*_0x1661a0*0x4),_0x58d151=new _0x43a4f1(0xffffff);for(let _0x573261=0x0;_0x573261<_0x1661a0*_0x1661a0;_0x573261++){const _0x509b52=0x4*_0x573261;_0x15e097[_0x509b52]=Math['floor'](0xff*_0x58d151['r']),_0x15e097[_0x509b52+0x1]=Math['floor'](0xff*_0x58d151['g']),_0x15e097[_0x509b52+0x2]=Math['floor'](0xff*_0x58d151['b']),_0x15e097[_0x509b52+0x3]=0xff;}const _0x212c86=new _0x4da6af(_0x15e097,_0x1661a0,_0x1661a0);_0x212c86['needsUpdate']=!0x0;const _0x3cbc55=new _0x103b61([_0x212c86,_0x212c86,_0x212c86,_0x212c86,_0x212c86,_0x212c86]);_0x3cbc55['needsUpdate']=!0x0,_0x3cbc55['mapping']=_0x33202c,this['envMap']=_0x3cbc55,this['scene']['environment']=this['envMap'];}}['initializeEnvironmentMap'](_0x114fd8){_0x114fd8&&!this['envMap']&&this['setupEnvironmentMap'](_0x114fd8);}['regenerateEnvironmentMap'](_0x2d9832,_0x269d17=!0x1){var _0x3dc7c6,_0x453185;_0x2d9832&&(_0x269d17||(null==(_0x3dc7c6=this['pmremGenerator'])||_0x3dc7c6['dispose'](),null==(_0x453185=this['envMap'])||_0x453185['dispose']()),this['pmremGenerator']=null,this['envMap']=null,this['scene']['environment']=null,this['setupEnvironmentMap'](_0x2d9832));}['getEnvironmentMap'](){return this['envMap'];}['setupGroundPlane'](){const _0x427753=new _0x27d8b6(0x28,0x28),_0x5e8b30=new _0x4a617e({'side':_0x17cb8b,'transparent':!0x0,'opacity':0.25});this['groundPlane']=new _0x3d1069(_0x427753,_0x5e8b30),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 _0x16346c(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'](_0x5add62){if(this['referenceGrid'])if('light'===_0x5add62){this['referenceGrid']['material']['color']['setHex'](0x0);const _0x4fb5ed=this['referenceGrid']['geometry']['attributes']['color'];if(_0x4fb5ed){for(let _0x21bba9=0x0;_0x21bba9<_0x4fb5ed['count'];_0x21bba9++)_0x4fb5ed['setXYZ'](_0x21bba9,0x0,0x0,0x0);_0x4fb5ed['needsUpdate']=!0x0;}}else{this['referenceGrid']['material']['color']['setHex'](0xffffff);const _0x5766c0=this['referenceGrid']['geometry']['attributes']['color'];if(_0x5766c0){for(let _0x46c1be=0x0;_0x46c1be<_0x5766c0['count'];_0x46c1be++)_0x5766c0['setXYZ'](_0x46c1be,0x1,0x1,0x1);_0x5766c0['needsUpdate']=!0x0;}}}['updateShadowCamera'](_0x5f5b70){const _0x41d777=this['lights']['directional'];if(!_0x41d777||!_0x41d777['castShadow'])return;const _0x47bef3=_0x5f5b70['getBoundingSphere'](new _0x58fe83())['radius'],_0x5d37af=_0x41d777['shadow']['camera'];_0x5d37af['left']=_0x5d37af['bottom']=-_0x47bef3,_0x5d37af['right']=_0x5d37af['top']=_0x47bef3;const _0x5c601c=_0x5f5b70['getCenter'](new _0x5a7be3()),_0x2c0125=_0x41d777['position']['clone']()['sub'](_0x41d777['target']['position']);_0x41d777['target']['position']['copy'](_0x5c601c),_0x41d777['position']['copy'](_0x5c601c)['add'](_0x2c0125),_0x5d37af['updateProjectionMatrix']();}['updateGroundPosition'](_0x522d21){this['groundPlane']&&(this['groundPlane']['position']['y']=_0x522d21),this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x522d21);}['setGroundVisible'](_0x1c39df){this['groundPlane']&&(this['groundPlane']['visible']=_0x1c39df);}['setShadowEnabled'](_0x1d5747,_0x3e2a9d){var _0x5ca216;_0x3e2a9d['shadowMap']['enabled']=_0x1d5747,this['lights']['directional']&&(this['lights']['directional']['castShadow']=_0x1d5747,!_0x1d5747&&this['lights']['directional']['shadow']&&(null==(_0x5ca216=this['lights']['directional']['shadow']['map'])||_0x5ca216['dispose'](),this['lights']['directional']['shadow']['map']=null));}['getDirectionalLight'](){return this['lights']['directional'];}}class ji{constructor(_0x44287c){this['sceneManager']=_0x44287c,this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']=new Set(),this['showVisual']=!0x0,this['showCollision']=!0x1,this['showShadow']=!0x0,this['showEnhancedLighting']=!0x0;}['extractVisualAndCollision'](_0x56b4c2){const _0x18bd28=0x0===this['visualMeshes']['length'];if(!_0x18bd28)return this['processNewlyLoadedMeshes'](_0x56b4c2);this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],_0x56b4c2['threeObject']&&(_0x56b4c2['threeObject']['traverse'](_0x4baf46=>{if(_0x4baf46['isMesh']&&_0x4baf46['material']){const _0xa91c4c=Array['isArray'](_0x4baf46['material'])?_0x4baf46['material']:[_0x4baf46['material']],_0x2e5bef=[];_0xa91c4c['forEach']((_0x183000,_0x5b8a83)=>{var _0x26e88b;if(_0x183000){if('MeshBasicMaterial'===_0x183000['type']||'MeshLambertMaterial'===_0x183000['type']){const _0x4e0b6b=_0x183000,_0x392802=this['showEnhancedLighting'],_0x2e27a2=null==(_0x26e88b=this['sceneManager']['environmentManager'])?void 0x0:_0x26e88b['getEnvironmentMap'](),_0x4af8b3=new _0xa87e13({'color':_0x4e0b6b['color'],'map':_0x4e0b6b['map'],'transparent':_0x4e0b6b['transparent'],'opacity':_0x4e0b6b['opacity'],'side':_0x4e0b6b['side'],'shininess':_0x392802?0x32:0x1e,'specular':_0x392802?new _0x43a4f1(0.3,0.3,0.3):new _0x43a4f1(0x111111),'envMap':_0x2e27a2||null,'reflectivity':_0x2e27a2?0.3:0x0});_0x4af8b3['userData']['originalShininess']=0x1e,_0x4af8b3['userData']['originalSpecular']=null,_0x4af8b3['map']&&(_0x4af8b3['map']['colorSpace']=_0x3e3edd),_0x2e5bef['push'](_0x4af8b3),_0x183000=_0x4af8b3;}else _0x2e5bef['push'](_0x183000);if(_0x183000&&(_0x183000['isMeshPhongMaterial']||_0x183000['isMeshStandardMaterial'])){if(void 0x0===_0x183000['userData']['originalShininess'])if(_0x183000['userData']['originalShininess']=void 0x0!==_0x183000['shininess']?_0x183000['shininess']:0x1e,_0x183000['specular'])if(_0x183000['specular']['isColor']){const _0x400a28=_0x183000['specular'];_0x400a28['r']<0.1&&_0x400a28['g']<0.1&&_0x400a28['b']<0.1?_0x183000['userData']['originalSpecular']=null:_0x183000['userData']['originalSpecular']=_0x400a28['clone']();}else'number'==typeof _0x183000['specular']?0x111111===_0x183000['specular']||_0x183000['specular']<0x111111?_0x183000['userData']['originalSpecular']=null:_0x183000['userData']['originalSpecular']=new _0x43a4f1(_0x183000['specular']):_0x183000['userData']['originalSpecular']=null;else _0x183000['userData']['originalSpecular']=null;this['showEnhancedLighting']&&((void 0x0===_0x183000['shininess']||_0x183000['shininess']<0x32)&&(_0x183000['shininess']=0x32),(!_0x183000['specular']||_0x183000['specular']['isColor']&&_0x183000['specular']['r']<0.2||'number'==typeof _0x183000['specular']&&_0x183000['specular']<0x333333)&&(_0x183000['specular']=new _0x43a4f1(0.3,0.3,0.3)),_0x183000['needsUpdate']=!0x0);}}else _0x2e5bef['push'](null);}),Array['isArray'](_0x4baf46['material'])?_0x4baf46['material']=_0x2e5bef:0x1===_0x2e5bef['length']&&_0x2e5bef[0x0]&&(_0x4baf46['material']=_0x2e5bef[0x0]);}}),_0x18bd28&&_0x56b4c2['threeObject']['traverse'](_0x28f253=>{_0x28f253['isURDFCollider']&&(this['colliders']['push'](_0x28f253),_0x28f253['visible']=this['showCollision']);}),_0x18bd28&&this['colliders']['forEach'](_0x29d3d0=>{_0x29d3d0['traverse'](_0x1484cc=>{_0x1484cc['isMesh']&&(_0x1484cc['userData']['originalMaterial']||(_0x1484cc['userData']['originalMaterial']=_0x1484cc['material']),_0x1484cc['material']=new _0xa87e13({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x1484cc['castShadow']=!0x1,_0x1484cc['receiveShadow']=!0x1,_0x1484cc['raycast']=()=>{},this['collisionMeshes']['push'](_0x1484cc));});}),_0x56b4c2['threeObject']['traverse'](_0x35467b=>{if(_0x35467b['isMesh']||'Mesh'===_0x35467b['type']){let _0x4700ea=!0x1,_0x6023aa=_0x35467b;for(;_0x6023aa;){if(_0x6023aa['isURDFCollider']){_0x4700ea=!0x0;break;}_0x6023aa=_0x6023aa['parent'];}_0x4700ea||(_0x35467b['castShadow']=this['showShadow'],_0x35467b['receiveShadow']=this['showShadow'],_0x35467b['visible']=this['showVisual'],this['visualMeshes']['push'](_0x35467b));}}));}['processNewlyLoadedMeshes'](_0x2cbe42){_0x2cbe42['threeObject']&&(_0x2cbe42['threeObject']['traverse'](_0x553697=>{if(_0x553697['isMesh']&&_0x553697['material']){let _0x1ea780=!0x1,_0x4a8353=_0x553697;for(;_0x4a8353;){if(_0x4a8353['isURDFCollider']){_0x1ea780=!0x0;break;}_0x4a8353=_0x4a8353['parent'];}if(_0x1ea780)return;const _0xbc29f4=Array['isArray'](_0x553697['material'])?_0x553697['material']:[_0x553697['material']],_0x52a3a0=[];_0xbc29f4['forEach']((_0x182bce,_0x17b9ff)=>{var _0x3a9c39,_0x1108a7;if(_0x182bce){if('MeshBasicMaterial'===_0x182bce['type']||'MeshLambertMaterial'===_0x182bce['type']){const _0x119a56=_0x182bce,_0x5f3917=this['showEnhancedLighting'],_0x4ed3c5=null==(_0x3a9c39=this['sceneManager']['environmentManager'])?void 0x0:_0x3a9c39['getEnvironmentMap'](),_0x22d90f=new _0xa87e13({'color':_0x119a56['color'],'map':_0x119a56['map'],'transparent':_0x119a56['transparent'],'opacity':_0x119a56['opacity'],'side':_0x119a56['side'],'shininess':_0x5f3917?0x32:0x1e,'specular':_0x5f3917?new _0x43a4f1(0.3,0.3,0.3):new _0x43a4f1(0x111111),'envMap':_0x4ed3c5||null,'reflectivity':_0x4ed3c5?0.3:0x0});_0x22d90f['userData']['originalShininess']=0x1e,_0x22d90f['userData']['originalSpecular']=null,_0x22d90f['map']&&(_0x22d90f['map']['colorSpace']=_0x3e3edd),_0x52a3a0['push'](_0x22d90f),_0x182bce=_0x22d90f;}else _0x52a3a0['push'](_0x182bce);if(_0x182bce&&(_0x182bce['isMeshPhongMaterial']||_0x182bce['isMeshStandardMaterial'])){if(void 0x0===_0x182bce['userData']['originalShininess'])if(_0x182bce['userData']['originalShininess']=void 0x0!==_0x182bce['shininess']?_0x182bce['shininess']:0x1e,_0x182bce['specular'])if(_0x182bce['specular']['isColor']){const _0x3feb33=_0x182bce['specular'];_0x3feb33['r']<0.1&&_0x3feb33['g']<0.1&&_0x3feb33['b']<0.1?_0x182bce['userData']['originalSpecular']=null:_0x182bce['userData']['originalSpecular']=_0x3feb33['clone']();}else'number'==typeof _0x182bce['specular']?0x111111===_0x182bce['specular']||_0x182bce['specular']<0x111111?_0x182bce['userData']['originalSpecular']=null:_0x182bce['userData']['originalSpecular']=new _0x43a4f1(_0x182bce['specular']):_0x182bce['userData']['originalSpecular']=null;else _0x182bce['userData']['originalSpecular']=null;const _0xdcc611=null==(_0x1108a7=this['sceneManager']['environmentManager'])?void 0x0:_0x1108a7['getEnvironmentMap']();_0xdcc611&&!_0x182bce['envMap']&&(_0x182bce['envMap']=_0xdcc611,void 0x0===_0x182bce['reflectivity']&&(_0x182bce['reflectivity']=0.3),_0x182bce['needsUpdate']=!0x0),this['showEnhancedLighting']&&((void 0x0===_0x182bce['shininess']||_0x182bce['shininess']<0x32)&&(_0x182bce['shininess']=0x32),(!_0x182bce['specular']||_0x182bce['specular']['isColor']&&_0x182bce['specular']['r']<0.2||'number'==typeof _0x182bce['specular']&&_0x182bce['specular']<0x333333)&&(_0x182bce['specular']=new _0x43a4f1(0.3,0.3,0.3)),_0x182bce['needsUpdate']=!0x0);}}else _0x52a3a0['push'](null);}),Array['isArray'](_0x553697['material'])?_0x553697['material']=_0x52a3a0:0x1===_0x52a3a0['length']&&_0x52a3a0[0x0]&&(_0x553697['material']=_0x52a3a0[0x0]);}}),_0x2cbe42['threeObject']['traverse'](_0x1c310b=>{if((_0x1c310b['isMesh']||'Mesh'===_0x1c310b['type'])&&!this['visualMeshes']['includes'](_0x1c310b)&&!this['collisionMeshes']['includes'](_0x1c310b)){let _0xfb9328=!0x1,_0xaf386d=_0x1c310b;for(;_0xaf386d;){if(_0xaf386d['isURDFCollider']){_0xfb9328=!0x0;break;}_0xaf386d=_0xaf386d['parent'];}_0xfb9328?(_0x1c310b['userData']['originalMaterial']||(_0x1c310b['userData']['originalMaterial']=_0x1c310b['material']),_0x1c310b['material']=new _0xa87e13({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x1c310b['castShadow']=!0x1,_0x1c310b['receiveShadow']=!0x1,_0x1c310b['raycast']=()=>{},_0x1c310b['visible']=this['showCollision'],this['collisionMeshes']['push'](_0x1c310b)):(_0x1c310b['castShadow']=this['showShadow'],_0x1c310b['receiveShadow']=this['showShadow'],_0x1c310b['visible']=this['showVisual'],this['visualMeshes']['push'](_0x1c310b));}}));}['toggleVisual'](_0x5a9a2d,_0x100ab1){this['showVisual']=_0x5a9a2d,_0x100ab1&&_0x100ab1['links']&&_0x100ab1['links']['forEach']((_0xd49e47,_0x697a4a)=>{if(_0xd49e47['threeObject']){const _0x1890bb=_0x5a9a2d&&!this['hiddenLinks']['has'](_0x697a4a);this['setLinkVisibility'](_0xd49e47['threeObject'],_0x1890bb,_0x100ab1);}});}['toggleCollision'](_0x46c31d){this['showCollision']=_0x46c31d,this['colliders']&&this['colliders']['forEach'](_0x333308=>{_0x333308['visible']=_0x46c31d;}),this['collisionMeshes']['forEach'](_0x2ba896=>{_0x2ba896['visible']=_0x46c31d;});}['toggleShadow'](_0x404794,_0x255b30,_0x1ec9ab){var _0x1581ff;this['showShadow']=_0x404794,_0x255b30['shadowMap']['enabled']=_0x404794,_0x1ec9ab&&(_0x1ec9ab['castShadow']=_0x404794),this['visualMeshes']['forEach'](_0x145b5e=>{_0x145b5e['castShadow']=_0x404794,_0x145b5e['receiveShadow']=_0x404794;}),!_0x404794&&_0x1ec9ab&&_0x1ec9ab['shadow']&&(null==(_0x1581ff=_0x1ec9ab['shadow']['map'])||_0x1581ff['dispose'](),_0x1ec9ab['shadow']['map']=null);}['toggleEnhancedLighting'](_0x574c00){var _0x35687f;this['showEnhancedLighting']=_0x574c00,this['sceneManager']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&this['sceneManager']['currentModel']['threeObject']['traverse'](_0x3ee4f3=>{if(_0x3ee4f3['isMesh']&&_0x3ee4f3['material']&&!this['collisionMeshes']['includes'](_0x3ee4f3)){const _0x5c6322=Array['isArray'](_0x3ee4f3['material'])?_0x3ee4f3['material']:[_0x3ee4f3['material']];_0x5c6322['forEach']((_0x1e6f03,_0x373eb0)=>{if(_0x1e6f03){if('MeshBasicMaterial'===_0x1e6f03['type']||'MeshLambertMaterial'===_0x1e6f03['type']){const _0x431886=_0x1e6f03,_0x131c4a=new _0xa87e13({'color':_0x431886['color'],'map':_0x431886['map'],'transparent':_0x431886['transparent'],'opacity':_0x431886['opacity'],'side':_0x431886['side'],'shininess':_0x574c00?0x32:0x1e,'specular':_0x574c00?new _0x43a4f1(0.3,0.3,0.3):new _0x43a4f1(0x111111)});_0x131c4a['userData']['originalShininess']=0x1e,_0x131c4a['userData']['originalSpecular']=null,_0x131c4a['map']&&(_0x131c4a['map']['colorSpace']=_0x3e3edd),_0x5c6322[_0x373eb0]=_0x131c4a,_0x1e6f03=_0x131c4a;}if(_0x1e6f03&&(_0x1e6f03['isMeshPhongMaterial']||_0x1e6f03['isMeshStandardMaterial'])){if(void 0x0===_0x1e6f03['userData']['originalShininess'])if(_0x1e6f03['userData']['originalShininess']=void 0x0!==_0x1e6f03['shininess']?_0x1e6f03['shininess']:0x1e,_0x1e6f03['specular'])if(_0x1e6f03['specular']['isColor']){const _0x2d9480=_0x1e6f03['specular'];_0x2d9480['r']<0.1&&_0x2d9480['g']<0.1&&_0x2d9480['b']<0.1?_0x1e6f03['userData']['originalSpecular']=null:_0x1e6f03['userData']['originalSpecular']=_0x2d9480['clone']();}else'number'==typeof _0x1e6f03['specular']?0x111111===_0x1e6f03['specular']||_0x1e6f03['specular']<0x111111?_0x1e6f03['userData']['originalSpecular']=null:_0x1e6f03['userData']['originalSpecular']=new _0x43a4f1(_0x1e6f03['specular']):_0x1e6f03['userData']['originalSpecular']=null;else _0x1e6f03['userData']['originalSpecular']=null;if(_0x574c00)_0x1e6f03['shininess']=0x32,(!_0x1e6f03['specular']||_0x1e6f03['specular']['isColor']&&_0x1e6f03['specular']['r']<0.2||'number'==typeof _0x1e6f03['specular']&&_0x1e6f03['specular']<0x333333)&&(_0x1e6f03['specular']=new _0x43a4f1(0.3,0.3,0.3));else if(void 0x0!==_0x1e6f03['userData']['originalShininess']&&(_0x1e6f03['shininess']=_0x1e6f03['userData']['originalShininess']),null===_0x1e6f03['userData']['originalSpecular'])_0x1e6f03['specular']=new _0x43a4f1(0x111111);else if(_0x1e6f03['userData']['originalSpecular']){const _0xd3eb81=_0x1e6f03['userData']['originalSpecular'];_0xd3eb81['isColor']?_0x1e6f03['specular']=_0xd3eb81['clone']():_0x1e6f03['specular']=_0xd3eb81;}_0x1e6f03['needsUpdate']=!0x0;}}}),Array['isArray'](_0x3ee4f3['material'])?(_0x3ee4f3['material']=_0x5c6322,_0x5c6322['forEach'](_0x572f18=>{_0x572f18&&(_0x572f18['needsUpdate']=!0x0);})):0x1===_0x5c6322['length']&&(_0x3ee4f3['material']=_0x5c6322[0x0],_0x3ee4f3['material']&&(_0x3ee4f3['material']['needsUpdate']=!0x0));}}),this['visualMeshes']['forEach'](_0x58f35c=>{if(_0x58f35c['material']){const _0x1392fb=Array['isArray'](_0x58f35c['material'])?_0x58f35c['material']:[_0x58f35c['material']];_0x1392fb['forEach']((_0x2edad4,_0x2a80d3)=>{var _0x4334aa;if(_0x2edad4){if('MeshBasicMaterial'===_0x2edad4['type']||'MeshLambertMaterial'===_0x2edad4['type']){const _0x2cedcb=_0x2edad4,_0xb11288=_0x574c00,_0x3ef9a0=null==(_0x4334aa=this['sceneManager']['environmentManager'])?void 0x0:_0x4334aa['getEnvironmentMap'](),_0x4ffc4d=new _0xa87e13({'color':_0x2cedcb['color'],'map':_0x2cedcb['map'],'transparent':_0x2cedcb['transparent'],'opacity':_0x2cedcb['opacity'],'side':_0x2cedcb['side'],'shininess':_0xb11288?0x32:0x1e,'specular':_0xb11288?new _0x43a4f1(0.3,0.3,0.3):new _0x43a4f1(0x111111),'envMap':_0x3ef9a0||null,'reflectivity':_0x3ef9a0?0.3:0x0});_0x4ffc4d['userData']['originalShininess']=0x1e,_0x4ffc4d['userData']['originalSpecular']=null,_0x4ffc4d['map']&&(_0x4ffc4d['map']['colorSpace']=_0x3e3edd),_0x1392fb[_0x2a80d3]=_0x4ffc4d,_0x2edad4=_0x4ffc4d;}if(_0x2edad4&&(_0x2edad4['isMeshPhongMaterial']||_0x2edad4['isMeshStandardMaterial'])){if(void 0x0===_0x2edad4['userData']['originalShininess'])if(_0x2edad4['userData']['originalShininess']=void 0x0!==_0x2edad4['shininess']?_0x2edad4['shininess']:0x1e,_0x2edad4['specular'])if(_0x2edad4['specular']['isColor']){const _0x384cfe=_0x2edad4['specular'];_0x384cfe['r']<0.1&&_0x384cfe['g']<0.1&&_0x384cfe['b']<0.1?_0x2edad4['userData']['originalSpecular']=null:_0x2edad4['userData']['originalSpecular']=_0x384cfe['clone']();}else'number'==typeof _0x2edad4['specular']?0x111111===_0x2edad4['specular']||_0x2edad4['specular']<0x111111?_0x2edad4['userData']['originalSpecular']=null:_0x2edad4['userData']['originalSpecular']=new _0x43a4f1(_0x2edad4['specular']):_0x2edad4['userData']['originalSpecular']=null;else _0x2edad4['userData']['originalSpecular']=null;if(_0x574c00)_0x2edad4['shininess']=0x32,(!_0x2edad4['specular']||_0x2edad4['specular']['isColor']&&_0x2edad4['specular']['r']<0.2||'number'==typeof _0x2edad4['specular']&&_0x2edad4['specular']<0x333333)&&(_0x2edad4['specular']=new _0x43a4f1(0.3,0.3,0.3));else if(void 0x0!==_0x2edad4['userData']['originalShininess']&&(_0x2edad4['shininess']=_0x2edad4['userData']['originalShininess']),null===_0x2edad4['userData']['originalSpecular'])_0x2edad4['specular']=new _0x43a4f1(0x111111);else if(_0x2edad4['userData']['originalSpecular']){const _0x3966e4=_0x2edad4['userData']['originalSpecular'];_0x3966e4['isColor']?_0x2edad4['specular']=_0x3966e4['clone']():_0x2edad4['specular']=_0x3966e4;}_0x2edad4['needsUpdate']=!0x0;}}}),Array['isArray'](_0x58f35c['material'])?(_0x58f35c['material']=_0x1392fb,_0x1392fb['forEach'](_0x44c3f2=>{_0x44c3f2&&(_0x44c3f2['needsUpdate']=!0x0);})):0x1===_0x1392fb['length']&&(_0x58f35c['material']=_0x1392fb[0x0],_0x58f35c['material']&&(_0x58f35c['material']['needsUpdate']=!0x0));}});const _0x8da6b0=null==(_0x35687f=window['app'])?void 0x0:_0x35687f['mujocoSimulationManager'];_0x8da6b0&&_0x8da6b0['mujocoRoot']&&_0x8da6b0['mujocoRoot']['traverse'](_0x5896da=>{if(_0x5896da['isMesh']&&_0x5896da['material']){(Array['isArray'](_0x5896da['material'])?_0x5896da['material']:[_0x5896da['material']])['forEach'](_0x4da347=>{if(_0x4da347['isMeshPhongMaterial']||_0x4da347['isMeshStandardMaterial']){if(void 0x0===_0x4da347['userData']['originalShininess'])if(_0x4da347['userData']['originalShininess']=void 0x0!==_0x4da347['shininess']?_0x4da347['shininess']:0x1e,_0x4da347['specular'])if(_0x4da347['specular']['isColor']){const _0x1a6502=_0x4da347['specular'];_0x1a6502['r']<0.1&&_0x1a6502['g']<0.1&&_0x1a6502['b']<0.1?_0x4da347['userData']['originalSpecular']=null:_0x4da347['userData']['originalSpecular']=_0x1a6502['clone']();}else _0x4da347['userData']['originalSpecular']=null;else _0x4da347['userData']['originalSpecular']=null;if(_0x574c00)_0x4da347['shininess']=0x32,(!_0x4da347['specular']||_0x4da347['specular']['isColor']&&_0x4da347['specular']['r']<0.2||'number'==typeof _0x4da347['specular']&&_0x4da347['specular']<0x333333)&&(_0x4da347['specular']=new _0x43a4f1(0.3,0.3,0.3));else if(void 0x0!==_0x4da347['userData']['originalShininess']&&(_0x4da347['shininess']=_0x4da347['userData']['originalShininess']),null===_0x4da347['userData']['originalSpecular'])_0x4da347['specular']=new _0x43a4f1(0x111111);else if(_0x4da347['userData']['originalSpecular']){const _0x59b2ed=_0x4da347['userData']['originalSpecular'];_0x59b2ed['isColor']?_0x4da347['specular']=_0x59b2ed['clone']():_0x4da347['specular']=_0x59b2ed;}_0x4da347['needsUpdate']=!0x0;}});}});}['toggleLinkVisibility'](_0x4eba9f,_0x33b75a){if(!_0x33b75a||!_0x33b75a['links'])return!0x1;const _0x1f2495=_0x33b75a['links']['get'](_0x4eba9f);if(!_0x1f2495||!_0x1f2495['threeObject'])return!0x1;const _0x46fbb1=this['hiddenLinks']['has'](_0x4eba9f);_0x46fbb1?this['hiddenLinks']['delete'](_0x4eba9f):this['hiddenLinks']['add'](_0x4eba9f);const _0x15f8c8=!!_0x46fbb1;return this['setLinkVisibility'](_0x1f2495['threeObject'],_0x15f8c8,_0x33b75a),_0x15f8c8;}['isLinkHidden'](_0x352187){return this['hiddenLinks']['has'](_0x352187);}['setLinkVisibility'](_0x4be2d8,_0x5de6c7,_0x4bbc97){const _0x2eb17a=(_0x5541a7,_0x4ed514=!0x1)=>{var _0x597923,_0x51eca2,_0x5dff28;if(_0x4ed514||'URDFLink'!==_0x5541a7['type']&&!_0x5541a7['isURDFLink']){if(_0x5541a7['isURDFJoint']||'URDFJoint'===_0x5541a7['type']){const _0x93d6e2=_0x5541a7['name'];let _0x33fceb=!0x1;if(_0x93d6e2&&(null==_0x4bbc97?void 0x0:_0x4bbc97['joints'])&&_0x4bbc97['joints']['has'](_0x93d6e2)){_0x33fceb='fixed'===_0x4bbc97['joints']['get'](_0x93d6e2)['type'];}if(_0x33fceb){for(const _0x32279b of _0x5541a7['children'])_0x2eb17a(_0x32279b,!0x1);return;}return;}if(!(this['isAuxiliaryVisualization'](_0x5541a7)||(null==(_0x597923=_0x5541a7['userData'])?void 0x0:_0x597923['isCenterOfMass'])||(null==(_0x51eca2=_0x5541a7['userData'])?void 0x0:_0x51eca2['isInertiaBox'])||_0x5541a7['name']&&_0x5541a7['name']['endsWith']('_axes'))){if('Mesh'===_0x5541a7['type']||_0x5541a7['isMesh']){let _0x211c59=!0x1,_0x1b353=_0x5541a7;for(;_0x1b353;){if(_0x1b353['isURDFCollider']){_0x211c59=!0x0;break;}_0x1b353=_0x1b353['parent'];}if(_0x211c59||(null==(_0x5dff28=_0x5541a7['userData'])?void 0x0:_0x5dff28['isCollision']))return;_0x5541a7['visible']=_0x5de6c7&&this['showVisual'];}for(const _0x1f4a39 of _0x5541a7['children'])_0x2eb17a(_0x1f4a39,!0x1);}}};_0x2eb17a(_0x4be2d8,!0x0);}['isAuxiliaryVisualization'](_0x38d3c7){var _0x58ad98,_0x40c58d,_0x3647c1;return!!(null==(_0x58ad98=_0x38d3c7['userData'])?void 0x0:_0x58ad98['isInertiaBox'])||(!!(null==(_0x40c58d=_0x38d3c7['userData'])?void 0x0:_0x40c58d['isCOMMarker'])||!!(null==(_0x3647c1=_0x38d3c7['userData'])?void 0x0:_0x3647c1['isCollision']));}['updateVisualTransparency'](_0x54c4b2,_0x10abfa,_0x2b6c7b,_0xffedaf){if(_0xffedaf)return;const _0x299f12=_0x54c4b2||_0x10abfa||_0x2b6c7b;this['visualMeshes']['forEach']((_0x1bbb21,_0x3b9173)=>{ji['setMeshTransparency'](_0x1bbb21,_0x299f12,_0x3b9173);});}static['setMeshTransparency'](_0x3a9754,_0xa8ba8a,_0x116450=-0x1){if(!_0x3a9754['material'])return;(Array['isArray'](_0x3a9754['material'])?_0x3a9754['material']:[_0x3a9754['material']])['forEach'](_0x49a12d=>{void 0x0===_0x49a12d['userData']['originalOpacity']&&(_0x49a12d['userData']['originalOpacity']=void 0x0!==_0x49a12d['opacity']?_0x49a12d['opacity']:0x1,_0x49a12d['userData']['originalTransparent']=_0x49a12d['transparent']||!0x1),_0xa8ba8a?(_0x49a12d['transparent']=!0x0,_0x49a12d['opacity']=0.5,_0x49a12d['needsUpdate']=!0x0):void 0x0!==_0x49a12d['userData']['originalOpacity']&&(_0x49a12d['opacity']=_0x49a12d['userData']['originalOpacity'],_0x49a12d['transparent']=_0x49a12d['userData']['originalTransparent'],_0x49a12d['needsUpdate']=!0x0);});}['clear'](){this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']['clear']();}}class ki{constructor(_0xc9ce41){this['sceneManager']=_0xc9ce41,this['comMarkers']=[],this['inertiaEllipsoids']=[],this['showCOM']=!0x1,this['showInertia']=!0x1;}static['createCOMGeometry'](_0x4b31f6){const _0x5efca2=new _0x2474d6(),_0x2b9141=new _0x553295({'color':0xffffff,'side':_0x17cb8b,'depthTest':!0x0,'depthWrite':!0x0}),_0x8e35fe=new _0x553295({'color':0x0,'side':_0x17cb8b,'depthTest':!0x0,'depthWrite':!0x0});return[{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x2b9141},{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x8e35fe},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x8e35fe},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x2b9141},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x2b9141},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x8e35fe},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x8e35fe},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x2b9141}]['forEach'](_0x54136c=>{const _0x68c06c=new _0x401a16(_0x4b31f6,0x10,0x10,_0x54136c['phiStart'],_0x54136c['phiLength'],_0x54136c['thetaStart'],_0x54136c['thetaLength']),_0x48298e=new _0x3d1069(_0x68c06c,_0x54136c['material']);_0x48298e['castShadow']=!0x1,_0x48298e['receiveShadow']=!0x1,_0x5efca2['add'](_0x48298e);}),_0x5efca2;}['extractInertialProperties'](_0x5918b1){this['comMarkers']['forEach'](_0xaf8fe1=>{_0xaf8fe1['parent']&&_0xaf8fe1['parent']['remove'](_0xaf8fe1);}),this['inertiaEllipsoids']['forEach'](_0x50d3af=>{_0x50d3af['parent']&&_0x50d3af['parent']['remove'](_0x50d3af);}),this['comMarkers']=[],this['inertiaEllipsoids']=[],_0x5918b1['links']&&_0x5918b1['links']['forEach']((_0x2b9503,_0x3f7570)=>{if(!_0x2b9503['inertial'])return;const _0x15a143=_0x2b9503['inertial'];let _0x1f0b66;try{_0x1f0b66=_0x15a143['origin']&&_0x15a143['origin']['xyz']?Ue['xyzToVector3'](_0x15a143['origin']['xyz']):_0x15a143['origin']?new _0x5a7be3(_0x15a143['origin'][0x0]||0x0,_0x15a143['origin'][0x1]||0x0,_0x15a143['origin'][0x2]||0x0):new _0x5a7be3(0x0,0x0,0x0);}catch(_0x3b322c){_0x1f0b66=new _0x5a7be3(0x0,0x0,0x0);}this['showCOM']&&void 0x0!==_0x15a143['mass']&&_0x15a143['mass']>0x0&&this['createCOMMarker'](_0x5918b1,_0x2b9503,_0x1f0b66),this['showInertia']&&(void 0x0!==_0x15a143['ixx']||_0x15a143['inertia'])&&this['createInertiaEllipsoid'](_0x5918b1,_0x2b9503,_0x1f0b66,_0x15a143);});}['createCOMMarker'](_0x5e93e7,_0x1e4f52,_0x5acd5d){const _0x3f60f0=this['findLinkObject'](_0x5e93e7['threeObject'],_0x1e4f52['name']);if(!_0x3f60f0)return;const _0x4bc527=new _0x2474d6(),_0x5745cd=0.02,_0x1a6277=0x10,_0x5dddb7=new _0x553295({'color':0xffffff,'side':_0x17cb8b,'depthTest':!0x0,'depthWrite':!0x0}),_0x3cdb3f=new _0x553295({'color':0x0,'side':_0x17cb8b,'depthTest':!0x0,'depthWrite':!0x0}),_0x4f6a56=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,0x0,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x184dd7=new _0x3d1069(_0x4f6a56,_0x5dddb7),_0x20afff=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,0x0,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x38385b=new _0x3d1069(_0x20afff,_0x3cdb3f),_0x61636=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,Math['PI']/0x2,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x59faf3=new _0x3d1069(_0x61636,_0x3cdb3f),_0x15ef14=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x2d55b9=new _0x3d1069(_0x15ef14,_0x5dddb7),_0x1313bb=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0x2d36db=new _0x3d1069(_0x1313bb,_0x5dddb7),_0x21b19c=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x13d3cb=new _0x3d1069(_0x21b19c,_0x3cdb3f),_0xc679d5=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,1.5*Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0xb3196e=new _0x3d1069(_0xc679d5,_0x3cdb3f),_0x3bd329=new _0x401a16(_0x5745cd,_0x1a6277,_0x1a6277,1.5*Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x4def14=new _0x3d1069(_0x3bd329,_0x5dddb7);_0x4bc527['add'](_0x184dd7),_0x4bc527['add'](_0x38385b),_0x4bc527['add'](_0x59faf3),_0x4bc527['add'](_0x2d55b9),_0x4bc527['add'](_0x2d36db),_0x4bc527['add'](_0x13d3cb),_0x4bc527['add'](_0xb3196e),_0x4bc527['add'](_0x4def14),_0x4bc527['userData']['isCenterOfMass']=!0x0,_0x4bc527['position']['copy'](_0x5acd5d),_0x4bc527['visible']=this['showCOM'],_0x3f60f0['add'](_0x4bc527),this['comMarkers']['push'](_0x4bc527);}['createInertiaEllipsoid'](_0x20fd2a,_0x482204,_0x3cca36,_0x450da0){let _0x13f9bd;_0x13f9bd=_0x450da0['diagonalInertia']?{'ixx':_0x450da0['diagonalInertia']['ixx'],'iyy':_0x450da0['diagonalInertia']['iyy'],'izz':_0x450da0['diagonalInertia']['izz'],'ixy':0x0,'ixz':0x0,'iyz':0x0,'mass':_0x450da0['mass']}:_0x450da0;const _0x19e86d=Ue['computeInertiaBox'](_0x13f9bd);if(!_0x19e86d)return;const _0xd6e681=Ue['createInertiaBoxGeometry'](_0x19e86d['width'],_0x19e86d['height'],_0x19e86d['depth']),_0x4737c6=new _0xa87e13({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0x4a9eff,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x5b1bf8=new _0x3d1069(_0xd6e681,_0x4737c6);if(_0x5b1bf8['position']['copy'](_0x3cca36),_0x450da0['origin']&&_0x450da0['origin']['quat']){const _0x253cd9=_0x450da0['origin']['quat'],_0x4610d5=new _0x4adb8f(_0x253cd9['x'],_0x253cd9['y'],_0x253cd9['z'],_0x253cd9['w']),_0x22d7ad=new _0x4adb8f();_0x22d7ad['setFromAxisAngle'](new _0x5a7be3(0x0,0x1,0x0),Math['PI']);const _0x4cf09f=new _0x4adb8f();_0x4cf09f['multiplyQuaternions'](_0x4610d5,_0x22d7ad),_0x5b1bf8['quaternion']['copy'](_0x4cf09f);}else if(_0x19e86d['rotation']&&void 0x0!==_0x19e86d['rotation']['w'])_0x5b1bf8['quaternion']['copy'](_0x19e86d['rotation']);else if(_0x450da0['origin']&&_0x450da0['origin']['rpy']){const _0x1b59df=_0x450da0['origin']['rpy'];_0x5b1bf8['rotation']['set'](_0x1b59df[0x0],_0x1b59df[0x1],_0x1b59df[0x2],'XYZ');}else _0x5b1bf8['rotation']['set'](0x0,0x0,0x0);_0x5b1bf8['visible']=this['showInertia'],_0x5b1bf8['castShadow']=!0x1,_0x5b1bf8['receiveShadow']=!0x1,_0x5b1bf8['userData']['isInertiaBox']=!0x0;const _0x1c88a5=this['findLinkObject'](_0x20fd2a['threeObject'],_0x482204['name']);_0x1c88a5?_0x1c88a5['add'](_0x5b1bf8):this['sceneManager']['scene']['add'](_0x5b1bf8),this['inertiaEllipsoids']['push'](_0x5b1bf8);}['findLinkObject'](_0x19ed1b,_0xe3ae84){let _0x2f1adb=null;return _0x19ed1b['traverse'](_0x29c8f9=>{_0x29c8f9['name']!==_0xe3ae84&&_0x29c8f9['name']!=='link_'+_0xe3ae84&&_0x29c8f9['name']!=='body_'+_0xe3ae84||(_0x2f1adb=_0x29c8f9);}),_0x2f1adb;}['toggleCenterOfMass'](_0x47880f,_0x476c20){this['showCOM']=_0x47880f,_0x47880f&&0x0===this['comMarkers']['length']&&_0x476c20?this['extractInertialProperties'](_0x476c20):this['comMarkers']['forEach'](_0x14c92a=>{_0x14c92a['visible']=_0x47880f;});}['toggleInertia'](_0x25d2f5,_0x282fc9){this['showInertia']=_0x25d2f5,_0x25d2f5&&0x0===this['inertiaEllipsoids']['length']&&_0x282fc9?this['extractInertialProperties'](_0x282fc9):this['inertiaEllipsoids']['forEach'](_0x35f144=>{_0x35f144['visible']=_0x25d2f5;});}['clear'](){this['comMarkers']['forEach'](_0x501279=>{_0x501279['parent']&&_0x501279['parent']['remove'](_0x501279);}),this['inertiaEllipsoids']['forEach'](_0x59aa71=>{_0x59aa71['parent']&&_0x59aa71['parent']['remove'](_0x59aa71);}),this['comMarkers']=[],this['inertiaEllipsoids']=[];}}class Ti{constructor(_0x3e15c9){this['sceneManager']=_0x3e15c9,this['constraintVisuals']=[],this['showConstraints']=!0x0;}['visualizeConstraints'](_0x47bca0,_0x1caea6){this['constraintVisuals']['forEach'](_0x460ee9=>{_0x460ee9['parent']&&_0x460ee9['parent']['remove'](_0x460ee9);}),this['constraintVisuals']=[],_0x47bca0['constraints']&&0x0!==_0x47bca0['constraints']['size']&&_0x47bca0['constraints']['forEach']((_0x4f4292,_0x26a359)=>{try{'connect'===_0x4f4292['type']||'weld'===_0x4f4292['type']?this['visualizeBodyConstraint'](_0x47bca0,_0x4f4292,_0x1caea6):'joint'===_0x4f4292['type']?this['visualizeJointConstraint'](_0x47bca0,_0x4f4292,_0x1caea6):'distance'===_0x4f4292['type']&&this['visualizeDistanceConstraint'](_0x47bca0,_0x4f4292,_0x1caea6);}catch(_0x1354c6){}});}['visualizeBodyConstraint'](_0x16ee7a,_0x42ae91,_0x58a22e){const _0x376a40=this['findLinkObject'](_0x16ee7a['threeObject'],_0x42ae91['body1']),_0x55e07d=this['findLinkObject'](_0x16ee7a['threeObject'],_0x42ae91['body2']);if(!_0x376a40||!_0x55e07d)return;const _0x46d2dd=new _0x5065c1(),_0x1de0ce=new Float32Array(0x6);_0x1de0ce[0x0]=0x0,_0x1de0ce[0x1]=0x0,_0x1de0ce[0x2]=0x0,_0x1de0ce[0x3]=0x0,_0x1de0ce[0x4]=0x0,_0x1de0ce[0x5]=0x0,_0x46d2dd['setAttribute']('position',new _0x5375dc(_0x1de0ce,0x3));const _0x28ff4a='weld'===_0x42ae91['type']?0xff6600:0xffff,_0x264462=new _0x49d752({'color':_0x28ff4a,'linewidth':0x2,'dashSize':0.05,'gapSize':0.03,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0x1da0c0=new _0x492957(_0x46d2dd,_0x264462);_0x1da0c0['computeLineDistances'](),_0x1da0c0['userData']['constraint']=_0x42ae91,_0x1da0c0['userData']['body1']=_0x376a40,_0x1da0c0['userData']['body2']=_0x55e07d,_0x1da0c0['userData']['isConstraintVisualization']=!0x0;(_0x58a22e||this['sceneManager']['scene'])['add'](_0x1da0c0),this['constraintVisuals']['push'](_0x1da0c0),_0x1da0c0['onBeforeRender']=()=>{if(!_0x1da0c0['userData']['body1']||!_0x1da0c0['userData']['body2'])return;const _0x14597d=new _0x5a7be3(),_0x477e9c=new _0x5a7be3();if(_0x1da0c0['userData']['body1']['getWorldPosition'](_0x14597d),_0x1da0c0['userData']['body2']['getWorldPosition'](_0x477e9c),_0x58a22e){const _0x58409b=new _0x5dcd72();_0x58409b['copy'](_0x58a22e['matrixWorld'])['invert'](),_0x14597d['applyMatrix4'](_0x58409b),_0x477e9c['applyMatrix4'](_0x58409b);}const _0x37f331=_0x1da0c0['geometry']['attributes']['position']['array'];_0x37f331[0x0]=_0x14597d['x'],_0x37f331[0x1]=_0x14597d['y'],_0x37f331[0x2]=_0x14597d['z'],_0x37f331[0x3]=_0x477e9c['x'],_0x37f331[0x4]=_0x477e9c['y'],_0x37f331[0x5]=_0x477e9c['z'],_0x1da0c0['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x1da0c0['computeLineDistances']();};}['visualizeJointConstraint'](_0x5b1c7f,_0x8141d4,_0x109ba5){const _0x3047ca=_0x5b1c7f['getJoint'](_0x8141d4['joint1']),_0x14ae56=_0x5b1c7f['getJoint'](_0x8141d4['joint2']);if(!_0x3047ca||!_0x14ae56)return;const _0x24298d=_0x3047ca['child']?this['findLinkObject'](_0x5b1c7f['threeObject'],_0x3047ca['child']):null,_0x5d1738=_0x14ae56['child']?this['findLinkObject'](_0x5b1c7f['threeObject'],_0x14ae56['child']):null;if(!_0x24298d||!_0x5d1738)return;const _0x2c61db=new _0x5065c1(),_0x21c729=new Float32Array(0x6);_0x2c61db['setAttribute']('position',new _0x5375dc(_0x21c729,0x3));const _0x3cf645=new _0x49d752({'color':0xffff00,'linewidth':0x2,'dashSize':0.03,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.7}),_0x1c6088=new _0x492957(_0x2c61db,_0x3cf645);_0x1c6088['computeLineDistances'](),_0x1c6088['userData']['constraint']=_0x8141d4,_0x1c6088['userData']['link1']=_0x24298d,_0x1c6088['userData']['link2']=_0x5d1738,_0x1c6088['userData']['isConstraintVisualization']=!0x0;(_0x109ba5||this['sceneManager']['scene'])['add'](_0x1c6088),this['constraintVisuals']['push'](_0x1c6088),_0x1c6088['onBeforeRender']=()=>{if(!_0x1c6088['userData']['link1']||!_0x1c6088['userData']['link2'])return;const _0x213b5d=new _0x5a7be3(),_0xad2632=new _0x5a7be3();if(_0x1c6088['userData']['link1']['getWorldPosition'](_0x213b5d),_0x1c6088['userData']['link2']['getWorldPosition'](_0xad2632),_0x109ba5){const _0x590e22=new _0x5dcd72();_0x590e22['copy'](_0x109ba5['matrixWorld'])['invert'](),_0x213b5d['applyMatrix4'](_0x590e22),_0xad2632['applyMatrix4'](_0x590e22);}const _0x46094e=_0x1c6088['geometry']['attributes']['position']['array'];_0x46094e[0x0]=_0x213b5d['x'],_0x46094e[0x1]=_0x213b5d['y'],_0x46094e[0x2]=_0x213b5d['z'],_0x46094e[0x3]=_0xad2632['x'],_0x46094e[0x4]=_0xad2632['y'],_0x46094e[0x5]=_0xad2632['z'],_0x1c6088['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x1c6088['computeLineDistances']();};}['visualizeDistanceConstraint'](_0x540866,_0x2a5ae1,_0x164869){const _0x39051b=this['findLinkObject'](_0x540866['threeObject'],_0x2a5ae1['body1']),_0xc73381=this['findLinkObject'](_0x540866['threeObject'],_0x2a5ae1['body2']);if(!_0x39051b||!_0xc73381)return;const _0x3acda1=new _0x5065c1(),_0x14a449=new Float32Array(0x6);_0x3acda1['setAttribute']('position',new _0x5375dc(_0x14a449,0x3));const _0x46fc87=new _0x49d752({'color':0xff00ff,'linewidth':0x2,'dashSize':0.04,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0xc50db2=new _0x492957(_0x3acda1,_0x46fc87);_0xc50db2['computeLineDistances'](),_0xc50db2['userData']['constraint']=_0x2a5ae1,_0xc50db2['userData']['body1']=_0x39051b,_0xc50db2['userData']['body2']=_0xc73381,_0xc50db2['userData']['isConstraintVisualization']=!0x0;(_0x164869||this['sceneManager']['scene'])['add'](_0xc50db2),this['constraintVisuals']['push'](_0xc50db2),_0xc50db2['onBeforeRender']=()=>{if(!_0xc50db2['userData']['body1']||!_0xc50db2['userData']['body2'])return;const _0x4e4183=new _0x5a7be3(),_0x4041d3=new _0x5a7be3();if(_0xc50db2['userData']['body1']['getWorldPosition'](_0x4e4183),_0xc50db2['userData']['body2']['getWorldPosition'](_0x4041d3),_0x164869){const _0x745ccd=new _0x5dcd72();_0x745ccd['copy'](_0x164869['matrixWorld'])['invert'](),_0x4e4183['applyMatrix4'](_0x745ccd),_0x4041d3['applyMatrix4'](_0x745ccd);}const _0x148dea=_0xc50db2['geometry']['attributes']['position']['array'];_0x148dea[0x0]=_0x4e4183['x'],_0x148dea[0x1]=_0x4e4183['y'],_0x148dea[0x2]=_0x4e4183['z'],_0x148dea[0x3]=_0x4041d3['x'],_0x148dea[0x4]=_0x4041d3['y'],_0x148dea[0x5]=_0x4041d3['z'],_0xc50db2['geometry']['attributes']['position']['needsUpdate']=!0x0,_0xc50db2['computeLineDistances']();};}['applyConstraints'](_0x53d1b3,_0x5b08cd){_0x53d1b3['constraints']&&0x0!==_0x53d1b3['constraints']['size']&&_0x53d1b3['constraints']['forEach'](_0x3bdd17=>{'connect'===_0x3bdd17['type']&&this['solveConnectConstraint'](_0x53d1b3,_0x3bdd17);});}['solveConnectConstraint'](_0x804e8d,_0x29ee48){const _0x1682cc=this['findLinkObject'](_0x804e8d['threeObject'],_0x29ee48['body1']),_0x2e8a6f=this['findLinkObject'](_0x804e8d['threeObject'],_0x29ee48['body2']);if(!_0x1682cc||!_0x2e8a6f)return;const _0x42a1b7=_0x29ee48['anchor']||[0x0,0x0,0x0],_0x320664=new _0x5a7be3(_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x465caa=_0x320664['clone']();_0x1682cc['localToWorld'](_0x465caa);const _0x123649=_0x320664['clone']();_0x2e8a6f['localToWorld'](_0x123649);if(_0x465caa['distanceTo'](_0x123649)<0.001)return;const _0x383836=this['findJointsAffecting'](_0x804e8d,_0x29ee48['body2']);if(0x0===_0x383836['length'])return;const _0x456830=0.05;for(let _0x2c5830=0x0;_0x2c5830<0x14;_0x2c5830++){_0x465caa['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x1682cc['localToWorld'](_0x465caa),_0x123649['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x2e8a6f['localToWorld'](_0x123649);const _0x125941=_0x465caa['distanceTo'](_0x123649);if(_0x125941<0.001)break;for(const _0x101272 of _0x383836){if('fixed'===_0x101272['type'])continue;const _0x3013c8=_0x101272['currentValue']||0x0;Ei['setJointAngle'](_0x804e8d,_0x101272['name'],_0x3013c8+_0x456830),_0x804e8d['threeObject']['updateMatrixWorld'](!0x0),_0x465caa['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x1682cc['localToWorld'](_0x465caa),_0x123649['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x2e8a6f['localToWorld'](_0x123649);const _0x3f091d=_0x465caa['distanceTo'](_0x123649);Ei['setJointAngle'](_0x804e8d,_0x101272['name'],_0x3013c8-_0x456830),_0x804e8d['threeObject']['updateMatrixWorld'](!0x0),_0x465caa['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x1682cc['localToWorld'](_0x465caa),_0x123649['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x2e8a6f['localToWorld'](_0x123649);const _0x387d7c=_0x465caa['distanceTo'](_0x123649);let _0x53af9d=_0x3013c8;_0x3f091d<_0x125941&&_0x3f091d<_0x387d7c?_0x53af9d=_0x3013c8+_0x456830:_0x387d7c<_0x125941&&(_0x53af9d=_0x3013c8-_0x456830),Ei['setJointAngle'](_0x804e8d,_0x101272['name'],_0x53af9d),_0x101272['currentValue']=_0x53af9d;const _0x48870c=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x101272['name']+'\x22]');if(_0x48870c){_0x48870c['value']=_0x53af9d;const _0x31b756=document['querySelector']('input[data-joint-input=\x22'+_0x101272['name']+'\x22]');if(_0x31b756){const _0x48c4db=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x31b756['value']='deg'===_0x48c4db?(0xb4*_0x53af9d/Math['PI'])['toFixed'](0x2):_0x53af9d['toFixed'](0x2);}}}}_0x804e8d['threeObject']['updateMatrixWorld'](!0x0),_0x465caa['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x1682cc['localToWorld'](_0x465caa),_0x123649['set'](_0x42a1b7[0x0],_0x42a1b7[0x1],_0x42a1b7[0x2]),_0x2e8a6f['localToWorld'](_0x123649),_0x465caa['distanceTo'](_0x123649);}['findJointsAffecting'](_0x581420,_0x12bf5b){const _0x586fa1=[],_0x3d9e00=new Set();let _0x59de4d=_0x12bf5b;for(;_0x59de4d&&!_0x3d9e00['has'](_0x59de4d);){_0x3d9e00['add'](_0x59de4d);let _0x34ba72=null;if(_0x581420['joints']['forEach'](_0x1f6fbd=>{_0x1f6fbd['child']===_0x59de4d&&(_0x34ba72=_0x1f6fbd,_0x586fa1['push'](_0x1f6fbd));}),!_0x34ba72)break;_0x59de4d=_0x34ba72['parent'];}return _0x586fa1['reverse']();}['findLinkObject'](_0x5fd71f,_0x36b07c){let _0xedd9f=null;return _0x5fd71f['traverse'](_0x3b425f=>{_0x3b425f['name']!==_0x36b07c&&_0x3b425f['name']!=='link_'+_0x36b07c&&_0x3b425f['name']!=='body_'+_0x36b07c||(_0xedd9f=_0x3b425f);}),_0xedd9f;}['clear'](){this['constraintVisuals']['forEach'](_0x5721a3=>{_0x5721a3['parent']&&_0x5721a3['parent']['remove'](_0x5721a3);}),this['constraintVisuals']=[];}}class Oi{constructor(_0x286ce6){this['sceneManager']=_0x286ce6,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 _0x5a7be3(),this['_tmpQuat']=new _0x4adb8f(),this['_tmpScale']=new _0x5a7be3(0x1,0x1,0x1),this['_tmpMat']=new _0x5dcd72(),this['_tmpMatLocal']=new _0x5dcd72();}['hasVisibleLinkAxes'](){return Array['from'](this['linkAxesHelpers']['values']())['some'](_0x4d588c=>_0x4d588c['visible']);}['hasVisibleJointAxes'](){return Array['from'](this['jointAxesHelpers']['values']())['some'](_0x2dcdb0=>_0x2dcdb0['isAttached']);}static['createAxesGeometry'](_0x13ca6b){const _0x4b1653=new _0x2474d6();_0x4b1653['userData']['excludeFromBBox']=!0x0;const _0x41fed3=Math['max'](0.001,0.015*_0x13ca6b),_0x3d6187=new _0x201dad(_0x41fed3,_0x41fed3,_0x13ca6b,0x8),_0x37e9af=new _0x3d1069(_0x3d6187,new _0xa87e13({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}));_0x37e9af['position']['x']=_0x13ca6b/0x2,_0x37e9af['rotation']['z']=-Math['PI']/0x2,_0x37e9af['castShadow']=!0x1,_0x37e9af['receiveShadow']=!0x1,_0x4b1653['add'](_0x37e9af);const _0x365e68=new _0x3d1069(_0x3d6187,new _0xa87e13({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}));_0x365e68['position']['y']=_0x13ca6b/0x2,_0x365e68['castShadow']=!0x1,_0x365e68['receiveShadow']=!0x1,_0x4b1653['add'](_0x365e68);const _0x337a7a=new _0x3d1069(_0x3d6187,new _0xa87e13({'color':0xff,'shininess':0x1e,'depthTest':!0x0}));return _0x337a7a['position']['z']=_0x13ca6b/0x2,_0x337a7a['rotation']['x']=Math['PI']/0x2,_0x337a7a['castShadow']=!0x1,_0x337a7a['receiveShadow']=!0x1,_0x4b1653['add'](_0x337a7a),_0x4b1653;}static['createJointArrowGeometry'](_0x4dc707){const _0x384783=0.2*0.7,_0x111bfe=new _0x553295({'color':0xff0000}),_0x513693=new _0x201dad(0.004,0.004,_0x384783,0x10,0x1),_0x3d7d65=new _0x3d1069(_0x513693,_0x111bfe);_0x3d7d65['position']['y']=_0x384783/0x2;const _0x5e3c66=new _0x4b8cda(0.012,0.06,0x10),_0x4f7b41=new _0x3d1069(_0x5e3c66,_0x111bfe);_0x4f7b41['position']['y']=_0x384783+0.03;const _0x31a520=new _0x2474d6();_0x31a520['add'](_0x3d7d65),_0x31a520['add'](_0x4f7b41);const _0x108786=new _0x5a7be3(0x0,0x1,0x0),_0xf5239=new _0x4adb8f();_0xf5239['setFromUnitVectors'](_0x108786,_0x4dc707),_0x31a520['quaternion']['copy'](_0xf5239);const _0x459e97=new _0x2474d6();_0x459e97['userData']['excludeFromBBox']=!0x0,_0x459e97['add'](_0x31a520);const _0x5231ea=Oi['createRotationIndicator'](_0x4dc707,0.2);return _0x459e97['add'](_0x5231ea),_0x459e97;}static['createRotationIndicator'](_0x4182bf,_0x464992){const _0x2d9683=new _0x2474d6(),_0x2fab28=0.25*_0x464992,_0x4a5e9f=1.5*Math['PI'],_0x3b35ff=new _0x212f00(0x0,0x0,_0x2fab28,_0x2fab28,0x0,_0x4a5e9f,!0x1,0x0)['getPoints'](0x32)['map'](_0x4ca4ca=>new _0x5a7be3(_0x4ca4ca['x'],_0x4ca4ca['y'],0x0)),_0x45460c=new _0x3cfe80(_0x3b35ff),_0x3d0b70=new _0x6e922e(_0x45460c,0x32,0.002,0x8,!0x1),_0x16f2a1=new _0x553295({'color':0xff00}),_0x45654e=new _0x3d1069(_0x3d0b70,_0x16f2a1);_0x2d9683['add'](_0x45654e);const _0x154762=new _0x4b8cda(0.008,0.016,0x8),_0x5b8c7e=new _0x553295({'color':0xff00}),_0x14ec0c=new _0x3d1069(_0x154762,_0x5b8c7e),_0x2c721d=_0x3b35ff[_0x3b35ff['length']-0x1],_0x467985=_0x3b35ff[_0x3b35ff['length']-0x5],_0x2a10f8=new _0x5a7be3()['subVectors'](_0x2c721d,_0x467985)['normalize']();_0x14ec0c['position']['copy'](_0x2c721d),_0x14ec0c['quaternion']['setFromUnitVectors'](new _0x5a7be3(0x0,0x1,0x0),_0x2a10f8),_0x2d9683['add'](_0x14ec0c);const _0x2adb0f=new _0x4adb8f();_0x2adb0f['setFromUnitVectors'](new _0x5a7be3(0x0,0x0,0x1),_0x4182bf),_0x2d9683['quaternion']['copy'](_0x2adb0f);const _0x542c71=_0x4182bf['clone']()['multiplyScalar'](0.85*_0x464992);return _0x2d9683['position']['copy'](_0x542c71),_0x2d9683;}['createLinkAxes'](_0x5f3f69,_0x41d996,_0xc1c4db=0x1){const _0x643f02=Math['max'](0.02,Math['min'](0.1*_0xc1c4db,0.2))*this['axesScale'],_0x318560=new _0x2474d6();_0x318560['name']=_0x41d996+'_axes',_0x318560['userData']['excludeFromBBox']=!0x0;const _0x5cded6=Math['max'](0.001,0.015*_0x643f02),_0x163d16=new _0x201dad(_0x5cded6,_0x5cded6,_0x643f02,0x8),_0x11429d=new _0xa87e13({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}),_0x12a0e2=new _0x3d1069(_0x163d16,_0x11429d);_0x12a0e2['position']['x']=_0x643f02/0x2,_0x12a0e2['rotation']['z']=-Math['PI']/0x2,_0x12a0e2['castShadow']=!0x1,_0x12a0e2['receiveShadow']=!0x1,_0x12a0e2['userData']={'isAxis':!0x0,'linkName':_0x41d996,'axisType':'x'},_0x318560['add'](_0x12a0e2);const _0x9f1226=new _0xa87e13({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}),_0x53ba48=new _0x3d1069(_0x163d16,_0x9f1226);_0x53ba48['position']['y']=_0x643f02/0x2,_0x53ba48['castShadow']=!0x1,_0x53ba48['receiveShadow']=!0x1,_0x53ba48['userData']={'isAxis':!0x0,'linkName':_0x41d996,'axisType':'y'},_0x318560['add'](_0x53ba48);const _0xdebaac=new _0xa87e13({'color':0xff,'shininess':0x1e,'depthTest':!0x0}),_0x5a0658=new _0x3d1069(_0x163d16,_0xdebaac);return _0x5a0658['position']['z']=_0x643f02/0x2,_0x5a0658['rotation']['x']=Math['PI']/0x2,_0x5a0658['castShadow']=!0x1,_0x5a0658['receiveShadow']=!0x1,_0x5a0658['userData']={'isAxis':!0x0,'linkName':_0x41d996,'axisType':'z'},_0x318560['add'](_0x5a0658),_0x5f3f69['threeObject']&&_0x5f3f69['threeObject']['add'](_0x318560),this['linkAxesHelpers']['set'](_0x41d996,_0x318560),this['showLabels']&&this['createAxisLabel'](_0x41d996,_0x318560,_0x643f02,!0x0),_0x318560['visible']=!0x1,_0x318560;}['createJointAxis'](_0x3d1176,_0x4b1f56){if(!_0x3d1176['threeObject']||'revolute'!==_0x3d1176['type']&&'continuous'!==_0x3d1176['type'])return null;const _0x1dc4b3=_0x3d1176['threeObject'],_0x4aa3b8=new _0x2474d6();_0x4aa3b8['name']='jointAxis_'+_0x4b1f56,_0x4aa3b8['userData']['excludeFromBBox']=!0x0;let _0x15a31a=new _0x5a7be3(0x0,0x0,0x1);_0x1dc4b3['axis']?_0x15a31a['copy'](_0x1dc4b3['axis'])['normalize']():_0x3d1176['axis']&&_0x3d1176['axis']['xyz']&&_0x15a31a['set'](_0x3d1176['axis']['xyz'][0x0]||0x0,_0x3d1176['axis']['xyz'][0x1]||0x0,void 0x0!==_0x3d1176['axis']['xyz'][0x2]?_0x3d1176['axis']['xyz'][0x2]:0x1)['normalize']();const _0x1d57a0=0.2*this['axesScale'],_0x893ef3=0.7*_0x1d57a0,_0x764f52=0.3*_0x1d57a0,_0x116305=0.004*this['axesScale'],_0x20e956=0.012*this['axesScale'],_0x292f12=new _0x553295({'color':0xff0000}),_0x4369aa=new _0x201dad(_0x116305,_0x116305,_0x893ef3,0x10,0x1),_0x439af2=new _0x3d1069(_0x4369aa,_0x292f12);_0x439af2['raycast']=()=>{};const _0x1647ae=new _0x4b8cda(_0x20e956,_0x764f52,0x20,0x1),_0xba6589=new _0x3d1069(_0x1647ae,_0x292f12);_0xba6589['raycast']=()=>{};const _0x5593fe=new _0x2474d6();_0x439af2['position']['y']=_0x893ef3/0x2,_0x5593fe['add'](_0x439af2),_0xba6589['position']['y']=_0x893ef3+_0x764f52/0x2,_0x5593fe['add'](_0xba6589);const _0x3983da=new _0x5a7be3(0x0,0x1,0x0),_0x58b42e=new _0x4adb8f();_0x58b42e['setFromUnitVectors'](_0x3983da,_0x15a31a),_0x5593fe['quaternion']['copy'](_0x58b42e),_0x4aa3b8['add'](_0x5593fe);const _0x2efda9=this['createRotationIndicator'](_0x15a31a,_0x1d57a0);return _0x4aa3b8['add'](_0x2efda9),this['jointAxesHelpers']['set'](_0x4b1f56,{'mesh':_0x4aa3b8,'parent':_0x1dc4b3,'joint':_0x3d1176,'isAttached':!0x1,'userVisible':!0x1}),this['showLabels']&&this['createAxisLabel'](_0x4b1f56,_0x4aa3b8,_0x1d57a0,!0x1),this['_syncJointAxisAttachment'](_0x4b1f56),_0x4aa3b8;}['createRotationIndicator'](_0x55a8da,_0x55b4c2){const _0x40ca9a=new _0x2474d6(),_0x40c09b=0.25*_0x55b4c2,_0x530e69=0.002*this['axesScale'],_0x357e84=0.008*this['axesScale'],_0x3f0edc=1.5*Math['PI'],_0x77314=new _0x212f00(0x0,0x0,_0x40c09b,_0x40c09b,0x0,_0x3f0edc,!0x1,0x0)['getPoints'](0x32)['map'](_0x42b1f1=>new _0x5a7be3(_0x42b1f1['x'],_0x42b1f1['y'],0x0)),_0x46f6da=new _0x3cfe80(_0x77314),_0xa405f6=new _0x6e922e(_0x46f6da,0x32,_0x530e69,0x8,!0x1),_0x5c130e=new _0x553295({'color':0xff00}),_0x2ede35=new _0x3d1069(_0xa405f6,_0x5c130e);_0x2ede35['raycast']=()=>{},_0x40ca9a['add'](_0x2ede35);const _0x1f4354=new _0x4b8cda(_0x357e84,0x2*_0x357e84,0x8),_0x1ceac1=new _0x553295({'color':0xff00}),_0x6c805e=new _0x3d1069(_0x1f4354,_0x1ceac1);_0x6c805e['raycast']=()=>{};const _0x3bae4d=_0x77314[_0x77314['length']-0x1],_0x4fbd70=_0x77314[_0x77314['length']-0x5],_0x223598=new _0x5a7be3()['subVectors'](_0x3bae4d,_0x4fbd70)['normalize']();_0x6c805e['position']['copy'](_0x3bae4d),_0x6c805e['quaternion']['setFromUnitVectors'](new _0x5a7be3(0x0,0x1,0x0),_0x223598),_0x40ca9a['add'](_0x6c805e);const _0x23a277=new _0x4adb8f();_0x23a277['setFromUnitVectors'](new _0x5a7be3(0x0,0x0,0x1),_0x55a8da),_0x40ca9a['quaternion']['copy'](_0x23a277);const _0x2470ac=_0x55a8da['clone']()['multiplyScalar'](0.85*_0x55b4c2);return _0x40ca9a['position']['copy'](_0x2470ac),_0x40ca9a;}['showAllAxes'](){this['linkAxesHelpers']['forEach']((_0x197eb9,_0x356a2e)=>{_0x197eb9['visible']=!0x0;const _0x1d87e7=this['axesLabels']['get'](_0x356a2e);_0x1d87e7&&(_0x1d87e7['visible']=this['showLabels']);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllAxes'](){this['linkAxesHelpers']['forEach']((_0x2062c1,_0x37bab0)=>{_0x2062c1['visible']=!0x1;const _0x28ac96=this['axesLabels']['get'](_0x37bab0);_0x28ac96&&(_0x28ac96['visible']=!0x1);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['_syncJointAxisAttachment'](_0x25d2a0){const _0x113d0=this['jointAxesHelpers']['get'](_0x25d2a0);if(!_0x113d0||!_0x113d0['parent'])return;const _0xa4bfe7=null!==this['_isolatedJointName']?_0x25d2a0===this['_isolatedJointName']:_0x113d0['userVisible'];_0xa4bfe7&&!_0x113d0['isAttached']?(_0x113d0['parent']['add'](_0x113d0['mesh']),_0x113d0['isAttached']=!0x0):!_0xa4bfe7&&_0x113d0['isAttached']&&(_0x113d0['parent']['remove'](_0x113d0['mesh']),_0x113d0['isAttached']=!0x1);const _0x56d69e=this['jointAxesLabels']['get'](_0x25d2a0);_0x56d69e&&(_0x56d69e['visible']=_0x113d0['isAttached']&&this['showLabels']);}['_syncAllJointAxesAttachment'](){this['jointAxesHelpers']['forEach']((_0x46aa65,_0x29d31d)=>{this['_syncJointAxisAttachment'](_0x29d31d);});}['showAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x45562b=>{_0x45562b['userVisible']=!0x0;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x26e64b=>{_0x26e64b['userVisible']=!0x1;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['showOnlyJointAxis'](_0x4ccaa8){let _0x2c8f39=null;this['jointAxesHelpers']['forEach']((_0x3e425e,_0x368fcd)=>{_0x3e425e['joint']===_0x4ccaa8&&(_0x2c8f39=_0x368fcd);}),this['_isolatedJointName']!==_0x2c8f39&&(this['_isolatedJointName']=_0x2c8f39,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'](_0x58db9a=>{_0x58db9a['traverse'](_0x23fa99=>{_0x23fa99['isMesh']&&(_0x23fa99['castShadow']=!0x1,_0x23fa99['receiveShadow']=!0x1);});}),this['jointAxesHelpers']['forEach'](_0x4d6ba2=>{_0x4d6ba2['mesh']['traverse'](_0x548fc6=>{_0x548fc6['isMesh']&&(_0x548fc6['castShadow']=!0x1,_0x548fc6['receiveShadow']=!0x1);});});}['clearAllLinkAxes'](){this['axesLabels']['forEach'](_0x251499=>{_0x251499['parent']&&_0x251499['parent']['remove'](_0x251499);}),this['axesLabels']['clear'](),this['linkAxesHelpers']['forEach'](_0xf01b58=>{_0xf01b58['parent']&&_0xf01b58['parent']['remove'](_0xf01b58);}),this['linkAxesHelpers']['clear']();}['clearAllJointAxes'](){this['jointAxesLabels']['forEach'](_0x471ba4=>{_0x471ba4['parent']&&_0x471ba4['parent']['remove'](_0x471ba4);}),this['jointAxesLabels']['clear'](),this['jointAxesHelpers']['forEach'](_0x88988c=>{_0x88988c['isAttached']&&_0x88988c['parent']&&_0x88988c['parent']['remove'](_0x88988c['mesh']);}),this['jointAxesHelpers']['clear'](),this['_isolatedJointName']=null;}['clear'](){this['clearAllLinkAxes'](),this['clearAllJointAxes'](),this['clearAllLabels']();}['setAllLinkAxesVisible'](_0x206902){_0x206902?this['showAllAxes']():this['hideAllAxes']();}['setAllJointAxesVisible'](_0x3cc8f1){_0x3cc8f1?this['showAllJointAxes']():this['hideAllJointAxes']();}['setAxesScale'](_0x1e4107){this['axesScale']=Math['max'](0.1,Math['min'](_0x1e4107,0x3));}['getAxesScale'](){return this['axesScale'];}['selectAxis'](_0x48218e){this['deselectAxis'](),this['linkAxesHelpers']['has'](_0x48218e)&&(this['selectedLinkName']=_0x48218e,this['sceneManager']['redraw']());}['deselectAxis'](){this['selectedLinkName']=null,this['sceneManager']['redraw']();}['getSelectedLinkName'](){return this['selectedLinkName'];}['getLinksWithAxes'](){const _0xfc3507=[];return this['linkAxesHelpers']['forEach']((_0x3142eb,_0x3e22bc)=>{_0x3142eb['visible']&&_0xfc3507['push'](_0x3e22bc);}),_0xfc3507;}['previewJointOriginRpy'](_0x7b6e49,_0x2bd5de,_0x2707a0){const _0x48669b=this['_computeJointRpy'](_0x7b6e49,_0x2bd5de,_0x2707a0);return!!_0x48669b&&(this['_applyLinkDeltaTransform'](_0x48669b['joint'],_0x48669b['rpy'],_0x7b6e49),this['sceneManager']['redraw'](),{'jointName':_0x48669b['joint']['name'],'rpy':_0x48669b['rpy']});}['applyJointOriginRpy'](_0x14a41a,_0x134770,_0x1279ce){let _0x4a81b5=null;if(_0x14a41a['joints']['forEach'](_0x55ec64=>{_0x55ec64['child']===_0x134770&&(_0x4a81b5=_0x55ec64);}),!_0x4a81b5)return!0x1;const _0x4ef3e5=_0x4a81b5['_origRpy']||[0x0,0x0,0x0],_0xcebdf=Math['PI']/0x2,_0xf5cac5=0x2*Math['PI'],_0x35c0a2=_0x1279ce['map']((_0x18c0e9,_0x49a42c)=>{if(Math['abs'](_0x18c0e9-_0x4ef3e5[_0x49a42c])<0.01)return _0x4ef3e5[_0x49a42c];const _0x3a19e2=Math['round']((_0x18c0e9-_0x4ef3e5[_0x49a42c])/_0xcebdf);let _0x5360e4=_0x4ef3e5[_0x49a42c]+_0x3a19e2*_0xcebdf;return _0x5360e4%=_0xf5cac5,_0x5360e4>Math['PI']&&(_0x5360e4-=_0xf5cac5),_0x5360e4<=-Math['PI']&&(_0x5360e4+=_0xf5cac5),_0x5360e4;}),_0x579bb1=new _0x4adb8f()['setFromEuler'](new _0x730a0a(_0x35c0a2[0x0],_0x35c0a2[0x1],_0x35c0a2[0x2],'ZYX'));_0x4a81b5['threeObject']['quaternion']['copy'](_0x579bb1);const _0x42ca76=_0x14a41a['links']['get'](_0x4a81b5['child']);return _0x42ca76&&_0x42ca76['threeObject']&&(_0x42ca76['threeObject']['position']['set'](0x0,0x0,0x0),_0x42ca76['threeObject']['quaternion']['identity'](),_0x42ca76['threeObject']['scale']['set'](0x1,0x1,0x1)),_0x4a81b5['origin']['rpy']=_0x35c0a2,_0x4a81b5['_origRpy']=[..._0x35c0a2],_0x14a41a['threeObject']&&_0x14a41a['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),{'jointName':_0x4a81b5['name'],'rpy':_0x35c0a2};}['_computeJointRpy'](_0x57a390,_0x3b4b47,_0x37f8df){let _0x4f66df=null;if(_0x57a390['joints']['forEach'](_0x10bb6a=>{_0x10bb6a['child']===_0x3b4b47&&(_0x4f66df=_0x10bb6a);}),!_0x4f66df)return null;const _0x1af5c5=_0x4f66df['_origRpy']||[0x0,0x0,0x0],_0x4a114a=Math['PI']/0x2,_0x595973=0x2*Math['PI'],_0x573652=_0x37f8df['map']((_0x370386,_0x427fea)=>{return(_0x541e81=>{let _0x4ecbb6=_0x541e81%_0x595973;return _0x4ecbb6>Math['PI']&&(_0x4ecbb6-=_0x595973),_0x4ecbb6<=-Math['PI']&&(_0x4ecbb6+=_0x595973),_0x4ecbb6;})((_0x3c6c0f=_0x370386,(_0x483671=_0x1af5c5[_0x427fea])+Math['round']((_0x3c6c0f-_0x483671)/_0x4a114a)*_0x4a114a));var _0x3c6c0f,_0x483671;});return{'joint':_0x4f66df,'rpy':_0x573652,'linkName':_0x4f66df['child']};}['_applyLinkDeltaTransform'](_0x10885b,_0x3ae15c,_0x2ca00a){const _0x3aed4d=_0x10885b['child'],_0x184d76=_0x2ca00a['links']['get'](_0x3aed4d);if(!_0x184d76||!_0x184d76['threeObject'])return;const _0x5d05e4=_0x10885b['origin']&&_0x10885b['origin']['rpy']?_0x10885b['origin']['rpy']:[0x0,0x0,0x0],_0x1a24f7=_0x10885b['_origXyz']||(_0x10885b['origin']?_0x10885b['origin']['xyz']:[0x0,0x0,0x0]),_0x2c5d5a=new _0x4adb8f()['setFromEuler'](new _0x730a0a(_0x5d05e4[0x0],_0x5d05e4[0x1],_0x5d05e4[0x2],'XYZ')),_0x4dd930=new _0x4adb8f()['setFromEuler'](new _0x730a0a(_0x3ae15c[0x0],_0x3ae15c[0x1],_0x3ae15c[0x2],'XYZ'));this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x1a24f7[0x0],_0x1a24f7[0x1],_0x1a24f7[0x2]),_0x2c5d5a,this['_tmpScale']['set'](0x1,0x1,0x1));const _0x2ac53e=this['_tmpMat']['clone']();this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x1a24f7[0x0],_0x1a24f7[0x1],_0x1a24f7[0x2]),_0x4dd930,this['_tmpScale']['set'](0x1,0x1,0x1)),this['_tmpMatLocal']['copy'](_0x2ac53e)['invert']()['multiply'](this['_tmpMat']),this['_tmpMatLocal']['decompose'](_0x184d76['threeObject']['position'],_0x184d76['threeObject']['quaternion'],this['_tmpScale']),_0x184d76['threeObject']['scale']['set'](0x1,0x1,0x1),_0x2ca00a['threeObject']&&_0x2ca00a['threeObject']['updateMatrixWorld'](!0x0);}['showAxesByName'](_0x455b87,_0x627cc4){var _0x353ba6,_0x4582d9,_0x35ebbe,_0x48fc1f;let _0xbc47f8=this['linkAxesHelpers']['get'](_0x455b87);if(!_0xbc47f8&&_0x627cc4){const _0x224a2c=null==(_0x35ebbe=null==(_0x4582d9=null==(_0x353ba6=this['sceneManager'])?void 0x0:_0x353ba6['currentModel'])?void 0x0:_0x4582d9['links'])?void 0x0:_0x35ebbe['get'](_0x455b87);if(_0x224a2c){let _0x4b6a65=0x1;const _0x58812c=null==(_0x48fc1f=this['sceneManager'])?void 0x0:_0x48fc1f['currentModel'];if(null==_0x58812c?void 0x0:_0x58812c['threeObject'])try{const _0xb6c857=new _0x9892f7()['setFromObject'](_0x58812c['threeObject']);if(!_0xb6c857['isEmpty']()){const _0x43cf26=_0xb6c857['getSize'](new _0x5a7be3());_0x4b6a65=Math['max'](_0x43cf26['x'],_0x43cf26['y'],_0x43cf26['z']);}}catch(_0x386430){}_0xbc47f8=this['createLinkAxes'](_0x224a2c,_0x455b87,_0x4b6a65);}}if(_0xbc47f8){_0xbc47f8['visible']=_0x627cc4;const _0x1846ba=this['axesLabels']['get'](_0x455b87);_0x1846ba&&(_0x1846ba['visible']=_0x627cc4&&this['showLabels']),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['showJointAxisByName'](_0x33b66c,_0x9aa293){const _0x388b50=this['jointAxesHelpers']['get'](_0x33b66c);_0x388b50&&(_0x388b50['userVisible']=_0x9aa293,this['_isolatedJointName']=null,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['setShowLabels'](_0x8c7b3e){this['showLabels']=_0x8c7b3e,_0x8c7b3e&&(this['linkAxesHelpers']['forEach']((_0x1d0068,_0x216f71)=>{if(!this['axesLabels']['has'](_0x216f71)){const _0x3884a0=this['getAxesDisplaySize'](_0x1d0068);this['createAxisLabel'](_0x216f71,_0x1d0068,_0x3884a0,!0x0);}}),this['jointAxesHelpers']['forEach']((_0x5f0ff6,_0x3adb7a)=>{if(!this['jointAxesLabels']['has'](_0x3adb7a)){const _0x2a588e=this['getAxesDisplaySize'](_0x5f0ff6['mesh']);this['createAxisLabel'](_0x3adb7a,_0x5f0ff6['mesh'],_0x2a588e,!0x1);}})),this['axesLabels']['forEach']((_0x2ea87d,_0x3b7cf0)=>{const _0x1635bd=this['linkAxesHelpers']['get'](_0x3b7cf0);_0x2ea87d['visible']=_0x8c7b3e&&_0x1635bd&&_0x1635bd['visible'];}),this['jointAxesLabels']['forEach']((_0x4f7d18,_0x18803b)=>{const _0x55bba0=this['jointAxesHelpers']['get'](_0x18803b);_0x4f7d18['visible']=_0x8c7b3e&&_0x55bba0&&_0x55bba0['isAttached'];}),this['sceneManager']['redraw']();}['getAxesDisplaySize'](_0x2e79d4){let _0x256980=0x0;return _0x2e79d4['traverse'](_0x58f43d=>{_0x58f43d['isCSS2DObject']||(_0x256980=Math['max'](_0x256980,Math['abs'](_0x58f43d['position']['x']),Math['abs'](_0x58f43d['position']['y']),Math['abs'](_0x58f43d['position']['z'])));}),Math['max'](0x2*_0x256980,0.03*this['axesScale']);}['createAxisLabel'](_0x533994,_0x4e8334,_0x5847cd,_0x390f5d){var _0x3824d5;const _0x40b8e1=_0x390f5d?this['axesLabels']['get'](_0x533994):this['jointAxesLabels']['get'](_0x533994);if(_0x40b8e1){_0x40b8e1['parent']!==_0x4e8334&&(null==(_0x3824d5=_0x40b8e1['parent'])||_0x3824d5['remove'](_0x40b8e1),_0x4e8334['add'](_0x40b8e1));const _0x5eb76c=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x40b8e1['element']['style']['fontSize']=_0x5eb76c+'px',_0x40b8e1['element']['style']['whiteSpace']='nowrap';}const _0x180a44=document['createElement']('div');_0x180a44['className']='axis-label',_0x180a44['textContent']=_0x533994;const _0x3f37b5=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x180a44['style']['fontSize']=_0x3f37b5+'px',_0x180a44['style']['whiteSpace']='nowrap';const _0x4a92cd=new Fe(_0x180a44);return _0x4a92cd['position']['set'](1.15*_0x5847cd,0x0,0x0),_0x4a92cd['visible']=this['showLabels'],_0x4e8334['add'](_0x4a92cd),_0x390f5d?this['axesLabels']['set'](_0x533994,_0x4a92cd):this['jointAxesLabels']['set'](_0x533994,_0x4a92cd),_0x4a92cd;}['clearAllLabels'](){this['axesLabels']['forEach']((_0x5935bb,_0x5f5ae5)=>{const _0x429129=this['linkAxesHelpers']['get'](_0x5f5ae5);_0x429129&&_0x429129['remove'](_0x5935bb);}),this['axesLabels']['clear'](),this['jointAxesLabels']['forEach']((_0x5ddd06,_0x392742)=>{const _0x72d308=this['jointAxesHelpers']['get'](_0x392742);_0x72d308&&_0x72d308['mesh']&&_0x72d308['mesh']['remove'](_0x5ddd06);}),this['jointAxesLabels']['clear']();}['getLinkNames'](){return Array['from'](this['linkAxesHelpers']['keys']());}['getJointNames'](){return Array['from'](this['jointAxesHelpers']['keys']());}['isLinkAxisVisible'](_0x1b1944){const _0x4dbc28=this['linkAxesHelpers']['get'](_0x1b1944);return!!_0x4dbc28&&_0x4dbc28['visible'];}['isJointAxisVisible'](_0x3ff4b3){const _0x411baf=this['jointAxesHelpers']['get'](_0x3ff4b3);return!!_0x411baf&&_0x411baf['userVisible'];}}class Fi{constructor(_0x1731fa){this['sceneManager']=_0x1731fa,this['currentHighlightedLink']=null,this['highlightMaterial']=new _0xa87e13({'shininess':0xa,'color':0xffffff,'emissive':0xffffff,'emissiveIntensity':0.25});}['highlightLink'](_0x1ccba2,_0x2357b8){_0x1ccba2&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0x1ccba2['name']||(this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],_0x2357b8),this['currentHighlightedLink']=_0x1ccba2,_0x1ccba2['threeObject']&&this['highlightLinkGeometry'](_0x1ccba2['threeObject'],_0x2357b8),this['showHoverInfo'](_0x1ccba2,_0x2357b8),this['sceneManager']['redraw']()));}['unhighlightLink'](_0x18eb62,_0x1835bc){_0x18eb62&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0x18eb62['name']&&(this['currentHighlightedLink']=null),_0x18eb62['threeObject']&&this['unhighlightLinkGeometry'](_0x18eb62['threeObject'],_0x1835bc),this['hideHoverInfo'](),this['sceneManager']['redraw']());}['highlightLinkGeometry'](_0x505090,_0x40333b){const _0xa46d10=(_0x24f261,_0xfd6efa=!0x1)=>{var _0x3874fa,_0x5c20d7,_0x4ea6b1,_0xe35d0b,_0x11e71e;if(_0xfd6efa||'URDFLink'!==_0x24f261['type']&&!_0x24f261['isURDFLink']){if(_0x24f261['isURDFJoint']||'URDFJoint'===_0x24f261['type']){const _0x25a4f1=_0x24f261['name'];let _0x2a8685=!0x1;if(_0x25a4f1&&(null==_0x40333b?void 0x0:_0x40333b['joints'])&&_0x40333b['joints']['has'](_0x25a4f1)){_0x2a8685='fixed'===_0x40333b['joints']['get'](_0x25a4f1)['type'];}if(_0x2a8685){for(const _0x401ec1 of _0x24f261['children'])_0xa46d10(_0x401ec1,!0x1);return;}return;}if('Mesh'===_0x24f261['type']||_0x24f261['isMesh']){if(_0x24f261['isURDFCollider'])return;_0x24f261['__origMaterial']||(_0x24f261['__origMaterial']=_0x24f261['material']);const _0x5f43d7=null==(_0x3874fa=_0x24f261['userData'])?void 0x0:_0x3874fa['isInertiaBox'],_0x47ae00=(null==(_0x5c20d7=_0x24f261['userData'])?void 0x0:_0x5c20d7['isCollision'])||(null==(_0x4ea6b1=_0x24f261['userData'])?void 0x0:_0x4ea6b1['isCollisionGeom']),_0xa66aa2=(null==(_0xe35d0b=_0x24f261['userData'])?void 0x0:_0xe35d0b['isCenterOfMass'])||_0x24f261['parent']&&(null==(_0x11e71e=_0x24f261['parent']['userData'])?void 0x0:_0x11e71e['isCenterOfMass']);if(_0x5f43d7||_0x47ae00){const _0x5710b9=_0x24f261['__origMaterial'];_0x5710b9['isMeshPhongMaterial']&&(_0x24f261['material']=new _0xa87e13({'transparent':!0x0,'opacity':Math['min']((_0x5710b9['opacity']||0.35)+0.15,0.7),'shininess':_0x5710b9['shininess'],'premultipliedAlpha':_0x5710b9['premultipliedAlpha'],'color':_0x5710b9['color']['clone'](),'emissive':_0x5710b9['color']['clone'](),'emissiveIntensity':0.2,'polygonOffset':_0x5710b9['polygonOffset'],'polygonOffsetFactor':_0x5710b9['polygonOffsetFactor'],'polygonOffsetUnits':_0x5710b9['polygonOffsetUnits']}));}else if(_0xa66aa2){const _0x4cb5a3=_0x24f261['__origMaterial'];if(_0x4cb5a3['isMeshBasicMaterial']){_0x24f261['material']=new _0x553295({'color':_0x4cb5a3['color']['clone'](),'side':_0x4cb5a3['side'],'depthTest':_0x4cb5a3['depthTest'],'depthWrite':_0x4cb5a3['depthWrite']});const _0x3c3fa5={};_0x24f261['material']['color']['getHSL'](_0x3c3fa5),_0x24f261['material']['color']['setHSL'](_0x3c3fa5['h'],_0x3c3fa5['s'],Math['min'](_0x3c3fa5['l']+0.3,0x1));}}else _0x24f261['material']=this['highlightMaterial'];}for(const _0x1dd219 of _0x24f261['children'])_0xa46d10(_0x1dd219,!0x1);}};_0xa46d10(_0x505090,!0x0);}['unhighlightLinkGeometry'](_0x4b3fbd,_0x2da314){const _0x496de4=(_0x860d02,_0x51a0b5=!0x1)=>{if(_0x51a0b5||'URDFLink'!==_0x860d02['type']&&!_0x860d02['isURDFLink']){if(_0x860d02['isURDFJoint']||'URDFJoint'===_0x860d02['type']){const _0x55c884=_0x860d02['name'];let _0x55bd72=!0x1;if(_0x55c884&&(null==_0x2da314?void 0x0:_0x2da314['joints'])&&_0x2da314['joints']['has'](_0x55c884)){_0x55bd72='fixed'===_0x2da314['joints']['get'](_0x55c884)['type'];}if(_0x55bd72){for(const _0x283a6b of _0x860d02['children'])_0x496de4(_0x283a6b,!0x1);return;}return;}('Mesh'===_0x860d02['type']||_0x860d02['isMesh'])&&_0x860d02['__origMaterial']&&(_0x860d02['material']=_0x860d02['__origMaterial'],delete _0x860d02['__origMaterial']);for(const _0x36cad5 of _0x860d02['children'])_0x496de4(_0x36cad5,!0x1);}};_0x496de4(_0x4b3fbd,!0x0);}['isAuxiliaryVisualization'](_0x286a15){var _0x47357d,_0x13ad4d,_0x1a919c,_0x243475;return!!(null==(_0x47357d=_0x286a15['userData'])?void 0x0:_0x47357d['isInertiaBox'])||(!!(null==(_0x13ad4d=_0x286a15['userData'])?void 0x0:_0x13ad4d['isCOMMarker'])||(!!(null==(_0x1a919c=_0x286a15['userData'])?void 0x0:_0x1a919c['isCenterOfMass'])||!!(null==(_0x243475=_0x286a15['userData'])?void 0x0:_0x243475['isCollision'])));}['showHoverInfo'](_0x11fbf7,_0x4b5750){const _0x4fc0db=document['getElementById']('hover-info'),_0x1c69b3=document['getElementById']('hover-joint-name'),_0x3b5a9c=document['getElementById']('hover-link-name'),_0x455770=document['getElementById']('hover-link-mass'),_0x20ae04=document['getElementById']('hover-link-pose');if(!(_0x4fc0db&&_0x1c69b3&&_0x3b5a9c&&_0x455770&&_0x20ae04))return;_0x3b5a9c['textContent']='Link:\x20'+(_0x11fbf7['name']||'Unknown');let _0x115116='None\x20(Base\x20Link)',_0x1f0803='',_0x51dd16=_0x11fbf7['threeObject'];for(;_0x51dd16;){const _0x22640a=_0x51dd16['parent'];if(_0x22640a&&('URDFJoint'===_0x22640a['type']||_0x22640a['isURDFJoint'])){const _0x27085f=_0x22640a['name'];if(_0x27085f&&(null==_0x4b5750?void 0x0:_0x4b5750['joints'])&&_0x4b5750['joints']['has'](_0x27085f)){const _0x6fd99c=_0x4b5750['joints']['get'](_0x27085f);if('fixed'!==_0x6fd99c['type']){_0x115116=_0x27085f,_0x1f0803=_0x6fd99c['type'];break;}const _0x181277=_0x22640a['parent'];if(_0x181277&&('URDFLink'===_0x181277['type']||_0x181277['isURDFLink'])){_0x51dd16=_0x181277;continue;}}}break;}_0x1c69b3['textContent']=_0x1f0803?'Joint:\x20'+_0x115116+'\x20('+_0x1f0803+')':'Joint:\x20'+_0x115116;let _0x2212ae=0x0,_0xa2c43e=!0x1,_0x24eb07=[];const _0x2f3b79=(_0x44a11b,_0x4d0056=!0x0)=>{const _0x365087=_0x44a11b['name'];if(_0x365087&&(null==_0x4b5750?void 0x0:_0x4b5750['links'])&&_0x4b5750['links']['has'](_0x365087)){const _0x4ef371=_0x4b5750['links']['get'](_0x365087);_0x4d0056||_0x24eb07['push'](_0x365087),_0x4ef371['inertial']&&void 0x0!==_0x4ef371['inertial']['mass']&&_0x4ef371['inertial']['mass']>0x0&&(_0x2212ae+=_0x4ef371['inertial']['mass'],_0xa2c43e=!0x0);}for(const _0x54366c of _0x44a11b['children'])if(_0x54366c['isURDFJoint']||'URDFJoint'===_0x54366c['type']){const _0x429cf8=_0x54366c['name'];if(_0x429cf8&&(null==_0x4b5750?void 0x0:_0x4b5750['joints'])&&_0x4b5750['joints']['has'](_0x429cf8)){if('fixed'===_0x4b5750['joints']['get'](_0x429cf8)['type'])for(const _0x7e2c2e of _0x54366c['children'])('URDFLink'===_0x7e2c2e['type']||_0x7e2c2e['isURDFLink'])&&_0x2f3b79(_0x7e2c2e,!0x1);}}};_0x2f3b79(_0x11fbf7['threeObject'],!0x0),_0x455770['textContent']=_0xa2c43e?'Mass:\x20'+_0x2212ae['toFixed'](0x4)+'\x20kg':'Mass:\x20N/A';const _0x336964=document['getElementById']('hover-merged-links');if(_0x336964&&(_0x24eb07['length']>0x0?(_0x336964['textContent']='Includes:\x20'+_0x24eb07['join'](',\x20'),_0x336964['style']['display']='block'):_0x336964['style']['display']='none'),_0x20ae04&&_0x11fbf7['threeObject']){const _0x26f581=new _0x5a7be3(),_0x2bf41e=new _0x4adb8f(),_0x32f5ce=new _0x730a0a();_0x11fbf7['threeObject']['getWorldPosition'](_0x26f581),_0x11fbf7['threeObject']['getWorldQuaternion'](_0x2bf41e),_0x32f5ce['setFromQuaternion'](_0x2bf41e,'XYZ');const _0xd3334c=0x4,_0x41be83=_0x2bf41e['x']['toFixed'](_0xd3334c),_0x4b3d78=_0x2bf41e['y']['toFixed'](_0xd3334c),_0x54d54f=_0x2bf41e['z']['toFixed'](_0xd3334c),_0x53abbe=_0x2bf41e['w']['toFixed'](_0xd3334c),_0x1acb87=_0x32f5ce['x']['toFixed'](_0xd3334c),_0x174acd=_0x32f5ce['y']['toFixed'](_0xd3334c),_0xc4cbd2=_0x32f5ce['z']['toFixed'](_0xd3334c),_0x220aac=_0x35197a['radToDeg'](_0x32f5ce['x'])['toFixed'](_0xd3334c),_0x32fe38=_0x35197a['radToDeg'](_0x32f5ce['y'])['toFixed'](_0xd3334c),_0x5cbb64=_0x35197a['radToDeg'](_0x32f5ce['z'])['toFixed'](_0xd3334c),_0x15b01a='Position\x20(world):\x0a-\x20x\x20=\x20'+_0x26f581['x']['toFixed'](_0xd3334c)+'\x20m-\x20y\x20=\x20'+_0x26f581['y']['toFixed'](_0xd3334c)+'\x20m-\x20z\x20=\x20'+_0x26f581['z']['toFixed'](_0xd3334c)+'\x20m\x0a',_0x43133d='Orientation\x20(world):\x0a-\x20Quat:\x20x='+_0x41be83+'\x20y='+_0x4b3d78+'\x20z='+_0x54d54f+'\x20w='+_0x53abbe+'\x0a-\x20RPY\x20(rad):\x20r='+_0x1acb87+'\x20p='+_0x174acd+'\x20y='+_0xc4cbd2+'\x0a-\x20RPY\x20(deg):\x20r='+_0x220aac+'\x20p='+_0x32fe38+'\x20y='+_0x5cbb64+'\x0a';_0x20ae04['textContent']=_0x15b01a+_0x43133d,_0x20ae04['style']['display']='block';}else _0x20ae04&&(_0x20ae04['textContent']='Link\x20pose:\x20N/A',_0x20ae04['style']['display']='block');_0x4fc0db['classList']['add']('visible');}['hideHoverInfo'](){const _0x5c4e0e=document['getElementById']('hover-info');_0x5c4e0e&&_0x5c4e0e['classList']['remove']('visible');}['clearHighlight'](){this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],this['sceneManager']['currentModel']);}}class Di{constructor(_0x455d1a){this['sceneManager']=_0x455d1a,this['measurementHelper']=null;}['showMeasurement'](_0x6bad4e,_0x2c6a2d,_0x261995,_0x5d3fe6,_0x4b6617,_0x4d2112,_0x1d144b=!0x1){this['clearMeasurement']();const _0x9a121b=new _0x2474d6();_0x9a121b['name']='measurementHelper';if(_0x1d144b){const _0x2f073d=Math['abs'](_0x261995['y']),_0x575060=new _0x5065c1()['setFromPoints']([_0x6bad4e,_0x2c6a2d]),_0x4596e0=new _0x46982f({'color':0xff00,'linewidth':0x3,'depthTest':!0x1}),_0x40c2c9=new _0x492957(_0x575060,_0x4596e0);_0x40c2c9['renderOrder']=0x3e7,_0x9a121b['add'](_0x40c2c9);const _0x4ed223=new _0x5a7be3()['addVectors'](_0x6bad4e,_0x2c6a2d)['multiplyScalar'](0.5),_0x52da4c=this['createLabel']('Δh\x20'+(0x3e8*_0x2f073d)['toFixed'](0x1)+'mm',_0x4ed223,'#00ff00');_0x9a121b['add'](_0x52da4c);}else{const _0x4a1542=new _0x5065c1()['setFromPoints']([_0x6bad4e,_0x2c6a2d]),_0x50e49c=new _0x49d752({'color':0xffff00,'dashSize':0.01,'gapSize':0.005,'linewidth':0x2,'depthTest':!0x1}),_0x4ac65c=new _0x492957(_0x4a1542,_0x50e49c);_0x4ac65c['computeLineDistances'](),_0x4ac65c['renderOrder']=0x3e7,_0x9a121b['add'](_0x4ac65c);const _0x424a86=new _0x5a7be3()['addVectors'](_0x6bad4e,_0x2c6a2d)['multiplyScalar'](0.5),_0x1131cb=this['createLabel']((0x3e8*_0x5d3fe6)['toFixed'](0x1)+'mm',_0x424a86,'#ffff00');if(_0x9a121b['add'](_0x1131cb),Math['abs'](_0x261995['x'])>0.001){const _0x3f1911=new _0x5a7be3(_0x6bad4e['x'],_0x6bad4e['y'],_0x6bad4e['z']),_0x3c847e=new _0x5a7be3(_0x2c6a2d['x'],_0x6bad4e['y'],_0x6bad4e['z']),_0x305540=[_0x3f1911,_0x3c847e],_0x528eb7=new _0x5065c1()['setFromPoints'](_0x305540),_0x11c7f8=new _0x46982f({'color':0xff0000,'linewidth':0x2,'depthTest':!0x1}),_0x2f91f1=new _0x492957(_0x528eb7,_0x11c7f8);_0x2f91f1['renderOrder']=0x3e7,_0x9a121b['add'](_0x2f91f1);const _0x2ee08c=new _0x5a7be3()['addVectors'](_0x3f1911,_0x3c847e)['multiplyScalar'](0.5),_0x54865e=this['createLabel']('ΔX\x20'+(0x3e8*_0x261995['x'])['toFixed'](0x1)+'mm',_0x2ee08c,'#ff0000');_0x9a121b['add'](_0x54865e);}if(Math['abs'](_0x261995['y'])>0.001){const _0x19faba=new _0x5a7be3(_0x2c6a2d['x'],_0x6bad4e['y'],_0x6bad4e['z']),_0x4357ef=new _0x5a7be3(_0x2c6a2d['x'],_0x2c6a2d['y'],_0x6bad4e['z']),_0x37e645=[_0x19faba,_0x4357ef],_0xdbe8f0=new _0x5065c1()['setFromPoints'](_0x37e645),_0x42864a=new _0x46982f({'color':0xff00,'linewidth':0x2,'depthTest':!0x1}),_0x117a7c=new _0x492957(_0xdbe8f0,_0x42864a);_0x117a7c['renderOrder']=0x3e7,_0x9a121b['add'](_0x117a7c);const _0x349a59=new _0x5a7be3()['addVectors'](_0x19faba,_0x4357ef)['multiplyScalar'](0.5),_0x553981=this['createLabel']('ΔY\x20'+(0x3e8*_0x261995['y'])['toFixed'](0x1)+'mm',_0x349a59,'#00ff00');_0x9a121b['add'](_0x553981);}if(Math['abs'](_0x261995['z'])>0.001){const _0x1d1269=new _0x5a7be3(_0x2c6a2d['x'],_0x2c6a2d['y'],_0x6bad4e['z']),_0x3109d9=new _0x5a7be3(_0x2c6a2d['x'],_0x2c6a2d['y'],_0x2c6a2d['z']),_0x4a7213=[_0x1d1269,_0x3109d9],_0x586845=new _0x5065c1()['setFromPoints'](_0x4a7213),_0x4180aa=new _0x46982f({'color':0xff,'linewidth':0x2,'depthTest':!0x1}),_0x12a01b=new _0x492957(_0x586845,_0x4180aa);_0x12a01b['renderOrder']=0x3e7,_0x9a121b['add'](_0x12a01b);const _0x1a4817=new _0x5a7be3()['addVectors'](_0x1d1269,_0x3109d9)['multiplyScalar'](0.5),_0xb7e9db=this['createLabel']('ΔZ\x20'+(0x3e8*_0x261995['z'])['toFixed'](0x1)+'mm',_0x1a4817,'#0000ff');_0x9a121b['add'](_0xb7e9db);}}const _0x1bd3f9=new _0x401a16(0.01,0x10,0x10),_0x222834=new _0x553295({'color':0xffff00,'depthTest':!0x1}),_0x5f503c=new _0x3d1069(_0x1bd3f9,_0x222834);_0x5f503c['position']['copy'](_0x6bad4e),_0x5f503c['renderOrder']=0x3e8,_0x9a121b['add'](_0x5f503c);const _0x19f93c=new _0x3d1069(_0x1bd3f9,_0x222834);_0x19f93c['position']['copy'](_0x2c6a2d),_0x19f93c['renderOrder']=0x3e8,_0x9a121b['add'](_0x19f93c),this['sceneManager']['scene']['add'](_0x9a121b),this['measurementHelper']=_0x9a121b,this['sceneManager']['redraw']();}['createLabel'](_0x1acb80,_0x3b731f,_0x14728d){const _0xfcd0a6=document['createElement']('canvas'),_0x4eccda=_0xfcd0a6['getContext']('2d');_0xfcd0a6['width']=0x100,_0xfcd0a6['height']=0x40,_0x4eccda['clearRect'](0x0,0x0,_0xfcd0a6['width'],_0xfcd0a6['height']),_0x4eccda['font']='Bold\x2032px\x20Arial',_0x4eccda['textAlign']='center',_0x4eccda['textBaseline']='middle',_0x4eccda['strokeStyle']='rgba(0,\x200,\x200,\x200.8)',_0x4eccda['lineWidth']=0x4,_0x4eccda['strokeText'](_0x1acb80,0x80,0x20),_0x4eccda['fillStyle']=_0x14728d,_0x4eccda['fillText'](_0x1acb80,0x80,0x20);const _0x1642f5=new _0x302a55(_0xfcd0a6),_0x274a8d=new _0x52cd88({'map':_0x1642f5,'depthTest':!0x1,'depthWrite':!0x1,'transparent':!0x0}),_0x34ce88=new _0x41fc88(_0x274a8d);return _0x34ce88['position']['copy'](_0x3b731f),_0x34ce88['scale']['set'](0.18,0.045,0x1),_0x34ce88['renderOrder']=0x3e8,_0x34ce88;}['clearMeasurement'](){this['measurementHelper']&&(this['sceneManager']['scene']['remove'](this['measurementHelper']),this['measurementHelper']=null,this['sceneManager']['redraw']());}['clear'](){this['clearMeasurement']();}}class Pi{constructor(_0x3c394d){this['canvas']=_0x3c394d,this['scene']=new _0x33e93b(),this['_dirty']=!0x1,this['_pendingRender']=!0x1,this['_renderingPaused']=!0x1,this['_eventListeners']={};const _0x148d5e=_0x3c394d['clientWidth'],_0x367aef=_0x3c394d['clientHeight'];this['camera']=new _0x45bf09(0x4b,_0x148d5e/_0x367aef,0.1,0x3e8),this['camera']['position']['set'](0x2,0x2,0x2),this['camera']['lookAt'](0x0,0x0,0x0),this['renderer']=new _0x3588ec({'canvas':_0x3c394d,'antialias':!0x0}),this['renderer']['setSize'](_0x148d5e,_0x367aef),this['renderer']['setPixelRatio'](window['devicePixelRatio']),this['renderer']['shadowMap']['enabled']=!0x0,this['renderer']['shadowMap']['type']=_0x38103c,this['labelRenderer']=new Ne(),this['labelRenderer']['setSize'](_0x148d5e,_0x367aef),this['labelRenderer']['domElement']['style']['position']='absolute',this['labelRenderer']['domElement']['style']['top']='0',this['labelRenderer']['domElement']['style']['pointerEvents']='none',this['labelRenderer']['domElement']['style']['zIndex']='1',_0x3c394d['parentElement']['appendChild'](this['labelRenderer']['domElement']),this['controls']=new Oe(this['camera'],_0x3c394d),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']=_0x5ef69a['ROTATE'],this['controls']['mouseButtons']['MIDDLE']=_0x5ef69a['DOLLY'],this['controls']['mouseButtons']['RIGHT']=_0x5ef69a['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 _0x31c6fa=()=>{this['_dirty']&&!this['_contextLost']&&(this['renderer']['render'](this['scene'],this['camera']),this['labelRenderer']['render'](this['scene'],this['camera']),this['_dirty']=!0x1),this['_renderLoopId']=requestAnimationFrame(_0x31c6fa);};_0x31c6fa();}['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']=_0x1eb618=>{_0x1eb618['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(_0x13bb3e){}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 _0x109ada=(_0x1773e0,_0x2a3412)=>window['i18n']&&'function'==typeof window['i18n']['t']&&window['i18n']['t'](_0x1773e0)!==_0x1773e0?window['i18n']['t'](_0x1773e0):_0x2a3412,_0x3f17ae=document['createElement']('div');_0x3f17ae['id']='webgl-context-lost-overlay',_0x3f17ae['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 _0x3ef404=document['createElement']('div');_0x3ef404['style']['cssText']='font-size:\x2016px;\x20font-weight:\x20600;',_0x3ef404['textContent']=_0x109ada('webglContextLostTitle','3D\x20渲染已暂停');const _0x3588a1=document['createElement']('div');_0x3588a1['style']['cssText']='max-width:\x20420px;\x20opacity:\x200.85;',_0x3588a1['textContent']=_0x109ada('webglContextLostDetail','浏览器回收了\x20GPU\x20资源(通常发生在标签页长时间处于后台)。正在等待自动恢复,模型无需重新加载。'),_0x3f17ae['appendChild'](_0x3ef404),_0x3f17ae['appendChild'](_0x3588a1),(this['canvas']['parentElement']||document['body'])['appendChild'](_0x3f17ae),this['_contextLostOverlay']=_0x3f17ae;}['_hideContextLostOverlay'](){var _0x15ee62;(null==(_0x15ee62=this['_contextLostOverlay'])?void 0x0:_0x15ee62['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'](_0x294a85){if(this['currentModel']&&this['currentModel']['threeObject']&&this['removeModel'](this['currentModel']),this['currentModel']=_0x294a85,!_0x294a85['threeObject'])return;const _0x38330d=!_0x294a85['joints']||0x0===_0x294a85['joints']['size'];if(_0x38330d)this['scene']['add'](_0x294a85['threeObject']);else{this['world']||(this['world']=new _0x483a70(),this['scene']['add'](this['world']),this['world']['rotation']['set'](-Math['PI']/0x2,0x0,0x0));const _0x20c2ad=document['getElementById']('up-select');if(_0x20c2ad&&this['setUp'](_0x20c2ad['value']||'+Z'),this['baseOrientationGroup']||(this['baseOrientationGroup']=new _0x2474d6(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['baseOrientationGroup']['parent']!==this['world']&&this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](_0x294a85['threeObject']),!this['worldAxes']){const _0x5d34d5=new _0x2474d6();_0x5d34d5['name']='worldAxes',_0x5d34d5['visible']=!0x1;const _0x24d16d=1.5,_0x3a0d04=0.02,_0xee2d8f=new _0x201dad(_0x3a0d04,_0x3a0d04,_0x24d16d,0x8),_0x1a6602=new _0x553295({'color':0xff0000}),_0x3b3ed8=new _0x3d1069(_0xee2d8f,_0x1a6602);_0x3b3ed8['position']['x']=_0x24d16d/0x2,_0x3b3ed8['rotation']['z']=-Math['PI']/0x2,_0x5d34d5['add'](_0x3b3ed8);const _0x381208=new _0x553295({'color':0xff00}),_0x158869=new _0x3d1069(_0xee2d8f,_0x381208);_0x158869['position']['y']=_0x24d16d/0x2,_0x5d34d5['add'](_0x158869);const _0x3efc5a=new _0x553295({'color':0xff}),_0x1b14f0=new _0x3d1069(_0xee2d8f,_0x3efc5a);_0x1b14f0['position']['z']=_0x24d16d/0x2,_0x1b14f0['rotation']['x']=Math['PI']/0x2,_0x5d34d5['add'](_0x1b14f0),_0x5d34d5['renderOrder']=0x3e7,_0x5d34d5['traverse'](_0xdc7896=>{_0xdc7896['material']&&(_0xdc7896['material']['depthTest']=!0x1,_0xdc7896['material']['depthWrite']=!0x1);}),this['worldAxes']=_0x5d34d5,this['world']['add'](this['worldAxes']);}}this['visualizationManager']['extractVisualAndCollision'](_0x294a85);let _0x66df85=0x1;try{if(_0x294a85['threeObject']){const _0x20f46f=this['computeRobustBoundingBox'](_0x294a85['threeObject']);if(!_0x20f46f['isEmpty']()){const _0x3edbf0=_0x20f46f['getSize'](new _0x5a7be3());_0x66df85=Math['max'](_0x3edbf0['x'],_0x3edbf0['y'],_0x3edbf0['z']);}}}catch(_0x89941c){}this['axesManager']['clearAllLinkAxes'](),this['axesManager']['modelSize']=_0x66df85,_0x294a85['links']&&_0x294a85['links']['forEach']((_0x2beb35,_0x1f50e7)=>{this['axesManager']['createLinkAxes'](_0x2beb35,_0x1f50e7,_0x66df85);}),this['axesManager']['clearAllJointAxes'](),_0x294a85['joints']&&_0x294a85['joints']['forEach']((_0x2cd9ed,_0x1aff26)=>{this['axesManager']['createJointAxis'](_0x2cd9ed,_0x1aff26);}),this['inertialVisualization']['extractInertialProperties'](_0x294a85),this['constraintManager']['visualizeConstraints'](_0x294a85,this['world']),_0x294a85['constraints']&&_0x294a85['constraints']['size']>0x0&&this['constraintManager']['applyConstraints'](_0x294a85,null),this['initDragControls'](_0x294a85),this['updateEnvironment'](!0x1,!0x0),_0x38330d?requestAnimationFrame(()=>{requestAnimationFrame(()=>{this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0x294a85);});}):(setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x294a85);},0x64),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x294a85),this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0x294a85);},0x3e8),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x294a85),this['updateEnvironment'](!0x1,!0x0);},0x9c4));}['removeModel'](_0xf2e80a){_0xf2e80a&&_0xf2e80a['threeObject']&&_0xf2e80a['threeObject']['parent']&&_0xf2e80a['threeObject']['parent']['remove'](_0xf2e80a['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'](_0x1f2a45,_0x36e22d,_0x3bf7e7={'x':0x0,'y':0x0,'z':0x0},_0x48244a=null,_0x58e2e=null){}['removeAuxiliaryModel'](_0x3c5cf9){}['getAuxiliaryModel'](_0x3c52ae){return null;}['setAuxiliaryModelVisibility'](_0x355f30,_0x371be1){const _0x16509c=this['auxiliaryModels']['get'](_0x355f30);_0x16509c&&_0x16509c['wrapper']&&(_0x16509c['wrapper']['visible']=_0x371be1,this['redraw']());}['computeRobustBoundingBox'](_0x51ed9a){const _0x5c7918=[];_0x51ed9a['updateMatrixWorld'](!0x0);const _0x1b4fe6=_0x3ce8fb=>{if(!_0x3ce8fb['userData']||!_0x3ce8fb['userData']['excludeFromBBox']){if(_0x3ce8fb['isMesh']&&_0x3ce8fb['geometry']){const _0x1493a1=new _0x9892f7()['setFromObject'](_0x3ce8fb);if(!_0x1493a1['isEmpty']()){const _0x4e6011=_0x1493a1['getCenter'](new _0x5a7be3());Number['isFinite'](_0x4e6011['x'])&&Number['isFinite'](_0x4e6011['y'])&&Number['isFinite'](_0x4e6011['z'])&&_0x5c7918['push']({'box':_0x1493a1,'center':_0x4e6011});}}for(let _0x46d04c=0x0;_0x46d04c<_0x3ce8fb['children']['length'];_0x46d04c++)_0x1b4fe6(_0x3ce8fb['children'][_0x46d04c]);}};_0x1b4fe6(_0x51ed9a);const _0x2628d2=new _0x9892f7();if(0x0===_0x5c7918['length'])return _0x2628d2;if(_0x5c7918['length']<=0x2)return _0x5c7918['forEach'](_0x42b7ac=>_0x2628d2['union'](_0x42b7ac['box'])),_0x2628d2;const _0x377bb3=_0x9e647a=>{const _0x167a57=[..._0x9e647a]['sort']((_0x3c0d7a,_0x3f274e)=>_0x3c0d7a-_0x3f274e),_0x2b5d10=Math['floor'](_0x167a57['length']/0x2);return _0x167a57['length']%0x2?_0x167a57[_0x2b5d10]:(_0x167a57[_0x2b5d10-0x1]+_0x167a57[_0x2b5d10])/0x2;},_0x5eb9cd=new _0x5a7be3(_0x377bb3(_0x5c7918['map'](_0x3d503c=>_0x3d503c['center']['x'])),_0x377bb3(_0x5c7918['map'](_0x4f78f5=>_0x4f78f5['center']['y'])),_0x377bb3(_0x5c7918['map'](_0x56d9b9=>_0x56d9b9['center']['z']))),_0xde86bc=_0x5c7918['map'](_0x4aee2f=>_0x4aee2f['center']['distanceTo'](_0x5eb9cd)),_0x4dbeaf=_0x377bb3(_0xde86bc),_0x4f5996=_0x377bb3(_0xde86bc['map'](_0x56185c=>Math['abs'](_0x56185c-_0x4dbeaf))),_0x31d4a8=Math['max'](_0x4dbeaf+0xa*(_0x4f5996>0.000001?_0x4f5996:Math['max'](_0x4dbeaf,0.5)),0x1);let _0x567a16=0x0;return _0x5c7918['forEach']((_0x15d0b2,_0x566c38)=>{_0xde86bc[_0x566c38]<=_0x31d4a8&&(_0x2628d2['union'](_0x15d0b2['box']),_0x567a16++);}),0x0===_0x567a16&&_0x5c7918['forEach'](_0x46f583=>_0x2628d2['union'](_0x46f583['box'])),_0x2628d2;}['updateEnvironment'](_0x26c2fe=!0x1,_0x1c1190=!0x1){const _0x1082b9=this['currentModel'];if(!_0x1082b9||!_0x1082b9['threeObject'])return;this['world']&&this['world']['updateMatrixWorld'](!0x0),_0x1082b9['threeObject']['updateMatrixWorld'](!0x0);const _0x4d44e3=this['computeRobustBoundingBox'](_0x1082b9['threeObject']);if(_0x4d44e3['isEmpty']())return;const _0x36c984=_0x4d44e3['getCenter'](new _0x5a7be3()),_0x50bd57=_0x4d44e3['getSize'](new _0x5a7be3()),_0x19a3e1=_0x4d44e3['min']['y'];let _0x28088b=!0x1;if(this['groundPlane']&&_0x1c1190){const _0x26958a=_0x19a3e1,_0x4adb41=this['groundPlane']['position']['y'];this['groundPlane']['position']['y']=_0x26958a,this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x26958a,this['referenceGrid']['updateMatrixWorld'](!0x0)),Math['abs'](_0x4adb41-_0x26958a)>0.000001&&(_0x28088b=!0x0);}_0x26c2fe&&this['fitCameraToModel'](_0x4d44e3,_0x36c984,_0x50bd57),_0x28088b&&this['onMeasurementUpdate']&&this['onMeasurementUpdate']();const _0x4c241c=this['directionalLight'];if(_0x4c241c&&_0x4c241c['castShadow']){const _0x25cdd2=_0x4d44e3['getBoundingSphere'](new _0x58fe83())['radius'],_0x1a4589=_0x4c241c['shadow']['camera'];_0x1a4589['left']=_0x1a4589['bottom']=-_0x25cdd2,_0x1a4589['right']=_0x1a4589['top']=_0x25cdd2;const _0x33ca2d=_0x4c241c['position']['clone']()['sub'](_0x4c241c['target']['position']);_0x4c241c['target']['position']['copy'](_0x36c984),_0x4c241c['position']['copy'](_0x36c984)['add'](_0x33ca2d),_0x1a4589['updateProjectionMatrix']();}this['redraw']();}['fitCameraToModel'](_0x3ecdea,_0x393b59,_0x56daf2){const _0x44a954=Math['max'](_0x56daf2['x'],_0x56daf2['y'],_0x56daf2['z']);if(_0x44a954<0.001)return;const _0x3cc195=this['camera']['fov']*(Math['PI']/0xb4),_0x542559=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size']?2.5:1.8,_0x18c81a=_0x44a954/(0x2*Math['tan'](_0x3cc195/0x2))*_0x542559,_0x5a613f=0x3*Math['PI']/0x4,_0x2beba6=Math['PI']/0x6,_0xff2162=new _0x5a7be3(_0x18c81a*Math['cos'](_0x2beba6)*Math['sin'](_0x5a613f),_0x18c81a*Math['sin'](_0x2beba6),-_0x18c81a*Math['cos'](_0x2beba6)*Math['cos'](_0x5a613f));this['camera']['position']['copy'](_0x393b59)['add'](_0xff2162),this['controls']['target']['copy'](_0x393b59),this['controls']['update'](),this['camera']['updateProjectionMatrix'](),this['redraw']();}['setUp'](_0x239422){_0x239422||(_0x239422='+Z');const _0x36ace8=(_0x239422=_0x239422['toUpperCase']())['replace'](/[^-+]/g,'')[0x0]||'+',_0x56c948=_0x239422['replace'](/[^XYZ]/gi,'')[0x0]||'Z',_0x5b8f3e=Math['PI'],_0x17a390=_0x5b8f3e/0x2;this['world']||(this['world']=new _0x483a70(),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 _0x2474d6(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](this['currentModel']['threeObject']))),'X'===_0x56c948?this['world']['rotation']['set'](0x0,0x0,'+'===_0x36ace8?_0x17a390:-_0x17a390):'Z'===_0x56c948?this['world']['rotation']['set']('+'===_0x36ace8?-_0x17a390:_0x17a390,0x0,0x0):'Y'===_0x56c948&&this['world']['rotation']['set']('+'===_0x36ace8?0x0:_0x5b8f3e,0x0,0x0),this['world']['updateMatrixWorld'](!0x0),this['redraw']();}['setBaseOrientation'](_0x257c47){this['baseOrientationGroup']&&Array['isArray'](_0x257c47)&&0x4===_0x257c47['length']&&(this['baseOrientationGroup']['quaternion']['set'](_0x257c47[0x0],_0x257c47[0x1],_0x257c47[0x2],_0x257c47[0x3]),this['redraw']());}['getBaseOrientation'](){if(!this['baseOrientationGroup'])return[0x0,0x0,0x0,0x1];const _0x12b2dd=this['baseOrientationGroup']['quaternion'];return[_0x12b2dd['x'],_0x12b2dd['y'],_0x12b2dd['z'],_0x12b2dd['w']];}['resetBaseOrientation'](){this['baseOrientationGroup']&&(this['baseOrientationGroup']['quaternion']['identity'](),this['redraw']());}['setWorldAxesVisible'](_0x1fd443){this['worldAxes']&&(this['worldAxes']['visible']=_0x1fd443,this['redraw']());}['isWorldAxesVisible'](){return!!this['worldAxes']&&this['worldAxes']['visible'];}['setGroundVisible'](_0x4ab899){this['groundPlane']&&(this['groundPlane']['visible']=_0x4ab899,this['redraw']());}['focusObject'](_0x561e29){if(!_0x561e29)return;const _0x39f54b=new _0x9892f7()['setFromObject'](_0x561e29),_0x2fe512=_0x39f54b['getCenter'](new _0x5a7be3()),_0x115292=_0x39f54b['getSize'](new _0x5a7be3()),_0x4ec8ed=Math['max'](_0x115292['x'],_0x115292['y'],_0x115292['z']),_0x40526a=this['camera']['fov']*(Math['PI']/0xb4);let _0xb6e387=1.5*Math['abs'](_0x4ec8ed/Math['sin'](_0x40526a/0x2));const _0x3aa175=new _0x5a7be3();this['camera']['getWorldDirection'](_0x3aa175);const _0x28d5b4=_0x2fe512['clone']()['sub'](_0x3aa175['multiplyScalar'](_0xb6e387));this['camera']['position']['copy'](_0x28d5b4),this['controls']['target']['copy'](_0x2fe512),this['controls']['update'](),this['redraw']();}['initDragControls'](_0x6294cf){this['dragControls']&&this['dragControls']['dispose'](),this['dragControls']=new Ze(this['scene'],this['camera'],this['canvas'],_0x6294cf),this['dragControls']['renderer']=this['renderer'],_0x6294cf&&(_0x6294cf['userData']||(_0x6294cf['userData']={}),_0x6294cf['userData']['ignoreLimits']=this['ignoreLimits'],_0x6294cf['threeObject']&&(_0x6294cf['threeObject']['userData']||(_0x6294cf['threeObject']['userData']={}),_0x6294cf['threeObject']['userData']['ignoreLimits']=this['ignoreLimits'])),this['dragControls']['model']=_0x6294cf,this['dragControls']['onUpdateJoint']=(_0x341a93,_0x253907)=>{!(this['ignoreLimits']||_0x6294cf&&_0x6294cf['userData']&&_0x6294cf['userData']['ignoreLimits']||this['dragControls']&&this['dragControls']['model']&&this['dragControls']['model']['userData']&&this['dragControls']['model']['userData']['ignoreLimits'])&&_0x341a93['limits']&&(_0x253907=Math['max'](_0x341a93['limits']['lower'],Math['min'](_0x341a93['limits']['upper'],_0x253907))),Ei['setJointAngle'](_0x6294cf,_0x341a93['name'],_0x253907),_0x341a93['currentValue']=_0x253907,this['constraintManager']['applyConstraints'](_0x6294cf,_0x341a93);const _0x16163c=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x341a93['name']+'\x22]');if(_0x16163c){_0x16163c['value']=_0x253907;const _0x638051=document['querySelector']('input[data-joint-input=\x22'+_0x341a93['name']+'\x22]');if(_0x638051){const _0x585547=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x638051['value']='deg'===_0x585547?(0xb4*_0x253907/Math['PI'])['toFixed'](0x2):_0x253907['toFixed'](0x2);}}this['redraw'](),this['onMeasurementUpdate']&&this['onMeasurementUpdate']();},this['dragControls']['onHover']=_0x44ac2b=>{_0x44ac2b&&this['highlightManager']['highlightLink'](_0x44ac2b,this['currentModel']);},this['dragControls']['onUnhover']=_0x19c74c=>{_0x19c74c&&this['highlightManager']['unhighlightLink'](_0x19c74c,this['currentModel']);},this['dragControls']['onDragStart']=_0xa018dc=>{if(this['controls']['enabled']=!0x1,_0xa018dc&&_0xa018dc['threeObject']){let _0x4c483e=_0xa018dc['threeObject'];for(;_0x4c483e;){const _0x2e2018=_0x4c483e['parent'];if(_0x2e2018&&('URDFJoint'===_0x2e2018['type']||_0x2e2018['isURDFJoint'])){const _0x30b0d7=_0x2e2018['name'];if(_0x30b0d7&&_0x6294cf['joints']&&_0x6294cf['joints']['has'](_0x30b0d7)){const _0x439ba4=_0x6294cf['joints']['get'](_0x30b0d7);if('fixed'!==_0x439ba4['type']){this['axesManager']['showOnlyJointAxis'](_0x439ba4);break;}}}_0x4c483e=_0x2e2018;}}},this['dragControls']['onDragEnd']=_0x4df009=>{this['controls']['enabled']=!0x0,this['axesManager']['restoreAllJointAxes'](),this['updateEnvironment']();};}['setIgnoreLimits'](_0x513f04){this['ignoreLimits']=_0x513f04,this['currentModel']&&(this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['ignoreLimits']=_0x513f04,this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['userData']||(this['currentModel']['threeObject']['userData']={}),this['currentModel']['threeObject']['userData']['ignoreLimits']=_0x513f04)),this['dragControls']&&this['dragControls']['model']&&(this['dragControls']['model']['userData']||(this['dragControls']['model']['userData']={}),this['dragControls']['model']['userData']['ignoreLimits']=_0x513f04,this['dragControls']['model']['threeObject']&&(this['dragControls']['model']['threeObject']['userData']||(this['dragControls']['model']['threeObject']['userData']={}),this['dragControls']['model']['threeObject']['userData']['ignoreLimits']=_0x513f04));}['showMeshCoordinateSystem'](_0x2d3b22){if(!_0x2d3b22)return;this['clearMeshHelper']();let _0x5b8c41=null;if(_0x2d3b22['traverse'](_0x3b5ec0=>{_0x3b5ec0['isMesh']&&!_0x5b8c41&&(_0x5b8c41=_0x3b5ec0);}),!_0x5b8c41)return;_0x5b8c41['geometry']['computeBoundingBox']();const _0x3dc62b=new _0x9892f7()['setFromObject'](_0x5b8c41),_0x5ab3eb=_0x3dc62b['getSize'](new _0x5a7be3()),_0x2a8501=Math['max'](_0x5ab3eb['x'],_0x5ab3eb['y'],_0x5ab3eb['z']);_0x3dc62b['getCenter'](new _0x5a7be3());const _0x226371=Math['max'](2.5*_0x2a8501,0.5),_0x43f6cc=new _0x2474d6();_0x43f6cc['name']='meshCoordinateAxes';const _0x138867=Math['max'](0.02*_0x226371,0.008),_0x10191a=new _0x201dad(_0x138867,_0x138867,_0x226371,0x10),_0x83fcf5=new _0xa87e13({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0,'side':_0x17cb8b}),_0x229097=new _0x3d1069(_0x10191a,_0x83fcf5);_0x229097['position']['x']=_0x226371/0x2,_0x229097['rotation']['z']=-Math['PI']/0x2,_0x229097['castShadow']=!0x1,_0x229097['receiveShadow']=!0x1,_0x229097['name']='xAxis',_0x43f6cc['add'](_0x229097);const _0x36883d=new _0xa87e13({'color':0xff00,'shininess':0x1e,'depthTest':!0x0,'side':_0x17cb8b}),_0x115924=new _0x3d1069(_0x10191a,_0x36883d);_0x115924['position']['y']=_0x226371/0x2,_0x115924['castShadow']=!0x1,_0x115924['receiveShadow']=!0x1,_0x115924['name']='yAxis',_0x43f6cc['add'](_0x115924);const _0x2396a9=new _0xa87e13({'color':0xff,'shininess':0x1e,'depthTest':!0x0,'side':_0x17cb8b}),_0x3076cd=new _0x3d1069(_0x10191a,_0x2396a9);_0x3076cd['position']['z']=_0x226371/0x2,_0x3076cd['rotation']['x']=Math['PI']/0x2,_0x3076cd['castShadow']=!0x1,_0x3076cd['receiveShadow']=!0x1,_0x3076cd['name']='zAxis',_0x43f6cc['add'](_0x3076cd),_0x2d3b22['add'](_0x43f6cc);const _0x7decd5=new _0x1e0994(_0x5b8c41['geometry']),_0x4a4d4b=new _0x46982f({'color':0xff00,'linewidth':0x1,'transparent':!0x0,'opacity':0.6,'depthTest':!0x0}),_0x258507=new _0x3abb7e(_0x7decd5,_0x4a4d4b);_0x258507['name']='meshWireframe',_0x5b8c41['parent']&&(_0x258507['position']['copy'](_0x5b8c41['position']),_0x258507['rotation']['copy'](_0x5b8c41['rotation']),_0x258507['scale']['copy'](_0x5b8c41['scale']),_0x5b8c41['parent']['add'](_0x258507)),this['meshCoordinateAxes']=_0x43f6cc,this['meshWireframe']=_0x258507,_0x43f6cc['parent']&&_0x43f6cc['parent']['updateMatrixWorld'](!0x0),_0x258507&&_0x258507['parent']&&_0x258507['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 _0x191a2a=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size'];this['visualizationManager']['updateVisualTransparency'](this['inertialVisualization']['showCOM'],this['axesManager']['hasVisibleLinkAxes'](),this['axesManager']['hasVisibleJointAxes'](),_0x191a2a);}['setupThemeListener'](){new MutationObserver(()=>{this['updateBackgroundColor']();})['observe'](document['documentElement'],{'attributes':!0x0,'attributeFilter':['data-theme']});}['updateBackgroundColor'](){const _0x32d68d=document['documentElement']['getAttribute']('data-theme')||'dark';this['scene']['background']=new _0x43a4f1('light'===_0x32d68d?0xffffff:0x2a2a2e),this['environmentManager']&&this['environmentManager']['updateGridColorForTheme'](_0x32d68d),this['redraw']();}['setupResizeObserver'](){const _0x5c664e=this['canvas']['parentElement'];_0x5c664e?(this['resizeObserver']=new ResizeObserver(_0x877443=>{for(const _0x22fca9 of _0x877443)if(_0x22fca9['contentBoxSize']){const _0x451631=Array['isArray'](_0x22fca9['contentBoxSize'])?_0x22fca9['contentBoxSize'][0x0]:_0x22fca9['contentBoxSize'],_0x1c4760=_0x451631['inlineSize'],_0x188e62=_0x451631['blockSize'];this['handleResize'](_0x1c4760,_0x188e62);}else this['onWindowResize']();}),this['resizeObserver']['observe'](_0x5c664e)):window['addEventListener']('resize',()=>this['onWindowResize']());}['_applyRendererSize'](_0x33f632,_0x931a30){const _0x8b0aa8=_0x33f632||this['canvas']['clientWidth']||this['canvas']['width'],_0x18443b=_0x931a30||this['canvas']['clientHeight']||this['canvas']['height'];_0x8b0aa8&&_0x18443b&&(this['renderer']['setPixelRatio'](window['devicePixelRatio']*this['_renderScale']),this['renderer']['setSize'](_0x8b0aa8,_0x18443b,!0x0),this['labelRenderer']['setSize'](_0x8b0aa8,_0x18443b));}['setRenderScale'](_0xc0b68e){const _0xc352df=Math['min'](0x1,Math['max'](0.25,Number(_0xc0b68e)||0x1));_0xc352df!==this['_renderScale']&&(this['_renderScale']=_0xc352df,this['_applyRendererSize'](),this['redraw']());}['getRenderScale'](){return this['_renderScale'];}['handleResize'](_0x5010c8,_0x3bd363){0x0!==_0x5010c8&&0x0!==_0x3bd363&&isFinite(_0x5010c8)&&isFinite(_0x3bd363)&&(this['camera']['aspect']=_0x5010c8/_0x3bd363,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0x5010c8,_0x3bd363),this['render']());}['onWindowResize'](){const _0x9412e0=this['canvas']['clientWidth'],_0x2af494=this['canvas']['clientHeight'];0x0!==_0x9412e0&&0x0!==_0x2af494&&(this['camera']['aspect']=_0x9412e0/_0x2af494,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0x9412e0,_0x2af494),this['render']());}['on'](_0x7bf55f,_0x353168){this['_eventListeners'][_0x7bf55f]||(this['_eventListeners'][_0x7bf55f]=[]),this['_eventListeners'][_0x7bf55f]['push'](_0x353168);}['off'](_0x2be217,_0x5a4418){this['_eventListeners'][_0x2be217]&&(this['_eventListeners'][_0x2be217]=this['_eventListeners'][_0x2be217]['filter'](_0x267029=>_0x267029!==_0x5a4418));}['emit'](_0x32116f,..._0xa077d4){this['_eventListeners'][_0x32116f]&&this['_eventListeners'][_0x32116f]['forEach'](_0x86c340=>_0x86c340(..._0xa077d4));}['update'](){this['controls']['update']();}}class Ii{constructor(_0x22d285){this['sceneManager']=_0x22d285,this['angleUnit']='rad';}['setupControlPanel'](){const _0x601a86=document['getElementById']('show-visual'),_0x1b6c51=document['getElementById']('show-collision'),_0x1d5ee9=document['getElementById']('show-com'),_0x531c6d=document['getElementById']('show-inertia'),_0x3ca365=document['getElementById']('ignore-limits'),_0x5d6436=(_0x244075,_0x1afaa6)=>{if(!_0x244075)return;const _0x3b6796=!_0x244075['classList']['contains']('active');_0x3b6796?_0x244075['classList']['add']('active'):_0x244075['classList']['remove']('active'),_0x244075['setAttribute']('data-checked',_0x3b6796['toString']()),_0x1afaa6&&_0x1afaa6(_0x3b6796);};if(this['sceneManager']&&_0x601a86){const _0x5c062e=_0x601a86['classList']['contains']('active');this['sceneManager']['visualizationManager']['showVisual']=_0x5c062e;}this['sceneManager']&&_0x1b6c51&&(this['sceneManager']['visualizationManager']['showCollision']=_0x1b6c51['classList']['contains']('active')),this['sceneManager']&&_0x1d5ee9&&(this['sceneManager']['inertialVisualization']['showCOM']=_0x1d5ee9['classList']['contains']('active')),this['sceneManager']&&_0x531c6d&&(this['sceneManager']['inertialVisualization']['showInertia']=_0x531c6d['classList']['contains']('active')),this['sceneManager']&&_0x3ca365&&(this['sceneManager']['ignoreLimits']=!_0x3ca365['classList']['contains']('active')),_0x601a86&&_0x601a86['addEventListener']('click',()=>{_0x5d6436(_0x601a86,_0x3f18ab=>{var _0x39695c;this['sceneManager']['visualizationManager']['toggleVisual'](_0x3f18ab,this['sceneManager']['currentModel']);const _0x17dec0=null==(_0x39695c=window['app'])?void 0x0:_0x39695c['mujocoSimulationManager'];_0x17dec0&&_0x17dec0['hasScene']()&&_0x17dec0['toggleVisualDisplay'](_0x3f18ab),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x1b6c51&&_0x1b6c51['addEventListener']('click',()=>{_0x5d6436(_0x1b6c51,_0x2bbe9c=>{var _0x156d38;this['sceneManager']['visualizationManager']['toggleCollision'](_0x2bbe9c);const _0x4ee909=null==(_0x156d38=window['app'])?void 0x0:_0x156d38['mujocoSimulationManager'];_0x4ee909&&_0x4ee909['hasScene']()&&_0x4ee909['toggleCollisionDisplay'](_0x2bbe9c),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x1d5ee9&&_0x1d5ee9['addEventListener']('click',()=>{_0x5d6436(_0x1d5ee9,_0xda86f7=>{var _0x450aa2;this['sceneManager']['inertialVisualization']['toggleCenterOfMass'](_0xda86f7,this['sceneManager']['currentModel']);const _0xd2cff1=null==(_0x450aa2=window['app'])?void 0x0:_0x450aa2['mujocoSimulationManager'];_0xd2cff1&&_0xd2cff1['hasScene']()&&_0xd2cff1['toggleCOMDisplay'](_0xda86f7),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x531c6d&&_0x531c6d['addEventListener']('click',()=>{_0x5d6436(_0x531c6d,_0x51ae5e=>{var _0x1ec021;this['sceneManager']['inertialVisualization']['toggleInertia'](_0x51ae5e,this['sceneManager']['currentModel']);const _0x17f36c=null==(_0x1ec021=window['app'])?void 0x0:_0x1ec021['mujocoSimulationManager'];_0x17f36c&&_0x17f36c['hasScene']()&&_0x17f36c['toggleInertiaDisplay'](_0x51ae5e),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x3ca365&&_0x3ca365['addEventListener']('click',()=>{_0x5d6436(_0x3ca365,_0x581141=>{var _0x2d6c0a;this['sceneManager']['setIgnoreLimits'](!_0x581141),null==(_0x2d6c0a=this['onIgnoreLimitsChanged'])||_0x2d6c0a['call'](this,!_0x581141);});});const _0x2efa53=document['getElementById']('up-select');_0x2efa53&&_0x2efa53['addEventListener']('change',_0x44c4ad=>{this['sceneManager']['setUp'](_0x44c4ad['target']['value']);});const _0x5b1b84=document['getElementById']('unit-rad'),_0x26bd9d=document['getElementById']('unit-deg');_0x5b1b84&&_0x5b1b84['addEventListener']('click',()=>{var _0x431332;this['angleUnit']='rad',_0x5b1b84['classList']['add']('active'),_0x26bd9d&&_0x26bd9d['classList']['remove']('active'),null==(_0x431332=this['onAngleUnitChanged'])||_0x431332['call'](this,this['angleUnit']);}),_0x26bd9d&&_0x26bd9d['addEventListener']('click',()=>{var _0x2edcd7;this['angleUnit']='deg',_0x26bd9d['classList']['add']('active'),_0x5b1b84&&_0x5b1b84['classList']['remove']('active'),null==(_0x2edcd7=this['onAngleUnitChanged'])||_0x2edcd7['call'](this,this['angleUnit']);});const _0x491f16=document['getElementById']('reset-joints-btn');_0x491f16&&_0x491f16['addEventListener']('click',()=>{var _0x51df7c;null==(_0x51df7c=this['onResetJoints'])||_0x51df7c['call'](this);});const _0xc8c05=document['getElementById']('mujoco-reset-btn-bar');_0xc8c05&&_0xc8c05['addEventListener']('click',()=>{var _0x3547c5;null==(_0x3547c5=this['onMujocoReset'])||_0x3547c5['call'](this);});const _0x3bc5c3=document['getElementById']('mujoco-simulate-btn-bar');_0x3bc5c3&&_0x3bc5c3['addEventListener']('click',async()=>{var _0x48d420,_0x42e87a;const _0x3aa69d=await(null==(_0x48d420=this['onMujocoToggleSimulate'])?void 0x0:_0x48d420['call'](this));if(void 0x0!==_0x3aa69d){_0x3bc5c3['classList']['toggle']('active',_0x3aa69d);const _0x20877d=_0x3bc5c3['querySelector']('span');if(_0x20877d){const _0x4eb50b=_0x3aa69d?'mujocoPause':'mujocoSimulate';_0x20877d['textContent']=(null==(_0x42e87a=window['i18n'])?void 0x0:_0x42e87a['t'](_0x4eb50b))||(_0x3aa69d?'Pause':'Simulate'),_0x20877d['setAttribute']('data-i18n',_0x4eb50b);}}});}['setupThemeToggle'](_0x3e2b32){const _0x192e7e=document['getElementById']('theme-toggle');if(!_0x192e7e)return;const _0x30e1ae=localStorage['getItem']('theme')||'dark';document['documentElement']['setAttribute']('data-theme',_0x30e1ae),this['updateThemeIcon'](_0x30e1ae),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),_0x192e7e['addEventListener']('click',()=>{const _0x405fa7='dark'===document['documentElement']['getAttribute']('data-theme')?'light':'dark';document['documentElement']['setAttribute']('data-theme',_0x405fa7),localStorage['setItem']('theme',_0x405fa7),this['updateThemeIcon'](_0x405fa7),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),null==_0x3e2b32||_0x3e2b32(_0x405fa7);});}['setupLanguageToggle'](_0x425ade){var _0x5b1a08;const _0x54ac7c=document['getElementById']('language-toggle');if(!_0x54ac7c)return;const _0x4e85e3=(null==(_0x5b1a08=window['i18n'])?void 0x0:_0x5b1a08['getCurrentLanguage']())||'zh-CN';this['updateLanguageIcon'](_0x4e85e3),_0x54ac7c['addEventListener']('click',()=>{var _0x11d0ae;const _0x347bab='zh-CN'===((null==(_0x11d0ae=window['i18n'])?void 0x0:_0x11d0ae['getCurrentLanguage']())||'zh-CN')?'en-US':'zh-CN';null==_0x425ade||_0x425ade(_0x347bab),this['updateLanguageIcon'](_0x347bab);});}['updateLanguageIcon'](_0x213f85){const _0x4c20fd=document['getElementById']('language-toggle'),_0x18d2bd=null==_0x4c20fd?void 0x0:_0x4c20fd['querySelector']('.tool-button-text');_0x18d2bd&&(_0x18d2bd['textContent']='zh-CN'===_0x213f85?'Language':'语言');}['updateThemeIcon'](_0x3bfaea){const _0x1fb2a2=document['getElementById']('theme-toggle'),_0x1f4b4e=null==_0x1fb2a2?void 0x0:_0x1fb2a2['querySelector']('.tool-button-icon');_0x1f4b4e&&(_0x1f4b4e['textContent']='dark'===_0x3bfaea?'🌙':'☀️');}['setupPanelCloseButtons'](){const _0x3740dd={'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'](_0x1f4b86=>{_0x1f4b86['addEventListener']('click',_0x22971b=>{_0x22971b['stopPropagation']();const _0x2789d4=_0x1f4b86['getAttribute']('data-panel'),_0x38f7df=document['getElementById'](_0x2789d4),_0x3c703c=_0x3740dd[_0x2789d4],_0xf4f5a5=_0x3c703c?document['getElementById'](_0x3c703c):null;if(_0x38f7df){'none'!==_0x38f7df['style']['display']&&(_0x38f7df['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x38f7df['style']['opacity']='0',_0x38f7df['style']['transform']='scale(0.95)',setTimeout(()=>{_0x38f7df['style']['display']='none',_0x38f7df['style']['opacity']='',_0x38f7df['style']['transform']='','floating-orientation-panel'===_0x2789d4&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0xf4f5a5&&_0xf4f5a5['classList']['remove']('active'));}});}),Object['entries'](_0x3740dd)['forEach'](([_0x45825a,_0x133acb])=>{const _0x49bfca=document['getElementById'](_0x133acb),_0x9ef20=document['getElementById'](_0x45825a);_0x49bfca&&_0x9ef20&&_0x49bfca['addEventListener']('click',()=>{'none'!==_0x9ef20['style']['display']&&'none'!==getComputedStyle(_0x9ef20)['display']?(_0x9ef20['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x9ef20['style']['opacity']='0',_0x9ef20['style']['transform']='scale(0.95)',setTimeout(()=>{_0x9ef20['style']['display']='none',_0x9ef20['style']['opacity']='',_0x9ef20['style']['transform']='','floating-orientation-panel'===_0x45825a&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0x49bfca['classList']['remove']('active')):(_0x9ef20['style']['display']='flex',_0x9ef20['style']['opacity']='0',_0x9ef20['style']['transform']='scale(0.95)',_0x9ef20['offsetHeight'],_0x9ef20['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x9ef20['style']['opacity']='1',_0x9ef20['style']['transform']='scale(1)',setTimeout(()=>{_0x9ef20['style']['transition']='';},0xc8),_0x49bfca['classList']['add']('active'),'floating-orientation-panel'===_0x45825a&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x0));});});}['setupAxesToggle'](){const _0x178ffb=document['getElementById']('toggle-axes-btn');_0x178ffb&&_0x178ffb['addEventListener']('click',()=>{window['app']&&window['app']['axesControlPanel']&&window['app']['axesControlPanel']['toggle']();});}['setupJointAxesToggle'](){const _0x49dc09=document['getElementById']('toggle-joint-axes-btn');_0x49dc09&&_0x49dc09['addEventListener']('click',()=>{window['app']&&window['app']['jointAxesControlPanel']&&window['app']['jointAxesControlPanel']['toggle']();});}['setupShadowToggle'](){const _0x29a706=document['getElementById']('toggle-shadow');_0x29a706&&_0x29a706['addEventListener']('click',()=>{const _0x8cb0fe=!('true'===_0x29a706['getAttribute']('data-checked'));_0x29a706['setAttribute']('data-checked',_0x8cb0fe['toString']()),_0x8cb0fe?(_0x29a706['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']()):(_0x29a706['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleShadow'](!0x1,this['sceneManager']['renderer'],this['sceneManager']['directionalLight']),this['sceneManager']['redraw'](),this['sceneManager']['render']());});}['setupLightingToggle'](){const _0x189091=document['getElementById']('toggle-lighting');_0x189091&&_0x189091['addEventListener']('click',()=>{const _0x561bc2=!('true'===_0x189091['getAttribute']('data-checked'));_0x189091['setAttribute']('data-checked',_0x561bc2['toString']()),_0x561bc2?(_0x189091['classList']['add']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x0)):(_0x189091['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x1)),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}['setupAll'](_0x4839db={}){this['onAngleUnitChanged']=_0x4839db['onAngleUnitChanged'],this['onIgnoreLimitsChanged']=_0x4839db['onIgnoreLimitsChanged'],this['onResetJoints']=_0x4839db['onResetJoints'],this['onMujocoReset']=_0x4839db['onMujocoReset'],this['onMujocoToggleSimulate']=_0x4839db['onMujocoToggleSimulate'],this['onApplyAngles']=_0x4839db['onApplyAngles'],this['onSetHome']=_0x4839db['onSetHome'],this['onSelectAll']=_0x4839db['onSelectAll'],this['onResetToHome']=_0x4839db['onResetToHome'],this['onToggleShowMimic']=_0x4839db['onToggleShowMimic'],this['setupControlPanel'](),this['setupThemeToggle'](_0x4839db['onThemeChanged']),this['setupLanguageToggle'](_0x4839db['onLanguageChanged']),this['setupPanelCloseButtons'](),this['setupAxesToggle'](),this['setupJointAxesToggle'](),this['setupShadowToggle'](),this['setupLightingToggle'](),this['setupBatchOperationButtons']();}['setupBatchOperationButtons'](){const _0x536525=document['getElementById']('show-mimic-btn'),_0x5683cb=document['querySelector']('.apply-angles-btn'),_0x36160c=document['querySelector']('.set-home-btn'),_0x31b404=document['querySelector']('.reset-home-btn'),_0x39f3f5=document['getElementById']('select-all-btn');_0x536525&&_0x536525['addEventListener']('click',()=>{const _0xd867f9=!_0x536525['classList']['contains']('active');_0x536525['classList']['toggle']('active',_0xd867f9),this['onToggleShowMimic']&&this['onToggleShowMimic'](_0xd867f9);}),_0x5683cb&&this['onApplyAngles']&&_0x5683cb['addEventListener']('click',()=>{this['onApplyAngles']();}),_0x36160c&&this['onSetHome']&&_0x36160c['addEventListener']('click',()=>{this['onSetHome']();}),_0x31b404&&this['onResetToHome']&&_0x31b404['addEventListener']('click',()=>{this['onResetToHome']();}),_0x39f3f5&&this['onSelectAll']&&_0x39f3f5['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'](_0xb22197){this['usdViewerManager']=_0xb22197;}['setUSDViewerInitializer'](_0x15b8d5){this['usdViewerInitializer']=_0x15b8d5;}['setupFileDrop'](){const _0x248d5c=document['body'],_0x4c56dc=_0x1fe621=>{_0x1fe621['preventDefault'](),_0x1fe621['stopPropagation']();};['dragenter','dragover','dragleave','drop']['forEach'](_0x3625f8=>{_0x248d5c['addEventListener'](_0x3625f8,_0x4c56dc,!0x1);});let _0x4ecdba=0x0;_0x248d5c['addEventListener']('dragenter',_0x3e0d7c=>{_0x4ecdba++;const _0x188415=document['getElementById']('drop-zone');_0x188415&&_0x188415['classList']['add']('drag-over');},!0x1),_0x248d5c['addEventListener']('dragleave',_0x1ee2c2=>{if(_0x4ecdba--,0x0===_0x4ecdba){const _0x121bdf=document['getElementById']('drop-zone');_0x121bdf&&_0x121bdf['classList']['remove']('drag-over');}},!0x1),_0x248d5c['addEventListener']('drop',_0x361fa4=>{_0x4ecdba=0x0;const _0x1a452d=document['getElementById']('drop-zone');_0x1a452d&&_0x1a452d['classList']['remove']('drag-over'),this['handleDrop'](_0x361fa4);},!0x1);}async['handleDrop'](_0x2cc3d2){var _0x4bb65f;const _0x454906=_0x2cc3d2['dataTransfer']['items'];if(!_0x454906||0x0===_0x454906['length'])return;this['fileMap']['clear']();const _0x267f42=[];for(let _0x46c526=0x0;_0x46c526<_0x454906['length'];_0x46c526++){const _0x1b62f0=_0x454906[_0x46c526];if(_0x1b62f0['webkitGetAsEntry']){const _0x376431=_0x1b62f0['webkitGetAsEntry']();_0x376431&&_0x267f42['push'](_0x376431);}}if(_0x267f42['length']>0x0)await this['processEntries'](_0x267f42);else{const _0x4ce76e=_0x2cc3d2['dataTransfer']['files'];if(_0x4ce76e['length']>0x0){for(const _0x415bf7 of _0x4ce76e){const _0x50aeb2=_0x415bf7['webkitRelativePath']||_0x415bf7['name'];this['fileMap']['set'](_0x50aeb2,_0x415bf7),_0x415bf7['webkitRelativePath']||this['fileMap']['set'](_0x415bf7['name'],_0x415bf7);}const _0x4ff1c3=await this['findAllLoadableFiles'](Array['from'](_0x4ce76e));_0x4ff1c3['length']>0x0&&(this['availableModels']=_0x4ff1c3,null==(_0x4bb65f=this['onFilesLoaded'])||_0x4bb65f['call'](this,_0x4ff1c3),await this['loadFileOrMesh'](_0x4ff1c3[0x0]));}}}async['processEntries'](_0x3563b8){var _0x49c17c,_0x5ac9f2;const _0x256d7b=[];for(const _0x41de4d of _0x3563b8)if(_0x41de4d['isFile']){const _0x88b79d=await pt(_0x41de4d),_0x77dd3b=_0x41de4d['fullPath']||_0x41de4d['name'];this['fileMap']['set'](_0x77dd3b,_0x88b79d),_0x256d7b['push'](_0x88b79d);}else if(_0x41de4d['isDirectory']){const _0x5f2d09=await this['readDirectory'](_0x41de4d);_0x256d7b['push'](..._0x5f2d09);}if(0x0===_0x256d7b['length'])return;const _0x1b231d=await this['findAllLoadableFiles'](_0x256d7b);0x0!==_0x1b231d['length']?(this['availableModels']=_0x1b231d,null==(_0x5ac9f2=this['onFilesLoaded'])||_0x5ac9f2['call'](this,_0x1b231d),_0x1b231d['length']>0x0&&await this['loadFileOrMesh'](_0x1b231d[0x0])):null==(_0x49c17c=this['onFilesLoaded'])||_0x49c17c['call'](this,[]);}async['readDirectory'](_0x2f5024){const _0x21be93=[];return new Promise((_0x3a4ab5,_0x35c498)=>{const _0x120077=_0x2f5024['createReader'](),_0x4024cc=()=>{_0x120077['readEntries'](async _0x57114e=>{if(0x0!==_0x57114e['length']){for(const _0x2d03a1 of _0x57114e)if(_0x2d03a1['isFile']){const _0x992f45=await pt(_0x2d03a1),_0x3dfb1a=_0x2d03a1['fullPath']||_0x2d03a1['name'];this['fileMap']['set'](_0x3dfb1a,_0x992f45),_0x21be93['push'](_0x992f45);}else if(_0x2d03a1['isDirectory']){const _0x481dfe=await this['readDirectory'](_0x2d03a1);_0x21be93['push'](..._0x481dfe);}_0x4024cc();}else _0x3a4ab5(_0x21be93);},_0x35c498);};_0x4024cc();});}async['findAllLoadableFiles'](_0x38157c){const _0x18196f={'model':['urdf','xacro','xml','usd','usda','usdc','usdz'],'mesh':['dae','stl','obj','collada'],'config':['yml','yaml']},_0x52076b=[],_0x37fbb4=_0x38157c['map'](async _0x177922=>{const _0x56ff5a=_0x177922['name']['toLowerCase']()['split']('.')['pop']();if(_0x18196f['model']['includes'](_0x56ff5a)){if('xml'!==_0x56ff5a){const _0x10f4fe=function(_0x4b82f1){return{'urdf':'urdf','xacro':'xacro','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x4b82f1]||'unknown';}(_0x56ff5a);return{'file':_0x177922,'name':_0x177922['name'],'type':_0x10f4fe,'path':_0x177922['webkitRelativePath']||_0x177922['name'],'category':'model'};}try{const _0x539049=await dt(_0x177922),_0x45a43c=Ei['detectFileType'](_0x177922['name'],_0x539049);return _0x45a43c?{'file':_0x177922,'name':_0x177922['name'],'type':_0x45a43c,'path':_0x177922['webkitRelativePath']||_0x177922['name'],'category':'model'}:null;}catch(_0x3eade7){return null;}}else{if(_0x18196f['mesh']['includes'](_0x56ff5a))return{'file':_0x177922,'name':_0x177922['name'],'type':'mesh','path':_0x177922['webkitRelativePath']||_0x177922['name'],'category':'mesh'};if(_0x18196f['config']['includes'](_0x56ff5a))return{'file':_0x177922,'name':_0x177922['name'],'type':'config','path':_0x177922['webkitRelativePath']||_0x177922['name'],'category':'config'};}return null;});return(await Promise['all'](_0x37fbb4))['forEach'](_0x1f904b=>{_0x1f904b&&_0x52076b['push'](_0x1f904b);}),_0x52076b['sort']((_0x5d99ad,_0x536c72)=>{const _0x265ae5={'model':0x0,'mesh':0x1,'config':0x2},_0x5612ed=_0x265ae5[_0x5d99ad['category']]??0x63,_0x22ae7f=_0x265ae5[_0x536c72['category']]??0x63;return _0x5612ed!==_0x22ae7f?_0x5612ed-_0x22ae7f:_0x5d99ad['name']['localeCompare'](_0x536c72['name']);}),_0x52076b;}async['loadFileOrMesh'](_0x15b6be){'model'===_0x15b6be['category']?await this['loadFile'](_0x15b6be['file']):'mesh'===_0x15b6be['category']&&await this['loadMeshAsModel'](_0x15b6be['file'],_0x15b6be['name']);}async['loadFile'](_0x30bbd0){var _0x682f47,_0x552817,_0x3da9c9,_0x52f3ce,_0x1afa8d,_0x1333fe;this['currentModelFile']=_0x30bbd0;try{const _0x35e878=_0x30bbd0['name']['toLowerCase']();let _0x379853=_0x30bbd0['name'];for(const [_0x249dce,_0x5ed4ea]of this['fileMap']['entries']())if(_0x5ed4ea===_0x30bbd0){_0x379853=_0x249dce;break;}let _0x3cb087=null,_0x5643a3=null,_0x551976=0x1/0x0,_0x2094bc=null;for(const [_0x4d87ac,_0x2710a6]of this['fileMap']['entries']())if('vr_configs.yml'===_0x2710a6['name']||_0x4d87ac['endsWith']('/vr_configs.yml')||'vr_configs.yml'===_0x4d87ac){const _0x24ec3f=(_0x4d87ac['match'](/\//g)||[])['length'];_0x24ec3f<_0x551976&&(_0x551976=_0x24ec3f,_0x5643a3=_0x2710a6,_0x2094bc=_0x4d87ac);}if(_0x5643a3)try{_0x3cb087=await dt(_0x5643a3);}catch(_0x87c64){}if(_0x35e878['endsWith']('.usd')||_0x35e878['endsWith']('.usda')||_0x35e878['endsWith']('.usdc')||_0x35e878['endsWith']('.usdz')){if(!this['usdViewerManager']&&this['usdViewerInitializer'])try{await this['usdViewerInitializer']();}catch(_0x4086fe){return;}0x0===this['fileMap']['size']&&this['fileMap']['set'](_0x30bbd0['name'],_0x30bbd0);const _0x1b7875=await Ei['loadModel']('usd',null,_0x379853,this['fileMap'],_0x30bbd0,{'usdViewerManager':this['usdViewerManager']});return null==(_0x682f47=this['onModelLoaded'])||_0x682f47['call'](this,_0x1b7875,_0x30bbd0,!0x1,null),null==(_0x552817=document['getElementById']('drop-zone'))||_0x552817['classList']['remove']('show'),void(null==(_0x3da9c9=document['getElementById']('drop-zone'))||_0x3da9c9['classList']['remove']('drag-over'));}const _0x2c2d99=await dt(_0x30bbd0);if(this['isUSDCBinaryContent'](_0x2c2d99))return;const _0x2ae999=Ei['detectFileType'](_0x30bbd0['name'],_0x2c2d99);if(!_0x2ae999)return;0x0===this['fileMap']['size']&&this['fileMap']['set'](_0x30bbd0['name'],_0x30bbd0);const _0x3b0684=await Ei['loadModel'](_0x2ae999,_0x2c2d99,_0x379853,this['fileMap'],_0x30bbd0,{'usdViewerManager':this['usdViewerManager'],'vrConfigContent':_0x3cb087});null==(_0x52f3ce=this['onModelLoaded'])||_0x52f3ce['call'](this,_0x3b0684,_0x30bbd0,!0x1,null),null==(_0x1afa8d=document['getElementById']('drop-zone'))||_0x1afa8d['classList']['remove']('show'),null==(_0x1333fe=document['getElementById']('drop-zone'))||_0x1333fe['classList']['remove']('drag-over');}catch(_0x5af97c){_0x5af97c['message']&&(_0x5af97c['message']['includes']('USDC')||_0x5af97c['message']['includes']('binary\x20format'));const _0x5984de=document['getElementById']('canvas-snapshot');(null==_0x5984de?void 0x0:_0x5984de['parentNode'])&&_0x5984de['parentNode']['removeChild'](_0x5984de);}}['isUSDCBinaryContent'](_0x273771){if(!_0x273771||'string'!=typeof _0x273771)return!0x1;if(_0x273771['startsWith']('PXR-USDC'))return!0x0;if((_0x273771['substring'](0x0,0x64)['match'](/\x00/g)||[])['length']>0xa)return!0x0;if(_0x273771['includes']('#usda')||_0x273771['includes']('def\x20')&&_0x273771['includes']('{'))return!0x1;const _0x5bd1ba=_0x273771['charCodeAt'](0x0);return _0x5bd1ba<0x20&&0xa!==_0x5bd1ba&&0xd!==_0x5bd1ba&&0x9!==_0x5bd1ba&&0x20!==_0x5bd1ba;}['createLoadingSnapshot'](){const _0x255a3d=document['getElementById']('canvas');if(!_0x255a3d)return null;try{const _0x366738=_0x255a3d['toDataURL']('image/png'),_0x5c089d=document['createElement']('div');_0x5c089d['id']='canvas-snapshot',_0x5c089d['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('+_0x366738+');\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 _0x3be366=document['getElementById']('canvas-container');return _0x3be366&&_0x3be366['appendChild'](_0x5c089d),_0x5c089d;}catch(_0x2e526b){return null;}}['removeLoadingSnapshot'](_0x1c1b87){_0x1c1b87&&_0x1c1b87['parentNode']&&(_0x1c1b87['style']['transition']='opacity\x200.3s\x20ease',_0x1c1b87['style']['opacity']='0',setTimeout(()=>{_0x1c1b87['parentNode']&&_0x1c1b87['parentNode']['removeChild'](_0x1c1b87);},0x12c));}async['loadMeshAsModel'](_0x30da5d,_0x2d0bd7){var _0x29bd9e;try{const _0x142678=await Ei['loadMeshFileDirect'](_0x30da5d,_0x2d0bd7);if(!_0x142678)throw new Error(window['i18n']['t']('cannotLoadMesh'));_0x142678['traverse'](_0x44636a=>{var _0x570176;if(_0x44636a['isMesh']){if('MeshBasicMaterial'===(null==(_0x570176=_0x44636a['material'])?void 0x0:_0x570176['type'])){const _0x192601=_0x44636a['material'];_0x44636a['material']=new _0xa87e13({'color':_0x192601['color'],'map':_0x192601['map'],'transparent':_0x192601['transparent'],'opacity':_0x192601['opacity'],'side':_0x192601['side'],'shininess':0x1e}),_0x44636a['material']['map']&&(_0x44636a['material']['map']['colorSpace']=_0x3e3edd);}_0x44636a['castShadow']=!0x0,_0x44636a['receiveShadow']=!0x0;}});const _0x259502={'name':_0x2d0bd7,'rootLink':'mesh_root','links':new Map([['mesh_root',{'name':'mesh_root','threeObject':_0x142678,'visuals':[{'threeObject':_0x142678,'geometry':{'mesh':_0x2d0bd7}}],'inertial':null}]]),'joints':new Map(),'threeObject':_0x142678};this['currentModelFile']=_0x30da5d,null==(_0x29bd9e=this['onModelLoaded'])||_0x29bd9e['call'](this,_0x259502,_0x30da5d,!0x0,null);}catch(_0x5bb2a9){const _0x4b6f8b=document['getElementById']('canvas-snapshot');(null==_0x4b6f8b?void 0x0:_0x4b6f8b['parentNode'])&&_0x4b6f8b['parentNode']['removeChild'](_0x4b6f8b);}}['getFileMap'](){return this['fileMap'];}['getAvailableModels'](){return this['availableModels'];}['getCurrentModelFile'](){return this['currentModelFile'];}}class zi{static['updateURDFJointLimits'](_0xd77e1,_0x504a2b,_0x2188ba){try{const _0x6dd0e5=new RegExp('<joint[^>]*name=\x22'+_0x504a2b['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+'\x22[^>]*>([\x5cs\x5cS]*?)</joint>','g')['exec'](_0xd77e1);if(!_0x6dd0e5)return _0xd77e1;const _0x59a1f3=_0x6dd0e5[0x0];let _0x24cf7c=_0x59a1f3;const _0x2e1907=/<limit([^>]*)>/,_0x571c56=_0x2e1907['exec'](_0x59a1f3);if(_0x571c56){let _0x4dc69e=_0x571c56[0x0];const _0x304c41=_0x571c56[0x1];void 0x0!==_0x2188ba['lower']&&null!==_0x2188ba['lower']&&(_0x4dc69e=_0x304c41['includes']('lower=')?_0x4dc69e['replace'](/lower="[^"]*"/,'lower=\x22'+_0x2188ba['lower']+'\x22'):_0x4dc69e['replace'](/>$/,'\x20lower=\x22'+_0x2188ba['lower']+'\x22>')),void 0x0!==_0x2188ba['upper']&&null!==_0x2188ba['upper']&&(_0x4dc69e=_0x304c41['includes']('upper=')?_0x4dc69e['replace'](/upper="[^"]*"/,'upper=\x22'+_0x2188ba['upper']+'\x22'):_0x4dc69e['replace'](/>$/,'\x20upper=\x22'+_0x2188ba['upper']+'\x22>')),void 0x0!==_0x2188ba['effort']&&null!==_0x2188ba['effort']&&(_0x4dc69e=_0x304c41['includes']('effort=')?_0x4dc69e['replace'](/effort="[^"]*"/,'effort=\x22'+_0x2188ba['effort']+'\x22'):_0x4dc69e['replace'](/>$/,'\x20effort=\x22'+_0x2188ba['effort']+'\x22>')),void 0x0!==_0x2188ba['velocity']&&null!==_0x2188ba['velocity']&&(_0x4dc69e=_0x304c41['includes']('velocity=')?_0x4dc69e['replace'](/velocity="[^"]*"/,'velocity=\x22'+_0x2188ba['velocity']+'\x22'):_0x4dc69e['replace'](/>$/,'\x20velocity=\x22'+_0x2188ba['velocity']+'\x22>')),_0x24cf7c=_0x59a1f3['replace'](_0x2e1907,_0x4dc69e);}else{const _0x1f5007=[];if(void 0x0!==_0x2188ba['lower']&&null!==_0x2188ba['lower']&&_0x1f5007['push']('lower=\x22'+_0x2188ba['lower']+'\x22'),void 0x0!==_0x2188ba['upper']&&null!==_0x2188ba['upper']&&_0x1f5007['push']('upper=\x22'+_0x2188ba['upper']+'\x22'),void 0x0!==_0x2188ba['effort']&&null!==_0x2188ba['effort']&&_0x1f5007['push']('effort=\x22'+_0x2188ba['effort']+'\x22'),void 0x0!==_0x2188ba['velocity']&&null!==_0x2188ba['velocity']&&_0x1f5007['push']('velocity=\x22'+_0x2188ba['velocity']+'\x22'),_0x1f5007['length']>0x0){const _0x3573a1='\x20\x20\x20\x20<limit\x20'+_0x1f5007['join']('\x20')+'/>';_0x24cf7c=_0x59a1f3['replace']('</joint>',_0x3573a1+'\x0a\x20\x20</joint>');}}return _0xd77e1['replace'](_0x59a1f3,_0x24cf7c);}catch(_0x109e57){return _0xd77e1;}}static['updateMultipleJointLimits'](_0x36a6a0,_0x3ac227){let _0x34f8b8=_0x36a6a0;for(let [_0x2d9861,_0x15c77b]of _0x3ac227['entries']())_0x34f8b8=this['updateURDFJointLimits'](_0x34f8b8,_0x2d9861,_0x15c77b);return _0x34f8b8;}}class Ni{constructor(_0x19dbb4){this['sceneManager']=_0x19dbb4,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'](_0xeb67ba){this['codeEditorManager']=_0xeb67ba;}['updateEditorXML'](_0x3b5d91,_0x4eeb47){if(this['isUpdatingFromEditor'])return;if(!this['codeEditorManager'])return;const _0x22ef52=this['codeEditorManager']['getEditor']();if(!_0x22ef52)return;const _0x55fe91=_0x22ef52['getValue']();if(_0x55fe91&&0x0!==_0x55fe91['trim']()['length']&&_0x55fe91['includes']('<robot')){this['isUpdatingFromEditor']=!0x0;try{const _0x104481=zi['updateURDFJointLimits'](_0x55fe91,_0x3b5d91,_0x4eeb47);if(_0x104481!==_0x55fe91){const _0x6d7b80=_0x22ef52['view']['state']['selection']['main']['head'];_0x22ef52['setValue'](_0x104481);try{const _0x3a485d=_0x22ef52['view']['state']['doc']['length'],_0x2725e4=Math['min'](_0x6d7b80,_0x3a485d);_0x22ef52['view']['dispatch']({'selection':{'anchor':_0x2725e4,'head':_0x2725e4}});}catch(_0x7af6b7){}}}catch(_0x247d8b){}finally{setTimeout(()=>{this['isUpdatingFromEditor']=!0x1;},0x64);}}}['setupJointControls'](_0x1d7d37){const _0x218727=document['getElementById']('joint-controls');if(!_0x218727)return;if(_0x218727['innerHTML']='',this['selectedJoints']['clear'](),this['_allSelected']=!0x1,this['currentModel']=_0x1d7d37,this['updateButtonStates'](),!_0x1d7d37||!_0x1d7d37['joints']||0x0===_0x1d7d37['joints']['size']){const _0x30c3c9=document['createElement']('div');return _0x30c3c9['className']='empty-state',_0x30c3c9['textContent']=window['i18n']['t']('noModel'),void _0x218727['appendChild'](_0x30c3c9);}let _0x759a6b=0x0;if(_0x1d7d37['joints']['forEach'](_0x4339af=>{'fixed'!==_0x4339af['type']&&_0x759a6b++;}),0x0===_0x759a6b){const _0x262824=document['createElement']('div');return _0x262824['className']='empty-state',_0x262824['textContent']=window['i18n']['t']('noControllableJoints'),void _0x218727['appendChild'](_0x262824);}this['initialJointValues']['clear'](),_0x1d7d37['joints']['forEach']((_0x2b2acb,_0x357ca7)=>{if('fixed'!==_0x2b2acb['type']){const _0x174650=_0x2b2acb['limits']||{},_0x46f856=void 0x0!==_0x174650['lower']?_0x174650['lower']:-Math['PI'],_0x1f0c79=void 0x0!==_0x174650['upper']?_0x174650['upper']:Math['PI'],_0x49736f=void 0x0!==_0x2b2acb['currentValue']?_0x2b2acb['currentValue']:(_0x46f856+_0x1f0c79)/0x2;this['initialJointValues']['set'](_0x357ca7,_0x49736f);}}),_0x1d7d37['joints']['forEach'](_0x424b12=>{if('fixed'===_0x424b12['type'])return;if(_0x424b12['mimic']&&!this['showMimicJoints'])return;const _0x5121c4=this['createJointControl'](_0x424b12,_0x1d7d37);_0x218727['appendChild'](_0x5121c4);});}['setShowMimicJoints'](_0x561de7){this['showMimicJoints']=_0x561de7,this['currentModel']&&this['setupJointControls'](this['currentModel']);}['createJointControl'](_0x2ebfe5,_0x4df28e){var _0x3d1c3e,_0x4be19a;const _0x37efef=document['createElement']('div');_0x37efef['className']='joint-control',_0x37efef['setAttribute']('data-joint-name',_0x2ebfe5['name']);const _0x394448=this['createJointCheckbox'](_0x2ebfe5['name']);_0x37efef['appendChild'](_0x394448);const _0x26f9aa=document['createElement']('div');_0x26f9aa['className']='joint-control-content';const _0x3ef131=document['createElement']('div');_0x3ef131['className']='joint-header';const _0x47d09f=document['createElement']('div');if(_0x47d09f['className']='joint-name',_0x47d09f['textContent']=_0x2ebfe5['name'],_0x47d09f['title']=_0x2ebfe5['name'],_0x3ef131['appendChild'](_0x47d09f),_0x2ebfe5['mimic']){const _0x4e99d0=document['createElement']('span');_0x4e99d0['className']='joint-mimic-badge',_0x4e99d0['textContent']='mimic',_0x4e99d0['title']='mimic:\x20'+_0x2ebfe5['mimic']['joint']+'\x20(×'+_0x2ebfe5['mimic']['multiplier']+'\x20+\x20'+_0x2ebfe5['mimic']['offset']+')',_0x3ef131['appendChild'](_0x4e99d0);}const _0x5d1115=document['createElement']('div');_0x5d1115['className']='joint-slider-row';const _0x5bff66=_0x2ebfe5['limits']||{};let _0x4934fd=void 0x0!==_0x5bff66['lower']?_0x5bff66['lower']:-Math['PI'],_0x416571=void 0x0!==_0x5bff66['upper']?_0x5bff66['upper']:Math['PI'];'continuous'===_0x2ebfe5['type']&&(_0x4934fd=-Math['PI'],_0x416571=Math['PI']);const _0x269f0e=document['createElement']('input');_0x269f0e['type']='range',_0x269f0e['className']='joint-slider',_0x269f0e['setAttribute']('data-joint',_0x2ebfe5['name']),_0x269f0e['min']=_0x4934fd,_0x269f0e['max']=_0x416571;let _0x817a19=void 0x0!==_0x2ebfe5['currentValue']?_0x2ebfe5['currentValue']:(_0x4934fd+_0x416571)/0x2;_0x269f0e['value']=_0x817a19,_0x269f0e['step']=(_0x416571-_0x4934fd)/0x3e8,void 0x0===_0x2ebfe5['currentValue']&&(_0x2ebfe5['currentValue']=_0x817a19);const _0x360274=document['createElement']('input');_0x360274['type']='number',_0x360274['className']='joint-limit-min\x20editable-limit',_0x360274['step']='0.01',_0x360274['title']=window['i18n']['t']('clickToEditMin');const _0xe0a254=document['createElement']('input');_0xe0a254['type']='number',_0xe0a254['className']='joint-limit-max\x20editable-limit',_0xe0a254['step']='0.01',_0xe0a254['title']=window['i18n']['t']('clickToEditMax');const _0x35feec=document['createElement']('input');_0x35feec['type']='number',_0x35feec['className']='joint-value-input',_0x35feec['setAttribute']('data-joint-input',_0x2ebfe5['name']),_0x35feec['step']='0.01';const _0x17f0c0=document['createElement']('span');_0x17f0c0['className']='joint-value-unit',_0x17f0c0['textContent']='deg'===this['angleUnit']?'°':'rad';const _0x4f6287=()=>{const _0x341dbc=parseFloat(_0x269f0e['min']),_0x55088a=parseFloat(_0x269f0e['max']);'deg'===this['angleUnit']?(_0x360274['value']=(0xb4*_0x341dbc/Math['PI'])['toFixed'](0x1),_0xe0a254['value']=(0xb4*_0x55088a/Math['PI'])['toFixed'](0x1)):(_0x360274['value']=_0x341dbc['toFixed'](0x2),_0xe0a254['value']=_0x55088a['toFixed'](0x2));},_0x225241=()=>{const _0x2069de=parseFloat(_0x269f0e['value']);_0x35feec['value']='deg'===this['angleUnit']?(0xb4*_0x2069de/Math['PI'])['toFixed'](0x1):_0x2069de['toFixed'](0x2);};_0x4f6287(),_0x225241(),_0x360274['addEventListener']('change',()=>{let _0x541cbc=parseFloat(_0x360274['value']);if(isNaN(_0x541cbc))return void _0x4f6287();let _0x4052b0='deg'===this['angleUnit']?_0x541cbc*Math['PI']/0xb4:_0x541cbc;if(_0x4052b0>=parseFloat(_0x269f0e['max']))return void _0x4f6287();_0x269f0e['min']=_0x4052b0,_0x269f0e['step']=(_0x269f0e['max']-_0x269f0e['min'])/0x3e8,_0x2ebfe5['limits']&&(_0x2ebfe5['limits']['lower']=_0x4052b0),this['updateEditorXML'](_0x2ebfe5['name'],{'lower':_0x4052b0});parseFloat(_0x269f0e['value'])<_0x4052b0&&(_0x269f0e['value']=_0x4052b0,Ei['setJointAngle'](_0x4df28e,_0x2ebfe5['name'],_0x4052b0),_0x2ebfe5['currentValue']=_0x4052b0,_0x225241(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0x4f6287();}),_0xe0a254['addEventListener']('change',()=>{let _0x4e473b=parseFloat(_0xe0a254['value']);if(isNaN(_0x4e473b))return void _0x4f6287();let _0x395976='deg'===this['angleUnit']?_0x4e473b*Math['PI']/0xb4:_0x4e473b;if(_0x395976<=parseFloat(_0x269f0e['min']))return void _0x4f6287();_0x269f0e['max']=_0x395976,_0x269f0e['step']=(_0x269f0e['max']-_0x269f0e['min'])/0x3e8,_0x2ebfe5['limits']&&(_0x2ebfe5['limits']['upper']=_0x395976),this['updateEditorXML'](_0x2ebfe5['name'],{'upper':_0x395976});parseFloat(_0x269f0e['value'])>_0x395976&&(_0x269f0e['value']=_0x395976,Ei['setJointAngle'](_0x4df28e,_0x2ebfe5['name'],_0x395976),_0x2ebfe5['currentValue']=_0x395976,_0x225241(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0x4f6287();});const _0x4cb24c=document['createElement']('div');_0x4cb24c['className']='joint-slider-container',_0x4cb24c['appendChild'](_0x269f0e);const _0x22840d=document['createElement']('div');_0x22840d['className']='joint-value-input-container',_0x22840d['appendChild'](_0x35feec),_0x22840d['appendChild'](_0x17f0c0),_0x5d1115['appendChild'](_0x360274),_0x5d1115['appendChild'](_0x4cb24c),_0x5d1115['appendChild'](_0xe0a254),_0x5d1115['appendChild'](_0x22840d);if('urdf'===((null==(_0x4be19a=null==(_0x3d1c3e=_0x4df28e['threeObject'])?void 0x0:_0x3d1c3e['userData'])?void 0x0:_0x4be19a['type'])||'urdf')){const _0xb29965=document['createElement']('div');_0xb29965['className']='joint-extra-field';const _0x281536=document['createElement']('label');_0x281536['textContent']='τ:',_0x281536['className']='joint-extra-label',_0x281536['title']='Effort\x20(max\x20force/torque)';const _0x289405=document['createElement']('input');_0x289405['type']='number',_0x289405['className']='joint-extra-input',_0x289405['step']='0.1';const _0x892746=null!==_0x5bff66['effort']&&void 0x0!==_0x5bff66['effort']?_0x5bff66['effort']:'';_0x289405['value']=_0x892746,_0x289405['placeholder']='-',_0x289405['title']='Effort\x20(max\x20force/torque)',_0xb29965['appendChild'](_0x281536),_0xb29965['appendChild'](_0x289405);const _0x1879b2=document['createElement']('div');_0x1879b2['className']='joint-extra-field';const _0x5dca7c=document['createElement']('label');_0x5dca7c['textContent']='v:',_0x5dca7c['className']='joint-extra-label',_0x5dca7c['title']='Velocity\x20(max\x20speed)';const _0x871244=document['createElement']('input');_0x871244['type']='number',_0x871244['className']='joint-extra-input',_0x871244['step']='0.1';const _0x7ad4fb=null!==_0x5bff66['velocity']&&void 0x0!==_0x5bff66['velocity']?_0x5bff66['velocity']:'';_0x871244['value']=_0x7ad4fb,_0x871244['placeholder']='-',_0x871244['title']='Velocity\x20(max\x20speed)',_0x1879b2['appendChild'](_0x5dca7c),_0x1879b2['appendChild'](_0x871244),_0x3ef131['appendChild'](_0xb29965),_0x3ef131['appendChild'](_0x1879b2),_0x289405['addEventListener']('change',()=>{let _0x140f6c=parseFloat(_0x289405['value']);isNaN(_0x140f6c)||''===_0x289405['value']?_0x2ebfe5['limits']?_0x2ebfe5['limits']['effort']=null:_0x2ebfe5['limits']={'lower':_0x4934fd,'upper':_0x416571,'effort':null,'velocity':_0x5bff66['velocity']}:(_0x2ebfe5['limits']?_0x2ebfe5['limits']['effort']=_0x140f6c:_0x2ebfe5['limits']={'lower':_0x4934fd,'upper':_0x416571,'effort':_0x140f6c,'velocity':_0x5bff66['velocity']},this['updateEditorXML'](_0x2ebfe5['name'],{'effort':_0x140f6c}));}),_0x871244['addEventListener']('change',()=>{let _0x2cdce1=parseFloat(_0x871244['value']);isNaN(_0x2cdce1)||''===_0x871244['value']?_0x2ebfe5['limits']?_0x2ebfe5['limits']['velocity']=null:_0x2ebfe5['limits']={'lower':_0x4934fd,'upper':_0x416571,'effort':_0x5bff66['effort'],'velocity':null}:(_0x2ebfe5['limits']?_0x2ebfe5['limits']['velocity']=_0x2cdce1:_0x2ebfe5['limits']={'lower':_0x4934fd,'upper':_0x416571,'effort':_0x5bff66['effort'],'velocity':_0x2cdce1},this['updateEditorXML'](_0x2ebfe5['name'],{'velocity':_0x2cdce1}));});}return _0x269f0e['addEventListener']('mousedown',()=>{this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x2ebfe5);}),_0x269f0e['addEventListener']('mouseup',()=>{this['sceneManager']['axesManager']['restoreAllJointAxes']();}),_0x26f9aa['appendChild'](_0x3ef131),_0x26f9aa['appendChild'](_0x5d1115),_0x37efef['appendChild'](_0x26f9aa),_0x269f0e['addEventListener']('input',()=>{const _0x2f5df1=parseFloat(_0x269f0e['value']);Ei['setJointAngle'](_0x4df28e,_0x2ebfe5['name'],_0x2f5df1),_0x2ebfe5['currentValue']=_0x2f5df1,_0x225241(),this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x4df28e,_0x2ebfe5),this['onJointChange']&&this['onJointChange'](_0x4df28e),_0x269f0e['_pendingRender']||(_0x269f0e['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate'](),_0x269f0e['_pendingRender']=!0x1;}));}),_0x35feec['addEventListener']('change',()=>{let _0x9c73fa=parseFloat(_0x35feec['value']);if(isNaN(_0x9c73fa))return void _0x225241();let _0xb96c56='deg'===this['angleUnit']?_0x9c73fa*Math['PI']/0xb4:_0x9c73fa;const _0x5063f2=parseFloat(_0x269f0e['min']),_0x59a680=parseFloat(_0x269f0e['max']);_0xb96c56=Math['max'](_0x5063f2,Math['min'](_0x59a680,_0xb96c56)),_0x269f0e['value']=_0xb96c56,Ei['setJointAngle'](_0x4df28e,_0x2ebfe5['name'],_0xb96c56),_0x2ebfe5['currentValue']=_0xb96c56,this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x4df28e,_0x2ebfe5),_0x225241(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();}),_0x37efef['_updateDisplay']=()=>{_0x225241(),_0x4f6287(),_0x17f0c0['textContent']='deg'===this['angleUnit']?'°':'rad';},_0x37efef;}['setAngleUnit'](_0x57c9b3){this['angleUnit']=_0x57c9b3;document['querySelectorAll']('.joint-control')['forEach'](_0x342e44=>{_0x342e44['_updateDisplay']&&_0x342e44['_updateDisplay']();});}['resetAllJoints'](_0x8cd785){_0x8cd785&&_0x8cd785['joints']&&(_0x8cd785['joints']['forEach']((_0x5f0c53,_0x23ee86)=>{if('fixed'!==_0x5f0c53['type']){let _0x376a4c=this['initialJointValues']['get'](_0x23ee86);if(void 0x0===_0x376a4c){const _0x2457ca=_0x5f0c53['limits']||{},_0x124d8a=void 0x0!==_0x2457ca['lower']?_0x2457ca['lower']:-Math['PI'],_0x56d00f=void 0x0!==_0x2457ca['upper']?_0x2457ca['upper']:Math['PI'];_0x376a4c=void 0x0!==_0x5f0c53['currentValue']?_0x5f0c53['currentValue']:(_0x124d8a+_0x56d00f)/0x2;}Ei['setJointAngle'](_0x8cd785,_0x23ee86,_0x376a4c,!0x0),_0x5f0c53['currentValue']=_0x376a4c;const _0x4c572e=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x23ee86+'\x22]');_0x4c572e&&(_0x4c572e['value']=_0x376a4c);const _0x4f9fd8=document['querySelector']('#unit-deg.active')?'deg':'rad',_0x439527=document['querySelector']('input[data-joint-input=\x22'+_0x23ee86+'\x22]');_0x439527&&(_0x439527['value']='deg'===_0x4f9fd8?(0xb4*_0x376a4c/Math['PI'])['toFixed'](0x2):_0x376a4c['toFixed'](0x4));}}),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']());}['updateAllSliderLimits'](_0x4dbb6d,_0x2b8b1a){_0x4dbb6d&&document['querySelectorAll']('.joint-slider')['forEach'](_0x12c857=>{const _0x2091ad=_0x12c857['getAttribute']('data-joint'),_0x1a38c1=_0x4dbb6d['joints']['get'](_0x2091ad);if(_0x1a38c1&&'fixed'!==_0x1a38c1['type']){if(_0x2b8b1a)_0x12c857['min']=0x2*-Math['PI'],_0x12c857['max']=0x2*Math['PI'],_0x12c857['step']=0.01;else{const _0x1078cc=_0x1a38c1['limits']||{},_0x4f65f6=void 0x0!==_0x1078cc['lower']?_0x1078cc['lower']:-Math['PI'],_0x32380e=void 0x0!==_0x1078cc['upper']?_0x1078cc['upper']:Math['PI'];'continuous'===_0x1a38c1['type']?(_0x12c857['min']=-Math['PI'],_0x12c857['max']=Math['PI']):(_0x12c857['min']=_0x4f65f6,_0x12c857['max']=_0x32380e),_0x12c857['step']=(_0x12c857['max']-_0x12c857['min'])/0x3e8;}const _0x1d4d69=_0x12c857['closest']('.joint-control');_0x1d4d69&&_0x1d4d69['_updateDisplay']&&_0x1d4d69['_updateDisplay']();}});}['createJointCheckbox'](_0x549fe6){const _0x1d6b00=document['createElement']('div');_0x1d6b00['className']='joint-checkbox-container';const _0x2e0282=document['createElement']('input');return _0x2e0282['type']='checkbox',_0x2e0282['className']='joint-checkbox',_0x2e0282['id']='checkbox-'+_0x549fe6,_0x2e0282['setAttribute']('data-joint',_0x549fe6),_0x2e0282['addEventListener']('change',_0x19f9e1=>{_0x19f9e1['target']['checked']?this['selectedJoints']['add'](_0x549fe6):this['selectedJoints']['delete'](_0x549fe6),this['_syncAllSelectedState'](),this['updateButtonStates']();}),_0x1d6b00['appendChild'](_0x2e0282),_0x1d6b00;}['updateButtonStates'](){const _0x2be85e=document['querySelector']('.apply-angles-btn'),_0x2cc15e=document['querySelector']('.set-home-btn'),_0x427a30=document['querySelector']('.reset-home-btn'),_0x4d328b=document['getElementById']('select-all-btn');if(_0x2be85e){const _0x10210a=this['selectedJoints']['size']>0x0;_0x2be85e['disabled']=!_0x10210a,_0x2be85e['title']=_0x10210a?window['i18n']['t']('applyAngles'):window['i18n']['t']('noJointsSelected');}const _0x54dc59=this['currentModel']&&this['currentModel']['joints']&&this['currentModel']['joints']['size']>0x0;if(_0x2cc15e&&(_0x2cc15e['disabled']=!_0x54dc59),_0x427a30&&(_0x427a30['disabled']=!_0x54dc59),_0x4d328b){const _0x275b4b=this['_getControllableJointCount']();_0x4d328b['disabled']=!_0x54dc59||0x0===_0x275b4b,this['_allSelected']?_0x4d328b['classList']['add']('active'):_0x4d328b['classList']['remove']('active');}}['_getControllableJointCount'](){if(!this['currentModel']||!this['currentModel']['joints'])return 0x0;let _0x1185c7=0x0;return this['currentModel']['joints']['forEach'](_0x500a68=>{'fixed'!==_0x500a68['type']&&_0x1185c7++;}),_0x1185c7;}['_syncAllSelectedState'](){const _0x244cfa=document['querySelectorAll']('.joint-checkbox');if(0x0===_0x244cfa['length'])return void(this['_allSelected']=!0x1);const _0x45d79a=Array['from'](_0x244cfa)['every'](_0x2a872c=>_0x2a872c['checked']);this['_allSelected']=_0x45d79a;}['getSelectedJointsInOrder'](){const _0x46da99=[];return document['querySelectorAll']('.joint-control')['forEach'](_0x207298=>{const _0x4815c5=_0x207298['getAttribute']('data-joint-name');_0x4815c5&&this['selectedJoints']['has'](_0x4815c5)&&_0x46da99['push'](_0x4815c5);}),_0x46da99;}['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 _0x53d218=this['getSelectedJointsInOrder'](),_0x35b5f9=[];_0x53d218['forEach'](_0x57dffa=>{const _0x4cee4d=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x57dffa+'\x22]');if(_0x4cee4d)_0x35b5f9['push'](parseFloat(parseFloat(_0x4cee4d['value'])['toFixed'](0x2)));else{const _0x54f66b=this['currentModel']['joints']['get'](_0x57dffa);if(_0x54f66b){const _0x394673=void 0x0!==_0x54f66b['currentValue']?_0x54f66b['currentValue']:0x0;_0x35b5f9['push'](parseFloat(_0x394673['toFixed'](0x2)));}}}),this['showApplyDialog'](JSON['stringify'](_0x35b5f9),_0x53d218['length']);}['handleSelectAll'](){const _0x4d9869=document['querySelectorAll']('.joint-checkbox');0x0!==_0x4d9869['length']&&(this['_allSelected']?(_0x4d9869['forEach'](_0x172ce9=>{_0x172ce9['checked']=!0x1;const _0x28718e=_0x172ce9['getAttribute']('data-joint');_0x28718e&&this['selectedJoints']['delete'](_0x28718e);}),this['_allSelected']=!0x1):(_0x4d9869['forEach'](_0x410a06=>{_0x410a06['checked']=!0x0;const _0x32357f=_0x410a06['getAttribute']('data-joint');_0x32357f&&this['selectedJoints']['add'](_0x32357f);}),this['_allSelected']=!0x0),this['updateButtonStates']());}['handleResetToHome'](){var _0x5ede72;if(!this['currentModel'])return;const _0x28923c=(null==(_0x5ede72=this['currentModel']['userData'])?void 0x0:_0x5ede72['homePositions'])||{},_0x530329=document['querySelector']('#unit-deg.active')?'deg':'rad';this['currentModel']['joints']['forEach']((_0x14f0be,_0x1de4e3)=>{if('fixed'===_0x14f0be['type'])return;const _0x36811e=void 0x0!==_0x28923c[_0x1de4e3]?_0x28923c[_0x1de4e3]:0x0;Ei['setJointAngle'](this['currentModel'],_0x1de4e3,_0x36811e),_0x14f0be['currentValue']=_0x36811e;const _0x3b655a=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x1de4e3+'\x22]');if(_0x3b655a){_0x3b655a['value']=_0x36811e;const _0x22f52b=parseFloat(_0x3b655a['min']),_0x306195=parseFloat(_0x3b655a['max']);_0x36811e<_0x22f52b&&(_0x3b655a['min']=_0x36811e),_0x36811e>_0x306195&&(_0x3b655a['max']=_0x36811e);}const _0x61862a=document['querySelector']('input[data-joint-input=\x22'+_0x1de4e3+'\x22]');_0x61862a&&(_0x61862a['value']='deg'===_0x530329?(0xb4*_0x36811e/Math['PI'])['toFixed'](0x2):_0x36811e['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'](_0x2cc765,_0x56c139){const _0x295d67=document['createElement']('div');_0x295d67['className']='apply-dialog-overlay';const _0x411be7=document['createElement']('div');_0x411be7['className']='apply-dialog';const _0x52067b=document['createElement']('div');_0x52067b['className']='apply-dialog-title',_0x52067b['textContent']=window['i18n']['t']('applyDialogTitle');const _0x5a5fd1=document['createElement']('div');_0x5a5fd1['className']='apply-dialog-hint',_0x5a5fd1['textContent']=window['i18n']['t']('applyDialogHint');const _0x58929a=document['createElement']('textarea');_0x58929a['className']='apply-dialog-textarea',_0x58929a['value']=_0x2cc765,_0x58929a['placeholder']='[0.0,\x200.0,\x200.0]';const _0x450b68=document['createElement']('div');_0x450b68['className']='apply-dialog-buttons';const _0x5677a6=document['createElement']('button');_0x5677a6['className']='apply-dialog-btn\x20secondary',_0x5677a6['textContent']=window['i18n']['t']('applyDialogCancel'),_0x5677a6['onclick']=()=>{document['body']['removeChild'](_0x295d67);};const _0x53495f=document['createElement']('button');_0x53495f['className']='apply-dialog-btn\x20primary',_0x53495f['textContent']=window['i18n']['t']('applyDialogApply'),_0x53495f['onclick']=()=>{const _0x5baeca=_0x58929a['value']['trim']();this['applyAnglesFromText'](_0x5baeca,_0x56c139)&&document['body']['removeChild'](_0x295d67);},_0x450b68['appendChild'](_0x5677a6),_0x450b68['appendChild'](_0x53495f),_0x411be7['appendChild'](_0x52067b),_0x411be7['appendChild'](_0x5a5fd1),_0x411be7['appendChild'](_0x58929a),_0x411be7['appendChild'](_0x450b68),_0x295d67['appendChild'](_0x411be7),document['body']['appendChild'](_0x295d67),setTimeout(()=>{_0x58929a['focus'](),_0x58929a['select']();},0x64);const _0x461285=_0x33f9dc=>{'Escape'===_0x33f9dc['key']&&(document['body']['contains'](_0x295d67)&&document['body']['removeChild'](_0x295d67),document['removeEventListener']('keydown',_0x461285));};document['addEventListener']('keydown',_0x461285),_0x295d67['addEventListener']('click',_0x10ade5=>{_0x10ade5['target']===_0x295d67&&(document['body']['removeChild'](_0x295d67),document['removeEventListener']('keydown',_0x461285));});}['applyAnglesFromText'](_0x4027df,_0x2077c3){if(!_0x4027df)return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;try{const _0x52657=JSON['parse'](_0x4027df);if(!Array['isArray'](_0x52657))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;if(_0x52657['length']!==_0x2077c3){const _0x885973=window['i18n']['t']('countMismatch')['replace']('{expected}',_0x2077c3)['replace']('{actual}',_0x52657['length']);return this['showToast'](_0x885973,'error'),!0x1;}for(let _0x42f50a=0x0;_0x42f50a<_0x52657['length'];_0x42f50a++)if('number'!=typeof _0x52657[_0x42f50a]||isNaN(_0x52657[_0x42f50a]))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;const _0x5e0b09=this['getSelectedJointsInOrder']();_0x5e0b09['forEach']((_0x2f59d4,_0x5482b5)=>{const _0x49c2c8=this['currentModel']['joints']['get'](_0x2f59d4);if(_0x49c2c8){const _0x1ac444=_0x52657[_0x5482b5];Ei['setJointAngle'](this['currentModel'],_0x2f59d4,_0x1ac444),_0x49c2c8['currentValue']=_0x1ac444;const _0xe5a6bc=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x2f59d4+'\x22]');_0xe5a6bc&&(_0xe5a6bc['value']=_0x1ac444);}}),this['sceneManager']['constraintManager']&&_0x5e0b09['forEach'](_0x40e7d6=>{const _0x19c801=this['currentModel']['joints']['get'](_0x40e7d6);_0x19c801&&this['sceneManager']['constraintManager']['applyConstraints'](this['currentModel'],_0x19c801);});const _0x4811c0=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x5e0b09['forEach']((_0x3bd54f,_0x2af965)=>{const _0x58d64a=this['currentModel']['joints']['get'](_0x3bd54f),_0x48d285=void 0x0!==(null==_0x58d64a?void 0x0:_0x58d64a['currentValue'])?_0x58d64a['currentValue']:_0x52657[_0x2af965],_0xa1a096=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x3bd54f+'\x22]');_0xa1a096&&(_0xa1a096['value']=_0x48d285);const _0xe29e46=document['querySelector']('input[data-joint-input=\x22'+_0x3bd54f+'\x22]');_0xe29e46&&(_0xe29e46['value']='deg'===_0x4811c0?(0xb4*_0x48d285/Math['PI'])['toFixed'](0x2):_0x48d285['toFixed'](0x4));}),this['onJointChange']&&this['onJointChange'](this['currentModel']),requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();});const _0x2192fd=window['i18n']['t']('applySuccess')['replace']('{count}',_0x52657['length']);return this['showToast'](_0x2192fd,'success'),!0x0;}catch(_0x526655){return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;}}['showToast'](_0x591d23,_0xd9d4bc='success'){const _0xc31766=document['createElement']('div');_0xc31766['className']='toast-notification\x20'+_0xd9d4bc,_0xc31766['textContent']=_0x591d23,document['body']['appendChild'](_0xc31766),setTimeout(()=>{document['body']['contains'](_0xc31766)&&(_0xc31766['style']['animation']='slideInRight\x200.3s\x20ease-out\x20reverse',setTimeout(()=>{document['body']['contains'](_0xc31766)&&document['body']['removeChild'](_0xc31766);},0x12c));},0xbb8);}}class Ui{constructor(){this['panels']=new Map(),this['modelGraphOriginalTransform']=null,this['modelGraphView']=null;}['setModelGraphView'](_0x30e74e){this['modelGraphView']=_0x30e74e;}['registerPanel'](_0x327093,_0x27ecdd='.floating-panel-header'){const _0x4532d9=document['getElementById'](_0x327093),_0x226abf=null==_0x4532d9?void 0x0:_0x4532d9['querySelector'](_0x27ecdd);_0x4532d9&&_0x226abf&&(this['setupPanelDragAndResize'](_0x4532d9,_0x226abf),this['panels']['set'](_0x327093,{'panel':_0x4532d9,'header':_0x226abf}));}['addCustomPanel'](_0x5dc1be,_0x333ade){const _0x3ac32a=document['getElementById']('floating-joints-panel');_0x3ac32a&&(_0x333ade['id']=_0x5dc1be,_0x333ade['className']='floating-panel',_0x333ade['style']['cssText']='position:\x20fixed;\x20top:\x20120px;\x20right:\x2020px;\x20width:\x20320px;\x20z-index:\x2051;',_0x3ac32a['parentNode']['insertBefore'](_0x333ade,_0x3ac32a['nextSibling']),this['registerPanel'](_0x5dc1be));}['setupPanelDragAndResize'](_0x6049b0,_0x4cfa66){let _0x385a46,_0x580489,_0x4cb658,_0x381958,_0xb3558b,_0x2fdda4,_0x3a32c4,_0x393094,_0xec2edf=!0x1,_0x28a78e=!0x1,_0x570038=null,_0x5e0e71=0x0,_0x3b8b9c=0x0;const _0x59ed5b=()=>{const _0x5b2ebd=document['querySelectorAll']('.floating-panel,\x20#code-editor-panel');let _0x458727=0x32;_0x5b2ebd['forEach'](_0x1c95cc=>{const _0x4b54c5=parseInt(window['getComputedStyle'](_0x1c95cc)['zIndex'])||0x32;_0x4b54c5>_0x458727&&_0x1c95cc!==_0x6049b0&&(_0x458727=_0x4b54c5);}),_0x6049b0['style']['zIndex']=_0x458727+0x1;};_0x6049b0['addEventListener']('mousemove',_0x3fff90=>{if(_0xec2edf||_0x28a78e)return;const _0x4cf967=_0x6049b0['getBoundingClientRect'](),_0x5e8384=_0x3fff90['clientX']-_0x4cf967['left'],_0xd7492a=_0x3fff90['clientY']-_0x4cf967['top'];let _0x2d39aa='default';_0x570038=null;const _0x14ec7c=_0x5e8384<0xc,_0x18b75a=_0x5e8384>_0x4cf967['width']-0xc,_0x516d21=_0xd7492a<0xc,_0x3a9f42=_0xd7492a>_0x4cf967['height']-0xc;_0x14ec7c&&_0x516d21?(_0x2d39aa='nw-resize',_0x570038='nw'):_0x18b75a&&_0x516d21?(_0x2d39aa='ne-resize',_0x570038='ne'):_0x14ec7c&&_0x3a9f42?(_0x2d39aa='sw-resize',_0x570038='sw'):_0x18b75a&&_0x3a9f42?(_0x2d39aa='se-resize',_0x570038='se'):_0x14ec7c?(_0x2d39aa='w-resize',_0x570038='w'):_0x18b75a?(_0x2d39aa='e-resize',_0x570038='e'):_0x516d21?(_0x2d39aa='n-resize',_0x570038='n'):_0x3a9f42&&(_0x2d39aa='s-resize',_0x570038='s'),_0x6049b0['style']['cursor']=_0x2d39aa;}),_0x6049b0['addEventListener']('mousedown',_0x3e2088=>{if(_0x59ed5b(),_0x3e2088['target']!==_0x4cfa66&&!_0x4cfa66['contains'](_0x3e2088['target'])&&_0x570038){_0x3e2088['preventDefault'](),_0x28a78e=!0x0,_0x6049b0['style']['transition']='none';const _0x5ccc85=_0x6049b0['getBoundingClientRect'](),_0x282f76=window['getComputedStyle'](_0x6049b0),_0x1aee03=new DOMMatrixReadOnly(_0x282f76['transform']);_0xb3558b=_0x5ccc85['width'],_0x2fdda4=_0x5ccc85['height'],_0x3a32c4=_0x1aee03['m41'],_0x393094=_0x1aee03['m42'],_0x4cb658=_0x3e2088['clientX'],_0x381958=_0x3e2088['clientY'],document['addEventListener']('mousemove',_0x4ea1f1),document['addEventListener']('mouseup',_0x220f77);}});const _0x36d66e=_0x1b95aa=>{_0xec2edf&&(_0x1b95aa['preventDefault'](),_0x385a46=_0x1b95aa['clientX']-_0x4cb658,_0x580489=_0x1b95aa['clientY']-_0x381958,_0x5e0e71=_0x385a46,_0x3b8b9c=_0x580489,_0x6049b0['style']['transform']='translate('+_0x385a46+'px,\x20'+_0x580489+'px)');},_0xf42d69=()=>{_0xec2edf=!0x1,_0x4cfa66['style']['cursor']='move',_0x6049b0['style']['transition']='',document['removeEventListener']('mousemove',_0x36d66e),document['removeEventListener']('mouseup',_0xf42d69);},_0x4ea1f1=_0x703583=>{_0x28a78e&&(_0x703583['preventDefault'](),_0x6049b0['_resizeFrame']||(_0x6049b0['_resizeFrame']=requestAnimationFrame(()=>{_0x6049b0['_resizeFrame']=null;const _0x2f71b5=_0x703583['clientX']-_0x4cb658,_0x2ac74f=_0x703583['clientY']-_0x381958;let _0x1e4769=_0xb3558b,_0x4926f2=_0x2fdda4,_0xcf915=_0x3a32c4,_0x20df33=_0x393094;if(_0x570038['includes']('w')){const _0x1debee=_0xb3558b-_0x2f71b5;_0x1e4769=Math['max'](0x118,_0x1debee),_0xcf915=_0x1debee>=0x118?_0x3a32c4+_0x2f71b5:_0x3a32c4-(_0xb3558b-0x118);}if(_0x570038['includes']('e')&&(_0x1e4769=Math['max'](0x118,_0xb3558b+_0x2f71b5),_0xcf915=_0x3a32c4),_0x570038['includes']('s')&&(_0x4926f2=Math['max'](0x64,_0x2fdda4+_0x2ac74f),_0x20df33=_0x393094),_0x570038['includes']('n')){const _0x326809=_0x2fdda4-_0x2ac74f;_0x4926f2=Math['max'](0x64,_0x326809),_0x20df33=_0x326809>=0x64?_0x393094+_0x2ac74f:_0x393094+(_0x2fdda4-0x64);}_0x6049b0['style']['width']=_0x1e4769+'px',_0x6049b0['style']['height']=_0x4926f2+'px',_0x6049b0['style']['transform']='translate('+_0xcf915+'px,\x20'+_0x20df33+'px)',_0x5e0e71=_0xcf915,_0x3b8b9c=_0x20df33;})));},_0x220f77=()=>{_0x28a78e=!0x1,_0x570038=null,_0x6049b0['style']['cursor']='default',_0x6049b0['style']['transition']='',document['removeEventListener']('mousemove',_0x4ea1f1),document['removeEventListener']('mouseup',_0x220f77);};_0x4cfa66['addEventListener']('mousedown',_0x3112d0=>{_0x59ed5b();const _0x3dacf9=_0x3112d0['target'];'BUTTON'===_0x3dacf9['tagName']||'SELECT'===_0x3dacf9['tagName']||_0x3dacf9['closest']('button')||_0x3dacf9['closest']('.code-editor-actions')||(_0x3dacf9===_0x4cfa66||_0x4cfa66['contains'](_0x3dacf9))&&(_0x4cb658=_0x3112d0['clientX']-_0x5e0e71,_0x381958=_0x3112d0['clientY']-_0x3b8b9c,_0xec2edf=!0x0,_0x4cfa66['style']['cursor']='grabbing',_0x6049b0['style']['transition']='none',document['addEventListener']('mousemove',_0x36d66e),document['addEventListener']('mouseup',_0xf42d69));});}['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'](_0x655a26=>{const _0x3a3559=_0x655a26['getAttribute']('data-panel-id');if(!_0x3a3559)return;const _0xd133df=document['getElementById'](_0x3a3559);_0xd133df&&_0x655a26['addEventListener']('click',()=>{_0xd133df['classList']['contains']('maximized')?(_0xd133df['classList']['remove']('maximized'),_0x655a26['textContent']='⛶','floating-model-tree'===_0x3a3559&&this['modelGraphView']&&setTimeout(()=>{this['restoreModelGraphView']();},0x1c2)):(_0xd133df['classList']['add']('maximized'),_0x655a26['textContent']='❐','floating-model-tree'===_0x3a3559&&this['modelGraphView']&&(this['saveModelGraphTransform'](),setTimeout(()=>{this['modelGraphView']['fitToView'](!0x0,0x258);},0x1c2)));});});}['saveModelGraphTransform'](){try{const _0x29bba0=document['querySelector']('#model-graph-svg');if(!_0x29bba0)return;const _0x4029e1=window['d3'];if(!_0x4029e1)return;_0x4029e1['select'](_0x29bba0);const _0x4cf074=_0x4029e1['zoomTransform'](_0x29bba0);_0x4cf074&&(this['modelGraphOriginalTransform']={'x':_0x4cf074['x'],'y':_0x4cf074['y'],'k':_0x4cf074['k']});}catch(_0x4fade5){}}['restoreModelGraphView'](){try{const _0x1f142c=document['querySelector']('#model-graph-svg');if(!_0x1f142c)return;const _0x299d73=window['d3'];if(!_0x299d73)return;const _0x3a0b57=_0x299d73['select'](_0x1f142c),_0x154cf0=_0x3a0b57['select']('.zoom-container');if(_0x154cf0['empty']())return;if(this['modelGraphOriginalTransform']){const _0x8306c9=_0x299d73['zoom']()['scaleExtent']([0.1,0x4])['on']('zoom',_0x1ec857=>{_0x154cf0['attr']('transform',_0x1ec857['transform']);});_0x3a0b57['call'](_0x8306c9);const _0x1850ea=_0x299d73['zoomIdentity']['translate'](this['modelGraphOriginalTransform']['x'],this['modelGraphOriginalTransform']['y'])['scale'](this['modelGraphOriginalTransform']['k']);_0x3a0b57['transition']()['duration'](0x258)['call'](_0x8306c9['transform'],_0x1850ea);}else this['modelGraphView']&&this['modelGraphView']['fitToView'](!0x0,0x258);}catch(_0x4692ef){}}}class Vi{constructor(_0x356e20,_0x3fbc6f=null){this['sceneManager']=_0x356e20,this['measurementController']=_0x3fbc6f,this['codeEditorManager']=null,this['currentZoom']=null,this['currentSvg']=null,this['currentContainer']=null;}['drawModelGraph'](_0x21ff29){const _0x491734=_0x1a28d0('#model-graph-svg'),_0x539362=document['getElementById']('graph-empty-state');if(_0x491734['selectAll']('*:not(defs)')['remove'](),!_0x21ff29||!_0x21ff29['links']||0x0===_0x21ff29['links']['size'])return void(null==_0x539362||_0x539362['classList']['remove']('hidden'));null==_0x539362||_0x539362['classList']['add']('hidden');const _0x559dd9='light'===(document['documentElement']['getAttribute']('data-theme')||'dark'),_0x23deda=_0x559dd9?{'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'},_0x37f5c6=this['buildHierarchy'](_0x21ff29['rootLink'],_0x21ff29);if(!_0x37f5c6)return void(null==_0x539362||_0x539362['classList']['remove']('hidden'));const _0x379d0d=_0xbfcd8c(_0x37f5c6),_0x575a0d=_0x379d0d['descendants']()['length'],_0x1f3570=Math['max'](0x3e8,0x46*_0x575a0d),_0x3aa1bd=Math['max'](0x2bc,0x78*_0x379d0d['height']+0x64);_0x42569a()['size']([_0x1f3570-0x64,_0x3aa1bd-0x64])['separation']((_0x15702b,_0x21a2c3)=>_0x15702b['parent']===_0x21a2c3['parent']?0.8:1.2)(_0x379d0d);const _0x353e23=_0x491734['append']('g')['attr']('class','zoom-container'),_0x1bf391=_0x75ec0d()['scaleExtent']([0.1,0x4])['on']('zoom',_0x30b28e=>{_0x353e23['attr']('transform',_0x30b28e['transform']);});_0x491734['call'](_0x1bf391),this['currentZoom']=_0x1bf391,this['currentSvg']=_0x491734,this['currentContainer']=_0x353e23;let _0x5824fc=null,_0x11040c=0x0;_0x491734['on']('mousedown',function(_0x52d1b2){_0x5824fc={'x':_0x52d1b2['clientX'],'y':_0x52d1b2['clientY']},_0x11040c=Date['now']();}),_0x491734['on']('mouseup',_0x23a5dc=>{var _0x2280c7;if(!_0x5824fc)return;const _0x2e1e25=_0x23a5dc['clientX']-_0x5824fc['x'],_0x5f107d=_0x23a5dc['clientY']-_0x5824fc['y'],_0x2e98fd=Math['sqrt'](_0x2e1e25*_0x2e1e25+_0x5f107d*_0x5f107d),_0x370782=Date['now']()-_0x11040c;if(_0x2e98fd<0x5&&_0x370782<0x12c){const _0x2c7425=_0x23a5dc['target'],_0x2df0b6=_0x2c7425['tagName']['toLowerCase']();('svg'===_0x2df0b6||_0x2c7425===_0x491734['node']()||'g'===_0x2df0b6&&(null==(_0x2280c7=_0x2c7425['classList'])?void 0x0:_0x2280c7['contains']('zoom-container')))&&(this['clearAllSelections'](_0x491734),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}_0x5824fc=null;}),_0x353e23['on']('click',_0xb84aaf=>{var _0x5f1276,_0x2af465,_0x5d332c,_0x35195a,_0xe35b2c;const _0x3d1401=_0xb84aaf['target'],_0x1e04ca=_0x3d1401['tagName']['toLowerCase']();('g'===_0x1e04ca&&((null==(_0x5f1276=_0x3d1401['classList'])?void 0x0:_0x5f1276['contains']('zoom-container'))||(null==(_0x2af465=_0x3d1401['classList'])?void 0x0:_0x2af465['contains']('links'))||(null==(_0x5d332c=_0x3d1401['classList'])?void 0x0:_0x5d332c['contains']('joint-labels'))||(null==(_0x35195a=_0x3d1401['classList'])?void 0x0:_0x35195a['contains']('nodes')))||'path'===_0x1e04ca&&(null==(_0xe35b2c=_0x3d1401['classList'])?void 0x0:_0xe35b2c['contains']('graph-link')))&&(this['clearAllSelections'](_0x491734),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}),this['setupDocumentClickHandler']();_0x353e23['append']('g')['attr']('class','links')['selectAll']('path')['data'](_0x379d0d['links']())['enter']()['append']('path')['attr']('class','graph-link')['attr']('d',_0x1ebd46()['x'](_0x26444e=>_0x26444e['x']+0x32)['y'](_0x4fad81=>_0x4fad81['y']+0x32));const _0x31daff=_0x353e23['append']('g')['attr']('class','joint-nodes')['selectAll']('g')['data'](_0x379d0d['links']()['filter'](_0x4816a9=>_0x4816a9['target']['data']['jointName']))['enter']()['append']('g')['attr']('class','graph-joint-group')['attr']('transform',_0x244a57=>'translate('+((_0x244a57['source']['x']+_0x244a57['target']['x'])/0x2+0x32)+',\x20'+((_0x244a57['source']['y']+_0x244a57['target']['y'])/0x2+0x32)+')')['style']('cursor','pointer');_0x31daff['each'](function(_0x134cb0){const _0x32c4c2=_0x1a28d0(this),_0x4f41b0=_0x32c4c2['append']('text')['attr']('class','joint-name-text')['attr']('dy',-0x4)['attr']('text-anchor','middle')['style']('font-size','12px')['style']('font-weight','500')['style']('fill',_0x23deda['text'])['style']('user-select','none')['text'](_0x134cb0['target']['data']['jointName']),_0x4c2f0b=_0x32c4c2['append']('text')['attr']('class','joint-type-text')['attr']('dy',0xa)['attr']('text-anchor','middle')['style']('font-size','10px')['style']('font-weight','400')['style']('fill',_0x23deda['text'])['style']('opacity',0.7)['style']('user-select','none')['text'](_0x134cb0['target']['data']['jointType']||'joint'),_0x24b126=_0x4f41b0['node']()['getBBox'](),_0x30e0c7=_0x4c2f0b['node']()['getBBox'](),_0x4b2a65=Math['max'](_0x24b126['width'],_0x30e0c7['width'])+0x20;_0x32c4c2['insert']('rect','text')['attr']('class','joint-capsule-bg')['attr']('x',-_0x4b2a65/0x2)['attr']('y',-0x16)['attr']('width',_0x4b2a65)['attr']('height',0x2c)['attr']('rx',0x16)['style']('fill',_0x23deda['bg'])['style']('stroke',_0x23deda['stroke'])['style']('stroke-width','1.5'),_0x32c4c2['insert']('rect','.joint-capsule-bg')['attr']('class','joint-capsule-border')['attr']('x',-_0x4b2a65/0x2-0x2)['attr']('y',-0x18)['attr']('width',_0x4b2a65+0x4)['attr']('height',0x30)['attr']('rx',0x18)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','2');}),_0x31daff['on']('click',(_0xe2a9a9,_0x5decae)=>{if(_0xe2a9a9['stopPropagation'](),!_0x5decae['target']['data']['jointName'])return;const _0x401e9a=_0x21ff29['joints']['get'](_0x5decae['target']['data']['jointName']);_0x401e9a&&(_0xe2a9a9['ctrlKey']||_0xe2a9a9['metaKey']?this['measurementController']&&this['measurementController']['handleSelection'](_0x401e9a,_0xe2a9a9['currentTarget'],'joint'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x491734),_0x1a28d0(_0xe2a9a9['currentTarget'])['classed']('selected',!0x0),_0x1a28d0(_0xe2a9a9['currentTarget'])['select']('.joint-capsule-border')['style']('stroke',_0x559dd9?'var(--accent)':'#ff4a4a')['style']('stroke-width','3'),_0x1a28d0(_0xe2a9a9['currentTarget'])['select']('.joint-capsule-bg')['style']('fill',_0x559dd9?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x401e9a)),this['codeEditorManager']&&_0x5decae['target']['data']['jointName']&&this['codeEditorManager']['scrollToJoint'](_0x5decae['target']['data']['jointName'])));}),_0x31daff['on']('mouseenter',function(){const _0x44c9ca=_0x1a28d0(this);_0x44c9ca['classed']('selected')||_0x44c9ca['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0.8);})['on']('mouseleave',function(){const _0x5da261=_0x1a28d0(this);_0x5da261['classed']('selected')||_0x5da261['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0x1);}),_0x31daff['append']('title')['text'](_0x484c87=>_0x484c87['target']['data']['jointName']+'\x20('+(_0x484c87['target']['data']['jointType']||'joint')+')');const _0x572701=_0x353e23['append']('g')['attr']('class','nodes')['selectAll']('g')['data'](_0x379d0d['descendants']())['enter']()['append']('g')['attr']('class','graph-node')['attr']('transform',_0x5cc4ba=>'translate('+(_0x5cc4ba['x']+0x32)+',\x20'+(_0x5cc4ba['y']+0x32)+')')['style']('cursor','pointer');_0x572701['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x23deda['text'])['style']('user-select','none')['text'](_0x7eb0db=>_0x7eb0db['data']['name']),_0x572701['each'](function(){const _0x5542fe=_0x1a28d0(this),_0x4f86dc=_0x5542fe['select']('text')['node']()['getBBox'](),_0x1ebce6=_0x4f86dc['width']+0x38,_0x4dba1b=_0x4f86dc['height']+0x14+0x8;_0x5542fe['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0x1ebce6/0x2)['attr']('y',-_0x4dba1b/0x2)['attr']('width',_0x1ebce6)['attr']('height',_0x4dba1b)['attr']('rx',0xc)['style']('fill',_0x23deda['bg'])['style']('stroke',_0x23deda['stroke'])['style']('stroke-width','1.5'),_0x5542fe['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0x1ebce6/0x2-0x2)['attr']('y',-_0x4dba1b/0x2-0x2)['attr']('width',_0x1ebce6+0x4)['attr']('height',_0x4dba1b+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3');}),_0x572701['on']('click',(_0x4645f4,_0x5a8e7c)=>{_0x4645f4['stopPropagation'](),_0x4645f4['ctrlKey']||_0x4645f4['metaKey']?_0x5a8e7c['data']['data']&&this['measurementController']&&this['measurementController']['handleSelection'](_0x5a8e7c['data']['data'],_0x4645f4['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x491734),_0x1a28d0(_0x4645f4['currentTarget'])['classed']('selected',!0x0),_0x1a28d0(_0x4645f4['currentTarget'])['select']('.node-border')['style']('stroke',_0x559dd9?'var(--accent)':'#4a9eff')['style']('stroke-width','6'),_0x1a28d0(_0x4645f4['currentTarget'])['select']('.node-bg')['style']('fill',_0x559dd9?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),_0x5a8e7c['data']['data']&&this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['highlightManager']['highlightLink'](_0x5a8e7c['data']['data'],this['sceneManager']['currentModel'])),this['codeEditorManager']&&_0x5a8e7c['data']['name']&&this['codeEditorManager']['scrollToLink'](_0x5a8e7c['data']['name']));}),_0x572701['on']('contextmenu',(_0x19f97f,_0x32ec1f)=>{if(_0x19f97f['preventDefault'](),_0x19f97f['stopPropagation'](),!this['sceneManager']||!_0x32ec1f['data']['data'])return;const _0x33659e=_0x32ec1f['data']['name'],_0x417a75=this['sceneManager']['visualizationManager']['toggleLinkVisibility'](_0x33659e,this['sceneManager']['currentModel']),_0x1d5efa=_0x1a28d0(_0x19f97f['currentTarget']);_0x417a75?(_0x1d5efa['classed']('hidden',!0x1),_0x1d5efa['select']('.node-bg')['style']('fill',_0x23deda['bg'])['style']('opacity','1'),_0x1d5efa['select']('text')['style']('fill',_0x23deda['text'])['style']('opacity','1')):(_0x1d5efa['classed']('hidden',!0x0),_0x1d5efa['select']('.node-bg')['style']('fill',_0x559dd9?'rgba(0,\x200,\x200,\x200.1)':'#1a1a1a')['style']('opacity','0.5'),_0x1d5efa['select']('text')['style']('fill',_0x559dd9?'#999':'#666')['style']('opacity','0.6'));});const _0x3185d7=_0x379d0d['descendants']()[0x0],_0x38fd45=_0x3185d7['x']+0x32,_0x2fee06=_0x3185d7['y']+0x32-0x50,_0x2262c6=_0x353e23['append']('g')['attr']('class','graph-node\x20ground-node')['attr']('transform','translate('+_0x38fd45+',\x20'+_0x2fee06+')')['style']('cursor','pointer'),_0x290c08=_0x2262c6['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x23deda['text'])['style']('user-select','none')['text']('Ground')['node']()['getBBox'](),_0x289824=_0x290c08['width']+0x38,_0x4767c3=_0x290c08['height']+0x14+0x8;if(_0x2262c6['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0x289824/0x2)['attr']('y',-_0x4767c3/0x2)['attr']('width',_0x289824)['attr']('height',_0x4767c3)['attr']('rx',0xc)['style']('fill',_0x23deda['bg'])['style']('stroke',_0x23deda['stroke'])['style']('stroke-width','1.5'),_0x2262c6['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0x289824/0x2-0x2)['attr']('y',-_0x4767c3/0x2-0x2)['attr']('width',_0x289824+0x4)['attr']('height',_0x4767c3+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3'),_0x2262c6['append']('title')['text']('Ground'),_0x2262c6['on']('click',_0x25a3f1=>{_0x25a3f1['stopPropagation'](),_0x25a3f1['ctrlKey']||_0x25a3f1['metaKey']?this['measurementController']&&this['measurementController']['handleSelection']({'name':'ground'},_0x25a3f1['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x491734),_0x1a28d0(_0x25a3f1['currentTarget'])['classed']('selected',!0x0),_0x1a28d0(_0x25a3f1['currentTarget'])['select']('.node-border')['style']('stroke','#4a9eff')['style']('stroke-width','6'),_0x1a28d0(_0x25a3f1['currentTarget'])['select']('.node-bg')['style']('fill','#3a3a3a'));}),_0x21ff29['constraints']&&_0x21ff29['constraints']['size']>0x0){const _0x18f32b=_0x353e23['append']('g')['attr']('class','constraints');_0x21ff29['constraints']['forEach']((_0x2de61f,_0x170bcf)=>{if('connect'===_0x2de61f['type']||'weld'===_0x2de61f['type']){const _0x5dfb80=_0x379d0d['descendants']()['find'](_0x22262f=>_0x22262f['data']['name']===_0x2de61f['body1']),_0x1cd191=_0x379d0d['descendants']()['find'](_0x37add1=>_0x37add1['data']['name']===_0x2de61f['body2']);if(_0x5dfb80&&_0x1cd191){const _0x2aa93b=_0x5dfb80['x']+0x32,_0x95be3a=_0x5dfb80['y']+0x32,_0x576b59=_0x1cd191['x']+0x32,_0xc3388c=_0x1cd191['y']+0x32,_0x47b28e='weld'===_0x2de61f['type']?'#ff6600':'#00ffff';_0x18f32b['append']('line')['attr']('x1',_0x2aa93b)['attr']('y1',_0x95be3a)['attr']('x2',_0x576b59)['attr']('y2',_0xc3388c)['style']('stroke',_0x47b28e)['style']('stroke-width','2')['style']('stroke-dasharray','5,5')['style']('opacity','0.6')['append']('title')['text'](_0x2de61f['type']+':\x20'+_0x2de61f['body1']+'\x20↔\x20'+_0x2de61f['body2']);}}else if('joint'===_0x2de61f['type']){const _0x5dded5=_0x21ff29['getJoint'](_0x2de61f['joint1']),_0x523762=_0x21ff29['getJoint'](_0x2de61f['joint2']);if(_0x5dded5&&_0x523762){const _0x532769=_0x379d0d['descendants']()['find'](_0x105ca9=>_0x105ca9['data']['name']===_0x5dded5['child']),_0x2c9653=_0x379d0d['descendants']()['find'](_0x29d8ff=>_0x29d8ff['data']['name']===_0x523762['child']);if(_0x532769&&_0x2c9653){const _0x34f138=_0x532769['x']+0x32,_0x744004=_0x532769['y']+0x32,_0x3284a7=_0x2c9653['x']+0x32,_0x16b169=_0x2c9653['y']+0x32;_0x18f32b['append']('line')['attr']('x1',_0x34f138)['attr']('y1',_0x744004)['attr']('x2',_0x3284a7)['attr']('y2',_0x16b169)['style']('stroke','#ffff00')['style']('stroke-width','2')['style']('stroke-dasharray','3,3')['style']('opacity','0.5')['append']('title')['text']('Joint\x20constraint:\x20'+_0x2de61f['joint1']+'\x20↔\x20'+_0x2de61f['joint2']);}}}});}setTimeout(()=>{this['fitToView'](!0x1);},0x32);}['buildHierarchy'](_0x19ff24,_0x4b8353){const _0x274407=_0x4b8353['links']['get'](_0x19ff24);if(!_0x274407)return null;const _0x19327f={'name':_0x19ff24,'data':_0x274407,'children':[]};return _0x4b8353['joints']['forEach']((_0x4cea3b,_0x51227c)=>{if(_0x4cea3b['parent']===_0x19ff24&&_0x4cea3b['child']){const _0x36b721=this['buildHierarchy'](_0x4cea3b['child'],_0x4b8353);_0x36b721&&(_0x36b721['jointName']=_0x51227c,_0x36b721['jointType']=_0x4cea3b['type'],_0x19327f['children']['push'](_0x36b721));}}),_0x4b8353['links']['forEach']((_0x443113,_0x27f603)=>{if(!_0x19327f['children']['some'](_0x4f5a4f=>_0x4f5a4f['name']===_0x27f603)&&_0x443113['userData']['parentName']===_0x19ff24){const _0xd9fc26=this['buildHierarchy'](_0x27f603,_0x4b8353);_0xd9fc26&&(_0xd9fc26['jointName']=null,_0xd9fc26['jointType']='fixed',_0xd9fc26['isFixedConnection']=!0x0,_0x19327f['children']['push'](_0xd9fc26));}}),_0x19327f;}['setupDocumentClickHandler'](){window['graphClickHandler']&&document['removeEventListener']('click',window['graphClickHandler'],!0x0),window['graphClickHandler']=_0x2540c9=>{const _0x1e4f99=document['getElementById']('floating-model-tree');if(!_0x1e4f99||'none'===_0x1e4f99['style']['display'])return;if(!_0x1e4f99['contains'](_0x2540c9['target']))return;const _0x23e27c=_0x2540c9['target'];_0x23e27c['tagName']['toLowerCase']();const _0x525c1f=_0x23e27c['closest']('.graph-node'),_0x2ae77f=_0x23e27c['closest']('.graph-joint-group'),_0x52fb93=_0x23e27c['closest']('.floating-panel-header');if(!_0x525c1f&&!_0x2ae77f&&!_0x52fb93){const _0x455cd5=_0x1a28d0('#model-graph-svg');this['clearAllSelections'](_0x455cd5),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['measurementManager']['clearMeasurement']());}},document['addEventListener']('click',window['graphClickHandler'],!0x0);}['clearAllSelections'](_0x2d8388){const _0x2e32d1='light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?'rgba(255,\x20255,\x20255,\x200.95)':'rgba(42,\x2042,\x2046,\x200.95)';_0x2d8388['selectAll']('.graph-node')['classed']('selected',!0x1),_0x2d8388['selectAll']('.graph-node\x20.node-border')['style']('stroke','transparent'),_0x2d8388['selectAll']('.graph-node\x20.node-bg')['style']('fill',_0x2e32d1),_0x2d8388['selectAll']('.graph-joint-group')['classed']('selected',!0x1),_0x2d8388['selectAll']('.graph-joint-group\x20.joint-capsule-border')['style']('stroke','transparent'),_0x2d8388['selectAll']('.graph-joint-group\x20.joint-capsule-bg')['style']('fill',_0x2e32d1),_0x2d8388['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x2d8388['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['axesManager']&&this['sceneManager']['axesManager']['restoreAllJointAxes']();}['setMeasurementController'](_0x32a216){this['measurementController']=_0x32a216;}['setCodeEditorManager'](_0xfe0dfa){this['codeEditorManager']=_0xfe0dfa;}['fitToView'](_0x335f91=!0x1,_0x5cd150=0x0){if(this['currentSvg']&&this['currentContainer']&&this['currentZoom'])try{const _0x168894=this['currentSvg']['node']()['getBoundingClientRect']();let _0x5d811f;try{_0x5d811f=this['currentContainer']['node']()['getBBox']();}catch(_0xa7008b){return;}if(!_0x5d811f||0x0===_0x5d811f['width']||0x0===_0x5d811f['height'])return;const _0x536587=0x32,_0x32cfd0=(_0x168894['width']-0x2*_0x536587)/_0x5d811f['width'],_0x22928e=(_0x168894['height']-0x2*_0x536587)/_0x5d811f['height'];let _0x2ec086=Math['min'](_0x32cfd0,_0x22928e);_0x2ec086=Math['max'](0.1,Math['min'](_0x2ec086,0x2));const _0x40dd45=_0x168894['width']/0x2-(_0x5d811f['x']+_0x5d811f['width']/0x2)*_0x2ec086,_0x1c72ae=_0x168894['height']/0x2-(_0x5d811f['y']+_0x5d811f['height']/0x2)*_0x2ec086,_0x34497a=_0x108a85['translate'](_0x40dd45,_0x1c72ae)['scale'](_0x2ec086);_0x335f91&&_0x5cd150>0x0?this['currentSvg']['transition']()['duration'](_0x5cd150)['call'](this['currentZoom']['transform'],_0x34497a):this['currentSvg']['call'](this['currentZoom']['transform'],_0x34497a);}catch(_0x3f8ca9){}}}class qi{constructor(){this['availableModels']=[],this['onFileClick']=null;}['updateFileTree'](_0x2df5c8,_0x102bf2,_0x4254cf=!0x1){this['availableModels']=_0x2df5c8;const _0x18ce65=document['getElementById']('model-list');if(!_0x18ce65)return;const _0x5df1d5=_0x4254cf?this['saveTreeState']():[];_0x18ce65['innerHTML']='',0x0!==_0x2df5c8['length']?(this['buildFileTree'](_0x18ce65,_0x2df5c8,_0x102bf2),_0x4254cf&&_0x5df1d5['length']>0x0&&setTimeout(()=>this['restoreTreeState'](_0x5df1d5),0x0)):this['showLoadButton'](_0x18ce65);}['showLoadButton'](_0x2bfa00){var _0x5048d2,_0x4d1109,_0xff3c8a,_0x3ddc7d;const _0x541349=document['createElement']('div');_0x541349['className']='file-tree-empty-container',_0x541349['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 _0x2161fa=document['createElement']('div');_0x2161fa['className']='empty-state',_0x2161fa['style']['cssText']='margin:\x200;\x20padding:\x200;\x20text-align:\x20center;\x20line-height:\x201.6;';const _0xba7755=document['createElement']('div');_0xba7755['textContent']=(null==(_0x5048d2=window['i18n'])?void 0x0:_0x5048d2['t']('dropHint'))||'Drag\x20and\x20drop\x20robot\x20model\x20files\x20or\x20folders\x20anywhere',_0xba7755['setAttribute']('data-i18n','dropHint');const _0x303b39=document['createElement']('div');_0x303b39['textContent']=(null==(_0x4d1109=window['i18n'])?void 0x0:_0x4d1109['t']('orClickButton'))||'or\x20click\x20button\x20to\x20load',_0x303b39['setAttribute']('data-i18n','orClickButton'),_0x303b39['style']['marginTop']='4px',_0x2161fa['appendChild'](_0xba7755),_0x2161fa['appendChild'](_0x303b39);const _0x2ddaa4=document['createElement']('div');_0x2ddaa4['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 _0x521763=document['createElement']('button');_0x521763['className']='control-button\x20load-files-btn';const _0x2d9300=document['createElement']('span');_0x2d9300['textContent']=(null==(_0xff3c8a=window['i18n'])?void 0x0:_0xff3c8a['t']('loadFiles'))||'Load\x20Files',_0x2d9300['setAttribute']('data-i18n','loadFiles'),_0x521763['appendChild'](_0x2d9300),_0x521763['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',_0x521763['title']='选择单个或多个文件',_0x521763['addEventListener']('click',_0x5e1dfe=>{_0x5e1dfe['preventDefault'](),_0x5e1dfe['stopPropagation'](),this['triggerFileLoad'](!0x1);});const _0x5f44f0=document['createElement']('button');_0x5f44f0['className']='control-button\x20load-folder-btn';const _0xb8cc86=document['createElement']('span');_0xb8cc86['textContent']=(null==(_0x3ddc7d=window['i18n'])?void 0x0:_0x3ddc7d['t']('loadFolder'))||'Load\x20Folder',_0xb8cc86['setAttribute']('data-i18n','loadFolder'),_0x5f44f0['appendChild'](_0xb8cc86),_0x5f44f0['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',_0x5f44f0['title']='选择整个文件夹',_0x5f44f0['addEventListener']('click',_0x3f40f8=>{_0x3f40f8['preventDefault'](),_0x3f40f8['stopPropagation'](),this['triggerFileLoad'](!0x0);}),_0x2ddaa4['appendChild'](_0x521763),_0x2ddaa4['appendChild'](_0x5f44f0),_0x541349['appendChild'](_0x2161fa),_0x541349['appendChild'](_0x2ddaa4),_0x2bfa00['appendChild'](_0x541349);}['triggerFileLoad'](_0xc82b56=!0x1){const _0x54d413=document['createElement']('input');_0x54d413['type']='file',_0x54d413['multiple']=!0x0,_0x54d413['webkitdirectory']=_0xc82b56,_0x54d413['style']['display']='none',_0xc82b56||_0x54d413['setAttribute']('accept','.urdf,.xacro,.xml,.dae,.stl,.obj,.collada,.usd,.usda,.usdc,.usdz'),_0x54d413['addEventListener']('change',_0x443bcd=>{const _0x169d7a=Array['from'](_0x443bcd['target']['files']);if(_0x169d7a&&_0x169d7a['length']>0x0){const _0x282ae3=new DataTransfer();_0x169d7a['forEach'](_0x1b09a1=>_0x282ae3['items']['add'](_0x1b09a1));const _0x2977b5=new DragEvent('drop',{'bubbles':!0x0,'cancelable':!0x0,'dataTransfer':_0x282ae3});document['body']['dispatchEvent'](_0x2977b5);}document['body']['removeChild'](_0x54d413);}),document['body']['appendChild'](_0x54d413),_0x54d413['click']();}['saveTreeState'](){const _0x33a1d0=[];return document['querySelectorAll']('.tree-item.folder:not(.collapsed)')['forEach'](_0x4b7202=>{const _0x63d85e=_0x4b7202['querySelector']('.name');_0x63d85e&&_0x33a1d0['push'](_0x63d85e['textContent']);}),_0x33a1d0;}['restoreTreeState'](_0x5665b9){_0x5665b9&&0x0!==_0x5665b9['length']&&document['querySelectorAll']('.tree-item.folder')['forEach'](_0x1b94fd=>{const _0x56c859=_0x1b94fd['querySelector']('.name');_0x56c859&&_0x5665b9['includes'](_0x56c859['textContent'])&&_0x1b94fd['classList']['remove']('collapsed');});}['markActiveFile'](_0x539deb){document['querySelectorAll']('.tree-item.selected')['forEach'](_0x5d5a4b=>{_0x5d5a4b['classList']['remove']('selected');});document['querySelectorAll']('#model-list\x20.tree-item')['forEach'](_0x2e526e=>{const _0x313191=_0x2e526e['querySelector']('.name');_0x313191&&_0x313191['textContent']===_0x539deb['name']&&(_0x2e526e['classList']['add']('selected'),_0x2e526e['scrollIntoView']({'behavior':'smooth','block':'nearest'}));});}['expandAndScrollToFile'](_0x24f3a2,_0x2d24d0){if(!_0x24f3a2)return;let _0x59ba96=null;if(_0x2d24d0['forEach']((_0x59b6e9,_0x11e7dd)=>{_0x59b6e9===_0x24f3a2&&(_0x59ba96=_0x11e7dd);}),!_0x59ba96)return;const _0x542f58=_0x59ba96['split']('/')['filter'](_0x5c7d2d=>_0x5c7d2d),_0x840d47=[];for(let _0x52b0d6=0x0;_0x52b0d6<_0x542f58['length']-0x1;_0x52b0d6++)_0x840d47['push'](_0x542f58[_0x52b0d6]);document['querySelectorAll']('#model-list\x20.tree-item.folder')['forEach'](_0x4c9e12=>{const _0x50f18e=_0x4c9e12['querySelector']('.name');_0x50f18e&&_0x840d47['includes'](_0x50f18e['textContent'])&&_0x4c9e12['classList']['remove']('collapsed');}),setTimeout(()=>{const _0x53fdde=document['querySelectorAll']('#model-list\x20.tree-item');let _0x3b398f=null;_0x53fdde['forEach'](_0xdc7b76=>{const _0x15f765=_0xdc7b76['querySelector']('.name');if(_0x15f765&&_0x15f765['textContent']===_0x24f3a2['name']){_0xdc7b76['parentElement']&&(_0x3b398f=_0xdc7b76);}}),_0x3b398f&&(_0x3b398f['classList']['add']('selected'),_0x3b398f['scrollIntoView']({'behavior':'smooth','block':'nearest'}));},0x64);}['isModelXML'](_0x166e25){const _0x298896=_0x166e25['toLowerCase']();return!['package','launch','config','scene','ros']['some'](_0x4c8f09=>_0x298896['includes'](_0x4c8f09));}['buildFileTree'](_0x39880e,_0x38b0f1,_0x3b6f88){const _0x21e274={};_0x3b6f88['forEach']((_0x23d5de,_0x45d8ef)=>{const _0x9e743=_0x23d5de['name']['split']('.')['pop']()['toLowerCase']();if(!['urdf','xacro','xml','dae','stl','obj','collada','usd','usda','usdc','yml','yaml']['includes'](_0x9e743))return;if('xml'===_0x9e743&&!this['isModelXML'](_0x23d5de['name']))return;const _0x1e7cfc=_0x45d8ef['split']('/')['filter'](_0x1dc51f=>_0x1dc51f);let _0x5e4df1=_0x21e274;_0x1e7cfc['forEach']((_0x16f7e7,_0x1d9f3f)=>{_0x1d9f3f===_0x1e7cfc['length']-0x1?(_0x5e4df1['__files']||(_0x5e4df1['__files']=[]),_0x5e4df1['__files']['push']({'name':_0x16f7e7,'file':_0x23d5de,'path':_0x45d8ef,'ext':_0x9e743})):(_0x5e4df1[_0x16f7e7]||(_0x5e4df1[_0x16f7e7]={}),_0x5e4df1=_0x5e4df1[_0x16f7e7]);});}),this['renderFileTreeStructure'](_0x21e274,_0x39880e);}['renderFileTreeStructure'](_0x437de3,_0xc7fe26){const _0x10afc4=[],_0x21daf8=[];Object['keys'](_0x437de3)['forEach'](_0x372426=>{'__files'===_0x372426?_0x21daf8['push'](..._0x437de3[_0x372426]):_0x10afc4['push'](_0x372426);}),_0x10afc4['sort']()['forEach'](_0x5d7db4=>{const _0x3618f7=this['createTreeFolder'](_0x5d7db4),_0x475e64=_0x3618f7['querySelector']('.tree-children');this['renderFileTreeStructure'](_0x437de3[_0x5d7db4],_0x475e64),_0xc7fe26['appendChild'](_0x3618f7);}),_0x21daf8['length']>0x0&&this['renderFiles'](_0x21daf8,_0xc7fe26);}['createTreeFolder'](_0x59757b){const _0xa470f4=document['createElement']('div');_0xa470f4['className']='tree-item\x20folder\x20collapsed';const _0x24105f=document['createElement']('div');_0x24105f['className']='tree-item-header';const _0xd96aab=document['createElement']('div');_0xd96aab['className']='tree-item-left';const _0x324dc5=document['createElement']('span');_0x324dc5['className']='tree-arrow';const _0x4466de=document['createElement']('span');_0x4466de['className']='icon';const _0x2af2fe=document['createElement']('span');_0x2af2fe['className']='name',_0x2af2fe['textContent']=_0x59757b,_0xd96aab['appendChild'](_0x324dc5),_0xd96aab['appendChild'](_0x4466de),_0xd96aab['appendChild'](_0x2af2fe),_0x24105f['appendChild'](_0xd96aab);const _0x15fd29=document['createElement']('div');return _0x15fd29['className']='tree-children',_0xa470f4['appendChild'](_0x24105f),_0xa470f4['appendChild'](_0x15fd29),_0x24105f['addEventListener']('click',_0x390c89=>{_0x390c89['stopPropagation'](),_0xa470f4['classList']['toggle']('collapsed');}),_0xa470f4;}['renderFiles'](_0x59432c,_0x54920c){_0x59432c['sort']((_0x2d23a9,_0x2b06c0)=>{const _0x513cc8=['urdf','xacro','xml','usd','usda','usdc'],_0x41316f=_0x513cc8['includes'](_0x2d23a9['ext']),_0x20aa2c=_0x513cc8['includes'](_0x2b06c0['ext']);return _0x41316f&&!_0x20aa2c?-0x1:!_0x41316f&&_0x20aa2c?0x1:_0x2d23a9['name']['localeCompare'](_0x2b06c0['name']);}),_0x59432c['forEach'](_0x2cb3e0=>{const _0x44f321=this['createTreeItem'](_0x2cb3e0['name'],_0x2cb3e0['ext']);_0x44f321['addEventListener']('click',_0x11eb74=>{var _0x2e173a;_0x11eb74['stopPropagation'](),document['querySelectorAll']('.tree-item.selected')['forEach'](_0xe1463a=>{_0xe1463a['classList']['remove']('selected');}),_0x44f321['classList']['add']('selected'),null==(_0x2e173a=this['onFileClick'])||_0x2e173a['call'](this,_0x2cb3e0);}),_0x54920c['appendChild'](_0x44f321);});}['createTreeItem'](_0x45ef05,_0x28deba){const _0x1edc85=document['createElement']('div');_0x1edc85['className']='tree-item';const _0x575187=document['createElement']('div');_0x575187['className']='tree-item-header';const _0x12aceb=document['createElement']('div');_0x12aceb['className']='tree-item-left';const _0x3d50f6=document['createElement']('span');_0x3d50f6['className']='icon';const _0x163870=document['createElement']('span');if(_0x163870['className']='name',_0x163870['textContent']=_0x45ef05,_0x12aceb['appendChild'](_0x3d50f6),_0x12aceb['appendChild'](_0x163870),_0x575187['appendChild'](_0x12aceb),_0x45ef05&&_0x45ef05['includes']('.')){const _0xec0a5e=_0x45ef05['split']('.')['pop']()['toUpperCase']();if(['URDF','XACRO','XML','DAE','STL','OBJ','USD','USDA','USDC','USDZ']['includes'](_0xec0a5e)){const _0x563295=document['createElement']('span');_0x563295['className']='type-badge',_0x563295['textContent']=_0xec0a5e,_0x575187['appendChild'](_0x563295);}}return _0x1edc85['appendChild'](_0x575187),_0x1edc85;}}class Bi{constructor(_0x5620e8,_0x152412='vscode-dark'){this['parentElement']=_0x5620e8,this['view']=null,this['onChangeCallback']=null,this['currentTheme']=_0x152412,this['setupEditor']();}['getThemeExtension'](){return'light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?_0x1ecaf4:_0x4657fb;}['setupEditor'](){this['parentElement']['innerHTML']='';const _0x4af4b8=_0x4e2a56['create']({'doc':'','extensions':[_0x1796ce,_0x34e7aa(),this['getThemeExtension'](),_0x2cd579['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'}}),_0x2cd579['updateListener']['of'](_0x376c82=>{_0x376c82['docChanged']&&this['onChangeCallback']&&this['onChangeCallback'](this['getValue']());})]});this['view']=new _0x2cd579({'state':_0x4af4b8,'parent':this['parentElement']});}['setValue'](_0x3e63ac){if(!this['view'])return;const _0x33d991=this['view']['state']['update']({'changes':{'from':0x0,'to':this['view']['state']['doc']['length'],'insert':_0x3e63ac||''}});this['view']['dispatch'](_0x33d991);}['getValue'](){return this['view']?this['view']['state']['doc']['toString']():'';}['onChange'](_0x18e7b1){this['onChangeCallback']=_0x18e7b1;}['focus'](){this['view']&&this['view']['focus']();}['destroy'](){this['view']&&(this['view']['destroy'](),this['view']=null);}['updateTheme'](_0xccb519){if(!this['view'])return;const _0x114773=this['getValue'](),_0x5dd9b0=this['view']['state']['selection']['main']['head'];this['view']['destroy'](),this['setupEditor'](),this['setValue'](_0x114773),this['view']['dispatch']({'selection':{'anchor':_0x5dd9b0,'head':_0x5dd9b0}});}['scrollToLine'](_0x1d0bbe,_0xdaf5b3=!0x0){if(this['view']&&!(_0x1d0bbe<0x1))try{const _0x441b44=this['view']['state']['doc'],_0x234c89=_0x441b44['lines'],_0x261baa=Math['min'](Math['max'](0x1,_0x1d0bbe),_0x234c89),_0x5bb4ea=_0x441b44['line'](_0x261baa),_0x260255=_0x5bb4ea['from'];this['view']['dispatch']({'selection':{'anchor':_0x260255,'head':_0x5bb4ea['to']},'scrollIntoView':!0x0}),this['view']['focus']();}catch(_0x461579){}}['searchAndScroll'](_0x423578,_0x18ec8f=!0x0){if(!this['view']||!_0x423578)return!0x1;try{const _0x530c8b=this['getValue'](),_0x3e6a70=_0x18ec8f?_0x530c8b:_0x530c8b['toLowerCase'](),_0x9c2d91=_0x18ec8f?_0x423578:_0x423578['toLowerCase'](),_0x58cda6=_0x3e6a70['indexOf'](_0x9c2d91);return-0x1!==_0x58cda6&&(this['view']['dispatch']({'selection':{'anchor':_0x58cda6,'head':_0x58cda6+_0x423578['length']},'scrollIntoView':!0x0}),this['view']['focus'](),!0x0);}catch(_0x1c1c53){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'](_0x4cedb7){this['fileMap']=_0x4cedb7;const _0x560943=document['getElementById']('code-editor-wrapper');_0x560943&&(this['codeEditorInstance']=new Bi(_0x560943),this['codeEditorInstance']['onChange'](_0x129527=>{this['editorState']['currentContent']=_0x129527,this['updateEditorSaveStatus']();}),this['setupEditorControls'](),this['updateEditorSaveStatus'](),this['setupFileControls']());}['setupFileControls'](){const _0x570be6=document['getElementById']('editor-filename-input'),_0x327db7=document['getElementById']('editor-filename');if(!_0x570be6||!_0x327db7)return;const _0x42b613=()=>{this['editorState']['currentFile']?(_0x570be6['style']['display']='none',_0x327db7['style']['display']='inline-block'):(_0x570be6['style']['display']='inline-block',_0x327db7['style']['display']='none',_0x570be6['value']=this['editorState']['defaultFileName']);};_0x42b613(),_0x570be6['addEventListener']('input',_0x4c9814=>{this['editorState']['defaultFileName']=_0x4c9814['target']['value']['trim']()||'newfile.xml';}),this['updateControlsVisibility']=_0x42b613;}['detectFileTypeFromName'](_0x5862e7){return{'xml':'urdf','urdf':'urdf','xacro':'xacro','mjcf':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x5862e7['toLowerCase']()['split']('.')['pop']()]||'urdf';}['setupEditorControls'](){const _0x29287c=document['getElementById']('open-editor-btn'),_0x3e3674=document['getElementById']('code-editor-panel'),_0x28934c=document['getElementById']('close-editor-btn'),_0x2be38e=document['getElementById']('save-btn'),_0x43eec7=document['getElementById']('reload-btn');_0x29287c&&_0x3e3674&&(_0x3e3674['classList']['add']('visible'),_0x29287c['classList']['add']('active'),_0x29287c['addEventListener']('click',async()=>{if(_0x3e3674['classList']['contains']('visible'))return _0x3e3674['classList']['remove']('visible'),void _0x29287c['classList']['remove']('active');_0x3e3674['classList']['add']('visible'),_0x29287c['classList']['add']('active'),this['editorState']['currentFile']||(this['codeEditorInstance']['setValue'](''),document['getElementById']('editor-filename')['textContent']=window['i18n']['t']('newFile'),this['updateEditorSaveStatus']());}),_0x28934c&&_0x28934c['addEventListener']('click',()=>{_0x3e3674['classList']['remove']('visible'),_0x29287c['classList']['remove']('active');}),_0x43eec7&&_0x43eec7['addEventListener']('click',async()=>{try{const _0x23e041=this['codeEditorInstance']['getValue']();if(!_0x23e041||0x0===_0x23e041['trim']()['length'])return;let _0x1bc49e,_0x1cb2b4;if(this['editorState']['currentFile'])_0x1bc49e=this['editorState']['currentFile']['name'],_0x1cb2b4=this['editorState']['currentFile']['type'];else{const _0x2654ad=document['getElementById']('editor-filename-input');_0x1bc49e=_0x2654ad&&_0x2654ad['value']['trim']()||this['editorState']['defaultFileName'],_0x1cb2b4=this['detectFileTypeFromName'](_0x1bc49e);}const _0x4154a1=new Blob([_0x23e041],{'type':'text/plain'}),_0x4bf981=new File([_0x4154a1],_0x1bc49e,{'type':_0x1cb2b4});if(this['editorState']['currentFile']){const _0x49f3c3=[];for(const [_0x154996]of this['fileMap']['entries']())(_0x154996['endsWith'](_0x1bc49e)||_0x154996===_0x1bc49e)&&_0x49f3c3['push'](_0x154996);_0x49f3c3['forEach'](_0x4e1642=>{this['fileMap']['set'](_0x4e1642,_0x4bf981);});}else this['fileMap']['set'](_0x1bc49e,_0x4bf981);const _0x5dcc23=_0x23e041;if(this['_reloadingInProgress']=!0x0,this['onReload']&&await this['onReload'](_0x4bf981,!0x0),this['editorState']['currentContent']=_0x5dcc23,!this['editorState']['currentFile']){this['editorState']['currentFile']=_0x4bf981;const _0x494e67=document['getElementById']('editor-filename');_0x494e67&&(_0x494e67['textContent']=_0x1bc49e),this['updateControlsVisibility']&&this['updateControlsVisibility']();}this['_reloadingInProgress']=!0x1;}catch(_0x7bd9a){this['_reloadingInProgress']=!0x1;}}),_0x2be38e&&_0x2be38e['addEventListener']('click',async()=>{this['editorState']['currentFile']&&await this['performSave']();}));}async['loadFile'](_0x17c9a5,_0x26c0a9=!0x0){if(_0x17c9a5&&this['codeEditorInstance']&&(!_0x26c0a9||!this['_reloadingInProgress']))try{const _0x3b0e56=await dt(_0x17c9a5);this['editorState']['currentFile']=_0x17c9a5,this['editorState']['originalContent']=_0x3b0e56,this['editorState']['currentContent']=_0x3b0e56,this['codeEditorInstance']['setValue'](_0x3b0e56);const _0x507133=document['getElementById']('editor-filename');_0x507133&&(_0x507133['textContent']=_0x17c9a5['name']),this['updateControlsVisibility']&&this['updateControlsVisibility'](),setTimeout(()=>{const _0x148ce2=document['getElementById']('editor-save-status');_0x148ce2&&(_0x148ce2['textContent']=window['i18n']['t']('saved'),_0x148ce2['className']='code-editor-save-status\x20saved');},0x64);}catch(_0x4d4d56){}}['updateEditorSaveStatus'](){const _0x1bab83=document['getElementById']('editor-save-status');if(!_0x1bab83||!this['codeEditorInstance'])return;if(!this['editorState']['currentFile'])return _0x1bab83['textContent']=window['i18n']['t']('unsaved'),void(_0x1bab83['className']='code-editor-save-status\x20unsaved');this['codeEditorInstance']['getValue']()!==this['editorState']['originalContent']?(_0x1bab83['textContent']=window['i18n']['t']('unsaved'),_0x1bab83['className']='code-editor-save-status\x20unsaved'):(_0x1bab83['textContent']=window['i18n']['t']('saved'),_0x1bab83['className']='code-editor-save-status\x20saved');}['updateTheme'](_0x3b2ad8){this['codeEditorInstance']&&this['codeEditorInstance']['updateTheme'](_0x3b2ad8);}async['performSave'](){try{const _0x53d36d=this['codeEditorInstance']['getValue'](),_0x4401a0=this['editorState']['currentFile']['name'];this['downloadFile'](_0x53d36d,_0x4401a0);const _0x4c0457=new Blob([_0x53d36d],{'type':'text/plain'}),_0x3065c8=new File([_0x4c0457],_0x4401a0,{'type':this['editorState']['currentFile']['type']});for(const [_0x302703,_0x1212e2]of this['fileMap']['entries']())(_0x1212e2===this['editorState']['currentFile']||_0x302703===_0x4401a0||_0x302703['endsWith']('/'+_0x4401a0))&&this['fileMap']['set'](_0x302703,_0x3065c8);this['editorState']['currentFile']=_0x3065c8,this['editorState']['originalContent']=_0x53d36d,this['editorState']['currentContent']=_0x53d36d,this['updateEditorSaveStatus']();}catch(_0x4cb487){this['showInlineMessage']('Download\x20failed:\x20'+_0x4cb487['message'],'error');}}['downloadFile'](_0x1873a8,_0x49756e){try{const _0x59ee95=new Blob([_0x1873a8],{'type':'text/plain;charset=utf-8'}),_0x1b607f=URL['createObjectURL'](_0x59ee95),_0x1c2d4d=document['createElement']('a');_0x1c2d4d['href']=_0x1b607f,_0x1c2d4d['download']=_0x49756e,_0x1c2d4d['style']['display']='none',document['body']['appendChild'](_0x1c2d4d),_0x1c2d4d['click'](),document['body']['removeChild'](_0x1c2d4d),URL['revokeObjectURL'](_0x1b607f);}catch(_0x1c432c){throw _0x1c432c;}}['showInlineMessage'](_0x9f8a25,_0x8b01e8='info'){const _0xc1181f=document['getElementById']('code-editor-panel');if(!_0xc1181f)return;const _0x26ea77=_0xc1181f['querySelector']('.editor-inline-message');_0x26ea77&&_0x26ea77['remove']();const _0x5ba137={'success':'#4ade80','error':'#ff6b6b','warning':'#fbbf24','info':'#4a9eff'},_0x167494=document['createElement']('div');_0x167494['className']='editor-inline-message',_0x167494['textContent']=_0x9f8a25,_0x167494['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'+(_0x5ba137[_0x8b01e8]||_0x5ba137['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',_0xc1181f['appendChild'](_0x167494),setTimeout(()=>{_0x167494['style']['animation']='messageSlideOut\x200.3s\x20ease',setTimeout(()=>_0x167494['remove'](),0x12c);},0xbb8);}['clearEditor'](){if(!this['codeEditorInstance'])return;this['codeEditorInstance']['setValue'](''),this['editorState']['currentFile']=null,this['editorState']['originalContent']='',this['editorState']['currentContent']='';const _0x3dec88=document['getElementById']('editor-filename');_0x3dec88&&(_0x3dec88['textContent']=window['i18n']['t']('newFile')),this['updateControlsVisibility']&&this['updateControlsVisibility'](),this['updateEditorSaveStatus']();}['getEditor'](){return this['codeEditorInstance'];}['getValue'](){return this['codeEditorInstance']?this['codeEditorInstance']['getValue']():'';}['setValue'](_0x22ff25){this['codeEditorInstance']&&(this['codeEditorInstance']['setValue'](_0x22ff25||''),this['editorState']['currentContent']=_0x22ff25||'');}['scrollToLink'](_0x428392){if(!this['codeEditorInstance']||!_0x428392)return!0x1;const _0x12cd83=document['getElementById']('code-editor-panel'),_0x5890f8=document['getElementById']('open-editor-btn');_0x12cd83&&!_0x12cd83['classList']['contains']('visible')&&(_0x12cd83['classList']['add']('visible'),_0x5890f8&&_0x5890f8['classList']['add']('active'));const _0x47b3e8='<link\x20name=\x22'+_0x428392+'\x22',_0x457d4a='<body\x20name=\x22'+_0x428392+'\x22';let _0xd7ac84=this['codeEditorInstance']['searchAndScroll'](_0x47b3e8,!0x0);return _0xd7ac84||(_0xd7ac84=this['codeEditorInstance']['searchAndScroll'](_0x457d4a,!0x0)),_0xd7ac84;}['scrollToJoint'](_0x430393){if(!this['codeEditorInstance']||!_0x430393)return!0x1;const _0x4b4f3a=document['getElementById']('code-editor-panel'),_0x3792ca=document['getElementById']('open-editor-btn');_0x4b4f3a&&!_0x4b4f3a['classList']['contains']('visible')&&(_0x4b4f3a['classList']['add']('visible'),_0x3792ca&&_0x3792ca['classList']['add']('active'));const _0x49c110='<joint\x20name=\x22'+_0x430393+'\x22';return this['codeEditorInstance']['searchAndScroll'](_0x49c110,!0x0);}['updateUrdfOriginRpy'](_0x369012,_0x1a59f5){var _0x30ea9a;if(!this['codeEditorInstance'])return!0x1;const _0x1feff4=this['codeEditorInstance']['getValue']();if(!_0x1feff4)return!0x1;try{const _0x1f0520=new DOMParser()['parseFromString'](_0x1feff4,'text/xml');if(_0x1f0520['querySelector']('parsererror'))return!0x1;const _0x56c3ca=_0x1f0520['querySelector']('joint[name=\x22'+_0x369012+'\x22]');if(!_0x56c3ca)return!0x1;let _0x5bc41f=_0x56c3ca['querySelector']('origin');_0x5bc41f||(_0x5bc41f=_0x1f0520['createElement']('origin'),_0x56c3ca['insertBefore'](_0x5bc41f,_0x56c3ca['firstChild']));const _0x1e0f20=_0x1a59f5['map'](_0x5a25b5=>parseFloat(_0x5a25b5['toFixed'](0x4)))['join']('\x20');_0x5bc41f['setAttribute']('rpy',_0x1e0f20);const _0x157e13=new XMLSerializer()['serializeToString'](_0x1f0520);this['codeEditorInstance']['setValue'](_0x157e13),this['editorState']['currentContent']=_0x157e13;const _0x195438=document['getElementById']('editor-save-status');return _0x195438&&(_0x195438['textContent']=(null==(_0x30ea9a=window['i18n'])?void 0x0:_0x30ea9a['t']('unsaved'))||'未保存',_0x195438['className']='status-unsaved'),!0x0;}catch(_0x5cb55b){return!0x1;}}['getJointOriginRpy'](_0x5197a7){if(!this['codeEditorInstance'])return null;const _0xc95379=this['codeEditorInstance']['getValue']();if(!_0xc95379)return null;try{const _0x3cf04a=new DOMParser()['parseFromString'](_0xc95379,'text/xml');if(_0x3cf04a['querySelector']('parsererror'))return null;const _0x4a1ede=_0x3cf04a['querySelector']('joint[name=\x22'+_0x5197a7+'\x22]');if(!_0x4a1ede)return null;const _0x2b7277=_0x4a1ede['querySelector']('origin');if(!_0x2b7277)return[0x0,0x0,0x0];const _0x2ca206=_0x2b7277['getAttribute']('rpy');return _0x2ca206?_0x2ca206['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x0,0x0];}catch(_0x2c015c){return null;}}}class Ji{constructor(_0x2808c9){this['sceneManager']=_0x2808c9,this['selectedObjects']=[];}['handleSelection'](_0xa1cfee,_0x4e8bec,_0x3311f6){const _0x1e3ff5=this['selectedObjects']['findIndex'](_0x913835=>_0x913835['name']===_0xa1cfee['name']&&_0x913835['type']===_0x3311f6);if(_0x1e3ff5>=0x0)this['selectedObjects']['splice'](_0x1e3ff5,0x1),_0x1a28d0(_0x4e8bec)['classed']('measurement-selected',!0x1);else{if(this['selectedObjects']['length']>=0x2){const _0x4d3f45=this['selectedObjects']['shift'](),_0x3b7597=_0x1a28d0('#model-graph-svg');'joint'===_0x4d3f45['type']?_0x3b7597['selectAll']('.graph-joint-group')['filter'](_0xcbb942=>{var _0x148a33,_0x152c83;return(null==(_0x152c83=null==(_0x148a33=_0xcbb942['target'])?void 0x0:_0x148a33['data'])?void 0x0:_0x152c83['jointName'])===_0x4d3f45['name'];})['classed']('measurement-selected',!0x1):'link'===_0x4d3f45['type']&&_0x3b7597['selectAll']('.graph-node')['filter'](_0x3a425a=>{var _0x284810,_0x204fb6;return(null==(_0x204fb6=null==(_0x284810=_0x3a425a['data'])?void 0x0:_0x284810['data'])?void 0x0:_0x204fb6['name'])===_0x4d3f45['name'];})['classed']('measurement-selected',!0x1);}this['selectedObjects']['push']({..._0xa1cfee,'type':_0x3311f6}),_0x1a28d0(_0x4e8bec)['classed']('measurement-selected',!0x0);}0x2===this['selectedObjects']['length']?this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]):this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['showMeasurement'](_0x1ecae9,_0x5009bc){if(!this['sceneManager'])return;const _0x12d11f=_0x4e098a=>{var _0x39df72;const _0x16de80=new _0x5a7be3();return'joint'===_0x4e098a['type']&&_0x4e098a['threeObject']?_0x4e098a['threeObject']['getWorldPosition'](_0x16de80):'link'===_0x4e098a['type']&&('ground'===_0x4e098a['name']?_0x16de80['set'](0x0,(null==(_0x39df72=this['sceneManager']['groundPlane'])?void 0x0:_0x39df72['position']['y'])||0x0,0x0):_0x4e098a['threeObject']&&_0x4e098a['threeObject']['getWorldPosition'](_0x16de80)),_0x16de80;},_0x58ebc3=_0x12d11f(_0x1ecae9),_0x4db5ec=_0x12d11f(_0x5009bc),_0x47d7bb='ground'===_0x1ecae9['name']||'ground'===_0x5009bc['name'],_0x4b53d6={'x':_0x4db5ec['x']-_0x58ebc3['x'],'y':_0x4db5ec['y']-_0x58ebc3['y'],'z':_0x4db5ec['z']-_0x58ebc3['z']},_0x45557c=_0x58ebc3['distanceTo'](_0x4db5ec),_0x3a05dc='ground'===_0x1ecae9['name']?'Ground':_0x1ecae9['name'],_0x7218eb='ground'===_0x5009bc['name']?'Ground':_0x5009bc['name'];this['sceneManager']['measurementManager']['showMeasurement'](_0x58ebc3,_0x4db5ec,_0x4b53d6,_0x45557c,_0x3a05dc,_0x7218eb,_0x47d7bb);}['updateMeasurement'](){0x2===this['selectedObjects']['length']&&this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]);}['clearMeasurement'](){this['selectedObjects']=[];const _0x54f33c=_0x1a28d0('#model-graph-svg');_0x54f33c['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x54f33c['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['getSelectedObjects'](){return this['selectedObjects'];}}class Hi{constructor(_0x2a2352){this['container']=_0x2a2352,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((_0x53086c,_0x382636)=>{const _0x36a9c6=setTimeout(()=>{_0x382636(new Error('USD\x20viewer\x20initialization\x20timeout'));},0x7530);this['messageHandlers']['set']('IFRAME_READY',_0x595e0e=>{var _0x1bf1ce;'IFRAME_READY'===(null==(_0x1bf1ce=_0x595e0e['data'])?void 0x0:_0x1bf1ce['type'])&&(clearTimeout(_0x36a9c6),this['messageHandlers']['delete']('IFRAME_READY'),this['isReady']=!0x0,_0x53086c());}),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'](_0x18c59e){const _0x3d3efa=_0x18c59e['data'];if(!_0x3d3efa||'object'!=typeof _0x3d3efa)return;if(!['IFRAME_READY','USD_LOADED','USD_LOADING_START','USD_ERROR']['includes'](_0x3d3efa['type']))return;const _0x1ba0fd=this['messageHandlers']['get'](_0x3d3efa['type']);_0x1ba0fd&&('function'==typeof _0x1ba0fd?_0x1ba0fd(_0x18c59e):Array['isArray'](_0x1ba0fd)&&_0x1ba0fd['forEach'](_0x5f994e=>_0x5f994e(_0x18c59e)));}['on'](_0x344ad5,_0x3eea7e){const _0x10c4dc=this['messageHandlers']['get'](_0x344ad5);_0x10c4dc?'function'==typeof _0x10c4dc?this['messageHandlers']['set'](_0x344ad5,[_0x10c4dc,_0x3eea7e]):_0x10c4dc['push'](_0x3eea7e):this['messageHandlers']['set'](_0x344ad5,_0x3eea7e);}['postMessage'](_0x19d0ae,_0x8fb8cf={}){if(this['iframe'])try{this['iframe']['contentWindow']['postMessage']({'type':_0x19d0ae,..._0x8fb8cf},'*');}catch(_0x595b44){}}async['loadFromFile'](_0x55d9be){await this['initialize']();const _0x287d98=await _0x55d9be['arrayBuffer'](),_0x4f888c=[{'path':_0x55d9be['name'],'buffer':_0x287d98}];return new Promise((_0x1c3640,_0x367cf8)=>{const _0x482b1c=setTimeout(()=>_0x367cf8(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x482b1c),this['messageHandlers']['delete']('USD_LOADED'),_0x1c3640();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x4f888c,'primaryPath':_0x55d9be['name']});});}async['loadFromFilesMap'](_0x452038,_0x4b2efd){await this['initialize']();const _0x4d2b36=[];for(const [_0x1d28a0,_0x24f58a]of Object['entries'](_0x452038))try{const _0x2e1b2c=await _0x24f58a['arrayBuffer']();_0x4d2b36['push']({'path':_0x1d28a0,'buffer':_0x2e1b2c});}catch(_0x30c61a){}return new Promise((_0x16adda,_0x2dd11a)=>{const _0x49b1be=setTimeout(()=>_0x2dd11a(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x49b1be),this['messageHandlers']['delete']('USD_LOADED'),_0x16adda();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x4d2b36,'primaryPath':_0x4b2efd});});}['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 _0x3cd8f5;window['removeEventListener']('message',this['handleMessage']),(null==(_0x3cd8f5=this['iframe'])?void 0x0:_0x3cd8f5['parentNode'])&&this['iframe']['parentNode']['removeChild'](this['iframe']),this['iframe']=null,this['isReady']=!0x1,this['messageHandlers']['clear']();}}class Gi{constructor(_0x1d9d4e,_0x34d93,_0x39ae03,_0x3681b4,_0x7b8299){this['scene']=_0x1d9d4e,this['renderer']=_0x34d93,this['camera']=_0x39ae03,this['mousePos']=new _0x29f781(),this['raycaster']=new _0x21d002(),this['raycaster']['params']['Line']['threshold']=0.1,this['grabDistance']=0x0,this['active']=!0x1,this['physicsObject']=null,this['controls']=_0x7b8299,this['arrow']=new _0x1189aa(new _0x5a7be3(0x0,0x1,0x0),new _0x5a7be3(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 _0x5a7be3(),this['worldHit']=new _0x5a7be3(),this['currentWorld']=new _0x5a7be3(),this['enabled']=!0x1,this['container']=_0x3681b4,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'](_0x4e9d70,_0x149860){const _0x24788c=this['renderer']['domElement']['getBoundingClientRect']();this['mousePos']['x']=(_0x4e9d70-_0x24788c['left'])/_0x24788c['width']*0x2-0x1,this['mousePos']['y']=-(_0x149860-_0x24788c['top'])/_0x24788c['height']*0x2+0x1,this['raycaster']['setFromCamera'](this['mousePos'],this['camera']);}['start'](_0x2cc3a5,_0x2799ff){this['physicsObject']=null,this['updateRaycaster'](_0x2cc3a5,_0x2799ff);const _0x416862=this['raycaster']['intersectObjects'](this['scene']['children'],!0x0);for(let _0x1af8ad=0x0;_0x1af8ad<_0x416862['length'];_0x1af8ad++){const _0x54efc8=_0x416862[_0x1af8ad]['object'];if(void 0x0!==_0x54efc8['bodyID']&&_0x54efc8['bodyID']>0x0){this['physicsObject']=_0x54efc8,this['grabDistance']=_0x416862[_0x1af8ad]['distance'];const _0x2c0a6d=this['raycaster']['ray']['origin']['clone']();_0x2c0a6d['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['arrow']['position']['copy'](_0x2c0a6d),this['active']=!0x0,this['controls']['enabled']=!0x1,this['localHit']=_0x54efc8['worldToLocal'](_0x2c0a6d['clone']()),this['worldHit']['copy'](_0x2c0a6d),this['currentWorld']['copy'](_0x2c0a6d),this['arrow']['visible']=!0x0,this['highlightBody'](_0x54efc8);break;}}}['move'](_0x2a724a,_0x42abd3){if(this['active']){this['updateRaycaster'](_0x2a724a,_0x42abd3);const _0x285d78=this['raycaster']['ray']['origin']['clone']();_0x285d78['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['currentWorld']['copy'](_0x285d78),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'](_0x4f485b){let _0x1214d0=_0x4f485b;for(;_0x1214d0&&!_0x1214d0['isGroup'];)_0x1214d0=_0x1214d0['parent'];_0x1214d0&&_0x1214d0['traverse'](_0x5206b3=>{_0x5206b3['isMesh']&&_0x5206b3['material']&&_0x5206b3['material']['emissive']&&(this['originalEmissive']['has'](_0x5206b3['uuid'])||this['originalEmissive']['set'](_0x5206b3['uuid'],{'color':_0x5206b3['material']['emissive']['clone'](),'intensity':_0x5206b3['material']['emissiveIntensity']||0x0}),_0x5206b3['material']['emissive']['setHex'](this['highlightColor']),_0x5206b3['material']['emissiveIntensity']=0.5);});}['unhighlightBody'](_0x2b22f6){let _0x4bc80d=_0x2b22f6;for(;_0x4bc80d&&!_0x4bc80d['isGroup'];)_0x4bc80d=_0x4bc80d['parent'];_0x4bc80d&&_0x4bc80d['traverse'](_0x53957f=>{if(_0x53957f['isMesh']&&_0x53957f['material']&&this['originalEmissive']['has'](_0x53957f['uuid'])){const _0x48f0ef=this['originalEmissive']['get'](_0x53957f['uuid']);_0x53957f['material']['emissive']&&(_0x53957f['material']['emissive']['copy'](_0x48f0ef['color']),_0x53957f['material']['emissiveIntensity']=_0x48f0ef['intensity']),this['originalEmissive']['delete'](_0x53957f['uuid']);}});}['onPointer'](_0x3e7c5a){this['enabled']&&('pointerdown'===_0x3e7c5a['type']?(this['start'](_0x3e7c5a['clientX'],_0x3e7c5a['clientY']),this['mouseDown']=!0x0):'pointermove'===_0x3e7c5a['type']&&this['mouseDown']?this['active']&&this['move'](_0x3e7c5a['clientX'],_0x3e7c5a['clientY']):'pointerup'===_0x3e7c5a['type']&&this['end'](_0x3e7c5a));}}class Wi{constructor(_0x20d48f){this['sceneManager']=_0x20d48f,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 _0x5a7be3(),this['tmpQuat']=new _0x4adb8f(),this['isLoaded']=!0x1,this['isSimulating']=!0x1,this['isOldAPI']=!0x1;}async['init'](){if(this['mujoco'])return this['mujoco'];try{const _0x36a35f=(await Ae(()=>import('./mujoco_wasm-345a2576.js'),["./mujoco_wasm-345a2576.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js"],import.meta.url))['default'];return this['mujoco']=await _0x36a35f(),this['mujoco']['FS']['mkdir']('/working'),this['mujoco']['FS']['mount'](this['mujoco']['MEMFS'],{'root':'.'},'/working'),this['mujoco'];}catch(_0x54a578){throw _0x54a578;}}async['loadScene'](_0x1dec7b,_0x31ef49,_0x52d20e,_0x21962a){try{this['mujoco']||await this['init'](),this['clearScene'](),this['originalModel']=_0x21962a;const _0x945361=this['addGroundPlane'](_0x1dec7b),_0x5db128='/working/'+_0x31ef49;this['mujoco']['FS']['writeFile'](_0x5db128,_0x945361),_0x52d20e&&_0x52d20e['size']>0x0&&await this['writeAssetsToVFS'](_0x1dec7b,_0x31ef49,_0x52d20e);try{if(this['mujoco']['Model']&&'function'==typeof this['mujoco']['Model']['load_from_xml'])this['model']=this['mujoco']['Model']['load_from_xml'](_0x5db128),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'](_0x5db128),this['data']=new this['mujoco']['MjData'](this['model']),this['isOldAPI']=!0x0;}}catch(_0x1032d9){let _0x5a115b='MuJoCo\x20model\x20loading\x20failed:\x20';throw _0x1032d9['message']?_0x5a115b+=_0x1032d9['message']:_0x5a115b+='Unknown\x20error',_0x1032d9['message']&&(_0x1032d9['message']['includes']('mesh')||_0x1032d9['message']['includes']('mjCMesh'))&&(_0x5a115b+='\x0a\x0aThis\x20is\x20usually\x20caused\x20by\x20one\x20of\x20the\x20following:',_0x5a115b+='\x0a1.\x20Mesh\x20file\x20path\x20is\x20incorrect\x20or\x20file\x20is\x20missing',_0x5a115b+='\x0a2.\x20Mesh\x20file\x20format\x20is\x20not\x20supported\x20or\x20corrupted',_0x5a115b+='\x0a3.\x20Mesh\x20file\x20was\x20not\x20properly\x20written\x20to\x20virtual\x20file\x20system'),new Error(_0x5a115b);}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 _0x220e97=this['sceneManager']['renderer']['domElement'];this['dragStateManager']=new Gi(this['sceneManager']['scene'],this['sceneManager']['renderer'],this['sceneManager']['camera'],_0x220e97,this['sceneManager']['controls']);}return null;}catch(_0x14be69){throw _0x14be69;}}['addGroundPlane'](_0x14fd2a){const _0x38bb7e=new DOMParser()['parseFromString'](_0x14fd2a,'application/xml'),_0x1d0954=_0x38bb7e['querySelector']('worldbody');if(!_0x1d0954)return _0x14fd2a;if(_0x1d0954['querySelector']('geom[type=\x22plane\x22]'))return _0x14fd2a;const _0x591e74=this['sceneManager']['groundPlane']?this['sceneManager']['groundPlane']['position']['y']:0x0,_0x3bb641=_0x38bb7e['createElement']('geom');_0x3bb641['setAttribute']('name','ground'),_0x3bb641['setAttribute']('type','plane'),_0x3bb641['setAttribute']('size','10\x2010\x200.1'),_0x3bb641['setAttribute']('rgba','0.9\x200.9\x200.9\x201'),_0x3bb641['setAttribute']('pos','0\x200\x20'+_0x591e74),_0x3bb641['setAttribute']('contype','1'),_0x3bb641['setAttribute']('conaffinity','1'),_0x3bb641['setAttribute']('condim','3'),_0x3bb641['setAttribute']('friction','1\x200.005\x200.0001'),_0x1d0954['firstChild']?_0x1d0954['insertBefore'](_0x3bb641,_0x1d0954['firstChild']):_0x1d0954['appendChild'](_0x3bb641);return new XMLSerializer()['serializeToString'](_0x38bb7e);}async['writeAssetsToVFS'](_0x4f08e2,_0x3f489b,_0x270508){const _0x145a57=new DOMParser()['parseFromString'](_0x4f08e2,'application/xml'),_0x2b1ca6=_0x145a57['querySelector']('compiler'),_0x1bfe54=(null==_0x2b1ca6?void 0x0:_0x2b1ca6['getAttribute']('meshdir'))||'assets',_0x55a2e7=(null==_0x2b1ca6?void 0x0:_0x2b1ca6['getAttribute']('texturedir'))||_0x1bfe54,_0x5674cf=new Set(),_0x10d66b=new Map();_0x145a57['querySelectorAll']('mesh[file]')['forEach'](_0x33d236=>{const _0x382665=_0x33d236['getAttribute']('file');if(_0x382665){const _0x19213c=this['resolvePath'](_0x3f489b,_0x1bfe54,_0x382665);_0x5674cf['add'](_0x19213c),_0x10d66b['set'](_0x19213c,{'original':_0x382665,'element':_0x33d236});}}),_0x145a57['querySelectorAll']('texture[file]')['forEach'](_0x451772=>{const _0x21a7c5=_0x451772['getAttribute']('file');_0x21a7c5&&_0x5674cf['add'](this['resolvePath'](_0x3f489b,_0x55a2e7,_0x21a7c5));});let _0x2ab5d2=0x0;const _0x2a30c6=[],_0x5d7526=[];for(const _0x5e6927 of _0x5674cf){const _0x571d31=new Set();for(const _0x4f5d39 of _0x270508['keys']())if(_0x4f5d39['startsWith']('/')){const _0x397247=_0x4f5d39['split']('/');_0x397247['length']>0x1&&_0x571d31['add'](_0x397247[0x1]);}const _0x30500e=[_0x5e6927,'/'+_0x5e6927,'mjcf/'+_0x5e6927,'/mjcf/'+_0x5e6927,_0x5e6927['split']('/')['pop']()];for(const _0x30ac20 of _0x571d31)_0x30500e['push']('/'+_0x30ac20+'/mjcf/'+_0x5e6927),_0x30500e['push'](_0x30ac20+'/mjcf/'+_0x5e6927);let _0x382cc5=null;for(const _0x38306d of _0x30500e)if(_0x382cc5=_0x270508['get'](_0x38306d),_0x382cc5)break;if(!_0x382cc5){const _0x27a782=_0x5e6927['toLowerCase'](),_0x45ac04=_0x5e6927['split']('/')['pop']()['toLowerCase']();for(const [_0x31c1c3,_0x3020d6]of _0x270508['entries']()){const _0x3f7c84=_0x31c1c3['toLowerCase'](),_0x2ec26d=_0x31c1c3['split']('/')['pop']()['toLowerCase']();if(_0x3f7c84===_0x27a782||_0x3f7c84['endsWith']('/'+_0x27a782)||_0x2ec26d===_0x45ac04||_0x3f7c84['includes'](_0x27a782)){_0x382cc5=_0x3020d6;break;}}}if(_0x382cc5)try{const _0x526a7a='/working/'+_0x5e6927;this['ensureDir'](_0x526a7a);const _0x15fcfa=_0x5e6927['toLowerCase']()['split']('.')['pop']();if(['obj','stl','png','jpg','jpeg','bmp']['includes'](_0x15fcfa)){const _0x4c7df8=await _0x382cc5['arrayBuffer']();this['mujoco']['FS']['writeFile'](_0x526a7a,new Uint8Array(_0x4c7df8));}else{const _0x129a6e=await _0x382cc5['text']();this['mujoco']['FS']['writeFile'](_0x526a7a,_0x129a6e);}try{if(!this['mujoco']['FS']['stat'](_0x526a7a))throw new Error('File\x20write\x20verification\x20failed');}catch(_0x91ab19){throw new Error('File\x20write\x20verification\x20failed');}_0x2ab5d2++;}catch(_0x2d8dc8){const _0x2cca97=_0x10d66b['get'](_0x5e6927),_0x3a13a7=_0x2cca97?_0x2cca97['original']:_0x5e6927;_0x5d7526['push']({'path':_0x3a13a7,'error':_0x2d8dc8['message']});}else{const _0x3b209b=_0x10d66b['get'](_0x5e6927),_0x43169a=_0x3b209b?_0x3b209b['original']:_0x5e6927;_0x2a30c6['push'](_0x43169a);}}if(_0x2a30c6['length']>0x0||_0x5d7526['length']>0x0){let _0x19ed5d='MuJoCo\x20asset\x20files\x20loading\x20failed:\x0a';throw _0x2a30c6['length']>0x0&&(_0x19ed5d+='\x0aMissing\x20files\x20('+_0x2a30c6['length']+'):\x0a',_0x2a30c6['slice'](0x0,0xa)['forEach'](_0x439d9c=>{_0x19ed5d+='\x20\x20-\x20'+_0x439d9c+'\x0a';}),_0x2a30c6['length']>0xa&&(_0x19ed5d+='\x20\x20...\x20'+(_0x2a30c6['length']-0xa)+'\x20more\x20files\x20missing\x0a')),_0x5d7526['length']>0x0&&(_0x19ed5d+='\x0aFailed\x20to\x20write\x20files\x20('+_0x5d7526['length']+'):\x0a',_0x5d7526['slice'](0x0,0xa)['forEach'](({path:_0x1744c5,error:_0x2c43a6})=>{_0x19ed5d+='\x20\x20-\x20'+_0x1744c5+':\x20'+_0x2c43a6+'\x0a';}),_0x5d7526['length']>0xa&&(_0x19ed5d+='\x20\x20...\x20'+(_0x5d7526['length']-0xa)+'\x20more\x20files\x20failed\x0a')),_0x19ed5d+='\x0aSuccessfully\x20loaded:\x20'+_0x2ab5d2+'\x20files',_0x19ed5d+='\x0a\x0aPlease\x20ensure\x20all\x20mesh\x20files\x20are\x20included\x20in\x20the\x20file\x20list.',new Error(_0x19ed5d);}}['resolvePath'](_0xc7488d,_0x378bb4,_0x9b68f9){const _0x513c5e=_0xc7488d['includes']('/')?_0xc7488d['substring'](0x0,_0xc7488d['lastIndexOf']('/')):'';if(_0x9b68f9['startsWith']('/'))return _0x9b68f9['substring'](0x1);const _0x2e061b=[];return _0x513c5e&&_0x2e061b['push'](_0x513c5e),_0x378bb4&&'.'!==_0x378bb4&&_0x2e061b['push'](_0x378bb4),_0x2e061b['push'](_0x9b68f9),_0x2e061b['join']('/');}['ensureDir'](_0x30c4a4){const _0x3d3748=_0x30c4a4['split']('/');let _0x5367b8='';for(let _0x193e57=0x0;_0x193e57<_0x3d3748['length']-0x1;_0x193e57++)_0x5367b8+=(0x0===_0x193e57?'':'/')+_0x3d3748[_0x193e57],_0x5367b8&&!this['mujoco']['FS']['analyzePath'](_0x5367b8)['exists']&&this['mujoco']['FS']['mkdir'](_0x5367b8);}async['createThreeScene'](){const _0x384f06=this['model'];this['mujocoRoot']=new _0x2474d6(),this['mujocoRoot']['name']='MuJoCo\x20Physics\x20Root',this['mujocoRoot']['userData']['isMuJoCo']=!0x0,this['mujocoRoot']['visible']=!0x1,this['bodies']={};const _0x4b3e00={},_0x1f4b6e=new TextDecoder('utf-8'),_0x2bac80=new Uint8Array(_0x384f06['names']),_0x174691=new Map(),_0x28e563=new Map();if(this['originalModel'])for(const [_0x2bb2d0,_0x277012]of this['originalModel']['links']){const _0x29f13d=[],_0x2ca093=[];if(_0x277012['visuals']&&_0x277012['visuals']['length']>0x0)for(const _0x4923cd of _0x277012['visuals'])_0x4923cd['threeObject']&&_0x4923cd['threeObject']['traverse'](_0x3615f4=>{if(_0x3615f4['isMesh']&&_0x3615f4['material']){let _0x1fe83c;_0x1fe83c=Array['isArray'](_0x3615f4['material'])?_0x3615f4['material']['map'](_0x435fc0=>_0x435fc0?_0x435fc0['clone']():null):_0x3615f4['material']['clone']?_0x3615f4['material']['clone']():new _0xa87e13({'color':_0x3615f4['material']['color']||0x808080,'transparent':_0x3615f4['material']['transparent']||!0x1,'opacity':void 0x0!==_0x3615f4['material']['opacity']?_0x3615f4['material']['opacity']:0x1}),_0x29f13d['push'](_0x1fe83c),_0x2ca093['push']({'material':_0x1fe83c,'geometry':_0x4923cd['geometry']});}});else _0x277012['threeObject']&&_0x277012['threeObject']['traverse'](_0x45e894=>{if(_0x45e894['isMesh']&&_0x45e894['material']){let _0x3e0c24;_0x3e0c24=Array['isArray'](_0x45e894['material'])?_0x45e894['material']['map'](_0x453fb7=>_0x453fb7?_0x453fb7['clone']():null):_0x45e894['material']['clone']?_0x45e894['material']['clone']():new _0xa87e13({'color':_0x45e894['material']['color']||0x808080,'transparent':_0x45e894['material']['transparent']||!0x1,'opacity':void 0x0!==_0x45e894['material']['opacity']?_0x45e894['material']['opacity']:0x1}),_0x29f13d['push'](_0x3e0c24);}});_0x29f13d['length']>0x0&&(_0x174691['set'](_0x2bb2d0,_0x29f13d),_0x28e563['set'](_0x2bb2d0,_0x2ca093));}const _0x392b7a=this['sceneManager']['visualizationManager']['showCollision'];for(let _0x3ca28f=0x0;_0x3ca28f<_0x384f06['ngeom'];_0x3ca28f++){const _0x2637b4=_0x384f06['geom_group'][_0x3ca28f];if(_0x2637b4>=0x4)continue;const _0x2b6c64=_0x384f06['geom_bodyid'][_0x3ca28f],_0x5041fb=_0x384f06['geom_type'][_0x3ca28f],_0x28c0bc=[_0x384f06['geom_size'][0x3*_0x3ca28f+0x0],_0x384f06['geom_size'][0x3*_0x3ca28f+0x1],_0x384f06['geom_size'][0x3*_0x3ca28f+0x2]];if(!this['bodies'][_0x2b6c64]){this['bodies'][_0x2b6c64]=new _0x2474d6();const _0x34094c=_0x384f06['name_bodyadr'][_0x2b6c64];let _0x15ab54=_0x34094c;for(;_0x15ab54<_0x2bac80['length']&&0x0!==_0x2bac80[_0x15ab54];)_0x15ab54++;const _0xced3bf=_0x2bac80['subarray'](_0x34094c,_0x15ab54);this['bodies'][_0x2b6c64]['name']=_0x1f4b6e['decode'](_0xced3bf),this['bodies'][_0x2b6c64]['bodyID']=_0x2b6c64;}let _0x25cab7=new _0x401a16(_0x28c0bc[0x0]);if(_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_SPHERE']['value'])_0x25cab7=new _0x401a16(_0x28c0bc[0x0],0x20,0x20);else if(_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_CAPSULE']['value'])_0x25cab7=new _0x146bda(_0x28c0bc[0x0],0x2*_0x28c0bc[0x1],0x14,0x14);else if(_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_CYLINDER']['value'])_0x25cab7=new _0x201dad(_0x28c0bc[0x0],_0x28c0bc[0x0],0x2*_0x28c0bc[0x1],0x20);else if(_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_BOX']['value'])_0x25cab7=new _0x1b40f5(0x2*_0x28c0bc[0x0],0x2*_0x28c0bc[0x2],0x2*_0x28c0bc[0x1]);else if(_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value'])_0x25cab7=new _0x401a16(0x1,0x20,0x20);else if(_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']){const _0x3d77e9=_0x384f06['geom_dataid'][_0x3ca28f];_0x3d77e9 in _0x4b3e00?_0x25cab7=_0x4b3e00[_0x3d77e9]:(_0x25cab7=this['createMeshGeometry'](_0x3d77e9),_0x4b3e00[_0x3d77e9]=_0x25cab7);}const _0x5c1c8a=this['bodies'][_0x2b6c64]['name'],_0x373cd7=this['bodies'][_0x2b6c64]['children']['length'];let _0x3467ae,_0x414feb=!0x1,_0x48e838=null;if(_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']&&_0x28e563['has'](_0x5c1c8a)){const _0x4bd4de=_0x384f06['geom_dataid'][_0x3ca28f],_0x318517=_0x384f06['name_meshadr'][_0x4bd4de];let _0x430a33=_0x318517;for(;_0x430a33<_0x2bac80['length']&&0x0!==_0x2bac80[_0x430a33];)_0x430a33++;const _0x1a864c=_0x2bac80['subarray'](_0x318517,_0x430a33),_0x10b1e2=_0x1f4b6e['decode'](_0x1a864c),_0x50e617=_0x28e563['get'](_0x5c1c8a);for(const _0x13ebfe of _0x50e617)if(_0x13ebfe['geometry']&&_0x13ebfe['geometry']['filename']){const _0x209427=_0x13ebfe['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop'](),_0x1565b5=_0x209427['replace'](/\.[^/.]+$/,''),_0x3be0c1=_0x10b1e2+'.STL',_0x5d7c9a=_0x3be0c1['replace'](/\.[^/.]+$/,'');if(_0x209427===_0x10b1e2||_0x209427['toLowerCase']()===_0x10b1e2['toLowerCase']()||_0x1565b5===_0x10b1e2||_0x1565b5['toLowerCase']()===_0x10b1e2['toLowerCase']()||_0x209427===_0x3be0c1||_0x209427['toLowerCase']()===_0x3be0c1['toLowerCase']()||_0x1565b5===_0x5d7c9a||_0x1565b5['toLowerCase']()===_0x5d7c9a['toLowerCase']()){if(Array['isArray'](_0x13ebfe['material'])){const _0x1e235b=_0x13ebfe['material'][0x0];_0x1e235b&&_0x1e235b['clone']?_0x3467ae=_0x1e235b['clone']():_0x1e235b&&(_0x3467ae=new _0xa87e13({'color':_0x1e235b['color']||0x808080,'transparent':_0x1e235b['transparent']||!0x1,'opacity':void 0x0!==_0x1e235b['opacity']?_0x1e235b['opacity']:0x1}));}else _0x13ebfe['material']&&_0x13ebfe['material']['clone']?_0x3467ae=_0x13ebfe['material']['clone']():_0x13ebfe['material']&&(_0x3467ae=new _0xa87e13({'color':_0x13ebfe['material']['color']||0x808080,'transparent':_0x13ebfe['material']['transparent']||!0x1,'opacity':void 0x0!==_0x13ebfe['material']['opacity']?_0x13ebfe['material']['opacity']:0x1}));if(_0x3467ae&&(_0x3467ae['isMeshPhongMaterial']||_0x3467ae['isMeshStandardMaterial'])){if(void 0x0===_0x3467ae['userData']['originalShininess'])if(_0x3467ae['userData']['originalShininess']=void 0x0!==_0x3467ae['shininess']?_0x3467ae['shininess']:0x1e,_0x3467ae['specular'])if(_0x3467ae['specular']['isColor']){const _0x3e7115=_0x3467ae['specular'];_0x3e7115['r']<0.1&&_0x3e7115['g']<0.1&&_0x3e7115['b']<0.1?_0x3467ae['userData']['originalSpecular']=null:_0x3467ae['userData']['originalSpecular']=_0x3e7115['clone']();}else _0x3467ae['userData']['originalSpecular']=null;else _0x3467ae['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x3467ae['shininess']&&_0x3467ae['shininess']<0x32&&(_0x3467ae['shininess']=0x32),(!_0x3467ae['specular']||_0x3467ae['specular']['r']<0.2)&&(_0x3467ae['specular']=new _0x43a4f1(0.3,0.3,0.3));else if(void 0x0!==_0x3467ae['userData']['originalShininess']&&(_0x3467ae['shininess']=_0x3467ae['userData']['originalShininess']),null===_0x3467ae['userData']['originalSpecular'])_0x3467ae['specular']=new _0x43a4f1(0x111111);else if(_0x3467ae['userData']['originalSpecular']){const _0x7cfcbd=_0x3467ae['userData']['originalSpecular'];_0x7cfcbd['isColor']?_0x3467ae['specular']=_0x7cfcbd['clone']():_0x3467ae['specular']=_0x7cfcbd;}}_0x414feb=!0x0;break;}}if(_0x414feb&&this['originalModel']){const _0x51f2b1=this['originalModel']['links']['get'](_0x5c1c8a);if(_0x51f2b1&&_0x51f2b1['visuals'])for(const _0x1b4381 of _0x51f2b1['visuals'])if(_0x1b4381['geometry']&&_0x1b4381['geometry']['filename']){const _0x51c04a=_0x1b4381['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop']();if(_0x51c04a['replace'](/\.[^/.]+$/,'')['toLowerCase']()===_0x10b1e2['toLowerCase']()||_0x51c04a['toLowerCase']()===(_0x10b1e2+'.STL')['toLowerCase']()){_0x1b4381['userData']&&_0x1b4381['userData']['rgba']&&(_0x48e838=_0x1b4381['userData']['rgba'],_0x3467ae&&_0x3467ae['color']&&(_0x3467ae['color']['setRGB'](_0x48e838['r'],_0x48e838['g'],_0x48e838['b']),_0x48e838['a']<0x1&&(_0x3467ae['transparent']=!0x0,_0x3467ae['opacity']=_0x48e838['a'])));break;}}}}if(!_0x414feb&&this['originalModel']){const _0x54d860=this['originalModel']['links']['get'](_0x5c1c8a);if(_0x54d860&&_0x54d860['visuals']&&_0x54d860['visuals']['length']>0x0){const _0x53429f=Math['min'](_0x373cd7,_0x54d860['visuals']['length']-0x1),_0x46fc45=_0x54d860['visuals'][_0x53429f];_0x46fc45&&(_0x46fc45['userData']&&_0x46fc45['userData']['rgba']?_0x48e838=_0x46fc45['userData']['rgba']:_0x46fc45['threeObject']&&_0x46fc45['threeObject']['traverse'](_0x11ae98=>{if(_0x11ae98['isMesh']&&_0x11ae98['material']&&!_0x48e838){const _0x2a0810=_0x11ae98['material']['color'];_0x48e838={'r':_0x2a0810['r'],'g':_0x2a0810['g'],'b':_0x2a0810['b'],'a':void 0x0!==_0x11ae98['material']['opacity']?_0x11ae98['material']['opacity']:0x1};}}));}}if(!_0x414feb){const _0x1ed5aa=_0x174691['get'](_0x5c1c8a);if(_0x1ed5aa&&_0x1ed5aa['length']>0x0){const _0x4a578c=_0x1ed5aa[Math['min'](_0x373cd7,_0x1ed5aa['length']-0x1)];if(Array['isArray'](_0x4a578c)){const _0xca246b=_0x4a578c[0x0];_0xca246b&&_0xca246b['clone']?_0x3467ae=_0xca246b['clone']():_0xca246b&&(_0x3467ae=new _0xa87e13({'color':_0xca246b['color']||0x808080,'transparent':_0xca246b['transparent']||!0x1,'opacity':void 0x0!==_0xca246b['opacity']?_0xca246b['opacity']:0x1}));}else _0x4a578c&&_0x4a578c['clone']?_0x3467ae=_0x4a578c['clone']():_0x4a578c&&(_0x3467ae=new _0xa87e13({'color':_0x4a578c['color']||0x808080,'transparent':_0x4a578c['transparent']||!0x1,'opacity':void 0x0!==_0x4a578c['opacity']?_0x4a578c['opacity']:0x1}));if(_0x3467ae&&(_0x3467ae['isMeshPhongMaterial']||_0x3467ae['isMeshStandardMaterial'])){if(void 0x0===_0x3467ae['userData']['originalShininess'])if(_0x3467ae['userData']['originalShininess']=void 0x0!==_0x3467ae['shininess']?_0x3467ae['shininess']:0x1e,_0x3467ae['specular'])if(_0x3467ae['specular']['isColor']){const _0x1f720e=_0x3467ae['specular'];_0x1f720e['r']<0.1&&_0x1f720e['g']<0.1&&_0x1f720e['b']<0.1?_0x3467ae['userData']['originalSpecular']=null:_0x3467ae['userData']['originalSpecular']=_0x1f720e['clone']();}else _0x3467ae['userData']['originalSpecular']=null;else _0x3467ae['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x3467ae['shininess']&&_0x3467ae['shininess']<0x32&&(_0x3467ae['shininess']=0x32),(!_0x3467ae['specular']||_0x3467ae['specular']['r']<0.2)&&(_0x3467ae['specular']=new _0x43a4f1(0.3,0.3,0.3));else if(void 0x0!==_0x3467ae['userData']['originalShininess']&&(_0x3467ae['shininess']=_0x3467ae['userData']['originalShininess']),null===_0x3467ae['userData']['originalSpecular'])_0x3467ae['specular']=new _0x43a4f1(0x111111);else if(_0x3467ae['userData']['originalSpecular']){const _0xfc8fef=_0x3467ae['userData']['originalSpecular'];_0xfc8fef['isColor']?_0x3467ae['specular']=_0xfc8fef['clone']():_0x3467ae['specular']=_0xfc8fef;}}_0x414feb=!0x0;}}if(!_0x414feb){const _0x4088e7=_0x48e838?[_0x48e838['r'],_0x48e838['g'],_0x48e838['b'],_0x48e838['a']]:[_0x384f06['geom_rgba'][0x4*_0x3ca28f+0x0],_0x384f06['geom_rgba'][0x4*_0x3ca28f+0x1],_0x384f06['geom_rgba'][0x4*_0x3ca28f+0x2],_0x384f06['geom_rgba'][0x4*_0x3ca28f+0x3]],_0x5b35fb=0x3===_0x2637b4,_0x467377=this['sceneManager']['visualizationManager']['showEnhancedLighting'];_0x3467ae=new _0xa87e13({'color':_0x5b35fb?new _0x43a4f1(0x0,0x1,0x0):new _0x43a4f1(_0x4088e7[0x0],_0x4088e7[0x1],_0x4088e7[0x2]),'transparent':!!_0x5b35fb||_0x4088e7[0x3]<0x1,'opacity':_0x5b35fb?0.3:_0x4088e7[0x3],'shininess':_0x467377?0x32:0x1e,'specular':_0x467377?new _0x43a4f1(0.3,0.3,0.3):new _0x43a4f1(0x111111),'wireframe':!!_0x5b35fb}),_0x3467ae['userData']['originalShininess']=0x1e,_0x3467ae['userData']['originalSpecular']=null;}if(_0x3467ae['isMeshPhongMaterial']||_0x3467ae['isMeshStandardMaterial']){if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])_0x3467ae['shininess']<0x32&&(_0x3467ae['shininess']=0x32),(!_0x3467ae['specular']||_0x3467ae['specular']['isColor']&&_0x3467ae['specular']['r']<0.2)&&(_0x3467ae['specular']=new _0x43a4f1(0.3,0.3,0.3));else if(void 0x0!==_0x3467ae['userData']['originalShininess']&&(_0x3467ae['shininess']=_0x3467ae['userData']['originalShininess']),null===_0x3467ae['userData']['originalSpecular'])_0x3467ae['specular']=new _0x43a4f1(0x111111);else if(_0x3467ae['userData']['originalSpecular']){const _0x174287=_0x3467ae['userData']['originalSpecular'];_0x174287['isColor']?_0x3467ae['specular']=_0x174287['clone']():_0x3467ae['specular']=_0x174287;}_0x3467ae['needsUpdate']=!0x0;}let _0x10449f=_0x3467ae;0x3===_0x2637b4&&(_0x10449f=new _0xa87e13({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}));const _0x2342d3=new _0x3d1069(_0x25cab7,_0x10449f);_0x2342d3['castShadow']=0x3!==_0x2637b4,_0x2342d3['receiveShadow']=0x3!==_0x2637b4,_0x2342d3['bodyID']=_0x2b6c64,0x3===_0x2637b4&&(_0x2342d3['userData']['isCollisionGeom']=!0x0,_0x2342d3['visible']=_0x392b7a),this['getPosition'](_0x384f06['geom_pos'],_0x3ca28f,_0x2342d3['position']),this['getQuaternion'](_0x384f06['geom_quat'],_0x3ca28f,_0x2342d3['quaternion']),_0x5041fb==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value']&&_0x2342d3['scale']['set'](_0x28c0bc[0x0],_0x28c0bc[0x2],_0x28c0bc[0x1]),this['bodies'][_0x2b6c64]['add'](_0x2342d3);}for(let _0x5d1368=0x0;_0x5d1368<_0x384f06['nbody'];_0x5d1368++)this['bodies'][_0x5d1368]||(this['bodies'][_0x5d1368]=new _0x2474d6(),this['bodies'][_0x5d1368]['name']='body_'+_0x5d1368,this['bodies'][_0x5d1368]['bodyID']=_0x5d1368),this['mujocoRoot']['add'](this['bodies'][_0x5d1368]),this['bodies'][_0x5d1368]['traverse'](_0x2b49e0=>{_0x2b49e0['isMesh']&&(_0x2b49e0['bodyID']=_0x5d1368);});return this['createVisualizationElements'](_0x384f06),this['mujocoRoot'];}['createVisualizationElements'](_0x5486f6){var _0x95b2f3,_0x32d700,_0x378b53,_0x5db67c;const _0x3c248d=null==(_0x95b2f3=document['getElementById']('toggle-axes-btn'))?void 0x0:_0x95b2f3['classList']['contains']('active'),_0x119172=null==(_0x32d700=document['getElementById']('toggle-joint-axes-btn'))?void 0x0:_0x32d700['classList']['contains']('active'),_0x5e741a=null==(_0x378b53=document['getElementById']('show-com'))?void 0x0:_0x378b53['classList']['contains']('active'),_0x20479c=null==(_0x5db67c=document['getElementById']('show-inertia'))?void 0x0:_0x5db67c['classList']['contains']('active');for(let _0x3a2788=0x0;_0x3a2788<_0x5486f6['nbody'];_0x3a2788++){if(!this['bodies'][_0x3a2788])continue;const _0x5a8e1d=Oi['createAxesGeometry'](0.1);_0x5a8e1d['userData']['isVisualization']=!0x0,_0x5a8e1d['userData']['type']='axes',_0x5a8e1d['visible']=_0x3c248d,_0x5a8e1d['raycast']=()=>{};const _0x1a89b6=new _0x4adb8f();_0x1a89b6['setFromAxisAngle'](new _0x5a7be3(0x1,0x0,0x0),-Math['PI']/0x2),_0x5a8e1d['quaternion']['copy'](_0x1a89b6),this['bodies'][_0x3a2788]['add'](_0x5a8e1d);const _0x56a2e9=_0x5486f6['body_mass'][_0x3a2788];if(_0x56a2e9>0x0){const _0xd97bea=ki['createCOMGeometry'](0.02);_0xd97bea['userData']['isVisualization']=!0x0,_0xd97bea['userData']['type']='com',_0xd97bea['visible']=_0x5e741a,this['getPosition'](_0x5486f6['body_ipos'],_0x3a2788,_0xd97bea['position']),this['bodies'][_0x3a2788]['add'](_0xd97bea);const _0x2d4b9e=_0x5486f6['body_inertia'][0x3*_0x3a2788+0x0],_0x5835ff=_0x5486f6['body_inertia'][0x3*_0x3a2788+0x1],_0x36280d={'ixx':_0x2d4b9e,'iyy':_0x5486f6['body_inertia'][0x3*_0x3a2788+0x2],'izz':_0x5835ff,'mass':_0x56a2e9},_0x7c95f3=Ue['computeInertiaBox'](_0x36280d),_0x3dac21=Ue['createInertiaBoxGeometry'](_0x7c95f3['width'],_0x7c95f3['height'],_0x7c95f3['depth']),_0x52a682=new _0xa87e13({'color':0x4a9eff,'transparent':!0x0,'opacity':0.35,'shininess':2.5,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x19a945=new _0x3d1069(_0x3dac21,_0x52a682);_0x19a945['userData']['isVisualization']=!0x0,_0x19a945['userData']['type']='inertia',_0x19a945['visible']=_0x20479c,_0x19a945['castShadow']=!0x1,_0x19a945['receiveShadow']=!0x1,_0x19a945['raycast']=()=>{},this['getPosition'](_0x5486f6['body_ipos'],_0x3a2788,_0x19a945['position']),_0x5486f6['body_iquat']&&this['getQuaternion'](_0x5486f6['body_iquat'],_0x3a2788,_0x19a945['quaternion']),this['bodies'][_0x3a2788]['add'](_0x19a945);}}for(let _0x54a1cc=0x0;_0x54a1cc<_0x5486f6['njnt'];_0x54a1cc++){const _0x43bdb6=_0x5486f6['jnt_type'][_0x54a1cc],_0x3f0949=_0x5486f6['jnt_bodyid'][_0x54a1cc];if((_0x43bdb6===this['mujoco']['mjtJoint']['mjJNT_HINGE']['value']||_0x43bdb6===this['mujoco']['mjtJoint']['mjJNT_BALL']['value'])&&this['bodies'][_0x3f0949]){const _0x4e659c=new _0x5a7be3();if(this['getPosition'](_0x5486f6['jnt_axis'],_0x54a1cc,_0x4e659c),_0x4e659c['length']()>0.001){_0x4e659c['normalize']();const _0x2ebb3a=Oi['createJointArrowGeometry'](_0x4e659c);_0x2ebb3a['userData']['isVisualization']=!0x0,_0x2ebb3a['userData']['type']='jointAxis',_0x2ebb3a['visible']=_0x119172,_0x2ebb3a['raycast']=()=>{},this['getPosition'](_0x5486f6['jnt_pos'],_0x54a1cc,_0x2ebb3a['position']),this['bodies'][_0x3f0949]['add'](_0x2ebb3a);}}}}['createMeshGeometry'](_0x4722a4){const _0x57be8e=this['model'],_0x4b7d84=new _0x5065c1(),_0x26d5d5=_0x57be8e['mesh_vert']['subarray'](0x3*_0x57be8e['mesh_vertadr'][_0x4722a4],0x3*(_0x57be8e['mesh_vertadr'][_0x4722a4]+_0x57be8e['mesh_vertnum'][_0x4722a4]));for(let _0x157c60=0x0;_0x157c60<_0x26d5d5['length'];_0x157c60+=0x3){const _0x51f53e=_0x26d5d5[_0x157c60+0x1];_0x26d5d5[_0x157c60+0x1]=_0x26d5d5[_0x157c60+0x2],_0x26d5d5[_0x157c60+0x2]=-_0x51f53e;}const _0x3a02c4=_0x57be8e['mesh_normal']['subarray'](0x3*_0x57be8e['mesh_vertadr'][_0x4722a4],0x3*(_0x57be8e['mesh_vertadr'][_0x4722a4]+_0x57be8e['mesh_vertnum'][_0x4722a4]));for(let _0x52474a=0x0;_0x52474a<_0x3a02c4['length'];_0x52474a+=0x3){const _0x41a21e=_0x3a02c4[_0x52474a+0x1];_0x3a02c4[_0x52474a+0x1]=_0x3a02c4[_0x52474a+0x2],_0x3a02c4[_0x52474a+0x2]=-_0x41a21e;}const _0x48aa48=_0x57be8e['mesh_face']['subarray'](0x3*_0x57be8e['mesh_faceadr'][_0x4722a4],0x3*(_0x57be8e['mesh_faceadr'][_0x4722a4]+_0x57be8e['mesh_facenum'][_0x4722a4]));return _0x4b7d84['setAttribute']('position',new _0x5375dc(_0x26d5d5,0x3)),_0x4b7d84['setAttribute']('normal',new _0x5375dc(_0x3a02c4,0x3)),_0x4b7d84['setIndex'](Array['from'](_0x48aa48)),_0x4b7d84['computeVertexNormals'](),_0x4b7d84;}['getPosition'](_0x27c903,_0x26eda2,_0x489294,_0x8b10b6=!0x0){return _0x8b10b6?_0x489294['set'](_0x27c903[0x3*_0x26eda2+0x0],_0x27c903[0x3*_0x26eda2+0x2],-_0x27c903[0x3*_0x26eda2+0x1]):_0x489294['set'](_0x27c903[0x3*_0x26eda2+0x0],_0x27c903[0x3*_0x26eda2+0x1],_0x27c903[0x3*_0x26eda2+0x2]);}['getQuaternion'](_0xe67fc,_0x5c7035,_0x181156,_0x19eac8=!0x0){return _0x19eac8?_0x181156['set'](-_0xe67fc[0x4*_0x5c7035+0x1],-_0xe67fc[0x4*_0x5c7035+0x3],_0xe67fc[0x4*_0x5c7035+0x2],-_0xe67fc[0x4*_0x5c7035+0x0]):_0x181156['set'](_0xe67fc[0x4*_0x5c7035+0x1],_0xe67fc[0x4*_0x5c7035+0x2],_0xe67fc[0x4*_0x5c7035+0x3],_0xe67fc[0x4*_0x5c7035+0x0]);}['update'](_0x1e41d2){if(!this['isLoaded']||!this['model'])return;if(!this['params']['paused']){const _0xc74698=this['isOldAPI']?this['model']['opt']['timestep']:this['model']['getOptions']()['timestep'];for(_0x1e41d2-this['mujoco_time']>0x23&&(this['mujoco_time']=_0x1e41d2);this['mujoco_time']<_0x1e41d2;){if(this['isOldAPI'])for(let _0x30d9f0=0x0;_0x30d9f0<this['data']['qfrc_applied']['length'];_0x30d9f0++)this['data']['qfrc_applied'][_0x30d9f0]=0x0;if(this['dragStateManager']&&this['dragStateManager']['active']){const _0x508c12=this['dragStateManager']['physicsObject'];if(_0x508c12&&_0x508c12['bodyID']){const _0x57c98c=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x2acbdb=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0x2adcc5=0x0;_0x2adcc5<this['model']['nbody'];_0x2adcc5++){const _0x1f2254=this['bodies'][_0x2adcc5];_0x1f2254&&(this['getPosition'](_0x57c98c,_0x2adcc5,_0x1f2254['position']),this['getQuaternion'](_0x2acbdb,_0x2adcc5,_0x1f2254['quaternion']),_0x1f2254['updateMatrixWorld'](!0x0));}this['dragStateManager']['update']();const _0x2f6c02=_0x508c12['bodyID'],_0x45cd8a=this['toMujocoPos'](this['dragStateManager']['currentWorld']['clone']()['sub'](this['dragStateManager']['worldHit'])['multiplyScalar'](0xfa*this['model']['body_mass'][_0x2f6c02])),_0x405580=this['toMujocoPos'](this['dragStateManager']['worldHit']['clone']());this['isOldAPI']&&this['mujoco']['mj_applyFT'](this['model'],this['data'],[_0x45cd8a['x'],_0x45cd8a['y'],_0x45cd8a['z']],[0x0,0x0,0x0],[_0x405580['x'],_0x405580['y'],_0x405580['z']],_0x2f6c02,this['data']['qfrc_applied']);}}this['isOldAPI']?this['mujoco']['mj_step'](this['model'],this['data']):this['simulation']['step'](),this['mujoco_time']+=0x3e8*_0xc74698;}}const _0x3d21f1=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x50c60c=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0x1d8c90=0x0;_0x1d8c90<this['model']['nbody'];_0x1d8c90++){const _0x12fa76=this['bodies'][_0x1d8c90];_0x12fa76&&(this['getPosition'](_0x3d21f1,_0x1d8c90,_0x12fa76['position'],!0x0),this['getQuaternion'](_0x50c60c,_0x1d8c90,_0x12fa76['quaternion'],!0x0),_0x12fa76['updateMatrixWorld'](!0x0));}this['params']['paused']||this['sceneManager']['redraw']();}['toMujocoPos'](_0x3b358c){return _0x3b358c['set'](_0x3b358c['x'],-_0x3b358c['z'],_0x3b358c['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 _0x37278d=this['mujoco']['FS']['readdir']('/working');for(const _0x2f2e8c of _0x37278d)if('.'!==_0x2f2e8c&&'..'!==_0x2f2e8c)try{const _0x485397='/working/'+_0x2f2e8c,_0x23544d=this['mujoco']['FS']['stat'](_0x485397);this['mujoco']['FS']['isDir'](_0x23544d['mode'])?this['removeDirectory'](_0x485397):this['mujoco']['FS']['unlink'](_0x485397);}catch(_0xceb7e5){}}catch(_0x12180f){}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'](_0x38993d){if(this['mujoco']&&this['mujoco']['FS'])try{const _0x42c79b=this['mujoco']['FS']['readdir'](_0x38993d);for(const _0x3e332a of _0x42c79b)if('.'!==_0x3e332a&&'..'!==_0x3e332a){const _0x368d70=_0x38993d+'/'+_0x3e332a,_0x59fcaa=this['mujoco']['FS']['stat'](_0x368d70);this['mujoco']['FS']['isDir'](_0x59fcaa['mode'])?this['removeDirectory'](_0x368d70):this['mujoco']['FS']['unlink'](_0x368d70);}this['mujoco']['FS']['rmdir'](_0x38993d);}catch(_0x505d67){}}['toggleCollisionDisplay'](_0x55ca0a){if(this['mujocoRoot']){for(let _0x53718e=0x0;_0x53718e<this['model']['nbody'];_0x53718e++){const _0x3d1667=this['bodies'][_0x53718e];_0x3d1667&&_0x3d1667['children']['forEach'](_0x40fef2=>{_0x40fef2['userData']&&_0x40fef2['userData']['isCollisionGeom']&&(_0x40fef2['visible']=_0x55ca0a);});}this['sceneManager']['redraw']();}}['toggleVisualDisplay'](_0x1d2bae){if(this['mujocoRoot']){for(let _0x2b104d=0x0;_0x2b104d<this['model']['nbody'];_0x2b104d++){const _0x308cbf=this['bodies'][_0x2b104d];_0x308cbf&&_0x308cbf['children']['forEach'](_0x190bc3=>{!_0x190bc3['isMesh']||_0x190bc3['userData']['isVisualization']||_0x190bc3['userData']['isCollisionGeom']||(_0x190bc3['visible']=_0x1d2bae);});}this['sceneManager']['redraw']();}}['hasVisibleVisualization'](_0x1a264b){if(!this['mujocoRoot']||!this['model'])return!0x1;for(let _0x38464f=0x0;_0x38464f<this['model']['nbody'];_0x38464f++){const _0x31b716=this['bodies'][_0x38464f];if(!_0x31b716)continue;let _0x47fdac=!0x1;if(_0x31b716['traverse'](_0x564724=>{!_0x47fdac&&_0x564724['userData']&&_0x564724['userData']['type']===_0x1a264b&&_0x564724['visible']&&(_0x47fdac=!0x0);}),_0x47fdac)return!0x0;}return!0x1;}['updateVisualTransparency'](){var _0x24cb61;if(!this['mujocoRoot'])return;const _0x1e02cc=(null==(_0x24cb61=document['getElementById']('show-com'))?void 0x0:_0x24cb61['classList']['contains']('active'))||this['hasVisibleVisualization']('axes')||this['hasVisibleVisualization']('jointAxis');for(let _0x12f483=0x0;_0x12f483<this['model']['nbody'];_0x12f483++){const _0xcd7cca=this['bodies'][_0x12f483];_0xcd7cca&&_0xcd7cca['children']['forEach'](_0x19c4e2=>{!_0x19c4e2['isMesh']||_0x19c4e2['userData']['isVisualization']||_0x19c4e2['userData']['isCollisionGeom']||ji['setMeshTransparency'](_0x19c4e2,_0x1e02cc);});}this['sceneManager']['redraw']();}['toggleCOMDisplay'](_0x2bda4f){if(this['mujocoRoot']){for(let _0x370f95=0x0;_0x370f95<this['model']['nbody'];_0x370f95++){const _0x168458=this['bodies'][_0x370f95];_0x168458&&_0x168458['traverse'](_0x210871=>{_0x210871['userData']&&'com'===_0x210871['userData']['type']&&(_0x210871['visible']=_0x2bda4f);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleInertiaDisplay'](_0x375b47){if(this['mujocoRoot']){for(let _0x447030=0x0;_0x447030<this['model']['nbody'];_0x447030++){const _0x4619e7=this['bodies'][_0x447030];_0x4619e7&&_0x4619e7['traverse'](_0x295ab2=>{_0x295ab2['userData']&&'inertia'===_0x295ab2['userData']['type']&&(_0x295ab2['visible']=_0x375b47);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleAxesDisplay'](_0x59de04){if(this['mujocoRoot']){for(let _0x5793=0x0;_0x5793<this['model']['nbody'];_0x5793++){const _0xdfd8c0=this['bodies'][_0x5793];_0xdfd8c0&&_0xdfd8c0['traverse'](_0x19676d=>{_0x19676d['userData']&&'axes'===_0x19676d['userData']['type']&&(_0x19676d['visible']=_0x59de04);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleJointAxesDisplay'](_0x564745){if(this['mujocoRoot']){for(let _0x2edf7b=0x0;_0x2edf7b<this['model']['nbody'];_0x2edf7b++){const _0x8c6ff9=this['bodies'][_0x2edf7b];_0x8c6ff9&&_0x8c6ff9['traverse'](_0xcc1589=>{_0xcc1589['userData']&&'jointAxis'===_0xcc1589['userData']['type']&&(_0xcc1589['visible']=_0x564745);});}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(_0xbcce86){return _0xbcce86&&_0xbcce86['__esModule']&&Object['prototype']['hasOwnProperty']['call'](_0xbcce86,'default')?_0xbcce86['default']:_0xbcce86;}/*
|
|
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 _0x49e9e3=new String('abc');if(_0x49e9e3[0x5]='de','5'===Object['getOwnPropertyNames'](_0x49e9e3)[0x0])return!0x1;for(var _0x1cf5b8={},_0x56ea29=0x0;_0x56ea29<0xa;_0x56ea29++)_0x1cf5b8['_'+String['fromCharCode'](_0x56ea29)]=_0x56ea29;if('0123456789'!==Object['getOwnPropertyNames'](_0x1cf5b8)['map'](function(_0x451dcc){return _0x1cf5b8[_0x451dcc];})['join'](''))return!0x1;var _0x35c778={};return'abcdefghijklmnopqrst'['split']('')['forEach'](function(_0x146e61){_0x35c778[_0x146e61]=_0x146e61;}),'abcdefghijklmnopqrst'===Object['keys'](Object['assign']({},_0x35c778))['join']('');}catch(_0x3aa37b){return!0x1;}}())?Object['assign']:function(_0x126188,_0x4ae326){for(var _0x3424d0,_0x5981b9,_0x5c835d=function(_0x52db66){if(null==_0x52db66)throw new TypeError('Object.assign\x20cannot\x20be\x20called\x20with\x20null\x20or\x20undefined');return Object(_0x52db66);}(_0x126188),_0xfb0de4=0x1;_0xfb0de4<arguments['length'];_0xfb0de4++){for(var _0x17affb in _0x3424d0=Object(arguments[_0xfb0de4]))Qi['call'](_0x3424d0,_0x17affb)&&(_0x5c835d[_0x17affb]=_0x3424d0[_0x17affb]);if(Zi){_0x5981b9=Zi(_0x3424d0);for(var _0x321162=0x0;_0x321162<_0x5981b9['length'];_0x321162++)Ki['call'](_0x3424d0,_0x5981b9[_0x321162])&&(_0x5c835d[_0x5981b9[_0x321162]]=_0x3424d0[_0x5981b9[_0x321162]]);}}return _0x5c835d;},os={'exports':{}};function ls(){return ts?es:(ts=0x1,es=function(_0x1a6056,_0x486ff6,_0x1b4fbe){_0x486ff6['forEach'](function(_0x4a2584){var _0x4141da=_0x1b4fbe[_0x4a2584];_0x1a6056['prototype'][_0x4a2584]=function(_0x53cad5){return _0x53cad5['ros']=this,new _0x4141da(_0x53cad5);};});});}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 _0x4ad2fe(_0x174c1c){var _0xf4940b={};function _0x15bf28(_0x1a7c5a){if(_0xf4940b[_0x1a7c5a])return _0xf4940b[_0x1a7c5a]['exports'];var _0x1471ac=_0xf4940b[_0x1a7c5a]={'i':_0x1a7c5a,'l':!0x1,'exports':{}};return _0x174c1c[_0x1a7c5a]['call'](_0x1471ac['exports'],_0x1471ac,_0x1471ac['exports'],_0x15bf28),_0x1471ac['l']=!0x0,_0x1471ac['exports'];}_0x15bf28['m']=_0x174c1c,_0x15bf28['c']=_0xf4940b,_0x15bf28['i']=function(_0x5bcca6){return _0x5bcca6;},_0x15bf28['d']=function(_0xc45476,_0x1860d8,_0x28f99e){_0x15bf28['o'](_0xc45476,_0x1860d8)||Object['defineProperty'](_0xc45476,_0x1860d8,{'configurable':!0x1,'enumerable':!0x0,'get':_0x28f99e});},_0x15bf28['r']=function(_0x50118d){Object['defineProperty'](_0x50118d,'__esModule',{'value':!0x0});},_0x15bf28['n']=function(_0x4fa491){var _0x7ab36=_0x4fa491&&_0x4fa491['__esModule']?function(){return _0x4fa491['default'];}:function(){return _0x4fa491;};return _0x15bf28['d'](_0x7ab36,'a',_0x7ab36),_0x7ab36;},_0x15bf28['o']=function(_0x22c11d,_0x16db30){return Object['prototype']['hasOwnProperty']['call'](_0x22c11d,_0x16db30);},_0x15bf28['p']='/',_0x15bf28['oe']=function(_0x14300b){throw _0x14300b;};var _0x5d0f0b=_0x15bf28(_0x15bf28['s']=ENTRY_MODULE);return _0x5d0f0b['default']||_0x5d0f0b;}var _0x5727bc='[\x5c.|\x5c-|\x5c+|\x5cw|/|@]+',_0x26ecd7='\x5c(\x5cs*(/\x5c*.*?\x5c*/)?\x5cs*.*?('+_0x5727bc+').*?\x5c)';function _0x358558(_0x3b7892){return(_0x3b7892+'')['replace'](/[.?*+^$[\]\\(){}|-]/g,'\x5c$&');}function _0x429d82(_0xc55000){return!isNaN(0x1*_0xc55000);}function _0x2cd15f(_0x27cae3,_0x15a04b,_0x332665){var _0x5cb6e9={};_0x5cb6e9[_0x332665]=[];var _0xd3a77c=_0x15a04b['toString'](),_0x4c76e1=_0xd3a77c['match'](/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!_0x4c76e1)return _0x5cb6e9;for(var _0x201385,_0x157a3b=_0x4c76e1[0x1],_0x5dac2a=new RegExp('(\x5c\x5cn|\x5cW)'+_0x358558(_0x157a3b)+_0x26ecd7,'g');_0x201385=_0x5dac2a['exec'](_0xd3a77c);)'dll-reference'!==_0x201385[0x3]&&_0x5cb6e9[_0x332665]['push'](_0x201385[0x3]);for(_0x5dac2a=new RegExp('\x5c('+_0x358558(_0x157a3b)+'\x5c(\x22(dll-reference\x5cs('+_0x5727bc+'))\x22\x5c)\x5c)'+_0x26ecd7,'g');_0x201385=_0x5dac2a['exec'](_0xd3a77c);)_0x27cae3[_0x201385[0x2]]||(_0x5cb6e9[_0x332665]['push'](_0x201385[0x1]),_0x27cae3[_0x201385[0x2]]=__webpack_require__(_0x201385[0x1])['m']),_0x5cb6e9[_0x201385[0x2]]=_0x5cb6e9[_0x201385[0x2]]||[],_0x5cb6e9[_0x201385[0x2]]['push'](_0x201385[0x4]);for(var _0x387839=Object['keys'](_0x5cb6e9),_0x5ed305=0x0;_0x5ed305<_0x387839['length'];_0x5ed305++)for(var _0x19a5df=0x0;_0x19a5df<_0x5cb6e9[_0x387839[_0x5ed305]]['length'];_0x19a5df++)_0x429d82(_0x5cb6e9[_0x387839[_0x5ed305]][_0x19a5df])&&(_0x5cb6e9[_0x387839[_0x5ed305]][_0x19a5df]=0x1*_0x5cb6e9[_0x387839[_0x5ed305]][_0x19a5df]);return _0x5cb6e9;}function _0x24853b(_0x547d30){return Object['keys'](_0x547d30)['reduce'](function(_0x599937,_0x417227){return _0x599937||_0x547d30[_0x417227]['length']>0x0;},!0x1);}bs['exports']=function(_0xc2dd5a,_0x5b6b30){_0x5b6b30=_0x5b6b30||{};var _0x6e343c={'main':__webpack_modules__},_0x4a925a=_0x5b6b30['all']?{'main':Object['keys'](_0x6e343c['main'])}:function(_0x4d1af5,_0x1a4466){for(var _0x49b1ff={'main':[_0x1a4466]},_0x15a37e={'main':[]},_0x3690d2={'main':{}};_0x24853b(_0x49b1ff);)for(var _0x5e4480=Object['keys'](_0x49b1ff),_0x561d49=0x0;_0x561d49<_0x5e4480['length'];_0x561d49++){var _0x568061=_0x5e4480[_0x561d49],_0x32b212=_0x49b1ff[_0x568061]['pop']();if(_0x3690d2[_0x568061]=_0x3690d2[_0x568061]||{},!_0x3690d2[_0x568061][_0x32b212]&&_0x4d1af5[_0x568061][_0x32b212]){_0x3690d2[_0x568061][_0x32b212]=!0x0,_0x15a37e[_0x568061]=_0x15a37e[_0x568061]||[],_0x15a37e[_0x568061]['push'](_0x32b212);for(var _0x596269=_0x2cd15f(_0x4d1af5,_0x4d1af5[_0x568061][_0x32b212],_0x568061),_0x400fa3=Object['keys'](_0x596269),_0x3daab1=0x0;_0x3daab1<_0x400fa3['length'];_0x3daab1++)_0x49b1ff[_0x400fa3[_0x3daab1]]=_0x49b1ff[_0x400fa3[_0x3daab1]]||[],_0x49b1ff[_0x400fa3[_0x3daab1]]=_0x49b1ff[_0x400fa3[_0x3daab1]]['concat'](_0x596269[_0x400fa3[_0x3daab1]]);}}return _0x15a37e;}(_0x6e343c,_0xc2dd5a),_0x2df6be='';Object['keys'](_0x4a925a)['filter'](function(_0x5691cf){return'main'!==_0x5691cf;})['forEach'](function(_0x5d58dd){for(var _0x2c4bfd=0x0;_0x4a925a[_0x5d58dd][_0x2c4bfd];)_0x2c4bfd++;_0x4a925a[_0x5d58dd]['push'](_0x2c4bfd),_0x6e343c[_0x5d58dd][_0x2c4bfd]='(function(module,\x20exports,\x20__webpack_require__)\x20{\x20module.exports\x20=\x20__webpack_require__;\x20})',_0x2df6be=_0x2df6be+'var\x20'+_0x5d58dd+'\x20=\x20('+_0x4ad2fe['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0x2c4bfd))+')({'+_0x4a925a[_0x5d58dd]['map'](function(_0x255e73){return JSON['stringify'](_0x255e73)+':\x20'+_0x6e343c[_0x5d58dd][_0x255e73]['toString']();})['join'](',')+'});\x0a';}),_0x2df6be=_0x2df6be+'new\x20(('+_0x4ad2fe['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0xc2dd5a))+')({'+_0x4a925a['main']['map'](function(_0x43fb19){return JSON['stringify'](_0x43fb19)+':\x20'+_0x6e343c['main'][_0x43fb19]['toString']();})['join'](',')+'}))(self);';var _0x27baea=new window['Blob']([_0x2df6be],{'type':'text/javascript'});if(_0x5b6b30['bare'])return _0x27baea;var _0x236a12=(window['URL']||window['webkitURL']||window['mozURL']||window['msURL'])['createObjectURL'](_0x27baea),_0x1ac39d=new window['Worker'](_0x236a12);return _0x1ac39d['objectURL']=_0x236a12,_0x1ac39d;};}())),bs['exports'];}function xs(){if(ms)return ps;ms=0x1;try{var _0x2fb920=(function(){if(rs)return ss;rs=0x1;var _0x529412=arguments[0x3],_0x235776=arguments[0x4],_0x20f5b4=arguments[0x5],_0x3ad257=JSON['stringify'];return ss=function(_0x353c31,_0x5af12e){for(var _0x13cb23,_0x85ad0=Object['keys'](_0x20f5b4),_0x5056ed=0x0,_0x5a9b47=_0x85ad0['length'];_0x5056ed<_0x5a9b47;_0x5056ed++){var _0x5eed60=_0x85ad0[_0x5056ed],_0x7be17f=_0x20f5b4[_0x5eed60]['exports'];if(_0x7be17f===_0x353c31||_0x7be17f&&_0x7be17f['default']===_0x353c31){_0x13cb23=_0x5eed60;break;}}if(!_0x13cb23){_0x13cb23=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10);var _0x273d95={};for(_0x5056ed=0x0,_0x5a9b47=_0x85ad0['length'];_0x5056ed<_0x5a9b47;_0x5056ed++)_0x273d95[_0x5eed60=_0x85ad0[_0x5056ed]]=_0x5eed60;_0x235776[_0x13cb23]=['function(require,module,exports){'+_0x353c31+'(self);\x20}',_0x273d95];}var _0x3c9e69=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10),_0xa71fd4={};_0xa71fd4[_0x13cb23]=_0x13cb23,_0x235776[_0x3c9e69]=['function(require,module,exports){var\x20f\x20=\x20require('+_0x3ad257(_0x13cb23)+');(f.default\x20?\x20f.default\x20:\x20f)(self);}',_0xa71fd4];var _0x1e1160={};!function _0x159a9b(_0x356d52){for(var _0x32f0fd in(_0x1e1160[_0x356d52]=!0x0,_0x235776[_0x356d52][0x1])){var _0x180324=_0x235776[_0x356d52][0x1][_0x32f0fd];_0x1e1160[_0x180324]||_0x159a9b(_0x180324);}}(_0x3c9e69);var _0x1dee1b='('+_0x529412+')({'+Object['keys'](_0x1e1160)['map'](function(_0x470bb9){return _0x3ad257(_0x470bb9)+':['+_0x235776[_0x470bb9][0x0]+','+_0x3ad257(_0x235776[_0x470bb9][0x1])+']';})['join'](',')+'},{},['+_0x3ad257(_0x3c9e69)+'])',_0x4bbd8f=window['URL']||window['webkitURL']||window['mozURL']||window['msURL'],_0x58d98f=new Blob([_0x1dee1b],{'type':'text/javascript'});if(_0x5af12e&&_0x5af12e['bare'])return _0x58d98f;var _0x2e087c=_0x4bbd8f['createObjectURL'](_0x58d98f),_0x36dfab=new Worker(_0x2e087c);return _0x36dfab['objectURL']=_0x2e087c,_0x36dfab;};}());}catch(_0x53201b){_0x2fb920=ws();}var _0x19becf=(function(){if(ds)return us;ds=0x1;var _0x53ce79=_0x53ce79||cs();return us=function(_0x53e8cc){var _0x2522a0=null;function _0x422447(_0x2a24af){var _0x215354=_0x2a24af['data'];_0x215354 instanceof ArrayBuffer?_0x53e8cc['postMessage'](_0x215354,[_0x215354]):_0x53e8cc['postMessage'](_0x215354);}function _0x526de8(_0x397a6c){_0x53e8cc['postMessage']({'type':_0x397a6c['type']});}_0x53e8cc['addEventListener']('message',function(_0x1c29f9){var _0xceceb5=_0x1c29f9['data'];if('string'==typeof _0xceceb5)_0x2522a0['send'](_0xceceb5);else if(_0xceceb5['hasOwnProperty']('close'))_0x2522a0['close'](),_0x2522a0=null;else{if(!_0xceceb5['hasOwnProperty']('uri'))throw'Unknown\x20message\x20to\x20WorkerSocket';var _0x16bb65=_0xceceb5['uri'];(_0x2522a0=new _0x53ce79(_0x16bb65))['binaryType']='arraybuffer',_0x2522a0['onmessage']=_0x422447,_0x2522a0['onclose']=_0x526de8,_0x2522a0['onopen']=_0x526de8,_0x2522a0['onerror']=_0x526de8;}});};}());function _0x4fe2f0(_0x49922a){this['socket_']=_0x2fb920(_0x19becf),this['socket_']['addEventListener']('message',this['handleWorkerMessage_']['bind'](this)),this['socket_']['postMessage']({'uri':_0x49922a});}return _0x4fe2f0['prototype']['handleWorkerMessage_']=function(_0x5568a7){var _0x13edee=_0x5568a7['data'];if(_0x13edee instanceof ArrayBuffer||'string'==typeof _0x13edee)this['onmessage'](_0x5568a7);else{var _0x1f92ff=_0x13edee['type'];if('close'===_0x1f92ff)this['onclose'](null);else if('open'===_0x1f92ff)this['onopen'](null);else{if('error'!==_0x1f92ff)throw'Unknown\x20message\x20from\x20workersocket';this['onerror'](null);}}},_0x4fe2f0['prototype']['send']=function(_0xbba182){this['socket_']['postMessage'](_0xbba182);},_0x4fe2f0['prototype']['close']=function(){this['socket_']['postMessage']({'close':!0x0});},ps=_0x4fe2f0;}function Ms(){if(vs)return ys;vs=0x1;var _0x221719=fs?gs:(fs=0x1,gs=function(){return document['createElement']('canvas');}),_0x72bb1a=_0x221719['Image']||window['Image'];return ys=function(_0x4beaa7,_0x119e6e){var _0x18676c=new _0x72bb1a();_0x18676c['onload']=function(){var _0x1da35a=new _0x221719(),_0x4a8a74=_0x1da35a['getContext']('2d');_0x1da35a['width']=_0x18676c['width'],_0x1da35a['height']=_0x18676c['height'],_0x4a8a74['imageSmoothingEnabled']=!0x1,_0x4a8a74['webkitImageSmoothingEnabled']=!0x1,_0x4a8a74['mozImageSmoothingEnabled']=!0x1,_0x4a8a74['drawImage'](_0x18676c,0x0,0x0);for(var _0x2a07bc=_0x4a8a74['getImageData'](0x0,0x0,_0x18676c['width'],_0x18676c['height'])['data'],_0x208555='',_0x1498b7=0x0;_0x1498b7<_0x2a07bc['length'];_0x1498b7+=0x4)_0x208555+=String['fromCharCode'](_0x2a07bc[_0x1498b7],_0x2a07bc[_0x1498b7+0x1],_0x2a07bc[_0x1498b7+0x2]);_0x119e6e(JSON['parse'](_0x208555));},_0x18676c['src']='data:image/png;base64,'+_0x4beaa7;};}var _s,Ss={'exports':{}};function As(){return _s||(_s=0x1,_0x30d39b=Ss,_0x1d6f9c=Xi,_0x202c0c=Math['pow'](0x2,-0x18),_0x2abb28=Math['pow'](0x2,0x20),_0x354c51=Math['pow'](0x2,0x35),_0x2352ac={'encode':function(_0x2e4da7){var _0x3c64b7,_0x2539eb=new ArrayBuffer(0x100),_0x539ee8=new DataView(_0x2539eb),_0x26a0f1=0x0;function _0x3b6a03(_0x58152a){for(var _0x3826b9=_0x2539eb['byteLength'],_0x208b4=_0x26a0f1+_0x58152a;_0x3826b9<_0x208b4;)_0x3826b9*=0x2;if(_0x3826b9!==_0x2539eb['byteLength']){var _0x472cc9=_0x539ee8;_0x2539eb=new ArrayBuffer(_0x3826b9),_0x539ee8=new DataView(_0x2539eb);for(var _0x2d615d=_0x26a0f1+0x3>>0x2,_0x2d58a8=0x0;_0x2d58a8<_0x2d615d;++_0x2d58a8)_0x539ee8['setUint32'](0x4*_0x2d58a8,_0x472cc9['getUint32'](0x4*_0x2d58a8));}return _0x3c64b7=_0x58152a,_0x539ee8;}function _0x4ce52e(){_0x26a0f1+=_0x3c64b7;}function _0x116eb7(_0x495a57){_0x4ce52e(_0x3b6a03(0x1)['setUint8'](_0x26a0f1,_0x495a57));}function _0x332a9f(_0x5f3c80){for(var _0x2fb8d7=_0x3b6a03(_0x5f3c80['length']),_0x36059f=0x0;_0x36059f<_0x5f3c80['length'];++_0x36059f)_0x2fb8d7['setUint8'](_0x26a0f1+_0x36059f,_0x5f3c80[_0x36059f]);_0x4ce52e();}function _0x4b4569(_0x4fce8a,_0x3a4e2a){var _0x1093c9;_0x3a4e2a<0x18?_0x116eb7(_0x4fce8a<<0x5|_0x3a4e2a):_0x3a4e2a<0x100?(_0x116eb7(_0x4fce8a<<0x5|0x18),_0x116eb7(_0x3a4e2a)):_0x3a4e2a<0x10000?(_0x116eb7(_0x4fce8a<<0x5|0x19),_0x1093c9=_0x3a4e2a,_0x4ce52e(_0x3b6a03(0x2)['setUint16'](_0x26a0f1,_0x1093c9))):_0x3a4e2a<0x100000000?(_0x116eb7(_0x4fce8a<<0x5|0x1a),function(_0x3dde78){_0x4ce52e(_0x3b6a03(0x4)['setUint32'](_0x26a0f1,_0x3dde78));}(_0x3a4e2a)):(_0x116eb7(_0x4fce8a<<0x5|0x1b),function(_0x19178b){var _0x13afd3=_0x19178b%_0x2abb28,_0x35aee6=(_0x19178b-_0x13afd3)/_0x2abb28,_0x246404=_0x3b6a03(0x8);_0x246404['setUint32'](_0x26a0f1,_0x35aee6),_0x246404['setUint32'](_0x26a0f1+0x4,_0x13afd3),_0x4ce52e();}(_0x3a4e2a));}if(function _0xf60ca5(_0x3fe146){var _0x16a68d;if(!0x1===_0x3fe146)return _0x116eb7(0xf4);if(!0x0===_0x3fe146)return _0x116eb7(0xf5);if(null===_0x3fe146)return _0x116eb7(0xf6);if(_0x3fe146===_0x47838b)return _0x116eb7(0xf7);switch(typeof _0x3fe146){case'number':if(Math['floor'](_0x3fe146)===_0x3fe146){if(0x0<=_0x3fe146&&_0x3fe146<=_0x354c51)return _0x4b4569(0x0,_0x3fe146);if(-_0x354c51<=_0x3fe146&&_0x3fe146<0x0)return _0x4b4569(0x1,-(_0x3fe146+0x1));}return _0x116eb7(0xfb),function(_0x5ca9fa){_0x4ce52e(_0x3b6a03(0x8)['setFloat64'](_0x26a0f1,_0x5ca9fa));}(_0x3fe146);case'string':var _0x22f558=[];for(_0x16a68d=0x0;_0x16a68d<_0x3fe146['length'];++_0x16a68d){var _0x580873=_0x3fe146['charCodeAt'](_0x16a68d);_0x580873<0x80?_0x22f558['push'](_0x580873):_0x580873<0x800?(_0x22f558['push'](0xc0|_0x580873>>0x6),_0x22f558['push'](0x80|0x3f&_0x580873)):_0x580873<0xd800?(_0x22f558['push'](0xe0|_0x580873>>0xc),_0x22f558['push'](0x80|_0x580873>>0x6&0x3f),_0x22f558['push'](0x80|0x3f&_0x580873)):(_0x580873=(0x3ff&_0x580873)<<0xa,_0x580873|=0x3ff&_0x3fe146['charCodeAt'](++_0x16a68d),_0x580873+=0x10000,_0x22f558['push'](0xf0|_0x580873>>0x12),_0x22f558['push'](0x80|_0x580873>>0xc&0x3f),_0x22f558['push'](0x80|_0x580873>>0x6&0x3f),_0x22f558['push'](0x80|0x3f&_0x580873));}return _0x4b4569(0x3,_0x22f558['length']),_0x332a9f(_0x22f558);default:var _0x3e030a;if(Array['isArray'](_0x3fe146))for(_0x4b4569(0x4,_0x3e030a=_0x3fe146['length']),_0x16a68d=0x0;_0x16a68d<_0x3e030a;++_0x16a68d)_0xf60ca5(_0x3fe146[_0x16a68d]);else if(_0x3fe146 instanceof Uint8Array)_0x4b4569(0x2,_0x3fe146['length']),_0x332a9f(_0x3fe146);else{var _0x50be5e=Object['keys'](_0x3fe146);for(_0x4b4569(0x5,_0x3e030a=_0x50be5e['length']),_0x16a68d=0x0;_0x16a68d<_0x3e030a;++_0x16a68d){var _0xa6518a=_0x50be5e[_0x16a68d];_0xf60ca5(_0xa6518a),_0xf60ca5(_0x3fe146[_0xa6518a]);}}}}(_0x2e4da7),'slice'in _0x2539eb)return _0x2539eb['slice'](0x0,_0x26a0f1);for(var _0x27e1b8=new ArrayBuffer(_0x26a0f1),_0x4afa13=new DataView(_0x27e1b8),_0x2a977f=0x0;_0x2a977f<_0x26a0f1;++_0x2a977f)_0x4afa13['setUint8'](_0x2a977f,_0x539ee8['getUint8'](_0x2a977f));return _0x27e1b8;},'decode':function(_0x107a0a,_0x296e28,_0x2126b9){var _0x182071=new DataView(_0x107a0a),_0x320bb7=0x0;function _0x315eb5(_0x559bb7,_0x5fb7cf){return _0x320bb7+=_0x5fb7cf,_0x559bb7;}function _0x9afdbc(_0x31a5db){return _0x315eb5(new Uint8Array(_0x107a0a,_0x320bb7,_0x31a5db),_0x31a5db);}function _0x2add3b(){return _0x315eb5(_0x182071['getUint8'](_0x320bb7),0x1);}function _0x2e9450(){return _0x315eb5(_0x182071['getUint16'](_0x320bb7),0x2);}function _0x488910(){return _0x315eb5(_0x182071['getUint32'](_0x320bb7),0x4);}function _0x3ae364(){return 0xff===_0x182071['getUint8'](_0x320bb7)&&(_0x320bb7+=0x1,!0x0);}function _0x152b73(_0x4e94d3){if(_0x4e94d3<0x18)return _0x4e94d3;if(0x18===_0x4e94d3)return _0x2add3b();if(0x19===_0x4e94d3)return _0x2e9450();if(0x1a===_0x4e94d3)return _0x488910();if(0x1b===_0x4e94d3)return _0x488910()*_0x2abb28+_0x488910();if(0x1f===_0x4e94d3)return-0x1;throw'Invalid\x20length\x20encoding';}function _0x34c1fb(_0x1b99c2){var _0x488e78=_0x2add3b();if(0xff===_0x488e78)return-0x1;var _0x4a7ea6=_0x152b73(0x1f&_0x488e78);if(_0x4a7ea6<0x0||_0x488e78>>0x5!==_0x1b99c2)throw'Invalid\x20indefinite\x20length\x20element';return _0x4a7ea6;}function _0x299db1(_0x10ba79,_0x4760b2){for(var _0x549f59=0x0;_0x549f59<_0x4760b2;++_0x549f59){var _0x18f252=_0x2add3b();0x80&_0x18f252&&(_0x18f252<0xe0?(_0x18f252=(0x1f&_0x18f252)<<0x6|0x3f&_0x2add3b(),_0x4760b2-=0x1):_0x18f252<0xf0?(_0x18f252=(0xf&_0x18f252)<<0xc|(0x3f&_0x2add3b())<<0x6|0x3f&_0x2add3b(),_0x4760b2-=0x2):(_0x18f252=(0xf&_0x18f252)<<0x12|(0x3f&_0x2add3b())<<0xc|(0x3f&_0x2add3b())<<0x6|0x3f&_0x2add3b(),_0x4760b2-=0x3)),_0x18f252<0x10000?_0x10ba79['push'](_0x18f252):(_0x18f252-=0x10000,_0x10ba79['push'](0xd800|_0x18f252>>0xa),_0x10ba79['push'](0xdc00|0x3ff&_0x18f252));}}'function'!=typeof _0x296e28&&(_0x296e28=function(_0x4b6f41){return _0x4b6f41;}),'function'!=typeof _0x2126b9&&(_0x2126b9=function(){return _0x47838b;});var _0x177f4c=function _0x539af3(){var _0x3d2acc,_0x50115f,_0x5b9ddb=_0x2add3b(),_0x5c739a=_0x5b9ddb>>0x5,_0x11d21a=0x1f&_0x5b9ddb;if(0x7===_0x5c739a)switch(_0x11d21a){case 0x19:return(function(){var _0x49ca6b=new ArrayBuffer(0x4),_0x5e2764=new DataView(_0x49ca6b),_0x3c58a8=_0x2e9450(),_0xe9090=0x8000&_0x3c58a8,_0x1c619d=0x7c00&_0x3c58a8,_0x343514=0x3ff&_0x3c58a8;if(0x7c00===_0x1c619d)_0x1c619d=0x3fc00;else if(0x0!==_0x1c619d)_0x1c619d+=0x1c000;else if(0x0!==_0x343514)return _0x343514*_0x202c0c;return _0x5e2764['setUint32'](0x0,_0xe9090<<0x10|_0x1c619d<<0xd|_0x343514<<0xd),_0x5e2764['getFloat32'](0x0);}());case 0x1a:return _0x315eb5(_0x182071['getFloat32'](_0x320bb7),0x4);case 0x1b:return _0x315eb5(_0x182071['getFloat64'](_0x320bb7),0x8);}if((_0x50115f=_0x152b73(_0x11d21a))<0x0&&(_0x5c739a<0x2||0x6<_0x5c739a))throw'Invalid\x20length';switch(_0x5c739a){case 0x0:return _0x50115f;case 0x1:return-0x1-_0x50115f;case 0x2:if(_0x50115f<0x0){for(var _0x2c90a4=[],_0x56824b=0x0;(_0x50115f=_0x34c1fb(_0x5c739a))>=0x0;)_0x56824b+=_0x50115f,_0x2c90a4['push'](_0x9afdbc(_0x50115f));var _0x12e546=new Uint8Array(_0x56824b),_0x3ab8f9=0x0;for(_0x3d2acc=0x0;_0x3d2acc<_0x2c90a4['length'];++_0x3d2acc)_0x12e546['set'](_0x2c90a4[_0x3d2acc],_0x3ab8f9),_0x3ab8f9+=_0x2c90a4[_0x3d2acc]['length'];return _0x12e546;}return _0x9afdbc(_0x50115f);case 0x3:var _0xd4d065=[];if(_0x50115f<0x0)for(;(_0x50115f=_0x34c1fb(_0x5c739a))>=0x0;)_0x299db1(_0xd4d065,_0x50115f);else _0x299db1(_0xd4d065,_0x50115f);return String['fromCharCode']['apply'](null,_0xd4d065);case 0x4:var _0x4b84bc;if(_0x50115f<0x0)for(_0x4b84bc=[];!_0x3ae364();)_0x4b84bc['push'](_0x539af3());else for(_0x4b84bc=new Array(_0x50115f),_0x3d2acc=0x0;_0x3d2acc<_0x50115f;++_0x3d2acc)_0x4b84bc[_0x3d2acc]=_0x539af3();return _0x4b84bc;case 0x5:var _0x57b523={};for(_0x3d2acc=0x0;_0x3d2acc<_0x50115f||_0x50115f<0x0&&!_0x3ae364();++_0x3d2acc)_0x57b523[_0x539af3()]=_0x539af3();return _0x57b523;case 0x6:return _0x296e28(_0x539af3(),_0x50115f);case 0x7:switch(_0x50115f){case 0x14:return!0x1;case 0x15:return!0x0;case 0x16:return null;case 0x17:return _0x47838b;default:return _0x2126b9(_0x50115f);}}}();if(_0x320bb7!==_0x107a0a['byteLength'])throw'Remaining\x20bytes';return _0x177f4c;}},_0x30d39b['exports']?_0x30d39b['exports']=_0x2352ac:_0x1d6f9c['CBOR']||(_0x1d6f9c['CBOR']=_0x2352ac)),Ss['exports'];var _0x30d39b,_0x1d6f9c,_0x47838b,_0x202c0c,_0x2abb28,_0x354c51,_0x2352ac;}var Ls,Es,Cs,js,ks,Ts,Os,Fs={'exports':{}};function Ds(){if(Cs)return Es;Cs=0x1;var _0x2e56e6=Ms(),_0x247101=As(),_0x58a361=(Ls||(Ls=0x1,function(_0x35faf9){var _0x201906=Math['pow'](0x2,0x20),_0x55b61b=!0x1;function _0x4b26c9(){_0x55b61b||(_0x55b61b=!0x0);}var _0x3a0090={0x40:Uint8Array,0x45:Uint16Array,0x46:Uint32Array,0x48:Int8Array,0x4d:Int16Array,0x4e:Int32Array,0x55:Float32Array,0x56:Float64Array},_0x3a2da4={0x47:function(_0x2eb7b1){_0x4b26c9();for(var _0x1612ef=_0x2eb7b1['byteLength'],_0x4cc2a5=_0x2eb7b1['byteOffset'],_0x40955d=_0x1612ef/0x8,_0x38b5e2=_0x2eb7b1['buffer']['slice'](_0x4cc2a5,_0x4cc2a5+_0x1612ef),_0x2255ae=new Uint32Array(_0x38b5e2),_0xbaa4a0=new Array(_0x40955d),_0x593642=0x0;_0x593642<_0x40955d;_0x593642++){var _0x33a0b5=0x2*_0x593642,_0x39bb96=_0x2255ae[_0x33a0b5],_0x3b3019=_0x2255ae[_0x33a0b5+0x1];_0xbaa4a0[_0x593642]=_0x39bb96+_0x201906*_0x3b3019;}return _0xbaa4a0;},0x4f:function(_0x3718a8){_0x4b26c9();for(var _0x3f6ca7=_0x3718a8['byteLength'],_0x47b80f=_0x3718a8['byteOffset'],_0x48e65d=_0x3f6ca7/0x8,_0x2318fb=_0x3718a8['buffer']['slice'](_0x47b80f,_0x47b80f+_0x3f6ca7),_0x3f18cf=new Uint32Array(_0x2318fb),_0x4e8cb7=new Int32Array(_0x2318fb),_0x338e8a=new Array(_0x48e65d),_0x2d1894=0x0;_0x2d1894<_0x48e65d;_0x2d1894++){var _0x9b48e0=0x2*_0x2d1894,_0x16b6cd=_0x3f18cf[_0x9b48e0],_0x5e5d7f=_0x4e8cb7[_0x9b48e0+0x1];_0x338e8a[_0x2d1894]=_0x16b6cd+_0x201906*_0x5e5d7f;}return _0x338e8a;}};_0x35faf9['exports']&&(_0x35faf9['exports']=function(_0x3d5371,_0x4c0618){var _0x5ca590,_0x4ba680,_0x3a42ea,_0x1cdc0d;return _0x4c0618 in _0x3a0090?(_0x4ba680=_0x3a0090[_0x4c0618],_0x3a42ea=(_0x5ca590=_0x3d5371)['byteLength'],_0x1cdc0d=_0x5ca590['byteOffset'],new _0x4ba680(_0x5ca590['buffer']['slice'](_0x1cdc0d,_0x1cdc0d+_0x3a42ea))):_0x4c0618 in _0x3a2da4?_0x3a2da4[_0x4c0618](_0x3d5371):_0x3d5371;});}(Fs)),Fs['exports']),_0x4240cd=null;return'undefined'!=typeof bson&&(_0x4240cd=bson()['BSON']),Es=function(_0x31445c){var _0x94b7eb=null;function _0x422b1a(_0x5333b9){'publish'===_0x5333b9['op']?_0x31445c['emit'](_0x5333b9['topic'],_0x5333b9['msg']):'service_response'===_0x5333b9['op']?_0x31445c['emit'](_0x5333b9['id'],_0x5333b9):'call_service'===_0x5333b9['op']?_0x31445c['emit'](_0x5333b9['service'],_0x5333b9):'status'===_0x5333b9['op']&&(_0x5333b9['id']?_0x31445c['emit']('status:'+_0x5333b9['id'],_0x5333b9):_0x31445c['emit']('status',_0x5333b9));}function _0x3b7263(_0x3edda3,_0x2485e8){'png'===_0x3edda3['op']?_0x2e56e6(_0x3edda3['data'],_0x2485e8):_0x2485e8(_0x3edda3);}return _0x31445c['transportOptions']['decoder']&&(_0x94b7eb=_0x31445c['transportOptions']['decoder']),{'onopen':function(_0x27fb49){_0x31445c['isConnected']=!0x0,_0x31445c['emit']('connection',_0x27fb49);},'onclose':function(_0x150956){_0x31445c['isConnected']=!0x1,_0x31445c['emit']('close',_0x150956);},'onerror':function(_0x542657){_0x31445c['emit']('error',_0x542657);},'onmessage':function(_0x548002){if(_0x94b7eb)_0x94b7eb(_0x548002['data'],function(_0x2eee8c){_0x422b1a(_0x2eee8c);});else if('undefined'!=typeof Blob&&_0x548002['data']instanceof Blob)!function(_0x34d7cf,_0x369a37){if(!_0x4240cd)throw'Cannot\x20process\x20BSON\x20encoded\x20message\x20without\x20BSON\x20header.';var _0x554be8=new FileReader();_0x554be8['onload']=function(){var _0x3c59e1=new Uint8Array(this['result']),_0x10c296=_0x4240cd['deserialize'](_0x3c59e1);_0x369a37(_0x10c296);},_0x554be8['readAsArrayBuffer'](_0x34d7cf);}(_0x548002['data'],function(_0x276fda){_0x3b7263(_0x276fda,_0x422b1a);});else if(_0x548002['data']instanceof ArrayBuffer){_0x422b1a(_0x247101['decode'](_0x548002['data'],_0x58a361));}else{_0x3b7263(JSON['parse']('string'==typeof _0x548002?_0x548002:_0x548002['data']),_0x422b1a);}}};};}function Ps(){if(ks)return js;ks=0x1;var _0x48e246=as;return js=function(_0x4f45ef){_0x48e246(this,_0x4f45ef);};}function Is(){if(Os)return Ts;Os=0x1;var _0x435eda=as;return Ts=function(_0x5e57b0){_0x435eda(this,_0x5e57b0);};}var Rs,zs,Ns,Us,Vs,qs,Bs,$s,Js,Hs,Gs,Ws,Xs={'exports':{}};function Ys(){return Rs||(Rs=0x1,_0x40eb93=Xs,function(_0x318507){var _0x346d72=Object['hasOwnProperty'],_0x13a702=Array['isArray']?Array['isArray']:function(_0x25dc29){return'[object\x20Array]'===Object['prototype']['toString']['call'](_0x25dc29);},_0x165526='object'==typeof process&&'function'==typeof process['nextTick'],_0x375fa='function'==typeof Symbol,_0x3088a7='object'==typeof Reflect,_0x5c046b='function'==typeof setImmediate?setImmediate:setTimeout,_0x52cf2c=_0x375fa?_0x3088a7&&'function'==typeof Reflect['ownKeys']?Reflect['ownKeys']:function(_0x188e96){var _0x189c7b=Object['getOwnPropertyNames'](_0x188e96);return _0x189c7b['push']['apply'](_0x189c7b,Object['getOwnPropertySymbols'](_0x188e96)),_0x189c7b;}:Object['keys'];function _0x5b736f(){this['_events']={},this['_conf']&&_0x5125fa['call'](this,this['_conf']);}function _0x5125fa(_0x39f9e4){_0x39f9e4&&(this['_conf']=_0x39f9e4,_0x39f9e4['delimiter']&&(this['delimiter']=_0x39f9e4['delimiter']),_0x39f9e4['maxListeners']!==_0x318507&&(this['_maxListeners']=_0x39f9e4['maxListeners']),_0x39f9e4['wildcard']&&(this['wildcard']=_0x39f9e4['wildcard']),_0x39f9e4['newListener']&&(this['_newListener']=_0x39f9e4['newListener']),_0x39f9e4['removeListener']&&(this['_removeListener']=_0x39f9e4['removeListener']),_0x39f9e4['verboseMemoryLeak']&&(this['verboseMemoryLeak']=_0x39f9e4['verboseMemoryLeak']),_0x39f9e4['ignoreErrors']&&(this['ignoreErrors']=_0x39f9e4['ignoreErrors']),this['wildcard']&&(this['listenerTree']={}));}function _0x11e6d3(_0x10ba12,_0x3a102a){var _0x374714='(node)\x20warning:\x20possible\x20EventEmitter\x20memory\x20leak\x20detected.\x20'+_0x10ba12+'\x20listeners\x20added.\x20Use\x20emitter.setMaxListeners()\x20to\x20increase\x20limit.';if(this['verboseMemoryLeak']&&(_0x374714+='\x20Event\x20name:\x20'+_0x3a102a+'.'),'undefined'!=typeof process&&process['emitWarning']){var _0x3dabcc=new Error(_0x374714);_0x3dabcc['name']='MaxListenersExceededWarning',_0x3dabcc['emitter']=this,_0x3dabcc['count']=_0x10ba12,process['emitWarning'](_0x3dabcc);}else console['trace'];}var _0x580e3f=function(_0x183855,_0xfcfb77,_0x3795ea){var _0x50234f=arguments['length'];switch(_0x50234f){case 0x0:return[];case 0x1:return[_0x183855];case 0x2:return[_0x183855,_0xfcfb77];case 0x3:return[_0x183855,_0xfcfb77,_0x3795ea];default:for(var _0x5c9b6e=new Array(_0x50234f);_0x50234f--;)_0x5c9b6e[_0x50234f]=arguments[_0x50234f];return _0x5c9b6e;}};function _0x2560e7(_0x15105c,_0x46a583){for(var _0x208c11={},_0x4b870b=_0x15105c['length'],_0x3b3f67=_0x46a583?_0x46a583['length']:0x0,_0x1b333f=0x0;_0x1b333f<_0x4b870b;_0x1b333f++)_0x208c11[_0x15105c[_0x1b333f]]=_0x1b333f<_0x3b3f67?_0x46a583[_0x1b333f]:_0x318507;return _0x208c11;}function _0x3a6712(_0xdaa990,_0x3fadae,_0x188464){var _0x39c855,_0x12f4a3;if(this['_emitter']=_0xdaa990,this['_target']=_0x3fadae,this['_listeners']={},this['_listenersCount']=0x0,(_0x188464['on']||_0x188464['off'])&&(_0x39c855=_0x188464['on'],_0x12f4a3=_0x188464['off']),_0x3fadae['addEventListener']?(_0x39c855=_0x3fadae['addEventListener'],_0x12f4a3=_0x3fadae['removeEventListener']):_0x3fadae['addListener']?(_0x39c855=_0x3fadae['addListener'],_0x12f4a3=_0x3fadae['removeListener']):_0x3fadae['on']&&(_0x39c855=_0x3fadae['on'],_0x12f4a3=_0x3fadae['off']),!_0x39c855&&!_0x12f4a3)throw Error('target\x20does\x20not\x20implement\x20any\x20known\x20event\x20API');if('function'!=typeof _0x39c855)throw TypeError('on\x20method\x20must\x20be\x20a\x20function');if('function'!=typeof _0x12f4a3)throw TypeError('off\x20method\x20must\x20be\x20a\x20function');this['_on']=_0x39c855,this['_off']=_0x12f4a3;var _0x3e7e36=_0xdaa990['_observers'];_0x3e7e36?_0x3e7e36['push'](this):_0xdaa990['_observers']=[this];}function _0x11e574(_0x19c7b9,_0x32b4ac,_0xea727,_0x2c33d3){var _0x3da6a6=Object['assign']({},_0x32b4ac);if(!_0x19c7b9)return _0x3da6a6;if('object'!=typeof _0x19c7b9)throw TypeError('options\x20must\x20be\x20an\x20object');var _0x1760ca,_0x438d6d,_0x1c223c,_0x58ca5c=Object['keys'](_0x19c7b9),_0x5f24f8=_0x58ca5c['length'];function _0x134803(_0x26c29d){throw Error('Invalid\x20\x22'+_0x1760ca+'\x22\x20option\x20value'+(_0x26c29d?'.\x20Reason:\x20'+_0x26c29d:''));}for(var _0x5bd25c=0x0;_0x5bd25c<_0x5f24f8;_0x5bd25c++){if(_0x1760ca=_0x58ca5c[_0x5bd25c],!_0x2c33d3&&!_0x346d72['call'](_0x32b4ac,_0x1760ca))throw Error('Unknown\x20\x22'+_0x1760ca+'\x22\x20option');(_0x438d6d=_0x19c7b9[_0x1760ca])!==_0x318507&&(_0x1c223c=_0xea727[_0x1760ca],_0x3da6a6[_0x1760ca]=_0x1c223c?_0x1c223c(_0x438d6d,_0x134803):_0x438d6d);}return _0x3da6a6;}function _0x5152df(_0x75f9db,_0x43e69a){return'function'==typeof _0x75f9db&&_0x75f9db['hasOwnProperty']('prototype')||_0x43e69a('value\x20must\x20be\x20a\x20constructor'),_0x75f9db;}function _0x4c7b16(_0x4f2533){var _0x27c324='value\x20must\x20be\x20type\x20of\x20'+_0x4f2533['join']('|'),_0x47f14b=_0x4f2533['length'],_0x5be2e4=_0x4f2533[0x0],_0x5cf24d=_0x4f2533[0x1];return 0x1===_0x47f14b?function(_0x455b75,_0x536b91){if(typeof _0x455b75===_0x5be2e4)return _0x455b75;_0x536b91(_0x27c324);}:0x2===_0x47f14b?function(_0x856dd2,_0x4b34ac){var _0x52f1f9=typeof _0x856dd2;if(_0x52f1f9===_0x5be2e4||_0x52f1f9===_0x5cf24d)return _0x856dd2;_0x4b34ac(_0x27c324);}:function(_0xecad0b,_0x4bd8aa){for(var _0x46a63a=typeof _0xecad0b,_0x404ffc=_0x47f14b;_0x404ffc-->0x0;)if(_0x46a63a===_0x4f2533[_0x404ffc])return _0xecad0b;_0x4bd8aa(_0x27c324);};}Object['assign'](_0x3a6712['prototype'],{'subscribe':function(_0x261f26,_0x58bf1d,_0x239960){var _0xea6e18=this,_0x3f1fb4=this['_target'],_0x586afc=this['_emitter'],_0x28704c=this['_listeners'],_0x4b5fbd=function(){var _0x4ba728=_0x580e3f['apply'](null,arguments),_0x220832={'data':_0x4ba728,'name':_0x58bf1d,'original':_0x261f26};_0x239960?!0x1!==_0x239960['call'](_0x3f1fb4,_0x220832)&&_0x586afc['emit']['apply'](_0x586afc,[_0x220832['name']]['concat'](_0x4ba728)):_0x586afc['emit']['apply'](_0x586afc,[_0x58bf1d]['concat'](_0x4ba728));};if(_0x28704c[_0x261f26])throw Error('Event\x20\x27'+_0x261f26+'\x27\x20is\x20already\x20listening');this['_listenersCount']++,_0x586afc['_newListener']&&_0x586afc['_removeListener']&&!_0xea6e18['_onNewListener']?(this['_onNewListener']=function(_0x5b942d){_0x5b942d===_0x58bf1d&&null===_0x28704c[_0x261f26]&&(_0x28704c[_0x261f26]=_0x4b5fbd,_0xea6e18['_on']['call'](_0x3f1fb4,_0x261f26,_0x4b5fbd));},_0x586afc['on']('newListener',this['_onNewListener']),this['_onRemoveListener']=function(_0x58b97f){_0x58b97f===_0x58bf1d&&!_0x586afc['hasListeners'](_0x58b97f)&&_0x28704c[_0x261f26]&&(_0x28704c[_0x261f26]=null,_0xea6e18['_off']['call'](_0x3f1fb4,_0x261f26,_0x4b5fbd));},_0x28704c[_0x261f26]=null,_0x586afc['on']('removeListener',this['_onRemoveListener'])):(_0x28704c[_0x261f26]=_0x4b5fbd,_0xea6e18['_on']['call'](_0x3f1fb4,_0x261f26,_0x4b5fbd));},'unsubscribe':function(_0x434949){var _0xf0d032,_0x31ff05,_0x11e6f2,_0x485f66=this,_0x4f92d9=this['_listeners'],_0x44a977=this['_emitter'],_0x29b82a=this['_off'],_0x36bfc4=this['_target'];if(_0x434949&&'string'!=typeof _0x434949)throw TypeError('event\x20must\x20be\x20a\x20string');function _0x1db585(){_0x485f66['_onNewListener']&&(_0x44a977['off']('newListener',_0x485f66['_onNewListener']),_0x44a977['off']('removeListener',_0x485f66['_onRemoveListener']),_0x485f66['_onNewListener']=null,_0x485f66['_onRemoveListener']=null);var _0x28079e=_0x109341['call'](_0x44a977,_0x485f66);_0x44a977['_observers']['splice'](_0x28079e,0x1);}if(_0x434949){if(!(_0xf0d032=_0x4f92d9[_0x434949]))return;_0x29b82a['call'](_0x36bfc4,_0x434949,_0xf0d032),delete _0x4f92d9[_0x434949],--this['_listenersCount']||_0x1db585();}else{for(_0x11e6f2=(_0x31ff05=_0x52cf2c(_0x4f92d9))['length'];_0x11e6f2-->0x0;)_0x434949=_0x31ff05[_0x11e6f2],_0x29b82a['call'](_0x36bfc4,_0x434949,_0x4f92d9[_0x434949]);this['_listeners']={},this['_listenersCount']=0x0,_0x1db585();}}});var _0x36eda5=_0x4c7b16(['function']),_0x49e641=_0x4c7b16(['object','function']);function _0x389096(_0x2a697c,_0x103815,_0x29545a){var _0x93e5b5,_0x97e336,_0x2d4b47,_0x55b1b4=0x0,_0x42760e=new _0x2a697c(function(_0x129637,_0x199262,_0x4d2448){function _0xfe1a33(){_0x97e336&&(_0x97e336=null),_0x55b1b4&&(clearTimeout(_0x55b1b4),_0x55b1b4=0x0);}_0x29545a=_0x11e574(_0x29545a,{'timeout':0x0,'overload':!0x1},{'timeout':function(_0x5a0f2d,_0x102149){return('number'!=typeof(_0x5a0f2d*=0x1)||_0x5a0f2d<0x0||!Number['isFinite'](_0x5a0f2d))&&_0x102149('timeout\x20must\x20be\x20a\x20positive\x20number'),_0x5a0f2d;}}),_0x93e5b5=!_0x29545a['overload']&&'function'==typeof _0x2a697c['prototype']['cancel']&&'function'==typeof _0x4d2448;var _0x1d9dab=function(_0x28e69b){_0xfe1a33(),_0x129637(_0x28e69b);},_0x4cd997=function(_0x3d1ce4){_0xfe1a33(),_0x199262(_0x3d1ce4);};_0x93e5b5?_0x103815(_0x1d9dab,_0x4cd997,_0x4d2448):(_0x97e336=[function(_0x41de27){_0x4cd997(_0x41de27||Error('canceled'));}],_0x103815(_0x1d9dab,_0x4cd997,function(_0x234c3d){if(_0x2d4b47)throw Error('Unable\x20to\x20subscribe\x20on\x20cancel\x20event\x20asynchronously');if('function'!=typeof _0x234c3d)throw TypeError('onCancel\x20callback\x20must\x20be\x20a\x20function');_0x97e336['push'](_0x234c3d);}),_0x2d4b47=!0x0),_0x29545a['timeout']>0x0&&(_0x55b1b4=setTimeout(function(){var _0x2fb294=Error('timeout');_0x2fb294['code']='ETIMEDOUT',_0x55b1b4=0x0,_0x42760e['cancel'](_0x2fb294),_0x199262(_0x2fb294);},_0x29545a['timeout']));});return _0x93e5b5||(_0x42760e['cancel']=function(_0x2a9b05){if(_0x97e336){for(var _0x54e8ad=_0x97e336['length'],_0x21fc4f=0x1;_0x21fc4f<_0x54e8ad;_0x21fc4f++)_0x97e336[_0x21fc4f](_0x2a9b05);_0x97e336[0x0](_0x2a9b05),_0x97e336=null;}}),_0x42760e;}function _0x109341(_0x307c05){var _0x27721a=this['_observers'];if(!_0x27721a)return-0x1;for(var _0x262638=_0x27721a['length'],_0x26b70b=0x0;_0x26b70b<_0x262638;_0x26b70b++)if(_0x27721a[_0x26b70b]['_target']===_0x307c05)return _0x26b70b;return-0x1;}function _0x3a0346(_0x4ec0d6,_0x4a1c86,_0x3115ff,_0x43f07e,_0x31a0b1){if(!_0x3115ff)return null;if(0x0===_0x43f07e){var _0x47e3b3=typeof _0x4a1c86;if('string'===_0x47e3b3){var _0x1af8b5,_0x33ed23,_0x35bbcb=0x0,_0x42526f=0x0,_0x343be2=this['delimiter'],_0x4ae960=_0x343be2['length'];if(-0x1!==(_0x33ed23=_0x4a1c86['indexOf'](_0x343be2))){_0x1af8b5=new Array(0x5);do{_0x1af8b5[_0x35bbcb++]=_0x4a1c86['slice'](_0x42526f,_0x33ed23),_0x42526f=_0x33ed23+_0x4ae960;}while(-0x1!==(_0x33ed23=_0x4a1c86['indexOf'](_0x343be2,_0x42526f)));_0x1af8b5[_0x35bbcb++]=_0x4a1c86['slice'](_0x42526f),_0x4a1c86=_0x1af8b5,_0x31a0b1=_0x35bbcb;}else _0x4a1c86=[_0x4a1c86],_0x31a0b1=0x1;}else'object'===_0x47e3b3?_0x31a0b1=_0x4a1c86['length']:(_0x4a1c86=[_0x4a1c86],_0x31a0b1=0x1);}var _0x2a2a9c,_0x5288,_0x1e8cb5,_0xb5a87,_0x5b37b9,_0x27ef34,_0x1ba3a0,_0x2a70f6=null,_0x1f1bfc=_0x4a1c86[_0x43f07e],_0x192387=_0x4a1c86[_0x43f07e+0x1];if(_0x43f07e===_0x31a0b1)_0x3115ff['_listeners']&&('function'==typeof _0x3115ff['_listeners']?(_0x4ec0d6&&_0x4ec0d6['push'](_0x3115ff['_listeners']),_0x2a70f6=[_0x3115ff]):(_0x4ec0d6&&_0x4ec0d6['push']['apply'](_0x4ec0d6,_0x3115ff['_listeners']),_0x2a70f6=[_0x3115ff]));else{if('*'===_0x1f1bfc){for(_0x33ed23=(_0x27ef34=_0x52cf2c(_0x3115ff))['length'];_0x33ed23-->0x0;)'_listeners'!==(_0x2a2a9c=_0x27ef34[_0x33ed23])&&(_0x1ba3a0=_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x3115ff[_0x2a2a9c],_0x43f07e+0x1,_0x31a0b1))&&(_0x2a70f6?_0x2a70f6['push']['apply'](_0x2a70f6,_0x1ba3a0):_0x2a70f6=_0x1ba3a0);return _0x2a70f6;}if('**'===_0x1f1bfc){for((_0x5b37b9=_0x43f07e+0x1===_0x31a0b1||_0x43f07e+0x2===_0x31a0b1&&'*'===_0x192387)&&_0x3115ff['_listeners']&&(_0x2a70f6=_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x3115ff,_0x31a0b1,_0x31a0b1)),_0x33ed23=(_0x27ef34=_0x52cf2c(_0x3115ff))['length'];_0x33ed23-->0x0;)'_listeners'!==(_0x2a2a9c=_0x27ef34[_0x33ed23])&&('*'===_0x2a2a9c||'**'===_0x2a2a9c?(_0x3115ff[_0x2a2a9c]['_listeners']&&!_0x5b37b9&&(_0x1ba3a0=_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x3115ff[_0x2a2a9c],_0x31a0b1,_0x31a0b1))&&(_0x2a70f6?_0x2a70f6['push']['apply'](_0x2a70f6,_0x1ba3a0):_0x2a70f6=_0x1ba3a0),_0x1ba3a0=_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x3115ff[_0x2a2a9c],_0x43f07e,_0x31a0b1)):_0x1ba3a0=_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x3115ff[_0x2a2a9c],_0x2a2a9c===_0x192387?_0x43f07e+0x2:_0x43f07e,_0x31a0b1),_0x1ba3a0&&(_0x2a70f6?_0x2a70f6['push']['apply'](_0x2a70f6,_0x1ba3a0):_0x2a70f6=_0x1ba3a0));return _0x2a70f6;}_0x3115ff[_0x1f1bfc]&&(_0x2a70f6=_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x3115ff[_0x1f1bfc],_0x43f07e+0x1,_0x31a0b1));}if((_0x5288=_0x3115ff['*'])&&_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x5288,_0x43f07e+0x1,_0x31a0b1),_0x1e8cb5=_0x3115ff['**'])if(_0x43f07e<_0x31a0b1)for(_0x1e8cb5['_listeners']&&_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x1e8cb5,_0x31a0b1,_0x31a0b1),_0x33ed23=(_0x27ef34=_0x52cf2c(_0x1e8cb5))['length'];_0x33ed23-->0x0;)'_listeners'!==(_0x2a2a9c=_0x27ef34[_0x33ed23])&&(_0x2a2a9c===_0x192387?_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x1e8cb5[_0x2a2a9c],_0x43f07e+0x2,_0x31a0b1):_0x2a2a9c===_0x1f1bfc?_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x1e8cb5[_0x2a2a9c],_0x43f07e+0x1,_0x31a0b1):((_0xb5a87={})[_0x2a2a9c]=_0x1e8cb5[_0x2a2a9c],_0x3a0346(_0x4ec0d6,_0x4a1c86,{'**':_0xb5a87},_0x43f07e+0x1,_0x31a0b1)));else _0x1e8cb5['_listeners']?_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x1e8cb5,_0x31a0b1,_0x31a0b1):_0x1e8cb5['*']&&_0x1e8cb5['*']['_listeners']&&_0x3a0346(_0x4ec0d6,_0x4a1c86,_0x1e8cb5['*'],_0x31a0b1,_0x31a0b1);return _0x2a70f6;}function _0x1a388a(_0xe5c67a,_0x3b0dfe,_0x3033d9){var _0x1ffdc7,_0x3e8283,_0x39d75d=0x0,_0x49adce=0x0,_0x12653b=this['delimiter'],_0x5bd4da=_0x12653b['length'];if('string'==typeof _0xe5c67a)if(-0x1!==(_0x1ffdc7=_0xe5c67a['indexOf'](_0x12653b))){_0x3e8283=new Array(0x5);do{_0x3e8283[_0x39d75d++]=_0xe5c67a['slice'](_0x49adce,_0x1ffdc7),_0x49adce=_0x1ffdc7+_0x5bd4da;}while(-0x1!==(_0x1ffdc7=_0xe5c67a['indexOf'](_0x12653b,_0x49adce)));_0x3e8283[_0x39d75d++]=_0xe5c67a['slice'](_0x49adce);}else _0x3e8283=[_0xe5c67a],_0x39d75d=0x1;else _0x3e8283=_0xe5c67a,_0x39d75d=_0xe5c67a['length'];if(_0x39d75d>0x1)for(_0x1ffdc7=0x0;_0x1ffdc7+0x1<_0x39d75d;_0x1ffdc7++)if('**'===_0x3e8283[_0x1ffdc7]&&'**'===_0x3e8283[_0x1ffdc7+0x1])return;var _0x2e7270,_0x180ba7=this['listenerTree'];for(_0x1ffdc7=0x0;_0x1ffdc7<_0x39d75d;_0x1ffdc7++)if(_0x180ba7=_0x180ba7[_0x2e7270=_0x3e8283[_0x1ffdc7]]||(_0x180ba7[_0x2e7270]={}),_0x1ffdc7===_0x39d75d-0x1)return _0x180ba7['_listeners']?('function'==typeof _0x180ba7['_listeners']&&(_0x180ba7['_listeners']=[_0x180ba7['_listeners']]),_0x3033d9?_0x180ba7['_listeners']['unshift'](_0x3b0dfe):_0x180ba7['_listeners']['push'](_0x3b0dfe),!_0x180ba7['_listeners']['warned']&&this['_maxListeners']>0x0&&_0x180ba7['_listeners']['length']>this['_maxListeners']&&(_0x180ba7['_listeners']['warned']=!0x0,_0x11e6d3['call'](this,_0x180ba7['_listeners']['length'],_0x2e7270))):_0x180ba7['_listeners']=_0x3b0dfe,!0x0;return!0x0;}function _0x4c8f19(_0x44f92b,_0x400dbc,_0x17d668,_0x5ea277){for(var _0x227198,_0x55bd31,_0xf10222,_0x37ce42,_0x4483c9=_0x52cf2c(_0x44f92b),_0x2805c7=_0x4483c9['length'],_0x483c96=_0x44f92b['_listeners'];_0x2805c7-->0x0;)_0x227198=_0x44f92b[_0x55bd31=_0x4483c9[_0x2805c7]],_0xf10222='_listeners'===_0x55bd31?_0x17d668:_0x17d668?_0x17d668['concat'](_0x55bd31):[_0x55bd31],_0x37ce42=_0x5ea277||'symbol'==typeof _0x55bd31,_0x483c96&&_0x400dbc['push'](_0x37ce42?_0xf10222:_0xf10222['join'](this['delimiter'])),'object'==typeof _0x227198&&_0x4c8f19['call'](this,_0x227198,_0x400dbc,_0xf10222,_0x37ce42);return _0x400dbc;}function _0x1e422e(_0x826fd8){for(var _0x52a0c3,_0x293704,_0x10a5d9,_0x341b00=_0x52cf2c(_0x826fd8),_0x57a18a=_0x341b00['length'];_0x57a18a-->0x0;)(_0x52a0c3=_0x826fd8[_0x293704=_0x341b00[_0x57a18a]])&&(_0x10a5d9=!0x0,'_listeners'===_0x293704||_0x1e422e(_0x52a0c3)||delete _0x826fd8[_0x293704]);return _0x10a5d9;}function _0x42f3f4(_0x35f409,_0x11c183,_0x4183de){this['emitter']=_0x35f409,this['event']=_0x11c183,this['listener']=_0x4183de;}function _0x2ceb78(_0x1591e8,_0x4ff6a4,_0x28339d){if(!0x0===_0x28339d)_0x299b9d=!0x0;else if(!0x1===_0x28339d)_0x546738=!0x0;else{if(!_0x28339d||'object'!=typeof _0x28339d)throw TypeError('options\x20should\x20be\x20an\x20object\x20or\x20true');var _0x546738=_0x28339d['async'],_0x299b9d=_0x28339d['promisify'],_0x493462=_0x28339d['nextTick'],_0x3249c6=_0x28339d['objectify'];}if(_0x546738||_0x493462||_0x299b9d){var _0x3a6576=_0x4ff6a4,_0x16851e=_0x4ff6a4['_origin']||_0x4ff6a4;if(_0x493462&&!_0x165526)throw Error('process.nextTick\x20is\x20not\x20supported');_0x299b9d===_0x318507&&(_0x299b9d='AsyncFunction'===_0x4ff6a4['constructor']['name']),_0x4ff6a4=function(){var _0x49ae4d=arguments,_0x3d0556=this,_0x35447f=this['event'];return _0x299b9d?_0x493462?Promise['resolve']():new Promise(function(_0x233a48){_0x5c046b(_0x233a48);})['then'](function(){return _0x3d0556['event']=_0x35447f,_0x3a6576['apply'](_0x3d0556,_0x49ae4d);}):(_0x493462?process['nextTick']:_0x5c046b)(function(){_0x3d0556['event']=_0x35447f,_0x3a6576['apply'](_0x3d0556,_0x49ae4d);});},_0x4ff6a4['_async']=!0x0,_0x4ff6a4['_origin']=_0x16851e;}return[_0x4ff6a4,_0x3249c6?new _0x42f3f4(this,_0x1591e8,_0x4ff6a4):this];}function _0x1c03a5(_0x481ad7){this['_events']={},this['_newListener']=!0x1,this['_removeListener']=!0x1,this['verboseMemoryLeak']=!0x1,_0x5125fa['call'](this,_0x481ad7);}_0x42f3f4['prototype']['off']=function(){return this['emitter']['off'](this['event'],this['listener']),this;},_0x1c03a5['EventEmitter2']=_0x1c03a5,_0x1c03a5['prototype']['listenTo']=function(_0x5349f6,_0xddf837,_0x5693e6){if('object'!=typeof _0x5349f6)throw TypeError('target\x20musts\x20be\x20an\x20object');var _0x173725=this;function _0x2c85b0(_0x4b50c8){if('object'!=typeof _0x4b50c8)throw TypeError('events\x20must\x20be\x20an\x20object');var _0x38d7fb,_0x30f099=_0x5693e6['reducers'],_0x1202d9=_0x109341['call'](_0x173725,_0x5349f6);_0x38d7fb=-0x1===_0x1202d9?new _0x3a6712(_0x173725,_0x5349f6,_0x5693e6):_0x173725['_observers'][_0x1202d9];for(var _0xd71cd5,_0x1e302b=_0x52cf2c(_0x4b50c8),_0x308e57=_0x1e302b['length'],_0x3b5795='function'==typeof _0x30f099,_0x5907d9=0x0;_0x5907d9<_0x308e57;_0x5907d9++)_0xd71cd5=_0x1e302b[_0x5907d9],_0x38d7fb['subscribe'](_0xd71cd5,_0x4b50c8[_0xd71cd5]||_0xd71cd5,_0x3b5795?_0x30f099:_0x30f099&&_0x30f099[_0xd71cd5]);}return _0x5693e6=_0x11e574(_0x5693e6,{'on':_0x318507,'off':_0x318507,'reducers':_0x318507},{'on':_0x36eda5,'off':_0x36eda5,'reducers':_0x49e641}),_0x13a702(_0xddf837)?_0x2c85b0(_0x2560e7(_0xddf837)):_0x2c85b0('string'==typeof _0xddf837?_0x2560e7(_0xddf837['split'](/\s+/)):_0xddf837),this;},_0x1c03a5['prototype']['stopListeningTo']=function(_0x325e4c,_0x3a7209){var _0x336f45=this['_observers'];if(!_0x336f45)return!0x1;var _0x186b77,_0x3f890e=_0x336f45['length'],_0x283d47=!0x1;if(_0x325e4c&&'object'!=typeof _0x325e4c)throw TypeError('target\x20should\x20be\x20an\x20object');for(;_0x3f890e-->0x0;)_0x186b77=_0x336f45[_0x3f890e],_0x325e4c&&_0x186b77['_target']!==_0x325e4c||(_0x186b77['unsubscribe'](_0x3a7209),_0x283d47=!0x0);return _0x283d47;},_0x1c03a5['prototype']['delimiter']='.',_0x1c03a5['prototype']['setMaxListeners']=function(_0x5e3d8f){_0x5e3d8f!==_0x318507&&(this['_maxListeners']=_0x5e3d8f,this['_conf']||(this['_conf']={}),this['_conf']['maxListeners']=_0x5e3d8f);},_0x1c03a5['prototype']['getMaxListeners']=function(){return this['_maxListeners'];},_0x1c03a5['prototype']['event']='',_0x1c03a5['prototype']['once']=function(_0x21f0b0,_0x4bb858,_0x3872d0){return this['_once'](_0x21f0b0,_0x4bb858,!0x1,_0x3872d0);},_0x1c03a5['prototype']['prependOnceListener']=function(_0x30dc9b,_0x23ab52,_0x2114cf){return this['_once'](_0x30dc9b,_0x23ab52,!0x0,_0x2114cf);},_0x1c03a5['prototype']['_once']=function(_0x412212,_0x5a89b4,_0x8a42d2,_0x5641ad){return this['_many'](_0x412212,0x1,_0x5a89b4,_0x8a42d2,_0x5641ad);},_0x1c03a5['prototype']['many']=function(_0x2a0971,_0x2cac79,_0x5df424,_0x8656c7){return this['_many'](_0x2a0971,_0x2cac79,_0x5df424,!0x1,_0x8656c7);},_0x1c03a5['prototype']['prependMany']=function(_0x54e4ae,_0x371278,_0x5c85e6,_0x3eae8a){return this['_many'](_0x54e4ae,_0x371278,_0x5c85e6,!0x0,_0x3eae8a);},_0x1c03a5['prototype']['_many']=function(_0x2db72d,_0x2ae60a,_0x339178,_0x4c965b,_0x615047){var _0x2e3f30=this;if('function'!=typeof _0x339178)throw new Error('many\x20only\x20accepts\x20instances\x20of\x20Function');function _0x5ab2bd(){return 0x0===--_0x2ae60a&&_0x2e3f30['off'](_0x2db72d,_0x5ab2bd),_0x339178['apply'](this,arguments);}return _0x5ab2bd['_origin']=_0x339178,this['_on'](_0x2db72d,_0x5ab2bd,_0x4c965b,_0x615047);},_0x1c03a5['prototype']['emit']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x5b736f['call'](this);var _0xb80cb6,_0x1a3be3,_0x15a93e,_0x48eb67,_0x3fc26f,_0x112406,_0x5ab51c=arguments[0x0],_0x5055f6=this['wildcard'];if('newListener'===_0x5ab51c&&!this['_newListener']&&!this['_events']['newListener'])return!0x1;if(_0x5055f6&&(_0xb80cb6=_0x5ab51c,'newListener'!==_0x5ab51c&&'removeListener'!==_0x5ab51c&&'object'==typeof _0x5ab51c)){if(_0x15a93e=_0x5ab51c['length'],_0x375fa)for(_0x48eb67=0x0;_0x48eb67<_0x15a93e;_0x48eb67++)if('symbol'==typeof _0x5ab51c[_0x48eb67]){_0x112406=!0x0;break;}_0x112406||(_0x5ab51c=_0x5ab51c['join'](this['delimiter']));}var _0x59c182,_0x1d963e=arguments['length'];if(this['_all']&&this['_all']['length'])for(_0x48eb67=0x0,_0x15a93e=(_0x59c182=this['_all']['slice']())['length'];_0x48eb67<_0x15a93e;_0x48eb67++)switch(this['event']=_0x5ab51c,_0x1d963e){case 0x1:_0x59c182[_0x48eb67]['call'](this,_0x5ab51c);break;case 0x2:_0x59c182[_0x48eb67]['call'](this,_0x5ab51c,arguments[0x1]);break;case 0x3:_0x59c182[_0x48eb67]['call'](this,_0x5ab51c,arguments[0x1],arguments[0x2]);break;default:_0x59c182[_0x48eb67]['apply'](this,arguments);}if(_0x5055f6)_0x59c182=[],_0x3a0346['call'](this,_0x59c182,_0xb80cb6,this['listenerTree'],0x0,_0x15a93e);else{if('function'==typeof(_0x59c182=this['_events'][_0x5ab51c])){switch(this['event']=_0x5ab51c,_0x1d963e){case 0x1:_0x59c182['call'](this);break;case 0x2:_0x59c182['call'](this,arguments[0x1]);break;case 0x3:_0x59c182['call'](this,arguments[0x1],arguments[0x2]);break;default:for(_0x1a3be3=new Array(_0x1d963e-0x1),_0x3fc26f=0x1;_0x3fc26f<_0x1d963e;_0x3fc26f++)_0x1a3be3[_0x3fc26f-0x1]=arguments[_0x3fc26f];_0x59c182['apply'](this,_0x1a3be3);}return!0x0;}_0x59c182&&(_0x59c182=_0x59c182['slice']());}if(_0x59c182&&_0x59c182['length']){if(_0x1d963e>0x3)for(_0x1a3be3=new Array(_0x1d963e-0x1),_0x3fc26f=0x1;_0x3fc26f<_0x1d963e;_0x3fc26f++)_0x1a3be3[_0x3fc26f-0x1]=arguments[_0x3fc26f];for(_0x48eb67=0x0,_0x15a93e=_0x59c182['length'];_0x48eb67<_0x15a93e;_0x48eb67++)switch(this['event']=_0x5ab51c,_0x1d963e){case 0x1:_0x59c182[_0x48eb67]['call'](this);break;case 0x2:_0x59c182[_0x48eb67]['call'](this,arguments[0x1]);break;case 0x3:_0x59c182[_0x48eb67]['call'](this,arguments[0x1],arguments[0x2]);break;default:_0x59c182[_0x48eb67]['apply'](this,_0x1a3be3);}return!0x0;}if(!this['ignoreErrors']&&!this['_all']&&'error'===_0x5ab51c)throw arguments[0x1]instanceof Error?arguments[0x1]:new Error('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return!!this['_all'];},_0x1c03a5['prototype']['emitAsync']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x5b736f['call'](this);var _0x13b3fd,_0x334f21,_0x11e477,_0x3dba55,_0x37b6b7,_0x305408,_0x39f5e7=arguments[0x0],_0x1c604f=this['wildcard'];if('newListener'===_0x39f5e7&&!this['_newListener']&&!this['_events']['newListener'])return Promise['resolve']([!0x1]);if(_0x1c604f&&(_0x13b3fd=_0x39f5e7,'newListener'!==_0x39f5e7&&'removeListener'!==_0x39f5e7&&'object'==typeof _0x39f5e7)){if(_0x3dba55=_0x39f5e7['length'],_0x375fa)for(_0x37b6b7=0x0;_0x37b6b7<_0x3dba55;_0x37b6b7++)if('symbol'==typeof _0x39f5e7[_0x37b6b7]){_0x334f21=!0x0;break;}_0x334f21||(_0x39f5e7=_0x39f5e7['join'](this['delimiter']));}var _0xc1aae3,_0x488204=[],_0x409a58=arguments['length'];if(this['_all'])for(_0x37b6b7=0x0,_0x3dba55=this['_all']['length'];_0x37b6b7<_0x3dba55;_0x37b6b7++)switch(this['event']=_0x39f5e7,_0x409a58){case 0x1:_0x488204['push'](this['_all'][_0x37b6b7]['call'](this,_0x39f5e7));break;case 0x2:_0x488204['push'](this['_all'][_0x37b6b7]['call'](this,_0x39f5e7,arguments[0x1]));break;case 0x3:_0x488204['push'](this['_all'][_0x37b6b7]['call'](this,_0x39f5e7,arguments[0x1],arguments[0x2]));break;default:_0x488204['push'](this['_all'][_0x37b6b7]['apply'](this,arguments));}if(_0x1c604f?(_0xc1aae3=[],_0x3a0346['call'](this,_0xc1aae3,_0x13b3fd,this['listenerTree'],0x0)):_0xc1aae3=this['_events'][_0x39f5e7],'function'==typeof _0xc1aae3)switch(this['event']=_0x39f5e7,_0x409a58){case 0x1:_0x488204['push'](_0xc1aae3['call'](this));break;case 0x2:_0x488204['push'](_0xc1aae3['call'](this,arguments[0x1]));break;case 0x3:_0x488204['push'](_0xc1aae3['call'](this,arguments[0x1],arguments[0x2]));break;default:for(_0x11e477=new Array(_0x409a58-0x1),_0x305408=0x1;_0x305408<_0x409a58;_0x305408++)_0x11e477[_0x305408-0x1]=arguments[_0x305408];_0x488204['push'](_0xc1aae3['apply'](this,_0x11e477));}else if(_0xc1aae3&&_0xc1aae3['length']){if(_0xc1aae3=_0xc1aae3['slice'](),_0x409a58>0x3)for(_0x11e477=new Array(_0x409a58-0x1),_0x305408=0x1;_0x305408<_0x409a58;_0x305408++)_0x11e477[_0x305408-0x1]=arguments[_0x305408];for(_0x37b6b7=0x0,_0x3dba55=_0xc1aae3['length'];_0x37b6b7<_0x3dba55;_0x37b6b7++)switch(this['event']=_0x39f5e7,_0x409a58){case 0x1:_0x488204['push'](_0xc1aae3[_0x37b6b7]['call'](this));break;case 0x2:_0x488204['push'](_0xc1aae3[_0x37b6b7]['call'](this,arguments[0x1]));break;case 0x3:_0x488204['push'](_0xc1aae3[_0x37b6b7]['call'](this,arguments[0x1],arguments[0x2]));break;default:_0x488204['push'](_0xc1aae3[_0x37b6b7]['apply'](this,_0x11e477));}}else if(!this['ignoreErrors']&&!this['_all']&&'error'===_0x39f5e7)return arguments[0x1]instanceof Error?Promise['reject'](arguments[0x1]):Promise['reject']('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return Promise['all'](_0x488204);},_0x1c03a5['prototype']['on']=function(_0x2e64f2,_0x3ebf27,_0x51d218){return this['_on'](_0x2e64f2,_0x3ebf27,!0x1,_0x51d218);},_0x1c03a5['prototype']['prependListener']=function(_0x2131d4,_0xfaeadd,_0x418d03){return this['_on'](_0x2131d4,_0xfaeadd,!0x0,_0x418d03);},_0x1c03a5['prototype']['onAny']=function(_0x22e031){return this['_onAny'](_0x22e031,!0x1);},_0x1c03a5['prototype']['prependAny']=function(_0xd62cbb){return this['_onAny'](_0xd62cbb,!0x0);},_0x1c03a5['prototype']['addListener']=_0x1c03a5['prototype']['on'],_0x1c03a5['prototype']['_onAny']=function(_0xbc92d0,_0x3426f7){if('function'!=typeof _0xbc92d0)throw new Error('onAny\x20only\x20accepts\x20instances\x20of\x20Function');return this['_all']||(this['_all']=[]),_0x3426f7?this['_all']['unshift'](_0xbc92d0):this['_all']['push'](_0xbc92d0),this;},_0x1c03a5['prototype']['_on']=function(_0x4de28d,_0x33acbb,_0x5c536d,_0x27950a){if('function'==typeof _0x4de28d)return this['_onAny'](_0x4de28d,_0x33acbb),this;if('function'!=typeof _0x33acbb)throw new Error('on\x20only\x20accepts\x20instances\x20of\x20Function');this['_events']||_0x5b736f['call'](this);var _0x290912,_0x15afd1=this;return _0x27950a!==_0x318507&&(_0x33acbb=(_0x290912=_0x2ceb78['call'](this,_0x4de28d,_0x33acbb,_0x27950a))[0x0],_0x15afd1=_0x290912[0x1]),this['_newListener']&&this['emit']('newListener',_0x4de28d,_0x33acbb),this['wildcard']?(_0x1a388a['call'](this,_0x4de28d,_0x33acbb,_0x5c536d),_0x15afd1):(this['_events'][_0x4de28d]?('function'==typeof this['_events'][_0x4de28d]&&(this['_events'][_0x4de28d]=[this['_events'][_0x4de28d]]),_0x5c536d?this['_events'][_0x4de28d]['unshift'](_0x33acbb):this['_events'][_0x4de28d]['push'](_0x33acbb),!this['_events'][_0x4de28d]['warned']&&this['_maxListeners']>0x0&&this['_events'][_0x4de28d]['length']>this['_maxListeners']&&(this['_events'][_0x4de28d]['warned']=!0x0,_0x11e6d3['call'](this,this['_events'][_0x4de28d]['length'],_0x4de28d))):this['_events'][_0x4de28d]=_0x33acbb,_0x15afd1);},_0x1c03a5['prototype']['off']=function(_0x91979a,_0x465be9){if('function'!=typeof _0x465be9)throw new Error('removeListener\x20only\x20takes\x20instances\x20of\x20Function');var _0x58a162,_0x9da066=[];if(this['wildcard']){var _0x29b641='string'==typeof _0x91979a?_0x91979a['split'](this['delimiter']):_0x91979a['slice']();if(!(_0x9da066=_0x3a0346['call'](this,null,_0x29b641,this['listenerTree'],0x0)))return this;}else{if(!this['_events'][_0x91979a])return this;_0x58a162=this['_events'][_0x91979a],_0x9da066['push']({'_listeners':_0x58a162});}for(var _0x4ae7b2=0x0;_0x4ae7b2<_0x9da066['length'];_0x4ae7b2++){var _0x161194=_0x9da066[_0x4ae7b2];if(_0x58a162=_0x161194['_listeners'],_0x13a702(_0x58a162)){for(var _0x56277f=-0x1,_0xc7aa05=0x0,_0x53faf8=_0x58a162['length'];_0xc7aa05<_0x53faf8;_0xc7aa05++)if(_0x58a162[_0xc7aa05]===_0x465be9||_0x58a162[_0xc7aa05]['listener']&&_0x58a162[_0xc7aa05]['listener']===_0x465be9||_0x58a162[_0xc7aa05]['_origin']&&_0x58a162[_0xc7aa05]['_origin']===_0x465be9){_0x56277f=_0xc7aa05;break;}if(_0x56277f<0x0)continue;return this['wildcard']?_0x161194['_listeners']['splice'](_0x56277f,0x1):this['_events'][_0x91979a]['splice'](_0x56277f,0x1),0x0===_0x58a162['length']&&(this['wildcard']?delete _0x161194['_listeners']:delete this['_events'][_0x91979a]),this['_removeListener']&&this['emit']('removeListener',_0x91979a,_0x465be9),this;}(_0x58a162===_0x465be9||_0x58a162['listener']&&_0x58a162['listener']===_0x465be9||_0x58a162['_origin']&&_0x58a162['_origin']===_0x465be9)&&(this['wildcard']?delete _0x161194['_listeners']:delete this['_events'][_0x91979a],this['_removeListener']&&this['emit']('removeListener',_0x91979a,_0x465be9));}return this['listenerTree']&&_0x1e422e(this['listenerTree']),this;},_0x1c03a5['prototype']['offAny']=function(_0x597193){var _0x288fb6,_0xc8260b=0x0,_0x27d095=0x0;if(_0x597193&&this['_all']&&this['_all']['length']>0x0){for(_0xc8260b=0x0,_0x27d095=(_0x288fb6=this['_all'])['length'];_0xc8260b<_0x27d095;_0xc8260b++)if(_0x597193===_0x288fb6[_0xc8260b])return _0x288fb6['splice'](_0xc8260b,0x1),this['_removeListener']&&this['emit']('removeListenerAny',_0x597193),this;}else{if(_0x288fb6=this['_all'],this['_removeListener'])for(_0xc8260b=0x0,_0x27d095=_0x288fb6['length'];_0xc8260b<_0x27d095;_0xc8260b++)this['emit']('removeListenerAny',_0x288fb6[_0xc8260b]);this['_all']=[];}return this;},_0x1c03a5['prototype']['removeListener']=_0x1c03a5['prototype']['off'],_0x1c03a5['prototype']['removeAllListeners']=function(_0x2f646c){if(_0x2f646c===_0x318507)return!this['_events']||_0x5b736f['call'](this),this;if(this['wildcard']){var _0x17e2e3,_0x55a26a=_0x3a0346['call'](this,null,_0x2f646c,this['listenerTree'],0x0);if(!_0x55a26a)return this;for(_0x17e2e3=0x0;_0x17e2e3<_0x55a26a['length'];_0x17e2e3++)_0x55a26a[_0x17e2e3]['_listeners']=null;this['listenerTree']&&_0x1e422e(this['listenerTree']);}else this['_events']&&(this['_events'][_0x2f646c]=null);return this;},_0x1c03a5['prototype']['listeners']=function(_0x273a63){var _0x15fd2a,_0x2de707,_0x2daa96,_0x4e37ca,_0x483fca,_0x5128cb=this['_events'];if(_0x273a63===_0x318507){if(this['wildcard'])throw Error('event\x20name\x20required\x20for\x20wildcard\x20emitter');if(!_0x5128cb)return[];for(_0x4e37ca=(_0x15fd2a=_0x52cf2c(_0x5128cb))['length'],_0x2daa96=[];_0x4e37ca-->0x0;)'function'==typeof(_0x2de707=_0x5128cb[_0x15fd2a[_0x4e37ca]])?_0x2daa96['push'](_0x2de707):_0x2daa96['push']['apply'](_0x2daa96,_0x2de707);return _0x2daa96;}if(this['wildcard']){if(!(_0x483fca=this['listenerTree']))return[];var _0x150ef7=[],_0xeed2e0='string'==typeof _0x273a63?_0x273a63['split'](this['delimiter']):_0x273a63['slice']();return _0x3a0346['call'](this,_0x150ef7,_0xeed2e0,_0x483fca,0x0),_0x150ef7;}return _0x5128cb&&(_0x2de707=_0x5128cb[_0x273a63])?'function'==typeof _0x2de707?[_0x2de707]:_0x2de707:[];},_0x1c03a5['prototype']['eventNames']=function(_0x494b3b){var _0x59269b=this['_events'];return this['wildcard']?_0x4c8f19['call'](this,this['listenerTree'],[],null,_0x494b3b):_0x59269b?_0x52cf2c(_0x59269b):[];},_0x1c03a5['prototype']['listenerCount']=function(_0x5c70ca){return this['listeners'](_0x5c70ca)['length'];},_0x1c03a5['prototype']['hasListeners']=function(_0x2d95f1){if(this['wildcard']){var _0x44558a=[],_0x18aabf='string'==typeof _0x2d95f1?_0x2d95f1['split'](this['delimiter']):_0x2d95f1['slice']();return _0x3a0346['call'](this,_0x44558a,_0x18aabf,this['listenerTree'],0x0),_0x44558a['length']>0x0;}var _0xaf93cd=this['_events'],_0x32a8bb=this['_all'];return!!(_0x32a8bb&&_0x32a8bb['length']||_0xaf93cd&&(_0x2d95f1===_0x318507?_0x52cf2c(_0xaf93cd)['length']:_0xaf93cd[_0x2d95f1]));},_0x1c03a5['prototype']['listenersAny']=function(){return this['_all']?this['_all']:[];},_0x1c03a5['prototype']['waitFor']=function(_0x2653f0,_0x3d1b00){var _0x4a5bb1=this,_0x53102e=typeof _0x3d1b00;return'number'===_0x53102e?_0x3d1b00={'timeout':_0x3d1b00}:'function'===_0x53102e&&(_0x3d1b00={'filter':_0x3d1b00}),_0x389096((_0x3d1b00=_0x11e574(_0x3d1b00,{'timeout':0x0,'filter':_0x318507,'handleError':!0x1,'Promise':Promise,'overload':!0x1},{'filter':_0x36eda5,'Promise':_0x5152df}))['Promise'],function(_0x6173bd,_0x420606,_0x37397e){function _0x244844(){var _0x27a0ae=_0x3d1b00['filter'];if(!_0x27a0ae||_0x27a0ae['apply'](_0x4a5bb1,arguments))if(_0x4a5bb1['off'](_0x2653f0,_0x244844),_0x3d1b00['handleError']){var _0x3c5d85=arguments[0x0];_0x3c5d85?_0x420606(_0x3c5d85):_0x6173bd(_0x580e3f['apply'](null,arguments)['slice'](0x1));}else _0x6173bd(_0x580e3f['apply'](null,arguments));}_0x37397e(function(){_0x4a5bb1['off'](_0x2653f0,_0x244844);}),_0x4a5bb1['_on'](_0x2653f0,_0x244844,!0x1);},{'timeout':_0x3d1b00['timeout'],'overload':_0x3d1b00['overload']});};var _0x4ff222=_0x1c03a5['prototype'];Object['defineProperties'](_0x1c03a5,{'defaultMaxListeners':{'get':function(){return _0x4ff222['_maxListeners'];},'set':function(_0x2615fe){if('number'!=typeof _0x2615fe||_0x2615fe<0x0||Number['isNaN'](_0x2615fe))throw TypeError('n\x20must\x20be\x20a\x20non-negative\x20number');_0x4ff222['_maxListeners']=_0x2615fe;},'enumerable':!0x0},'once':{'value':function(_0x51a2e2,_0x1de74e,_0x1993d8){return _0x389096((_0x1993d8=_0x11e574(_0x1993d8,{'Promise':Promise,'timeout':0x0,'overload':!0x1},{'Promise':_0x5152df}))['Promise'],function(_0x46ad1c,_0x4d6823,_0x5dcb21){var _0x429f0d;if('function'==typeof _0x51a2e2['addEventListener'])return _0x429f0d=function(){_0x46ad1c(_0x580e3f['apply'](null,arguments));},_0x5dcb21(function(){_0x51a2e2['removeEventListener'](_0x1de74e,_0x429f0d);}),void _0x51a2e2['addEventListener'](_0x1de74e,_0x429f0d,{'once':!0x0});var _0x35315b,_0x1cdf35=function(){_0x35315b&&_0x51a2e2['removeListener']('error',_0x35315b),_0x46ad1c(_0x580e3f['apply'](null,arguments));};'error'!==_0x1de74e&&(_0x35315b=function(_0x5186e7){_0x51a2e2['removeListener'](_0x1de74e,_0x1cdf35),_0x4d6823(_0x5186e7);},_0x51a2e2['once']('error',_0x35315b)),_0x5dcb21(function(){_0x35315b&&_0x51a2e2['removeListener']('error',_0x35315b),_0x51a2e2['removeListener'](_0x1de74e,_0x1cdf35);}),_0x51a2e2['once'](_0x1de74e,_0x1cdf35);},{'timeout':_0x1993d8['timeout'],'overload':_0x1993d8['overload']});},'writable':!0x0,'configurable':!0x0}}),Object['defineProperties'](_0x4ff222,{'_maxListeners':{'value':0xa,'writable':!0x0,'configurable':!0x0},'_observers':{'value':null,'writable':!0x0,'configurable':!0x0}}),_0x40eb93['exports']=_0x1c03a5;}()),Xs['exports'];var _0x40eb93;}function Zs(){if(Ns)return zs;Ns=0x1;var _0x1dc693=Ps();Is();var _0x4cf4e0=Ys()['EventEmitter2'];function _0x1a2eb0(_0xeea88c){_0xeea88c=_0xeea88c||{},this['ros']=_0xeea88c['ros'],this['name']=_0xeea88c['name'],this['serviceType']=_0xeea88c['serviceType'],this['isAdvertised']=!0x1,this['_serviceCallback']=null;}return _0x1a2eb0['prototype']['__proto__']=_0x4cf4e0['prototype'],_0x1a2eb0['prototype']['callService']=function(_0x2f54f7,_0xffb7a9,_0x551a82){if(!this['isAdvertised']){var _0xa0fb40='call_service:'+this['name']+':'+ ++this['ros']['idCounter'];(_0xffb7a9||_0x551a82)&&this['ros']['once'](_0xa0fb40,function(_0x36d574){void 0x0!==_0x36d574['result']&&!0x1===_0x36d574['result']?'function'==typeof _0x551a82&&_0x551a82(_0x36d574['values']):'function'==typeof _0xffb7a9&&_0xffb7a9(new _0x1dc693(_0x36d574['values']));});var _0x2aafa2={'op':'call_service','id':_0xa0fb40,'service':this['name'],'type':this['serviceType'],'args':_0x2f54f7};this['ros']['callOnConnection'](_0x2aafa2);}},_0x1a2eb0['prototype']['advertise']=function(_0x4a3904){this['isAdvertised']||'function'!=typeof _0x4a3904||(this['_serviceCallback']=_0x4a3904,this['ros']['on'](this['name'],this['_serviceResponse']['bind'](this)),this['ros']['callOnConnection']({'op':'advertise_service','type':this['serviceType'],'service':this['name']}),this['isAdvertised']=!0x0);},_0x1a2eb0['prototype']['unadvertise']=function(){this['isAdvertised']&&(this['ros']['callOnConnection']({'op':'unadvertise_service','service':this['name']}),this['isAdvertised']=!0x1);},_0x1a2eb0['prototype']['_serviceResponse']=function(_0x413aa7){var _0x1af98e={},_0xe5a94e=this['_serviceCallback'](_0x413aa7['args'],_0x1af98e),_0xbb54af={'op':'service_response','service':this['name'],'values':new _0x1dc693(_0x1af98e),'result':_0xe5a94e};_0x413aa7['id']&&(_0xbb54af['id']=_0x413aa7['id']),this['ros']['callOnConnection'](_0xbb54af);},zs=_0x1a2eb0;}function Qs(){if(Vs)return Us;Vs=0x1;var _0x215f59=cs(),_0x2e3815=xs(),_0x1ccc0a=Ds(),_0x30b202=Zs(),_0x238f2e=Is(),_0x1f9206=as,_0x1874df=Ys()['EventEmitter2'];function _0x22e723(_0x3674b8){_0x3674b8=_0x3674b8||{};var _0x51c2ab=this;this['socket']=null,this['idCounter']=0x0,this['isConnected']=!0x1,this['transportLibrary']=_0x3674b8['transportLibrary']||'websocket',this['transportOptions']=_0x3674b8['transportOptions']||{},this['_sendFunc']=function(_0x15eb45){_0x51c2ab['sendEncodedMessage'](_0x15eb45);},void 0x0===_0x3674b8['groovyCompatibility']?this['groovyCompatibility']=!0x0:this['groovyCompatibility']=_0x3674b8['groovyCompatibility'],this['setMaxListeners'](0x0),_0x3674b8['url']&&this['connect'](_0x3674b8['url']);}return _0x22e723['prototype']['__proto__']=_0x1874df['prototype'],_0x22e723['prototype']['connect']=function(_0x2f000d){if('socket.io'===this['transportLibrary'])this['socket']=_0x1f9206(io(_0x2f000d,{'force\x20new\x20connection':!0x0}),_0x1ccc0a(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']=_0x1f9206(this['transportLibrary']['createDataChannel'](_0x2f000d,this['transportOptions']),_0x1ccc0a(this));else if('websocket'===this['transportLibrary']){if(!this['socket']||this['socket']['readyState']===_0x215f59['CLOSED']){var _0x2b2461=new _0x215f59(_0x2f000d);_0x2b2461['binaryType']='arraybuffer',this['socket']=_0x1f9206(_0x2b2461,_0x1ccc0a(this));}}else{if('workersocket'!==this['transportLibrary'])throw'Unknown\x20transportLibrary:\x20'+this['transportLibrary']['toString']();this['socket']=_0x1f9206(new _0x2e3815(_0x2f000d),_0x1ccc0a(this));}},_0x22e723['prototype']['close']=function(){this['socket']&&this['socket']['close']();},_0x22e723['prototype']['authenticate']=function(_0x31e036,_0x358c16,_0x40a283,_0x2a358f,_0x532d69,_0x3e8eea,_0x482d4f){var _0x1d2a70={'op':'auth','mac':_0x31e036,'client':_0x358c16,'dest':_0x40a283,'rand':_0x2a358f,'t':_0x532d69,'level':_0x3e8eea,'end':_0x482d4f};this['callOnConnection'](_0x1d2a70);},_0x22e723['prototype']['sendEncodedMessage']=function(_0x5d05e1){var _0x4d737c=null,_0x17499d=this;_0x4d737c='socket.io'===this['transportLibrary']?function(_0x499802){_0x17499d['socket']['emit']('operation',_0x499802);}:function(_0x1ec5d3){_0x17499d['socket']['send'](_0x1ec5d3);},this['isConnected']?_0x4d737c(_0x5d05e1):_0x17499d['once']('connection',function(){_0x4d737c(_0x5d05e1);});},_0x22e723['prototype']['callOnConnection']=function(_0x988e7f){this['transportOptions']['encoder']?this['transportOptions']['encoder'](_0x988e7f,this['_sendFunc']):this['_sendFunc'](JSON['stringify'](_0x988e7f));},_0x22e723['prototype']['setStatusLevel']=function(_0x30abd2,_0x1bb52d){var _0xcc87b6={'op':'set_level','level':_0x30abd2,'id':_0x1bb52d};this['callOnConnection'](_0xcc87b6);},_0x22e723['prototype']['getActionServers']=function(_0x2a609e,_0x57d4de){var _0xabca45=new _0x30b202({'ros':this,'name':'/rosapi/action_servers','serviceType':'rosapi/GetActionServers'}),_0x170822=new _0x238f2e({});'function'==typeof _0x57d4de?_0xabca45['callService'](_0x170822,function(_0x37b5f3){_0x2a609e(_0x37b5f3['action_servers']);},function(_0x4b99db){_0x57d4de(_0x4b99db);}):_0xabca45['callService'](_0x170822,function(_0x54ab18){_0x2a609e(_0x54ab18['action_servers']);});},_0x22e723['prototype']['getTopics']=function(_0x429c72,_0x2f74fc){var _0x2bedff=new _0x30b202({'ros':this,'name':'/rosapi/topics','serviceType':'rosapi/Topics'}),_0x2dfcde=new _0x238f2e();'function'==typeof _0x2f74fc?_0x2bedff['callService'](_0x2dfcde,function(_0x1d7af1){_0x429c72(_0x1d7af1);},function(_0x1e5193){_0x2f74fc(_0x1e5193);}):_0x2bedff['callService'](_0x2dfcde,function(_0x8a750){_0x429c72(_0x8a750);});},_0x22e723['prototype']['getTopicsForType']=function(_0x3b61ac,_0x2b8e1d,_0x587c7c){var _0x34d8c3=new _0x30b202({'ros':this,'name':'/rosapi/topics_for_type','serviceType':'rosapi/TopicsForType'}),_0x26d3cc=new _0x238f2e({'type':_0x3b61ac});'function'==typeof _0x587c7c?_0x34d8c3['callService'](_0x26d3cc,function(_0x4a0658){_0x2b8e1d(_0x4a0658['topics']);},function(_0x20cf9b){_0x587c7c(_0x20cf9b);}):_0x34d8c3['callService'](_0x26d3cc,function(_0x21a2de){_0x2b8e1d(_0x21a2de['topics']);});},_0x22e723['prototype']['getServices']=function(_0x1321b6,_0xd4eb0){var _0xeab1d9=new _0x30b202({'ros':this,'name':'/rosapi/services','serviceType':'rosapi/Services'}),_0x5f02cd=new _0x238f2e();'function'==typeof _0xd4eb0?_0xeab1d9['callService'](_0x5f02cd,function(_0x1067a5){_0x1321b6(_0x1067a5['services']);},function(_0x4bd5d5){_0xd4eb0(_0x4bd5d5);}):_0xeab1d9['callService'](_0x5f02cd,function(_0x418cb8){_0x1321b6(_0x418cb8['services']);});},_0x22e723['prototype']['getServicesForType']=function(_0x4a03be,_0x30ed26,_0x53636c){var _0xded2be=new _0x30b202({'ros':this,'name':'/rosapi/services_for_type','serviceType':'rosapi/ServicesForType'}),_0x2e726b=new _0x238f2e({'type':_0x4a03be});'function'==typeof _0x53636c?_0xded2be['callService'](_0x2e726b,function(_0x20cbc1){_0x30ed26(_0x20cbc1['services']);},function(_0x15b79c){_0x53636c(_0x15b79c);}):_0xded2be['callService'](_0x2e726b,function(_0x65921f){_0x30ed26(_0x65921f['services']);});},_0x22e723['prototype']['getServiceRequestDetails']=function(_0x51a82a,_0x33ee41,_0x10c8b2){var _0x17c8f2=new _0x30b202({'ros':this,'name':'/rosapi/service_request_details','serviceType':'rosapi/ServiceRequestDetails'}),_0x4734da=new _0x238f2e({'type':_0x51a82a});'function'==typeof _0x10c8b2?_0x17c8f2['callService'](_0x4734da,function(_0x24dd16){_0x33ee41(_0x24dd16);},function(_0x33432d){_0x10c8b2(_0x33432d);}):_0x17c8f2['callService'](_0x4734da,function(_0x9a5e20){_0x33ee41(_0x9a5e20);});},_0x22e723['prototype']['getServiceResponseDetails']=function(_0x27a852,_0x16fbd6,_0x96531b){var _0x4f62ab=new _0x30b202({'ros':this,'name':'/rosapi/service_response_details','serviceType':'rosapi/ServiceResponseDetails'}),_0x3e7c32=new _0x238f2e({'type':_0x27a852});'function'==typeof _0x96531b?_0x4f62ab['callService'](_0x3e7c32,function(_0x396bea){_0x16fbd6(_0x396bea);},function(_0x22efe8){_0x96531b(_0x22efe8);}):_0x4f62ab['callService'](_0x3e7c32,function(_0x40c9dc){_0x16fbd6(_0x40c9dc);});},_0x22e723['prototype']['getNodes']=function(_0x3ae87f,_0x42dc9c){var _0x44e28b=new _0x30b202({'ros':this,'name':'/rosapi/nodes','serviceType':'rosapi/Nodes'}),_0x4a30da=new _0x238f2e();'function'==typeof _0x42dc9c?_0x44e28b['callService'](_0x4a30da,function(_0x439b92){_0x3ae87f(_0x439b92['nodes']);},function(_0x132829){_0x42dc9c(_0x132829);}):_0x44e28b['callService'](_0x4a30da,function(_0x647395){_0x3ae87f(_0x647395['nodes']);});},_0x22e723['prototype']['getNodeDetails']=function(_0x26c3a2,_0x152671,_0x16cfd6){var _0x52c689=new _0x30b202({'ros':this,'name':'/rosapi/node_details','serviceType':'rosapi/NodeDetails'}),_0x7ccb6c=new _0x238f2e({'node':_0x26c3a2});'function'==typeof _0x16cfd6?_0x52c689['callService'](_0x7ccb6c,function(_0x1729ff){_0x152671(_0x1729ff['subscribing'],_0x1729ff['publishing'],_0x1729ff['services']);},function(_0x28db94){_0x16cfd6(_0x28db94);}):_0x52c689['callService'](_0x7ccb6c,function(_0x4f656c){_0x152671(_0x4f656c);});},_0x22e723['prototype']['getParams']=function(_0x34e292,_0xa11ebc){var _0x425e2b=new _0x30b202({'ros':this,'name':'/rosapi/get_param_names','serviceType':'rosapi/GetParamNames'}),_0x2d2ffa=new _0x238f2e();'function'==typeof _0xa11ebc?_0x425e2b['callService'](_0x2d2ffa,function(_0x366cbb){_0x34e292(_0x366cbb['names']);},function(_0x3cd4da){_0xa11ebc(_0x3cd4da);}):_0x425e2b['callService'](_0x2d2ffa,function(_0x84592a){_0x34e292(_0x84592a['names']);});},_0x22e723['prototype']['getTopicType']=function(_0x586b5d,_0x896839,_0x3e5346){var _0x186c14=new _0x30b202({'ros':this,'name':'/rosapi/topic_type','serviceType':'rosapi/TopicType'}),_0x3dd0ec=new _0x238f2e({'topic':_0x586b5d});'function'==typeof _0x3e5346?_0x186c14['callService'](_0x3dd0ec,function(_0x213a74){_0x896839(_0x213a74['type']);},function(_0x45dbad){_0x3e5346(_0x45dbad);}):_0x186c14['callService'](_0x3dd0ec,function(_0x5f33b2){_0x896839(_0x5f33b2['type']);});},_0x22e723['prototype']['getServiceType']=function(_0x1c34df,_0x19496e,_0xebecfe){var _0x263b0a=new _0x30b202({'ros':this,'name':'/rosapi/service_type','serviceType':'rosapi/ServiceType'}),_0x22c0ed=new _0x238f2e({'service':_0x1c34df});'function'==typeof _0xebecfe?_0x263b0a['callService'](_0x22c0ed,function(_0x5298c4){_0x19496e(_0x5298c4['type']);},function(_0x1322a6){_0xebecfe(_0x1322a6);}):_0x263b0a['callService'](_0x22c0ed,function(_0xac2b1f){_0x19496e(_0xac2b1f['type']);});},_0x22e723['prototype']['getMessageDetails']=function(_0x32e6aa,_0x1f5083,_0x382905){var _0x2f113a=new _0x30b202({'ros':this,'name':'/rosapi/message_details','serviceType':'rosapi/MessageDetails'}),_0x2cc42d=new _0x238f2e({'type':_0x32e6aa});'function'==typeof _0x382905?_0x2f113a['callService'](_0x2cc42d,function(_0x1ebb26){_0x1f5083(_0x1ebb26['typedefs']);},function(_0x2adde9){_0x382905(_0x2adde9);}):_0x2f113a['callService'](_0x2cc42d,function(_0x1e676a){_0x1f5083(_0x1e676a['typedefs']);});},_0x22e723['prototype']['decodeTypeDefs']=function(_0x22ab56){var _0x23871f=this,_0x3fdbd9=function(_0x5658ad,_0x1b392e){for(var _0x4a8926={},_0x108589=0x0;_0x108589<_0x5658ad['fieldnames']['length'];_0x108589++){var _0x1ef92c=_0x5658ad['fieldarraylen'][_0x108589],_0x25e3cc=_0x5658ad['fieldnames'][_0x108589],_0x16115f=_0x5658ad['fieldtypes'][_0x108589];if(-0x1===_0x16115f['indexOf']('/'))_0x4a8926[_0x25e3cc]=-0x1===_0x1ef92c?_0x16115f:[_0x16115f];else{for(var _0xcf4368=!0x1,_0x4e6ab7=0x0;_0x4e6ab7<_0x1b392e['length'];_0x4e6ab7++)if(_0x1b392e[_0x4e6ab7]['type']['toString']()===_0x16115f['toString']()){_0xcf4368=_0x1b392e[_0x4e6ab7];break;}if(_0xcf4368){var _0xf0a9af=_0x3fdbd9(_0xcf4368,_0x1b392e);_0x4a8926[_0x25e3cc]=-0x1===_0x1ef92c?_0xf0a9af:[_0xf0a9af];}else _0x23871f['emit']('error','Cannot\x20find\x20'+_0x16115f+'\x20in\x20decodeTypeDefs');}}return _0x4a8926;};return _0x3fdbd9(_0x22ab56[0x0],_0x22ab56);},_0x22e723['prototype']['getTopicsAndRawTypes']=function(_0x465870,_0x170d17){var _0x485d7c=new _0x30b202({'ros':this,'name':'/rosapi/topics_and_raw_types','serviceType':'rosapi/TopicsAndRawTypes'}),_0x57af62=new _0x238f2e();'function'==typeof _0x170d17?_0x485d7c['callService'](_0x57af62,function(_0x1995f){_0x465870(_0x1995f);},function(_0x275f96){_0x170d17(_0x275f96);}):_0x485d7c['callService'](_0x57af62,function(_0x2349fb){_0x465870(_0x2349fb);});},Us=_0x22e723;}function Ks(){if(Bs)return qs;Bs=0x1;var _0x4d297e=as;return qs=function(_0x3396f0){_0x4d297e(this,_0x3396f0);};}function er(){if(Js)return $s;Js=0x1;var _0x9f029f=Ys()['EventEmitter2'],_0x2e748e=Ks();function _0xc17e95(_0x107d74){_0x107d74=_0x107d74||{},this['ros']=_0x107d74['ros'],this['name']=_0x107d74['name'],this['messageType']=_0x107d74['messageType'],this['isAdvertised']=!0x1,this['compression']=_0x107d74['compression']||'none',this['throttle_rate']=_0x107d74['throttle_rate']||0x0,this['latch']=_0x107d74['latch']||!0x1,this['queue_size']=_0x107d74['queue_size']||0x64,this['queue_length']=_0x107d74['queue_length']||0x0,this['reconnect_on_close']=void 0x0===_0x107d74['reconnect_on_close']||_0x107d74['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 _0x2694de=this;this['reconnect_on_close']?this['callForSubscribeAndAdvertise']=function(_0x468e00){_0x2694de['ros']['callOnConnection'](_0x468e00),_0x2694de['waitForReconnect']=!0x1,_0x2694de['reconnectFunc']=function(){_0x2694de['waitForReconnect']||(_0x2694de['waitForReconnect']=!0x0,_0x2694de['ros']['callOnConnection'](_0x468e00),_0x2694de['ros']['once']('connection',function(){_0x2694de['waitForReconnect']=!0x1;}));},_0x2694de['ros']['on']('close',_0x2694de['reconnectFunc']);}:this['callForSubscribeAndAdvertise']=this['ros']['callOnConnection'],this['_messageCallback']=function(_0x135e1e){_0x2694de['emit']('message',new _0x2e748e(_0x135e1e));};}return _0xc17e95['prototype']['__proto__']=_0x9f029f['prototype'],_0xc17e95['prototype']['subscribe']=function(_0x431a4){'function'==typeof _0x431a4&&this['on']('message',_0x431a4),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']}));},_0xc17e95['prototype']['unsubscribe']=function(_0x59d96a){_0x59d96a&&(this['off']('message',_0x59d96a),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);},_0xc17e95['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 _0x5ceda4=this;this['ros']['on']('close',function(){_0x5ceda4['isAdvertised']=!0x1;});}},_0xc17e95['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);},_0xc17e95['prototype']['publish']=function(_0x455bd3){this['isAdvertised']||this['advertise'](),this['ros']['idCounter']++;var _0x9c0a2f={'op':'publish','id':'publish:'+this['name']+':'+this['ros']['idCounter'],'topic':this['name'],'msg':_0x455bd3,'latch':this['latch']};this['ros']['callOnConnection'](_0x9c0a2f);},$s=_0xc17e95;}function tr(){if(Gs)return Hs;Gs=0x1;var _0x5ec178=Zs(),_0x49e9dd=Is();function _0x5b65ab(_0x2b423e){_0x2b423e=_0x2b423e||{},this['ros']=_0x2b423e['ros'],this['name']=_0x2b423e['name'];}return _0x5b65ab['prototype']['get']=function(_0x5a9a03,_0x30c6cc){var _0x478d23=new _0x5ec178({'ros':this['ros'],'name':'/rosapi/get_param','serviceType':'rosapi/GetParam'}),_0x3cb819=new _0x49e9dd({'name':this['name']});_0x478d23['callService'](_0x3cb819,function(_0x33a02d){var _0x1e8cd8=JSON['parse'](_0x33a02d['value']);_0x5a9a03(_0x1e8cd8);},_0x30c6cc);},_0x5b65ab['prototype']['set']=function(_0x57ab55,_0x4bd229,_0x18319d){var _0x11c632=new _0x5ec178({'ros':this['ros'],'name':'/rosapi/set_param','serviceType':'rosapi/SetParam'}),_0x5b1f6d=new _0x49e9dd({'name':this['name'],'value':JSON['stringify'](_0x57ab55)});_0x11c632['callService'](_0x5b1f6d,_0x4bd229,_0x18319d);},_0x5b65ab['prototype']['delete']=function(_0x2a52dd,_0x7e7458){var _0x327c29=new _0x5ec178({'ros':this['ros'],'name':'/rosapi/delete_param','serviceType':'rosapi/DeleteParam'}),_0x646732=new _0x49e9dd({'name':this['name']});_0x327c29['callService'](_0x646732,_0x2a52dd,_0x7e7458);},Hs=_0x5b65ab;}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 _0x37ec08=er(),_0x422d70=Ks(),_0x44dc65=Ys()['EventEmitter2'];function _0x250a08(_0x18b314){var _0x3450e2=this;_0x18b314=_0x18b314||{},this['ros']=_0x18b314['ros'],this['serverName']=_0x18b314['serverName'],this['actionName']=_0x18b314['actionName'],this['timeout']=_0x18b314['timeout'],this['omitFeedback']=_0x18b314['omitFeedback'],this['omitStatus']=_0x18b314['omitStatus'],this['omitResult']=_0x18b314['omitResult'],this['goals']={};var _0x311914=!0x1;this['feedbackListener']=new _0x37ec08({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['statusListener']=new _0x37ec08({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),this['resultListener']=new _0x37ec08({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['goalTopic']=new _0x37ec08({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),this['cancelTopic']=new _0x37ec08({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'}),this['goalTopic']['advertise'](),this['cancelTopic']['advertise'](),this['omitStatus']||this['statusListener']['subscribe'](function(_0x50e8f0){_0x311914=!0x0,_0x50e8f0['status_list']['forEach'](function(_0x4c6244){var _0x2eb147=_0x3450e2['goals'][_0x4c6244['goal_id']['id']];_0x2eb147&&_0x2eb147['emit']('status',_0x4c6244);});}),this['omitFeedback']||this['feedbackListener']['subscribe'](function(_0x47b102){var _0x4da28f=_0x3450e2['goals'][_0x47b102['status']['goal_id']['id']];_0x4da28f&&(_0x4da28f['emit']('status',_0x47b102['status']),_0x4da28f['emit']('feedback',_0x47b102['feedback']));}),this['omitResult']||this['resultListener']['subscribe'](function(_0x22ffb9){var _0x40e62f=_0x3450e2['goals'][_0x22ffb9['status']['goal_id']['id']];_0x40e62f&&(_0x40e62f['emit']('status',_0x22ffb9['status']),_0x40e62f['emit']('result',_0x22ffb9['result']));}),this['timeout']&&setTimeout(function(){_0x311914||_0x3450e2['emit']('timeout');},this['timeout']);}return _0x250a08['prototype']['__proto__']=_0x44dc65['prototype'],_0x250a08['prototype']['cancel']=function(){var _0x1e6fc6=new _0x422d70();this['cancelTopic']['publish'](_0x1e6fc6);},_0x250a08['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=_0x250a08;}function _r(){if(rr)return sr;rr=0x1;var _0x2bee8e=er();Ks();var _0x4fcc5b=Ys()['EventEmitter2'];function _0x3f124d(_0x22f0ee){var _0x4d6ce9=this;_0x22f0ee=_0x22f0ee||{},this['ros']=_0x22f0ee['ros'],this['serverName']=_0x22f0ee['serverName'],this['actionName']=_0x22f0ee['actionName'];var _0x3ab7e2=new _0x2bee8e({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0x52726f=new _0x2bee8e({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),_0x297ed0=new _0x2bee8e({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),_0x2acb8c=new _0x2bee8e({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'});_0x3ab7e2['subscribe'](function(_0x57a241){_0x4d6ce9['emit']('goal',_0x57a241);}),_0x297ed0['subscribe'](function(_0x5d03f1){_0x5d03f1['status_list']['forEach'](function(_0x40548a){_0x4d6ce9['emit']('status',_0x40548a);});}),_0x52726f['subscribe'](function(_0x1530ab){_0x4d6ce9['emit']('status',_0x1530ab['status']),_0x4d6ce9['emit']('feedback',_0x1530ab['feedback']);}),_0x2acb8c['subscribe'](function(_0x27d5ba){_0x4d6ce9['emit']('status',_0x27d5ba['status']),_0x4d6ce9['emit']('result',_0x27d5ba['result']);});}return _0x3f124d['prototype']['__proto__']=_0x4fcc5b['prototype'],sr=_0x3f124d;}function Sr(){if(or)return ar;or=0x1;var _0x4dc815=Ks(),_0x32b6c2=Ys()['EventEmitter2'];function _0x10f6c7(_0x82cbad){var _0x2337e3=this;this['actionClient']=_0x82cbad['actionClient'],this['goalMessage']=_0x82cbad['goalMessage'],this['isFinished']=!0x1;var _0x2e1aa8=new Date();this['goalID']='goal_'+Math['random']()+'_'+_0x2e1aa8['getTime'](),this['goalMessage']=new _0x4dc815({'goal_id':{'stamp':{'secs':0x0,'nsecs':0x0},'id':this['goalID']},'goal':this['goalMessage']}),this['on']('status',function(_0x2ed7d7){_0x2337e3['status']=_0x2ed7d7;}),this['on']('result',function(_0x2fe89c){_0x2337e3['isFinished']=!0x0,_0x2337e3['result']=_0x2fe89c;}),this['on']('feedback',function(_0xf46132){_0x2337e3['feedback']=_0xf46132;}),this['actionClient']['goals'][this['goalID']]=this;}return _0x10f6c7['prototype']['__proto__']=_0x32b6c2['prototype'],_0x10f6c7['prototype']['send']=function(_0x3e70ad){var _0x3330d3=this;_0x3330d3['actionClient']['goalTopic']['publish'](_0x3330d3['goalMessage']),_0x3e70ad&&setTimeout(function(){_0x3330d3['isFinished']||_0x3330d3['emit']('timeout');},_0x3e70ad);},_0x10f6c7['prototype']['cancel']=function(){var _0x9b1739=new _0x4dc815({'id':this['goalID']});this['actionClient']['cancelTopic']['publish'](_0x9b1739);},ar=_0x10f6c7;}function Ar(){if(cr)return lr;cr=0x1;var _0x49ab81=er(),_0x588d48=Ks(),_0x1c3acc=Ys()['EventEmitter2'];function _0x20d196(_0x1d2051){var _0x136088=this;_0x1d2051=_0x1d2051||{},this['ros']=_0x1d2051['ros'],this['serverName']=_0x1d2051['serverName'],this['actionName']=_0x1d2051['actionName'],this['feedbackPublisher']=new _0x49ab81({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['feedbackPublisher']['advertise']();var _0x29cdff=new _0x49ab81({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'});_0x29cdff['advertise'](),this['resultPublisher']=new _0x49ab81({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['resultPublisher']['advertise']();var _0x3850d2=new _0x49ab81({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0xe9bf21=new _0x49ab81({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'});this['statusMessage']=new _0x588d48({'header':{'stamp':{'secs':0x0,'nsecs':0x64},'frame_id':''},'status_list':[]}),this['currentGoal']=null,this['nextGoal']=null,_0x3850d2['subscribe'](function(_0x51eadd){_0x136088['currentGoal']?(_0x136088['nextGoal']=_0x51eadd,_0x136088['emit']('cancel')):(_0x136088['statusMessage']['status_list']=[{'goal_id':_0x51eadd['goal_id'],'status':0x1}],_0x136088['currentGoal']=_0x51eadd,_0x136088['emit']('goal',_0x51eadd['goal']));});var _0x4c4866=function(_0x242733,_0x3fb698){return!(_0x242733['secs']>_0x3fb698['secs'])&&(_0x242733['secs']<_0x3fb698['secs']||_0x242733['nsecs']<_0x3fb698['nsecs']);};_0xe9bf21['subscribe'](function(_0x3caef7){0x0===_0x3caef7['stamp']['secs']&&0x0===_0x3caef7['stamp']['secs']&&''===_0x3caef7['id']?(_0x136088['nextGoal']=null,_0x136088['currentGoal']&&_0x136088['emit']('cancel')):(_0x136088['currentGoal']&&_0x3caef7['id']===_0x136088['currentGoal']['goal_id']['id']?_0x136088['emit']('cancel'):_0x136088['nextGoal']&&_0x3caef7['id']===_0x136088['nextGoal']['goal_id']['id']&&(_0x136088['nextGoal']=null),_0x136088['nextGoal']&&_0x4c4866(_0x136088['nextGoal']['goal_id']['stamp'],_0x3caef7['stamp'])&&(_0x136088['nextGoal']=null),_0x136088['currentGoal']&&_0x4c4866(_0x136088['currentGoal']['goal_id']['stamp'],_0x3caef7['stamp'])&&_0x136088['emit']('cancel'));}),setInterval(function(){var _0x109c53=new Date(),_0x3025b7=Math['floor'](_0x109c53['getTime']()/0x3e8),_0x1ed0ec=Math['round'](0x3b9aca00*(_0x109c53['getTime']()/0x3e8-_0x3025b7));_0x136088['statusMessage']['header']['stamp']['secs']=_0x3025b7,_0x136088['statusMessage']['header']['stamp']['nsecs']=_0x1ed0ec,_0x29cdff['publish'](_0x136088['statusMessage']);},0x1f4);}return _0x20d196['prototype']['__proto__']=_0x1c3acc['prototype'],_0x20d196['prototype']['setSucceeded']=function(_0x396d86){var _0x524cf0=new _0x588d48({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x3},'result':_0x396d86});this['resultPublisher']['publish'](_0x524cf0),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x20d196['prototype']['setAborted']=function(_0x5b52e9){var _0x4e8f12=new _0x588d48({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x4},'result':_0x5b52e9});this['resultPublisher']['publish'](_0x4e8f12),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x20d196['prototype']['sendFeedback']=function(_0x4249c3){var _0x38cd1c=new _0x588d48({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x1},'feedback':_0x4249c3});this['feedbackPublisher']['publish'](_0x38cd1c);},_0x20d196['prototype']['setPreempted']=function(){this['statusMessage']['status_list']=[];var _0x5bd8fe=new _0x588d48({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x2}});this['resultPublisher']['publish'](_0x5bd8fe),this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},lr=_0x20d196;}function Lr(){if(dr)return ur;function _0x297d1e(_0x2a5907){_0x2a5907=_0x2a5907||{},this['x']=_0x2a5907['x']||0x0,this['y']=_0x2a5907['y']||0x0,this['z']=_0x2a5907['z']||0x0;}return dr=0x1,_0x297d1e['prototype']['add']=function(_0x1745d1){this['x']+=_0x1745d1['x'],this['y']+=_0x1745d1['y'],this['z']+=_0x1745d1['z'];},_0x297d1e['prototype']['subtract']=function(_0x235ecf){this['x']-=_0x235ecf['x'],this['y']-=_0x235ecf['y'],this['z']-=_0x235ecf['z'];},_0x297d1e['prototype']['multiplyQuaternion']=function(_0xe66aa){var _0x124dec=_0xe66aa['w']*this['x']+_0xe66aa['y']*this['z']-_0xe66aa['z']*this['y'],_0x57251c=_0xe66aa['w']*this['y']+_0xe66aa['z']*this['x']-_0xe66aa['x']*this['z'],_0x259b47=_0xe66aa['w']*this['z']+_0xe66aa['x']*this['y']-_0xe66aa['y']*this['x'],_0x5ac1a6=-_0xe66aa['x']*this['x']-_0xe66aa['y']*this['y']-_0xe66aa['z']*this['z'];this['x']=_0x124dec*_0xe66aa['w']+_0x5ac1a6*-_0xe66aa['x']+_0x57251c*-_0xe66aa['z']-_0x259b47*-_0xe66aa['y'],this['y']=_0x57251c*_0xe66aa['w']+_0x5ac1a6*-_0xe66aa['y']+_0x259b47*-_0xe66aa['x']-_0x124dec*-_0xe66aa['z'],this['z']=_0x259b47*_0xe66aa['w']+_0x5ac1a6*-_0xe66aa['z']+_0x124dec*-_0xe66aa['y']-_0x57251c*-_0xe66aa['x'];},_0x297d1e['prototype']['clone']=function(){return new _0x297d1e(this);},ur=_0x297d1e;}function Er(){if(mr)return pr;function _0x236931(_0x60c164){_0x60c164=_0x60c164||{},this['x']=_0x60c164['x']||0x0,this['y']=_0x60c164['y']||0x0,this['z']=_0x60c164['z']||0x0,this['w']='number'==typeof _0x60c164['w']?_0x60c164['w']:0x1;}return mr=0x1,_0x236931['prototype']['conjugate']=function(){this['x']*=-0x1,this['y']*=-0x1,this['z']*=-0x1;},_0x236931['prototype']['norm']=function(){return Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);},_0x236931['prototype']['normalize']=function(){var _0x5f3a1d=Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);0x0===_0x5f3a1d?(this['x']=0x0,this['y']=0x0,this['z']=0x0,this['w']=0x1):(_0x5f3a1d=0x1/_0x5f3a1d,this['x']=this['x']*_0x5f3a1d,this['y']=this['y']*_0x5f3a1d,this['z']=this['z']*_0x5f3a1d,this['w']=this['w']*_0x5f3a1d);},_0x236931['prototype']['invert']=function(){this['conjugate'](),this['normalize']();},_0x236931['prototype']['multiply']=function(_0x35e99b){var _0x4070b2=this['x']*_0x35e99b['w']+this['y']*_0x35e99b['z']-this['z']*_0x35e99b['y']+this['w']*_0x35e99b['x'],_0x1941ae=-this['x']*_0x35e99b['z']+this['y']*_0x35e99b['w']+this['z']*_0x35e99b['x']+this['w']*_0x35e99b['y'],_0x46b0a8=this['x']*_0x35e99b['y']-this['y']*_0x35e99b['x']+this['z']*_0x35e99b['w']+this['w']*_0x35e99b['z'],_0x2ba44f=-this['x']*_0x35e99b['x']-this['y']*_0x35e99b['y']-this['z']*_0x35e99b['z']+this['w']*_0x35e99b['w'];this['x']=_0x4070b2,this['y']=_0x1941ae,this['z']=_0x46b0a8,this['w']=_0x2ba44f;},_0x236931['prototype']['clone']=function(){return new _0x236931(this);},pr=_0x236931;}function Cr(){if(fr)return gr;fr=0x1;var _0x3046e7=Lr(),_0x40dba0=Er();function _0xb7b51b(_0x161626){_0x161626=_0x161626||{},this['position']=new _0x3046e7(_0x161626['position']),this['orientation']=new _0x40dba0(_0x161626['orientation']);}return _0xb7b51b['prototype']['applyTransform']=function(_0x48b835){this['position']['multiplyQuaternion'](_0x48b835['rotation']),this['position']['add'](_0x48b835['translation']);var _0x59a6c2=_0x48b835['rotation']['clone']();_0x59a6c2['multiply'](this['orientation']),this['orientation']=_0x59a6c2;},_0xb7b51b['prototype']['clone']=function(){return new _0xb7b51b(this);},_0xb7b51b['prototype']['multiply']=function(_0x534639){var _0x263224=_0x534639['clone']();return _0x263224['applyTransform']({'rotation':this['orientation'],'translation':this['position']}),_0x263224;},_0xb7b51b['prototype']['getInverse']=function(){var _0x3b2a7c=this['clone']();return _0x3b2a7c['orientation']['invert'](),_0x3b2a7c['position']['multiplyQuaternion'](_0x3b2a7c['orientation']),_0x3b2a7c['position']['x']*=-0x1,_0x3b2a7c['position']['y']*=-0x1,_0x3b2a7c['position']['z']*=-0x1,_0x3b2a7c;},gr=_0xb7b51b;}function jr(){if(vr)return yr;vr=0x1;var _0x111850=Lr(),_0x11cb9d=Er();function _0x1eabdf(_0x1ac731){_0x1ac731=_0x1ac731||{},this['translation']=new _0x111850(_0x1ac731['translation']),this['rotation']=new _0x11cb9d(_0x1ac731['rotation']);}return _0x1eabdf['prototype']['clone']=function(){return new _0x1eabdf(this);},yr=_0x1eabdf;}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 _0x4ecfee=Mr(),_0x5dd80a=Sr(),_0x5afe76=Zs(),_0x380e5c=Is(),_0x1a13bc=er(),_0xbc6a61=jr();function _0x3c9c7d(_0x2e2b2f){_0x2e2b2f=_0x2e2b2f||{},this['ros']=_0x2e2b2f['ros'],this['fixedFrame']=_0x2e2b2f['fixedFrame']||'base_link',this['angularThres']=_0x2e2b2f['angularThres']||0x2,this['transThres']=_0x2e2b2f['transThres']||0.01,this['rate']=_0x2e2b2f['rate']||0xa,this['updateDelay']=_0x2e2b2f['updateDelay']||0x32;var _0x2e8e53=_0x2e2b2f['topicTimeout']||0x2,_0x5544b0=Math['floor'](_0x2e8e53),_0x42fdef=Math['floor'](0x3b9aca00*(_0x2e8e53-_0x5544b0));this['topicTimeout']={'secs':_0x5544b0,'nsecs':_0x42fdef},this['serverName']=_0x2e2b2f['serverName']||'/tf2_web_republisher',this['repubServiceName']=_0x2e2b2f['repubServiceName']||'/republish_tfs',this['currentGoal']=!0x1,this['currentTopic']=!0x1,this['frameInfos']={},this['republisherUpdateRequested']=!0x1,this['_subscribeCB']=null,this['_isDisposed']=!0x1,this['actionClient']=new _0x4ecfee({'ros':_0x2e2b2f['ros'],'serverName':this['serverName'],'actionName':'tf2_web_republisher/TFSubscriptionAction','omitStatus':!0x0,'omitResult':!0x0}),this['serviceClient']=new _0x5afe76({'ros':_0x2e2b2f['ros'],'name':this['repubServiceName'],'serviceType':'tf2_web_republisher/RepublishTFs'});}return _0x3c9c7d['prototype']['processTFArray']=function(_0x1a4adb){_0x1a4adb['transforms']['forEach'](function(_0x587eb2){var _0x2b26f9=_0x587eb2['child_frame_id'];'/'===_0x2b26f9[0x0]&&(_0x2b26f9=_0x2b26f9['substring'](0x1));var _0x553af2=this['frameInfos'][_0x2b26f9];_0x553af2&&(_0x553af2['transform']=new _0xbc6a61({'translation':_0x587eb2['transform']['translation'],'rotation':_0x587eb2['transform']['rotation']}),_0x553af2['cbs']['forEach'](function(_0x43a3c8){_0x43a3c8(_0x553af2['transform']);}));},this);},_0x3c9c7d['prototype']['updateGoal']=function(){var _0xafe39e={'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 _0x5dd80a({'actionClient':this['actionClient'],'goalMessage':_0xafe39e}),this['currentGoal']['on']('feedback',this['processTFArray']['bind'](this)),this['currentGoal']['send']();else{_0xafe39e['timeout']=this['topicTimeout'];var _0x119198=new _0x380e5c(_0xafe39e);this['serviceClient']['callService'](_0x119198,this['processResponse']['bind'](this));}this['republisherUpdateRequested']=!0x1;},_0x3c9c7d['prototype']['processResponse']=function(_0x396e54){this['_isDisposed']||(this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']),this['currentTopic']=new _0x1a13bc({'ros':this['ros'],'name':_0x396e54['topic_name'],'messageType':'tf2_web_republisher/TFArray'}),this['_subscribeCB']=this['processTFArray']['bind'](this),this['currentTopic']['subscribe'](this['_subscribeCB']));},_0x3c9c7d['prototype']['subscribe']=function(_0x13d209,_0x453a86){'/'===_0x13d209[0x0]&&(_0x13d209=_0x13d209['substring'](0x1)),this['frameInfos'][_0x13d209]?this['frameInfos'][_0x13d209]['transform']&&_0x453a86(this['frameInfos'][_0x13d209]['transform']):(this['frameInfos'][_0x13d209]={'cbs':[]},this['republisherUpdateRequested']||(setTimeout(this['updateGoal']['bind'](this),this['updateDelay']),this['republisherUpdateRequested']=!0x0)),this['frameInfos'][_0x13d209]['cbs']['push'](_0x453a86);},_0x3c9c7d['prototype']['unsubscribe']=function(_0x1487c4,_0x1e87da){'/'===_0x1487c4[0x0]&&(_0x1487c4=_0x1487c4['substring'](0x1));for(var _0x1bf57b=this['frameInfos'][_0x1487c4],_0x5053d1=_0x1bf57b&&_0x1bf57b['cbs']||[],_0x4a9197=_0x5053d1['length'];_0x4a9197--;)_0x5053d1[_0x4a9197]===_0x1e87da&&_0x5053d1['splice'](_0x4a9197,0x1);_0x1e87da&&0x0!==_0x5053d1['length']||delete this['frameInfos'][_0x1487c4];},_0x3c9c7d['prototype']['dispose']=function(){this['_isDisposed']=!0x0,this['actionClient']['dispose'](),this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']);},kr=_0x3c9c7d;}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 _0x37b2f4=Lr(),_0x3afa01=ta();return Pr=function(_0x5366fe){this['dimension']=null,this['type']=_0x3afa01['URDF_BOX'];var _0x4c8d5f=_0x5366fe['xml']['getAttribute']('size')['split']('\x20');this['dimension']=new _0x37b2f4({'x':parseFloat(_0x4c8d5f[0x0]),'y':parseFloat(_0x4c8d5f[0x1]),'z':parseFloat(_0x4c8d5f[0x2])});};}function ia(){if(zr)return Rr;return zr=0x1,Rr=function(_0x305d1b){var _0x3a962d=_0x305d1b['xml']['getAttribute']('rgba')['split']('\x20');this['r']=parseFloat(_0x3a962d[0x0]),this['g']=parseFloat(_0x3a962d[0x1]),this['b']=parseFloat(_0x3a962d[0x2]),this['a']=parseFloat(_0x3a962d[0x3]);};}function sa(){if(Ur)return Nr;Ur=0x1;var _0x3405d5=ta();return Nr=function(_0x26bbef){this['type']=_0x3405d5['URDF_CYLINDER'],this['length']=parseFloat(_0x26bbef['xml']['getAttribute']('length')),this['radius']=parseFloat(_0x26bbef['xml']['getAttribute']('radius'));};}function ra(){if(qr)return Vr;qr=0x1;var _0x169b76=ia();function _0x13e6d3(_0x472238){this['textureFilename']=null,this['color']=null,this['name']=_0x472238['xml']['getAttribute']('name');var _0x35aa3c=_0x472238['xml']['getElementsByTagName']('texture');_0x35aa3c['length']>0x0&&(this['textureFilename']=_0x35aa3c[0x0]['getAttribute']('filename'));var _0x236cb0=_0x472238['xml']['getElementsByTagName']('color');_0x236cb0['length']>0x0&&(this['color']=new _0x169b76({'xml':_0x236cb0[0x0]}));}_0x13e6d3['prototype']['isLink']=function(){return null===this['color']&&null===this['textureFilename'];};var _0x265549=as;return _0x13e6d3['prototype']['assign']=function(_0x44d706){return _0x265549(this,_0x44d706);},Vr=_0x13e6d3;}function aa(){if($r)return Br;$r=0x1;var _0x3b0bef=Lr(),_0x1771d2=ta();return Br=function(_0x157e84){this['scale']=null,this['type']=_0x1771d2['URDF_MESH'],this['filename']=_0x157e84['xml']['getAttribute']('filename');var _0x288d7c=_0x157e84['xml']['getAttribute']('scale');if(_0x288d7c){var _0x56e7dd=_0x288d7c['split']('\x20');this['scale']=new _0x3b0bef({'x':parseFloat(_0x56e7dd[0x0]),'y':parseFloat(_0x56e7dd[0x1]),'z':parseFloat(_0x56e7dd[0x2])});}};}function oa(){if(Hr)return Jr;Hr=0x1;var _0x3a3c2c=ta();return Jr=function(_0x2a9e13){this['type']=_0x3a3c2c['URDF_SPHERE'],this['radius']=parseFloat(_0x2a9e13['xml']['getAttribute']('radius'));};}function la(){if(Wr)return Gr;Wr=0x1;var _0x1963b3=Cr(),_0x4267d0=Lr(),_0xfe312d=Er(),_0xb57a2a=sa(),_0x339dda=na(),_0x249e2=ra(),_0x4da59c=aa(),_0x5510dc=oa();return Gr=function(_0x2e728a){var _0x19f9c0=_0x2e728a['xml'];this['origin']=null,this['geometry']=null,this['material']=null,this['name']=_0x2e728a['xml']['getAttribute']('name');var _0x692cd4=_0x19f9c0['getElementsByTagName']('origin');if(0x0===_0x692cd4['length'])this['origin']=new _0x1963b3();else{var _0x5e6bdd=_0x692cd4[0x0]['getAttribute']('xyz'),_0x44a678=new _0x4267d0();_0x5e6bdd&&(_0x5e6bdd=_0x5e6bdd['split']('\x20'),_0x44a678=new _0x4267d0({'x':parseFloat(_0x5e6bdd[0x0]),'y':parseFloat(_0x5e6bdd[0x1]),'z':parseFloat(_0x5e6bdd[0x2])}));var _0x375afe=_0x692cd4[0x0]['getAttribute']('rpy'),_0x57fc00=new _0xfe312d();if(_0x375afe){_0x375afe=_0x375afe['split']('\x20');var _0x2086fd=parseFloat(_0x375afe[0x0])/0x2,_0x404299=parseFloat(_0x375afe[0x1])/0x2,_0x5d73fc=parseFloat(_0x375afe[0x2])/0x2,_0xb61046=Math['sin'](_0x2086fd)*Math['cos'](_0x404299)*Math['cos'](_0x5d73fc)-Math['cos'](_0x2086fd)*Math['sin'](_0x404299)*Math['sin'](_0x5d73fc),_0x51ea90=Math['cos'](_0x2086fd)*Math['sin'](_0x404299)*Math['cos'](_0x5d73fc)+Math['sin'](_0x2086fd)*Math['cos'](_0x404299)*Math['sin'](_0x5d73fc),_0x4d614e=Math['cos'](_0x2086fd)*Math['cos'](_0x404299)*Math['sin'](_0x5d73fc)-Math['sin'](_0x2086fd)*Math['sin'](_0x404299)*Math['cos'](_0x5d73fc),_0x4bb645=Math['cos'](_0x2086fd)*Math['cos'](_0x404299)*Math['cos'](_0x5d73fc)+Math['sin'](_0x2086fd)*Math['sin'](_0x404299)*Math['sin'](_0x5d73fc);(_0x57fc00=new _0xfe312d({'x':_0xb61046,'y':_0x51ea90,'z':_0x4d614e,'w':_0x4bb645}))['normalize']();}this['origin']=new _0x1963b3({'position':_0x44a678,'orientation':_0x57fc00});}var _0x599c44=_0x19f9c0['getElementsByTagName']('geometry');if(_0x599c44['length']>0x0){for(var _0x385a5d=_0x599c44[0x0],_0x5951cf=null,_0x28b7ad=0x0;_0x28b7ad<_0x385a5d['childNodes']['length'];_0x28b7ad++){var _0x332c3c=_0x385a5d['childNodes'][_0x28b7ad];if(0x1===_0x332c3c['nodeType']){_0x5951cf=_0x332c3c;break;}}var _0x54e511=_0x5951cf['nodeName'];'sphere'===_0x54e511?this['geometry']=new _0x5510dc({'xml':_0x5951cf}):'box'===_0x54e511?this['geometry']=new _0x339dda({'xml':_0x5951cf}):'cylinder'===_0x54e511?this['geometry']=new _0xb57a2a({'xml':_0x5951cf}):'mesh'===_0x54e511&&(this['geometry']=new _0x4da59c({'xml':_0x5951cf}));}var _0x226769=_0x19f9c0['getElementsByTagName']('material');_0x226769['length']>0x0&&(this['material']=new _0x249e2({'xml':_0x226769[0x0]}));};}function ca(){if(Yr)return Xr;Yr=0x1;var _0x350cb3=la();return Xr=function(_0x21c228){this['name']=_0x21c228['xml']['getAttribute']('name'),this['visuals']=[];for(var _0x2b827f=_0x21c228['xml']['getElementsByTagName']('visual'),_0x2bca03=0x0;_0x2bca03<_0x2b827f['length'];_0x2bca03++)this['visuals']['push'](new _0x350cb3({'xml':_0x2b827f[_0x2bca03]}));};}var ha,ua,da,pa,ma,ga={};function fa(){if(da)return ua;da=0x1;var _0x1eb1a7=ra(),_0x40c553=ca(),_0x52154f=(function(){if(Qr)return Zr;Qr=0x1;var _0x1592d1=Cr(),_0x9d5375=Lr(),_0x20354e=Er();return Zr=function(_0x1c522e){this['name']=_0x1c522e['xml']['getAttribute']('name'),this['type']=_0x1c522e['xml']['getAttribute']('type');var _0x2c48bf=_0x1c522e['xml']['getElementsByTagName']('parent');_0x2c48bf['length']>0x0&&(this['parent']=_0x2c48bf[0x0]['getAttribute']('link'));var _0x4dd16d=_0x1c522e['xml']['getElementsByTagName']('child');_0x4dd16d['length']>0x0&&(this['child']=_0x4dd16d[0x0]['getAttribute']('link'));var _0x237c6e=_0x1c522e['xml']['getElementsByTagName']('limit');_0x237c6e['length']>0x0&&(this['minval']=parseFloat(_0x237c6e[0x0]['getAttribute']('lower')),this['maxval']=parseFloat(_0x237c6e[0x0]['getAttribute']('upper')));var _0x3a71e9=_0x1c522e['xml']['getElementsByTagName']('origin');if(0x0===_0x3a71e9['length'])this['origin']=new _0x1592d1();else{var _0x377efd=_0x3a71e9[0x0]['getAttribute']('xyz'),_0x12689e=new _0x9d5375();_0x377efd&&(_0x377efd=_0x377efd['split']('\x20'),_0x12689e=new _0x9d5375({'x':parseFloat(_0x377efd[0x0]),'y':parseFloat(_0x377efd[0x1]),'z':parseFloat(_0x377efd[0x2])}));var _0x1d65b1=_0x3a71e9[0x0]['getAttribute']('rpy'),_0x1fff97=new _0x20354e();if(_0x1d65b1){_0x1d65b1=_0x1d65b1['split']('\x20');var _0x200082=parseFloat(_0x1d65b1[0x0])/0x2,_0x5ae540=parseFloat(_0x1d65b1[0x1])/0x2,_0xf1fb0e=parseFloat(_0x1d65b1[0x2])/0x2,_0x5b12cf=Math['sin'](_0x200082)*Math['cos'](_0x5ae540)*Math['cos'](_0xf1fb0e)-Math['cos'](_0x200082)*Math['sin'](_0x5ae540)*Math['sin'](_0xf1fb0e),_0x5dc48c=Math['cos'](_0x200082)*Math['sin'](_0x5ae540)*Math['cos'](_0xf1fb0e)+Math['sin'](_0x200082)*Math['cos'](_0x5ae540)*Math['sin'](_0xf1fb0e),_0x41b44f=Math['cos'](_0x200082)*Math['cos'](_0x5ae540)*Math['sin'](_0xf1fb0e)-Math['sin'](_0x200082)*Math['sin'](_0x5ae540)*Math['cos'](_0xf1fb0e),_0x8ecc3e=Math['cos'](_0x200082)*Math['cos'](_0x5ae540)*Math['cos'](_0xf1fb0e)+Math['sin'](_0x200082)*Math['sin'](_0x5ae540)*Math['sin'](_0xf1fb0e);(_0x1fff97=new _0x20354e({'x':_0x5b12cf,'y':_0x5dc48c,'z':_0x41b44f,'w':_0x8ecc3e}))['normalize']();}this['origin']=new _0x1592d1({'position':_0x12689e,'orientation':_0x1fff97});}};}()),_0x2d9935=(ha||(ha=0x1,ga['DOMImplementation']=window['DOMImplementation'],ga['XMLSerializer']=window['XMLSerializer'],ga['DOMParser']=window['DOMParser']),ga)['DOMParser'];return ua=function(_0x342727){var _0x35c92b=(_0x342727=_0x342727||{})['xml'],_0x4a42bc=_0x342727['string'];this['materials']={},this['links']={},this['joints']={},_0x4a42bc&&(_0x35c92b=new _0x2d9935()['parseFromString'](_0x4a42bc,'text/xml'));var _0x5aea1b=_0x35c92b['documentElement'];this['name']=_0x5aea1b['getAttribute']('name');for(var _0x323b98=_0x5aea1b['childNodes'],_0x5cdfb9=0x0;_0x5cdfb9<_0x323b98['length'];_0x5cdfb9++){var _0x4a0fa9=_0x323b98[_0x5cdfb9];if('material'===_0x4a0fa9['tagName']){var _0x455613=new _0x1eb1a7({'xml':_0x4a0fa9});void 0x0!==this['materials'][_0x455613['name']]?this['materials'][_0x455613['name']]['isLink']()&&this['materials'][_0x455613['name']]['assign'](_0x455613):this['materials'][_0x455613['name']]=_0x455613;}else if('link'===_0x4a0fa9['tagName']){var _0x4af123=new _0x40c553({'xml':_0x4a0fa9});if(void 0x0!==this['links'][_0x4af123['name']]);else{for(var _0xbbc9a=0x0;_0xbbc9a<_0x4af123['visuals']['length'];_0xbbc9a++){var _0x83cf7a=_0x4af123['visuals'][_0xbbc9a]['material'];null!==_0x83cf7a&&_0x83cf7a['name']&&(void 0x0!==this['materials'][_0x83cf7a['name']]?_0x4af123['visuals'][_0xbbc9a]['material']=this['materials'][_0x83cf7a['name']]:this['materials'][_0x83cf7a['name']]=_0x83cf7a);}this['links'][_0x4af123['name']]=_0x4af123;}}else if('joint'===_0x4a0fa9['tagName']){var _0x2964c0=new _0x52154f({'xml':_0x4a0fa9});this['joints'][_0x2964c0['name']]=_0x2964c0;}}};}var ya=Xi['ROSLIB']||{'REVISION':'1.4.1'},va=as;va(ya,(function(){if(Ws)return os['exports'];Ws=0x1;var _0x3e7ea=ls(),_0x57c047=os['exports']={'Ros':Qs(),'Topic':er(),'Message':Ks(),'Param':tr(),'Service':Zs(),'ServiceRequest':Is(),'ServiceResponse':Ps()};return _0x3e7ea(_0x57c047['Ros'],['Param','Service','Topic'],_0x57c047),os['exports'];}())),va(ya,(function(){if(hr)return xr['exports'];hr=0x1;var _0x261196=Qs();return ls()(_0x261196,['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 _0x17e2ff=Qs();return ls()(_0x17e2ff,['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(_0x815087,_0x401c37){this['rosController']=_0x815087,this['sceneManager']=_0x401c37,this['tfSubscriptions']=new Map(),this['_tmpPos']=new _0x5a7be3(),this['_tmpQuat']=new _0x4adb8f(),this['_tmpEuler']=new _0x730a0a(),this['_tmpMat']=new _0x5dcd72(),this['handSeparationScale']=0x1,this['wristRotationOffset']=Math['PI']/0x4;}['subscribeTF'](_0x22cd82,_0x2a0f48,_0x37148e){if(!this['rosController']['ros']||!this['rosController']['ros']['isConnected'])return null;if(this['unsubscribe'](_0x22cd82),!_0x2a0f48||!_0x2a0f48['threeObject'])return null;try{const _0x2424e7=new ba['Topic']({'ros':this['rosController']['ros'],'name':_0x37148e,'messageType':'tf2_msgs/msg/TFMessage'});return _0x2424e7['subscribe'](_0x4cde84=>{this['rosController']['recordSubMessage'](_0x37148e),this['_applyTFTransforms'](_0x22cd82,_0x2a0f48,_0x4cde84['transforms']);}),this['tfSubscriptions']['set'](_0x22cd82,_0x2424e7),_0x2424e7;}catch(_0x144851){return null;}}['_applyTFTransforms'](_0x29eaf5,_0xc01dfc,_0x3917ac){if(!_0xc01dfc||!_0xc01dfc['links']||!_0x3917ac||0x0===_0x3917ac['length'])return;_0xc01dfc['threeObject']&&_0xc01dfc['threeObject']['updateMatrixWorld']();const _0x56eed3=new Map();for(let _0x51331a=0x0;_0x51331a<_0x3917ac['length'];_0x51331a++){const _0x278cf0=_0x3917ac[_0x51331a],_0x4d75ba=_0x278cf0['child_frame_id'];_0x4d75ba&&_0xc01dfc['links']['has'](_0x4d75ba)&&_0x56eed3['set'](_0x4d75ba,_0x278cf0['transform']);}if(0x0!==_0x56eed3['size']){if(!_0xc01dfc['_tfOriginOffset']){let _0x5f3863=null;const _0x1414cb='link_RightSkeletonBase',_0x8f7dcb='link_LeftSkeletonBase';if(_0x56eed3['has'](_0x1414cb)){const _0x2a9313=_0x56eed3['get'](_0x1414cb);if(_0x5f3863=new _0x5a7be3(_0x2a9313['translation']['x'],_0x2a9313['translation']['y'],_0x2a9313['translation']['z']),_0x56eed3['has'](_0x8f7dcb)){const _0x5a6984=_0x56eed3['get'](_0x8f7dcb);new _0x5a7be3(_0x5a6984['translation']['x'],_0x5a6984['translation']['y'],_0x5a6984['translation']['z'])['distanceTo'](_0x5f3863);}}else{let _0x2f46a6=0x0,_0x34ab0b=0x0,_0x45342e=0x0,_0x362eb5=0x0;_0x56eed3['forEach'](_0x12f8ce=>{_0x2f46a6+=_0x12f8ce['translation']['x'],_0x34ab0b+=_0x12f8ce['translation']['y'],_0x45342e+=_0x12f8ce['translation']['z'],_0x362eb5++;}),_0x5f3863=new _0x5a7be3(_0x2f46a6/_0x362eb5,_0x34ab0b/_0x362eb5,_0x45342e/_0x362eb5);}if(_0xc01dfc['_tfOriginOffset']=_0x5f3863,_0x56eed3['has'](_0x1414cb)&&_0x56eed3['has'](_0x8f7dcb)){const _0x6e7b0=_0x56eed3['get'](_0x1414cb),_0x376d84=_0x56eed3['get'](_0x8f7dcb);_0xc01dfc['_tfRightHandRef']=new _0x5a7be3(_0x6e7b0['translation']['x'],_0x6e7b0['translation']['y'],_0x6e7b0['translation']['z']),_0xc01dfc['_tfLeftHandRef']=new _0x5a7be3(_0x376d84['translation']['x'],_0x376d84['translation']['y'],_0x376d84['translation']['z']),_0xc01dfc['_tfRightRotOffset']=new _0x4adb8f()['setFromAxisAngle'](new _0x5a7be3(0x0,0x0,0x1),this['wristRotationOffset']),_0xc01dfc['_tfLeftRotOffset']=new _0x4adb8f()['setFromAxisAngle'](new _0x5a7be3(0x0,0x0,0x1),-this['wristRotationOffset']);}}_0xc01dfc['_tfRepositionedLinks']||(_0xc01dfc['_tfRepositionedLinks']=new Set()),_0xc01dfc['links']['forEach']((_0x2d6e34,_0x46b0bc)=>{const _0x50e334=_0x56eed3['get'](_0x46b0bc);if(!_0x50e334||!_0x2d6e34['threeObject'])return;const _0x4f9ac7=_0x50e334['translation'],_0x1bee33=_0x50e334['rotation'],_0x19d139=_0x46b0bc['toLowerCase']()['includes']('left');let _0x4d88e3=_0x4f9ac7['x'],_0x29bdff=_0x4f9ac7['y'],_0xeb2bc1=_0x4f9ac7['z'],_0x57c358=new _0x4adb8f(_0x1bee33['x'],_0x1bee33['y'],_0x1bee33['z'],_0x1bee33['w']);if(0x0!==this['wristRotationOffset']&&_0xc01dfc['_tfRightHandRef']&&_0xc01dfc['_tfLeftHandRef']){const _0x177996=_0x19d139?_0xc01dfc['_tfLeftHandRef']:_0xc01dfc['_tfRightHandRef'],_0x476368=_0x19d139?_0xc01dfc['_tfLeftRotOffset']:_0xc01dfc['_tfRightRotOffset'],_0xb78abb=new _0x5a7be3(_0x4d88e3-_0x177996['x'],_0x29bdff-_0x177996['y'],_0xeb2bc1-_0x177996['z']);_0xb78abb['applyQuaternion'](_0x476368),_0x4d88e3=_0x177996['x']+_0xb78abb['x'],_0x29bdff=_0x177996['y']+_0xb78abb['y'],_0xeb2bc1=_0x177996['z']+_0xb78abb['z'],_0x57c358=_0x476368['clone']()['multiply'](_0x57c358);}if(_0x4d88e3-=_0xc01dfc['_tfOriginOffset']['x'],_0x29bdff-=_0xc01dfc['_tfOriginOffset']['y'],_0xeb2bc1-=_0xc01dfc['_tfOriginOffset']['z'],0x1!==this['handSeparationScale']&&_0xc01dfc['_tfRightHandRef']&&_0xc01dfc['_tfLeftHandRef']){if(!_0xc01dfc['_tfLeftHandOffset']){const _0x5bd59e=new _0x5a7be3()['subVectors'](_0xc01dfc['_tfLeftHandRef'],_0xc01dfc['_tfRightHandRef']);_0x5bd59e['multiplyScalar'](this['handSeparationScale']);const _0x1c66b8=new _0x5a7be3()['subVectors'](_0xc01dfc['_tfLeftHandRef'],_0xc01dfc['_tfRightHandRef']);_0xc01dfc['_tfLeftHandOffset']=new _0x5a7be3()['subVectors'](_0x5bd59e,_0x1c66b8);}_0x19d139&&(_0x4d88e3+=_0xc01dfc['_tfLeftHandOffset']['x'],_0x29bdff+=_0xc01dfc['_tfLeftHandOffset']['y'],_0xeb2bc1+=_0xc01dfc['_tfLeftHandOffset']['z']);}this['_tmpPos']['set'](_0x4d88e3,_0x29bdff,_0xeb2bc1),this['_tmpQuat']['copy'](_0x57c358);const _0x5cf024=_0x2d6e34['threeObject']['parent'];_0x5cf024&&_0x5cf024!==_0xc01dfc['threeObject']&&(_0x2d6e34['threeObject']['userData']['_originalParent']||(_0x2d6e34['threeObject']['userData']['_originalParent']=_0x5cf024),_0x5cf024['remove'](_0x2d6e34['threeObject']),_0xc01dfc['threeObject']['add'](_0x2d6e34['threeObject']),_0xc01dfc['_tfRepositionedLinks']['add'](_0x46b0bc)),_0x2d6e34['threeObject']['position']['copy'](this['_tmpPos']),_0x2d6e34['threeObject']['quaternion']['copy'](this['_tmpQuat']),_0x2d6e34['threeObject']['scale']['set'](0x1,0x1,0x1),_0x2d6e34['threeObject']['updateMatrixWorld']();}),_0xc01dfc['threeObject']&&_0xc01dfc['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}}['unsubscribe'](_0x18aa7a){const _0x3969fa=this['tfSubscriptions']['get'](_0x18aa7a);if(_0x3969fa){try{_0x3969fa['unsubscribe']();}catch(_0x7b3c47){}this['tfSubscriptions']['delete'](_0x18aa7a);}}['unsubscribeAll'](){this['tfSubscriptions']['forEach']((_0x23dc74,_0x40806b)=>{this['unsubscribe'](_0x40806b);});}['isSubscribed'](_0x3da7e6){return this['tfSubscriptions']['has'](_0x3da7e6);}}class xa{constructor(_0x251bf1){this['sceneManager']=_0x251bf1,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,_0x251bf1),this['onJointData']=null,this['_resetService']=null,this['_model']=null,this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['_jointStateTopic']='/io_teleop/joint_states';}['connect'](_0x50cf1f){this['ros']&&this['disconnect'](),this['ros']=new ba['Ros']({'url':_0x50cf1f}),this['ros']['on']('connection',()=>{this['connected']=!0x0,this['_queryDomainId'](),this['_advertiseResetService'](),this['_notifyConnectionChange'](!0x0);}),this['ros']['on']('error',_0x4a8e68=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);}),this['ros']['on']('close',()=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);});}['subscribeJointCmdForPlot'](_0x222622){return this['subscribeJointCmd'](null,_0x222622);}['subscribeJointCmd'](_0x1ea8b1,_0x4c9f36='/io_teleop/joint_cmd'){if(!this['ros']||!this['connected'])return;const _0x25bf2b=new ba['Topic']({'ros':this['ros'],'name':_0x4c9f36,'messageType':'sensor_msgs/msg/JointState'});_0x25bf2b['subscribe'](_0x813e=>{this['subMessageCount']++,this['subLastMessageTime']=Date['now']();let _0x38a5bb=this['subStats']['get'](_0x4c9f36);_0x38a5bb||(_0x38a5bb={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x4c9f36,_0x38a5bb)),_0x38a5bb['count']++,_0x38a5bb['lastTime']=Date['now']();const _0x945338=Date['now']();_0x813e['name']['forEach']((_0x5038bf,_0xbd6486)=>{const _0x5c08ec=_0x813e['position'][_0xbd6486];if(this['onJointData']&&this['onJointData'](_0x4c9f36,_0x5038bf,_0x945338,_0x5c08ec),!_0x1ea8b1)return;const _0x44a982=_0x1ea8b1['getJoint'](_0x5038bf);_0x44a982&&(Ei['setJointAngle'](_0x1ea8b1,_0x5038bf,_0x5c08ec,!0x0),_0x44a982['threeObject']&&_0x44a982['threeObject']['updateMatrixWorld'](!0x0));}),_0x1ea8b1&&(_0x1ea8b1['threeObject']&&_0x1ea8b1['threeObject']['updateMatrixWorld'](!0x0),this['_pendingRender']||(this['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['_pendingRender']=!0x1;})));}),this['listeners']['push'](_0x25bf2b),_0x1ea8b1&&this['_jointCmdListeners']['push'](_0x25bf2b);}['unsubscribeTopic'](_0xc8f4dd){_0xc8f4dd&&(this['listeners']=this['listeners']['filter'](_0x43f809=>{if(_0x43f809['name']!==_0xc8f4dd)return!0x0;_0x43f809['unsubscribe']();const _0x1ce559=this['_jointCmdListeners']['indexOf'](_0x43f809);return-0x1!==_0x1ce559&&this['_jointCmdListeners']['splice'](_0x1ce559,0x1),!0x1;}));}['publishJointStates'](_0xfd84d5,_0x1a341f='/io_teleop/joint_states'){if(!this['ros']||!this['connected'])return;this['_jointStateTopic']=_0x1a341f,this['publisher']&&this['publisher']['name']===_0x1a341f||(this['publisher']&&this['publisher']['unadvertise'](),this['publisher']=new ba['Topic']({'ros':this['ros'],'name':_0x1a341f,'messageType':'sensor_msgs/msg/JointState'}),this['_advertiseTopic'](this['publisher']));const _0x58f000=Array['from'](_0xfd84d5['joints']['values']())['filter'](_0x19b9dd=>'number'==typeof _0x19b9dd['currentValue']),_0x483615=new ba['Message']({'header':{'stamp':{'sec':0x0,'nanosec':0x0},'frame_id':''},'name':_0x58f000['map'](_0x2a56fd=>_0x2a56fd['name']),'position':_0x58f000['map'](_0x5f28dd=>_0x5f28dd['currentValue']),'velocity':[],'effort':[]});this['pubMessageCount']++,this['pubLastMessageTime']=Date['now'](),this['publisher']['publish'](_0x483615);}['_advertiseTopic'](_0x18efe8,_0x2bfb86='reliable'){const _0x4e0c86='advertise:'+_0x18efe8['name']+':'+ ++this['ros']['idCounter'];_0x18efe8['advertiseId']=_0x4e0c86,_0x18efe8['isAdvertised']=!0x0,this['ros']['callOnConnection']({'op':'advertise','id':_0x4e0c86,'type':_0x18efe8['messageType'],'topic':_0x18efe8['name'],'latch':!0x1,'queue_size':_0x18efe8['queue_size'],'qos':{'history':'keep_last','depth':0xa,'reliability':_0x2bfb86,'durability':'volatile'}});}['getRos'](){return this['ros'];}['isConnected'](){return!!this['connected'];}['createAdvertisedTopic'](_0x229c29,_0xab07b9){if(!this['ros']||!_0x229c29||!_0xab07b9)return null;const _0x1a61b3=this['_extraTopics']['get'](_0x229c29);if(_0x1a61b3){if(_0x1a61b3['messageType']===_0xab07b9)return _0x1a61b3;this['releaseTopic'](_0x229c29);}const _0x4dc2a8=new ba['Topic']({'ros':this['ros'],'name':_0x229c29,'messageType':_0xab07b9});return this['_advertiseTopic'](_0x4dc2a8),this['_extraTopics']['set'](_0x229c29,_0x4dc2a8),_0x4dc2a8;}['releaseTopic'](_0x561273){const _0x1b9fdd=this['_extraTopics']['get'](_0x561273);if(_0x1b9fdd){try{_0x1b9fdd['unadvertise']();}catch(_0x39cbf2){}this['_extraTopics']['delete'](_0x561273);}}['addConnectionListener'](_0x587c8e){return'function'!=typeof _0x587c8e?()=>{}:(this['_connectionListeners']['add'](_0x587c8e),()=>{this['_connectionListeners']['delete'](_0x587c8e);});}['_notifyConnectionChange'](_0x536b4c){this['onConnectionChange']&&this['onConnectionChange'](_0x536b4c);for(const _0x2c86b1 of this['_connectionListeners'])try{_0x2c86b1(_0x536b4c);}catch(_0x57cee0){}}['_queryDomainId'](){const _0x145e74=new ba['Topic']({'ros':this['ros'],'name':'/robot_viewer/domain_id','messageType':'std_msgs/msg/Int32','throttle_rate':0x7d0});_0x145e74['subscribe'](_0x3d6169=>{this['domainId']=_0x3d6169['data'],this['onDomainIdChange']&&this['onDomainIdChange'](this['domainId']),_0x145e74['unsubscribe']();}),setTimeout(()=>{void 0x0===this['domainId']&&(_0x145e74['unsubscribe'](),this['domainId']=null,this['onDomainIdChange']&&this['onDomainIdChange'](null));},0x1388);}['setModel'](_0x8c79b4){this['_model']=_0x8c79b4;}['_advertiseResetService'](){this['ros']&&(this['_resetService']=new ba['Service']({'ros':this['ros'],'name':'/io_teleop_reset_robot','serviceType':'std_srvs/Trigger'}),this['_resetService']['advertise']((_0x5b074a,_0x1d1a1c)=>{var _0x3ec97b;if(this['_pauseJointCmd'](),this['_model']&&this['_model']['joints']){const _0x5784ac=(null==(_0x3ec97b=this['_model']['userData'])?void 0x0:_0x3ec97b['homePositions'])||{};this['_model']['joints']['forEach']((_0x10f50d,_0xe7dbdd)=>{if('fixed'!==_0x10f50d['type']){const _0x531760=_0x5784ac[_0xe7dbdd]??0x0;Ei['setJointAngle'](this['_model'],_0xe7dbdd,_0x531760,!0x0),_0x10f50d['currentValue']=_0x531760;}}),this['_model']['threeObject']&&this['_model']['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),this['sceneManager']['render']();}const _0x227ef0=this['_jointStateTopic']||'/io_teleop/joint_states';return this['_model']&&this['publishJointStates'](this['_model'],_0x227ef0),setTimeout(()=>{this['_resumeJointCmd']();},0x64),_0x1d1a1c['success']=!0x0,_0x1d1a1c['message']='ok',!0x0;}));}['_pauseJointCmd'](){this['_jointCmdTopics']=[],this['_jointCmdListeners']['forEach'](_0x3bf823=>{this['_jointCmdTopics']['push'](_0x3bf823['name']),_0x3bf823['unsubscribe']();const _0x548b83=this['listeners']['indexOf'](_0x3bf823);-0x1!==_0x548b83&&this['listeners']['splice'](_0x548b83,0x1);}),this['_jointCmdListeners']=[];}['_resumeJointCmd'](){this['_model']&&(this['_jointCmdTopics']['forEach'](_0x31a212=>{this['subscribeJointCmd'](this['_model'],_0x31a212);}),this['_jointCmdTopics']=[]);}['disconnect'](){try{if(this['listeners']['forEach'](_0x48aabd=>{try{_0x48aabd['unsubscribe']();}catch(_0x138158){}}),this['listeners']=[],this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['publisher']){try{this['publisher']['unadvertise']();}catch(_0x4e6a15){}this['publisher']=null;}if(this['_resetService']){try{this['_resetService']['unadvertise']();}catch(_0xac813e){}this['_resetService']=null;}this['_extraTopics']['forEach']((_0x16816c,_0x21a6a7)=>{try{_0x16816c['unadvertise']();}catch(_0x1c3439){}}),this['_extraTopics']['clear']();try{this['tfController']['unsubscribeAll']();}catch(_0x55921c){}if(this['ros']){try{this['ros']['close']();}catch(_0x5e6da4){}this['ros']=null;}}finally{this['connected']=!0x1,this['domainId']=void 0x0,this['_notifyConnectionChange'](!0x1);}}['subscribeTF'](_0x57b59c,_0x22d653,_0x3b7c08,_0x4dac37=null){return this['tfController']['subscribeTF'](_0x57b59c,_0x22d653,_0x3b7c08,_0x4dac37);}['unsubscribeTF'](_0x4e131a){this['tfController']['unsubscribe'](_0x4e131a);}['getTopics'](_0x5bd0ee,_0x29a870){this['ros']&&this['connected']&&this['ros']['getTopics'](_0x5bd0ee,_0x29a870);}['recordSubMessage'](_0x405060){const _0x237234=Date['now']();this['subMessageCount']++,this['subLastMessageTime']=_0x237234;let _0x402e71=this['subStats']['get'](_0x405060);_0x402e71||(_0x402e71={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x405060,_0x402e71)),_0x402e71['count']++,_0x402e71['lastTime']=_0x237234;}['getMessageRate'](_0x501937){if(_0x501937){const _0x4c3faa=this['subStats']['get'](_0x501937);return _0x4c3faa?Date['now']()-_0x4c3faa['lastTime']>0x7d0?0x0:_0x4c3faa['count']:0x0;}return Date['now']()-this['subLastMessageTime']>0x7d0?0x0:this['subMessageCount'];}['resetMessageCount'](){this['subMessageCount']=0x0,this['subStats']['forEach'](_0x2456dc=>{_0x2456dc['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(_0x48813e,_0x514b9d){this['rosController']=_0x48813e,this['app']=_0x514b9d,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'](_0x3a75be=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22\x20data-topic-key=\x22'+_0x3a75be['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'+_0x3a75be['default']+'\x22\x20placeholder=\x22'+_0x3a75be['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 _0x5d44e3=document['createElement']('div');_0x5d44e3['id']='floating-ros-panel',_0x5d44e3['className']='floating-panel',_0x5d44e3['style']['cssText']='top:\x2080px;\x20right:\x20400px;\x20width:\x20360px;\x20z-index:\x2051;\x20display:\x20none;',_0x5d44e3['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']=_0x5d44e3,this['attachEventListeners'](),this['startMessageRateMonitor']();const _0x535fab=new URLSearchParams(window['location']['search']),_0x23db51=_0x535fab['has']('mocap'),_0x5e0a04=_0x535fab['get']('mocap');if(_0x23db51&&_0x5e0a04){const _0xb9dc8a=Ma[_0x5e0a04];if(_0xb9dc8a){_0x5d44e3['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach']((_0x208cdc,_0x2b4a08)=>{if(0x0===_0x2b4a08){const _0x319490=_0x208cdc['querySelector']('.ros-topic-input');_0x319490['value']=_0xb9dc8a['rosTopic'],_0x319490['title']='TF\x20Topic';_0x208cdc['querySelector']('.ros-topic-checkbox')['style']['display']='none';}else _0x208cdc['style']['display']='none';});_0x5d44e3['querySelectorAll']('.ros-form-group')['forEach'](_0x164ac7=>{_0x164ac7['querySelector']('#ros-bidirectional')&&(_0x164ac7['style']['display']='none');});const _0x4cdf7f=_0x5d44e3['querySelector']('#ros-publish-config');_0x4cdf7f&&(_0x4cdf7f['style']['display']='none');}}return _0x5d44e3;}['_t'](_0x1352ba,_0x28fcb1=_0x1352ba){var _0x10dcde,_0x1867d2;const _0x306546=null==(_0x1867d2=null==(_0x10dcde=window['i18n'])?void 0x0:_0x10dcde['t'])?void 0x0:_0x1867d2['call'](_0x10dcde,_0x1352ba);return _0x306546&&_0x306546!==_0x1352ba?_0x306546:_0x28fcb1;}['refreshLanguage'](){var _0x295b11,_0x2622f9,_0x33d594;if(!this['panel'])return;null==(_0x2622f9=null==(_0x295b11=window['i18n'])?void 0x0:_0x295b11['updatePageLanguage'])||_0x2622f9['call'](_0x295b11);const _0x5dac3a=!!(null==(_0x33d594=this['rosController'])?void 0x0:_0x33d594['connected']),_0x5a8647=this['panel']['querySelector']('#ros-status');if(_0x5a8647&&(_0x5a8647['textContent']=this['_t'](_0x5dac3a?'statusConnected':'statusDisconnected'),_0x5a8647['style']['color']=_0x5dac3a?'#4caf50':'#f44336'),_0x5dac3a&&this['_domainIdResolved']){const _0x127817=this['panel']['querySelector']('#ros-domain-id');_0x127817&&(null!==this['_domainId']?(_0x127817['textContent']=this['_domainId'],_0x127817['style']['background']='#1e8e3e'):(_0x127817['textContent']=this['_t']('unknown'),_0x127817['style']['background']='#e65100'));}}['attachEventListeners'](){const _0xb7b434=this['panel']['querySelector']('#ros-connect-btn'),_0x33e951=this['panel']['querySelector']('#ros-disconnect-btn'),_0x58d325=this['panel']['querySelector']('#ros-monitor-btn'),_0x3d1db6=this['panel']['querySelector']('#ros-bidirectional'),_0x268da0=this['panel']['querySelector']('#ros-pub-rate');this['panel']['querySelector']('#ros-download-script')['addEventListener']('click',_0x1f5ac2=>{_0x1f5ac2['preventDefault']();const _0x325089=document['createElement']('a');_0x325089['href']='/scripts/start-rosbridge.sh',_0x325089['download']='start-rosbridge.sh',document['body']['appendChild'](_0x325089),_0x325089['click'](),document['body']['removeChild'](_0x325089);}),_0x58d325['addEventListener']('click',()=>{const _0x498194=''+window['location']['origin']+window['location']['pathname']+'?plot=1';window['open'](_0x498194,'_blank');}),this['bidirectionalEnabled']=!0x0,_0x268da0['addEventListener']('input',_0x5e1b49=>{this['publishRate']=parseInt(_0x5e1b49['target']['value'])||0x14,this['_heartbeatWorker']&&(this['stopPublishing'](),this['startPublishing']());}),_0xb7b434['addEventListener']('click',()=>{const _0x27167b=this['panel']['querySelector']('#ros-url')['value'];_0x27167b?(this['rosController']['connect'](_0x27167b),localStorage['setItem']('ros_url',_0x27167b),localStorage['setItem']('ros_connected','true'),_0xb7b434['disabled']=!0x0):alert(this['_t']('enterServerUrl'));}),_0x33e951['addEventListener']('click',()=>{this['rosController']['disconnect']();}),_0x3d1db6['addEventListener']('change',_0x2217b8=>{this['bidirectionalEnabled']=_0x2217b8['target']['checked'],_0x2217b8['target']['checked']&&this['rosController']['connected']&&this['app']['currentModel']?this['startPublishing']():this['stopPublishing']();}),this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x144445=>{const _0x5980a3=_0x144445['querySelector']('.ros-topic-checkbox'),_0x2f8e61=_0x144445['querySelector']('.ros-topic-input');_0x5980a3['addEventListener']('change',()=>{this['rosController']['connected']&&this['app']['currentModel']&&(_0x5980a3['checked']?_0x2f8e61['value']&&this['rosController']['subscribeJointCmd'](this['app']['currentModel'],_0x2f8e61['value']):this['rosController']['unsubscribeTopic'](_0x2f8e61['value']));});}),this['rosController']['onDomainIdChange']=_0x358836=>{const _0x21e1b7=this['panel']['querySelector']('#ros-domain-id');_0x21e1b7&&(this['_domainIdResolved']=!0x0,this['_domainId']=_0x358836,null!==_0x358836?(_0x21e1b7['textContent']=_0x358836,_0x21e1b7['style']['background']='#1e8e3e'):(_0x21e1b7['textContent']=this['_t']('unknown'),_0x21e1b7['style']['background']='#e65100'));},this['rosController']['onConnectionChange']=_0xfdbd1b=>{var _0x3de418;const _0x26509a=this['panel']['querySelector']('#ros-status');if(_0x26509a['textContent']=this['_t'](_0xfdbd1b?'statusConnected':'statusDisconnected'),_0x26509a['style']['color']=_0xfdbd1b?'#4caf50':'#f44336',_0xb7b434['disabled']=_0xfdbd1b,_0x33e951['disabled']=!_0xfdbd1b,!_0xfdbd1b){const _0x291c7c=this['panel']['querySelector']('#ros-domain-id');_0x291c7c&&(_0x291c7c['textContent']='—',_0x291c7c['style']['background']='#1e8e3e'),this['_domainId']=null,this['_domainIdResolved']=!0x1,this['stopPublishing'](),localStorage['setItem']('ros_connected','false');}const _0x1d981d=new URLSearchParams(window['location']['search']),_0x5bd3b5=_0x1d981d['has']('mocap'),_0x14cc7c=_0x1d981d['get']('mocap');if(_0xfdbd1b)if(_0x5bd3b5&&_0x14cc7c&&this['app']['sceneManager']['currentModel']){const _0x44644f=Ma[_0x14cc7c];if(_0x44644f&&'tf'===_0x44644f['topicType']){const _0x3f0af9=null==(_0x3de418=this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x3de418['querySelector']('.ros-topic-input'),_0x179c12=(null==_0x3f0af9?void 0x0:_0x3f0af9['value'])||_0x44644f['rosTopic'];this['rosController']['tfController']['subscribeTF'](_0x44644f['id'],this['app']['sceneManager']['currentModel'],_0x179c12);}}else this['app']['currentModel']&&(this['_subscribeCheckedTopics'](this['app']['currentModel']),this['bidirectionalEnabled']&&this['startPublishing']());};}['_subscribeCheckedTopics'](_0x47522e){this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x476afc=>{const _0x6050d7=_0x476afc['querySelector']('.ros-topic-checkbox'),_0x4f187d=_0x476afc['querySelector']('.ros-topic-input');_0x6050d7['checked']&&_0x4f187d['value']&&this['rosController']['subscribeJointCmd'](_0x47522e,_0x4f187d['value']);});}['startPublishing'](){this['_heartbeatWorker']||(this['_heartbeatWorker']=new Worker('./heartbeat-worker.js'),this['_heartbeatWorker']['onmessage']=()=>{if(this['rosController']['connected']&&this['app']['currentModel']){const _0x338aab=this['panel']['querySelector']('#ros-pub-topic')['value'];this['rosController']['publishJointStates'](this['app']['currentModel'],_0x338aab);}},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'](_0x5dd624=>{const _0x5b7ad2=_0x5dd624['querySelector']('.ros-topic-input'),_0x59702d=_0x5dd624['querySelector']('.ros-topic-rate');if(_0x5b7ad2&&_0x59702d){const _0x25e858=this['rosController']['getMessageRate'](_0x5b7ad2['value']);_0x59702d['textContent']=_0x25e858+'\x20Hz';}});const _0x4ced17=this['rosController']['getPubMessageRate'](),_0x250187=this['panel']['querySelector']('#ros-pub-rate-actual');_0x250187&&(_0x250187['textContent']=_0x4ced17+'\x20Hz'),this['rosController']['resetMessageCount'](),this['rosController']['resetPubMessageCount']();},0x3e8);}['onModelLoaded'](_0x79d6f0){this['rosController']['connected']&&(this['_subscribeCheckedTopics'](_0x79d6f0),this['bidirectionalEnabled']&&this['startPublishing']());}['onJointChanged'](_0x2b8f11){}['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 _0x239b12=document['getElementById']('toggle-ros-panel');_0x239b12&&_0x239b12['classList']['add']('active');}['getServerUrl'](){var _0x2aa4f8,_0x12aafe,_0x22300e;return(null==(_0x22300e=null==(_0x12aafe=null==(_0x2aa4f8=this['panel'])?void 0x0:_0x2aa4f8['querySelector']('#ros-url'))?void 0x0:_0x12aafe['value'])?void 0x0:_0x22300e['trim']())||'';}['setServerUrl'](_0x36cb65){var _0x2a6a5f;const _0x1bce6c=null==(_0x2a6a5f=this['panel'])?void 0x0:_0x2a6a5f['querySelector']('#ros-url');_0x1bce6c&&_0x36cb65&&(_0x1bce6c['value']=_0x36cb65);}['autoConnect'](_0xb09a86){if(!this['panel']||this['rosController']['connected'])return;const _0x2898f9=this['panel']['querySelector']('#ros-url');_0x2898f9&&_0xb09a86&&(_0x2898f9['value']=_0xb09a86);const _0x217b6e=this['panel']['querySelector']('#ros-connect-btn');_0x217b6e&&!_0x217b6e['disabled']&&_0x217b6e['click']();}}const Aa='__world__',La=['+X','-X','+Y','-Y','+Z','-Z'],Ea=_0x5e145c=>{const _0x53f12a='XYZ'['indexOf'](String(_0x5e145c||'')['toUpperCase']()['replace'](/[^XYZ]/g,'')[0x0]);return _0x53f12a<0x0?0x0:_0x53f12a;};function Ca(_0x6510c8,_0x160217){return _0x160217['set'](0x0,0x0,0x0),_0x160217['setComponent'](Ea(_0x6510c8),(_0x412e08=>'-'===(_0x412e08||'')['trim']()[0x0]?-0x1:0x1)(_0x6510c8)),_0x160217;}function ja(_0x472b0f,_0x380eb7){return Ea(_0x472b0f)!==Ea(_0x380eb7);}function ka(_0x5a6b11){return La['filter'](_0x22a2e7=>ja(_0x5a6b11,_0x22a2e7));}const Ta={'x':0x0,'y':0x1,'z':0x2},Oa={'roll':0x0,'pitch':0x1,'yaw':0x2},Fa=[new _0x5a7be3(0x1,0x0,0x0),new _0x5a7be3(0x0,0x1,0x0),new _0x5a7be3(0x0,0x0,0x1)],Da=Math['PI'],Pa=_0x5d0a09=>{const _0x3352a9=Number(_0x5d0a09)||0x0;return _0x3352a9>=-Da&&_0x3352a9<=Da?_0x3352a9:_0x3352a9-0x2*Da*Math['round'](_0x3352a9/(0x2*Da));};class Ia{constructor(_0x134e8c,_0x547530={}){this['sceneManager']=_0x134e8c,this['width']=_0x547530['width']??0x280,this['height']=_0x547530['height']??0x1e0,this['fov']=_0x547530['fov']??0x3c,this['near']=_0x547530['near']??0.001,this['far']=_0x547530['far']??0xc8,this['mountFrame']=_0x547530['mountFrame']??Aa,this['mountXyz']=[0x0,0x0,0x0],this['_mountOffset']=new _0x5a7be3(),this['mountRpy']=[0x0,0x0,0x0],this['forwardAxis']=_0x547530['forwardAxis']??'+X',this['upAxis']=_0x547530['upAxis']??'+Z',this['camera']=new _0x45bf09(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 _0x4adb8f(),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 _0x5dcd72(),this['_offsetMatrix']=new _0x5dcd72(),this['_presetMatrix']=new _0x5dcd72(),this['_fwdVec']=new _0x5a7be3(),this['_upVec']=new _0x5a7be3(),this['_rightVec']=new _0x5a7be3(),this['_backVec']=new _0x5a7be3(),this['_poseMatrix']=new _0x5dcd72(),this['_poseQuat']=new _0x4adb8f(),this['_axisVec']=new _0x5a7be3(),this['_axisQuat']=new _0x4adb8f(),this['_euler']=new _0x730a0a(),this['_tmpPos']=new _0x5a7be3(),this['_tmpQuat']=new _0x4adb8f(),this['_tmpScale']=new _0x5a7be3(),this['_encodeMaterial']=new _0x38f322({'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 _0x27d8b6(0x2,0x2),this['_quad']=new _0x3d1069(this['_quadGeometry'],this['_encodeMaterial']),this['_quad']['frustumCulled']=!0x1,this['_quadScene']=new _0x33e93b(),this['_quadScene']['add'](this['_quad']),this['_quadCamera']=new _0x410dff(-0x1,0x1,0x1,-0x1,0x0,0x1);}['setResolution'](_0x2cdb92,_0x3f21e5){const _0x7b7233=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x2cdb92)||0x0))),_0x7cf4ae=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x3f21e5)||0x0)));_0x7b7233===this['width']&&_0x7cf4ae===this['height']||(this['width']=_0x7b7233,this['height']=_0x7cf4ae,this['_firstFrameChecked']=!0x1);}['setFov'](_0x5c930f){const _0x4dbdcc=Number(_0x5c930f);Number['isFinite'](_0x4dbdcc)&&(this['fov']=Math['min'](0x78,Math['max'](0x1,_0x4dbdcc)));}['setMount'](_0x2a201c={}){void 0x0!==_0x2a201c['frame']&&_0x2a201c['frame']!==this['mountFrame']&&(this['mountFrame']=_0x2a201c['frame']||Aa,this['_warnedFrame']=null),Array['isArray'](_0x2a201c['xyz'])&&(this['mountXyz']=_0x2a201c['xyz']['map'](_0xde1dd9=>Number(_0xde1dd9)||0x0),this['_mountOffset']['set'](this['mountXyz'][0x0],this['mountXyz'][0x1],this['mountXyz'][0x2])),Array['isArray'](_0x2a201c['rpy'])&&(this['mountRpy']=_0x2a201c['rpy']['map'](Pa),this['_mountQuat']['copy'](this['_poseQuaternion'](this['_poseQuat']))),void 0x0!==_0x2a201c['forward']&&La['includes'](_0x2a201c['forward'])&&(this['forwardAxis']=_0x2a201c['forward'],ja(this['forwardAxis'],this['upAxis'])||(this['upAxis']=ka(this['forwardAxis'])[0x0])),void 0x0!==_0x2a201c['up']&&La['includes'](_0x2a201c['up'])&&ja(this['forwardAxis'],_0x2a201c['up'])&&(this['upAxis']=_0x2a201c['up']),this['refreshMountAxes']();}['setMountRpyField'](_0x2ccdb9,_0x62b78a){const _0x2e139b=Oa[_0x2ccdb9];if(void 0x0===_0x2e139b)return!0x1;const _0x1b003d=Pa(_0x62b78a),_0x5be09d=((_0x4917a2,_0x34f145)=>{let _0x25e701=_0x34f145-_0x4917a2;return _0x25e701>Da?_0x25e701-=0x2*Da:_0x25e701<-Da&&(_0x25e701+=0x2*Da),_0x25e701;})(this['mountRpy'][_0x2e139b],_0x1b003d);if(this['mountRpy'][_0x2e139b]=_0x1b003d,0x0!==_0x5be09d){const _0x85d574=this['_axisVec']['copy'](Fa[_0x2e139b])['applyQuaternion'](this['_mountQuat']);this['_mountQuat']['premultiply'](this['_axisQuat']['setFromAxisAngle'](_0x85d574,_0x5be09d));}return this['refreshMountAxes'](),!0x0;}['setMountXyzField'](_0x32f998,_0x4445e6){const _0x2a78ee=Ta[_0x32f998];if(void 0x0===_0x2a78ee)return!0x1;const _0x32178f=Number(_0x4445e6)||0x0,_0x557807=_0x32178f-this['mountXyz'][_0x2a78ee];if(this['mountXyz'][_0x2a78ee]=_0x32178f,0x0!==_0x557807){const _0x19ef9d=this['_axisVec']['set'](0x0,0x0,0x0)['setComponent'](_0x2a78ee,0x1)['applyQuaternion'](this['_mountQuat']);this['_mountOffset']['addScaledVector'](_0x19ef9d,_0x557807);}return this['refreshMountAxes'](),!0x0;}['setMountAxesVisible'](_0x35b666){var _0x23cbf6;const _0x4fcfd5=!!_0x35b666;_0x4fcfd5===this['_mountAxesVisible']&&((null==(_0x23cbf6=this['_mountAxes'])?void 0x0:_0x23cbf6['visible'])??!0x1)===_0x4fcfd5||(this['_mountAxesVisible']=_0x4fcfd5,this['refreshMountAxes']());}['refreshMountAxes'](){var _0x245148,_0x15ffc7;this['_applyMountAxes']()&&(null==(_0x15ffc7=null==(_0x245148=this['sceneManager'])?void 0x0:_0x245148['redraw'])||_0x15ffc7['call'](_0x245148));}['isMountAxesVisible'](){return this['_mountAxesVisible'];}['_applyMountAxes'](){const _0x4a8f4b=this['_mountAxesVisible']?this['_resolveParentObject']():null;if(!_0x4a8f4b)return!(!this['_mountAxes']||!this['_mountAxes']['visible'])&&(this['_mountAxes']['visible']=!0x1,!0x0);const _0x48f900=!this['_mountAxes']||this['_mountAxes']['parent']!==_0x4a8f4b;_0x48f900&&(this['_disposeMountAxes'](),this['_mountAxesSize']=this['_estimateAxesSize'](),this['_mountAxes']=Oi['createAxesGeometry'](this['_mountAxesSize']),_0x4a8f4b['add'](this['_mountAxes']));const {x:_0x3bb2c0,y:_0x48482c,z:_0x36900c}=this['_mountOffset'],_0x3e9df7=[_0x3bb2c0,_0x48482c,_0x36900c,this['_mountQuat']['x'],this['_mountQuat']['y'],this['_mountQuat']['z'],this['_mountQuat']['w']],_0x450ae2=!this['_mountAxesPose']||this['_mountAxesPose']['some']((_0x357f3a,_0x5978f6)=>_0x357f3a!==_0x3e9df7[_0x5978f6]);this['_mountAxes']['position']['set'](_0x3bb2c0,_0x48482c,_0x36900c),this['_mountAxes']['quaternion']['copy'](this['_mountQuat']),this['_mountAxesPose']=_0x3e9df7;const _0x3f3856=!this['_mountAxes']['visible'];return this['_mountAxes']['visible']=!0x0,_0x48f900||_0x3f3856||_0x450ae2;}['_estimateAxesSize'](){var _0x2408aa;let _0x2c30ce=0x1;try{const _0x370ed9=null==(_0x2408aa=this['sceneManager'])?void 0x0:_0x2408aa['currentModel'];if((null==_0x370ed9?void 0x0:_0x370ed9['threeObject'])&&'function'==typeof this['sceneManager']['computeRobustBoundingBox']){const _0x294996=this['sceneManager']['computeRobustBoundingBox'](_0x370ed9['threeObject']);_0x294996&&!_0x294996['isEmpty']()&&(_0x2c30ce=_0x294996['getSize'](new _0x5a7be3())['length']()||0x1);}}catch(_0x1013e3){}return Math['min'](0x2,Math['max'](0.05,0.15*_0x2c30ce));}['_resolveParentObject'](){var _0x2b166d,_0x456027;if(!this['mountFrame']||this['mountFrame']===Aa)return(null==(_0x2b166d=this['sceneManager'])?void 0x0:_0x2b166d['world'])||null;const _0x3e9f03=null==(_0x456027=this['sceneManager'])?void 0x0:_0x456027['currentModel'],_0x2ebfc3=_0x3e9f03&&'function'==typeof _0x3e9f03['getLink']?_0x3e9f03['getLink'](this['mountFrame']):null;return(null==_0x2ebfc3?void 0x0:_0x2ebfc3['threeObject'])||null;}['_disposeMountAxes'](){this['_mountAxes']&&(this['_mountAxes']['removeFromParent'](),this['_mountAxes']['traverse'](_0x2234d2=>{var _0x4962e3,_0x16ceb9;null==(_0x16ceb9=null==(_0x4962e3=_0x2234d2['geometry'])?void 0x0:_0x4962e3['dispose'])||_0x16ceb9['call'](_0x4962e3);(Array['isArray'](_0x2234d2['material'])?_0x2234d2['material']:_0x2234d2['material']?[_0x2234d2['material']]:[])['forEach'](_0xa4c8e4=>{var _0x44b707;return null==(_0x44b707=_0xa4c8e4['dispose'])?void 0x0:_0x44b707['call'](_0xa4c8e4);});}),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'](_0x8d72d6=null){const _0x284d7a=this['sceneManager'],_0x44401f=null==_0x284d7a?void 0x0:_0x284d7a['renderer'];if(!_0x44401f||_0x284d7a['_contextLost'])return this['lastCaptureSkipped']=_0x44401f?'context-lost':'no-renderer',null;this['lastCaptureSkipped']=null,this['_ensureTargets'](),this['_updateCameraPose']();const _0x35ef6=this['width']*this['height']*0x4,_0x4a7505=_0x8d72d6&&_0x8d72d6['length']===_0x35ef6?_0x8d72d6:this['_rgba'],_0x357bc4=performance['now'](),_0x19bdfb=_0x44401f['getRenderTarget'](),_0x3405c0=this['_useAltTarget']?this['_targetLinearAlt']:this['_targetLinear'],_0x500b1c=this['_useAltTarget']?this['_targetLdrAlt']:this['_targetLdr'],_0x3af326=this['_useAltTarget']?this['_targetLdr']:this['_targetLdrAlt'],_0x1bdf20=this['_hasPrevFrame'];let _0x57ae38=0x0;if(_0x1bdf20){const _0x1dcb6f=performance['now']();_0x44401f['readRenderTargetPixels'](_0x3af326,0x0,0x0,this['width'],this['height'],_0x4a7505),_0x57ae38=performance['now']()-_0x1dcb6f;}const _0x2ac5f5=_0x44401f['shadowMap'],_0x4cdb1b=!!(_0x284d7a['directionalLight']&&_0x284d7a['directionalLight']['shadow']&&_0x284d7a['directionalLight']['shadow']['map']),_0x36bd7f='function'==typeof _0x284d7a['hasPendingRender']&&!_0x284d7a['hasPendingRender'](),_0x3fc8dc=_0x2ac5f5['enabled']&&_0x4cdb1b&&_0x36bd7f,_0x1073d0=_0x2ac5f5['autoUpdate'];_0x3fc8dc&&(_0x2ac5f5['autoUpdate']=!0x1),this['_hideHelpers']();const _0x416501=performance['now']();try{_0x44401f['setRenderTarget'](_0x3405c0),_0x44401f['render'](_0x284d7a['scene'],this['camera']),this['_encodeMaterial']['uniforms']['tLinear']['value']=_0x3405c0['texture'],_0x44401f['setRenderTarget'](_0x500b1c),_0x44401f['render'](this['_quadScene'],this['_quadCamera']);}finally{_0x3fc8dc&&(_0x2ac5f5['autoUpdate']=_0x1073d0),_0x44401f['setRenderTarget'](_0x19bdfb),this['_restoreHelpers']();}const _0x548422=performance['now']()-_0x416501;return this['_useAltTarget']=!this['_useAltTarget'],this['_hasPrevFrame']=!0x0,this['lastCaptureMs']=performance['now']()-_0x357bc4,this['lastFrameLag']=_0x1bdf20?0x1:0x0,_0x1bdf20?(this['_firstFrameChecked']||(this['_firstFrameChecked']=!0x0,this['_checkFirstFrame'](_0x4a7505)),{'data':new Uint8ClampedArray(_0x4a7505['buffer'],_0x4a7505['byteOffset'],_0x4a7505['byteLength']),'width':this['width'],'height':this['height'],'captureMs':this['lastCaptureMs'],'renderMs':_0x548422,'readbackMs':_0x57ae38,'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 _0x1d77e0;const _0x303b18=null==(_0x1d77e0=this['sceneManager']['renderer'])?void 0x0:_0x1d77e0['extensions'];return!(!_0x303b18||'function'!=typeof _0x303b18['has'])&&(_0x303b18['has']('EXT_color_buffer_half_float')||_0x303b18['has']('EXT_color_buffer_float'));}['_ensureTargets'](){if(this['_targetLinear']&&this['_targetSize']['w']===this['width']&&this['_targetSize']['h']===this['height'])return;this['_disposeTargets']();const _0x2d218f=!this['_safeMode']&&this['_supportsFloatTarget']()?_0x1d0a26:_0x4beb35;this['_targetLinear']=new _0x87241a(this['width'],this['height'],{'type':_0x2d218f,'format':_0xffbefe,'minFilter':_0x307cf6,'magFilter':_0x307cf6,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinear']['texture']['generateMipmaps']=!0x1,this['_targetLdr']=new _0x87241a(this['width'],this['height'],{'type':_0x4beb35,'format':_0xffbefe,'minFilter':_0x307cf6,'magFilter':_0x307cf6,'depthBuffer':!0x1,'stencilBuffer':!0x1}),this['_targetLdr']['texture']['generateMipmaps']=!0x1,this['_targetLinearAlt']=new _0x87241a(this['width'],this['height'],{'type':_0x2d218f,'format':_0xffbefe,'minFilter':_0x307cf6,'magFilter':_0x307cf6,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinearAlt']['texture']['generateMipmaps']=!0x1,this['_targetLdrAlt']=new _0x87241a(this['width'],this['height'],{'type':_0x4beb35,'format':_0xffbefe,'minFilter':_0x307cf6,'magFilter':_0x307cf6,'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'](_0xd23643=0x5){const _0x1ff37c=this['sceneManager'],_0x2938c4=null==_0x1ff37c?void 0x0:_0x1ff37c['renderer'];if(!_0x2938c4||_0x1ff37c['_contextLost'])return null;this['_probeTarget']||(this['_probeTarget']=new _0x87241a(0x100,0x100,{'type':_0x4beb35,'format':_0xffbefe,'depthBuffer':!0x1,'stencilBuffer':!0x1}));const _0x20d8c=0x100,_0x22f382=new Uint8Array(0x40000),_0x3f561e=_0x2938c4['getRenderTarget'](),_0x103cf2=performance['now']();for(let _0x22a148=0x0;_0x22a148<_0xd23643;_0x22a148++)_0x2938c4['setRenderTarget'](this['_probeTarget']),_0x2938c4['clear'](!0x0,!0x1,!0x1),_0x2938c4['readRenderTargetPixels'](this['_probeTarget'],0x0,0x0,_0x20d8c,_0x20d8c,_0x22f382);_0x2938c4['setRenderTarget'](_0x3f561e);const _0x54db54=(performance['now']()-_0x103cf2)/_0xd23643;return this['lastGpuProbeMs']=_0x54db54,_0x54db54;}['_disposeTargets'](){for(const _0x1d6f0f of[this['_targetLinear'],this['_targetLdr'],this['_targetLinearAlt'],this['_targetLdrAlt']])_0x1d6f0f&&_0x1d6f0f['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 _0x34e4c3=this['_worldMatrix'];if(!this['mountFrame']||this['mountFrame']===Aa){const _0x1dd4fe=this['sceneManager']['world'];return _0x1dd4fe?(_0x1dd4fe['updateWorldMatrix'](!0x0,!0x1),_0x34e4c3['copy'](_0x1dd4fe['matrixWorld'])):_0x34e4c3['identity'](),_0x34e4c3;}const _0x41eb4d=this['sceneManager']['currentModel'],_0x42f0cf=_0x41eb4d&&'function'==typeof _0x41eb4d['getLink']?_0x41eb4d['getLink'](this['mountFrame']):null,_0x16be78=null==_0x42f0cf?void 0x0:_0x42f0cf['threeObject'];if(_0x16be78)_0x16be78['updateWorldMatrix'](!0x0,!0x1),_0x34e4c3['copy'](_0x16be78['matrixWorld']);else{this['_warnedFrame']!==this['mountFrame']&&(this['_warnedFrame']=this['mountFrame']);const _0x47bb47=this['sceneManager']['world'];_0x47bb47?(_0x47bb47['updateWorldMatrix'](!0x0,!0x1),_0x34e4c3['copy'](_0x47bb47['matrixWorld'])):_0x34e4c3['identity']();}return _0x34e4c3;}['_updateCameraPose'](){const _0xefd39c=this['_resolveParentMatrix']();_0xefd39c['multiply'](this['_buildOffsetMatrix']()),_0xefd39c['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:_0x2ec6fa,y:_0x5d5624,z:_0xd184fb}=this['_mountOffset'];return this['_offsetMatrix']['makeTranslation'](_0x2ec6fa,_0x5d5624,_0xd184fb),this['_offsetMatrix']['multiply'](this['_buildPoseMatrix']())['multiply'](this['_buildOrientationMatrix']());}['_poseQuaternion'](_0x2acdf0){const [_0x367dee,_0x4833da,_0x4407ec]=this['mountRpy'];return _0x2acdf0['setFromEuler'](this['_euler']['set'](_0x367dee,_0x4833da,_0x4407ec,'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 _0x10a5f4;const _0x1b29f9=this['sceneManager'];this['_hidden']=[];const _0x4c53d4=_0x319142=>{_0x319142&&_0x319142['visible']&&(this['_hidden']['push'](_0x319142),_0x319142['visible']=!0x1);};_0x4c53d4(_0x1b29f9['referenceGrid']),_0x4c53d4(_0x1b29f9['worldAxes']),_0x4c53d4(null==(_0x10a5f4=_0x1b29f9['measurementManager'])?void 0x0:_0x10a5f4['measurementHelper']),_0x1b29f9['scene']['traverse'](_0x3c2f6a=>{_0x3c2f6a['userData']&&_0x3c2f6a['userData']['excludeFromBBox']&&_0x4c53d4(_0x3c2f6a);});}['_restoreHelpers'](){for(const _0x587d75 of this['_hidden'])_0x587d75['visible']=!0x0;this['_hidden']=[];}['_checkFirstFrame'](_0x4ec113){if(this['_safeMode'])return!0x1;let _0x161c48=0x0;for(let _0x4e2f8d=0x0;_0x4e2f8d<_0x4ec113['length'];_0x4e2f8d+=0x40)_0x161c48+=_0x4ec113[_0x4e2f8d];return 0x0===_0x161c48&&(this['_safeMode']=!0x0,this['_disposeTargets'](),this['_ensureTargets'](),!0x0);}}class Ra{constructor(_0x37a1a2,_0x37bf24){this['rosController']=_0x37a1a2,this['virtualCamera']=_0x37bf24,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'](_0x3a0a64){return!!this['_running']||(_0x3a0a64?!!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':_0x3a0a64})}),this['_notifyRunningChange'](),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1));}['connect'](_0x4acc70){return _0x4acc70?!!this['_ensureWorker']()&&(this['_connectionWanted']=!0x0,this['_lastError']=null,this['_worker']['postMessage']({'cmd':'connect',...this['_configPayload']({'url':_0x4acc70})}),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1);}['disconnect'](){var _0x1b254c;this['_running']=!0x1,this['_connectionWanted']=!0x1,null==(_0x1b254c=this['_worker'])||_0x1b254c['postMessage']({'cmd':'disconnect'}),this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,null),this['_notifyRunningChange']();}['stop'](){var _0x4aedfd;this['_running']&&(this['_running']=!0x1,null==(_0x4aedfd=this['_worker'])||_0x4aedfd['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'](_0x249357){this['_previewEnabled']=!!_0x249357,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 _0xe8548f=null,_0x1b8a12=!0x1;try{_0xe8548f=this['_acquireBuffer']();const _0x216378=this['virtualCamera']['capture'](_0xe8548f);if(!_0x216378)return this['_releaseBuffer'](_0xe8548f),void this['_answerNoFrame'](this['virtualCamera']['lastCaptureSkipped']||'capture-null');this['_recordCapture'](_0x216378),this['_worker']['postMessage']({'cmd':'frame','buffer':_0xe8548f['buffer'],'width':_0x216378['width'],'height':_0x216378['height'],'captureMs':_0x216378['captureMs']},[_0xe8548f['buffer']]),_0x1b8a12=!0x0;}catch(_0x4bb381){this['_lastError']='采集失败:\x20'+((null==_0x4bb381?void 0x0:_0x4bb381['message'])||_0x4bb381),_0xe8548f&&!_0x1b8a12&&this['_releaseBuffer'](_0xe8548f),this['_answerNoFrame']('error');}}['_answerNoFrame'](_0x5eb726){var _0x1bb496;this['_noFrameCount']++,this['_lastNoFrameReason']=_0x5eb726,null==(_0x1bb496=this['_worker'])||_0x1bb496['postMessage']({'cmd':'noframe','reason':_0x5eb726});}['_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']=_0x1bf384=>this['_onWorkerMessage'](_0x1bf384['data']||{}),this['_worker']['onerror']=_0x27be48=>{if(this['_lastError']='相机发布\x20Worker\x20异常:\x20'+((null==_0x27be48?void 0x0:_0x27be48['message'])||_0x27be48),this['_running']=!0x1,this['_connectionWanted']=!0x1,this['_worker']){try{this['_worker']['terminate']();}catch(_0x45d761){}this['_worker']=null;}this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,this['_lastError']),this['_notifyRunningChange']();},!0x0;}catch(_0x3a9ab8){return this['_lastError']='无法创建相机发布\x20Worker:\x20'+((null==_0x3a9ab8?void 0x0:_0x3a9ab8['message'])||_0x3a9ab8),!0x1;}}['_onWorkerMessage'](_0x2f811c){switch(_0x2f811c['cmd']){case'need':this['_provideFrame']();break;case'buffer':_0x2f811c['buffer']&&this['_releaseBuffer'](new Uint8Array(_0x2f811c['buffer']));break;case'domainId':this['onDomainId']&&this['onDomainId']('number'==typeof _0x2f811c['value']?_0x2f811c['value']:null);break;case'encodings':this['_encodings']=Array['isArray'](_0x2f811c['list'])?_0x2f811c['list']:null,this['onEncodings']&&this['onEncodings'](this['_encodings']);break;case'preview':this['onPreview']&&this['onPreview']({'base64':_0x2f811c['base64'],'mime':_0x2f811c['mime']||'image/jpeg','width':_0x2f811c['width'],'height':_0x2f811c['height'],'previewWidth':_0x2f811c['previewWidth'],'previewHeight':_0x2f811c['previewHeight'],'payloadBytes':_0x2f811c['payloadBytes'],'captureMs':_0x2f811c['captureMs']});break;case'stats':this['_workerStats']={'rate':_0x2f811c['rate']||0x0,'target':_0x2f811c['target']||this['rateHz'],'queued':_0x2f811c['queue']||0x0,'depth':_0x2f811c['depth']||0x1,'underruns':_0x2f811c['underruns']||0x0,'dropped':_0x2f811c['dropped']||0x0,'payloadBytes':_0x2f811c['payloadBytes']||0x0,'encodeMs':_0x2f811c['encodeMs']||0x0,'pendingNeed':_0x2f811c['pendingNeed']||0x0,'encodeInFlight':_0x2f811c['encodeInFlight']||0x0,'stalled':_0x2f811c['stalled']||0x0,'reconnects':_0x2f811c['reconnects']||0x0,'workerConnected':!!_0x2f811c['connected'],'workerRunning':!!_0x2f811c['running'],'wsState':'number'==typeof _0x2f811c['wsState']?_0x2f811c['wsState']:-0x1,'lastDrop':_0x2f811c['lastDrop']||null,'lastFormat':_0x2f811c['format']||null};break;case'state':_0x2f811c['error']&&(this['_lastError']=_0x2f811c['error']),this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!!_0x2f811c['connected'],_0x2f811c['error']||null);}}['_configPayload'](_0x3bb221={}){return{'topic':this['topicName'],'type':this['messageType'],'frameId':this['frameId'],'rate':this['rateHz'],'format':this['imageFormat'],'quality':this['jpegQuality'],'preview':this['_previewEnabled'],'previewWidth':0x140,..._0x3bb221};}['_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 _0x36369c=0x0;_0x36369c<0x3;_0x36369c++)this['_pool']['push'](new Uint8Array(this['virtualCamera']['width']*this['virtualCamera']['height']*0x4));}['_acquireBuffer'](){const _0x5daeea=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;this['_poolSize']['w']===this['virtualCamera']['width']&&this['_poolSize']['h']===this['virtualCamera']['height']||this['_resetPool']();let _0x23724e=this['_pool']['pop']();return _0x23724e&&_0x23724e['length']===_0x5daeea||(_0x23724e=new Uint8Array(_0x5daeea),this['_poolAllocs']++),_0x23724e;}['_releaseBuffer'](_0x4ac6fb){const _0x5f2a83=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;_0x4ac6fb&&_0x4ac6fb['length']===_0x5f2a83&&(this['_pool']['length']>=0x3||this['_pool']['push'](_0x4ac6fb));}['_recordCapture'](_0x2225d2){const _0x328644=_0x2225d2['captureMs']||0x0;this['_win']['count']++,this['_win']['captureSum']+=_0x328644,_0x328644>this['_win']['captureMax']&&(this['_win']['captureMax']=_0x328644),(_0x2225d2['renderMs']||0x0)>this['_win']['renderMax']&&(this['_win']['renderMax']=_0x2225d2['renderMs']||0x0),(_0x2225d2['readbackMs']||0x0)>this['_win']['readbackMax']&&(this['_win']['readbackMax']=_0x2225d2['readbackMs']||0x0);}['_notifyRunningChange'](){this['onRunningChange']&&this['onRunningChange'](this['_running']);}['collectStats'](){const _0x12bcdb=this['_workerStats'],_0x3c4f91=this['_win'],_0x154040=_0x3c4f91['count'],_0x847e8f={'rate':_0x12bcdb['rate'],'target':_0x12bcdb['target'],'queued':_0x12bcdb['queued'],'depth':_0x12bcdb['depth'],'underruns':_0x12bcdb['underruns'],'dropped':_0x12bcdb['dropped'],'payloadBytes':_0x12bcdb['payloadBytes'],'encodeMs':_0x12bcdb['encodeMs'],'format':_0x12bcdb['lastFormat']||'','pendingNeed':_0x12bcdb['pendingNeed'],'encodeInFlight':_0x12bcdb['encodeInFlight'],'stalled':_0x12bcdb['stalled'],'reconnects':_0x12bcdb['reconnects'],'workerConnected':_0x12bcdb['workerConnected'],'workerRunning':_0x12bcdb['workerRunning'],'wsState':_0x12bcdb['wsState'],'lastDrop':_0x12bcdb['lastDrop'],'running':this['_running'],'hasWorker':!!this['_worker'],'captured':_0x154040,'captureMs':_0x154040?_0x3c4f91['captureSum']/_0x154040:0x0,'captureMax':_0x3c4f91['captureMax'],'renderMax':_0x3c4f91['renderMax'],'readbackMax':_0x3c4f91['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},_0x847e8f;}['getLastError'](){return this['_lastError'];}}const za=['320x240','640x480','1280x720','1920x1080'],Na=['jpeg','png','webp'];class Ua{constructor(_0x4ae598,_0x27df07,_0x260d52){this['app']=_0x4ae598,this['virtualCamera']=_0x27df07,this['publisher']=_0x260d52,this['panel']=null,this['_lastPreviewAt']=0x0,this['_statsTimer']=null,this['_cameraConnected']=!0x1,this['_domainId']=null,this['_domainIdResolved']=!0x1,this['_encodings']=null,this['publisher']['onPreview']=_0x363e41=>this['_handlePreview'](_0x363e41),this['publisher']['onRunningChange']=()=>this['_syncRunningState'](),this['publisher']['onCameraConnectionChange']=(_0x508faa,_0xa00887)=>this['_handleCameraConnection'](_0x508faa,_0xa00887),this['publisher']['onEncodings']=_0x6f1ae9=>this['_handleEncodings'](_0x6f1ae9),this['publisher']['onDomainId']=_0x369c4f=>this['_handleDomainId'](_0x369c4f);}['createPanel'](){var _0x3353ce,_0x1d76df;const _0x41163e=document['createElement']('div');_0x41163e['id']='virtual-camera-panel',_0x41163e['className']='floating-panel',_0x41163e['style']['cssText']='top:\x2080px;\x20left:\x20400px;\x20width:\x20400px;\x20max-height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;',_0x41163e['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'](_0x145b67=>'<option\x20value=\x22'+_0x145b67+'\x22>'+_0x145b67+'</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'](_0x26dc98=>'<option\x20value=\x22'+_0x26dc98+'\x22>'+_0x26dc98['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']=_0x41163e,this['refreshMountTargets'](),this['_syncMountPoseInputs'](),this['_syncOrientationSelects'](),this['attachEventListeners'](),this['_syncPresetSelect'](),this['_syncFormatSelect'](),null==(_0x1d76df=(_0x3353ce=this['publisher'])['requestEncodings'])||_0x1d76df['call'](_0x3353ce);const _0x52c6a4=_0x41163e['querySelector']('#vc-ros-url');return _0x52c6a4&&(_0x52c6a4['value']=this['_resolveRosUrl']()),this['_syncConnectionButtons'](!0x1),this['startStatsMonitor'](),_0x41163e;}['attachEventListeners'](){var _0x27c65c;const _0x18a850=_0x351289=>this['panel']['querySelector']('#'+_0x351289);_0x18a850('vc-topic')['addEventListener']('change',_0x28eb92=>{this['publisher']['topicName']=_0x28eb92['target']['value']['trim']()||this['publisher']['topicName'],_0x28eb92['target']['value']=this['publisher']['topicName'],this['publisher']['onTopicConfigChanged']();}),_0x18a850('vc-frame-id')['addEventListener']('change',_0x143ec0=>{this['publisher']['frameId']=_0x143ec0['target']['value']['trim']();}),[['vc-pos-x','x'],['vc-pos-y','y'],['vc-pos-z','z']]['forEach'](([_0x1a577f,_0x595137])=>{_0x18a850(_0x1a577f)['addEventListener']('change',_0x372194=>{const _0x17595b=parseFloat(_0x372194['target']['value']);this['virtualCamera']['setMountXyzField'](_0x595137,Number['isFinite'](_0x17595b)?_0x17595b:0x0),this['_syncMountPoseInputs']();});}),[['vc-rpy-r','roll'],['vc-rpy-p','pitch'],['vc-rpy-y','yaw']]['forEach'](([_0xa9d39f,_0x1e2d19])=>{_0x18a850(_0xa9d39f)['addEventListener']('change',_0x2d7a93=>{const _0x81d572=parseFloat(_0x2d7a93['target']['value']);this['virtualCamera']['setMountRpyField'](_0x1e2d19,(Number['isFinite'](_0x81d572)?_0x81d572:0x0)*Math['PI']/0xb4),this['_syncMountPoseInputs']();});}),_0x18a850('vc-pos-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'xyz':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();}),_0x18a850('vc-rpy-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'rpy':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();});const _0x1ac5e0=()=>{const _0x26ed2b=parseInt(_0x18a850('vc-width')['value'],0xa),_0x29b418=parseInt(_0x18a850('vc-height')['value'],0xa);_0x26ed2b&&_0x29b418&&(this['virtualCamera']['setResolution'](_0x26ed2b,_0x29b418),_0x18a850('vc-width')['value']=this['virtualCamera']['width'],_0x18a850('vc-height')['value']=this['virtualCamera']['height'],this['_syncPresetSelect']());};_0x18a850('vc-width')['addEventListener']('change',_0x1ac5e0),_0x18a850('vc-height')['addEventListener']('change',_0x1ac5e0),_0x18a850('vc-preset')['addEventListener']('change',_0x2033b4=>{const _0x4aac0c=_0x2033b4['target']['value'];if(!_0x4aac0c)return;const [_0x5eaba1,_0x30cfcb]=_0x4aac0c['split']('x')['map'](_0x3e9ad5=>parseInt(_0x3e9ad5,0xa));_0x18a850('vc-width')['value']=_0x5eaba1,_0x18a850('vc-height')['value']=_0x30cfcb,_0x1ac5e0();}),_0x18a850('vc-fov')['addEventListener']('change',_0x1ac7be=>{this['virtualCamera']['setFov'](parseFloat(_0x1ac7be['target']['value'])),_0x1ac7be['target']['value']=this['virtualCamera']['fov'];}),_0x18a850('vc-rate-hz')['addEventListener']('change',_0x32c664=>{const _0x110541=parseInt(_0x32c664['target']['value'],0xa);_0x110541&&(this['publisher']['rateHz']=Math['max'](0x1,Math['min'](0x78,_0x110541)),_0x32c664['target']['value']=this['publisher']['rateHz'],this['publisher']['onRateChanged']());}),_0x18a850('vc-mount-frame')['addEventListener']('change',_0x27c137=>{this['virtualCamera']['setMount']({'frame':_0x27c137['target']['value']}),this['_syncMountAxes']();}),_0x18a850('vc-show-axes')['addEventListener']('change',()=>this['_syncMountAxes']()),_0x18a850('vc-forward')['addEventListener']('change',_0xb2f62e=>{this['virtualCamera']['setMount']({'forward':_0xb2f62e['target']['value']}),this['_syncOrientationSelects']();}),_0x18a850('vc-up')['addEventListener']('change',_0x11574c=>{this['virtualCamera']['setMount']({'up':_0x11574c['target']['value']}),this['_syncOrientationSelects']();}),_0x18a850('vc-msg-type')['addEventListener']('change',_0x58cf8b=>{this['publisher']['messageType']=_0x58cf8b['target']['value']||this['publisher']['messageType'],_0x58cf8b['target']['value']=this['publisher']['messageType'],this['publisher']['onTopicConfigChanged']();}),_0x18a850('vc-format')['addEventListener']('change',_0xa8230d=>{this['publisher']['imageFormat']=Na['includes'](_0xa8230d['target']['value'])?_0xa8230d['target']['value']:'jpeg',_0xa8230d['target']['value']=this['publisher']['imageFormat'],this['publisher']['onFormatChanged']();}),_0x18a850('vc-ros-url')['addEventListener']('change',_0x544f67=>{const _0x5485d6=this['_persistRosUrl'](_0x544f67['target']['value']);_0x544f67['target']['value']=_0x5485d6;}),_0x18a850('vc-connect-btn')['addEventListener']('click',()=>{const _0xadc0a8=this['_persistRosUrl'](_0x18a850('vc-ros-url')['value']);_0x18a850('vc-ros-url')['value']=_0xadc0a8,this['publisher']['connect'](_0xadc0a8)?this['_syncConnectionButtons'](!0x0):this['_warn']('连接失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x18a850('vc-disconnect-btn')['addEventListener']('click',()=>{this['publisher']['disconnect'](),this['_syncConnectionButtons'](!0x1);}),_0x18a850('vc-download-script')['addEventListener']('click',_0xcfab16=>{_0xcfab16['preventDefault']();const _0x1d6472=document['createElement']('a');_0x1d6472['href']='/scripts/start-rosbridge.sh',_0x1d6472['download']='start-rosbridge.sh',document['body']['appendChild'](_0x1d6472),_0x1d6472['click'](),document['body']['removeChild'](_0x1d6472);}),_0x18a850('vc-start-btn')['addEventListener']('click',()=>{var _0x5e3292;if(!(null==(_0x5e3292=this['app'])?void 0x0:_0x5e3292['currentModel']))return void this['_warn']('请先载入机器人模型');const _0x2da5c5=this['_persistRosUrl'](_0x18a850('vc-ros-url')['value']);_0x18a850('vc-ros-url')['value']=_0x2da5c5,this['publisher']['start'](_0x2da5c5)||this['_warn']('发布启动失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x18a850('vc-stop-btn')['addEventListener']('click',()=>{this['publisher']['stop']();}),null==(_0x27c65c=document['getElementById']('toggle-virtual-camera-panel'))||_0x27c65c['addEventListener']('click',()=>{this['refreshMountTargets']();});}['_syncOrientationSelects'](){var _0x11c60d,_0x1e62f4;const _0x1775af=null==(_0x11c60d=this['panel'])?void 0x0:_0x11c60d['querySelector']('#vc-forward'),_0x118d56=null==(_0x1e62f4=this['panel'])?void 0x0:_0x1e62f4['querySelector']('#vc-up');if(!_0x1775af||!_0x118d56)return;const _0x6115db=this['virtualCamera']['getState']();_0x1775af['innerHTML']=La['map'](_0x5de08b=>'<option\x20value=\x22'+_0x5de08b+'\x22>'+_0x5de08b+'</option>')['join'](''),_0x1775af['value']=_0x6115db['forwardAxis'],_0x118d56['innerHTML']=ka(_0x6115db['forwardAxis'])['map'](_0x21380c=>'<option\x20value=\x22'+_0x21380c+'\x22>'+_0x21380c+'</option>')['join'](''),_0x118d56['value']=_0x6115db['upAxis'];}['_syncMountPoseInputs'](){var _0x18c624,_0x47fc1a;const _0x411d06=(null==(_0x47fc1a=(_0x18c624=this['virtualCamera'])['getState'])?void 0x0:_0x47fc1a['call'](_0x18c624))||{},_0x405f81=_0x411d06['mountXyz']||[0x0,0x0,0x0],_0x2cc398=(_0x411d06['mountRpy']||[0x0,0x0,0x0])['map'](_0x509c4f=>0xb4*_0x509c4f/Math['PI']),_0x23b636=(_0x1be781,_0x332e20)=>{var _0x378003;const _0x583ea7=null==(_0x378003=this['panel'])?void 0x0:_0x378003['querySelector']('#'+_0x1be781);_0x583ea7&&(_0x583ea7['value']=String(Number(Number(_0x332e20)['toFixed'](0x4))));};_0x23b636('vc-pos-x',_0x405f81[0x0]),_0x23b636('vc-pos-y',_0x405f81[0x1]),_0x23b636('vc-pos-z',_0x405f81[0x2]),_0x23b636('vc-rpy-r',_0x2cc398[0x0]),_0x23b636('vc-rpy-p',_0x2cc398[0x1]),_0x23b636('vc-rpy-y',_0x2cc398[0x2]);}['refreshMountTargets'](){var _0x1b533a,_0x215ff3,_0x48dbe2;const _0x21f0fe=null==(_0x1b533a=this['panel'])?void 0x0:_0x1b533a['querySelector']('#vc-mount-frame');if(!_0x21f0fe)return;const _0xf955fa=null==(_0x48dbe2=null==(_0x215ff3=this['app'])?void 0x0:_0x215ff3['sceneManager'])?void 0x0:_0x48dbe2['currentModel'],_0xe985f2=(null==_0xf955fa?void 0x0:_0xf955fa['links'])?Array['from'](_0xf955fa['links']['keys']()):[],_0x59ca07=this['virtualCamera']['mountFrame']||Aa;_0x21f0fe['innerHTML']=['<option\x20value=\x22'+Aa+'\x22\x20data-i18n=\x22worldFrame\x22>'+this['_t']('worldFrame','世界坐标系')+'</option>',..._0xe985f2['map'](_0x133686=>'<option\x20value=\x22'+_0x133686+'\x22>'+_0x133686+'</option>')]['join'](''),_0x59ca07===Aa||_0xe985f2['includes'](_0x59ca07)||this['virtualCamera']['setMount']({'frame':Aa}),_0x21f0fe['value']=this['virtualCamera']['mountFrame'],this['_syncMountAxes']({'refreshParent':!0x0});}['_syncMountAxes']({refreshParent:_0x24b93e=!0x1}={}){var _0x332dd6,_0x5efe80,_0x3a7e8d,_0x2af02a;const _0x306900=this['_isPanelVisible'](),_0x3ca2da=!!(null==(_0x5efe80=null==(_0x332dd6=this['panel'])?void 0x0:_0x332dd6['querySelector']('#vc-show-axes'))?void 0x0:_0x5efe80['checked']);this['virtualCamera']['setMountAxesVisible'](_0x3ca2da&&_0x306900),_0x24b93e&&(null==(_0x2af02a=(_0x3a7e8d=this['virtualCamera'])['refreshMountAxes'])||_0x2af02a['call'](_0x3a7e8d));}['_handleCameraConnection'](_0x102f04,_0x4a8d67){var _0x11d8dc;this['_cameraConnected']=!!_0x102f04;const _0x44f08a=null==(_0x11d8dc=this['panel'])?void 0x0:_0x11d8dc['querySelector']('#vc-cam-status');_0x44f08a&&(_0x44f08a['textContent']=this['_t'](_0x102f04?'cameraConnected':'cameraDisconnected'),_0x44f08a['style']['color']=_0x102f04?'#4caf50':'#f44336'),this['_syncConnectionButtons'](_0x102f04),_0x102f04||(this['_domainId']=null,this['_resetDomainIdBadge']()),!_0x102f04&&_0x4a8d67&&this['_warn']('相机连接出错:'+_0x4a8d67,_0x4a8d67);}['_resetDomainIdBadge'](){var _0x812318;this['_domainId']=null,this['_domainIdResolved']=!0x1;const _0xb0d919=null==(_0x812318=this['panel'])?void 0x0:_0x812318['querySelector']('#vc-domain-id');_0xb0d919&&(_0xb0d919['textContent']='—',_0xb0d919['style']['background']='#1e8e3e');}['_handleDomainId'](_0x39b445){var _0x123320;const _0x36b97e=null==(_0x123320=this['panel'])?void 0x0:_0x123320['querySelector']('#vc-domain-id');_0x36b97e&&this['_cameraConnected']&&(this['_domainIdResolved']=!0x0,this['_domainId']='number'==typeof _0x39b445?_0x39b445:null,'number'==typeof _0x39b445?(_0x36b97e['textContent']=String(_0x39b445),_0x36b97e['style']['background']='#1e8e3e'):(_0x36b97e['textContent']=this['_t']('unknown'),_0x36b97e['style']['background']='#e65100'));}['_syncConnectionButtons'](_0x53af4f){var _0x50b0f6,_0xeff7e0,_0x18380f;const _0x496b07=null==(_0x50b0f6=this['panel'])?void 0x0:_0x50b0f6['querySelector']('#vc-connect-btn'),_0x5bc2a1=null==(_0xeff7e0=this['panel'])?void 0x0:_0xeff7e0['querySelector']('#vc-disconnect-btn'),_0x132441=null==(_0x18380f=this['panel'])?void 0x0:_0x18380f['querySelector']('#vc-ros-url');_0x496b07&&(_0x496b07['disabled']=!!_0x53af4f),_0x5bc2a1&&(_0x5bc2a1['disabled']=!_0x53af4f),_0x132441&&(_0x132441['disabled']=!!_0x53af4f);}['_syncRunningState'](){var _0x1ca159,_0x1056af,_0x89e6ec;const _0x448439=null==(_0x1ca159=this['panel'])?void 0x0:_0x1ca159['querySelector']('#vc-start-btn'),_0x771902=null==(_0x1056af=this['panel'])?void 0x0:_0x1056af['querySelector']('#vc-stop-btn'),_0x48dca3=null==(_0x89e6ec=this['panel'])?void 0x0:_0x89e6ec['querySelector']('#vc-topic'),_0x1b8163=this['publisher']['isRunning']();_0x448439&&(_0x448439['disabled']=_0x1b8163),_0x771902&&(_0x771902['disabled']=!_0x1b8163),_0x48dca3&&(_0x48dca3['disabled']=_0x1b8163),this['_syncConnectionButtons'](this['_cameraConnected']);}['_resolveRosUrl'](){var _0x41bd3f,_0x158527,_0x52fbb2,_0x1e0ea3,_0x59ef6b,_0x1a9b0f;return(null==(_0x52fbb2=null==(_0x158527=null==(_0x41bd3f=this['panel'])?void 0x0:_0x41bd3f['querySelector']('#vc-ros-url'))?void 0x0:_0x158527['value'])?void 0x0:_0x52fbb2['trim']())||(null==(_0x1a9b0f=null==(_0x59ef6b=null==(_0x1e0ea3=this['app'])?void 0x0:_0x1e0ea3['rosConnectionPanel'])?void 0x0:_0x59ef6b['getServerUrl'])?void 0x0:_0x1a9b0f['call'](_0x59ef6b))||localStorage['getItem']('ros_url')||'ws://localhost:9090';}['_persistRosUrl'](_0x3806ea){var _0x5ebff9,_0x31db30,_0x3ab9be;const _0x57a03b=String(_0x3806ea||'')['trim']()||'ws://localhost:9090';return localStorage['setItem']('ros_url',_0x57a03b),null==(_0x3ab9be=null==(_0x31db30=null==(_0x5ebff9=this['app'])?void 0x0:_0x5ebff9['rosConnectionPanel'])?void 0x0:_0x31db30['setServerUrl'])||_0x3ab9be['call'](_0x31db30,_0x57a03b),_0x57a03b;}['_syncPresetSelect'](){var _0x4e3377;const _0x56c536=null==(_0x4e3377=this['panel'])?void 0x0:_0x4e3377['querySelector']('#vc-preset');if(!_0x56c536)return;const _0x68c522=this['virtualCamera']['width']+'x'+this['virtualCamera']['height'];_0x56c536['value']=za['includes'](_0x68c522)?_0x68c522:'';}['_syncFormatSelect'](){var _0x2ded11;const _0x428849=null==(_0x2ded11=this['panel'])?void 0x0:_0x2ded11['querySelector']('#vc-format');_0x428849&&(_0x428849['value']=Na['includes'](this['publisher']['imageFormat'])?this['publisher']['imageFormat']:'jpeg');}['_handleEncodings'](_0x5a405c){var _0x17761f;this['_encodings']=Array['isArray'](_0x5a405c)?_0x5a405c:null;const _0x59b8a7=null==(_0x17761f=this['panel'])?void 0x0:_0x17761f['querySelector']('#vc-format');if(_0x59b8a7&&this['_encodings']){let _0x4ee33f=null;[..._0x59b8a7['options']]['forEach'](_0x1e7cd6=>{const _0xd90a73=this['_encodings']['find'](_0x5290b9=>_0x5290b9['format']===_0x1e7cd6['value']),_0x10769e=!_0xd90a73||_0xd90a73['supported'];_0x1e7cd6['disabled']=!_0x10769e,_0x1e7cd6['textContent']=_0x10769e?_0x1e7cd6['value']:_0x1e7cd6['value']+'\x20—\x20'+this['_t']('browserUnsupported'),_0x10769e&&!_0x4ee33f&&(_0x4ee33f=_0x1e7cd6['value']);});const _0x3a0643=this['_encodings']['find'](_0x151253=>_0x151253['format']===this['publisher']['imageFormat']);_0x3a0643&&!_0x3a0643['supported']&&_0x4ee33f&&(this['publisher']['imageFormat']=_0x4ee33f,this['publisher']['onFormatChanged'](),_0x59b8a7['value']=_0x4ee33f,this['_warn'](_0x3a0643['format']+'\x20这台浏览器编不了,已改回\x20'+_0x4ee33f));}}['startStatsMonitor'](){this['_statsTimer']&&clearInterval(this['_statsTimer']),this['_statsTimer']=setInterval(()=>{var _0x2c2108,_0x1697c6;if(!this['panel'])return;null==(_0x1697c6=(_0x2c2108=this['publisher'])['setPreviewEnabled'])||_0x1697c6['call'](_0x2c2108,this['_isPanelVisible']()),this['_syncMountAxes']();const _0x25f572=this['publisher']['collectStats'](),_0x3416a7=this['publisher']['isRunning'](),_0x53a257=this['panel']['querySelector']('#vc-rate');_0x53a257&&(_0x53a257['textContent']=_0x25f572['rate']['toFixed'](0x1)+'\x20Hz',_0x53a257['title']=_0x3416a7?this['_t']('rateTargetTitle')['replace']('{target}',_0x25f572['target']):this['_t']('rateIdleTitle'),_0x53a257['style']['opacity']=_0x3416a7||_0x25f572['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'](_0x171f6a,_0x380f18=_0x171f6a){var _0x43cfb3,_0x27362a;const _0x148aef=null==(_0x27362a=null==(_0x43cfb3=window['i18n'])?void 0x0:_0x43cfb3['t'])?void 0x0:_0x27362a['call'](_0x43cfb3,_0x171f6a);return _0x148aef&&_0x148aef!==_0x171f6a?_0x148aef:_0x380f18;}['refreshLanguage'](){var _0x3a3792,_0x145300,_0x5adffc;null==(_0x145300=null==(_0x3a3792=window['i18n'])?void 0x0:_0x3a3792['updatePageLanguage'])||_0x145300['call'](_0x3a3792),this['_encodings']&&this['_handleEncodings'](this['_encodings']),this['_handleCameraConnection'](this['_cameraConnected']),this['_cameraConnected']&&this['_domainIdResolved']&&this['_handleDomainId'](this['_domainId']);const _0x54f0e9=null==(_0x5adffc=this['panel'])?void 0x0:_0x5adffc['querySelector']('#vc-preview');_0x54f0e9&&(_0x54f0e9['alt']=this['_t']('previewAlt','虚拟相机预览'));}['_handlePreview'](_0x511617){var _0x46af04;if(!this['_isPanelVisible']())return;const _0x58b1b6=performance['now']();if(this['publisher']['isRunning']()&&_0x58b1b6-this['_lastPreviewAt']<0x64)return;this['_lastPreviewAt']=_0x58b1b6;const _0x156144=null==(_0x46af04=this['panel'])?void 0x0:_0x46af04['querySelector']('#vc-preview');if(!_0x156144)return;_0x156144['style']['display']='block',_0x156144['style']['aspectRatio']=_0x511617['width']+'\x20/\x20'+_0x511617['height'];const _0x1d84ec=_0x511617['previewWidth']?'\x20·\x20'+this['_t']('previewThumb','缩略图')+'\x20'+_0x511617['previewWidth']+'×'+_0x511617['previewHeight']:'';_0x156144['title']=this['_t']('previewFrame','画面')+'\x20'+_0x511617['width']+'×'+_0x511617['height']+_0x1d84ec+'\x20·\x20'+this['_t']('previewSingleFrame','单帧')+'\x20'+(_0x511617['payloadBytes']/0x400)['toFixed'](0x1)+'\x20KB',_0x156144['src']='data:'+(_0x511617['mime']||'image/jpeg')+';base64,'+_0x511617['base64'];}['_warn'](_0x42c1c6,_0x1e9151){}}class Va{constructor(_0x2de230,_0x3be5b7,_0x586ba8){this['sceneManager']=_0x2de230,this['app']=_0x3be5b7,this['config']=_0x586ba8,this['panel']=null,this['searchText']='';}['createPanel'](){const _0x15f02c=document['createElement']('div');return _0x15f02c['id']=this['config']['panelId'],_0x15f02c['className']='floating-panel',_0x15f02c['style']['cssText']=this['config']['panelStyle'],_0x15f02c['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']=_0x15f02c,this['attachEventListeners'](),_0x15f02c;}['attachEventListeners'](){const _0xec643b=this['panel']['querySelector']('.panel-close-btn'),_0x3a70b6=this['panel']['querySelector']('.axes-search'),_0x929269=this['panel']['querySelector']('#'+this['config']['selectAllId']),_0x18d74c=this['panel']['querySelector']('#'+this['config']['deselectAllId']),_0x362445=this['panel']['querySelector']('#'+this['config']['showLabelsId']),_0x7242ab=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x40a605=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0x297bf1=this['panel']['querySelector']('#'+this['config']['listId']);_0xec643b['addEventListener']('click',()=>{this['hide']();}),_0x3a70b6['addEventListener']('input',_0x4b1efb=>{this['searchText']=_0x4b1efb['target']['value'],this['updateAxesList']();}),_0x929269['addEventListener']('click',()=>{this['selectAll'](!0x0);}),_0x18d74c['addEventListener']('click',()=>{this['selectAll'](!0x1);}),_0x362445['addEventListener']('change',_0x1a701e=>{this['sceneManager']['axesManager']['setShowLabels'](_0x1a701e['target']['checked']);}),_0x7242ab['addEventListener']('input',_0x243a93=>{const _0x4d22cc=parseFloat(_0x243a93['target']['value']);_0x40a605['textContent']=_0x4d22cc['toFixed'](0x1)+'x',this['sceneManager']['axesManager']['setAxesScale'](_0x4d22cc),this['app']['currentModel']&&this['reloadAxes']();}),_0x297bf1['addEventListener']('change',_0x5e6304=>{_0x5e6304['target']['matches']('input[type=\x22checkbox\x22][data-axis-name]')&&this['setAxisVisible'](_0x5e6304['target']['dataset']['axisName'],_0x5e6304['target']['checked']);});}['updateAxesList'](){const _0x3c5ba0=this['getAxisNames']()['filter'](_0x4f69bc=>_0x4f69bc['toLowerCase']()['includes'](this['searchText']['toLowerCase']())),_0xcc226f=this['panel']['querySelector']('#'+this['config']['listId']);if(_0xcc226f['innerHTML']='',0x0===_0x3c5ba0['length']){const _0x1e15d=document['createElement']('div');return _0x1e15d['className']='no-results',_0x1e15d['setAttribute']('data-i18n','noAxesAvailable'),_0x1e15d['textContent']=window['i18n']['t']('noAxesAvailable'),void _0xcc226f['appendChild'](_0x1e15d);}const _0x7fd936=document['createDocumentFragment']();_0x3c5ba0['forEach'](_0x43feef=>{const _0x25769a=document['createElement']('label');_0x25769a['className']='axes-checkbox';const _0x4d9488=document['createElement']('input');_0x4d9488['type']='checkbox',_0x4d9488['dataset']['axisName']=_0x43feef,_0x4d9488['checked']=this['isAxisVisible'](_0x43feef);const _0x28d57a=document['createElement']('span');_0x28d57a['title']=_0x43feef,_0x28d57a['textContent']=_0x43feef,_0x25769a['appendChild'](_0x4d9488),_0x25769a['appendChild'](_0x28d57a),_0x7fd936['appendChild'](_0x25769a);}),_0xcc226f['appendChild'](_0x7fd936);}['selectAll'](_0x9bd1fb){this['setAllAxesVisible'](_0x9bd1fb),this['panel']['querySelectorAll']('input[type=\x22checkbox\x22][data-axis-name]')['forEach'](_0x18ba71=>{_0x18ba71['checked']=_0x9bd1fb;});}['reloadAxes'](){const _0x50aa9f=this['app']['currentModel'];if(!_0x50aa9f)return;const _0x500117=this['sceneManager']['axesManager'],_0x3d11aa=new Map(),_0x3f343a=_0x500117['showLabels'];this['getAxisNames']()['forEach'](_0x33bafc=>{_0x3d11aa['set'](_0x33bafc,this['isAxisVisible'](_0x33bafc));}),this['clearAxes'](),this['recreateAxes'](_0x50aa9f),_0x3d11aa['forEach']((_0x4921d3,_0x4cf469)=>{this['setAxisVisible'](_0x4cf469,_0x4921d3);}),_0x500117['setShowLabels'](_0x3f343a),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 _0x13760a=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x10ec35=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0x56f6bd=this['sceneManager']['axesManager']['getAxesScale']();_0x13760a['value']=_0x56f6bd,_0x10ec35['textContent']=_0x56f6bd['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'](_0x334f6c){const _0x3d1658=document['getElementById'](this['config']['toggleButtonId']);_0x3d1658&&_0x3d1658['classList']['toggle']('active',_0x334f6c);}['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'](_0x6a5a3c){this['getAxisNames']()['forEach'](_0x5a09fc=>{this['setAxisVisible'](_0x5a09fc,_0x6a5a3c);});}['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(_0x318581,_0x8840b8){super(_0x318581,_0x8840b8,{'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 _0x34d9da=super['createPanel'](),_0x11e86b=_0x34d9da['querySelector']('.floating-panel-content'),_0x2f7928=document['createElement']('div');_0x2f7928['id']='axes-rpy-section',_0x2f7928['className']='axes-rpy-section',_0x2f7928['style']['cssText']='display:none;\x20border-top:\x201px\x20solid\x20var(--glass-border);\x20padding-top:\x2012px;\x20margin-top:\x2012px;',_0x2f7928['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 _0x3edb94=_0x11e86b['querySelector']('.axes-panel-controls');return _0x3edb94&&_0x3edb94['nextSibling']?_0x11e86b['insertBefore'](_0x2f7928,_0x3edb94['nextSibling']):_0x11e86b['appendChild'](_0x2f7928),this['_attachRpyListeners'](_0x2f7928),_0x34d9da;}['_attachRpyListeners'](_0x2bda99){_0x2bda99['querySelectorAll']('.axes-rpy-btn[data-rpy]')['forEach'](_0x34f176=>{_0x34f176['addEventListener']('click',()=>{const _0x4c96f1={'roll':0x0,'pitch':0x1,'yaw':0x2}[_0x34f176['dataset']['rpy']];this['_currentRpy'][_0x4c96f1]+=parseInt(_0x34f176['dataset']['dir'])*(Math['PI']/0x2),this['_updateRpyDisplay'](),this['_previewRpy']();});});_0x2bda99['querySelector']('#axes-rpy-apply')['addEventListener']('click',()=>{if(!this['_onRpyApply']||!this['_selectedLinkName'])return;this['_currentRpy']['some']((_0x1c813f,_0xffe57d)=>Math['abs'](_0x1c813f-this['_originalRpy'][_0xffe57d])>0.001)&&(this['_onRpyApply'](this['_selectedLinkName'],[...this['_currentRpy']]),this['_originalRpy']=[...this['_currentRpy']]);});_0x2bda99['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 _0x12d030=this['app']['currentModel'],_0x2f4096=_0x12d030['links']['get'](this['_selectedLinkName']);if(!_0x2f4096||!_0x2f4096['threeObject'])return;const _0x4995ba=new _0x4adb8f()['setFromEuler'](new _0x730a0a(this['_originalRpy'][0x0],this['_originalRpy'][0x1],this['_originalRpy'][0x2],'ZYX')),_0x128dd2=new _0x4adb8f()['setFromEuler'](new _0x730a0a(this['_currentRpy'][0x0],this['_currentRpy'][0x1],this['_currentRpy'][0x2],'ZYX')),_0x586880=_0x4995ba['clone']()['invert']()['multiply'](_0x128dd2);_0x2f4096['threeObject']['quaternion']['copy'](_0x586880),_0x2f4096['threeObject']['position']['set'](0x0,0x0,0x0),_0x12d030['threeObject']&&_0x12d030['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}['_updateRpyDisplay'](){const _0x467dab=_0x23bf2c=>{let _0x1ffb11=Math['round'](0xb4*_0x23bf2c/Math['PI'])%0x168;return _0x1ffb11>0xb4&&(_0x1ffb11-=0x168),_0x1ffb11<=-0xb4&&(_0x1ffb11+=0x168),_0x1ffb11;},_0x55e986=this['panel']['querySelector']('#axes-rpy-roll'),_0x3601d0=this['panel']['querySelector']('#axes-rpy-pitch'),_0x142a06=this['panel']['querySelector']('#axes-rpy-yaw');_0x55e986&&(_0x55e986['textContent']=_0x467dab(this['_currentRpy'][0x0])+'°'),_0x3601d0&&(_0x3601d0['textContent']=_0x467dab(this['_currentRpy'][0x1])+'°'),_0x142a06&&(_0x142a06['textContent']=_0x467dab(this['_currentRpy'][0x2])+'°');}['showRpySection'](_0xebe951,_0x482235){if(!_0xebe951||!_0x482235)return void this['hideRpySection']();let _0x18bacb=null;if(_0xebe951['joints']['forEach'](_0x4b7886=>{_0x4b7886['child']===_0x482235&&(_0x18bacb=_0x4b7886);}),!_0x18bacb)return void this['hideRpySection']();this['_selectedLinkName']=_0x482235,this['_selectedJointName']=_0x18bacb['name'];let _0x3ff4cd=[0x0,0x0,0x0];if(this['app']['codeEditorManager']){const _0x200731=this['app']['codeEditorManager']['getJointOriginRpy'](_0x18bacb['name']);_0x200731&&(_0x3ff4cd=_0x200731);}if(_0x3ff4cd['every'](_0x2e6569=>0x0===_0x2e6569)&&_0x18bacb['threeObject']){const _0x255ccb=new _0x730a0a()['setFromQuaternion'](_0x18bacb['threeObject']['quaternion'],'ZYX');_0x3ff4cd=[_0x255ccb['x'],_0x255ccb['y'],_0x255ccb['z']];}_0x18bacb['_origRpy']=[..._0x3ff4cd],_0x18bacb['_origXyz']=_0x18bacb['threeObject']?[_0x18bacb['threeObject']['position']['x'],_0x18bacb['threeObject']['position']['y'],_0x18bacb['threeObject']['position']['z']]:_0x18bacb['origin']?[..._0x18bacb['origin']['xyz']]:[0x0,0x0,0x0],this['_originalRpy']=[..._0x3ff4cd],this['_currentRpy']=[..._0x3ff4cd];const _0x29ceef=this['panel']['querySelector']('#axes-rpy-section');_0x29ceef&&(_0x29ceef['style']['display']='block');const _0x27f8c6=this['panel']['querySelector']('#axes-rpy-joint-name');_0x27f8c6&&(_0x27f8c6['textContent']=_0x18bacb['name']),this['_updateRpyDisplay']();}['hideRpySection'](){this['_selectedLinkName']=null,this['_selectedJointName']=null,this['_originalRpy']=[0x0,0x0,0x0],this['_currentRpy']=[0x0,0x0,0x0];const _0x8e3f6=this['panel']['querySelector']('#axes-rpy-section');_0x8e3f6&&(_0x8e3f6['style']['display']='none');}['setOnRpyApply'](_0x5e8f55){this['_onRpyApply']=_0x5e8f55;}['getAxisNames'](){return this['sceneManager']['axesManager']['getLinkNames']();}['isAxisVisible'](_0x19e7bf){return this['sceneManager']['axesManager']['isLinkAxisVisible'](_0x19e7bf);}['setAxisVisible'](_0x561e9d,_0x5c9768){this['sceneManager']['axesManager']['showAxesByName'](_0x561e9d,_0x5c9768);}['setAllAxesVisible'](_0x4e180d){this['sceneManager']['axesManager']['setAllLinkAxesVisible'](_0x4e180d);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllLinkAxes']();}['recreateAxes'](_0x16e585){const _0x463d71=this['sceneManager']['axesManager']['modelSize'];_0x16e585['links']['forEach']((_0x16a504,_0x1181e2)=>{this['sceneManager']['axesManager']['createLinkAxes'](_0x16a504,_0x1181e2,_0x463d71);});}}class Ba extends Va{constructor(_0x3b22a1,_0x351f75){super(_0x3b22a1,_0x351f75,{'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'](_0x41e4e7){return this['sceneManager']['axesManager']['isJointAxisVisible'](_0x41e4e7);}['setAxisVisible'](_0x357c0f,_0x5b9629){this['sceneManager']['axesManager']['showJointAxisByName'](_0x357c0f,_0x5b9629);}['setAllAxesVisible'](_0x2fe216){this['sceneManager']['axesManager']['setAllJointAxesVisible'](_0x2fe216);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllJointAxes']();}['recreateAxes'](_0x5ed931){_0x5ed931['joints']['forEach']((_0x49ef82,_0x50ad49)=>{this['sceneManager']['axesManager']['createJointAxis'](_0x49ef82,_0x50ad49);});}}const $a='1.1.2',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 _0x3e7d82=this['detectBrowserLanguage']();this['currentLang']=localStorage['getItem']('language')||_0x3e7d82;}['detectBrowserLanguage'](){return(navigator['language']||navigator['userLanguage'])['toLowerCase']()['startsWith']('zh')?'zh-CN':'en-US';}['t'](_0xbcec83){return(Ja[this['currentLang']]||Ja['zh-CN'])[_0xbcec83]||_0xbcec83;}['setLanguage'](_0x3b5752){Ja[_0x3b5752]&&(this['currentLang']=_0x3b5752,localStorage['setItem']('language',_0x3b5752),this['updatePageLanguage']());}['getCurrentLanguage'](){return this['currentLang'];}['updatePageLanguage'](){document['querySelectorAll']('[data-i18n]')['forEach'](_0x57d584=>{const _0x13cece=_0x57d584['getAttribute']('data-i18n'),_0x4bbacd=this['t'](_0x13cece);'INPUT'===_0x57d584['tagName']||'TEXTAREA'===_0x57d584['tagName']?_0x57d584['placeholder']=_0x4bbacd:_0x4bbacd['includes']('<br>')||_0x4bbacd['includes']('<strong>')?_0x57d584['innerHTML']=_0x4bbacd:_0x57d584['textContent']=_0x4bbacd;}),document['querySelectorAll']('[data-i18n-placeholder]')['forEach'](_0x1395ef=>{const _0x3a2961=_0x1395ef['getAttribute']('data-i18n-placeholder');_0x1395ef['placeholder']=this['t'](_0x3a2961);}),document['querySelectorAll']('[data-i18n-title]')['forEach'](_0x330321=>{const _0x5f30ba=_0x330321['getAttribute']('data-i18n-title');_0x330321['title']=this['t'](_0x5f30ba);}),document['documentElement']['lang']=this['currentLang'];}['init'](){this['updatePageLanguage']();}}();class Ga{constructor(_0x469fd4){this['app']=_0x469fd4,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'](_0x55f102=>{_0x55f102&&(_0x55f102['disabled']=!0x0,_0x55f102['style']['opacity']='0.5',_0x55f102['style']['cursor']='not-allowed');});const _0x15de44=document['createElement']('div');_0x15de44['style']['cssText']='padding:\x208px;\x20background:\x20#fff3e0;\x20border-radius:\x204px;\x20margin-top:\x208px;\x20font-size:\x2012px;\x20color:\x20#e65100;',_0x15de44['textContent']=Ha['t']('mocapLoadInMainTab'),this['panel']['querySelector']('.panel-content')['appendChild'](_0x15de44);}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'](_0x14bdf0){if(!Ma[_0x14bdf0])return;const _0x5e636d=''+window['location']['origin']+window['location']['pathname']+'?mocap='+_0x14bdf0;window['open'](_0x5e636d,'_blank');}['setLoadingState'](_0x215ffd,_0x42f448){const _0x534d3d=document['getElementById']({'human':'mocap-human-load','exoskeleton':'exoskeleton-load-v1','exoskeleton_v2':'exoskeleton-load-v2'}[_0x215ffd]);if(_0x534d3d){_0x534d3d['disabled']=_0x42f448;const _0x19f8b3='exoskeleton'===_0x215ffd?Ha['t']('mocapExoskeletonV1'):'exoskeleton_v2'===_0x215ffd?Ha['t']('mocapExoskeletonV2'):Ha['t']('load');_0x534d3d['textContent']=_0x42f448?Ha['t']('loading'):_0x19f8b3;}}['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(_0x3724de){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'](_0x3724de)['then'](()=>!0x0)['catch'](_0x465ea7=>Xa(_0x3724de)):Promise['resolve'](Xa(_0x3724de));}function Xa(_0x3fb057){try{const _0x7a5b60=document['createElement']('textarea');_0x7a5b60['value']=_0x3fb057,_0x7a5b60['style']['position']='fixed',_0x7a5b60['style']['top']='0',_0x7a5b60['style']['left']='0',_0x7a5b60['style']['width']='2em',_0x7a5b60['style']['height']='2em',_0x7a5b60['style']['padding']='0',_0x7a5b60['style']['border']='none',_0x7a5b60['style']['outline']='none',_0x7a5b60['style']['boxShadow']='none',_0x7a5b60['style']['background']='transparent',_0x7a5b60['style']['zIndex']='-1',_0x7a5b60['setAttribute']('readonly',''),document['body']['appendChild'](_0x7a5b60),_0x7a5b60['focus'](),_0x7a5b60['select']();try{_0x7a5b60['setSelectionRange'](0x0,_0x7a5b60['value']['length']);}catch(_0x4b7556){}const _0x195bb4=document['execCommand']('copy');return document['body']['removeChild'](_0x7a5b60),_0x195bb4;}catch(_0x110abf){return!0x1;}}class Ya{constructor(_0x542779,_0x538fee){this['sceneManager']=_0x542779,this['app']=_0x538fee,this['panel']=null,this['_updatingFromEuler']=!0x1,this['_updatingFromQuat']=!0x1;}['createPanel'](){const _0x5553c9=document['createElement']('div');return _0x5553c9['id']='floating-orientation-panel',_0x5553c9['className']='floating-panel',_0x5553c9['style']['cssText']='top:\x2080px;\x20right:\x20440px;\x20width:\x20300px;\x20z-index:\x2053;\x20display:\x20none;',_0x5553c9['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']=_0x5553c9,this['attachEventListeners'](),_0x5553c9;}['refreshLanguage'](){var _0x23a8fa,_0x5e4521;null==(_0x5e4521=null==(_0x23a8fa=window['i18n'])?void 0x0:_0x23a8fa['updatePageLanguage'])||_0x5e4521['call'](_0x23a8fa);}['attachEventListeners'](){const _0x28e8d4=this['panel'];['x','y','z']['forEach'](_0x9bb57c=>{const _0x1389c1=_0x28e8d4['querySelector']('#orient-euler-'+_0x9bb57c);_0x1389c1&&(_0x1389c1['addEventListener']('input',()=>this['_onEulerChanged']()),_0x1389c1['addEventListener']('change',()=>this['_onEulerChanged']()));}),['x','y','z','w']['forEach'](_0x5c1dfa=>{const _0x3a7800=_0x28e8d4['querySelector']('#orient-quat-'+_0x5c1dfa);_0x3a7800&&(_0x3a7800['addEventListener']('input',()=>this['_onQuatChanged']()),_0x3a7800['addEventListener']('change',()=>this['_onQuatChanged']()));}),_0x28e8d4['querySelector']('#orient-copy-btn')['addEventListener']('click',()=>{this['_copyQuatToClipboard']();}),_0x28e8d4['querySelector']('#orient-reset-btn')['addEventListener']('click',()=>{this['resetToIdentity']();});}['_onEulerChanged'](){if(this['_updatingFromQuat'])return;this['_updatingFromEuler']=!0x0;const _0x574020=this['panel'],_0x2334a5=parseFloat(_0x574020['querySelector']('#orient-euler-x')['value'])||0x0,_0x5d0099=parseFloat(_0x574020['querySelector']('#orient-euler-y')['value'])||0x0,_0x204da2=parseFloat(_0x574020['querySelector']('#orient-euler-z')['value'])||0x0,_0x44fcbb=new _0x730a0a(_0x35197a['degToRad'](_0x2334a5),_0x35197a['degToRad'](_0x5d0099),_0x35197a['degToRad'](_0x204da2),'ZYX'),_0x1df86b=new _0x4adb8f()['setFromEuler'](_0x44fcbb);_0x574020['querySelector']('#orient-quat-x')['value']=_0x1df86b['x']['toFixed'](0x4),_0x574020['querySelector']('#orient-quat-y')['value']=_0x1df86b['y']['toFixed'](0x4),_0x574020['querySelector']('#orient-quat-z')['value']=_0x1df86b['z']['toFixed'](0x4),_0x574020['querySelector']('#orient-quat-w')['value']=_0x1df86b['w']['toFixed'](0x4),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0x1df86b['x'],_0x1df86b['y'],_0x1df86b['z'],_0x1df86b['w']]),this['_updatingFromEuler']=!0x1;}['_onQuatChanged'](){if(this['_updatingFromEuler'])return;this['_updatingFromQuat']=!0x0;const _0x4d9eef=this['panel'],_0x3d879c=parseFloat(_0x4d9eef['querySelector']('#orient-quat-x')['value'])||0x0,_0x15723e=parseFloat(_0x4d9eef['querySelector']('#orient-quat-y')['value'])||0x0,_0x4b5aec=parseFloat(_0x4d9eef['querySelector']('#orient-quat-z')['value'])||0x0,_0x3780da=parseFloat(_0x4d9eef['querySelector']('#orient-quat-w')['value'])||0x1,_0x535209=Math['sqrt'](_0x3d879c*_0x3d879c+_0x15723e*_0x15723e+_0x4b5aec*_0x4b5aec+_0x3780da*_0x3780da),_0x35e2e9=new _0x4adb8f(_0x3d879c/_0x535209,_0x15723e/_0x535209,_0x4b5aec/_0x535209,_0x3780da/_0x535209),_0x10898e=new _0x730a0a()['setFromQuaternion'](_0x35e2e9,'ZYX');_0x4d9eef['querySelector']('#orient-euler-x')['value']=_0x35197a['radToDeg'](_0x10898e['x'])['toFixed'](0x2),_0x4d9eef['querySelector']('#orient-euler-y')['value']=_0x35197a['radToDeg'](_0x10898e['y'])['toFixed'](0x2),_0x4d9eef['querySelector']('#orient-euler-z')['value']=_0x35197a['radToDeg'](_0x10898e['z'])['toFixed'](0x2),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0x35e2e9['x'],_0x35e2e9['y'],_0x35e2e9['z'],_0x35e2e9['w']]),this['_updatingFromQuat']=!0x1;}async['_copyQuatToClipboard'](){const _0x29e8b1=this['panel'],_0x292039=parseFloat(_0x29e8b1['querySelector']('#orient-quat-x')['value'])||0x0,_0x3e8aaf=parseFloat(_0x29e8b1['querySelector']('#orient-quat-y')['value'])||0x0,_0x549294=parseFloat(_0x29e8b1['querySelector']('#orient-quat-z')['value'])||0x0,_0x40869c=parseFloat(_0x29e8b1['querySelector']('#orient-quat-w')['value'])||0x1,_0x4bf449='['+_0x292039['toFixed'](0x4)+',\x20'+_0x3e8aaf['toFixed'](0x4)+',\x20'+_0x549294['toFixed'](0x4)+',\x20'+_0x40869c['toFixed'](0x4)+']';if(await Wa(_0x4bf449)){const _0x369f48=_0x29e8b1['querySelector']('#orient-copy-status');_0x369f48&&(_0x369f48['style']['display']='inline',setTimeout(()=>{_0x369f48['style']['display']='none';},0x7d0));}}['resetToIdentity'](){const _0x32936a=this['panel'];_0x32936a['querySelector']('#orient-euler-x')['value']='0',_0x32936a['querySelector']('#orient-euler-y')['value']='0',_0x32936a['querySelector']('#orient-euler-z')['value']='0',_0x32936a['querySelector']('#orient-quat-x')['value']='0',_0x32936a['querySelector']('#orient-quat-y')['value']='0',_0x32936a['querySelector']('#orient-quat-z')['value']='0',_0x32936a['querySelector']('#orient-quat-w')['value']='1',this['sceneManager']&&this['sceneManager']['resetBaseOrientation']();}['syncFromScene'](){if(!this['sceneManager'])return;const _0x3fb42a=this['sceneManager']['getBaseOrientation'](),_0x42207c=this['panel'];if(!_0x42207c)return;this['_updatingFromQuat']=!0x0,_0x42207c['querySelector']('#orient-quat-x')['value']=_0x3fb42a[0x0]['toFixed'](0x4),_0x42207c['querySelector']('#orient-quat-y')['value']=_0x3fb42a[0x1]['toFixed'](0x4),_0x42207c['querySelector']('#orient-quat-z')['value']=_0x3fb42a[0x2]['toFixed'](0x4),_0x42207c['querySelector']('#orient-quat-w')['value']=_0x3fb42a[0x3]['toFixed'](0x4);const _0x2263c0=new _0x4adb8f(_0x3fb42a[0x0],_0x3fb42a[0x1],_0x3fb42a[0x2],_0x3fb42a[0x3]),_0x5d5a2b=new _0x730a0a()['setFromQuaternion'](_0x2263c0,'ZYX');_0x42207c['querySelector']('#orient-euler-x')['value']=_0x35197a['radToDeg'](_0x5d5a2b['x'])['toFixed'](0x2),_0x42207c['querySelector']('#orient-euler-y')['value']=_0x35197a['radToDeg'](_0x5d5a2b['y'])['toFixed'](0x2),_0x42207c['querySelector']('#orient-euler-z')['value']=_0x35197a['radToDeg'](_0x5d5a2b['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(_0x281412,_0x4ffbc4=_0x281412){var _0x2c11b5,_0x27a368;const _0x39f309=null==(_0x27a368=null==(_0x2c11b5=window['i18n'])?void 0x0:_0x2c11b5['t'])?void 0x0:_0x27a368['call'](_0x2c11b5,_0x281412);return _0x39f309&&_0x39f309!==_0x281412?_0x39f309:_0x4ffbc4;}function Qa(_0x2764af,_0x10da9c){var _0x453cbc,_0x18f4a5;const _0x45cc1c=document['getElementById'](_0x10da9c);if(!_0x45cc1c||!_0x2764af||!_0x2764af['joints'])return;const _0x20d931=ht(_0x2764af);let _0x4c2573='';_0x20d931['forEach']((_0x406736,_0x3ce88f)=>{_0x4c2573+='joint&link_id:\x20'+String(_0x3ce88f)['padEnd'](0x5)+'\x20joint_type:'+(_0xf4003a=>{const _0x406e53=_0xf4003a['toUpperCase']();return _0x406e53+'\x20'['repeat'](Math['max'](0xa,_0x406e53['length'])-_0x406e53['length']);})(_0x406736['type'])+'\x20joint_name:\x20'+_0x406736['name']['padEnd'](0x1c)+'\x20link_name:\x20'+(_0x406736['child']||'')['padEnd'](0x1c)+'\x0a';}),_0x45cc1c['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('+_0x20d931['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'+_0x10da9c+'\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'+_0x20d931['map']((_0x1bef40,_0x3164e3)=>'\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'!==_0x1bef40['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>'+_0x3164e3+'</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>'+_0x1bef40['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>'+_0x1bef40['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>'+(_0x1bef40['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==(_0x18f4a5=null==(_0x453cbc=window['i18n'])?void 0x0:_0x453cbc['updatePageLanguage'])||_0x18f4a5['call'](_0x453cbc),_0x45cc1c['querySelector']('.joint-info-close')['addEventListener']('click',()=>{_0x45cc1c['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x45cc1c['style']['opacity']='0',_0x45cc1c['style']['transform']='scale(0.95)',setTimeout(()=>{_0x45cc1c['style']['display']='none',_0x45cc1c['style']['opacity']='',_0x45cc1c['style']['transform']='';},0xc8);const _0x517d6d=document['getElementById']('toggle-joint-info-panel');_0x517d6d&&_0x517d6d['classList']['remove']('active');}),_0x45cc1c['querySelector']('.joint-info-copy-btn')['addEventListener']('click',async()=>{const _0x44407b=_0x45cc1c['querySelector']('.joint-info-copy-btn');await Wa(_0x4c2573)?(_0x44407b['textContent']=Za('copied','✅\x20已复制'),setTimeout(()=>{_0x44407b['textContent']=Za('copy','📋\x20复制');},0x5dc)):(_0x44407b['textContent']=Za('copyFailed','❌\x20复制失败'),setTimeout(()=>{_0x44407b['textContent']=Za('copy','📋\x20复制');},0x5dc));});}window['d3']=_0x40e183,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'](_0x27e8a2){try{const _0x121787=new Blob([_0x27e8a2['content']],{'type':'text/plain'}),_0x186271=new File([_0x121787],_0x27e8a2['name'],{'type':'text/plain'});_0x186271['vscodeDirectory']=_0x27e8a2['directory'],_0x186271['vscodePath']=_0x27e8a2['path'],this['fileHandler']['fileMap']['set'](_0x27e8a2['name'],_0x186271),this['fileHandler']['fileMap']['set'](_0x27e8a2['path'],_0x186271),this['vscodeFileMap']['set'](_0x27e8a2['name'],_0x27e8a2),await this['fileHandler']['loadFile'](_0x186271);const _0x1076c9=[{'file':_0x186271,'name':_0x27e8a2['name'],'type':this['detectFileType'](_0x27e8a2['name']),'path':_0x27e8a2['path'],'category':'model','ext':_0x27e8a2['name']['split']('.')['pop']()['toLowerCase']()}];this['fileHandler']['availableModels']=_0x1076c9,this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x1076c9,this['fileHandler']['fileMap']),vscodeAdapter['log']('Model\x20loaded\x20successfully:\x20'+_0x27e8a2['name']);}catch(_0xac90af){vscodeAdapter['showError']('Failed\x20to\x20load\x20model:\x20'+_0xac90af['message']);}}['detectFileType'](_0x477953){const _0x1d1a00=_0x477953['split']('.')['pop']()['toLowerCase']();return['urdf','xacro']['includes'](_0x1d1a00)?'urdf':['mjcf','xml']['includes'](_0x1d1a00)?'mjcf':['usd','usda','usdc','usdz']['includes'](_0x1d1a00)?'usd':['obj','stl','dae','gltf','glb']['includes'](_0x1d1a00)?'mesh':'unknown';}async['init'](){try{Ha['init']();const _0x40f8e5=document['getElementById']('canvas');if(!_0x40f8e5)return;this['sceneManager']=new Pi(_0x40f8e5),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']=_0x173489=>{this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x173489,this['fileHandler']['getFileMap']());},this['fileHandler']['onModelLoaded']=(_0x228d6b,_0x1dda00,_0x5b308d=!0x1,_0xa32528=null)=>{this['handleModelLoaded'](_0x228d6b,_0x1dda00,_0x5b308d,_0xa32528);},this['jointControlsUI']=new Ni(this['sceneManager']),this['jointControlsUI']['onJointChange']=_0x7c8e7d=>{this['rosConnectionPanel']&&this['rosConnectionPanel']['bidirectionalEnabled']&&this['rosConnectionPanel']['onJointChanged'](_0x7c8e7d);},this['modelGraphView']=new Vi(this['sceneManager']),this['fileTreeView']=new qi(),this['fileTreeView']['onFileClick']=_0x56e52f=>{this['handleFileClick'](_0x56e52f);},this['fileTreeView']['updateFileTree']([],new Map()),this['panelManager']=new Ui(),this['panelManager']['initAllPanels'](),this['rosConnectionPanel']=new Sa(this['rosController'],this);const _0xc0a37=this['rosConnectionPanel']['createPanel']();document['body']['appendChild'](_0xc0a37),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 _0x167c11=this['virtualCameraPanel']['createPanel']();document['body']['appendChild'](_0x167c11),this['virtualCameraPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('virtual-camera-panel'),this['rosController']['addConnectionListener'](_0x12c130=>{}),this['axesControlPanel']=new qa(this['sceneManager'],this);const _0x15f234=this['axesControlPanel']['createPanel']();document['body']['appendChild'](_0x15f234),this['panelManager']['registerPanel']('axes-control-panel'),this['axesControlPanel']['setOnRpyApply']((_0x4b3597,_0x4ddcb3)=>{const _0x573f67=this['sceneManager']['axesManager']['applyJointOriginRpy'](this['currentModel'],_0x4b3597,_0x4ddcb3);_0x573f67&&this['codeEditorManager']&&this['codeEditorManager']['updateUrdfOriginRpy'](_0x573f67['jointName'],_0x573f67['rpy']);}),this['jointAxesControlPanel']=new Ba(this['sceneManager'],this);const _0x44b879=this['jointAxesControlPanel']['createPanel']();document['body']['appendChild'](_0x44b879),this['panelManager']['registerPanel']('joint-axes-control-panel'),this['orientationControlPanel']=new Ya(this['sceneManager'],this);const _0x860afc=this['orientationControlPanel']['createPanel']();document['body']['appendChild'](_0x860afc),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':_0x50f748=>this['handleThemeChanged'](_0x50f748),'onAngleUnitChanged':_0xa831d3=>this['handleAngleUnitChanged'](_0xa831d3),'onIgnoreLimitsChanged':_0x24cec4=>this['handleIgnoreLimitsChanged'](_0x24cec4),'onLanguageChanged':_0x4af711=>this['handleLanguageChanged'](_0x4af711),'onResetJoints':()=>this['handleResetJoints'](),'onMujocoReset':()=>this['handleMujocoReset'](),'onMujocoToggleSimulate':()=>this['handleMujocoToggleSimulate'](),'onApplyAngles':()=>this['handleApplyAngles'](),'onSetHome':()=>this['handleSetHome'](),'onSelectAll':()=>this['handleSelectAll'](),'onResetToHome':()=>this['handleResetToHome'](),'onToggleShowMimic':_0x5b9723=>this['jointControlsUI']['setShowMimicJoints'](_0x5b9723)}),this['sceneManager']['onMeasurementUpdate']=()=>{this['measurementController']&&this['measurementController']['updateMeasurement']();},this['setupCanvasClickHandler'](_0x40f8e5),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(_0x2973db,_0x7fa253=!0x1)=>{_0x7fa253&&(this['_isReloading']=!0x0),this['fileHandler']['currentModelFile']=_0x2973db,await this['fileHandler']['loadFile'](_0x2973db),this['_isReloading']=!0x1;},this['codeEditorManager']['onSaveAs']=_0xaf2d12=>{const _0x4d8b5d={'file':_0xaf2d12,'name':_0xaf2d12['name'],'type':this['detectFileType'](_0xaf2d12['name']),'path':_0xaf2d12['name'],'category':'model','ext':_0xaf2d12['name']['split']('.')['pop']()['toLowerCase']()},_0x563aa8=this['fileHandler']['getAvailableModels']();_0x563aa8['find'](_0x437a88=>_0x437a88['name']===_0xaf2d12['name'])||_0x563aa8['push'](_0x4d8b5d),this['fileTreeView']&&(this['fileTreeView']['updateFileTree'](_0x563aa8,this['fileHandler']['getFileMap'](),!0x0),setTimeout(()=>{this['fileTreeView']['markActiveFile'](_0xaf2d12);},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 _0x5e4cb7=new URLSearchParams(window['location']['search'])['get']('mocap');if(_0x5e4cb7&&(await this['loadMocapAsMainModel'](_0x5e4cb7),this['rosConnectionPanel'])){this['rosConnectionPanel']['show']();const _0x334a5b=localStorage['getItem']('ros_url')||'ws://localhost:9090';this['rosConnectionPanel']['autoConnect'](_0x334a5b);}}catch(_0x3a823f){}}['updateEditorButtonVisibility'](){const _0xb7537f=document['getElementById']('open-editor-btn');_0xb7537f&&_0xb7537f['classList']['add']('visible');}async['handleModelLoaded'](_0x51d5a0,_0x4559d5,_0x2dd69d=!0x1,_0x35a57d=null){var _0x3081b9,_0x11188e,_0x3ca4c7,_0x4e5a72;const _0x23a0d6=this['_isReloading'],_0x307587=[],_0x55d91e=[];if(_0x23a0d6&&this['sceneManager']&&this['sceneManager']['axesManager']){const _0x38f7e0=this['sceneManager']['axesManager'];_0x38f7e0['getLinksWithAxes']()['forEach'](_0x402a16=>{_0x38f7e0['isLinkAxisVisible'](_0x402a16)&&_0x307587['push'](_0x402a16);}),_0x38f7e0['getJointNames']()['forEach'](_0xf2c197=>{_0x38f7e0['isJointAxisVisible'](_0xf2c197)&&_0x55d91e['push'](_0xf2c197);});}const _0x5385a0='xml'===_0x4559d5['name']['split']('.')['pop']()['toLowerCase']()&&'mjcf'===(null==(_0x3081b9=null==_0x51d5a0?void 0x0:_0x51d5a0['userData'])?void 0x0:_0x3081b9['type']);if(this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['clearScene'](),_0x5385a0&&_0x51d5a0['joints']&&_0x51d5a0['joints']['size']>0x0){this['currentMJCFFile']=_0x4559d5,this['currentMJCFModel']=_0x51d5a0;const _0x1c8343=document['getElementById']('mujoco-simulation-bar'),_0xbe17a4=document['getElementById']('mujoco-reset-btn-bar'),_0x21df55=document['getElementById']('mujoco-simulate-btn-bar');if(_0x1c8343&&(_0x1c8343['style']['display']='flex'),_0xbe17a4){_0xbe17a4['disabled']=!0x1,_0xbe17a4['style']['opacity']='1',_0xbe17a4['style']['cursor']='pointer';const _0x1f4501=_0xbe17a4['querySelector']('span');_0x1f4501&&(_0x1f4501['textContent']=(null==(_0x11188e=window['i18n'])?void 0x0:_0x11188e['t']('mujocoReset'))||'Reset');}if(_0x21df55){_0x21df55['disabled']=!0x1,_0x21df55['style']['opacity']='1',_0x21df55['style']['cursor']='pointer',_0x21df55['classList']['remove']('active');const _0x383f9f=_0x21df55['querySelector']('span');_0x383f9f&&(_0x383f9f['textContent']=(null==(_0x3ca4c7=window['i18n'])?void 0x0:_0x3ca4c7['t']('mujocoSimulate'))||'Simulate');}}else{const _0x3937e4=document['getElementById']('mujoco-simulation-bar');_0x3937e4&&(_0x3937e4['style']['display']='none'),this['currentMJCFFile']=null,this['currentMJCFModel']=null;}if(null==(_0x4e5a72=null==_0x51d5a0?void 0x0:_0x51d5a0['userData'])?void 0x0:_0x4e5a72['isUSDWASM']){const _0x547d72=document['getElementById']('canvas'),_0x1a2d4d=document['getElementById']('usd-viewer-container');_0x547d72&&_0x1a2d4d&&(_0x547d72['style']['display']='none',_0x1a2d4d['style']['display']='block');const _0x3a01fa=document['getElementById']('joint-controls-panel'),_0x38ff0f=document['getElementById']('graph-panel');_0x3a01fa&&(_0x3a01fa['style']['display']='none'),_0x38ff0f&&(_0x38ff0f['style']['display']='none'),this['currentModel']=_0x51d5a0,this['rosController']['setModel'](_0x51d5a0),this['updateModelInfo'](_0x51d5a0,_0x4559d5);const _0x572863=document['getElementById']('canvas-snapshot');return void((null==_0x572863?void 0x0:_0x572863['parentNode'])&&_0x572863['parentNode']['removeChild'](_0x572863));}let _0xb1254b=document['getElementById']('canvas');const _0x13fe52=document['getElementById']('usd-viewer-container');_0xb1254b&&_0x13fe52&&(_0xb1254b['style']['display']='block',_0x13fe52['style']['display']='none'),this['usdViewerManager']&&(this['usdViewerManager']['clear'](),this['usdViewerManager']['hide']());const _0x331f59=document['getElementById']('joint-controls-panel'),_0x2f460c=document['getElementById']('graph-panel');_0x331f59&&(_0x331f59['style']['display']=''),_0x2f460c&&(_0x2f460c['style']['display']=''),this['currentModel']&&(this['sceneManager']['removeModel'](this['currentModel']),this['currentModel']=null),this['currentModel']=_0x51d5a0,this['rosController']['setModel'](_0x51d5a0),this['sceneManager']['redraw'](),this['sceneManager']['render'](),_0xb1254b=document['getElementById']('canvas');let _0xf5131a=null;if(_0xb1254b)try{const _0x2803e9=_0xb1254b['toDataURL']('image/png');_0xf5131a=document['createElement']('div'),_0xf5131a['id']='canvas-snapshot',_0xf5131a['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('+_0x2803e9+');\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 _0xb6ca97=document['getElementById']('canvas-container');_0xb6ca97?_0xb6ca97['appendChild'](_0xf5131a):document['body']['appendChild'](_0xf5131a);}catch(_0xdc04e){}let _0x53594b=!0x1;const _0x3a4bd1=()=>{_0xf5131a&&_0xf5131a['parentNode']&&!_0x53594b&&(_0x53594b=!0x0,_0xf5131a['style']['transition']='opacity\x200.3s\x20ease',_0xf5131a['style']['opacity']='0',setTimeout(()=>{_0xf5131a&&_0xf5131a['parentNode']&&(_0xf5131a['parentNode']['removeChild'](_0xf5131a),_0xf5131a=null);},0x12c));},_0x73d99e=setTimeout(()=>{_0xf5131a&&_0xf5131a['parentNode']&&(_0x3a4bd1(),this['sceneManager']['off']('modelReady',_0x4388c6));},0x1388),_0x4388c6=()=>{clearTimeout(_0x73d99e),_0x3a4bd1(),this['sceneManager']['off']('modelReady',_0x4388c6),_0x23a0d6&&(_0x307587['forEach'](_0x110b0d=>{this['sceneManager']['axesManager']['showAxesByName'](_0x110b0d,!0x0);}),_0x55d91e['forEach'](_0x38b16a=>{this['sceneManager']['axesManager']['showJointAxisByName'](_0x38b16a,!0x0);}),this['axesControlPanel']&&this['axesControlPanel']['updateAxesList'](),this['jointAxesControlPanel']&&this['jointAxesControlPanel']['updateAxesList']()),this['orientationControlPanel']&&this['orientationControlPanel']['syncFromScene']();};this['sceneManager']['on']('modelReady',_0x4388c6),this['sceneManager']['addModel'](_0x51d5a0);const _0x4a7cf4=document['getElementById']('drop-zone');if(_0x4a7cf4&&(_0x4a7cf4['classList']['remove']('show'),_0x4a7cf4['classList']['remove']('drag-over')),_0x2dd69d){if(this['sceneManager']['setGroundVisible'](!0x1),this['modelGraphView']){_0x1a28d0('#model-graph-svg')['selectAll']('*:not(defs)')['remove']();const _0x47b522=document['getElementById']('graph-empty-state');_0x47b522&&_0x47b522['classList']['remove']('hidden');}const _0x5e3ae4=document['getElementById']('model-graph-panel');_0x5e3ae4&&(_0x5e3ae4['style']['display']='none');const _0x5d8655=document['getElementById']('joint-controls');if(_0x5d8655){_0x5d8655['innerHTML']='';const _0x586e29=document['createElement']('div');_0x586e29['className']='empty-state',_0x586e29['textContent']=window['i18n']['t']('noModel'),_0x5d8655['appendChild'](_0x586e29);}const _0x32bfbb=document['getElementById']('joints-panel');_0x32bfbb&&(_0x32bfbb['style']['display']='none'),this['setAxesButtonState'](!0x0),this['codeEditorManager']&&this['codeEditorManager']['clearEditor']();}else{this['sceneManager']['setGroundVisible'](!0x0),this['jointControlsUI']['setupJointControls'](_0x51d5a0),this['rosConnectionPanel']&&this['rosConnectionPanel']['onModelLoaded'](_0x51d5a0),this['virtualCameraPanel']&&this['virtualCameraPanel']['refreshMountTargets'](),this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](_0x51d5a0);const _0x557468=document['getElementById']('model-graph-panel');_0x557468&&(_0x557468['style']['display']='block');const _0xd5175e=document['getElementById']('joints-panel');_0xd5175e&&(_0xd5175e['style']['display']='block'),this['setAxesButtonState'](!0x1);}if(this['fileTreeView']&&!this['_isReloading']&&(this['fileTreeView']['updateFileTree'](this['fileHandler']['getAvailableModels'](),this['fileHandler']['getFileMap'](),!0x0),this['fileTreeView']['expandAndScrollToFile'](_0x4559d5,this['fileHandler']['getFileMap']())),!this['_isReloading']&&!_0x2dd69d){const _0x30fcfa=document['getElementById']('code-editor-panel');if(_0x30fcfa&&this['codeEditorManager']){_0x30fcfa['classList']['add']('visible');const _0x5bd555=document['getElementById']('open-editor-btn');_0x5bd555&&_0x5bd555['classList']['add']('active'),this['codeEditorManager']['loadFile'](_0x4559d5);}}this['updateEditorButtonVisibility'](),this['updateModelInfo'](_0x51d5a0,_0x4559d5),_0x23a0d6||_0x2dd69d||(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']()),_0x2dd69d||Qa(_0x51d5a0,'joint-info-panel');}['setupCanvasClickHandler'](_0x3803f0){let _0x2ce0af=null,_0x76abf8=0x0;_0x3803f0['addEventListener']('mousedown',_0x4bd652=>{0x0===_0x4bd652['button']&&(_0x2ce0af={'x':_0x4bd652['clientX'],'y':_0x4bd652['clientY']},_0x76abf8=Date['now']());},!0x0),_0x3803f0['addEventListener']('mouseup',_0x4b7868=>{if(0x0!==_0x4b7868['button']||!this['sceneManager']||!_0x2ce0af)return;const _0x286d4e=_0x4b7868['clientX']-_0x2ce0af['x'],_0x391b5e=_0x4b7868['clientY']-_0x2ce0af['y'],_0x404493=Math['sqrt'](_0x286d4e*_0x286d4e+_0x391b5e*_0x391b5e),_0x546ef3=Date['now']()-_0x76abf8;if(_0x404493<0x5&&_0x546ef3<0x12c){const _0x24a084=new _0x21d002(),_0x4bc820=new _0x29f781(),_0x12f4ba=_0x3803f0['getBoundingClientRect']();_0x4bc820['x']=(_0x4b7868['clientX']-_0x12f4ba['left'])/_0x12f4ba['width']*0x2-0x1,_0x4bc820['y']=-(_0x4b7868['clientY']-_0x12f4ba['top'])/_0x12f4ba['height']*0x2+0x1,_0x24a084['setFromCamera'](_0x4bc820,this['sceneManager']['camera']);const _0x15ce1c=_0x24a084['intersectObjects'](this['sceneManager']['scene']['children'],!0x0),_0x641ac5=_0x15ce1c['find'](_0x386e98=>{if(!_0x386e98['object']['userData']||!_0x386e98['object']['userData']['isAxis']||!_0x386e98['object']['userData']['linkName'])return!0x1;const _0x3d471f=_0x386e98['object']['userData']['linkName'],_0x1f40fc=this['sceneManager']['axesManager']['linkAxesHelpers']['get'](_0x3d471f);return _0x1f40fc&&_0x1f40fc['visible'];});if(_0x641ac5){const _0x4052ab=_0x641ac5['object']['userData']['linkName'];return this['sceneManager']['axesManager']['selectAxis'](_0x4052ab),this['axesControlPanel']&&this['axesControlPanel']['showRpySection'](this['currentModel'],_0x4052ab),void(_0x2ce0af=null);}if(0x0===_0x15ce1c['filter'](_0x31981f=>{const _0x50f981=_0x31981f['object'];let _0x3dba02=_0x50f981;for(;_0x3dba02;){const _0x2439c5=_0x3dba02['name']||'';if(_0x2439c5['includes']('jointAxis')||_0x2439c5['includes']('helper')||_0x2439c5['includes']('grid')||_0x2439c5['includes']('Ground')||'groundPlane'===_0x2439c5)return!0x1;_0x3dba02=_0x3dba02['parent'];}return _0x50f981['isMesh']&&_0x50f981['visible'];})['length']){if(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['deselectAxis'](),this['axesControlPanel']&&this['axesControlPanel']['hideRpySection'](),this['modelGraphView']){const _0xbba4ed=_0x1a28d0('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0xbba4ed);}this['measurementController']&&this['measurementController']['clearMeasurement']();}}_0x2ce0af=null;},!0x0);}['setupModelTreePanel'](){const _0x30bbda=document['getElementById']('toggle-model-tree'),_0x1d040e=document['getElementById']('floating-model-tree');_0x30bbda&&_0x1d040e&&(_0x1d040e['style']['display']='flex',_0x30bbda['classList']['add']('active')),_0x1d040e&&_0x1d040e['addEventListener']('click',_0x2b9183=>{var _0x11e954,_0x9fd0e;const _0x338e65=_0x2b9183['target'];if(_0x338e65===_0x1d040e||(null==(_0x11e954=_0x338e65['classList'])?void 0x0:_0x11e954['contains']('graph-controls-hint'))||(null==(_0x9fd0e=_0x338e65['classList'])?void 0x0:_0x9fd0e['contains']('empty-state'))||'floating-model-tree'===_0x338e65['id']){if(this['modelGraphView']){const _0xcef0a0=_0x1a28d0('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0xcef0a0);}this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']();}});}['updateModelInfo'](_0x534037,_0x224503){const _0x348295=document['getElementById']('status-info');if(!_0x348295||!_0x534037)return;let _0x36a1dd='<strong>'+_0x224503['name']+'</strong><br>';if(_0x36a1dd+='Type:\x20'+_0x224503['name']['split']('.')['pop']()['toLowerCase']()['toUpperCase']()+'<br>',_0x534037['links']&&(_0x36a1dd+='Links:\x20'+_0x534037['links']['size']+'<br>'),_0x534037['joints']){const _0xf143f9=Array['from'](_0x534037['joints']['values']())['filter'](_0x437c5d=>'fixed'!==_0x437c5d['type'])['length'];_0x36a1dd+='Joints:\x20'+_0x534037['joints']['size']+'\x20('+_0xf143f9+'\x20controllable)<br>';}if(_0x534037['constraints']&&_0x534037['constraints']['size']>0x0){_0x36a1dd+='<span\x20style=\x22color:\x20#00aaff;\x20font-weight:\x20bold;\x22>Constraints:\x20'+_0x534037['constraints']['size']+'\x20🔗</span><br>';const _0x5b0dae={};_0x534037['constraints']['forEach'](_0x522d51=>{_0x5b0dae[_0x522d51['type']]=(_0x5b0dae[_0x522d51['type']]||0x0)+0x1;});const _0x4c77be={'connect':'Connect','weld':'Weld','joint':'Joint\x20Coupling','distance':'Distance'};_0x36a1dd+='<span\x20style=\x22font-size:\x2011px;\x20color:\x20#888;\x22>'+Object['entries'](_0x5b0dae)['map'](([_0x6a201c,_0x404a4a])=>(_0x4c77be[_0x6a201c]||_0x6a201c)+':\x20'+_0x404a4a)['join'](',\x20')+'</span><br>';}_0x534037['rootLink']&&(_0x36a1dd+='Root\x20Link:\x20'+_0x534037['rootLink']),_0x348295['innerHTML']=_0x36a1dd,_0x348295['className']='success';}['handleFileClick'](_0x2fc413){const _0x6e30f6=_0x2fc413['ext'];if(['urdf','xacro','xml','usd','usda','usdc','usdz']['includes'](_0x6e30f6)){this['fileHandler']['loadFile'](_0x2fc413['file']);const _0xdd2d9b=document['getElementById']('code-editor-panel');_0xdd2d9b&&_0xdd2d9b['classList']['contains']('visible')&&this['codeEditorManager']&&this['codeEditorManager']['loadFile'](_0x2fc413['file']);}else['dae','stl','obj','collada']['includes'](_0x6e30f6)&&this['fileHandler']['loadMeshAsModel'](_0x2fc413['file'],_0x2fc413['name']);}['createUSDViewerContainer'](){const _0x44b51a=document['getElementById']('canvas-container');if(!_0x44b51a)return;const _0x273b3f=document['createElement']('div');_0x273b3f['id']='usd-viewer-container',_0x273b3f['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',_0x44b51a['appendChild'](_0x273b3f);}async['getUSDViewerManager'](){if(!this['usdViewerManager']){const _0x3442a1=document['getElementById']('usd-viewer-container');if(!_0x3442a1)throw new Error('USD\x20viewer\x20container\x20not\x20found');this['usdViewerManager']=new Hi(_0x3442a1),this['fileHandler']['setUSDViewerManager'](this['usdViewerManager']),this['usdViewerManager']['on']('USD_LOADING_START',_0x1d83a3=>{var _0x166413;const _0x59c27c=(null==(_0x166413=_0x1d83a3['data'])?void 0x0:_0x166413['message'])||'Loading\x20USD...',_0x3ba225=document['getElementById']('status-info');_0x3ba225&&(_0x3ba225['textContent']=_0x59c27c,_0x3ba225['className']='info');}),this['usdViewerManager']['on']('USD_LOADED',()=>{const _0x395a14=document['getElementById']('status-info');_0x395a14&&(_0x395a14['textContent']='USD\x20file\x20loaded\x20successfully',_0x395a14['className']='success');}),this['usdViewerManager']['on']('USD_ERROR',_0x40a902=>{var _0x3dd775;const _0x427584=(null==(_0x3dd775=_0x40a902['data'])?void 0x0:_0x3dd775['error'])||'Load\x20failed',_0x51c575=document['getElementById']('status-info');_0x51c575&&(_0x51c575['textContent']='Load\x20failed:\x20'+_0x427584,_0x51c575['className']='error');});}return this['usdViewerManager'];}['handleThemeChanged'](_0x1099f4){this['codeEditorManager']&&this['codeEditorManager']['updateTheme'](_0x1099f4),this['currentModel']&&this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](this['currentModel']);}['handleAngleUnitChanged'](_0x2a2f09){this['angleUnit']=_0x2a2f09,this['jointControlsUI']&&this['jointControlsUI']['setAngleUnit'](_0x2a2f09);}['handleResetJoints'](){this['currentModel']&&this['jointControlsUI']&&this['jointControlsUI']['resetAllJoints'](this['currentModel']);}['handleIgnoreLimitsChanged'](_0x22e66f){this['jointControlsUI']&&this['currentModel']&&this['jointControlsUI']['updateAllSliderLimits'](this['currentModel'],_0x22e66f);}['handleApplyAngles'](){this['jointControlsUI']&&this['jointControlsUI']['handleApplyAngles']();}['handleSetHome'](){var _0x42c7dc,_0x57dc99;if(!this['currentModel']||!this['currentModel']['joints'])return;const _0x1fedb1={};this['currentModel']['joints']['forEach']((_0x112bdf,_0x363c0c)=>{'fixed'!==_0x112bdf['type']&&(_0x1fedb1[_0x363c0c]=_0x112bdf['currentValue']);}),this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['homePositions']=_0x1fedb1,this['jointControlsUI']&&this['jointControlsUI']['updateButtonStates']();const _0x415fe1=Object['keys'](_0x1fedb1)['length'],_0x55af14=(null==(_0x57dc99=null==(_0x42c7dc=window['i18n'])?void 0x0:_0x42c7dc['t']('setHomeSuccess'))?void 0x0:_0x57dc99['replace']('{count}',_0x415fe1))||'已记录\x20'+_0x415fe1+'\x20个关节的零位';this['jointControlsUI']['showToast'](_0x55af14,'success');}['handleSelectAll'](){this['jointControlsUI']&&this['jointControlsUI']['handleSelectAll']();}['handleResetToHome'](){this['jointControlsUI']&&this['jointControlsUI']['handleResetToHome']();}['handleLanguageChanged'](_0x12373d){var _0x2be0e4,_0x4fb4db,_0x30dd40,_0x2c0f66,_0x3f18df,_0x48ad63;Ha['setLanguage'](_0x12373d),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 _0x29a4d4=document['getElementById']('mujoco-simulate-btn-bar');if(_0x29a4d4){const _0x49ff70=_0x29a4d4['querySelector']('span');if(_0x49ff70){const _0x4be428=_0x29a4d4['classList']['contains']('active')?'mujocoPause':'mujocoSimulate';_0x49ff70['textContent']=Ha['t'](_0x4be428),_0x49ff70['setAttribute']('data-i18n',_0x4be428);}}null==(_0x4fb4db=null==(_0x2be0e4=this['virtualCameraPanel'])?void 0x0:_0x2be0e4['refreshLanguage'])||_0x4fb4db['call'](_0x2be0e4),null==(_0x2c0f66=null==(_0x30dd40=this['rosConnectionPanel'])?void 0x0:_0x30dd40['refreshLanguage'])||_0x2c0f66['call'](_0x30dd40),null==(_0x48ad63=null==(_0x3f18df=this['orientationControlPanel'])?void 0x0:_0x3f18df['refreshLanguage'])||_0x48ad63['call'](_0x3f18df);}['setAxesButtonState'](_0x466abd){const _0x305dcc=document['getElementById']('toggle-axes-btn'),_0x291479=document['getElementById']('toggle-joint-axes-btn');_0x305dcc&&_0x291479&&(_0x305dcc['setAttribute']('data-checked',_0x466abd['toString']()),_0x291479['setAttribute']('data-checked','false'),_0x466abd?(_0x305dcc['classList']['add']('active'),_0x291479['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['showAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())):(_0x305dcc['classList']['remove']('active'),_0x291479['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['hideAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&(this['mujocoSimulationManager']['toggleAxesDisplay'](_0x466abd),this['mujocoSimulationManager']['toggleJointAxesDisplay'](!0x1)));}['detectFileType'](_0x17d993){return{'urdf':'urdf','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x17d993['toLowerCase']()['split']('.')['pop']()]||'urdf';}async['loadMocapAsMainModel'](_0x57e40a){const {MOCAP_CONFIG:_0x364f84}=await Ae(()=>Promise['resolve']()['then'](()=>_a),void 0,import.meta.url),_0x11fde4=_0x364f84[_0x57e40a];if(_0x11fde4)try{const _0x25e917=await fetch(_0x11fde4['urdfPath']);if(!_0x25e917['ok'])throw new Error('Failed\x20to\x20fetch\x20URDF:\x20'+_0x25e917['statusText']);const _0x2c44a2=await _0x25e917['text'](),_0x285f7f=_0x11fde4['urdfPath']['substring'](0x0,_0x11fde4['urdfPath']['lastIndexOf']('/')+0x1),_0x181e6e=_0x2c44a2['replace'](/filename="[^"]*?(meshes\/[^"]+)"/g,'filename=\x22'+_0x285f7f+'$1\x22'),_0x2187f7=new Blob([_0x181e6e],{'type':'text/xml'}),_0x4e04ab=new File([_0x2187f7],_0x57e40a+'.urdf',{'type':'text/xml'});this['fileHandler']['fileMap']['clear'](),this['fileHandler']['fileMap']['set'](_0x4e04ab['name'],_0x4e04ab),await this['fileHandler']['loadFile'](_0x4e04ab);const _0xba306f=this['sceneManager']['currentModel'];if(_0xba306f&&_0xba306f['joints']){const _0x446c9e={};_0xba306f['joints']['forEach']((_0x562590,_0x3a98ba)=>{'fixed'!==_0x562590['type']&&(_0x446c9e[_0x3a98ba]=_0x562590['currentValue']);}),_0xba306f['userData']||(_0xba306f['userData']={}),_0xba306f['userData']['homePositions']=_0x446c9e;}_0x11fde4['scale']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['scale']['set'](_0x11fde4['scale'],_0x11fde4['scale'],_0x11fde4['scale']),_0x11fde4['rotation']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['rotation']['set'](_0x11fde4['rotation']['x'],_0x11fde4['rotation']['y'],_0x11fde4['rotation']['z']),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['updateMatrixWorld'](!0x0);}catch(_0x3402d4){alert('Failed\x20to\x20load\x20'+_0x11fde4['name']+':\x20'+_0x3402d4['message']);}else alert('Unknown\x20mocap\x20model:\x20'+_0x57e40a);}async['autoConnectROS'](_0x2bff51){var _0x40ed3a;const _0x40429b=localStorage['getItem']('ros_url')||'ws://localhost:9090';try{if(await this['rosController']['connect'](_0x40429b),await new Promise(_0x22e93a=>setTimeout(_0x22e93a,0x1f4)),'tf'===_0x2bff51['topicType']&&this['sceneManager']['currentModel']){let _0x1caaa0=_0x2bff51['rosTopic'];const _0x4ef762=document['querySelector']('#floating-ros-panel');if(_0x4ef762){const _0xb4b535=null==(_0x40ed3a=_0x4ef762['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x40ed3a['querySelector']('.ros-topic-input');(null==_0xb4b535?void 0x0:_0xb4b535['value'])&&(_0x1caaa0=_0xb4b535['value']);}this['rosController']['tfController']['subscribeTF'](_0x2bff51['id'],this['sceneManager']['currentModel'],_0x1caaa0);}}catch(_0x3e9791){}}['handleMujocoReset'](){this['mujocoSimulationManager']&&this['mujocoSimulationManager']['reset']();}async['handleMujocoToggleSimulate'](){if(!this['mujocoSimulationManager']['hasScene']()&&this['currentMJCFFile']&&this['currentMJCFModel'])try{const _0x404f1b=await this['currentMJCFFile']['text']();return await this['mujocoSimulationManager']['loadScene'](_0x404f1b,this['currentMJCFFile']['name'],this['fileHandler']['getFileMap'](),this['currentMJCFModel']),this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!0x1),this['mujocoSimulationManager']['startSimulation'](),!0x0;}catch(_0x329d1b){return!0x1;}if(this['mujocoSimulationManager']){const _0x426b10=this['mujocoSimulationManager']['toggleSimulation']();return this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!_0x426b10),_0x426b10;}return!0x1;}['animate'](){var _0x32f11f,_0x43047a;if(requestAnimationFrame(()=>this['animate']()),this['sceneManager']){this['sceneManager']['update'](),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['update'](performance['now']());const _0x6815e4=performance['now'](),_0x36c99e=!(!0x0===(null==(_0x43047a=null==(_0x32f11f=this['virtualCameraPublisher'])?void 0x0:_0x32f11f['isRunning'])?void 0x0:_0x43047a['call'](_0x32f11f)))&&_0x6815e4-this['_lastSafetyRenderAt']>0xfa;(this['sceneManager']['hasPendingRender']()||_0x36c99e)&&(this['sceneManager']['render'](),this['_lastSafetyRenderAt']=_0x6815e4);}}}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-09f986c7.js'),["./PlotPanel-09f986c7.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js","../css/PlotPanel-3e7d7555.css"],import.meta.url)['then'](_0x1346fb=>{t&&(t['innerHTML']='');const _0x45429a=new _0x1346fb['PlotPanel']();_0x45429a['init'](),window['plotPanel']=_0x45429a;})['catch'](_0x180594=>{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>'+(_0x180594&&_0x180594['message']?_0x180594['message']:Ha['t']('unknownError'))+'</div></div>');});}else{const e=new Ka();e['init'](),window['app']=e;}export{xa as R,Ae as _};
|