@tomaso909/js3d 1.7.1 → 1.10.0

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/dist/index.obf.js CHANGED
@@ -1 +1 @@
1
- const a0_0x5d04ea=a0_0x135a;(function(_0x3e58d9,_0x4a70ad){const _0x210e47=a0_0x135a,_0x388cf5=_0x3e58d9();while(!![]){try{const _0xe46d65=-parseInt(_0x210e47(0x1e0))/0x1*(-parseInt(_0x210e47(0x1c6))/0x2)+-parseInt(_0x210e47(0x1fd))/0x3+-parseInt(_0x210e47(0x219))/0x4*(-parseInt(_0x210e47(0x1ce))/0x5)+-parseInt(_0x210e47(0x1e4))/0x6+-parseInt(_0x210e47(0x1c5))/0x7*(parseInt(_0x210e47(0x1b7))/0x8)+parseInt(_0x210e47(0x20e))/0x9+-parseInt(_0x210e47(0x1cd))/0xa;if(_0xe46d65===_0x4a70ad)break;else _0x388cf5['push'](_0x388cf5['shift']());}catch(_0x225cce){_0x388cf5['push'](_0x388cf5['shift']());}}}(a0_0x1fdc,0x25d31));var w={'length':function(_0x55d77a){const _0x519064=a0_0x135a;return Math[_0x519064(0x1c7)](_0x55d77a[0x0]**0x2+_0x55d77a[0x1]**0x2+_0x55d77a[0x2]**0x2);},'scalarProduct':function(_0x30a83c,_0x4b93b2){return[_0x30a83c[0x0]*_0x4b93b2,_0x30a83c[0x1]*_0x4b93b2,_0x30a83c[0x2]*_0x4b93b2];},'dot':function(_0x5a2a90,_0x59fe72){return _0x5a2a90[0x0]*_0x59fe72[0x0]+_0x5a2a90[0x1]*_0x59fe72[0x1]+_0x5a2a90[0x2]*_0x59fe72[0x2];},'angle':function(_0x3bc301,_0x2b5651,_0x293358=!0x1){const _0x33075e=a0_0x135a;let _0x2d9605=this[_0x33075e(0x1b1)](_0x3bc301,_0x2b5651)/(this[_0x33075e(0x1b5)](_0x3bc301)*this[_0x33075e(0x1b5)](_0x2b5651)),_0x53276a=Math['acos'](_0x2d9605);return _0x293358&&_0x53276a>Math['PI']/0x2&&(_0x53276a=Math['PI']-_0x53276a),_0x53276a;},'sub':function(_0x450b69,_0x3cfa35){return[_0x450b69[0x0]-_0x3cfa35[0x0],_0x450b69[0x1]-_0x3cfa35[0x1],_0x450b69[0x2]-_0x3cfa35[0x2]];},'add':function(_0x17c060,_0x36e5ce){return[_0x17c060[0x0]+_0x36e5ce[0x0],_0x17c060[0x1]+_0x36e5ce[0x1],_0x17c060[0x2]+_0x36e5ce[0x2]];},'rotate':function(_0x529f3,_0x192b14,_0x55d29f){const _0x4e29b7=a0_0x135a;let _0xcf23b=_0x55d29f*Math['PI']/0xb4,_0x4324f6=Math[_0x4e29b7(0x1fe)](_0xcf23b),_0x318fd9=Math[_0x4e29b7(0x1b4)](_0xcf23b),_0x2236ec=_0x529f3[0x0],_0x24d721=_0x529f3[0x1],_0x419656=_0x529f3[0x2],_0x2ffc7d=_0x192b14[0x0],_0x58cdb4=_0x192b14[0x1],_0x41811d=_0x192b14[0x2],_0xf5c0b9=_0x2ffc7d*_0x2236ec+_0x58cdb4*_0x24d721+_0x41811d*_0x419656,_0x20b0f6=_0x2ffc7d*_0xf5c0b9*(0x1-_0x4324f6)+_0x2236ec*_0x4324f6+(-_0x41811d*_0x24d721+_0x58cdb4*_0x419656)*_0x318fd9,_0x4d2257=_0x58cdb4*_0xf5c0b9*(0x1-_0x4324f6)+_0x24d721*_0x4324f6+(_0x41811d*_0x2236ec-_0x2ffc7d*_0x419656)*_0x318fd9,_0x3c3969=_0x41811d*_0xf5c0b9*(0x1-_0x4324f6)+_0x419656*_0x4324f6+(-_0x58cdb4*_0x2236ec+_0x2ffc7d*_0x24d721)*_0x318fd9;return[_0x20b0f6,_0x4d2257,_0x3c3969];},'fromTwoPoints':function(_0x4addd9,_0x382b0d){return[_0x382b0d[0x0]-_0x4addd9[0x0],_0x382b0d[0x1]-_0x4addd9[0x1],_0x382b0d[0x2]-_0x4addd9[0x2]];},'normalized':function(_0x150269){const _0x505063=a0_0x135a;return w[_0x505063(0x214)](_0x150269,0x1/w[_0x505063(0x1b5)](_0x150269));},'cross':function(_0x52b71a,_0xab33d3){return[_0x52b71a[0x1]*_0xab33d3[0x2]-_0x52b71a[0x2]*_0xab33d3[0x1],_0x52b71a[0x2]*_0xab33d3[0x0]-_0x52b71a[0x0]*_0xab33d3[0x2],_0x52b71a[0x0]*_0xab33d3[0x1]-_0x52b71a[0x1]*_0xab33d3[0x0]];}},F={'distance':function(_0x2ad3fe,_0x50f9b5){const _0x514ec9=a0_0x135a;return w[_0x514ec9(0x1b5)](w[_0x514ec9(0x1d5)](_0x50f9b5,_0x2ad3fe));},'move':function(_0x310377,_0x5f39d8){const _0x22f85d=a0_0x135a;return w[_0x22f85d(0x198)](_0x310377,_0x5f39d8);},'scale':function(_0x2137f7,_0x39c354,_0x15b08b){const _0x4a1d82=a0_0x135a;return _0x15b08b!=null&&(_0x2137f7=this[_0x4a1d82(0x19b)](_0x2137f7,w[_0x4a1d82(0x214)](_0x15b08b,-0x1))),_0x2137f7=w['scalarProduct'](_0x2137f7,_0x39c354),_0x15b08b!=null&&(_0x2137f7=this[_0x4a1d82(0x19b)](_0x2137f7,_0x15b08b)),_0x2137f7;},'rotate':function(_0xda0c69,_0xcc39ff,_0x33bb44,_0x1e1cfe){const _0x361393=a0_0x135a;let _0x215bd6=_0x33bb44*Math['PI']/0xb4,_0x35bc17=Math['cos'](_0x215bd6),_0x416adb=Math[_0x361393(0x1b4)](_0x215bd6),_0x5a31eb=_0xda0c69[0x0],_0x513a0e=_0xda0c69[0x1],_0x585d07=_0xda0c69[0x2];_0x1e1cfe!=null&&(_0x5a31eb=_0x5a31eb-_0x1e1cfe[0x0],_0x513a0e=_0x513a0e-_0x1e1cfe[0x1],_0x585d07=_0x585d07-_0x1e1cfe[0x2]);let _0xcfdf85=_0xcc39ff[0x0],_0x2d3304=_0xcc39ff[0x1],_0x6c56a7=_0xcc39ff[0x2],_0x495d75=_0xcfdf85*_0x5a31eb+_0x2d3304*_0x513a0e+_0x6c56a7*_0x585d07,_0x37bb88=_0xcfdf85*_0x495d75*(0x1-_0x35bc17)+_0x5a31eb*_0x35bc17+(-_0x6c56a7*_0x513a0e+_0x2d3304*_0x585d07)*_0x416adb,_0x3cfa59=_0x2d3304*_0x495d75*(0x1-_0x35bc17)+_0x513a0e*_0x35bc17+(_0x6c56a7*_0x5a31eb-_0xcfdf85*_0x585d07)*_0x416adb,_0x355c51=_0x6c56a7*_0x495d75*(0x1-_0x35bc17)+_0x585d07*_0x35bc17+(-_0x2d3304*_0x5a31eb+_0xcfdf85*_0x513a0e)*_0x416adb,_0x19eacb=[_0x37bb88,_0x3cfa59,_0x355c51];return _0x1e1cfe!=null&&(_0x19eacb[0x0]=_0x19eacb[0x0]+_0x1e1cfe[0x0],_0x19eacb[0x1]=_0x19eacb[0x1]+_0x1e1cfe[0x1],_0x19eacb[0x2]=_0x19eacb[0x2]+_0x1e1cfe[0x2]),_0x19eacb;},'project':function(_0x459251,_0x91218b,_0x5bec0c){const _0x3833d2=a0_0x135a;let _0x235fec=w['sub'](_0x459251,_0x5bec0c),_0x134123=w['dot'](_0x235fec,_0x91218b)/w['length'](_0x91218b),_0x419adf=w[_0x3833d2(0x214)](_0x91218b,0x1/w['length'](_0x91218b));return w[_0x3833d2(0x1d5)](_0x459251,w[_0x3833d2(0x214)](_0x419adf,_0x134123));}},H={'linspace':function(_0x3cbe6f,_0x105476,_0x2eb9fc,_0x3ceda5=!0x0){const _0x818148=a0_0x135a;let _0x5a363e=_0x3ceda5?_0x2eb9fc-0x1:_0x2eb9fc,_0x36d088=(_0x105476-_0x3cbe6f)/_0x5a363e;return Array[_0x818148(0x21c)]({'length':_0x2eb9fc},(_0x47562a,_0x4456d7)=>_0x3cbe6f+_0x36d088*_0x4456d7);},'cosineSpacing':function(_0x49aafe,_0x44f269,_0x3ccdb8){const _0x39e1ce=a0_0x135a;let _0x163ac7=Array[_0x39e1ce(0x21c)]({'length':_0x3ccdb8},(_0x1aab64,_0x2ea948)=>_0x2ea948/(_0x3ccdb8-0x1))[_0x39e1ce(0x1a3)](_0x47afa5=>(0x1-Math[_0x39e1ce(0x1fe)](_0x47afa5*Math['PI']))/0x2),_0x136501=[];for(let _0x572706=0x0;_0x572706<_0x163ac7['length'];_0x572706++){let _0x1df875=_0x163ac7[_0x572706];_0x136501[_0x39e1ce(0x197)](mapToSpace(_0x1df875,[0x0,0x1],[_0x49aafe,_0x44f269]));}return _0x136501;},'normalizedCosineSpacing':function(_0x2d1a2e){const _0x361395=a0_0x135a;return Array[_0x361395(0x21c)]({'length':_0x2d1a2e},(_0x5e8cf4,_0x2da5f9)=>_0x2da5f9/(_0x2d1a2e-0x1))[_0x361395(0x1a3)](_0xe837c4=>(0x1-Math[_0x361395(0x1fe)](_0xe837c4*Math['PI']))/0x2);},'mapToSpace':function(_0x46bd28,_0x1e1da9,_0x23857f){return _0x23857f[0x1]+(_0x46bd28-_0x1e1da9[0x1])*(_0x23857f[0x0]-_0x23857f[0x1])/(_0x1e1da9[0x0]-_0x1e1da9[0x1]);}},j={'from_control_points':function(_0x13a7f0,_0x581c58,_0x34690e,_0x1de983){const _0x1b5a9e=a0_0x135a;_0x1de983===void 0x0&&(_0x1de983=this['_uniform_knot_spacing'](_0x13a7f0,_0x581c58));let _0x40bb1b=H[_0x1b5a9e(0x1cf)](0x0,0x1,_0x34690e),_0x41f971=[];for(var _0x536816 of _0x40bb1b)_0x41f971['push'](this[_0x1b5a9e(0x207)](_0x536816,_0x581c58,_0x13a7f0,_0x1de983));return _0x41f971;},'from_control_points_cosine':function(_0x3159a0,_0x2e5107,_0x5c7a95,_0x40246d){const _0x511a19=a0_0x135a;_0x40246d===void 0x0&&(_0x40246d=this['_uniform_knot_spacing'](_0x3159a0,_0x2e5107));let _0x55b205=H['normalizedCosineSpacing'](_0x5c7a95),_0x530617=[];for(var _0x5577fc of _0x55b205)_0x530617[_0x511a19(0x197)](this[_0x511a19(0x207)](_0x5577fc,_0x2e5107,_0x3159a0,_0x40246d));return _0x530617;},'_uniform_knot_spacing':function(_0x1836c8,_0x5d8ffd){const _0x4da085=a0_0x135a;let _0x24393a=_0x1836c8[_0x4da085(0x1b5)]+_0x5d8ffd+0x1,_0x9b2b49=[],_0x500763=_0x24393a-(_0x5d8ffd+0x1)*0x2;for(var _0x4d1617=0x0;_0x4d1617<_0x5d8ffd+0x1;_0x4d1617++)_0x9b2b49[_0x4da085(0x197)](0x0);for(var _0x4d1617=0x0;_0x4d1617<_0x500763;_0x4d1617++)_0x9b2b49[_0x4da085(0x197)](_0x4d1617+0x1);let _0x4fb112=_0x9b2b49[_0x9b2b49[_0x4da085(0x1b5)]-0x1]+0x1;for(var _0x4d1617=0x0;_0x4d1617<_0x5d8ffd+0x1;_0x4d1617++)_0x9b2b49[_0x4da085(0x197)](_0x4fb112);return _0x9b2b49;},'bspline':function(_0x599409,_0x3b015e,_0xbeba38,_0x4d0867,_0x1c78dc,_0x3e4feb){const _0x22c4f2=a0_0x135a;var _0x142094,_0x1e669f,_0x125b53,_0x59b58e,_0x4d1fb0=_0xbeba38[_0x22c4f2(0x1b5)],_0x45331a=_0xbeba38[0x0][_0x22c4f2(0x1b5)];if(_0x3b015e<0x1)throw new Error(_0x22c4f2(0x1ff));if(_0x3b015e>_0x4d1fb0-0x1)throw new Error(_0x22c4f2(0x1b2));if(!_0x1c78dc){for(_0x1c78dc=[],_0x142094=0x0;_0x142094<_0x4d1fb0;_0x142094++)_0x1c78dc[_0x142094]=0x1;}if(_0x4d0867){if(_0x4d0867[_0x22c4f2(0x1b5)]!==_0x4d1fb0+_0x3b015e+0x1)throw new Error(_0x22c4f2(0x1c9));}else{var _0x4d0867=[];for(_0x142094=0x0;_0x142094<_0x4d1fb0+_0x3b015e+0x1;_0x142094++)_0x4d0867[_0x142094]=_0x142094;}var _0x293ffa=[_0x3b015e,_0x4d0867['length']-0x1-_0x3b015e],_0x156eeb=_0x4d0867[_0x293ffa[0x0]],_0x2d0419=_0x4d0867[_0x293ffa[0x1]];if(_0x599409=_0x599409*(_0x2d0419-_0x156eeb)+_0x156eeb,_0x599409<_0x156eeb||_0x599409>_0x2d0419)throw new Error('out\x20of\x20bounds');for(_0x125b53=_0x293ffa[0x0];_0x125b53<_0x293ffa[0x1]&&!(_0x599409>=_0x4d0867[_0x125b53]&&_0x599409<=_0x4d0867[_0x125b53+0x1]);_0x125b53++);var _0x199d77=[];for(_0x142094=0x0;_0x142094<_0x4d1fb0;_0x142094++){for(_0x199d77[_0x142094]=[],_0x1e669f=0x0;_0x1e669f<_0x45331a;_0x1e669f++)_0x199d77[_0x142094][_0x1e669f]=_0xbeba38[_0x142094][_0x1e669f]*_0x1c78dc[_0x142094];_0x199d77[_0x142094][_0x45331a]=_0x1c78dc[_0x142094];}var _0xc536d1;for(_0x59b58e=0x1;_0x59b58e<=_0x3b015e+0x1;_0x59b58e++)for(_0x142094=_0x125b53;_0x142094>_0x125b53-_0x3b015e-0x1+_0x59b58e;_0x142094--)for(_0xc536d1=(_0x599409-_0x4d0867[_0x142094])/(_0x4d0867[_0x142094+_0x3b015e+0x1-_0x59b58e]-_0x4d0867[_0x142094]),_0x1e669f=0x0;_0x1e669f<_0x45331a+0x1;_0x1e669f++)_0x199d77[_0x142094][_0x1e669f]=(0x1-_0xc536d1)*_0x199d77[_0x142094-0x1][_0x1e669f]+_0xc536d1*_0x199d77[_0x142094][_0x1e669f];var _0x3e4feb=_0x3e4feb||[];for(_0x142094=0x0;_0x142094<_0x45331a;_0x142094++)_0x3e4feb[_0x142094]=_0x199d77[_0x125b53][_0x142094]/_0x199d77[_0x125b53][_0x45331a];return _0x3e4feb;}},C={'_gaussJ':{'solve':function(_0x20c9f5,_0x266b06){const _0x46468b=a0_0x135a;let _0x25e28d=_0x20c9f5[_0x46468b(0x1b5)];for(let _0xf0a856=0x0;_0xf0a856<_0x25e28d;_0xf0a856++){let _0x5aee06=0x0,_0x1cd6a1=Number['NEGATIVE_INFINITY'];for(let _0xe0218b=_0xf0a856;_0xe0218b<_0x25e28d;_0xe0218b++)Math[_0x46468b(0x1ed)](_0x20c9f5[_0xe0218b][_0xf0a856])>_0x1cd6a1&&(_0x5aee06=_0xe0218b,_0x1cd6a1=Math[_0x46468b(0x1ed)](_0x20c9f5[_0xe0218b][_0xf0a856]));this[_0x46468b(0x1e6)](_0x20c9f5,_0xf0a856,_0x5aee06);for(let _0x3049b5=_0xf0a856+0x1;_0x3049b5<_0x25e28d;_0x3049b5++){let _0x5689d5=_0x20c9f5[_0x3049b5][_0xf0a856]/_0x20c9f5[_0xf0a856][_0xf0a856];for(let _0xd271d7=_0xf0a856;_0xd271d7<_0x25e28d+0x1;_0xd271d7++)_0x20c9f5[_0x3049b5][_0xd271d7]-=_0x20c9f5[_0xf0a856][_0xd271d7]*_0x5689d5;}}for(let _0x583fb8=_0x25e28d-0x1;_0x583fb8>=0x0;_0x583fb8--){let _0x2904e6=_0x20c9f5[_0x583fb8][_0x25e28d]/_0x20c9f5[_0x583fb8][_0x583fb8];_0x266b06[_0x583fb8]=_0x2904e6;for(let _0x2f9da1=_0x583fb8-0x1;_0x2f9da1>=0x0;_0x2f9da1--)_0x20c9f5[_0x2f9da1][_0x25e28d]-=_0x20c9f5[_0x2f9da1][_0x583fb8]*_0x2904e6,_0x20c9f5[_0x2f9da1][_0x583fb8]=0x0;}},'zerosMat':function(_0x5b3a6c,_0x14ffcf){const _0x4f38e1=a0_0x135a;let _0x4966a7=[];for(let _0x56927a=0x0;_0x56927a<_0x5b3a6c;_0x56927a++)_0x4966a7[_0x4f38e1(0x197)](new Array(_0x14ffcf)['fill'](0x0));return _0x4966a7;},'printMat':function(_0x2fafd7){const _0x4ae7f6=a0_0x135a;_0x2fafd7[_0x4ae7f6(0x204)](_0x28f69c=>console[_0x4ae7f6(0x1c2)](_0x28f69c));},'swapRows':function(_0x15987a,_0x49d2a3,_0x37c6e8){let _0x3d424e=_0x15987a[_0x49d2a3];_0x15987a[_0x49d2a3]=_0x15987a[_0x37c6e8],_0x15987a[_0x37c6e8]=_0x3d424e;}},'getNaturalKs':function(_0x1d0e82,_0x3bd37e,_0x5cbcde){const _0x35522d=a0_0x135a;let _0x4dbf17=_0x1d0e82[_0x35522d(0x1b5)]-0x1,_0x449a65=this[_0x35522d(0x218)]['zerosMat'](_0x4dbf17+0x1,_0x4dbf17+0x2);for(let _0x4c9f03=0x1;_0x4c9f03<_0x4dbf17;_0x4c9f03++)_0x449a65[_0x4c9f03][_0x4c9f03-0x1]=0x1/(_0x1d0e82[_0x4c9f03]-_0x1d0e82[_0x4c9f03-0x1]),_0x449a65[_0x4c9f03][_0x4c9f03]=0x2*(0x1/(_0x1d0e82[_0x4c9f03]-_0x1d0e82[_0x4c9f03-0x1])+0x1/(_0x1d0e82[_0x4c9f03+0x1]-_0x1d0e82[_0x4c9f03])),_0x449a65[_0x4c9f03][_0x4c9f03+0x1]=0x1/(_0x1d0e82[_0x4c9f03+0x1]-_0x1d0e82[_0x4c9f03]),_0x449a65[_0x4c9f03][_0x4dbf17+0x1]=0x3*((_0x3bd37e[_0x4c9f03]-_0x3bd37e[_0x4c9f03-0x1])/(_0x1d0e82[_0x4c9f03]-_0x1d0e82[_0x4c9f03-0x1])**0x2+(_0x3bd37e[_0x4c9f03+0x1]-_0x3bd37e[_0x4c9f03])/(_0x1d0e82[_0x4c9f03+0x1]-_0x1d0e82[_0x4c9f03])**0x2);_0x449a65[0x0][0x0]=0x2/(_0x1d0e82[0x1]-_0x1d0e82[0x0]),_0x449a65[0x0][0x1]=0x1/(_0x1d0e82[0x1]-_0x1d0e82[0x0]),_0x449a65[0x0][_0x4dbf17+0x1]=0x3*(_0x3bd37e[0x1]-_0x3bd37e[0x0])/(_0x1d0e82[0x1]-_0x1d0e82[0x0])**0x2,_0x449a65[_0x4dbf17][_0x4dbf17-0x1]=0x1/(_0x1d0e82[_0x4dbf17]-_0x1d0e82[_0x4dbf17-0x1]),_0x449a65[_0x4dbf17][_0x4dbf17]=0x2/(_0x1d0e82[_0x4dbf17]-_0x1d0e82[_0x4dbf17-0x1]),_0x449a65[_0x4dbf17][_0x4dbf17+0x1]=0x3*(_0x3bd37e[_0x4dbf17]-_0x3bd37e[_0x4dbf17-0x1])/(_0x1d0e82[_0x4dbf17]-_0x1d0e82[_0x4dbf17-0x1])**0x2,this[_0x35522d(0x218)][_0x35522d(0x1fc)](_0x449a65,_0x5cbcde);},'from_control_points':function(_0x43c741,_0x2add11){const _0x2308b=a0_0x135a;let _0x58b919=_0x2add11[_0x2308b(0x1a3)](_0x4a3bb1=>_0x4a3bb1[0x0]),_0x2198d5=_0x2add11[_0x2308b(0x1a3)](_0xfad153=>_0xfad153[0x1]),_0x14680b=new Array(_0x58b919[_0x2308b(0x1b5)])[_0x2308b(0x1be)](0x0);this[_0x2308b(0x21a)](_0x58b919,_0x2198d5,_0x14680b);let _0x4a18bd=[];for(let _0x6097ff of _0x43c741){let _0x3b432d=0x1;for(;_0x58b919[_0x3b432d]<_0x6097ff;)_0x3b432d++;let _0x2e8325=(_0x6097ff-_0x58b919[_0x3b432d-0x1])/(_0x58b919[_0x3b432d]-_0x58b919[_0x3b432d-0x1]),_0x3a7037=_0x14680b[_0x3b432d-0x1]*(_0x58b919[_0x3b432d]-_0x58b919[_0x3b432d-0x1])-(_0x2198d5[_0x3b432d]-_0x2198d5[_0x3b432d-0x1]),_0x66ee80=-_0x14680b[_0x3b432d]*(_0x58b919[_0x3b432d]-_0x58b919[_0x3b432d-0x1])+(_0x2198d5[_0x3b432d]-_0x2198d5[_0x3b432d-0x1]),_0x58b172=(0x1-_0x2e8325)*_0x2198d5[_0x3b432d-0x1]+_0x2e8325*_0x2198d5[_0x3b432d]+_0x2e8325*(0x1-_0x2e8325)*(_0x3a7037*(0x1-_0x2e8325)+_0x66ee80*_0x2e8325);_0x4a18bd['push']([_0x6097ff,_0x58b172]);}return _0x4a18bd;}},D=class{constructor(_0x1e6a5d){const _0x2a1780=a0_0x135a;this[_0x2a1780(0x1a7)]=_0x1e6a5d,this['segmentLengths']=[],this[_0x2a1780(0x1e7)]=[0x0];for(let _0x4f8685=0x1;_0x4f8685<_0x1e6a5d[_0x2a1780(0x1b5)];_0x4f8685++){let _0x9a784d=_0x1e6a5d[_0x4f8685][0x0]-_0x1e6a5d[_0x4f8685-0x1][0x0],_0x11bd70=_0x1e6a5d[_0x4f8685][0x1]-_0x1e6a5d[_0x4f8685-0x1][0x1],_0x121b18=_0x1e6a5d[_0x4f8685][0x2]-_0x1e6a5d[_0x4f8685-0x1][0x2],_0x499691=Math[_0x2a1780(0x1c7)](_0x9a784d*_0x9a784d+_0x11bd70*_0x11bd70+_0x121b18*_0x121b18);this[_0x2a1780(0x1f5)][_0x2a1780(0x197)](_0x499691),this[_0x2a1780(0x1e7)][_0x2a1780(0x197)](this[_0x2a1780(0x1e7)][this[_0x2a1780(0x1e7)]['length']-0x1]+_0x499691);}this[_0x2a1780(0x1cb)]=this[_0x2a1780(0x1f5)][_0x2a1780(0x1b5)]>0x0?this['cumulativeLength'][this['cumulativeLength'][_0x2a1780(0x1b5)]-0x1]:0x0;}[a0_0x5d04ea(0x195)](_0x59bf6d){const _0x207232=a0_0x5d04ea;let _0x3a14a8=0x0,_0x3768a4=Number[_0x207232(0x1a0)];for(let _0x440a94=0x0;_0x440a94<this[_0x207232(0x1a7)][_0x207232(0x1b5)]-0x1;_0x440a94++){let _0x18f942=this[_0x207232(0x1a7)][_0x440a94],_0x20cf54=this[_0x207232(0x1a7)][_0x440a94+0x1],_0x1e21fa=_0x59bf6d,_0x35d1fe=[_0x20cf54[0x0]-_0x18f942[0x0],_0x20cf54[0x1]-_0x18f942[0x1],_0x20cf54[0x2]-_0x18f942[0x2]],_0xd28e60=[_0x1e21fa[0x0]-_0x18f942[0x0],_0x1e21fa[0x1]-_0x18f942[0x1],_0x1e21fa[0x2]-_0x18f942[0x2]],_0x24d553=_0x35d1fe[0x0]*_0x35d1fe[0x0]+_0x35d1fe[0x1]*_0x35d1fe[0x1]+_0x35d1fe[0x2]*_0x35d1fe[0x2];if(_0x24d553===0x0)continue;let _0x48f940=(_0xd28e60[0x0]*_0x35d1fe[0x0]+_0xd28e60[0x1]*_0x35d1fe[0x1]+_0xd28e60[0x2]*_0x35d1fe[0x2])/_0x24d553;_0x48f940=Math[_0x207232(0x205)](0x0,Math['min'](0x1,_0x48f940));let _0x4e57cf=[_0x18f942[0x0]+_0x48f940*_0x35d1fe[0x0],_0x18f942[0x1]+_0x48f940*_0x35d1fe[0x1],_0x18f942[0x2]+_0x48f940*_0x35d1fe[0x2]],_0x1162ce=Math[_0x207232(0x213)](_0x1e21fa[0x0]-_0x4e57cf[0x0],0x2)+Math[_0x207232(0x213)](_0x1e21fa[0x1]-_0x4e57cf[0x1],0x2)+Math['pow'](_0x1e21fa[0x2]-_0x4e57cf[0x2],0x2);_0x1162ce<_0x3768a4&&(_0x3768a4=_0x1162ce,_0x3a14a8=(this[_0x207232(0x1e7)][_0x440a94]+_0x48f940*this[_0x207232(0x1f5)][_0x440a94])/this['totalLength']);}return _0x3a14a8;}[a0_0x5d04ea(0x1a8)](_0x2d4df7){const _0x223c83=a0_0x5d04ea;if(_0x2d4df7<=0x0)return[...this[_0x223c83(0x1a7)][0x0]];if(_0x2d4df7>=0x1)return[...this['points'][this['points'][_0x223c83(0x1b5)]-0x1]];let _0xb9dd71=_0x2d4df7*this[_0x223c83(0x1cb)];for(let _0xa15507=0x0;_0xa15507<this[_0x223c83(0x1e7)][_0x223c83(0x1b5)]-0x1;_0xa15507++)if(this[_0x223c83(0x1e7)][_0xa15507]<=_0xb9dd71&&_0xb9dd71<=this['cumulativeLength'][_0xa15507+0x1]){let _0x520c8c=(_0xb9dd71-this[_0x223c83(0x1e7)][_0xa15507])/this['segmentLengths'][_0xa15507],_0x3f9ed9=this['points'][_0xa15507],_0x195b0c=this[_0x223c83(0x1a7)][_0xa15507+0x1],_0x27d1f5=(0x1-_0x520c8c)*_0x3f9ed9[0x0]+_0x520c8c*_0x195b0c[0x0],_0x2c6399=(0x1-_0x520c8c)*_0x3f9ed9[0x1]+_0x520c8c*_0x195b0c[0x1],_0x1f9767=(0x1-_0x520c8c)*_0x3f9ed9[0x2]+_0x520c8c*_0x195b0c[0x2];return[_0x27d1f5,_0x2c6399,_0x1f9767];}return[...this['points'][this['points'][_0x223c83(0x1b5)]-0x1]];}},_={'pointsToIges':function(_0x4d894d,_0x4edb9f={}){const _0x598ef2=a0_0x5d04ea;let _0x50239f={'units':'MM','filename':_0x598ef2(0x1ab),'author':_0x598ef2(0x1a4),'organization':_0x598ef2(0x20b),'asPolyline':!0x1,..._0x4edb9f};if(!Array[_0x598ef2(0x1e1)](_0x4d894d)||_0x4d894d['length']===0x0)throw new Error(_0x598ef2(0x1f9));let _0x5a4f7d=_0x4d894d['map'](_0x3baf01=>{const _0x38d861=_0x598ef2;if(!Array[_0x38d861(0x1e1)](_0x3baf01)||_0x3baf01[_0x38d861(0x1b5)]<0x2)throw new Error(_0x38d861(0x1a6));return[_0x3baf01[0x0]||0x0,_0x3baf01[0x1]||0x0,_0x3baf01[0x2]||0x0];}),_0xc9c79a='',_0x57056f='',_0x5e57f9='',_0x3835be='',_0xd44085=0x0,_0x465294=0x1,_0x49f5e4=0x1,_0x36c11a=new Date()[_0x598ef2(0x19f)]()[_0x598ef2(0x1c8)](0x0,0x13)[_0x598ef2(0x206)](/[-:]/g,'')[_0x598ef2(0x206)]('T','.');if(_0x57056f+=this[_0x598ef2(0x19a)](_0x598ef2(0x209)+_0x50239f['filename']+',7H'+_0x50239f[_0x598ef2(0x1fa)]+','),_0x57056f+=this[_0x598ef2(0x19a)](_0x598ef2(0x1e9)+_0x50239f[_0x598ef2(0x1f4)]+',32,38,6,38,15,4H'+_0x50239f['filename']+','),_0x57056f+=this[_0x598ef2(0x19a)]('1.0,1,4H'+_0x50239f['units'][_0x598ef2(0x1f3)]()+_0x598ef2(0x1ad)+_0x36c11a+','),_0x57056f+=this[_0x598ef2(0x19a)]('1.E-06,100.0,7H'+_0x50239f[_0x598ef2(0x1fa)]+',11H'+_0x50239f[_0x598ef2(0x1f4)]+',11,0,'),_0x57056f+=this['formatGlobalLine'](_0x598ef2(0x1c3)+_0x36c11a+',;'),_0x50239f[_0x598ef2(0x1aa)]&&_0x5a4f7d['length']>0x1){_0xd44085++,_0x5e57f9+=this[_0x598ef2(0x1e2)](0x6a,_0x465294,0x0,0x0,0x0,0x0,0x0,0x0,_0x49f5e4),_0x5e57f9+=this[_0x598ef2(0x1e2)](0x6a,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x49f5e4+0x1),_0x49f5e4+=0x2;let _0x114bd7=_0x598ef2(0x1b8)+(_0x5a4f7d[_0x598ef2(0x1b5)]-0x1);for(let _0x591e54=0x0;_0x591e54<_0x5a4f7d[_0x598ef2(0x1b5)];_0x591e54++){let _0x323801=_0x5a4f7d[_0x591e54];_0x114bd7+=','+this[_0x598ef2(0x203)](_0x323801[0x0])+','+this[_0x598ef2(0x203)](_0x323801[0x1])+','+this['formatNumber'](_0x323801[0x2]);}_0x114bd7+=';',_0x3835be+=this[_0x598ef2(0x1ae)](_0x114bd7,_0x465294),_0x465294+=Math[_0x598ef2(0x1dd)](_0x114bd7[_0x598ef2(0x1b5)]/0x40);}else for(let _0x33a429=0x0;_0x33a429<_0x5a4f7d['length'];_0x33a429++){_0xd44085++;let _0x2c4573=_0x5a4f7d[_0x33a429];_0x5e57f9+=this[_0x598ef2(0x1e2)](0x74,_0x465294,0x0,0x0,0x0,0x0,0x0,0x0,_0x49f5e4),_0x5e57f9+=this[_0x598ef2(0x1e2)](0x74,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x49f5e4+0x1),_0x49f5e4+=0x2;let _0x5a3926='116,'+this[_0x598ef2(0x203)](_0x2c4573[0x0])+','+this[_0x598ef2(0x203)](_0x2c4573[0x1])+','+this[_0x598ef2(0x203)](_0x2c4573[0x2])+_0x598ef2(0x1ea);_0x3835be+=this[_0x598ef2(0x1ae)](_0x5a3926,_0x465294),_0x465294+=Math[_0x598ef2(0x1dd)](_0x5a3926[_0x598ef2(0x1b5)]/0x40);}let _0x495b5a=this['formatSection'](_0x598ef2(0x20d),[_0x598ef2(0x1ef),_0x598ef2(0x1f6)]),_0x5e5704=this['formatTerminateSection'](_0x495b5a[_0x598ef2(0x1a9)]('\x0a')[_0x598ef2(0x1b5)]-0x1,_0x57056f[_0x598ef2(0x1a9)]('\x0a')['length']-0x1,_0x5e57f9[_0x598ef2(0x1a9)]('\x0a')['length']-0x1,_0x3835be[_0x598ef2(0x1a9)]('\x0a')[_0x598ef2(0x1b5)]-0x1);return _0x495b5a+_0x57056f+_0x5e57f9+_0x3835be+_0x5e5704;},'formatNumber':function(_0x4222fb){const _0x27581d=a0_0x5d04ea;return Number['isInteger'](_0x4222fb)?_0x4222fb['toString']():Math[_0x27581d(0x1ed)](_0x4222fb)<0.001||Math[_0x27581d(0x1ed)](_0x4222fb)>0xf4240?_0x4222fb[_0x27581d(0x1d2)](0x6):_0x4222fb[_0x27581d(0x1a1)](0x6)[_0x27581d(0x206)](/\.?0+$/,'');},'formatGlobalLine':function(_0x363ba4){const _0xbe2e5c=a0_0x5d04ea;let _0xc2a774=(this[_0xbe2e5c(0x19a)]['counter']||0x0)+0x1;return this['formatGlobalLine'][_0xbe2e5c(0x1f7)]=_0xc2a774,_0x363ba4['padEnd'](0x48)+('G'+_0xc2a774['toString']()[_0xbe2e5c(0x21b)](0x7)+'\x0a');},'formatDirectoryLine':function(_0x3ddfb7,_0x5e60be,_0x5a055c,_0x589b05,_0x3a3462,_0x5c46a5,_0x4ffd82,_0x140a1c,_0x1fa050){const _0x2531cd=a0_0x5d04ea;return[_0x3ddfb7[_0x2531cd(0x1fb)]()['padStart'](0x8),_0x5e60be[_0x2531cd(0x1fb)]()[_0x2531cd(0x21b)](0x8),_0x5a055c['toString']()[_0x2531cd(0x21b)](0x8),_0x589b05[_0x2531cd(0x1fb)]()[_0x2531cd(0x21b)](0x8),_0x3a3462[_0x2531cd(0x1fb)]()[_0x2531cd(0x21b)](0x8),_0x5c46a5[_0x2531cd(0x1fb)]()[_0x2531cd(0x21b)](0x8),_0x4ffd82[_0x2531cd(0x1fb)]()[_0x2531cd(0x21b)](0x8),_0x140a1c['toString']()[_0x2531cd(0x21b)](0x8)][_0x2531cd(0x1c1)]('')+('D'+_0x1fa050['toString']()['padStart'](0x7)+'\x0a');},'formatParameterLine':function(_0xfb856d,_0x357621){const _0x31bb14=a0_0x5d04ea;let _0x59f76e='',_0x4d5ca8=_0x357621;for(let _0x4fe13c=0x0;_0x4fe13c<_0xfb856d[_0x31bb14(0x1b5)];_0x4fe13c+=0x40){let _0x3bf1a5=_0xfb856d['substr'](_0x4fe13c,0x40);_0x59f76e+=_0x3bf1a5['padEnd'](0x40)+('\x20'+_0x4d5ca8[_0x31bb14(0x1fb)]()[_0x31bb14(0x21b)](0x7)+'P'+_0x4d5ca8[_0x31bb14(0x1fb)]()[_0x31bb14(0x21b)](0x7)+'\x0a'),_0x4d5ca8++;}return _0x59f76e;},'formatSection':function(_0x94cbad,_0x39af27){const _0x35baaa=a0_0x5d04ea;return _0x39af27[_0x35baaa(0x1a3)]((_0x1a3064,_0x1dc629)=>_0x1a3064+'\x0a')[_0x35baaa(0x1c1)]('');},'formatTerminateSection':function(_0x38b8c3,_0x4f4242,_0x477d3f,_0x2266f7){const _0x237732=a0_0x5d04ea;return['S'+_0x38b8c3[_0x237732(0x1fb)]()[_0x237732(0x21b)](0x7),'G'+_0x4f4242[_0x237732(0x1fb)]()[_0x237732(0x21b)](0x7),'D'+_0x477d3f[_0x237732(0x1fb)]()[_0x237732(0x21b)](0x7),'P'+_0x2266f7[_0x237732(0x1fb)]()[_0x237732(0x21b)](0x7)]['join']('')[_0x237732(0x1b3)](0x48)+'T\x20\x20\x20\x20\x20\x201\x0a';},'nurbsToIges':function(_0x1b47ec,_0x7dc753={}){const _0xeb1276=a0_0x5d04ea;let _0x41f89c={'units':'MM','filename':'nurbs.iges','author':_0xeb1276(0x1a4),'organization':_0xeb1276(0x20b),'degree':0x3,'weights':null,'knotVector':null,..._0x7dc753};if(!Array[_0xeb1276(0x1e1)](_0x1b47ec)||_0x1b47ec['length']===0x0)throw new Error(_0xeb1276(0x1c0));if(_0x1b47ec[_0xeb1276(0x1b5)]<_0x41f89c[_0xeb1276(0x1d6)]+0x1)throw new Error(_0xeb1276(0x1d1)+(_0x41f89c[_0xeb1276(0x1d6)]+0x1)+_0xeb1276(0x210)+_0x41f89c['degree']+_0xeb1276(0x1a2));let _0x59a88e=_0x1b47ec[_0xeb1276(0x1a3)](_0x168641=>{const _0x4b6f16=_0xeb1276;if(!Array[_0x4b6f16(0x1e1)](_0x168641)||_0x168641['length']<0x2)throw new Error(_0x4b6f16(0x1f8));return[_0x168641[0x0]||0x0,_0x168641[0x1]||0x0,_0x168641[0x2]||0x0];}),_0x49b804=_0x59a88e[_0xeb1276(0x1b5)],_0x44f601=_0x41f89c[_0xeb1276(0x202)]||new Array(_0x49b804)['fill'](0x1);if(_0x44f601[_0xeb1276(0x1b5)]!==_0x49b804)throw new Error(_0xeb1276(0x1d0));let _0x419956=_0x41f89c['knotVector'];if(!_0x419956){let _0x104408=_0x49b804+_0x41f89c['degree']+0x1;_0x419956=[];let _0x3966eb=_0x49b804-0x1,_0x4b1bab=_0x41f89c[_0xeb1276(0x1d6)];for(let _0x52cbf0=0x0;_0x52cbf0<=_0x4b1bab;_0x52cbf0++)_0x419956[_0xeb1276(0x197)](0x0);for(let _0x2a68ac=0x1;_0x2a68ac<_0x3966eb-_0x4b1bab+0x1;_0x2a68ac++)_0x419956[_0xeb1276(0x197)](_0x2a68ac/(_0x3966eb-_0x4b1bab+0x1));for(let _0x29a5a4=0x0;_0x29a5a4<=_0x4b1bab;_0x29a5a4++)_0x419956[_0xeb1276(0x197)](0x1);}if(_0x419956[_0xeb1276(0x1b5)]!==_0x49b804+_0x41f89c[_0xeb1276(0x1d6)]+0x1)throw new Error(_0xeb1276(0x1ba)+(_0x49b804+_0x41f89c['degree']+0x1));let _0x490607='',_0xccab0a='',_0x52bc0c='',_0x102507=0x1,_0x39da06=0x1,_0x4d6ed9=new Date()[_0xeb1276(0x19f)]()[_0xeb1276(0x1c8)](0x0,0x13)[_0xeb1276(0x206)](/[-:]/g,'')[_0xeb1276(0x206)]('T','.');_0x490607+=this[_0xeb1276(0x19a)](_0xeb1276(0x209)+_0x41f89c[_0xeb1276(0x215)]+_0xeb1276(0x19d)+_0x41f89c[_0xeb1276(0x1fa)]+','),_0x490607+=this[_0xeb1276(0x19a)](_0xeb1276(0x1e9)+_0x41f89c[_0xeb1276(0x1f4)]+_0xeb1276(0x1d8)+_0x41f89c[_0xeb1276(0x215)]+','),_0x490607+=this['formatGlobalLine'](_0xeb1276(0x1e5)+_0x41f89c[_0xeb1276(0x216)][_0xeb1276(0x1f3)]()+_0xeb1276(0x1ad)+_0x4d6ed9+','),_0x490607+=this[_0xeb1276(0x19a)](_0xeb1276(0x1db)+_0x41f89c[_0xeb1276(0x1fa)]+_0xeb1276(0x1da)+_0x41f89c[_0xeb1276(0x1f4)]+',11,0,'),_0x490607+=this['formatGlobalLine'](_0xeb1276(0x1c3)+_0x4d6ed9+',;'),_0xccab0a+=this[_0xeb1276(0x1e2)](0x7e,_0x102507,0x0,0x0,0x0,0x0,0x0,0x0,_0x39da06),_0xccab0a+=this[_0xeb1276(0x1e2)](0x7e,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x39da06+0x1),_0x39da06+=0x2;let _0x2c34c7=_0x49b804-0x1,_0x50861a=_0x41f89c[_0xeb1276(0x1d6)],_0x56bd4f=_0xeb1276(0x217)+_0x2c34c7+','+_0x50861a+_0xeb1276(0x1df);for(let _0x4eeb30=0x0;_0x4eeb30<_0x419956[_0xeb1276(0x1b5)];_0x4eeb30++)_0x56bd4f+=','+this[_0xeb1276(0x203)](_0x419956[_0x4eeb30]);for(let _0x4d880a=0x0;_0x4d880a<_0x44f601[_0xeb1276(0x1b5)];_0x4d880a++)_0x56bd4f+=','+this[_0xeb1276(0x203)](_0x44f601[_0x4d880a]);for(let _0x301633=0x0;_0x301633<0x3;_0x301633++)for(let _0x29bb97=0x0;_0x29bb97<_0x59a88e[_0xeb1276(0x1b5)];_0x29bb97++)_0x56bd4f+=','+this['formatNumber'](_0x59a88e[_0x29bb97][_0x301633]);_0x56bd4f+=','+this[_0xeb1276(0x203)](_0x419956[0x0])+','+this['formatNumber'](_0x419956[_0x419956[_0xeb1276(0x1b5)]-0x1]),_0x56bd4f+=',0.0,0.0,0.0',_0x56bd4f+=';',_0x52bc0c+=this[_0xeb1276(0x1ae)](_0x56bd4f,_0x102507),_0x102507+=Math[_0xeb1276(0x1dd)](_0x56bd4f[_0xeb1276(0x1b5)]/0x40);let _0x1d40e7=this[_0xeb1276(0x194)](_0xeb1276(0x20d),[_0xeb1276(0x1ef),'NURBS\x20curve\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202']),_0x169930=this[_0xeb1276(0x1d9)](_0x1d40e7[_0xeb1276(0x1a9)]('\x0a')[_0xeb1276(0x1b5)]-0x1,_0x490607['split']('\x0a')['length']-0x1,_0xccab0a['split']('\x0a')['length']-0x1,_0x52bc0c[_0xeb1276(0x1a9)]('\x0a')[_0xeb1276(0x1b5)]-0x1);return _0x1d40e7+_0x490607+_0xccab0a+_0x52bc0c+_0x169930;},'geometryToIges':function(_0x4f186c,_0xa37140={}){const _0x3a23fe=a0_0x5d04ea;let _0x335775={'units':'MM','filename':_0x3a23fe(0x20c),'author':_0x3a23fe(0x1a4),'organization':_0x3a23fe(0x20b),..._0xa37140};if(!Array[_0x3a23fe(0x1e1)](_0x4f186c)||_0x4f186c[_0x3a23fe(0x1b5)]===0x0)throw new Error('Geometries\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty');let _0xc798b='',_0x18c6d2='',_0x1fe99a='',_0x6e5d05=0x1,_0x428914=0x1,_0x4a75c4=0x0,_0x4d0041=new Date()['toISOString']()[_0x3a23fe(0x1c8)](0x0,0x13)['replace'](/[-:]/g,'')[_0x3a23fe(0x206)]('T','.');_0xc798b+=this['formatGlobalLine']('1H,,1H;,4H'+_0x335775['filename']+_0x3a23fe(0x19d)+_0x335775[_0x3a23fe(0x1fa)]+','),_0xc798b+=this[_0x3a23fe(0x19a)]('11H'+_0x335775[_0x3a23fe(0x1f4)]+_0x3a23fe(0x1d8)+_0x335775[_0x3a23fe(0x215)]+','),_0xc798b+=this[_0x3a23fe(0x19a)](_0x3a23fe(0x1e5)+_0x335775[_0x3a23fe(0x216)]['toUpperCase']()+_0x3a23fe(0x1ad)+_0x4d0041+','),_0xc798b+=this[_0x3a23fe(0x19a)](_0x3a23fe(0x1db)+_0x335775[_0x3a23fe(0x1fa)]+_0x3a23fe(0x1da)+_0x335775[_0x3a23fe(0x1f4)]+_0x3a23fe(0x1ca)),_0xc798b+=this['formatGlobalLine'](_0x3a23fe(0x1c3)+_0x4d0041+',;');for(let _0x4f187c of _0x4f186c){if(!_0x4f187c||typeof _0x4f187c!=_0x3a23fe(0x1b6)||!_0x4f187c[_0x3a23fe(0x1b0)]||!_0x4f187c[_0x3a23fe(0x1de)])throw new Error(_0x3a23fe(0x1cc));let _0x409aaa=_0x4f187c[_0x3a23fe(0x1b0)][_0x3a23fe(0x1d3)](),_0x54e3ac=_0x4f187c[_0x3a23fe(0x1de)]['map'](_0x37b741=>{const _0x96b3=_0x3a23fe;if(!Array[_0x96b3(0x1e1)](_0x37b741)||_0x37b741[_0x96b3(0x1b5)]<0x2)throw new Error(_0x96b3(0x1a6));return[_0x37b741[0x0]||0x0,_0x37b741[0x1]||0x0,_0x37b741[0x2]||0x0];});if(_0x54e3ac[_0x3a23fe(0x1b5)]!==0x0)switch(_0x409aaa){case _0x3a23fe(0x1a7):for(let _0x1b315b of _0x54e3ac){_0x4a75c4++,_0x18c6d2+=this[_0x3a23fe(0x1e2)](0x74,_0x6e5d05,0x0,0x0,0x0,0x0,0x0,0x0,_0x428914),_0x18c6d2+=this['formatDirectoryLine'](0x74,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x428914+0x1),_0x428914+=0x2;let _0x43636d='116,'+this['formatNumber'](_0x1b315b[0x0])+','+this[_0x3a23fe(0x203)](_0x1b315b[0x1])+','+this[_0x3a23fe(0x203)](_0x1b315b[0x2])+',0.0;';_0x1fe99a+=this[_0x3a23fe(0x1ae)](_0x43636d,_0x6e5d05),_0x6e5d05+=Math['ceil'](_0x43636d[_0x3a23fe(0x1b5)]/0x40);}break;case _0x3a23fe(0x212):if(_0x54e3ac[_0x3a23fe(0x1b5)]>0x1){_0x4a75c4++,_0x18c6d2+=this['formatDirectoryLine'](0x6a,_0x6e5d05,0x0,0x0,0x0,0x0,0x0,0x0,_0x428914),_0x18c6d2+=this[_0x3a23fe(0x1e2)](0x6a,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x428914+0x1),_0x428914+=0x2;let _0x4a2389=_0x3a23fe(0x1b8)+(_0x54e3ac[_0x3a23fe(0x1b5)]-0x1);for(let _0x1bae38 of _0x54e3ac)_0x4a2389+=','+this[_0x3a23fe(0x203)](_0x1bae38[0x0])+','+this[_0x3a23fe(0x203)](_0x1bae38[0x1])+','+this[_0x3a23fe(0x203)](_0x1bae38[0x2]);_0x4a2389+=';',_0x1fe99a+=this[_0x3a23fe(0x1ae)](_0x4a2389,_0x6e5d05),_0x6e5d05+=Math['ceil'](_0x4a2389[_0x3a23fe(0x1b5)]/0x40);}break;case'nurbs':let _0x1b4fb2=_0x4f187c[_0x3a23fe(0x1d6)]||0x3,_0x547c6a=_0x54e3ac[_0x3a23fe(0x1b5)];if(_0x547c6a<_0x1b4fb2+0x1){console['warn'](_0x3a23fe(0x1eb)+(_0x1b4fb2+0x1)+_0x3a23fe(0x199)+_0x1b4fb2);continue;}let _0x43a4b5=_0x4f187c[_0x3a23fe(0x202)]||new Array(_0x547c6a)['fill'](0x1);if(_0x43a4b5[_0x3a23fe(0x1b5)]!==_0x547c6a)throw new Error('Weights\x20array\x20length\x20must\x20match\x20control\x20points\x20length');let _0x454a7a=_0x4f187c['knotVector'];if(!_0x454a7a){let _0x3c8aa3=_0x547c6a-0x1,_0x23265f=_0x1b4fb2;_0x454a7a=[];for(let _0x10f533=0x0;_0x10f533<=_0x23265f;_0x10f533++)_0x454a7a[_0x3a23fe(0x197)](0x0);for(let _0x4b4c07=0x1;_0x4b4c07<_0x3c8aa3-_0x23265f+0x1;_0x4b4c07++)_0x454a7a[_0x3a23fe(0x197)](_0x4b4c07/(_0x3c8aa3-_0x23265f+0x1));for(let _0x5264d3=0x0;_0x5264d3<=_0x23265f;_0x5264d3++)_0x454a7a[_0x3a23fe(0x197)](0x1);}_0x4a75c4++,_0x18c6d2+=this[_0x3a23fe(0x1e2)](0x7e,_0x6e5d05,0x0,0x0,0x0,0x0,0x0,0x0,_0x428914),_0x18c6d2+=this[_0x3a23fe(0x1e2)](0x7e,0x0,0x0,0x1,0x0,0x0,0x0,0x0,_0x428914+0x1),_0x428914+=0x2;let _0x475201=_0x3a23fe(0x217)+(_0x547c6a-0x1)+','+_0x1b4fb2+_0x3a23fe(0x1df);for(let _0x558022 of _0x454a7a)_0x475201+=','+this[_0x3a23fe(0x203)](_0x558022);for(let _0x33a486 of _0x43a4b5)_0x475201+=','+this[_0x3a23fe(0x203)](_0x33a486);for(let _0x18f645=0x0;_0x18f645<0x3;_0x18f645++)for(let _0x323a68 of _0x54e3ac)_0x475201+=','+this[_0x3a23fe(0x203)](_0x323a68[_0x18f645]);_0x475201+=','+this[_0x3a23fe(0x203)](_0x454a7a[0x0])+','+this['formatNumber'](_0x454a7a[_0x454a7a[_0x3a23fe(0x1b5)]-0x1]),_0x475201+=',0.0,0.0,0.0',_0x475201+=';',_0x1fe99a+=this['formatParameterLine'](_0x475201,_0x6e5d05),_0x6e5d05+=Math[_0x3a23fe(0x1dd)](_0x475201['length']/0x40);break;default:throw new Error('Unknown\x20geometry\x20type:\x20'+_0x409aaa+'.\x20Supported\x20types:\x20points,\x20polyline,\x20nurbs');}}if(_0x4a75c4===0x0)throw new Error('No\x20valid\x20geometries\x20found\x20to\x20convert');let _0x3e0509=this[_0x3a23fe(0x194)](_0x3a23fe(0x20d),['Generated\x20by\x20js3d\x20IGES\x20converter\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x201',_0x3a23fe(0x1f0)]),_0x43a5c3=this[_0x3a23fe(0x1d9)](_0x3e0509[_0x3a23fe(0x1a9)]('\x0a')['length']-0x1,_0xc798b[_0x3a23fe(0x1a9)]('\x0a')['length']-0x1,_0x18c6d2['split']('\x0a')[_0x3a23fe(0x1b5)]-0x1,_0x1fe99a[_0x3a23fe(0x1a9)]('\x0a')['length']-0x1);return _0x3e0509+_0xc798b+_0x18c6d2+_0x1fe99a+_0x43a5c3;},'readIgesFile':function(_0xbdc289){const _0x483304=a0_0x5d04ea;if(!_0xbdc289||typeof _0xbdc289!=_0x483304(0x1bb))throw new Error(_0x483304(0x1f2));let _0x7070e0=[],_0x70feed=[],_0x523cc9=[],_0x217698=_0xbdc289[_0x483304(0x1a9)]('\x0a')['filter'](_0x1020ed=>_0x1020ed[_0x483304(0x201)]()&&_0x1020ed[_0x483304(0x20f)](0x48)==='P'),_0x3bce8f='';for(let _0x65460e of _0x217698){let _0x2aed90=_0x65460e[_0x483304(0x1a5)](0x0,0x40)[_0x483304(0x201)]();_0x3bce8f+=_0x2aed90,_0x2aed90['endsWith'](';')&&(this['processEntity'](_0x3bce8f,_0x7070e0,_0x70feed,_0x523cc9),_0x3bce8f='');}return{'lines':_0x7070e0,'points':_0x70feed,'nurbs':_0x523cc9};},'parseIgesNumber':function(_0xa140b9){const _0x3a1e4b=a0_0x5d04ea;if(!_0xa140b9||typeof _0xa140b9!=_0x3a1e4b(0x1bb))return 0x0;let _0x1b2c28=_0xa140b9['trim']()[_0x3a1e4b(0x206)](/D([+-]?\d+)/g,_0x3a1e4b(0x211)),_0x356fc2=parseFloat(_0x1b2c28);return isNaN(_0x356fc2)?0x0:_0x356fc2;},'processEntity':function(_0xfbd01d,_0x26334f,_0x249309,_0x26cc25){const _0x2ee247=a0_0x5d04ea;let _0x3cc7eb=_0xfbd01d['replace'](';','')[_0x2ee247(0x1a9)](',')['map'](_0x34df72=>_0x34df72[_0x2ee247(0x201)]());if(_0x3cc7eb['length']===0x0)return;switch(parseInt(_0x3cc7eb[0x0])){case 0x74:this[_0x2ee247(0x19c)](_0x3cc7eb,_0x249309);break;case 0x6a:this[_0x2ee247(0x1d4)](_0x3cc7eb,_0x26334f);break;case 0x7e:this['processNurbsEntity'](_0x3cc7eb,_0x26cc25);break;case 0x6e:this[_0x2ee247(0x1bd)](_0x3cc7eb,_0x26334f);break;default:break;}},'processPointEntity':function(_0x46d3c,_0xe659aa){const _0x1242f7=a0_0x5d04ea;if(_0x46d3c['length']>=0x4){let _0x14248d=this[_0x1242f7(0x208)](_0x46d3c[0x1]),_0x314976=this['parseIgesNumber'](_0x46d3c[0x2]),_0x52e71a=this[_0x1242f7(0x208)](_0x46d3c[0x3]);_0xe659aa[_0x1242f7(0x197)]([_0x14248d,_0x314976,_0x52e71a]);}},'processPolylineEntity':function(_0x369cd6,_0x281e84){const _0x452e68=a0_0x5d04ea;if(_0x369cd6[_0x452e68(0x1b5)]<0x2)return;let _0x168efe=parseInt(_0x369cd6[0x1]),_0x4884d3=0x2+(_0x168efe+0x1)*0x3;if(_0x369cd6['length']<_0x4884d3)return;let _0x366b77=[];for(let _0x57fa83=0x0;_0x57fa83<=_0x168efe;_0x57fa83++){let _0x5e0ad6=0x2+_0x57fa83*0x3;if(_0x5e0ad6+0x2<_0x369cd6[_0x452e68(0x1b5)]){let _0xc08ea7=this['parseIgesNumber'](_0x369cd6[_0x5e0ad6]),_0x5574cc=this[_0x452e68(0x208)](_0x369cd6[_0x5e0ad6+0x1]),_0x1ea316=this[_0x452e68(0x208)](_0x369cd6[_0x5e0ad6+0x2]);_0x366b77[_0x452e68(0x197)]([_0xc08ea7,_0x5574cc,_0x1ea316]);}}_0x366b77[_0x452e68(0x1b5)]>0x1&&_0x281e84[_0x452e68(0x197)](_0x366b77);},'processLineEntity':function(_0xab1d63,_0x122256){const _0x22a15f=a0_0x5d04ea;if(_0xab1d63[_0x22a15f(0x1b5)]>=0x7){let _0x2867db=this['parseIgesNumber'](_0xab1d63[0x1]),_0x5f04c1=this[_0x22a15f(0x208)](_0xab1d63[0x2]),_0x5d2f2a=this[_0x22a15f(0x208)](_0xab1d63[0x3]),_0x283857=this[_0x22a15f(0x208)](_0xab1d63[0x4]),_0x2247a8=this[_0x22a15f(0x208)](_0xab1d63[0x5]),_0x367679=this['parseIgesNumber'](_0xab1d63[0x6]);_0x122256[_0x22a15f(0x197)]([[_0x2867db,_0x5f04c1,_0x5d2f2a],[_0x283857,_0x2247a8,_0x367679]]);}},'processNurbsEntity':function(_0x27da77,_0x5c16a9){const _0x3ad72a=a0_0x5d04ea;if(_0x27da77[_0x3ad72a(0x1b5)]<0x7)return;let _0x1c9c4e=parseInt(_0x27da77[0x1]),_0x10653e=parseInt(_0x27da77[0x2]),_0x126631=parseInt(_0x27da77[0x3]),_0x4dd2b5=parseInt(_0x27da77[0x4]),_0x3da69a=parseInt(_0x27da77[0x5]),_0x50046e=parseInt(_0x27da77[0x6]),_0x2f1113=_0x1c9c4e+0x1,_0xc271a6=_0x1c9c4e+_0x10653e+0x2,_0x48299b=0x7,_0x2a33a8=_0x48299b+_0xc271a6,_0xc1c2d4=_0x2a33a8+_0x2f1113+_0x2f1113+_0x2f1113+_0x2f1113+0x2;if(_0x27da77[_0x3ad72a(0x1b5)]<_0xc1c2d4+0x3)return;let _0x1e51b1=[];for(let _0x4a513d=0x0;_0x4a513d<_0xc271a6;_0x4a513d++)_0x1e51b1['push'](this[_0x3ad72a(0x208)](_0x27da77[_0x48299b+_0x4a513d]));let _0xe93d9f=[];for(let _0x55ac9e=0x0;_0x55ac9e<_0x2f1113;_0x55ac9e++)_0xe93d9f[_0x3ad72a(0x197)](this[_0x3ad72a(0x208)](_0x27da77[_0x2a33a8+_0x55ac9e])||0x1);let _0xb7f1d5=[],_0x24d633=_0x2a33a8+_0x2f1113,_0x1c3c89=_0x24d633+_0x2f1113*0x3;if(_0x27da77['length']>=_0x1c3c89+0x5){for(let _0x1ea2bc=0x0;_0x1ea2bc<_0x2f1113;_0x1ea2bc++){let _0xb74c3d=_0x24d633+_0x1ea2bc*0x3,_0x11c29c=this[_0x3ad72a(0x208)](_0x27da77[_0xb74c3d]),_0x14661e=this[_0x3ad72a(0x208)](_0x27da77[_0xb74c3d+0x1]),_0xd845d=this[_0x3ad72a(0x208)](_0x27da77[_0xb74c3d+0x2]);_0xb7f1d5['push']([_0x11c29c,_0x14661e,_0xd845d]);}let _0x189605=_0x1c3c89,_0x15eafa=_0x189605+0x2,_0x4c6ce2=this[_0x3ad72a(0x208)](_0x27da77[_0x189605]),_0xcac68c=this[_0x3ad72a(0x208)](_0x27da77[_0x189605+0x1])||0x1,_0x3fd27a=[this[_0x3ad72a(0x208)](_0x27da77[_0x15eafa]),this['parseIgesNumber'](_0x27da77[_0x15eafa+0x1]),this[_0x3ad72a(0x208)](_0x27da77[_0x15eafa+0x2])],_0x1b4e5e={'type':_0x3ad72a(0x1ee),'degree':_0x10653e,'controlPoints':_0xb7f1d5,'weights':_0xe93d9f,'knotVector':_0x1e51b1,'parameterRange':[_0x4c6ce2,_0xcac68c],'properties':{'planar':_0x126631===0x1,'closed':_0x4dd2b5===0x1,'rational':_0x3da69a===0x1,'periodic':_0x50046e===0x1},'normalVector':_0x3fd27a,'numControlPoints':_0x2f1113,'numKnots':_0xc271a6,'upperControlPointIndex':_0x1c9c4e};_0x5c16a9['push'](_0x1b4e5e);}else{let _0x1e111c=_0x2a33a8+_0x2f1113,_0x458f1f=_0x1e111c+_0x2f1113,_0x1de08f=_0x458f1f+_0x2f1113,_0x141d29=_0x1de08f+_0x2f1113,_0x3aea55=_0x141d29+0x2;if(_0x27da77[_0x3ad72a(0x1b5)]<_0x3aea55+0x3)return;for(let _0x282c4a=0x0;_0x282c4a<_0x2f1113;_0x282c4a++){let _0x5b05f1=this['parseIgesNumber'](_0x27da77[_0x1e111c+_0x282c4a]),_0x1be41f=this[_0x3ad72a(0x208)](_0x27da77[_0x458f1f+_0x282c4a]),_0x1636f9=this[_0x3ad72a(0x208)](_0x27da77[_0x1de08f+_0x282c4a]);_0xb7f1d5[_0x3ad72a(0x197)]([_0x5b05f1,_0x1be41f,_0x1636f9]);}let _0x291ba8=this[_0x3ad72a(0x208)](_0x27da77[_0x141d29]),_0x31caf0=this[_0x3ad72a(0x208)](_0x27da77[_0x141d29+0x1])||0x1,_0x328ee0=[this[_0x3ad72a(0x208)](_0x27da77[_0x3aea55]),this[_0x3ad72a(0x208)](_0x27da77[_0x3aea55+0x1]),this[_0x3ad72a(0x208)](_0x27da77[_0x3aea55+0x2])],_0x42e02d={'type':_0x3ad72a(0x1ee),'degree':_0x10653e,'controlPoints':_0xb7f1d5,'weights':_0xe93d9f,'knotVector':_0x1e51b1,'parameterRange':[_0x291ba8,_0x31caf0],'properties':{'planar':_0x126631===0x1,'closed':_0x4dd2b5===0x1,'rational':_0x3da69a===0x1,'periodic':_0x50046e===0x1},'normalVector':_0x328ee0,'numControlPoints':_0x2f1113,'numKnots':_0xc271a6,'upperControlPointIndex':_0x1c9c4e};_0x5c16a9[_0x3ad72a(0x197)](_0x42e02d);}},'evaluateNurbsCurve':function(_0x80feee,_0x30015b={}){const _0x537531=a0_0x5d04ea;let _0x142d08={'numPoints':0x32,'parameters':null,..._0x30015b};if(!_0x80feee||_0x80feee[_0x537531(0x1b0)]!==_0x537531(0x1ee))throw new Error('Invalid\x20NURBS\x20curve\x20object');let {degree:_0x460e70,controlPoints:_0x328a9a,weights:_0x49aed0,knotVector:_0x1d475c,parameterRange:_0x215c93}=_0x80feee,[_0x19874b,_0x43eedf]=_0x215c93,_0x58ae88=_0x142d08['parameters'];if(!_0x58ae88){_0x58ae88=[];for(let _0x1f8d90=0x0;_0x1f8d90<_0x142d08[_0x537531(0x1d7)];_0x1f8d90++){let _0x4cc0d0=_0x19874b+(_0x43eedf-_0x19874b)*_0x1f8d90/(_0x142d08['numPoints']-0x1);_0x58ae88[_0x537531(0x197)](_0x4cc0d0);}}let _0xece519=[];for(let _0x3766ba of _0x58ae88){let _0xdc481e=Math[_0x537531(0x205)](_0x19874b,Math[_0x537531(0x1e8)](_0x43eedf,_0x3766ba)),_0x7696a6=this[_0x537531(0x1dc)](_0xdc481e,_0x460e70,_0x1d475c),_0x263655=this[_0x537531(0x196)](_0x7696a6,_0xdc481e,_0x460e70,_0x1d475c),_0x168d50=[0x0,0x0,0x0],_0x4a17e2=0x0;for(let _0x3ade5c=0x0;_0x3ade5c<=_0x460e70;_0x3ade5c++){let _0x3f6faf=_0x7696a6-_0x460e70+_0x3ade5c;if(_0x3f6faf>=0x0&&_0x3f6faf<_0x328a9a[_0x537531(0x1b5)]){let _0x4fddca=_0x49aed0[_0x3f6faf]*_0x263655[_0x3ade5c];_0x4a17e2+=_0x4fddca,_0x168d50[0x0]+=_0x328a9a[_0x3f6faf][0x0]*_0x4fddca,_0x168d50[0x1]+=_0x328a9a[_0x3f6faf][0x1]*_0x4fddca,_0x168d50[0x2]+=_0x328a9a[_0x3f6faf][0x2]*_0x4fddca;}}_0x4a17e2>0x0&&(_0x168d50[0x0]/=_0x4a17e2,_0x168d50[0x1]/=_0x4a17e2,_0x168d50[0x2]/=_0x4a17e2),_0xece519[_0x537531(0x197)](_0x168d50);}return _0xece519;},'findKnotSpan':function(_0x1637e5,_0x3c2a5e,_0x1264c9){const _0x4817d0=a0_0x5d04ea;let _0x396ed8=_0x1264c9[_0x4817d0(0x1b5)]-_0x3c2a5e-0x2;if(_0x1637e5>=_0x1264c9[_0x396ed8+0x1])return _0x396ed8;if(_0x1637e5<=_0x1264c9[_0x3c2a5e])return _0x3c2a5e;let _0x1cdc80=_0x3c2a5e,_0x5e53f0=_0x396ed8+0x1,_0x23dfdc=Math['floor']((_0x1cdc80+_0x5e53f0)/0x2);for(;_0x1637e5<_0x1264c9[_0x23dfdc]||_0x1637e5>=_0x1264c9[_0x23dfdc+0x1];)_0x1637e5<_0x1264c9[_0x23dfdc]?_0x5e53f0=_0x23dfdc:_0x1cdc80=_0x23dfdc,_0x23dfdc=Math['floor']((_0x1cdc80+_0x5e53f0)/0x2);return _0x23dfdc;},'computeBasisFunctions':function(_0x2c584e,_0x1dd01a,_0x488f8a,_0x289873){let _0x4e6740=new Array(_0x488f8a+0x1),_0x48456b=new Array(_0x488f8a+0x1),_0xbd0254=new Array(_0x488f8a+0x1);_0x4e6740[0x0]=0x1;for(let _0x24166c=0x1;_0x24166c<=_0x488f8a;_0x24166c++){_0x48456b[_0x24166c]=_0x1dd01a-_0x289873[_0x2c584e+0x1-_0x24166c],_0xbd0254[_0x24166c]=_0x289873[_0x2c584e+_0x24166c]-_0x1dd01a;let _0xde2180=0x0;for(let _0x16baa3=0x0;_0x16baa3<_0x24166c;_0x16baa3++){let _0x2a279b=_0x4e6740[_0x16baa3]/(_0xbd0254[_0x16baa3+0x1]+_0x48456b[_0x24166c-_0x16baa3]);_0x4e6740[_0x16baa3]=_0xde2180+_0xbd0254[_0x16baa3+0x1]*_0x2a279b,_0xde2180=_0x48456b[_0x24166c-_0x16baa3]*_0x2a279b;}_0x4e6740[_0x24166c]=_0xde2180;}return _0x4e6740;},'simplifyIgesData':function(_0x40ebbf,_0x4a28cf={}){const _0x3ab9ee=a0_0x5d04ea;let _0x219044={'flattenLines':!0x1,'flattenNurbs':!0x1,'precision':0x6,'includeNurbsMetadata':!0x0,..._0x4a28cf},_0x4b1226={'points':_0x40ebbf[_0x3ab9ee(0x1a7)][_0x3ab9ee(0x1a3)](_0x22cc22=>_0x22cc22[_0x3ab9ee(0x1a3)](_0x41d488=>parseFloat(_0x41d488['toFixed'](_0x219044[_0x3ab9ee(0x1af)])))),'lines':_0x40ebbf[_0x3ab9ee(0x1bf)]['map'](_0x35dbb4=>_0x35dbb4[_0x3ab9ee(0x1a3)](_0x5b861e=>_0x5b861e[_0x3ab9ee(0x1a3)](_0x30dab8=>parseFloat(_0x30dab8[_0x3ab9ee(0x1a1)](_0x219044[_0x3ab9ee(0x1af)]))))),'nurbs':[]};if(_0x40ebbf[_0x3ab9ee(0x1ee)]&&_0x40ebbf[_0x3ab9ee(0x1ee)][_0x3ab9ee(0x1b5)]>0x0){for(let _0x1a95e1 of _0x40ebbf[_0x3ab9ee(0x1ee)])if(_0x219044[_0x3ab9ee(0x1e3)]){let _0x171ef0=_0x1a95e1[_0x3ab9ee(0x1f1)][_0x3ab9ee(0x1a3)](_0x292b1a=>_0x292b1a['map'](_0x414446=>parseFloat(_0x414446[_0x3ab9ee(0x1a1)](_0x219044[_0x3ab9ee(0x1af)]))));_0x4b1226[_0x3ab9ee(0x1bf)]['push'](_0x171ef0);}else{let _0x1d6865={'type':_0x3ab9ee(0x1ee),'degree':_0x1a95e1[_0x3ab9ee(0x1d6)],'controlPoints':_0x1a95e1['controlPoints'][_0x3ab9ee(0x1a3)](_0x48723f=>_0x48723f['map'](_0x50582f=>parseFloat(_0x50582f[_0x3ab9ee(0x1a1)](_0x219044[_0x3ab9ee(0x1af)])))),'weights':_0x1a95e1[_0x3ab9ee(0x202)][_0x3ab9ee(0x1a3)](_0x242d4a=>parseFloat(_0x242d4a['toFixed'](_0x219044[_0x3ab9ee(0x1af)]))),'knotVector':_0x1a95e1['knotVector'][_0x3ab9ee(0x1a3)](_0x4de99a=>parseFloat(_0x4de99a[_0x3ab9ee(0x1a1)](_0x219044[_0x3ab9ee(0x1af)]))),'parameterRange':_0x1a95e1[_0x3ab9ee(0x20a)][_0x3ab9ee(0x1a3)](_0xd905a2=>parseFloat(_0xd905a2['toFixed'](_0x219044['precision'])))};_0x219044[_0x3ab9ee(0x1ac)]&&(_0x1d6865[_0x3ab9ee(0x1bc)]=_0x1a95e1['properties'],_0x1d6865['normalVector']=_0x1a95e1[_0x3ab9ee(0x200)][_0x3ab9ee(0x1a3)](_0xf000e9=>parseFloat(_0xf000e9[_0x3ab9ee(0x1a1)](_0x219044[_0x3ab9ee(0x1af)]))),_0x1d6865[_0x3ab9ee(0x19e)]=_0x1a95e1[_0x3ab9ee(0x19e)],_0x1d6865[_0x3ab9ee(0x1ec)]=_0x1a95e1['numKnots']),_0x4b1226[_0x3ab9ee(0x1ee)][_0x3ab9ee(0x197)](_0x1d6865);}}if(_0x219044[_0x3ab9ee(0x1c4)]){let _0xa62151=[..._0x4b1226[_0x3ab9ee(0x1a7)]];for(let _0x480fcc of _0x4b1226[_0x3ab9ee(0x1bf)])_0xa62151[_0x3ab9ee(0x197)](..._0x480fcc);_0x4b1226[_0x3ab9ee(0x1b9)]=_0xa62151;}return _0x4b1226;}};function a0_0x135a(_0x5d6f1e,_0x163dfb){const _0x1fdc0f=a0_0x1fdc();return a0_0x135a=function(_0x135a92,_0x1ac59e){_0x135a92=_0x135a92-0x194;let _0x2c4266=_0x1fdc0f[_0x135a92];return _0x2c4266;},a0_0x135a(_0x5d6f1e,_0x163dfb);}function a0_0x1fdc(){const _0x2f9f08=['swapRows','cumulativeLength','min','11H',',0.0;','Skipping\x20NURBS:\x20need\x20at\x20least\x20','numKnots','abs','nurbs','Generated\x20by\x20js3d\x20IGES\x20converter\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x201','Combined\x20geometry\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202','controlPoints','IGES\x20content\x20must\x20be\x20a\x20non-empty\x20string','toUpperCase','organization','segmentLengths','Points\x20to\x20IGES\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202','counter','Invalid\x20control\x20point\x20format.\x20Expected\x20[x,\x20y,\x20z]','Points\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','author','toString','solve','12798OYYFIv','cos','degree\x20must\x20be\x20at\x20least\x201\x20(linear)','normalVector','trim','weights','formatNumber','forEach','max','replace','bspline','parseIgesNumber','1H,,1H;,4H','parameterRange','Generated','combined.iges','START','2680110kyijvl','charAt','\x20control\x20points\x20required\x20for\x20degree\x20','E$1','polyline','pow','scalarProduct','filename','units','126,','_gaussJ','204044CihtEb','getNaturalKs','padStart','from','formatSection','findParameterAtPoint','computeBasisFunctions','push','add','\x20control\x20points\x20for\x20degree\x20','formatGlobalLine','move','processPointEntity',',7H','numControlPoints','toISOString','POSITIVE_INFINITY','toFixed','\x20NURBS','map','js3d','substring','Invalid\x20point\x20format.\x20Expected\x20[x,\x20y,\x20z]','points','findPointAtParameter','split','asPolyline','points.iges','includeNurbsMetadata',',1,0.01,15H','formatParameterLine','precision','type','dot','degree\x20must\x20be\x20less\x20than\x20or\x20equal\x20to\x20point\x20count\x20-\x201','padEnd','sin','length','object','37544ErDpZs','106,','allPoints','Knot\x20vector\x20length\x20must\x20be\x20','string','properties','processLineEntity','fill','lines','Control\x20points\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','join','log','15H','flattenLines','329qTBGFC','2YbJwFS','sqrt','slice','bad\x20knot\x20vector\x20length',',11,0,','totalLength','Invalid\x20geometry\x20object.\x20Expected\x20{\x20type:\x20\x22points|polyline|nurbs\x22,\x20data:\x20[...]\x20}','2574000IudkwR','25CFMHqq','linspace','Weights\x20array\x20length\x20must\x20match\x20control\x20points\x20length','At\x20least\x20','toExponential','toLowerCase','processPolylineEntity','sub','degree','numPoints',',32,38,6,38,15,4H','formatTerminateSection',',11H','1.E-06,100.0,7H','findKnotSpan','ceil','data',',0,0,1,0','143357UPjMcO','isArray','formatDirectoryLine','flattenNurbs','354216rrSYZU','1.0,1,4H'];a0_0x1fdc=function(){return _0x2f9f08;};return a0_0x1fdc();}if(new Date()['getFullYear']()>0x7e9)throw new Error('');export{j as Bspline3d,C as Cspline3d,_ as Iges,F as Point3d,D as Polyline3D,H as Utils,w as Vector3d};
1
+ const a0_0x3aa1cc=a0_0x18b1;(function(_0x38cf96,_0x55897f){const _0x24619c=a0_0x18b1,_0x66b228=_0x38cf96();while(!![]){try{const _0x269f23=-parseInt(_0x24619c(0x177))/0x1+-parseInt(_0x24619c(0x10f))/0x2+parseInt(_0x24619c(0x112))/0x3+parseInt(_0x24619c(0x128))/0x4*(parseInt(_0x24619c(0x16f))/0x5)+-parseInt(_0x24619c(0x120))/0x6+-parseInt(_0x24619c(0x159))/0x7*(parseInt(_0x24619c(0x17f))/0x8)+parseInt(_0x24619c(0x15d))/0x9*(parseInt(_0x24619c(0x18d))/0xa);if(_0x269f23===_0x55897f)break;else _0x66b228['push'](_0x66b228['shift']());}catch(_0x4c1ca1){_0x66b228['push'](_0x66b228['shift']());}}}(a0_0x3e96,0x44188));var I={'length':function(_0x46c88a){const _0x8f8e08=a0_0x18b1;return Math[_0x8f8e08(0x176)](_0x46c88a[0x0]**0x2+_0x46c88a[0x1]**0x2+_0x46c88a[0x2]**0x2);},'scalarProduct':function(_0x49edba,_0x10b685){return[_0x49edba[0x0]*_0x10b685,_0x49edba[0x1]*_0x10b685,_0x49edba[0x2]*_0x10b685];},'dot':function(_0x4f5d1b,_0x528f65){return _0x4f5d1b[0x0]*_0x528f65[0x0]+_0x4f5d1b[0x1]*_0x528f65[0x1]+_0x4f5d1b[0x2]*_0x528f65[0x2];},'angle':function(_0x1fe383,_0x56bd64,_0x992a55=!0x1){const _0x261724=a0_0x18b1;let _0x2e53b9=this[_0x261724(0x126)](_0x1fe383,_0x56bd64)/(this['length'](_0x1fe383)*this[_0x261724(0x156)](_0x56bd64)),_0x30b8ee=Math['acos'](_0x2e53b9);return _0x992a55&&_0x30b8ee>Math['PI']/0x2&&(_0x30b8ee=Math['PI']-_0x30b8ee),_0x30b8ee;},'sub':function(_0x1c2288,_0x42aca6){return[_0x1c2288[0x0]-_0x42aca6[0x0],_0x1c2288[0x1]-_0x42aca6[0x1],_0x1c2288[0x2]-_0x42aca6[0x2]];},'add':function(_0x7a21c7,_0x5b8a27){return[_0x7a21c7[0x0]+_0x5b8a27[0x0],_0x7a21c7[0x1]+_0x5b8a27[0x1],_0x7a21c7[0x2]+_0x5b8a27[0x2]];},'rotate':function(_0x580516,_0xb1defa,_0x1c41a9){const _0x32923c=a0_0x18b1;let _0x4f48a8=_0x1c41a9*Math['PI']/0xb4,_0x3debef=Math[_0x32923c(0x132)](_0x4f48a8),_0x598c95=Math[_0x32923c(0x110)](_0x4f48a8),_0x5ab007=_0x580516[0x0],_0xb02bbe=_0x580516[0x1],_0x5274fd=_0x580516[0x2],_0x3fb83b=_0xb1defa[0x0],_0x59b186=_0xb1defa[0x1],_0xc6defe=_0xb1defa[0x2],_0x383723=_0x3fb83b*_0x5ab007+_0x59b186*_0xb02bbe+_0xc6defe*_0x5274fd,_0x13551a=_0x3fb83b*_0x383723*(0x1-_0x3debef)+_0x5ab007*_0x3debef+(-_0xc6defe*_0xb02bbe+_0x59b186*_0x5274fd)*_0x598c95,_0x116af3=_0x59b186*_0x383723*(0x1-_0x3debef)+_0xb02bbe*_0x3debef+(_0xc6defe*_0x5ab007-_0x3fb83b*_0x5274fd)*_0x598c95,_0x2a8686=_0xc6defe*_0x383723*(0x1-_0x3debef)+_0x5274fd*_0x3debef+(-_0x59b186*_0x5ab007+_0x3fb83b*_0xb02bbe)*_0x598c95;return[_0x13551a,_0x116af3,_0x2a8686];},'fromTwoPoints':function(_0x13e737,_0x1f9b78){return[_0x1f9b78[0x0]-_0x13e737[0x0],_0x1f9b78[0x1]-_0x13e737[0x1],_0x1f9b78[0x2]-_0x13e737[0x2]];},'normalized':function(_0x462562){const _0x221bba=a0_0x18b1;return I[_0x221bba(0x145)](_0x462562,0x1/I[_0x221bba(0x156)](_0x462562));},'cross':function(_0x2776ea,_0x13ab1d){return[_0x2776ea[0x1]*_0x13ab1d[0x2]-_0x2776ea[0x2]*_0x13ab1d[0x1],_0x2776ea[0x2]*_0x13ab1d[0x0]-_0x2776ea[0x0]*_0x13ab1d[0x2],_0x2776ea[0x0]*_0x13ab1d[0x1]-_0x2776ea[0x1]*_0x13ab1d[0x0]];}},D={'distance':function(_0x56f436,_0x24fdde){const _0xaf9acd=a0_0x18b1;return I[_0xaf9acd(0x156)](I['sub'](_0x24fdde,_0x56f436));},'move':function(_0x4da136,_0x253c51){const _0x3064d3=a0_0x18b1;return I[_0x3064d3(0x15e)](_0x4da136,_0x253c51);},'scale':function(_0x4d0f34,_0x31fa52,_0xaa95ff){const _0x5dee47=a0_0x18b1;return _0xaa95ff!=null&&(_0x4d0f34=this[_0x5dee47(0x183)](_0x4d0f34,I['scalarProduct'](_0xaa95ff,-0x1))),_0x4d0f34=I['scalarProduct'](_0x4d0f34,_0x31fa52),_0xaa95ff!=null&&(_0x4d0f34=this[_0x5dee47(0x183)](_0x4d0f34,_0xaa95ff)),_0x4d0f34;},'rotate':function(_0x85314c,_0x286e1b,_0x46a7de,_0x25b55b){const _0x307658=a0_0x18b1;let _0x346cdc=_0x46a7de*Math['PI']/0xb4,_0x553bd7=Math['cos'](_0x346cdc),_0x35d5c2=Math[_0x307658(0x110)](_0x346cdc),_0x1522db=_0x85314c[0x0],_0x4acb92=_0x85314c[0x1],_0xf20c4c=_0x85314c[0x2];_0x25b55b!=null&&(_0x1522db=_0x1522db-_0x25b55b[0x0],_0x4acb92=_0x4acb92-_0x25b55b[0x1],_0xf20c4c=_0xf20c4c-_0x25b55b[0x2]);let _0x42dd18=_0x286e1b[0x0],_0x476982=_0x286e1b[0x1],_0x5f4023=_0x286e1b[0x2],_0x222013=_0x42dd18*_0x1522db+_0x476982*_0x4acb92+_0x5f4023*_0xf20c4c,_0x429c27=_0x42dd18*_0x222013*(0x1-_0x553bd7)+_0x1522db*_0x553bd7+(-_0x5f4023*_0x4acb92+_0x476982*_0xf20c4c)*_0x35d5c2,_0x348120=_0x476982*_0x222013*(0x1-_0x553bd7)+_0x4acb92*_0x553bd7+(_0x5f4023*_0x1522db-_0x42dd18*_0xf20c4c)*_0x35d5c2,_0x2b6d7c=_0x5f4023*_0x222013*(0x1-_0x553bd7)+_0xf20c4c*_0x553bd7+(-_0x476982*_0x1522db+_0x42dd18*_0x4acb92)*_0x35d5c2,_0x266f7f=[_0x429c27,_0x348120,_0x2b6d7c];return _0x25b55b!=null&&(_0x266f7f[0x0]=_0x266f7f[0x0]+_0x25b55b[0x0],_0x266f7f[0x1]=_0x266f7f[0x1]+_0x25b55b[0x1],_0x266f7f[0x2]=_0x266f7f[0x2]+_0x25b55b[0x2]),_0x266f7f;},'project':function(_0x44def2,_0x3eb5e1,_0x23b6ac){const _0x1359e9=a0_0x18b1;let _0x3b988f=I[_0x1359e9(0x194)](_0x44def2,_0x23b6ac),_0x14a2f4=I['dot'](_0x3b988f,_0x3eb5e1)/I['length'](_0x3eb5e1),_0x25c059=I['scalarProduct'](_0x3eb5e1,0x1/I[_0x1359e9(0x156)](_0x3eb5e1));return I['sub'](_0x44def2,I[_0x1359e9(0x145)](_0x25c059,_0x14a2f4));},'mirror':function(_0x4011aa,_0x3f06f3,_0x1f35d6=[0x0,0x0,0x0]){const _0x2c4ee9=a0_0x18b1;let _0x42269f=I[_0x2c4ee9(0x194)](_0x4011aa,_0x1f35d6),_0x214dcc=I[_0x2c4ee9(0x156)](_0x3f06f3),_0x13ca77=I['dot'](_0x42269f,_0x3f06f3)/_0x214dcc,_0x4f2da1=I[_0x2c4ee9(0x145)](_0x3f06f3,0x1/_0x214dcc);return I[_0x2c4ee9(0x194)](_0x4011aa,I[_0x2c4ee9(0x145)](_0x4f2da1,0x2*_0x13ca77));}},k={'linspace':function(_0x24a11d,_0x3476ac,_0x5a4885,_0x4c6de5=!0x0){const _0x22a835=a0_0x18b1;let _0x1fd028=_0x4c6de5?_0x5a4885-0x1:_0x5a4885,_0x19e860=(_0x3476ac-_0x24a11d)/_0x1fd028;return Array[_0x22a835(0x171)]({'length':_0x5a4885},(_0x2c7e92,_0x1050dd)=>_0x24a11d+_0x19e860*_0x1050dd);},'cosineSpacing':function(_0x4ddb9d,_0x1fe6d2,_0x366a69){const _0x4a3acf=a0_0x18b1;let _0x432088=Array[_0x4a3acf(0x171)]({'length':_0x366a69},(_0x557175,_0x3c8ef7)=>_0x3c8ef7/(_0x366a69-0x1))['map'](_0x2a1b77=>(0x1-Math[_0x4a3acf(0x132)](_0x2a1b77*Math['PI']))/0x2),_0x2d8db5=[];for(let _0x2bc4d3=0x0;_0x2bc4d3<_0x432088[_0x4a3acf(0x156)];_0x2bc4d3++){let _0x4f4cac=_0x432088[_0x2bc4d3];_0x2d8db5[_0x4a3acf(0x178)](mapToSpace(_0x4f4cac,[0x0,0x1],[_0x4ddb9d,_0x1fe6d2]));}return _0x2d8db5;},'normalizedCosineSpacing':function(_0x49e788){const _0x8e8ac6=a0_0x18b1;return Array['from']({'length':_0x49e788},(_0x1ccab6,_0x181bdf)=>_0x181bdf/(_0x49e788-0x1))[_0x8e8ac6(0x196)](_0x502ca8=>(0x1-Math[_0x8e8ac6(0x132)](_0x502ca8*Math['PI']))/0x2);},'mapToSpace':function(_0x4aa3f0,_0x3ca419,_0x34f3ef){return _0x34f3ef[0x1]+(_0x4aa3f0-_0x3ca419[0x1])*(_0x34f3ef[0x0]-_0x34f3ef[0x1])/(_0x3ca419[0x0]-_0x3ca419[0x1]);},'solveLinearSystem':function(_0x5d5927,_0x571a01){const _0x6f177=a0_0x18b1;let _0x2dca29=_0x5d5927[_0x6f177(0x156)],_0x186786=[];for(let _0x1cd60f=0x0;_0x1cd60f<_0x2dca29;_0x1cd60f++)_0x186786[_0x1cd60f]=_0x5d5927[_0x1cd60f]['slice'](),_0x186786[_0x1cd60f][_0x6f177(0x178)](_0x571a01[_0x1cd60f]);for(let _0x14ffc1=0x0;_0x14ffc1<_0x2dca29;_0x14ffc1++){let _0x5cdea9=_0x14ffc1;for(let _0x1daa9d=_0x14ffc1+0x1;_0x1daa9d<_0x2dca29;_0x1daa9d++)Math[_0x6f177(0x15a)](_0x186786[_0x1daa9d][_0x14ffc1])>Math['abs'](_0x186786[_0x5cdea9][_0x14ffc1])&&(_0x5cdea9=_0x1daa9d);[_0x186786[_0x14ffc1],_0x186786[_0x5cdea9]]=[_0x186786[_0x5cdea9],_0x186786[_0x14ffc1]];for(let _0x5e7b11=_0x14ffc1+0x1;_0x5e7b11<_0x2dca29;_0x5e7b11++){let _0x1d0d05=_0x186786[_0x5e7b11][_0x14ffc1]/_0x186786[_0x14ffc1][_0x14ffc1];for(let _0x39bda5=_0x14ffc1;_0x39bda5<=_0x2dca29;_0x39bda5++)_0x186786[_0x5e7b11][_0x39bda5]-=_0x1d0d05*_0x186786[_0x14ffc1][_0x39bda5];}}let _0xc5aa82=new Array(_0x2dca29);for(let _0x3f97f2=_0x2dca29-0x1;_0x3f97f2>=0x0;_0x3f97f2--){_0xc5aa82[_0x3f97f2]=_0x186786[_0x3f97f2][_0x2dca29];for(let _0x3f9c6e=_0x3f97f2+0x1;_0x3f9c6e<_0x2dca29;_0x3f9c6e++)_0xc5aa82[_0x3f97f2]-=_0x186786[_0x3f97f2][_0x3f9c6e]*_0xc5aa82[_0x3f9c6e];_0xc5aa82[_0x3f97f2]/=_0x186786[_0x3f97f2][_0x3f97f2];}return _0xc5aa82;}},T={'multiplyTranspose':function(_0x47864a,_0x2cdf63){const _0x256dfc=a0_0x18b1;let _0x3978d1=_0x47864a[0x0]['length'],_0x185e71=_0x2cdf63[0x0][_0x256dfc(0x156)],_0x3b910d=[];for(let _0x3e2c0a=0x0;_0x3e2c0a<_0x3978d1;_0x3e2c0a++){_0x3b910d[_0x3e2c0a]=[];for(let _0x26625e=0x0;_0x26625e<_0x185e71;_0x26625e++){let _0x5a97d5=0x0;for(let _0xa0db7a=0x0;_0xa0db7a<_0x47864a[_0x256dfc(0x156)];_0xa0db7a++)_0x5a97d5+=_0x47864a[_0xa0db7a][_0x3e2c0a]*_0x2cdf63[_0xa0db7a][_0x26625e];_0x3b910d[_0x3e2c0a][_0x26625e]=_0x5a97d5;}}return _0x3b910d;},'vectorMultiplyTranspose':function(_0x2a2229,_0x12e156){const _0x3d34fa=a0_0x18b1;let _0x3288f5=_0x2a2229[0x0]['length'],_0x5ae7f4=[];for(let _0x42b105=0x0;_0x42b105<_0x3288f5;_0x42b105++){let _0x56d80c=0x0;for(let _0x2ca0f1=0x0;_0x2ca0f1<_0x2a2229[_0x3d34fa(0x156)];_0x2ca0f1++)_0x56d80c+=_0x2a2229[_0x2ca0f1][_0x42b105]*_0x12e156[_0x2ca0f1];_0x5ae7f4[_0x42b105]=_0x56d80c;}return _0x5ae7f4;}},O={'from_control_points':function(_0x5a3ec7,_0x57d227,_0x1347ce,_0x4f920d){const _0x351b00=a0_0x18b1;_0x4f920d===void 0x0&&(_0x4f920d=this[_0x351b00(0x13b)](_0x5a3ec7,_0x57d227));let _0x72d1b0=k['linspace'](0x0,0x1,_0x1347ce),_0xd6394e=[];for(var _0x32c779 of _0x72d1b0)_0xd6394e[_0x351b00(0x178)](this[_0x351b00(0x11d)](_0x32c779,_0x57d227,_0x5a3ec7,_0x4f920d));return _0xd6394e;},'from_control_points_cosine':function(_0x1e7889,_0x443542,_0x395fd5,_0x16f023){const _0x137385=a0_0x18b1;_0x16f023===void 0x0&&(_0x16f023=this['uniform_knot_spacing'](_0x1e7889,_0x443542));let _0x29a6c2=k[_0x137385(0x151)](_0x395fd5),_0x6445a4=[];for(var _0x1d9ae6 of _0x29a6c2)_0x6445a4[_0x137385(0x178)](this[_0x137385(0x11d)](_0x1d9ae6,_0x443542,_0x1e7889,_0x16f023));return _0x6445a4;},'approximate_curve':function(_0x512141,_0x2ca85d,_0x50ce21=0x3){const _0x3254fe=a0_0x18b1;if(_0x2ca85d<_0x50ce21+0x1)throw new Error(_0x3254fe(0x12f));if(_0x512141[_0x3254fe(0x156)]<0x2)throw new Error(_0x3254fe(0x12d));let _0x16da4b=_0x512141[_0x3254fe(0x156)],_0x15ebf1=_0x2ca85d,_0x2158f7=_0x512141[0x0][_0x3254fe(0x156)],_0x66ccf9=this[_0x3254fe(0x125)](_0x512141),_0x3f11b6=this['_approximate_knot_vector'](_0x66ccf9,_0x15ebf1,_0x50ce21),_0x2462b4=[];for(let _0x571476=0x0;_0x571476<_0x16da4b;_0x571476++){_0x2462b4[_0x571476]=[];for(let _0x784d83=0x0;_0x784d83<_0x15ebf1;_0x784d83++)_0x2462b4[_0x571476][_0x784d83]=this[_0x3254fe(0x16e)](_0x784d83,_0x50ce21,_0x66ccf9[_0x571476],_0x3f11b6);}let _0x10d79a=[];for(let _0x1873dc=0x0;_0x1873dc<_0x2158f7;_0x1873dc++){let _0x2ab3e6=_0x512141[_0x3254fe(0x196)](_0x48d386=>_0x48d386[_0x1873dc]),_0x24176a=T[_0x3254fe(0x11f)](_0x2462b4,_0x2462b4),_0x259586=T[_0x3254fe(0x17d)](_0x2462b4,_0x2ab3e6),_0x4a785b=k[_0x3254fe(0x185)](_0x24176a,_0x259586);for(let _0x20311a=0x0;_0x20311a<_0x15ebf1;_0x20311a++)_0x10d79a[_0x20311a]||(_0x10d79a[_0x20311a]=[]),_0x10d79a[_0x20311a][_0x1873dc]=_0x4a785b[_0x20311a];}return{'controlPoints':_0x10d79a,'knots':_0x3f11b6,'degree':_0x50ce21};},'approximate_curve_with_clamped_ends':function(_0x47afbd,_0x4d2a6f,_0x418a88=0x3){const _0x34ff96=a0_0x18b1;if(_0x4d2a6f<_0x418a88+0x1)throw new Error(_0x34ff96(0x12f));if(_0x4d2a6f<0x2)throw new Error('Need\x20at\x20least\x202\x20control\x20points\x20for\x20endpoint\x20constraints');if(_0x47afbd['length']<0x2)throw new Error('Need\x20at\x20least\x202\x20points\x20to\x20approximate');let _0x3661fe=_0x47afbd[_0x34ff96(0x156)],_0x38aada=_0x4d2a6f,_0x50d841=_0x47afbd[0x0][_0x34ff96(0x156)],_0x3efd65=this[_0x34ff96(0x125)](_0x47afbd),_0xb821d=this['_approximate_knot_vector'](_0x3efd65,_0x38aada,_0x418a88),_0x26892a=[];for(let _0x48c521=0x0;_0x48c521<_0x3661fe;_0x48c521++){_0x26892a[_0x48c521]=[];for(let _0x114bd9=0x0;_0x114bd9<_0x38aada;_0x114bd9++)_0x26892a[_0x48c521][_0x114bd9]=this['_basis_function'](_0x114bd9,_0x418a88,_0x3efd65[_0x48c521],_0xb821d);}let _0x1a16ee=new Array(_0x38aada);for(let _0x3fc3f9=0x0;_0x3fc3f9<_0x38aada;_0x3fc3f9++)_0x1a16ee[_0x3fc3f9]=new Array(_0x50d841);_0x1a16ee[0x0]=[..._0x47afbd[0x0]],_0x1a16ee[_0x38aada-0x1]=[..._0x47afbd[_0x47afbd[_0x34ff96(0x156)]-0x1]];for(let _0xfe21c1=0x0;_0xfe21c1<_0x50d841;_0xfe21c1++){let _0xd6b869=_0x47afbd[_0x34ff96(0x196)](_0x2b6a77=>_0x2b6a77[_0xfe21c1]),_0x318bfb=[];for(let _0x166b77=0x1;_0x166b77<_0x38aada-0x1;_0x166b77++)_0x318bfb[_0x34ff96(0x178)](_0x166b77);if(_0x318bfb[_0x34ff96(0x156)]===0x0)continue;let _0x144008=[],_0x55a087=[];for(let _0x263bae=0x0;_0x263bae<_0x3661fe;_0x263bae++){_0x144008[_0x263bae]=[];for(let _0x3c6d48 of _0x318bfb)_0x144008[_0x263bae][_0x34ff96(0x178)](_0x26892a[_0x263bae][_0x3c6d48]);_0x55a087[_0x263bae]=_0xd6b869[_0x263bae]-_0x26892a[_0x263bae][0x0]*_0x1a16ee[0x0][_0xfe21c1]-_0x26892a[_0x263bae][_0x38aada-0x1]*_0x1a16ee[_0x38aada-0x1][_0xfe21c1];}let _0x1ef26b=T[_0x34ff96(0x11f)](_0x144008,_0x144008),_0x315bf2=T[_0x34ff96(0x17d)](_0x144008,_0x55a087),_0x1a4292=k[_0x34ff96(0x185)](_0x1ef26b,_0x315bf2);for(let _0x278b71=0x0;_0x278b71<_0x318bfb['length'];_0x278b71++)_0x1a16ee[_0x318bfb[_0x278b71]][_0xfe21c1]=_0x1a4292[_0x278b71];}return{'controlPoints':_0x1a16ee,'knots':_0xb821d,'degree':_0x418a88};},'_chord_length_parameterization':function(_0xb6a139){const _0x3b5d43=a0_0x18b1;let _0x519348=[0x0],_0xb69466=[0x0],_0x185a86=0x0;for(let _0x300370=0x1;_0x300370<_0xb6a139['length'];_0x300370++){let _0x24ed19=0x0;for(let _0x2fddea=0x0;_0x2fddea<_0xb6a139[_0x300370]['length'];_0x2fddea++)_0x24ed19+=Math['pow'](_0xb6a139[_0x300370][_0x2fddea]-_0xb6a139[_0x300370-0x1][_0x2fddea],0x2);_0x24ed19=Math['sqrt'](_0x24ed19),_0x185a86+=_0x24ed19,_0xb69466[_0x3b5d43(0x178)](_0x185a86);}for(let _0x20e375=0x1;_0x20e375<_0xb6a139[_0x3b5d43(0x156)];_0x20e375++)_0x519348[_0x3b5d43(0x178)](_0xb69466[_0x20e375]/_0x185a86);return _0x519348;},'_approximate_knot_vector':function(_0x5364ef,_0x5ac37a,_0x2eb062){const _0x5a6c47=a0_0x18b1;let _0x26e845=_0x5364ef[_0x5a6c47(0x156)],_0x8baf57=_0x5ac37a,_0x155a21=[];for(let _0x37e738=0x0;_0x37e738<=_0x2eb062;_0x37e738++)_0x155a21[_0x5a6c47(0x178)](0x0);let _0x4b1979=(_0x26e845-0x1)/(_0x8baf57-_0x2eb062);for(let _0x4eceb1=0x1;_0x4eceb1<_0x8baf57-_0x2eb062;_0x4eceb1++){let _0x9560ad=0x0;for(let _0x4f9691=Math[_0x5a6c47(0x150)](_0x4eceb1*_0x4b1979);_0x4f9691<Math['floor']((_0x4eceb1+0x1)*_0x4b1979);_0x4f9691++)_0x9560ad+=_0x5364ef[Math['min'](_0x4f9691+_0x2eb062,_0x26e845-0x1)];_0x155a21[_0x5a6c47(0x178)](_0x9560ad/(Math[_0x5a6c47(0x150)]((_0x4eceb1+0x1)*_0x4b1979)-Math[_0x5a6c47(0x150)](_0x4eceb1*_0x4b1979)));}for(let _0x2e01d3=0x0;_0x2e01d3<=_0x2eb062;_0x2e01d3++)_0x155a21[_0x5a6c47(0x178)](0x1);return _0x155a21;},'_basis_function':function(_0x312eae,_0x2866ca,_0x2d1cd0,_0x18c98f){const _0x286f5b=a0_0x18b1;if(_0x2866ca===0x0)return _0x2d1cd0>=_0x18c98f[_0x312eae]&&_0x2d1cd0<_0x18c98f[_0x312eae+0x1]?0x1:0x0;let _0x2ab9d7=0x0,_0x26232d=0x0,_0x1a6af7=_0x18c98f[_0x312eae+_0x2866ca]-_0x18c98f[_0x312eae];_0x1a6af7!==0x0&&(_0x2ab9d7=(_0x2d1cd0-_0x18c98f[_0x312eae])/_0x1a6af7*this[_0x286f5b(0x16e)](_0x312eae,_0x2866ca-0x1,_0x2d1cd0,_0x18c98f));let _0x3baa4d=_0x18c98f[_0x312eae+_0x2866ca+0x1]-_0x18c98f[_0x312eae+0x1];return _0x3baa4d!==0x0&&(_0x26232d=(_0x18c98f[_0x312eae+_0x2866ca+0x1]-_0x2d1cd0)/_0x3baa4d*this[_0x286f5b(0x16e)](_0x312eae+0x1,_0x2866ca-0x1,_0x2d1cd0,_0x18c98f)),_0x2ab9d7+_0x26232d;},'uniform_knot_spacing':function(_0x7e96f0,_0xa40693){const _0x257763=a0_0x18b1;let _0x441b0d=_0x7e96f0[_0x257763(0x156)]+_0xa40693+0x1,_0x547b20=[],_0x2fed85=_0x441b0d-(_0xa40693+0x1)*0x2;for(var _0x4fe9d2=0x0;_0x4fe9d2<_0xa40693+0x1;_0x4fe9d2++)_0x547b20[_0x257763(0x178)](0x0);for(var _0x4fe9d2=0x0;_0x4fe9d2<_0x2fed85;_0x4fe9d2++)_0x547b20[_0x257763(0x178)](_0x4fe9d2+0x1);let _0x3f8618=_0x547b20[_0x547b20[_0x257763(0x156)]-0x1]+0x1;for(var _0x4fe9d2=0x0;_0x4fe9d2<_0xa40693+0x1;_0x4fe9d2++)_0x547b20[_0x257763(0x178)](_0x3f8618);return _0x547b20;},'uniform_knot_spacing_normalized':function(_0x486cbb,_0x5b9d70){const _0x3d7c40=a0_0x18b1;let _0x18b2ef=_0x486cbb,_0x4ee07d=[],_0x17395c=_0x18b2ef+_0x5b9d70+0x1-(_0x5b9d70+0x1)*0x2;for(let _0x59d9c8=0x0;_0x59d9c8<=_0x5b9d70;_0x59d9c8++)_0x4ee07d[_0x3d7c40(0x178)](0x0);if(_0x17395c>0x0){let _0x74536d=0x1/(_0x17395c+0x1);for(let _0x3bce24=0x0;_0x3bce24<_0x17395c;_0x3bce24++)_0x4ee07d[_0x3d7c40(0x178)]((_0x3bce24+0x1)*_0x74536d);}for(let _0x273e9b=0x0;_0x273e9b<=_0x5b9d70;_0x273e9b++)_0x4ee07d[_0x3d7c40(0x178)](0x1);return _0x4ee07d;},'bspline':function(_0x372e51,_0x5d2674,_0x1770e9,_0x3a94cf,_0x59302e,_0x351c88){const _0x46247e=a0_0x18b1;var _0x4efd2d,_0x480b55,_0x4e62f7,_0x41f7f6,_0x4b2274=_0x1770e9[_0x46247e(0x156)],_0x4b25a0=_0x1770e9[0x0][_0x46247e(0x156)];if(_0x5d2674<0x1)throw new Error(_0x46247e(0x13a));if(_0x5d2674>_0x4b2274-0x1)throw new Error(_0x46247e(0x136));if(!_0x59302e){for(_0x59302e=[],_0x4efd2d=0x0;_0x4efd2d<_0x4b2274;_0x4efd2d++)_0x59302e[_0x4efd2d]=0x1;}if(_0x3a94cf){if(_0x3a94cf[_0x46247e(0x156)]!==_0x4b2274+_0x5d2674+0x1)throw new Error(_0x46247e(0x124));}else{var _0x3a94cf=[];for(_0x4efd2d=0x0;_0x4efd2d<_0x4b2274+_0x5d2674+0x1;_0x4efd2d++)_0x3a94cf[_0x4efd2d]=_0x4efd2d;}var _0x17fd9b=[_0x5d2674,_0x3a94cf[_0x46247e(0x156)]-0x1-_0x5d2674],_0x4c1985=_0x3a94cf[_0x17fd9b[0x0]],_0x56a00a=_0x3a94cf[_0x17fd9b[0x1]];if(_0x372e51=_0x372e51*(_0x56a00a-_0x4c1985)+_0x4c1985,_0x372e51<_0x4c1985||_0x372e51>_0x56a00a)throw new Error(_0x46247e(0x17b));for(_0x4e62f7=_0x17fd9b[0x0];_0x4e62f7<_0x17fd9b[0x1]&&!(_0x372e51>=_0x3a94cf[_0x4e62f7]&&_0x372e51<=_0x3a94cf[_0x4e62f7+0x1]);_0x4e62f7++);var _0x452db7=[];for(_0x4efd2d=0x0;_0x4efd2d<_0x4b2274;_0x4efd2d++){for(_0x452db7[_0x4efd2d]=[],_0x480b55=0x0;_0x480b55<_0x4b25a0;_0x480b55++)_0x452db7[_0x4efd2d][_0x480b55]=_0x1770e9[_0x4efd2d][_0x480b55]*_0x59302e[_0x4efd2d];_0x452db7[_0x4efd2d][_0x4b25a0]=_0x59302e[_0x4efd2d];}var _0xabc968;for(_0x41f7f6=0x1;_0x41f7f6<=_0x5d2674+0x1;_0x41f7f6++)for(_0x4efd2d=_0x4e62f7;_0x4efd2d>_0x4e62f7-_0x5d2674-0x1+_0x41f7f6;_0x4efd2d--)for(_0xabc968=(_0x372e51-_0x3a94cf[_0x4efd2d])/(_0x3a94cf[_0x4efd2d+_0x5d2674+0x1-_0x41f7f6]-_0x3a94cf[_0x4efd2d]),_0x480b55=0x0;_0x480b55<_0x4b25a0+0x1;_0x480b55++)_0x452db7[_0x4efd2d][_0x480b55]=(0x1-_0xabc968)*_0x452db7[_0x4efd2d-0x1][_0x480b55]+_0xabc968*_0x452db7[_0x4efd2d][_0x480b55];var _0x351c88=_0x351c88||[];for(_0x4efd2d=0x0;_0x4efd2d<_0x4b25a0;_0x4efd2d++)_0x351c88[_0x4efd2d]=_0x452db7[_0x4e62f7][_0x4efd2d]/_0x452db7[_0x4e62f7][_0x4b25a0];return _0x351c88;}},A={'_gaussJ':{'solve':function(_0x572075,_0x45f5fb){const _0x14ee68=a0_0x18b1;let _0x1cdda0=_0x572075[_0x14ee68(0x156)];for(let _0x6ee283=0x0;_0x6ee283<_0x1cdda0;_0x6ee283++){let _0x583423=0x0,_0x16bc42=Number['NEGATIVE_INFINITY'];for(let _0x2ee569=_0x6ee283;_0x2ee569<_0x1cdda0;_0x2ee569++)Math['abs'](_0x572075[_0x2ee569][_0x6ee283])>_0x16bc42&&(_0x583423=_0x2ee569,_0x16bc42=Math[_0x14ee68(0x15a)](_0x572075[_0x2ee569][_0x6ee283]));this[_0x14ee68(0x144)](_0x572075,_0x6ee283,_0x583423);for(let _0x14f940=_0x6ee283+0x1;_0x14f940<_0x1cdda0;_0x14f940++){let _0x5cc166=_0x572075[_0x14f940][_0x6ee283]/_0x572075[_0x6ee283][_0x6ee283];for(let _0x3c3f46=_0x6ee283;_0x3c3f46<_0x1cdda0+0x1;_0x3c3f46++)_0x572075[_0x14f940][_0x3c3f46]-=_0x572075[_0x6ee283][_0x3c3f46]*_0x5cc166;}}for(let _0x1de665=_0x1cdda0-0x1;_0x1de665>=0x0;_0x1de665--){let _0x31d6c8=_0x572075[_0x1de665][_0x1cdda0]/_0x572075[_0x1de665][_0x1de665];_0x45f5fb[_0x1de665]=_0x31d6c8;for(let _0x3006bd=_0x1de665-0x1;_0x3006bd>=0x0;_0x3006bd--)_0x572075[_0x3006bd][_0x1cdda0]-=_0x572075[_0x3006bd][_0x1de665]*_0x31d6c8,_0x572075[_0x3006bd][_0x1de665]=0x0;}},'zerosMat':function(_0x5b1db4,_0x2391fa){const _0x25fd73=a0_0x18b1;let _0x408d61=[];for(let _0x2eb02d=0x0;_0x2eb02d<_0x5b1db4;_0x2eb02d++)_0x408d61[_0x25fd73(0x178)](new Array(_0x2391fa)['fill'](0x0));return _0x408d61;},'printMat':function(_0x4cb01f){const _0x2f162d=a0_0x18b1;_0x4cb01f[_0x2f162d(0x155)](_0x3151de=>console[_0x2f162d(0x137)](_0x3151de));},'swapRows':function(_0x5f1512,_0xfad231,_0x2b47a6){let _0x213706=_0x5f1512[_0xfad231];_0x5f1512[_0xfad231]=_0x5f1512[_0x2b47a6],_0x5f1512[_0x2b47a6]=_0x213706;}},'getNaturalKs':function(_0x499148,_0x40831f,_0x3738a7){const _0x17f0c7=a0_0x18b1;let _0x39c4f9=_0x499148['length']-0x1,_0x4957eb=this[_0x17f0c7(0x186)][_0x17f0c7(0x182)](_0x39c4f9+0x1,_0x39c4f9+0x2);for(let _0x19b038=0x1;_0x19b038<_0x39c4f9;_0x19b038++)_0x4957eb[_0x19b038][_0x19b038-0x1]=0x1/(_0x499148[_0x19b038]-_0x499148[_0x19b038-0x1]),_0x4957eb[_0x19b038][_0x19b038]=0x2*(0x1/(_0x499148[_0x19b038]-_0x499148[_0x19b038-0x1])+0x1/(_0x499148[_0x19b038+0x1]-_0x499148[_0x19b038])),_0x4957eb[_0x19b038][_0x19b038+0x1]=0x1/(_0x499148[_0x19b038+0x1]-_0x499148[_0x19b038]),_0x4957eb[_0x19b038][_0x39c4f9+0x1]=0x3*((_0x40831f[_0x19b038]-_0x40831f[_0x19b038-0x1])/(_0x499148[_0x19b038]-_0x499148[_0x19b038-0x1])**0x2+(_0x40831f[_0x19b038+0x1]-_0x40831f[_0x19b038])/(_0x499148[_0x19b038+0x1]-_0x499148[_0x19b038])**0x2);_0x4957eb[0x0][0x0]=0x2/(_0x499148[0x1]-_0x499148[0x0]),_0x4957eb[0x0][0x1]=0x1/(_0x499148[0x1]-_0x499148[0x0]),_0x4957eb[0x0][_0x39c4f9+0x1]=0x3*(_0x40831f[0x1]-_0x40831f[0x0])/(_0x499148[0x1]-_0x499148[0x0])**0x2,_0x4957eb[_0x39c4f9][_0x39c4f9-0x1]=0x1/(_0x499148[_0x39c4f9]-_0x499148[_0x39c4f9-0x1]),_0x4957eb[_0x39c4f9][_0x39c4f9]=0x2/(_0x499148[_0x39c4f9]-_0x499148[_0x39c4f9-0x1]),_0x4957eb[_0x39c4f9][_0x39c4f9+0x1]=0x3*(_0x40831f[_0x39c4f9]-_0x40831f[_0x39c4f9-0x1])/(_0x499148[_0x39c4f9]-_0x499148[_0x39c4f9-0x1])**0x2,this['_gaussJ'][_0x17f0c7(0x170)](_0x4957eb,_0x3738a7);},'from_control_points':function(_0x4bd8e5,_0x42354b){const _0x330c87=a0_0x18b1;let _0x4e5778=_0x42354b[_0x330c87(0x196)](_0x27efc4=>_0x27efc4[0x0]),_0x560784=_0x42354b[_0x330c87(0x196)](_0x52ea7f=>_0x52ea7f[0x1]),_0x191edf=new Array(_0x4e5778[_0x330c87(0x156)])['fill'](0x0);this[_0x330c87(0x184)](_0x4e5778,_0x560784,_0x191edf);let _0x116a4f=[];for(let _0x5b3a74 of _0x4bd8e5){let _0x1b8a41=0x1;for(;_0x4e5778[_0x1b8a41]<_0x5b3a74;)_0x1b8a41++;let _0x24dae5=(_0x5b3a74-_0x4e5778[_0x1b8a41-0x1])/(_0x4e5778[_0x1b8a41]-_0x4e5778[_0x1b8a41-0x1]),_0x307626=_0x191edf[_0x1b8a41-0x1]*(_0x4e5778[_0x1b8a41]-_0x4e5778[_0x1b8a41-0x1])-(_0x560784[_0x1b8a41]-_0x560784[_0x1b8a41-0x1]),_0x2cbe3a=-_0x191edf[_0x1b8a41]*(_0x4e5778[_0x1b8a41]-_0x4e5778[_0x1b8a41-0x1])+(_0x560784[_0x1b8a41]-_0x560784[_0x1b8a41-0x1]),_0x5b4ce8=(0x1-_0x24dae5)*_0x560784[_0x1b8a41-0x1]+_0x24dae5*_0x560784[_0x1b8a41]+_0x24dae5*(0x1-_0x24dae5)*(_0x307626*(0x1-_0x24dae5)+_0x2cbe3a*_0x24dae5);_0x116a4f[_0x330c87(0x178)]([_0x5b3a74,_0x5b4ce8]);}return _0x116a4f;}},j=class{constructor(_0x490156){const _0x536fb5=a0_0x18b1;this[_0x536fb5(0x123)]=_0x490156,this['segmentLengths']=[],this[_0x536fb5(0x115)]=[0x0];for(let _0x2d2ccb=0x1;_0x2d2ccb<_0x490156[_0x536fb5(0x156)];_0x2d2ccb++){let _0x1631cf=_0x490156[_0x2d2ccb][0x0]-_0x490156[_0x2d2ccb-0x1][0x0],_0x5f3d8d=_0x490156[_0x2d2ccb][0x1]-_0x490156[_0x2d2ccb-0x1][0x1],_0x2062f9=_0x490156[_0x2d2ccb][0x2]-_0x490156[_0x2d2ccb-0x1][0x2],_0x2c61aa=Math['sqrt'](_0x1631cf*_0x1631cf+_0x5f3d8d*_0x5f3d8d+_0x2062f9*_0x2062f9);this[_0x536fb5(0x166)][_0x536fb5(0x178)](_0x2c61aa),this[_0x536fb5(0x115)][_0x536fb5(0x178)](this[_0x536fb5(0x115)][this[_0x536fb5(0x115)]['length']-0x1]+_0x2c61aa);}this[_0x536fb5(0x18f)]=this[_0x536fb5(0x166)]['length']>0x0?this[_0x536fb5(0x115)][this[_0x536fb5(0x115)][_0x536fb5(0x156)]-0x1]:0x0;}[a0_0x3aa1cc(0x142)](_0x1fadd2){const _0x4f5609=a0_0x3aa1cc;let _0xc5665a=0x0,_0x45fc7a=Number[_0x4f5609(0x12c)];for(let _0x31ed57=0x0;_0x31ed57<this[_0x4f5609(0x123)][_0x4f5609(0x156)]-0x1;_0x31ed57++){let _0x4d3968=this[_0x4f5609(0x123)][_0x31ed57],_0x48c1e0=this[_0x4f5609(0x123)][_0x31ed57+0x1],_0x47cb5b=_0x1fadd2,_0x4b9c5b=[_0x48c1e0[0x0]-_0x4d3968[0x0],_0x48c1e0[0x1]-_0x4d3968[0x1],_0x48c1e0[0x2]-_0x4d3968[0x2]],_0x3a6036=[_0x47cb5b[0x0]-_0x4d3968[0x0],_0x47cb5b[0x1]-_0x4d3968[0x1],_0x47cb5b[0x2]-_0x4d3968[0x2]],_0x42759a=_0x4b9c5b[0x0]*_0x4b9c5b[0x0]+_0x4b9c5b[0x1]*_0x4b9c5b[0x1]+_0x4b9c5b[0x2]*_0x4b9c5b[0x2];if(_0x42759a===0x0)continue;let _0x4d63ee=(_0x3a6036[0x0]*_0x4b9c5b[0x0]+_0x3a6036[0x1]*_0x4b9c5b[0x1]+_0x3a6036[0x2]*_0x4b9c5b[0x2])/_0x42759a;_0x4d63ee=Math[_0x4f5609(0x12a)](0x0,Math['min'](0x1,_0x4d63ee));let _0x3a06b6=[_0x4d3968[0x0]+_0x4d63ee*_0x4b9c5b[0x0],_0x4d3968[0x1]+_0x4d63ee*_0x4b9c5b[0x1],_0x4d3968[0x2]+_0x4d63ee*_0x4b9c5b[0x2]],_0x300cd5=Math[_0x4f5609(0x157)](_0x47cb5b[0x0]-_0x3a06b6[0x0],0x2)+Math[_0x4f5609(0x157)](_0x47cb5b[0x1]-_0x3a06b6[0x1],0x2)+Math[_0x4f5609(0x157)](_0x47cb5b[0x2]-_0x3a06b6[0x2],0x2);_0x300cd5<_0x45fc7a&&(_0x45fc7a=_0x300cd5,_0xc5665a=(this[_0x4f5609(0x115)][_0x31ed57]+_0x4d63ee*this[_0x4f5609(0x166)][_0x31ed57])/this[_0x4f5609(0x18f)]);}return _0xc5665a;}[a0_0x3aa1cc(0x131)](_0x481bcb){const _0x33b16e=a0_0x3aa1cc;if(_0x481bcb<=0x0)return[...this[_0x33b16e(0x123)][0x0]];if(_0x481bcb>=0x1)return[...this[_0x33b16e(0x123)][this[_0x33b16e(0x123)]['length']-0x1]];let _0x38b3a0=_0x481bcb*this[_0x33b16e(0x18f)];for(let _0x33b059=0x0;_0x33b059<this['cumulativeLength']['length']-0x1;_0x33b059++)if(this[_0x33b16e(0x115)][_0x33b059]<=_0x38b3a0&&_0x38b3a0<=this[_0x33b16e(0x115)][_0x33b059+0x1]){let _0x3f11a4=(_0x38b3a0-this[_0x33b16e(0x115)][_0x33b059])/this['segmentLengths'][_0x33b059],_0x17321b=this[_0x33b16e(0x123)][_0x33b059],_0x2f1db7=this[_0x33b16e(0x123)][_0x33b059+0x1],_0x3016aa=(0x1-_0x3f11a4)*_0x17321b[0x0]+_0x3f11a4*_0x2f1db7[0x0],_0x46df4f=(0x1-_0x3f11a4)*_0x17321b[0x1]+_0x3f11a4*_0x2f1db7[0x1],_0x14f5db=(0x1-_0x3f11a4)*_0x17321b[0x2]+_0x3f11a4*_0x2f1db7[0x2];return[_0x3016aa,_0x46df4f,_0x14f5db];}return[...this[_0x33b16e(0x123)][this[_0x33b16e(0x123)][_0x33b16e(0x156)]-0x1]];}},K={'_formatNumber':function(_0x320fc8){const _0x57a486=a0_0x3aa1cc;return Number['isInteger'](_0x320fc8)?_0x320fc8['toString']():Math[_0x57a486(0x15a)](_0x320fc8)<0.001||Math[_0x57a486(0x15a)](_0x320fc8)>0xf4240?_0x320fc8[_0x57a486(0x14d)](0x6):_0x320fc8[_0x57a486(0x18b)](0x6)[_0x57a486(0x152)](/\.?0+$/,'');},'_toHollerith':function(_0x4c8109){const _0x488dd9=a0_0x3aa1cc;return _0x4c8109?_0x4c8109[_0x488dd9(0x156)]+'H'+_0x4c8109:'0H';},'_generateGlobalSection':function(_0x2a5f81){const _0x1b7290=a0_0x3aa1cc;let _0x10916e=new Date()[_0x1b7290(0x11a)]()['slice'](0x0,0x13)[_0x1b7290(0x152)](/[-:]/g,'')[_0x1b7290(0x152)]('T','.'),_0x14bf0c=[_0x1b7290(0x187),_0x1b7290(0x189),this[_0x1b7290(0x147)](_0x2a5f81[_0x1b7290(0x13d)]),this[_0x1b7290(0x147)](_0x2a5f81[_0x1b7290(0x13d)]),this[_0x1b7290(0x147)](_0x2a5f81[_0x1b7290(0x138)]),this[_0x1b7290(0x147)](_0x1b7290(0x143)),'32','38','6',_0x1b7290(0x181),'15',this['_toHollerith'](_0x2a5f81[_0x1b7290(0x13d)]),_0x1b7290(0x180),'3',this['_toHollerith'](_0x2a5f81[_0x1b7290(0x167)][_0x1b7290(0x173)]()),'1',_0x1b7290(0x18c),this[_0x1b7290(0x147)](_0x10916e),_0x1b7290(0x14f),_0x1b7290(0x139),this['_toHollerith'](_0x2a5f81[_0x1b7290(0x188)]),this['_toHollerith'](_0x2a5f81[_0x1b7290(0x138)]),'11','0',this[_0x1b7290(0x147)](_0x10916e)][_0x1b7290(0x122)](',')+';',_0x37ff81='',_0x5edb67=0x1,_0x485f65=0x0;for(;_0x485f65<_0x14bf0c[_0x1b7290(0x156)];){let _0x2e38b3=_0x14bf0c[_0x1b7290(0x146)](_0x485f65,0x48);_0x37ff81+=_0x2e38b3[_0x1b7290(0x140)](0x48)+('G'+_0x5edb67['toString']()[_0x1b7290(0x192)](0x7)+'\x0a'),_0x485f65+=0x48,_0x5edb67++;}return _0x37ff81;},'_formatDirectoryLine':function(_0x458827,_0x565440,_0x13c821,_0x20380c,_0x569b3f,_0x46da4f,_0x3f0ed6,_0x1d8a71,_0x40c606){const _0x1ad125=a0_0x3aa1cc;return[_0x458827[_0x1ad125(0x14e)]()[_0x1ad125(0x192)](0x8),_0x565440[_0x1ad125(0x14e)]()[_0x1ad125(0x192)](0x8),_0x13c821[_0x1ad125(0x14e)]()['padStart'](0x8),_0x20380c[_0x1ad125(0x14e)]()['padStart'](0x8),_0x569b3f[_0x1ad125(0x14e)]()[_0x1ad125(0x192)](0x8),_0x46da4f[_0x1ad125(0x14e)]()['padStart'](0x8),_0x3f0ed6['toString']()[_0x1ad125(0x192)](0x8),_0x1d8a71[_0x1ad125(0x14e)]()[_0x1ad125(0x192)](0x8)][_0x1ad125(0x122)]('')[_0x1ad125(0x140)](0x48)+('D'+_0x40c606[_0x1ad125(0x14e)]()[_0x1ad125(0x192)](0x7)+'\x0a');},'_formatParameterLine':function(_0x271d2f,_0x169f6c,_0x1d1600){const _0x388936=a0_0x3aa1cc;let _0x37bc2f='',_0x550094=_0x169f6c,_0x337220=0x0;for(;_0x337220<_0x271d2f[_0x388936(0x156)];){let _0x19bf20=Math[_0x388936(0x18e)](_0x337220+0x40,_0x271d2f[_0x388936(0x156)]);if(_0x19bf20<_0x271d2f[_0x388936(0x156)]&&_0x271d2f[_0x19bf20]!==','){let _0x4e792f=_0x271d2f[_0x388936(0x121)](',',_0x19bf20);_0x4e792f>_0x337220&&(_0x19bf20=_0x4e792f+0x1);}let _0x1fb738=_0x271d2f['substring'](_0x337220,_0x19bf20);_0x37bc2f+=_0x1fb738[_0x388936(0x140)](0x40)+('\x20'+_0x1d1600[_0x388936(0x14e)]()[_0x388936(0x192)](0x7)+'P'+_0x550094['toString']()[_0x388936(0x192)](0x7)+'\x0a'),_0x337220=_0x19bf20,_0x550094++;}return _0x37bc2f;},'_formatSection':function(_0x1ec998,_0x231939){const _0x235e0f=a0_0x3aa1cc;return _0x231939['map']((_0x431718,_0x322915)=>_0x431718[_0x235e0f(0x152)](/\n$/,'')+'\x0a')['join']('');},'_formatTerminateSection':function(_0x37209f,_0x4113df,_0x1111a1,_0x3cace4){const _0x24af14=a0_0x3aa1cc;return['S'+_0x37209f[_0x24af14(0x14e)]()[_0x24af14(0x192)](0x7),'G'+_0x4113df[_0x24af14(0x14e)]()[_0x24af14(0x192)](0x7),'D'+_0x1111a1[_0x24af14(0x14e)]()['padStart'](0x7),'P'+_0x3cace4[_0x24af14(0x14e)]()[_0x24af14(0x192)](0x7)][_0x24af14(0x122)]('')[_0x24af14(0x140)](0x48)+_0x24af14(0x129);},'_createPointEntity':function(_0x2e90f4,_0x318f06,_0x46e587){const _0x403310=a0_0x3aa1cc;let _0x2615b4=_0x403310(0x15f)+this[_0x403310(0x149)](_0x2e90f4[0x0])+','+this['_formatNumber'](_0x2e90f4[0x1])+','+this[_0x403310(0x149)](_0x2e90f4[0x2])+_0x403310(0x113),_0x1b04c8=_0x318f06,_0x416857=this['_formatParameterLine'](_0x2615b4,_0x46e587,_0x1b04c8),_0x3a8df6=_0x416857[_0x403310(0x195)]('\x0a')[_0x403310(0x156)]-0x1,_0x13386b=this[_0x403310(0x12b)](0x74,_0x46e587,0x0,0x0,0x0,0x0,0x0,0x0,_0x318f06);return _0x13386b+=this['_formatDirectoryLine'](0x74,0x0,0x0,_0x3a8df6,0x0,0x0,0x0,0x0,_0x318f06+0x1),{'directoryEntry':_0x13386b,'parameterEntry':_0x416857,'lineCount':_0x3a8df6};},'_createPolylineEntity':function(_0x56e2ad,_0x3ae4fd,_0x34f120){const _0x55a7f5=a0_0x3aa1cc;let _0x172084=_0x55a7f5(0x117)+(_0x56e2ad[_0x55a7f5(0x156)]-0x1);for(let _0x2b4eef=0x0;_0x2b4eef<_0x56e2ad[_0x55a7f5(0x156)];_0x2b4eef++){let _0x2685cc=_0x56e2ad[_0x2b4eef];_0x172084+=','+this[_0x55a7f5(0x149)](_0x2685cc[0x0])+','+this[_0x55a7f5(0x149)](_0x2685cc[0x1])+','+this[_0x55a7f5(0x149)](_0x2685cc[0x2]);}_0x172084+=';';let _0x152d2e=_0x3ae4fd,_0x55bf0e=this[_0x55a7f5(0x169)](_0x172084,_0x34f120,_0x152d2e),_0x3353a2=_0x55bf0e[_0x55a7f5(0x195)]('\x0a')[_0x55a7f5(0x156)]-0x1,_0x4152a1=this['_formatDirectoryLine'](0x6a,_0x34f120,0x0,0x0,0x0,0x0,0x0,0x0,_0x3ae4fd);return _0x4152a1+=this[_0x55a7f5(0x12b)](0x6a,0x0,0x0,_0x3353a2,0x0,0x0,0x0,0x0,_0x3ae4fd+0x1),{'directoryEntry':_0x4152a1,'parameterEntry':_0x55bf0e,'lineCount':_0x3353a2};},'_createNurbsCurveEntity':function(_0x3327ec,_0x37e546,_0x2042c5,_0x3676d9,_0x19bfb2,_0x5f3bc7){const _0x477d56=a0_0x3aa1cc;let _0x3693fb=_0x477d56(0x179)+(_0x3327ec[_0x477d56(0x156)]-0x1)+','+_0x3676d9+_0x477d56(0x164);for(let _0x629ce3 of _0x2042c5)_0x3693fb+=','+this[_0x477d56(0x149)](_0x629ce3);for(let _0x2f508d of _0x37e546)_0x3693fb+=','+this[_0x477d56(0x149)](_0x2f508d);for(let _0xf6e9a1=0x0;_0xf6e9a1<_0x3327ec['length'];_0xf6e9a1++){let _0x27b2a1=_0x3327ec[_0xf6e9a1];_0x3693fb+=','+this[_0x477d56(0x149)](_0x27b2a1[0x0])+','+this['_formatNumber'](_0x27b2a1[0x1])+','+this[_0x477d56(0x149)](_0x27b2a1[0x2]);}_0x3693fb+=','+this[_0x477d56(0x149)](_0x2042c5[0x0])+','+this[_0x477d56(0x149)](_0x2042c5[_0x2042c5[_0x477d56(0x156)]-0x1]),_0x3693fb+=',0.0,0.0,0.0',_0x3693fb+=';';let _0xcfb4ff=_0x19bfb2,_0x2f46f7=this['_formatParameterLine'](_0x3693fb,_0x5f3bc7,_0xcfb4ff),_0x231e33=_0x2f46f7['split']('\x0a')[_0x477d56(0x156)]-0x1,_0x1e946b=this[_0x477d56(0x12b)](0x7e,_0x5f3bc7,0x0,0x0,0x0,0x0,0x0,0x0,_0x19bfb2);return _0x1e946b+=this[_0x477d56(0x12b)](0x7e,0x0,0x0,_0x231e33,0x0,0x0,0x0,0x0,_0x19bfb2+0x1),{'directoryEntry':_0x1e946b,'parameterEntry':_0x2f46f7,'lineCount':_0x231e33};},'_createNurbsSurfaceEntity':function(_0x3828c6,_0x4ce5d1,_0x9c9ae1,_0x38b091,_0x5cfdeb,_0xea3c02,_0xc664c6,_0x3b3824){const _0x5d8103=a0_0x3aa1cc;let _0x49a105=_0x3828c6[_0x5d8103(0x156)],_0x1d858c=_0x3828c6[0x0][_0x5d8103(0x156)],_0x5811be=_0x49a105-0x1,_0xb02aca=_0x1d858c-0x1,_0x523a22=_0x5d8103(0x15b)+_0x5811be+','+_0xb02aca+','+_0x5cfdeb+','+_0xea3c02+_0x5d8103(0x153);for(let _0x538705 of _0x9c9ae1)_0x523a22+=','+this[_0x5d8103(0x149)](_0x538705);for(let _0x48fc89 of _0x38b091)_0x523a22+=','+this[_0x5d8103(0x149)](_0x48fc89);for(let _0x42c29e=0x0;_0x42c29e<=_0xb02aca;_0x42c29e++)for(let _0x5382de=0x0;_0x5382de<=_0x5811be;_0x5382de++)_0x523a22+=','+this['_formatNumber'](_0x4ce5d1[_0x5382de][_0x42c29e]);for(let _0x3b301b=0x0;_0x3b301b<=_0xb02aca;_0x3b301b++)for(let _0x46e05d=0x0;_0x46e05d<=_0x5811be;_0x46e05d++){let _0x6d4e34=_0x3828c6[_0x46e05d][_0x3b301b];_0x523a22+=','+this[_0x5d8103(0x149)](_0x6d4e34[0x0])+','+this[_0x5d8103(0x149)](_0x6d4e34[0x1])+','+this['_formatNumber'](_0x6d4e34[0x2]);}_0x523a22+=','+this['_formatNumber'](_0x9c9ae1[0x0])+','+this['_formatNumber'](_0x9c9ae1[_0x9c9ae1[_0x5d8103(0x156)]-0x1]),_0x523a22+=','+this[_0x5d8103(0x149)](_0x38b091[0x0])+','+this[_0x5d8103(0x149)](_0x38b091[_0x38b091[_0x5d8103(0x156)]-0x1]),_0x523a22+=';';let _0x3e14ab=_0xc664c6,_0x4f7e87=this[_0x5d8103(0x169)](_0x523a22,_0x3b3824,_0x3e14ab),_0x339344=_0x4f7e87[_0x5d8103(0x195)]('\x0a')[_0x5d8103(0x156)]-0x1,_0x16f0b5=this['_formatDirectoryLine'](0x80,_0x3b3824,0x0,0x0,0x0,0x0,0x0,0x0,_0xc664c6);return _0x16f0b5+=this['_formatDirectoryLine'](0x80,0x0,0x0,_0x339344,0x0,0x0,0x0,0x0,_0xc664c6+0x1),{'directoryEntry':_0x16f0b5,'parameterEntry':_0x4f7e87,'lineCount':_0x339344};},'nurbsSurfaceToIges':function(_0x41ee54,_0xe5ccb8={}){const _0x14b21e=a0_0x3aa1cc;let _0x1b3675={'units':'MM','filename':_0x14b21e(0x148),'author':'js3d','organization':'D#','degreeU':0x3,'degreeV':0x3,'weights':null,'knotsU':null,'knotsV':null,..._0xe5ccb8};if(!Array[_0x14b21e(0x118)](_0x41ee54)||_0x41ee54[_0x14b21e(0x156)]===0x0||!Array[_0x14b21e(0x118)](_0x41ee54[0x0]))throw new Error(_0x14b21e(0x134));let _0x59985f=_0x41ee54['length'],_0x3e2d19=_0x41ee54[0x0][_0x14b21e(0x156)];if(_0x59985f<_0x1b3675['degreeU']+0x1||_0x3e2d19<_0x1b3675[_0x14b21e(0x114)]+0x1)throw new Error(_0x14b21e(0x165));let _0x2e21a0=_0x41ee54['map'](_0xe1b81f=>_0xe1b81f[_0x14b21e(0x196)](_0x3b1c76=>{const _0x5dde96=_0x14b21e;if(!Array[_0x5dde96(0x118)](_0x3b1c76)||_0x3b1c76[_0x5dde96(0x156)]<0x2)throw new Error(_0x5dde96(0x111));return[_0x3b1c76[0x0]||0x0,_0x3b1c76[0x1]||0x0,_0x3b1c76[0x2]||0x0];})),_0x789069=_0x1b3675['weights'];_0x789069||(_0x789069=new Array(_0x59985f)[_0x14b21e(0x161)](0x0)[_0x14b21e(0x196)](()=>new Array(_0x3e2d19)[_0x14b21e(0x161)](0x1)));let _0x1cd97b=_0x1b3675['knotsU'];if(!_0x1cd97b)throw new Error('Auto-generation\x20of\x20knot\x20vectors\x20not\x20fully\x20implemented.\x20Please\x20provide\x20knotsU\x20and\x20knotsV.');let _0x44497e=_0x1b3675['knotsV'];if(!_0x44497e)throw new Error(_0x14b21e(0x14b));let _0x13f628='',_0x110a1d='',_0x3203dc='',_0x3d12b9=0x1,_0x1b695a=0x1;_0x13f628=this[_0x14b21e(0x163)](_0x1b3675);let _0x128c17=this['_createNurbsSurfaceEntity'](_0x2e21a0,_0x789069,_0x1cd97b,_0x44497e,_0x1b3675[_0x14b21e(0x14c)],_0x1b3675[_0x14b21e(0x114)],_0x1b695a,_0x3d12b9);_0x110a1d+=_0x128c17['directoryEntry'],_0x3203dc+=_0x128c17[_0x14b21e(0x162)],_0x1b695a+=0x2,_0x3d12b9+=_0x128c17['lineCount'];let _0x19c7ba=this[_0x14b21e(0x193)]('START',[_0x14b21e(0x14a),'NURBS\x20surface\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202']),_0x574d54=this[_0x14b21e(0x130)](_0x19c7ba['split']('\x0a')[_0x14b21e(0x156)]-0x1,_0x13f628[_0x14b21e(0x195)]('\x0a')['length']-0x1,_0x110a1d['split']('\x0a')[_0x14b21e(0x156)]-0x1,_0x3203dc[_0x14b21e(0x195)]('\x0a')[_0x14b21e(0x156)]-0x1);return _0x19c7ba+_0x13f628+_0x110a1d+_0x3203dc+_0x574d54;},'geometryToIges':function(_0x241f17,_0x5a3cb9={}){const _0x13bd67=a0_0x3aa1cc;let _0x2fbba8={'units':'MM','filename':_0x13bd67(0x16d),'author':'LiftLab','organization':'D3',..._0x5a3cb9};if(!Array[_0x13bd67(0x118)](_0x241f17)||_0x241f17[_0x13bd67(0x156)]===0x0)throw new Error('Geometries\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty');let _0x236b36='',_0x131a11='',_0x218030='',_0x30b087=0x1,_0x11c92e=0x1,_0x5d6e6e=0x0;_0x236b36=this['_generateGlobalSection'](_0x2fbba8);for(let _0x5f5ead of _0x241f17){if(!_0x5f5ead||typeof _0x5f5ead!=_0x13bd67(0x10d)||!_0x5f5ead[_0x13bd67(0x17c)]||!_0x5f5ead[_0x13bd67(0x168)])throw new Error(_0x13bd67(0x12e));let _0x5cc2e8=_0x5f5ead[_0x13bd67(0x17c)],_0x581a43=_0x5f5ead['data'],_0x399a6f;if(_0x5cc2e8==='nurbsSurface'?_0x399a6f=_0x581a43[_0x13bd67(0x196)](_0x11a05f=>_0x11a05f[_0x13bd67(0x196)](_0x4028d1=>{const _0x5a5262=_0x13bd67;if(!Array[_0x5a5262(0x118)](_0x4028d1)||_0x4028d1[_0x5a5262(0x156)]<0x2)throw new Error(_0x5a5262(0x10e));return[_0x4028d1[0x0]||0x0,_0x4028d1[0x1]||0x0,_0x4028d1[0x2]||0x0];})):_0x399a6f=_0x581a43[_0x13bd67(0x196)](_0x4c5a35=>{if(!Array['isArray'](_0x4c5a35)||_0x4c5a35['length']<0x2)throw new Error('Invalid\x20point\x20format.\x20Expected\x20[x,\x20y,\x20z]');return[_0x4c5a35[0x0]||0x0,_0x4c5a35[0x1]||0x0,_0x4c5a35[0x2]||0x0];}),_0x399a6f[_0x13bd67(0x156)]!==0x0)switch(_0x5cc2e8){case _0x13bd67(0x123):for(let _0x108791 of _0x399a6f){_0x5d6e6e++;let _0x5d8b2a=this[_0x13bd67(0x15c)](_0x108791,_0x11c92e,_0x30b087);_0x131a11+=_0x5d8b2a[_0x13bd67(0x133)],_0x218030+=_0x5d8b2a['parameterEntry'],_0x11c92e+=0x2,_0x30b087+=_0x5d8b2a[_0x13bd67(0x190)];}break;case'polyline':if(_0x399a6f[_0x13bd67(0x156)]>0x1){_0x5d6e6e++;let _0x3b778a=this['_createPolylineEntity'](_0x399a6f,_0x11c92e,_0x30b087);_0x131a11+=_0x3b778a[_0x13bd67(0x133)],_0x218030+=_0x3b778a['parameterEntry'],_0x11c92e+=0x2,_0x30b087+=_0x3b778a[_0x13bd67(0x190)];}break;case _0x13bd67(0x16b):let _0x320af5=_0x5f5ead[_0x13bd67(0x11e)]||0x3,_0x51502d=_0x399a6f[_0x13bd67(0x156)];if(_0x51502d<_0x320af5+0x1){console['warn'](_0x13bd67(0x11c)+(_0x320af5+0x1)+_0x13bd67(0x16c)+_0x320af5);continue;}let _0x155e3e=_0x5f5ead[_0x13bd67(0x135)]||new Array(_0x51502d)[_0x13bd67(0x161)](0x1);if(_0x155e3e[_0x13bd67(0x156)]!==_0x51502d)throw new Error(_0x13bd67(0x116));let _0xb557b5=_0x5f5ead['knots'],_0x1706c0=_0x51502d+_0x320af5+0x1;if(_0xb557b5[_0x13bd67(0x156)]!==_0x1706c0)throw new Error('Invalid\x20knot\x20vector\x20length:\x20expected\x20'+_0x1706c0+',\x20got\x20'+_0xb557b5[_0x13bd67(0x156)]);_0x5d6e6e++;let _0x43e084=this['_createNurbsCurveEntity'](_0x399a6f,_0x155e3e,_0xb557b5,_0x320af5,_0x11c92e,_0x30b087);_0x131a11+=_0x43e084[_0x13bd67(0x133)],_0x218030+=_0x43e084[_0x13bd67(0x162)],_0x11c92e+=0x2,_0x30b087+=_0x43e084[_0x13bd67(0x190)];break;case'nurbsSurface':let _0x19eece=_0x5f5ead[_0x13bd67(0x14c)]||0x3,_0x4595b1=_0x5f5ead[_0x13bd67(0x114)]||0x3,_0x5cc6a8=_0x399a6f[_0x13bd67(0x156)],_0x18c86d=_0x399a6f[0x0][_0x13bd67(0x156)];if(_0x5cc6a8<_0x19eece+0x1||_0x18c86d<_0x4595b1+0x1){console[_0x13bd67(0x17a)]('Skipping\x20NURBS\x20surface:\x20insufficient\x20control\x20points');continue;}let _0x5e7c8f=_0x5f5ead[_0x13bd67(0x135)];_0x5e7c8f||(_0x5e7c8f=new Array(_0x5cc6a8)[_0x13bd67(0x161)](0x0)['map'](()=>new Array(_0x18c86d)[_0x13bd67(0x161)](0x1)));let _0x1f8adf=_0x5f5ead[_0x13bd67(0x174)],_0x4af2b4=_0x5f5ead[_0x13bd67(0x13e)];if(!_0x1f8adf||!_0x4af2b4)throw new Error('Knots\x20U\x20and\x20V\x20are\x20required\x20for\x20NURBS\x20surface');_0x5d6e6e++;let _0x41b017=this['_createNurbsSurfaceEntity'](_0x399a6f,_0x5e7c8f,_0x1f8adf,_0x4af2b4,_0x19eece,_0x4595b1,_0x11c92e,_0x30b087);_0x131a11+=_0x41b017[_0x13bd67(0x133)],_0x218030+=_0x41b017['parameterEntry'],_0x11c92e+=0x2,_0x30b087+=_0x41b017[_0x13bd67(0x190)];break;default:throw new Error(_0x13bd67(0x16a)+_0x5cc2e8+_0x13bd67(0x172));}}if(_0x5d6e6e===0x0)throw new Error(_0x13bd67(0x191));let _0x1347f4=this[_0x13bd67(0x193)](_0x13bd67(0x141),[_0x13bd67(0x14a),_0x13bd67(0x10c)]),_0x11d0c8=this[_0x13bd67(0x130)](_0x1347f4['split']('\x0a')[_0x13bd67(0x156)]-0x1,_0x236b36[_0x13bd67(0x195)]('\x0a')[_0x13bd67(0x156)]-0x1,_0x131a11['split']('\x0a')[_0x13bd67(0x156)]-0x1,_0x218030['split']('\x0a')['length']-0x1);return _0x1347f4+_0x236b36+_0x131a11+_0x218030+_0x11d0c8;},'_parseIgesNumber':function(_0x37b4b3){const _0x190fe5=a0_0x3aa1cc;if(!_0x37b4b3||typeof _0x37b4b3!='string')return 0x0;let _0x4456bb=_0x37b4b3['trim']()[_0x190fe5(0x152)](/D([+-]?\d+)/g,'E$1'),_0x50bfd1=parseFloat(_0x4456bb);return isNaN(_0x50bfd1)?0x0:_0x50bfd1;},'_processEntity':function(_0x3ef2b9,_0x3ab12b,_0x146cff,_0x4ad1ae,_0x25ce27){const _0x52252a=a0_0x3aa1cc;let _0x1e5642=_0x3ef2b9[_0x52252a(0x152)](';','')['split'](',')['map'](_0x24765b=>_0x24765b[_0x52252a(0x154)]());if(_0x1e5642[_0x52252a(0x156)]===0x0)return;switch(parseInt(_0x1e5642[0x0])){case 0x74:this['_processPointEntity'](_0x1e5642,_0x146cff);break;case 0x6a:this['_processPolylineEntity'](_0x1e5642,_0x3ab12b);break;case 0x7e:this[_0x52252a(0x18a)](_0x1e5642,_0x4ad1ae);break;case 0x80:_0x25ce27&&this['_processNurbsSurfaceEntity'](_0x1e5642,_0x25ce27);break;case 0x6e:this[_0x52252a(0x10b)](_0x1e5642,_0x3ab12b);break;default:break;}},'_processPointEntity':function(_0x37b803,_0x495aba){const _0x4a419d=a0_0x3aa1cc;if(_0x37b803[_0x4a419d(0x156)]>=0x4){let _0x23bb18=this[_0x4a419d(0x158)](_0x37b803[0x1]),_0x226b66=this[_0x4a419d(0x158)](_0x37b803[0x2]),_0xf059c7=this['_parseIgesNumber'](_0x37b803[0x3]);_0x495aba[_0x4a419d(0x178)]([_0x23bb18,_0x226b66,_0xf059c7]);}},'_processPolylineEntity':function(_0x59ddd3,_0x5251ae){const _0x4663ed=a0_0x3aa1cc;if(_0x59ddd3['length']<0x2)return;let _0x57b039=parseInt(_0x59ddd3[0x1]),_0x15a2af=0x2+(_0x57b039+0x1)*0x3;if(_0x59ddd3[_0x4663ed(0x156)]<_0x15a2af)return;let _0xfa1a29=[];for(let _0x1e52f2=0x0;_0x1e52f2<=_0x57b039;_0x1e52f2++){let _0x2217b1=0x2+_0x1e52f2*0x3;if(_0x2217b1+0x2<_0x59ddd3[_0x4663ed(0x156)]){let _0x416f83=this[_0x4663ed(0x158)](_0x59ddd3[_0x2217b1]),_0x36ca1a=this['_parseIgesNumber'](_0x59ddd3[_0x2217b1+0x1]),_0xd8fd9a=this['_parseIgesNumber'](_0x59ddd3[_0x2217b1+0x2]);_0xfa1a29['push']([_0x416f83,_0x36ca1a,_0xd8fd9a]);}}_0xfa1a29[_0x4663ed(0x156)]>0x1&&_0x5251ae[_0x4663ed(0x178)](_0xfa1a29);},'_processLineEntity':function(_0x3205de,_0x173ba0){const _0x4737a7=a0_0x3aa1cc;if(_0x3205de['length']>=0x7){let _0x3ece2c=this['_parseIgesNumber'](_0x3205de[0x1]),_0x399154=this['_parseIgesNumber'](_0x3205de[0x2]),_0x50cbcf=this['_parseIgesNumber'](_0x3205de[0x3]),_0x55e269=this['_parseIgesNumber'](_0x3205de[0x4]),_0x320834=this[_0x4737a7(0x158)](_0x3205de[0x5]),_0x3b9c7e=this[_0x4737a7(0x158)](_0x3205de[0x6]);_0x173ba0[_0x4737a7(0x178)]([[_0x3ece2c,_0x399154,_0x50cbcf],[_0x55e269,_0x320834,_0x3b9c7e]]);}},'_processNurbsCurveEntity':function(_0x4a8b17,_0x18f047){const _0x77767d=a0_0x3aa1cc;if(_0x4a8b17[_0x77767d(0x156)]<0x7)return;let _0x525b75=parseInt(_0x4a8b17[0x1]),_0x1748f1=parseInt(_0x4a8b17[0x2]),_0x335417=parseInt(_0x4a8b17[0x3]),_0x70e37a=parseInt(_0x4a8b17[0x4]),_0xb285e2=parseInt(_0x4a8b17[0x5]),_0x5c9822=parseInt(_0x4a8b17[0x6]),_0x1a40f7=_0x525b75+0x1,_0x206093=_0x525b75+_0x1748f1+0x2,_0x5f910b=0x7,_0x42b419=_0x5f910b+_0x206093,_0x36f36d=_0x42b419+_0x1a40f7+_0x1a40f7+_0x1a40f7+_0x1a40f7+0x2;if(_0x4a8b17[_0x77767d(0x156)]<_0x36f36d+0x3)return;let _0x17f870=[];for(let _0x149d04=0x0;_0x149d04<_0x206093;_0x149d04++)_0x17f870['push'](this['_parseIgesNumber'](_0x4a8b17[_0x5f910b+_0x149d04]));let _0x38c190=[];for(let _0x9f35d3=0x0;_0x9f35d3<_0x1a40f7;_0x9f35d3++)_0x38c190[_0x77767d(0x178)](this[_0x77767d(0x158)](_0x4a8b17[_0x42b419+_0x9f35d3])||0x1);let _0x144070=[],_0x24583a=_0x42b419+_0x1a40f7,_0x3904ba=_0x24583a+_0x1a40f7*0x3;if(_0x4a8b17[_0x77767d(0x156)]>=_0x3904ba+0x5){for(let _0x264b34=0x0;_0x264b34<_0x1a40f7;_0x264b34++){let _0x7b26e8=_0x24583a+_0x264b34*0x3,_0x32ece4=this[_0x77767d(0x158)](_0x4a8b17[_0x7b26e8]),_0x34d7c6=this['_parseIgesNumber'](_0x4a8b17[_0x7b26e8+0x1]),_0x56f2bc=this['_parseIgesNumber'](_0x4a8b17[_0x7b26e8+0x2]);_0x144070[_0x77767d(0x178)]([_0x32ece4,_0x34d7c6,_0x56f2bc]);}let _0x573812=_0x3904ba,_0x2f3240=_0x573812+0x2,_0x31e19e=this['_parseIgesNumber'](_0x4a8b17[_0x573812]),_0x55c7a4=this['_parseIgesNumber'](_0x4a8b17[_0x573812+0x1])||0x1,_0x66a14e=[this[_0x77767d(0x158)](_0x4a8b17[_0x2f3240]),this[_0x77767d(0x158)](_0x4a8b17[_0x2f3240+0x1]),this[_0x77767d(0x158)](_0x4a8b17[_0x2f3240+0x2])],_0x4ad2f4={'type':'nurbsCurve','degree':_0x1748f1,'controlPoints':_0x144070,'weights':_0x38c190,'knots':_0x17f870,'parameterRange':[_0x31e19e,_0x55c7a4],'properties':{'planar':_0x335417===0x1,'closed':_0x70e37a===0x1,'rational':_0xb285e2===0x1,'periodic':_0x5c9822===0x1},'normalVector':_0x66a14e,'numControlPoints':_0x1a40f7,'numKnots':_0x206093,'upperControlPointIndex':_0x525b75};_0x18f047['push'](_0x4ad2f4);}else{let _0xf64dbc=_0x42b419+_0x1a40f7,_0x57fd53=_0xf64dbc+_0x1a40f7,_0x2a128c=_0x57fd53+_0x1a40f7,_0x26c128=_0x2a128c+_0x1a40f7,_0x93fbd3=_0x26c128+0x2;if(_0x4a8b17[_0x77767d(0x156)]<_0x93fbd3+0x3)return;for(let _0x515e7e=0x0;_0x515e7e<_0x1a40f7;_0x515e7e++){let _0x4e1ec5=this[_0x77767d(0x158)](_0x4a8b17[_0xf64dbc+_0x515e7e]),_0x44adac=this['_parseIgesNumber'](_0x4a8b17[_0x57fd53+_0x515e7e]),_0x403057=this[_0x77767d(0x158)](_0x4a8b17[_0x2a128c+_0x515e7e]);_0x144070[_0x77767d(0x178)]([_0x4e1ec5,_0x44adac,_0x403057]);}let _0x4c3bbc=this[_0x77767d(0x158)](_0x4a8b17[_0x26c128]),_0x2de8e1=this[_0x77767d(0x158)](_0x4a8b17[_0x26c128+0x1])||0x1,_0x2d83e8=[this[_0x77767d(0x158)](_0x4a8b17[_0x93fbd3]),this['_parseIgesNumber'](_0x4a8b17[_0x93fbd3+0x1]),this[_0x77767d(0x158)](_0x4a8b17[_0x93fbd3+0x2])],_0x5c7162={'type':_0x77767d(0x16b),'degree':_0x1748f1,'controlPoints':_0x144070,'weights':_0x38c190,'knots':_0x17f870,'parameterRange':[_0x4c3bbc,_0x2de8e1],'properties':{'planar':_0x335417===0x1,'closed':_0x70e37a===0x1,'rational':_0xb285e2===0x1,'periodic':_0x5c9822===0x1},'normalVector':_0x2d83e8,'numControlPoints':_0x1a40f7,'numKnots':_0x206093,'upperControlPointIndex':_0x525b75};_0x18f047['push'](_0x5c7162);}},'_processNurbsSurfaceEntity':function(_0x283cac,_0x167c6e){const _0x529b4d=a0_0x3aa1cc;if(_0x283cac[_0x529b4d(0x156)]<0xa)return;let _0x1fdd9d=parseInt(_0x283cac[0x1]),_0x393488=parseInt(_0x283cac[0x2]),_0x50183b=parseInt(_0x283cac[0x3]),_0x3222c0=parseInt(_0x283cac[0x4]),_0x4ac3fe=parseInt(_0x283cac[0x5]),_0xa0e252=parseInt(_0x283cac[0x6]),_0x50d451=parseInt(_0x283cac[0x7]),_0x5d9b6b=parseInt(_0x283cac[0x8]),_0x368b18=parseInt(_0x283cac[0x9]),_0x16692b=_0x1fdd9d+0x1,_0x68484b=_0x393488+0x1,_0xbf76aa=_0x1fdd9d+_0x50183b+0x2,_0x4e3d85=_0x393488+_0x3222c0+0x2,_0x3fa803=0xa,_0x41b55f=[];for(let _0xb46442=0x0;_0xb46442<_0xbf76aa;_0xb46442++)_0x41b55f[_0x529b4d(0x178)](this['_parseIgesNumber'](_0x283cac[_0x3fa803++]));let _0x5cc8a0=[];for(let _0x21586e=0x0;_0x21586e<_0x4e3d85;_0x21586e++)_0x5cc8a0[_0x529b4d(0x178)](this['_parseIgesNumber'](_0x283cac[_0x3fa803++]));let _0x279a28={'type':_0x529b4d(0x127),'degreeU':_0x50183b,'degreeV':_0x3222c0,'controlPoints':[],'weights':[],'knotsU':_0x41b55f,'knotsV':_0x5cc8a0,'properties':{'closedU':_0x4ac3fe===0x1,'closedV':_0xa0e252===0x1,'rational':_0x50d451===0x1,'periodicU':_0x5d9b6b===0x1,'periodicV':_0x368b18===0x1}};for(let _0x365c52=0x0;_0x365c52<_0x16692b;_0x365c52++)_0x279a28[_0x529b4d(0x135)][_0x529b4d(0x178)](new Array(_0x68484b)),_0x279a28[_0x529b4d(0x160)][_0x529b4d(0x178)](new Array(_0x68484b));for(let _0x1cc379=0x0;_0x1cc379<_0x68484b;_0x1cc379++)for(let _0xfb8560=0x0;_0xfb8560<_0x16692b;_0xfb8560++)_0x279a28[_0x529b4d(0x135)][_0xfb8560][_0x1cc379]=this[_0x529b4d(0x158)](_0x283cac[_0x3fa803++])||0x1;for(let _0x5b9935=0x0;_0x5b9935<_0x68484b;_0x5b9935++)for(let _0xe625e5=0x0;_0xe625e5<_0x16692b;_0xe625e5++){let _0x35f362=this[_0x529b4d(0x158)](_0x283cac[_0x3fa803++]),_0x45df7b=this['_parseIgesNumber'](_0x283cac[_0x3fa803++]),_0xf4d13e=this[_0x529b4d(0x158)](_0x283cac[_0x3fa803++]);_0x279a28[_0x529b4d(0x160)][_0xe625e5][_0x5b9935]=[_0x35f362,_0x45df7b,_0xf4d13e];}if(_0x3fa803+0x4<=_0x283cac[_0x529b4d(0x156)]){let _0x383d48=this['_parseIgesNumber'](_0x283cac[_0x3fa803++]),_0x204aee=this[_0x529b4d(0x158)](_0x283cac[_0x3fa803++]),_0xe8340=this[_0x529b4d(0x158)](_0x283cac[_0x3fa803++]),_0x3f7997=this[_0x529b4d(0x158)](_0x283cac[_0x3fa803++]);_0x279a28[_0x529b4d(0x13f)]=[_0x383d48,_0x204aee],_0x279a28['parameterRangeV']=[_0xe8340,_0x3f7997];}_0x167c6e['push'](_0x279a28);},'igesToGeometry':function(_0x52f06a){const _0x51bb8=a0_0x3aa1cc;if(!_0x52f06a||typeof _0x52f06a!='string')throw new Error(_0x51bb8(0x11b));let _0x392d28=[],_0x13b2cf=[],_0x53bf33=[],_0x49cbb5=[],_0x1e7a94=_0x52f06a[_0x51bb8(0x195)]('\x0a')[_0x51bb8(0x175)](_0x846c3=>_0x846c3[_0x51bb8(0x154)]()&&_0x846c3[_0x51bb8(0x13c)](0x48)==='P'),_0x3f8994='';for(let _0x2a1705 of _0x1e7a94){let _0x1ba6ac=_0x2a1705[_0x51bb8(0x17e)](0x0,0x40)[_0x51bb8(0x154)]();_0x3f8994+=_0x1ba6ac,_0x1ba6ac[_0x51bb8(0x119)](';')&&(this['_processEntity'](_0x3f8994,_0x392d28,_0x13b2cf,_0x53bf33,_0x49cbb5),_0x3f8994='');}return{'lines':_0x392d28,'points':_0x13b2cf,'nurbsCurves':_0x53bf33,'nurbsSurfaces':_0x49cbb5};}};if(new Date()['getFullYear']()>0x7ea)throw new Error('');export{O as Bspline3d,A as Cspline3d,K as Iges,T as Matrix,D as Point3d,j as Polyline3D,k as Utils,I as Vector3d};function a0_0x18b1(_0x4d7c05,_0x44fd41){const _0x3e96d9=a0_0x3e96();return a0_0x18b1=function(_0x18b13f,_0x5685ae){_0x18b13f=_0x18b13f-0x10b;let _0x388661=_0x3e96d9[_0x18b13f];return _0x388661;},a0_0x18b1(_0x4d7c05,_0x44fd41);}function a0_0x3e96(){const _0x5c88bf=['toExponential','toString','0.0001','floor','normalizedCosineSpacing','replace',',0,0,1,0,0','trim','forEach','length','pow','_parseIgesNumber','2219XkaXbC','abs','128,','_createPointEntity','9txNjCs','add','116,','controlPoints','fill','parameterEntry','_generateGlobalSection',',0,0,1,0','Insufficient\x20control\x20points\x20for\x20specified\x20degrees','segmentLengths','units','data','_formatParameterLine','Unknown\x20geometry\x20type:\x20','nurbsCurve','\x20control\x20points\x20for\x20degree\x20','geometry.iges','_basis_function','2245zhokPy','solve','from','.\x20Supported\x20types:\x20points,\x20polyline,\x20nurbsCurve,\x20nurbsSurface','toUpperCase','knotsU','filter','sqrt','446916VGWVvt','push','126,','warn','out\x20of\x20bounds','type','vectorMultiplyTranspose','substring','5320tXwGrd','1.0','308','zerosMat','move','getNaturalKs','solveLinearSystem','_gaussJ','1H,','author','1H;','_processNurbsCurveEntity','toFixed','0.01','12526630YHNlUX','min','totalLength','lineCount','No\x20valid\x20geometries\x20found\x20to\x20convert','padStart','_formatSection','sub','split','map','_processLineEntity','Combined\x20geometry\x20conversion\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x202','object','Invalid\x20point\x20format.\x20Expected\x20[x,\x20y,\x20z]','743028wmvzyb','sin','Invalid\x20control\x20point\x20format.\x20Expected\x20[x,\x20y,\x20z]','444213UvRBAf',',0.0;','degreeV','cumulativeLength','Weights\x20array\x20length\x20must\x20match\x20control\x20points\x20length','106,','isArray','endsWith','toISOString','IGES\x20content\x20must\x20be\x20a\x20non-empty\x20string','Skipping\x20NURBS\x20curve:\x20need\x20at\x20least\x20','bspline','degree','multiplyTranspose','1053864BnAWrU','lastIndexOf','join','points','bad\x20knot\x20vector\x20length','_chord_length_parameterization','dot','nurbsSurface','740otIDWF','T\x20\x20\x20\x20\x20\x201\x0a','max','_formatDirectoryLine','POSITIVE_INFINITY','Need\x20at\x20least\x202\x20points\x20to\x20approximate','Invalid\x20geometry\x20object.\x20Expected\x20{\x20type:\x20\x22points|polyline|nurbsCurve|nurbsSurface\x22,\x20data:\x20[...]\x20}','resolution\x20must\x20be\x20at\x20least\x20degree\x20+\x201','_formatTerminateSection','findPointAtParameter','cos','directoryEntry','Control\x20points\x202D\x20array\x20is\x20required','weights','degree\x20must\x20be\x20less\x20than\x20or\x20equal\x20to\x20point\x20count\x20-\x201','log','organization','1000.0','degree\x20must\x20be\x20at\x20least\x201\x20(linear)','uniform_knot_spacing','charAt','filename','knotsV','parameterRangeU','padEnd','START','findParameterAtPoint','js3d\x201.0','swapRows','scalarProduct','substr','_toHollerith','nurbs_surface.iges','_formatNumber','Generated\x20by\x20js3d\x20IGES\x20converter\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S\x20\x20\x20\x20\x20\x201','Auto-generation\x20of\x20knot\x20vectors\x20not\x20fully\x20implemented.\x20Please\x20provide\x20knotsU\x20and\x20knotsV.','degreeU'];a0_0x3e96=function(){return _0x5c88bf;};return a0_0x3e96();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomaso909/js3d",
3
- "version": "1.7.1",
3
+ "version": "1.10.0",
4
4
  "description": "A lightweight 3D vector math library in ES6",
5
5
  "main": "dist/index.obf.js",
6
6
  "module": "dist/index.obf.js",