@flyfish-group/file-viewer 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -13
- package/dist/components/3MFLoader.js +1 -1
- package/dist/components/AMFLoader.js +1 -1
- package/dist/components/AudioViewer.js +1 -1
- package/dist/components/CadViewer.js +1 -1
- package/dist/components/CodeViewer.js +1 -1
- package/dist/components/ColladaLoader.js +1 -1
- package/dist/components/DrawingViewer.js +1 -1
- package/dist/components/EdaViewer.js +1 -1
- package/dist/components/EmailViewer.js +1 -1
- package/dist/components/EpubViewer.js +1 -1
- package/dist/components/FBXLoader.js +1 -1
- package/dist/components/GLTFLoader.js +1 -1
- package/dist/components/ImageViewer.js +1 -1
- package/dist/components/KMZLoader.js +1 -1
- package/dist/components/MarkdownViewer.js +1 -1
- package/dist/components/OBJLoader.js +1 -1
- package/dist/components/OfdViewer.js +1 -1
- package/dist/components/PCDLoader.js +1 -1
- package/dist/components/PLYLoader.js +1 -1
- package/dist/components/PdfView.js +3563 -3504
- package/dist/components/STLLoader.js +1 -1
- package/dist/components/TDSLoader.js +1 -1
- package/dist/components/USDLoader.js +1 -1
- package/dist/components/UmdViewer.js +2 -2
- package/dist/components/VRMLLoader.js +1 -1
- package/dist/components/VTKLoader.js +1 -1
- package/dist/components/XYZLoader.js +1 -1
- package/dist/components/XlsxTable.js +1 -1
- package/dist/components/___vite-browser-external_commonjs-proxy.js +1 -1
- package/dist/components/_commonjs-dynamic-modules.js +1 -1
- package/dist/components/_commonjsHelpers.js +1 -1
- package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
- package/dist/components/arc.js +1 -1
- package/dist/components/architecture-7EHR7CIX.js +1 -1
- package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
- package/dist/components/az-AZ-76LH7QW2.js +1 -1
- package/dist/components/bg-BG-XCXSNQG7.js +1 -1
- package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
- package/dist/components/bn-BD-2XOGV67Q.js +1 -1
- package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
- package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
- package/dist/components/cfb.js +1 -1
- package/dist/components/channel.js +1 -1
- package/dist/components/chunk-2J33WTMH.js +1 -1
- package/dist/components/chunk-4BX2VUAB.js +1 -1
- package/dist/components/chunk-55IACEB6.js +1 -1
- package/dist/components/chunk-727SXJPM.js +1 -1
- package/dist/components/chunk-AQP2D5EJ.js +1 -1
- package/dist/components/chunk-FMBD7UC4.js +1 -1
- package/dist/components/chunk-ND2GUHAM.js +1 -1
- package/dist/components/chunk-QZHKN3VN.js +1 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
- package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
- package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
- package/dist/components/cytoscape.esm.js +1 -1
- package/dist/components/da-DK-5WZEPLOC.js +1 -1
- package/dist/components/dagre-BM42HDAG.js +1 -1
- package/dist/components/de-DE-XR44H4JA.js +1 -1
- package/dist/components/defaultLocale.js +1 -1
- package/dist/components/diagram-2AECGRRQ.js +1 -1
- package/dist/components/diagram-5GNKFQAL.js +1 -1
- package/dist/components/diagram-KO2AKTUF.js +1 -1
- package/dist/components/diagram-LMA3HP47.js +1 -1
- package/dist/components/diagram-OG6HWLK6.js +1 -1
- package/dist/components/directory-open-01563666.js +1 -1
- package/dist/components/directory-open-4ed118d0.js +1 -1
- package/dist/components/docx-preview.js +2 -2
- package/dist/components/el-GR-BZB4AONW.js +1 -1
- package/dist/components/en-B4ZKOASM.js +1 -1
- package/dist/components/erDiagram-TEJ5UH35.js +1 -1
- package/dist/components/es-ES-U4NZUMDT.js +1 -1
- package/dist/components/eu-ES-A7QVB2H4.js +1 -1
- package/dist/components/eventmodeling-FCH6USID.js +1 -1
- package/dist/components/fa-IR-HGAKTJCU.js +1 -1
- package/dist/components/fflate.module.js +1 -1
- package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
- package/dist/components/file-open-002ab408.js +1 -1
- package/dist/components/file-open-7c801643.js +1 -1
- package/dist/components/file-save-3189631c.js +1 -1
- package/dist/components/file-save-745eba88.js +1 -1
- package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
- package/dist/components/fr-FR-RHASNOE6.js +1 -1
- package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
- package/dist/components/gitGraph-WXDBUCRP.js +1 -1
- package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
- package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
- package/dist/components/graph.js +1 -1
- package/dist/components/he-IL-6SHJWFNN.js +1 -1
- package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
- package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
- package/dist/components/id-ID-SAP4L64H.js +1 -1
- package/dist/components/image-GAAHSSAO.js +1 -1
- package/dist/components/image-blob-reduce.esm.js +1 -1
- package/dist/components/index10.js +1 -1
- package/dist/components/index11.js +1 -1
- package/dist/components/index12.js +1 -1
- package/dist/components/index13.js +1 -1
- package/dist/components/index14.js +1 -1
- package/dist/components/index15.js +1 -1
- package/dist/components/index16.js +1 -1
- package/dist/components/index17.js +1 -1
- package/dist/components/index18.js +1 -1
- package/dist/components/index19.js +1 -1
- package/dist/components/index2.js +1 -1
- package/dist/components/index20.js +1 -1
- package/dist/components/index21.js +2 -2
- package/dist/components/index22.js +1 -1
- package/dist/components/index23.js +1 -1
- package/dist/components/index24.js +1 -1
- package/dist/components/index3.js +1 -1
- package/dist/components/index4.js +1 -1
- package/dist/components/index5.js +1 -1
- package/dist/components/index6.js +1 -1
- package/dist/components/index7.js +1 -1
- package/dist/components/index8.js +1 -1
- package/dist/components/index9.js +1 -1
- package/dist/components/info-J43DQDTF.js +1 -1
- package/dist/components/infoDiagram-5YYISTIA.js +1 -1
- package/dist/components/init.js +1 -1
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
- package/dist/components/it-IT-JPQ66NNP.js +1 -1
- package/dist/components/ja-JP-DBVTYXUO.js +1 -1
- package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
- package/dist/components/jszip.min.js +1 -1
- package/dist/components/kaa-6HZHGXH3.js +1 -1
- package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
- package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
- package/dist/components/katex.js +1 -1
- package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
- package/dist/components/km-KH-HSX4SM5Z.js +1 -1
- package/dist/components/ko-KR-MTYHY66A.js +1 -1
- package/dist/components/ku-TR-6OUDTVRD.js +1 -1
- package/dist/components/layout.js +1 -1
- package/dist/components/libarchive.js +1 -1
- package/dist/components/linear.js +1 -1
- package/dist/components/lt-LT-XHIRWOB4.js +1 -1
- package/dist/components/lv-LV-5QDEKY6T.js +1 -1
- package/dist/components/mermaid-parser.core.js +2 -2
- package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
- package/dist/components/mr-IN-CRQNXWMA.js +1 -1
- package/dist/components/my-MM-5M5IBNSE.js +1 -1
- package/dist/components/nb-NO-T6EIAALU.js +1 -1
- package/dist/components/nestedRender.js +1 -1
- package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
- package/dist/components/nn-NO-6E72VCQL.js +1 -1
- package/dist/components/oc-FR-POXYY2M6.js +1 -1
- package/dist/components/ofd.js +1 -1
- package/dist/components/ordinal.js +1 -1
- package/dist/components/pa-IN-N4M65BXN.js +1 -1
- package/dist/components/packet-YPE3B663.js +1 -1
- package/dist/components/percentages-BXMCSKIN.js +1 -1
- package/dist/components/pica.js +1 -1
- package/dist/components/pie-LRSECV5Y.js +1 -1
- package/dist/components/pie.js +1 -1
- package/dist/components/pieDiagram-4H26LBE5.js +1 -1
- package/dist/components/pl-PL-T2D74RX3.js +1 -1
- package/dist/components/postal-mime.js +1 -1
- package/dist/components/printLayout.js +1 -0
- package/dist/components/pt-BR-5N22H2LF.js +1 -1
- package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
- package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
- package/dist/components/radar-GUYGQ44K.js +1 -1
- package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
- package/dist/components/ro-RO-JPDTUUEW.js +1 -1
- package/dist/components/rough.esm.js +1 -1
- package/dist/components/roundRect.js +1 -1
- package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
- package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
- package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
- package/dist/components/si-LK-N5RQ5JYF.js +1 -1
- package/dist/components/sk-SK-C5VTKIMK.js +1 -1
- package/dist/components/sl-SI-NN7IZMDC.js +1 -1
- package/dist/components/stateDiagram-AJRCARHV.js +1 -1
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
- package/dist/components/subset-shared.chunk.js +1 -1
- package/dist/components/subset-worker.chunk.js +1 -1
- package/dist/components/sv-SE-XGPEYMSR.js +1 -1
- package/dist/components/ta-IN-2NMHFXQM.js +1 -1
- package/dist/components/th-TH-HPSO5L25.js +1 -1
- package/dist/components/time.js +1 -1
- package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
- package/dist/components/tr-TR-DEFEU3FU.js +1 -1
- package/dist/components/transform.js +1 -1
- package/dist/components/treeView-BLDUP644.js +1 -1
- package/dist/components/treemap-LRROVOQU.js +1 -1
- package/dist/components/uk-UA-QMV73CPH.js +1 -1
- package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
- package/dist/components/vi-VN-M7AON7JQ.js +1 -1
- package/dist/components/wardley-L42UT6IY.js +1 -1
- package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
- package/dist/components/worker-ref.js +1 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
- package/dist/components/zh-CN-LNUGB5OW.js +1 -1
- package/dist/components/zh-HK-E62DVLB3.js +1 -1
- package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
- package/dist/index.d.ts +24 -0
- package/dist/index.mjs +1 -1
- package/dist/style.css +2 -2
- package/package.json +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const bi=c;(function(aj,ak){const aT=c,al=aj();while(!![]){try{const am=parseInt(aT(0x122))/0x1+parseInt(aT(0x144))/0x2*(-parseInt(aT(0x116))/0x3)+parseInt(aT(0x13d))/0x4+parseInt(aT(0x149))/0x5*(parseInt(aT(0x19f))/0x6)+parseInt(aT(0x141))/0x7*(-parseInt(aT(0x194))/0x8)+-parseInt(aT(0x1ed))/0x9+parseInt(aT(0x1ba))/0xa;if(am===ak)break;else al['push'](al['shift']());}catch(an){al['push'](al['shift']());}}}(a,0xed383));import{ap as d,V as e,aq as f,L as g,h,F as i,T as j,R as k,k as l,ai as m,c as n,ar as o,K as p,C as r,S as s,as as t,i as u,G as v,ab as w,a5 as A,O as C,v as D,_ as F,x as L,Z as N,$ as T,a6 as X,f as a0,b as a1,a7 as a2,a9 as a3,at as a4,B as a5,a as a6,au as a7,av as a8,H as a9,J as aa,aa as ab,Q as ac,aj as ad,aw as af,al as ag,ak as ah}from'./ModelViewer.js';import{a as ai}from'./fflate.module.js';import'vue';import'./index7.js';function ie(aj,ak,al){const aU=c,am=al[aU(0x131)]-aj-0x1;if(ak>=al[am])return am-0x1;if(ak<=al[aj])return aj;let an=aj,ao=am,ap=Math['floor']((an+ao)/0x2);for(;ak<al[ap]||ak>=al[ap+0x1];)ak<al[ap]?ao=ap:an=ap,ap=Math['floor']((an+ao)/0x2);return ap;}function Be(aj,ak,al,am){const an=[],ao=[],ap=[];an[0x0]=0x1;for(let aq=0x1;aq<=al;++aq){ao[aq]=ak-am[aj+0x1-aq],ap[aq]=am[aj+aq]-ak;let ar=0x0;for(let as=0x0;as<aq;++as){const at=ap[as+0x1],au=ao[aq-as],av=an[as]/(at+au);an[as]=ar+at*av,ar=au*av;}an[aq]=ar;}return an;}function Oe(aj,ak,al,am){const an=ie(aj,am,ak),ao=Be(an,am,aj,ak),ap=new d(0x0,0x0,0x0,0x0);for(let aq=0x0;aq<=aj;++aq){const ar=al[an-aj+aq],as=ao[aq],at=ar['w']*as;ap['x']+=ar['x']*at,ap['y']+=ar['y']*at,ap['z']+=ar['z']*at,ap['w']+=ar['w']*as;}return ap;}function Ve(aj,ak,al,am,an){const ao=[];for(let au=0x0;au<=al;++au)ao[au]=0x0;const ap=[];for(let av=0x0;av<=am;++av)ap[av]=ao['slice'](0x0);const aq=[];for(let aw=0x0;aw<=al;++aw)aq[aw]=ao['slice'](0x0);aq[0x0][0x0]=0x1;const ar=ao['slice'](0x0),as=ao['slice'](0x0);for(let ax=0x1;ax<=al;++ax){ar[ax]=ak-an[aj+0x1-ax],as[ax]=an[aj+ax]-ak;let ay=0x0;for(let az=0x0;az<ax;++az){const aA=as[az+0x1],aB=ar[ax-az];aq[ax][az]=aA+aB;const aC=aq[az][ax-0x1]/aq[ax][az];aq[az][ax]=ay+aA*aC,ay=aB*aC;}aq[ax][ax]=ay;}for(let aD=0x0;aD<=al;++aD)ap[0x0][aD]=aq[aD][al];for(let aE=0x0;aE<=al;++aE){let aF=0x0,aG=0x1;const aH=[];for(let aI=0x0;aI<=al;++aI)aH[aI]=ao['slice'](0x0);aH[0x0][0x0]=0x1;for(let aJ=0x1;aJ<=am;++aJ){let aK=0x0;const aL=aE-aJ,aM=al-aJ;aE>=aJ&&(aH[aG][0x0]=aH[aF][0x0]/aq[aM+0x1][aL],aK=aH[aG][0x0]*aq[aL][aM]);const aN=aL>=-0x1?0x1:-aL,aO=aE-0x1<=aM?aJ-0x1:al-aE;for(let aQ=aN;aQ<=aO;++aQ)aH[aG][aQ]=(aH[aF][aQ]-aH[aF][aQ-0x1])/aq[aM+0x1][aL+aQ],aK+=aH[aG][aQ]*aq[aL+aQ][aM];aE<=aM&&(aH[aG][aJ]=-aH[aF][aJ-0x1]/aq[aM+0x1][aE],aK+=aH[aG][aJ]*aq[aE][aM]),ap[aJ][aE]=aK;const aP=aF;aF=aG,aG=aP;}}let at=al;for(let aR=0x1;aR<=am;++aR){for(let aS=0x0;aS<=al;++aS)ap[aR][aS]*=at;at*=al-aR;}return ap;}function Ue(aj,ak,al,am,an){const aV=c,ao=an<aj?an:aj,ap=[],aq=ie(aj,am,ak),ar=Ve(aq,am,aj,ao,ak),as=[];for(let at=0x0;at<al['length'];++at){const au=al[at][aV(0x19c)](),av=au['w'];au['x']*=av,au['y']*=av,au['z']*=av,as[at]=au;}for(let aw=0x0;aw<=ao;++aw){const ax=as[aq-aj][aV(0x19c)]()['multiplyScalar'](ar[aw][0x0]);for(let ay=0x1;ay<=aj;++ay)ax[aV(0x112)](as[aq-aj+ay]['clone']()['multiplyScalar'](ar[aw][ay]));ap[aw]=ax;}for(let az=ao+0x1;az<=an+0x1;++az)ap[az]=new d(0x0,0x0,0x0);return ap;}function Xe(aj,ak){let al=0x1;for(let an=0x2;an<=aj;++an)al*=an;let am=0x1;for(let ao=0x2;ao<=ak;++ao)am*=ao;for(let ap=0x2;ap<=aj-ak;++ap)am*=ap;return al/am;}function Ge(aj){const ak=aj['length'],al=[],am=[];for(let ao=0x0;ao<ak;++ao){const ap=aj[ao];al[ao]=new e(ap['x'],ap['y'],ap['z']),am[ao]=ap['w'];}const an=[];for(let aq=0x0;aq<ak;++aq){const ar=al[aq]['clone']();for(let as=0x1;as<=aq;++as)ar['sub'](an[aq-as]['clone']()['multiplyScalar'](Xe(aq,as)*am[as]));an[aq]=ar['divideScalar'](am[0x0]);}return an;}function ze(aj,ak,al,am,an){const ao=Ue(aj,ak,al,am,an);return Ge(ao);}class je extends f{constructor(aj,ak,al,am,an){super();const ao=ak?ak['length']-0x1:0x0,ap=al?al['length']:0x0;this['degree']=aj,this['knots']=ak,this['controlPoints']=[],this['startKnot']=am||0x0,this['endKnot']=an||ao;for(let aq=0x0;aq<ap;++aq){const ar=al[aq];this['controlPoints'][aq]=new d(ar['x'],ar['y'],ar['z'],ar['w']);}}['getPoint'](aj,ak=new e()){const aW=c,al=ak,am=this['knots'][this[aW(0x13c)]]+aj*(this['knots'][this['endKnot']]-this['knots'][this['startKnot']]),an=Oe(this['degree'],this[aW(0x13b)],this[aW(0x157)],am);return an['w']!==0x1&&an[aW(0x19d)](an['w']),al[aW(0x18b)](an['x'],an['y'],an['z']);}['getTangent'](aj,ak=new e()){const aX=c,al=ak,am=this['knots'][0x0]+aj*(this[aX(0x13b)][this['knots']['length']-0x1]-this['knots'][0x0]),an=ze(this[aX(0x1ad)],this[aX(0x13b)],this['controlPoints'],am,0x1);return al[aX(0x115)](an[0x1])['normalize'](),al;}['toJSON'](){const aY=c,aj=super['toJSON']();return aj['degree']=this['degree'],aj['knots']=[...this[aY(0x13b)]],aj['controlPoints']=this[aY(0x157)]['map'](ak=>ak[aY(0x123)]()),aj['startKnot']=this[aY(0x13c)],aj['endKnot']=this['endKnot'],aj;}['fromJSON'](aj){const aZ=c;return super['fromJSON'](aj),this['degree']=aj['degree'],this['knots']=[...aj['knots']],this['controlPoints']=aj[aZ(0x157)]['map'](ak=>new d(ak[0x0],ak[0x1],ak[0x2],ak[0x3])),this[aZ(0x13c)]=aj['startKnot'],this['endKnot']=aj['endKnot'],this;}}let y,x,P;class st extends g{constructor(aj){super(aj);}['load'](aj,ak,al,am){const b0=c,an=this,ao=an[b0(0x1e8)]===''?h['extractUrlBase'](aj):an['path'],ap=new i(this[b0(0x1b2)]);ap['setPath'](an['path']),ap['setResponseType']('arraybuffer'),ap[b0(0x174)](an['requestHeader']),ap['setWithCredentials'](an['withCredentials']),ap['load'](aj,function(aq){const b1=b0;try{ak(an['parse'](aq,ao));}catch(ar){am?am(ar):console[b1(0x15f)](ar),an['manager']['itemError'](aj);}},al,am);}['parse'](aj,ak){const b2=c;if(Ye(aj))y=new Ne()['parse'](aj);else{const am=le(aj);if(!Ze(am))throw new Error('THREE.FBXLoader:\x20Unknown\x20format.');if(se(am)<0x1b58)throw new Error(b2(0x140)+se(am));y=new We()[b2(0x11e)](am);}const al=new j(this['manager'])['setPath'](this[b2(0x119)]||ak)['setCrossOrigin'](this['crossOrigin']);return new _e(al,this[b2(0x1b2)])['parse'](y);}}class _e{constructor(aj,ak){this['textureLoader']=aj,this['manager']=ak;}['parse'](){const b3=c;x=this['parseConnections']();const aj=this['parseImages'](),ak=this['parseTextures'](aj),al=this[b3(0x139)](ak),am=this['parseDeformers'](),an=new He()['parse'](am);return this['parseScene'](am,an,al),P;}['parseConnections'](){const b4=c,aj=new Map();return b4(0x134)in y&&y['Connections'][b4(0x1de)]['forEach'](function(ak){const b5=b4,al=ak[0x0],am=ak[0x1],an=ak[0x2];aj[b5(0x1c5)](al)||aj['set'](al,{'parents':[],'children':[]});const ao={'ID':am,'relationship':an};aj['get'](al)['parents']['push'](ao),aj['has'](am)||aj['set'](am,{'parents':[],'children':[]});const ap={'ID':al,'relationship':an};aj['get'](am)[b5(0x192)]['push'](ap);}),aj;}['parseImages'](){const b6=c,aj={},ak={};if(b6(0x1e4)in y['Objects']){const al=y[b6(0x1be)]['Video'];for(const am in al){const an=al[am],ao=parseInt(am);if(aj[ao]=an['RelativeFilename']||an['Filename'],'Content'in an){const ap=an['Content']instanceof ArrayBuffer&&an['Content']['byteLength']>0x0,aq=typeof an['Content']=='string'&&an['Content']!=='';if(ap||aq){const ar=this['parseImage'](al[am]);ak[an[b6(0x11f)]||an[b6(0x14e)]]=ar;}}}}for(const as in aj){const at=aj[as];ak[at]!==void 0x0?aj[as]=ak[at]:aj[as]=aj[as]['split']('\x5c')['pop']();}return aj;}['parseImage'](aj){const b7=c,ak=aj['Content'],al=aj[b7(0x11f)]||aj['Filename'],am=al['slice'](al['lastIndexOf']('.')+0x1)['toLowerCase']();let an;switch(am){case b7(0x179):an='image/bmp';break;case'jpg':case'jpeg':an='image/jpeg';break;case'png':an='image/png';break;case'tif':an='image/tiff';break;case'tga':this['manager'][b7(0x1d7)]('.tga')===null&&console['warn']('FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20',al),an='image/tga';break;case'webp':an='image/webp';break;default:console[b7(0x1bd)]('FBXLoader:\x20Image\x20type\x20\x22'+am+b7(0x156));return;}if(typeof ak=='string')return'data:'+an+b7(0x185)+ak;{const ao=new Uint8Array(ak);return window['URL']['createObjectURL'](new Blob([ao],{'type':an}));}}['parseTextures'](aj){const b8=c,ak=new Map();if('Texture'in y[b8(0x1be)]){const al=y['Objects']['Texture'];for(const am in al){const an=this[b8(0x17a)](al[am],aj);ak['set'](parseInt(am),an);}}return ak;}['parseTexture'](aj,ak){const b9=c,al=this['loadTexture'](aj,ak);al['ID']=aj['id'],al['name']=aj['attrName'];const am=aj['WrapModeU'],an=aj[b9(0x1b9)],ao=am!==void 0x0?am[b9(0x14d)]:0x0,ap=an!==void 0x0?an[b9(0x14d)]:0x0;if(al['wrapS']=ao===0x0?k:l,al['wrapT']=ap===0x0?k:l,'Scaling'in aj){const aq=aj[b9(0x154)]['value'];al['repeat']['x']=aq[0x0],al['repeat']['y']=aq[0x1];}if('Translation'in aj){const ar=aj['Translation'][b9(0x14d)];al[b9(0x1f0)]['x']=ar[0x0],al['offset']['y']=ar[0x1];}return al;}['loadTexture'](aj,ak){const ba=c,al=aj['FileName']['split']('.')['pop']()['toLowerCase']();let am=this['manager']['getHandler']('.'+al);am===null&&(am=this[ba(0x10a)]);const an=am[ba(0x1e8)];an||am['setPath'](this['textureLoader']['path']);const ao=x['get'](aj['id'])['children'];let ap;if(ao!==void 0x0&&ao[ba(0x131)]>0x0&&ak[ao[0x0]['ID']]!==void 0x0&&(ap=ak[ao[0x0]['ID']],(ap[ba(0x1a6)]('blob:')===0x0||ap['indexOf']('data:')===0x0)&&am['setPath'](void 0x0)),ap===void 0x0)return console['warn']('FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.'),new m();const aq=am['load'](ap);return am[ba(0x13f)](an),aq;}['parseMaterials'](aj){const bb=c,ak=new Map();if('Material'in y['Objects']){const al=y['Objects'][bb(0x182)];for(const am in al){const an=this[bb(0x10d)](al[am],aj);an!==null&&ak['set'](parseInt(am),an);}}return ak;}['parseMaterial'](aj,ak){const bc=c,al=aj['id'],am=aj['attrName'];let an=aj['ShadingModel'];if(typeof an=='object'&&(an=an['value']),!x['has'](al))return null;const ao=this['parseParameters'](aj,ak,al);let ap;switch(an[bc(0x196)]()){case bc(0x11d):ap=new n();break;case'lambert':ap=new o();break;default:console[bc(0x1bd)]('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',an),ap=new n();break;}return ap['setValues'](ao),ap['name']=am,ap;}['parseParameters'](aj,ak,al){const bd=c,am={};aj['BumpFactor']&&(am['bumpScale']=aj['BumpFactor']['value']),aj['Diffuse']?am[bd(0x1d3)]=p['colorSpaceToWorking'](new r()['fromArray'](aj['Diffuse'][bd(0x14d)]),s):aj[bd(0x199)]&&(aj[bd(0x199)][bd(0x153)]==='Color'||aj['DiffuseColor']['type']===bd(0x143))&&(am['color']=p['colorSpaceToWorking'](new r()['fromArray'](aj['DiffuseColor']['value']),s)),aj['DisplacementFactor']&&(am['displacementScale']=aj['DisplacementFactor']['value']),aj[bd(0x16b)]?am['emissive']=p[bd(0x109)](new r()['fromArray'](aj['Emissive'][bd(0x14d)]),s):aj['EmissiveColor']&&(aj['EmissiveColor']['type']==='Color'||aj['EmissiveColor']['type']==='ColorRGB')&&(am['emissive']=p['colorSpaceToWorking'](new r()['fromArray'](aj['EmissiveColor'][bd(0x14d)]),s)),aj['EmissiveFactor']&&(am['emissiveIntensity']=parseFloat(aj['EmissiveFactor']['value'])),am['opacity']=0x1-(aj['TransparencyFactor']?parseFloat(aj['TransparencyFactor'][bd(0x14d)]):0x0),(am['opacity']===0x1||am['opacity']===0x0)&&(am['opacity']=aj['Opacity']?parseFloat(aj['Opacity']['value']):null,am[bd(0x16c)]===null&&(am['opacity']=0x1)),am['opacity']<0x1&&(am[bd(0x1df)]=!0x0),aj[bd(0x1f2)]&&(am['reflectivity']=aj['ReflectionFactor'][bd(0x14d)]),aj['Shininess']&&(am[bd(0x1b6)]=aj['Shininess']['value']),aj['Specular']?am['specular']=p['colorSpaceToWorking'](new r()['fromArray'](aj[bd(0x1af)]['value']),s):aj['SpecularColor']&&aj[bd(0x130)]['type']===bd(0x161)&&(am['specular']=p['colorSpaceToWorking'](new r()['fromArray'](aj['SpecularColor'][bd(0x14d)]),s));const an=this;return x['get'](al)[bd(0x192)][bd(0x197)](function(ao){const bf=bd,ap=ao[bf(0x184)];switch(ap){case'Bump':am['bumpMap']=an['getTexture'](ak,ao['ID']);break;case'Maya|TEX_ao_map':am[bf(0x1ea)]=an['getTexture'](ak,ao['ID']);break;case bf(0x199):case'Maya|TEX_color_map':am['map']=an['getTexture'](ak,ao['ID']),am['map']!==void 0x0&&(am['map']['colorSpace']=s);break;case bf(0x159):am['displacementMap']=an['getTexture'](ak,ao['ID']);break;case'EmissiveColor':am[bf(0x1d2)]=an['getTexture'](ak,ao['ID']),am['emissiveMap']!==void 0x0&&(am['emissiveMap']['colorSpace']=s);break;case'NormalMap':case'Maya|TEX_normal_map':am['normalMap']=an['getTexture'](ak,ao['ID']);break;case'ReflectionColor':am['envMap']=an['getTexture'](ak,ao['ID']),am['envMap']!==void 0x0&&(am['envMap']['mapping']=t,am['envMap']['colorSpace']=s);break;case'SpecularColor':am['specularMap']=an['getTexture'](ak,ao['ID']),am['specularMap']!==void 0x0&&(am['specularMap']['colorSpace']=s);break;case'TransparentColor':case'TransparencyFactor':am['alphaMap']=an['getTexture'](ak,ao['ID']),am['transparent']=!0x0;break;case bf(0x170):case bf(0x16f):case'SpecularFactor':case'VectorDisplacementColor':default:console['warn']('THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.',ap);break;}}),am;}['getTexture'](aj,ak){const bg=c;return'LayeredTexture'in y['Objects']&&ak in y[bg(0x1be)]['LayeredTexture']&&(console['warn']('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),ak=x[bg(0x1ca)](ak)['children'][0x0]['ID']),aj['get'](ak);}['parseDeformers'](){const bh=c,aj={},ak={};if('Deformer'in y['Objects']){const al=y['Objects']['Deformer'];for(const am in al){const an=al[am],ao=x['get'](parseInt(am));if(an['attrType']==='Skin'){const ap=this['parseSkeleton'](ao,al);ap['ID']=am,ao['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),ap['geometryID']=ao[bh(0x1a7)][0x0]['ID'],aj[am]=ap;}else{if(an['attrType']==='BlendShape'){const aq={'id':am};aq['rawTargets']=this['parseMorphTargets'](ao,al),aq['id']=am,ao[bh(0x1a7)]['length']>0x1&&console[bh(0x1bd)](bh(0x138)),ak[am]=aq;}}}}return{'skeletons':aj,'morphTargets':ak};}[bi(0x1e5)](aj,ak){const bj=bi,al=[];return aj['children'][bj(0x197)](function(am){const bk=bj,an=ak[am['ID']];if(an['attrType']!==bk(0x1a2))return;const ao={'ID':am['ID'],'indices':[],'weights':[],'transformLink':new u()['fromArray'](an['TransformLink']['a'])};'Indexes'in an&&(ao['indices']=an['Indexes']['a'],ao[bk(0x11a)]=an[bk(0x1e0)]['a']),al['push'](ao);}),{'rawBones':al,'bones':[]};}[bi(0x189)](aj,ak){const bl=bi,al=[];for(let am=0x0;am<aj['children']['length'];am++){const an=aj['children'][am],ao=ak[an['ID']],ap={'name':ao['attrName'],'initialWeight':ao[bl(0x1e9)],'id':ao['id'],'fullWeights':ao[bl(0x1d5)]['a']};if(ao[bl(0x148)]!=='BlendShapeChannel')return;ap[bl(0x12b)]=x['get'](parseInt(an['ID']))['children']['filter'](function(aq){return aq['relationship']===void 0x0;})[0x0]['ID'],al['push'](ap);}return al;}['parseScene'](aj,ak,al){const bo=bi;P=new v();const am=this['parseModels'](aj['skeletons'],ak,al),an=y['Objects']['Model'],ao=this;am['forEach'](function(at){const au=an[at['ID']];ao['setLookAtProperties'](at,au),x['get'](at['ID'])['parents']['forEach'](function(av){const bm=c,aw=am[bm(0x1ca)](av['ID']);aw!==void 0x0&&aw['add'](at);}),at['parent']===null&&P['add'](at);}),this['addGlobalSceneSettings'](),P['traverse'](function(at){const bn=c;if(at[bn(0x146)][bn(0x11c)]){at['parent']&&(at['userData']['transformData'][bn(0x17c)]=at[bn(0x12a)][bn(0x11b)],at['userData']['transformData']['parentMatrixWorld']=at[bn(0x12a)]['matrixWorld']);const au=oe(at[bn(0x146)]['transformData']);at['applyMatrix4'](au),at['updateWorldMatrix']();}});const ap=this[bo(0x1d0)](),aq=new Set();for(const at in aj['skeletons'])aj['skeletons'][at]['rawBones']['forEach'](function(au,av){const bp=bo,aw=aj['skeletons'][at][bp(0x173)][av];aw&&aq['add'](aw['ID']);});const ar=new u();P['traverse'](function(au){if(au['isBone']&&au['ID']!==void 0x0&&!aq['has'](au['ID'])){const av=ap[au['ID']];av!==void 0x0&&(au['parent']?(ar['copy'](au['parent']['matrixWorld'])['invert'](),ar['multiply'](av)):ar['copy'](av),ar['decompose'](au['position'],au['quaternion'],au['scale']),au['updateMatrix'](),au['matrixWorld']['copy'](av));}}),this['bindSkeleton'](aj['skeletons'],ak,am);const as=new Ke()['parse']();P['children']['length']===0x1&&P[bo(0x192)][0x0]['isGroup']&&(P[bo(0x192)][0x0]['animations']=as,P=P[bo(0x192)][0x0]),P['animations']=as,'GlobalSettings'in y&&bo(0x195)in y['GlobalSettings']&&y[bo(0x1dc)]['UpAxis']['value']===0x2&&(console['warn']('THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.'),P['rotation'][bo(0x18b)](-Math['PI']/0x2,0x0,0x0));}['parseModels'](aj,ak,al){const bq=bi,am=new Map(),an=y['Objects']['Model'];for(const ao in an){const ap=parseInt(ao),aq=an[ao],ar=x['get'](ap);let as=this['buildSkeleton'](ar,aj,ap,aq['attrName']);if(!as){switch(aq['attrType']){case'Camera':as=this['createCamera'](ar);break;case'Light':as=this['createLight'](ar);break;case'Mesh':as=this['createMesh'](ar,ak,al);break;case bq(0x176):as=this[bq(0x1bc)](ar,ak);break;case'LimbNode':case bq(0x1c8):as=new w();break;case bq(0x12c):default:as=new v();break;}as['name']=aq['attrName']?A['sanitizeNodeName'](aq['attrName']):'',as['userData']['originalName']=aq['attrName'],as['ID']=ap;}this['getTransformData'](as,aq),am['set'](ap,as);}return am;}['buildSkeleton'](aj,ak,al,am){let an=null;return aj['parents']['forEach'](function(ao){const br=c;for(const ap in ak){const aq=ak[ap];aq['rawBones'][br(0x197)](function(ar,as){const bs=br;if(ar['ID']===ao['ID']){const at=an;an=new w(),an['matrixWorld']['copy'](ar[bs(0x1cf)]),an['name']=am?A['sanitizeNodeName'](am):'',an[bs(0x146)]['originalName']=am,an['ID']=al,aq['bones'][as]=an,at!==null&&an['add'](at);}});}}),an;}['createCamera'](aj){const bu=bi;let ak,al;if(aj['children']['forEach'](function(am){const bt=c,an=y[bt(0x1be)]['NodeAttribute'][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am=0x0;al['CameraProjectionType']!==void 0x0&&al[bu(0x1ec)]['value']===0x1&&(am=0x1);let an=0x1;al['NearPlane']!==void 0x0&&(an=al['NearPlane']['value']/0x3e8);let ao=0x3e8;al['FarPlane']!==void 0x0&&(ao=al['FarPlane'][bu(0x14d)]/0x3e8);let ap=window[bu(0x133)],aq=window[bu(0x1c2)];al[bu(0x1aa)]!==void 0x0&&al['AspectHeight']!==void 0x0&&(ap=al['AspectWidth']['value'],aq=al['AspectHeight'][bu(0x14d)]);const ar=ap/aq;let as=0x2d;al['FieldOfView']!==void 0x0&&(as=al['FieldOfView']['value']);const at=al['FocalLength']?al['FocalLength']['value']:null;switch(am){case 0x0:ak=new D(as,ar,an,ao),at!==null&&ak['setFocalLength'](at);break;case 0x1:console['warn']('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),ak=new C();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+am+'.'),ak=new C();break;}}return ak;}['createLight'](aj){const bv=bi;let ak,al;if(aj[bv(0x192)]['forEach'](function(am){const bw=bv,an=y['Objects'][bw(0x1b0)][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am;al[bv(0x135)]===void 0x0?am=0x0:am=al['LightType']['value'];let an=0xffffff;al['Color']!==void 0x0&&(an=p['colorSpaceToWorking'](new r()[bv(0x14a)](al['Color']['value']),s));let ao=al['Intensity']===void 0x0?0x1:al['Intensity']['value']/0x64;al['CastLightOnObject']!==void 0x0&&al['CastLightOnObject']['value']===0x0&&(ao=0x0);let ap=0x0;al['FarAttenuationEnd']!==void 0x0&&(al['EnableFarAttenuation']!==void 0x0&&al['EnableFarAttenuation']['value']===0x0?ap=0x0:ap=al['FarAttenuationEnd']['value']);const aq=0x1;switch(am){case 0x0:ak=new F(an,ao,ap,aq);break;case 0x1:ak=new T(an,ao);break;case 0x2:let ar=Math['PI']/0x3,as=0x0;al['OuterAngle']!==void 0x0?(ar=L['degToRad'](al['OuterAngle']['value']),al['InnerAngle']!==void 0x0&&(as=0x1-al['InnerAngle']['value']/al[bv(0x1da)][bv(0x14d)],as=Math['max'](0x0,as))):al[bv(0x1c0)]!==void 0x0&&(ar=L['degToRad'](al['InnerAngle']['value'])),ak=new N(an,ao,ap,ar,as,aq);break;default:console[bv(0x1bd)]('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+al['LightType'][bv(0x14d)]+',\x20defaulting\x20to\x20a\x20PointLight.'),ak=new F(an,ao);break;}al['CastShadows']!==void 0x0&&al['CastShadows']['value']===0x1&&(ak[bv(0x10f)]=!0x0);}return ak;}['createMesh'](aj,ak,al){const bx=bi;let am,an=null,ao=null;const ap=[];if(aj['children'][bx(0x197)](function(aq){const by=bx;ak['has'](aq['ID'])&&(an=ak[by(0x1ca)](aq['ID'])),al['has'](aq['ID'])&&ap['push'](al['get'](aq['ID']));}),ap['length']>0x1?ao=ap:ap['length']>0x0?ao=ap[0x0]:(ao=new n({'name':g[bx(0x15a)],'color':0xcccccc}),ap[bx(0x132)](ao)),'color'in an['attributes']&&ap[bx(0x197)](function(aq){const bz=bx;aq[bz(0x188)]=!0x0;}),an[bx(0x1db)]['length']>0x0){let aq=!0x1;for(let ar=0x0,as=an['groups']['length'];ar<as;ar++){const at=an[bx(0x1db)][ar];(at['materialIndex']<0x0||at['materialIndex']>=ap['length'])&&(at[bx(0x1d1)]=ap['length'],aq=!0x0);}if(aq){const au=new n();ap['push'](au);}}return an[bx(0x1c3)]?(am=new X(an,ao),am['normalizeSkinWeights']()):am=new a0(an,ao),am;}['createCurve'](aj,ak){const bA=bi,al=aj[bA(0x192)]['reduce'](function(an,ao){return ak['has'](ao['ID'])&&(an=ak['get'](ao['ID'])),an;},null),am=new a1({'name':g['DEFAULT_MATERIAL_NAME'],'color':0x3300ff,'linewidth':0x1});return new a2(al,am);}[bi(0x1d4)](aj,ak){const bB=bi,al={};bB(0x168)in ak&&(al[bB(0x1b7)]=parseInt(ak['InheritType']['value'])),'RotationOrder'in ak?al['eulerOrder']=z(ak['RotationOrder'][bB(0x14d)]):al['eulerOrder']=z(0x0),'Lcl_Translation'in ak&&(al['translation']=ak['Lcl_Translation']['value']),bB(0x10e)in ak&&(al['preRotation']=ak['PreRotation'][bB(0x14d)]),bB(0x160)in ak&&(al['rotation']=ak['Lcl_Rotation']['value']),'PostRotation'in ak&&(al['postRotation']=ak['PostRotation']['value']),'Lcl_Scaling'in ak&&(al['scale']=ak['Lcl_Scaling']['value']),'ScalingOffset'in ak&&(al['scalingOffset']=ak[bB(0x10c)][bB(0x14d)]),'ScalingPivot'in ak&&(al['scalingPivot']=ak['ScalingPivot']['value']),bB(0x18e)in ak&&(al['rotationOffset']=ak['RotationOffset'][bB(0x14d)]),'RotationPivot'in ak&&(al['rotationPivot']=ak['RotationPivot'][bB(0x14d)]),aj[bB(0x146)]['transformData']=al;}['setLookAtProperties'](aj,ak){'LookAtProperty'in ak&&x['get'](aj['ID'])['children']['forEach'](function(al){const bC=c;if(al['relationship']===bC(0x1d9)){const am=y[bC(0x1be)][bC(0x166)][al['ID']];if('Lcl_Translation'in am){const an=am['Lcl_Translation']['value'];aj['target']!==void 0x0?(aj['target']['position']['fromArray'](an),P['add'](aj['target'])):aj['lookAt'](new e()['fromArray'](an));}}});}['bindSkeleton'](aj,ak,al){const bD=bi;for(const am in aj){const an=aj[am],ao=[];for(let ap=0x0,aq=an[bD(0x173)]['length'];ap<aq;ap++){const ar=new u();an['bones'][ap]&&an['rawBones'][ap]&&ar['copy'](an['rawBones'][ap]['transformLink'])[bD(0x16e)](),ao['push'](ar);}x['get'](parseInt(an['ID']))['parents']['forEach'](function(as){const bE=bD;if(ak[bE(0x1c5)](as['ID'])){const at=as['ID'];x['get'](at)['parents']['forEach'](function(au){const bF=bE;if(al['has'](au['ID'])){const av=al['get'](au['ID']);av['updateMatrixWorld'](!0x0),av[bF(0x18d)](new a3(an['bones'],ao),av['matrixWorld']);}});}});}}['parsePoseNodes'](){const bH=bi,aj={};if('Pose'in y['Objects']){const ak=y['Objects']['Pose'];for(const al in ak)if(ak[al]['attrType']==='BindPose'&&ak[al]['NbPoseNodes']>0x0){const am=ak[al]['PoseNode'];Array['isArray'](am)?am['forEach'](function(an){const bG=c;aj[an[bG(0x175)]]=new u()[bG(0x14a)](an['Matrix']['a']);}):aj[am['Node']]=new u()[bH(0x14a)](am['Matrix']['a']);}}return aj;}['addGlobalSceneSettings'](){const bI=bi;if('GlobalSettings'in y){if('AmbientColor'in y['GlobalSettings']){const aj=y['GlobalSettings']['AmbientColor']['value'],ak=aj[0x0],al=aj[0x1],am=aj[0x2];if(ak!==0x0||al!==0x0||am!==0x0){const an=new r()['setRGB'](ak,al,am,s);P['add'](new a4(an,0x1));}}'UnitScaleFactor'in y['GlobalSettings']&&(P['userData']['unitScaleFactor']=y['GlobalSettings']['UnitScaleFactor'][bI(0x14d)]);}}}class He{constructor(){this['negativeMaterialIndices']=!0x1;}['parse'](aj){const bJ=bi,ak=new Map();if('Geometry'in y['Objects']){const al=y[bJ(0x1be)]['Geometry'];for(const am in al){const an=x['get'](parseInt(am)),ao=this['parseGeometry'](an,al[am],aj);ak[bJ(0x18b)](parseInt(am),ao);}}return this[bJ(0x107)]===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),ak;}['parseGeometry'](aj,ak,al){const bK=bi;switch(ak['attrType']){case bK(0x1cc):return this[bK(0x1eb)](aj,ak,al);case'NurbsCurve':return this['parseNurbsGeometry'](ak);}}['parseMeshGeometry'](aj,ak,al){const bL=bi,am=al['skeletons'],an=[],ao=aj['parents'][bL(0x15c)](function(at){return y['Objects']['Model'][at['ID']];});if(ao['length']===0x0)return;const ap=aj['children']['reduce'](function(at,au){return am[au['ID']]!==void 0x0&&(at=am[au['ID']]),at;},null);aj['children'][bL(0x197)](function(at){al['morphTargets'][at['ID']]!==void 0x0&&an['push'](al['morphTargets'][at['ID']]);});const aq=ao[0x0],ar={};'RotationOrder'in aq&&(ar['eulerOrder']=z(aq['RotationOrder']['value'])),'InheritType'in aq&&(ar['inheritType']=parseInt(aq['InheritType']['value'])),'GeometricTranslation'in aq&&(ar[bL(0x14f)]=aq['GeometricTranslation'][bL(0x14d)]),bL(0x18a)in aq&&(ar['rotation']=aq['GeometricRotation'][bL(0x14d)]),'GeometricScaling'in aq&&(ar['scale']=aq['GeometricScaling']['value']);const as=oe(ar);return this[bL(0x193)](ak,ap,an,as);}[bi(0x193)](aj,ak,al,am){const bM=bi,an=new a5();aj['attrName']&&(an['name']=aj['attrName']);const ao=this[bM(0x106)](aj,ak),ap=this['genBuffers'](ao),aq=new a6(ap['vertex'],0x3);if(aq['applyMatrix4'](am),an[bM(0x16d)]('position',aq),ap['colors']['length']>0x0&&an['setAttribute']('color',new a6(ap['colors'],0x3)),ak&&(an['setAttribute']('skinIndex',new a7(ap['weightsIndices'],0x4)),an['setAttribute'](bM(0x162),new a6(ap['vertexWeights'],0x4)),an['FBX_Deformer']=ak),ap['normal']['length']>0x0){const ar=new a8()['getNormalMatrix'](am),as=new a6(ap['normal'],0x3);as['applyNormalMatrix'](ar),an['setAttribute'](bM(0x1f1),as);}if(ap['uvs']['forEach'](function(at,au){const av=au===0x0?'uv':'uv'+au;an['setAttribute'](av,new a6(ap['uvs'][au],0x2));}),ao['material']&&ao['material']['mappingType']!=='AllSame'){let at=ap['materialIndex'][0x0],au=0x0;if(ap['materialIndex'][bM(0x197)](function(av,aw){av!==at&&(an['addGroup'](au,aw-au,at),at=av,au=aw);}),an['groups']['length']>0x0){const av=an['groups'][an[bM(0x1db)]['length']-0x1],aw=av['start']+av['count'];aw!==ap['materialIndex']['length']&&an['addGroup'](aw,ap['materialIndex']['length']-aw,at);}an['groups']['length']===0x0&&an['addGroup'](0x0,ap['materialIndex'][bM(0x131)],ap[bM(0x1d1)][0x0]);}return this['addMorphTargets'](an,aj,al,am),an;}[bi(0x106)](aj,ak){const bN=bi,al={};if(al[bN(0x1c4)]=aj['Vertices']!==void 0x0?aj['Vertices']['a']:[],al['vertexIndices']=aj[bN(0x191)]!==void 0x0?aj['PolygonVertexIndex']['a']:[],aj['LayerElementColor']&&aj['LayerElementColor'][0x0]['Colors']&&(al['color']=this[bN(0x104)](aj['LayerElementColor'][0x0])),aj['LayerElementMaterial']&&(al['material']=this['parseMaterialIndices'](aj[bN(0x13a)][0x0])),aj['LayerElementNormal']&&(al[bN(0x1f1)]=this['parseNormals'](aj['LayerElementNormal'][0x0])),aj['LayerElementUV']){al['uv']=[];let am=0x0;for(;aj['LayerElementUV'][am];)aj[bN(0x1a0)][am]['UV']&&al['uv']['push'](this[bN(0x114)](aj[bN(0x1a0)][am])),am++;}return al['weightTable']={},ak!==null&&(al['skeleton']=ak,ak['rawBones']['forEach'](function(an,ao){an['indices']['forEach'](function(ap,aq){const bO=c;al['weightTable'][ap]===void 0x0&&(al['weightTable'][ap]=[]),al['weightTable'][ap]['push']({'id':ao,'weight':an[bO(0x11a)][aq]});});})),al;}['genBuffers'](aj){const bP=bi,ak={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]};let al=0x0,am=0x0,an=!0x1,ao=[],ap=[],aq=[],ar=[],as=[],at=[];const au=this;return aj[bP(0x128)]['forEach'](function(av,aw){const bQ=bP;let ax,ay=!0x1;av<0x0&&(av=av^-0x1,ay=!0x0);let az=[],aA=[];if(ao['push'](av*0x3,av*0x3+0x1,av*0x3+0x2),aj[bQ(0x1d3)]){const aB=K(aw,al,av,aj['color']);aq[bQ(0x132)](aB[0x0],aB[0x1],aB[0x2]);}if(aj['skeleton']){if(aj['weightTable'][av]!==void 0x0&&aj['weightTable'][av]['forEach'](function(aC){aA['push'](aC['weight']),az['push'](aC['id']);}),aA['length']>0x4){an||(console['warn']('THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.'),an=!0x0);const aC=[0x0,0x0,0x0,0x0],aD=[0x0,0x0,0x0,0x0];aA['forEach'](function(aE,aF){let aG=aE,aH=az[aF];aD['forEach'](function(aI,aJ,aK){if(aG>aI){aK[aJ]=aG,aG=aI;const aL=aC[aJ];aC[aJ]=aH,aH=aL;}});}),az=aC,aA=aD;}for(;aA['length']<0x4;)aA['push'](0x0),az['push'](0x0);for(let aE=0x0;aE<0x4;++aE)as['push'](aA[aE]),at[bQ(0x132)](az[aE]);}if(aj[bQ(0x1f1)]){const aF=K(aw,al,av,aj['normal']);ap['push'](aF[0x0],aF[0x1],aF[0x2]);}aj['material']&&aj['material']['mappingType']!=='AllSame'&&(ax=K(aw,al,av,aj['material'])[0x0],ax<0x0&&(au['negativeMaterialIndices']=!0x0,ax=0x0)),aj['uv']&&aj['uv']['forEach'](function(aG,aH){const aI=K(aw,al,av,aG);ar[aH]===void 0x0&&(ar[aH]=[]),ar[aH]['push'](aI[0x0]),ar[aH]['push'](aI[0x1]);}),am++,ay&&(au['genFace'](ak,aj,ao,ax,ap,aq,ar,as,at,am),al++,am=0x0,ao=[],ap=[],aq=[],ar=[],as=[],at=[]);}),ak;}['getNormalNewell'](aj){const ak=new e(0x0,0x0,0x0);for(let al=0x0;al<aj['length'];al++){const am=aj[al],an=aj[(al+0x1)%aj['length']];ak['x']+=(am['y']-an['y'])*(am['z']+an['z']),ak['y']+=(am['z']-an['z'])*(am['x']+an['x']),ak['z']+=(am['x']-an['x'])*(am['y']+an['y']);}return ak['normalize'](),ak;}['getNormalTangentAndBitangent'](aj){const ak=this['getNormalNewell'](aj),al=(Math['abs'](ak['z'])>0.5?new e(0x0,0x1,0x0):new e(0x0,0x0,0x1))['cross'](ak)['normalize'](),am=ak['clone']()['cross'](al)['normalize']();return{'normal':ak,'tangent':al,'bitangent':am};}[bi(0x136)](aj,ak,al){return new a9(aj['dot'](ak),aj['dot'](al));}['genFace'](aj,ak,al,am,an,ao,ap,aq,ar,as){const bR=bi;let at;if(as>0x3){const au=[],av=ak['baseVertexPositions']||ak['vertexPositions'];for(let az=0x0;az<al['length'];az+=0x3)au['push'](new e(av[al[az]],av[al[az+0x1]],av[al[az+0x2]]));const {tangent:aw,bitangent:ax}=this['getNormalTangentAndBitangent'](au),ay=[];for(const aA of au)ay['push'](this['flattenVertex'](aA,aw,ax));at=aa['triangulateShape'](ay,[]);}else at=[[0x0,0x1,0x2]];for(const [aB,aC,aD]of at)aj['vertex'][bR(0x132)](ak['vertexPositions'][al[aB*0x3]]),aj['vertex']['push'](ak['vertexPositions'][al[aB*0x3+0x1]]),aj['vertex']['push'](ak[bR(0x1c4)][al[aB*0x3+0x2]]),aj['vertex']['push'](ak[bR(0x1c4)][al[aC*0x3]]),aj['vertex'][bR(0x132)](ak['vertexPositions'][al[aC*0x3+0x1]]),aj['vertex']['push'](ak['vertexPositions'][al[aC*0x3+0x2]]),aj['vertex']['push'](ak[bR(0x1c4)][al[aD*0x3]]),aj[bR(0x145)]['push'](ak['vertexPositions'][al[aD*0x3+0x1]]),aj['vertex'][bR(0x132)](ak[bR(0x1c4)][al[aD*0x3+0x2]]),ak['skeleton']&&(aj['vertexWeights']['push'](aq[aB*0x4]),aj['vertexWeights']['push'](aq[aB*0x4+0x1]),aj['vertexWeights']['push'](aq[aB*0x4+0x2]),aj[bR(0x1ce)]['push'](aq[aB*0x4+0x3]),aj['vertexWeights']['push'](aq[aC*0x4]),aj['vertexWeights'][bR(0x132)](aq[aC*0x4+0x1]),aj['vertexWeights']['push'](aq[aC*0x4+0x2]),aj['vertexWeights']['push'](aq[aC*0x4+0x3]),aj['vertexWeights']['push'](aq[aD*0x4]),aj['vertexWeights']['push'](aq[aD*0x4+0x1]),aj['vertexWeights']['push'](aq[aD*0x4+0x2]),aj['vertexWeights']['push'](aq[aD*0x4+0x3]),aj['weightsIndices']['push'](ar[aB*0x4]),aj['weightsIndices']['push'](ar[aB*0x4+0x1]),aj[bR(0x152)]['push'](ar[aB*0x4+0x2]),aj['weightsIndices']['push'](ar[aB*0x4+0x3]),aj[bR(0x152)]['push'](ar[aC*0x4]),aj['weightsIndices']['push'](ar[aC*0x4+0x1]),aj['weightsIndices']['push'](ar[aC*0x4+0x2]),aj[bR(0x152)]['push'](ar[aC*0x4+0x3]),aj['weightsIndices']['push'](ar[aD*0x4]),aj[bR(0x152)]['push'](ar[aD*0x4+0x1]),aj[bR(0x152)]['push'](ar[aD*0x4+0x2]),aj[bR(0x152)][bR(0x132)](ar[aD*0x4+0x3])),ak['color']&&(aj['colors']['push'](ao[aB*0x3]),aj['colors']['push'](ao[aB*0x3+0x1]),aj['colors']['push'](ao[aB*0x3+0x2]),aj['colors']['push'](ao[aC*0x3]),aj[bR(0x126)]['push'](ao[aC*0x3+0x1]),aj[bR(0x126)]['push'](ao[aC*0x3+0x2]),aj['colors']['push'](ao[aD*0x3]),aj['colors']['push'](ao[aD*0x3+0x1]),aj[bR(0x126)]['push'](ao[aD*0x3+0x2])),ak[bR(0x147)]&&ak['material']['mappingType']!=='AllSame'&&(aj[bR(0x1d1)][bR(0x132)](am),aj['materialIndex'][bR(0x132)](am),aj[bR(0x1d1)]['push'](am)),ak['normal']&&(aj[bR(0x1f1)]['push'](an[aB*0x3]),aj['normal'][bR(0x132)](an[aB*0x3+0x1]),aj['normal'][bR(0x132)](an[aB*0x3+0x2]),aj[bR(0x1f1)]['push'](an[aC*0x3]),aj['normal']['push'](an[aC*0x3+0x1]),aj['normal']['push'](an[aC*0x3+0x2]),aj['normal']['push'](an[aD*0x3]),aj['normal']['push'](an[aD*0x3+0x1]),aj[bR(0x1f1)]['push'](an[aD*0x3+0x2])),ak['uv']&&ak['uv']['forEach'](function(aE,aF){const bS=bR;aj['uvs'][aF]===void 0x0&&(aj['uvs'][aF]=[]),aj['uvs'][aF]['push'](ap[aF][aB*0x2]),aj['uvs'][aF]['push'](ap[aF][aB*0x2+0x1]),aj['uvs'][aF]['push'](ap[aF][aC*0x2]),aj['uvs'][aF]['push'](ap[aF][aC*0x2+0x1]),aj['uvs'][aF]['push'](ap[aF][aD*0x2]),aj['uvs'][aF][bS(0x132)](ap[aF][aD*0x2+0x1]);});}[bi(0x164)](aj,ak,al,am){const bT=bi;if(al['length']===0x0)return;aj[bT(0x15e)]=!0x0,aj[bT(0x158)]['position']=[];const an=am['clone']()[bT(0x1ac)](0x0,0x0,0x0),ao=this;al['forEach'](function(ap){const bU=bT;ap['rawTargets'][bU(0x197)](function(aq){const ar=y['Objects']['Geometry'][aq['geoID']];ar!==void 0x0&&ao['genMorphGeometry'](aj,ak,ar,an,aq['name']);});});}['genMorphGeometry'](aj,ak,al,am,an){const bV=bi,ao=ak['Vertices']!==void 0x0?ak['Vertices']['a']:[],ap=ak['PolygonVertexIndex']!==void 0x0?ak['PolygonVertexIndex']['a']:[],aq=al['Vertices']!==void 0x0?al['Vertices']['a']:[],ar=al['Indexes']!==void 0x0?al['Indexes']['a']:[],as=aj['attributes']['position']['count']*0x3,at=new Float32Array(as);for(let ax=0x0;ax<ar[bV(0x131)];ax++){const ay=ar[ax]*0x3;at[ay]=aq[ax*0x3],at[ay+0x1]=aq[ax*0x3+0x1],at[ay+0x2]=aq[ax*0x3+0x2];}const au={'vertexIndices':ap,'vertexPositions':at,'baseVertexPositions':ao},av=this['genBuffers'](au),aw=new a6(av['vertex'],0x3);aw['name']=an||al['attrName'],aw['applyMatrix4'](am),aj['morphAttributes']['position']['push'](aw);}['parseNormals'](aj){const bW=bi,ak=aj['MappingInformationType'],al=aj[bW(0x19a)],am=aj[bW(0x18f)]['a'];let an=[];return al===bW(0x1a3)&&('NormalIndex'in aj?an=aj['NormalIndex']['a']:'NormalsIndex'in aj&&(an=aj['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseUVs'](aj){const bX=bi,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['UV']['a'];let an=[];return al==='IndexToDirect'&&(an=aj[bX(0x14b)]['a']),{'dataSize':0x2,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseVertexColors'](aj){const bY=bi,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['Colors']['a'];let an=[];al===bY(0x1a3)&&(an=aj['ColorIndex']['a']);for(let ao=0x0,ap=new r();ao<am['length'];ao+=0x4)ap['fromArray'](am,ao),p['colorSpaceToWorking'](ap,s),ap['toArray'](am,ao);return{'dataSize':0x4,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseMaterialIndices'](aj){const bZ=bi,ak=aj[bZ(0x15d)],al=aj['ReferenceInformationType'];if(ak==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':al};const am=aj['Materials']['a'],an=[];for(let ao=0x0;ao<am['length'];++ao)an[bZ(0x132)](ao);return{'dataSize':0x1,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseNurbsGeometry'](aj){const c0=bi,ak=parseInt(aj['Order']);if(isNaN(ak))return console['error']('THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s',aj['Order'],aj['id']),new a5();const al=ak-0x1,am=aj[c0(0x1c6)]['a'],an=[],ao=aj[c0(0x180)]['a'];for(let as=0x0,at=ao['length'];as<at;as+=0x4)an['push'](new d()[c0(0x14a)](ao,as));let ap,aq;if(aj['Form']==='Closed')an['push'](an[0x0]);else{if(aj[c0(0x1a1)]==='Periodic'){ap=al,aq=am[c0(0x131)]-0x1-ap;for(let au=0x0;au<al;++au)an['push'](an[au]);}}const ar=new je(al,am,an,ap,aq)[c0(0x1cb)](an['length']*0xc);return new a5()['setFromPoints'](ar);}}class Ke{['parse'](){const c1=bi,aj=[],ak=this['parseClips']();if(ak!==void 0x0)for(const al in ak){const am=ak[al],an=this[c1(0x142)](am);aj['push'](an);}return aj;}['parseClips'](){if(y['Objects']['AnimationCurve']===void 0x0)return;const aj=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aj);const ak=this['parseAnimationLayers'](aj);return this['parseAnimStacks'](ak);}['parseAnimationCurveNodes'](){const c2=bi,aj=y['Objects']['AnimationCurveNode'],ak=new Map();for(const al in aj){const am=aj[al];if(am['attrName']['match'](/S|R|T|DeformPercent/)!==null){const an={'id':am['id'],'attr':am[c2(0x1e2)],'curves':{}};ak['set'](an['id'],an);}}return ak;}[bi(0x186)](aj){const c3=bi,ak=y['Objects']['AnimationCurve'];for(const al in ak){const am={'id':ak[al]['id'],'times':ak[al]['KeyTime']['a']['map'](qe),'values':ak[al][c3(0x172)]['a']},an=x['get'](am['id']);if(an!==void 0x0){const ao=an['parents'][0x0]['ID'],ap=an['parents'][0x0]['relationship'];ap['match'](/X/)?aj['get'](ao)['curves']['x']=am:ap['match'](/Y/)?aj['get'](ao)[c3(0x17b)]['y']=am:ap[c3(0x12f)](/Z/)?aj['get'](ao)['curves']['z']=am:ap['match'](/DeformPercent/)&&aj['has'](ao)&&(aj['get'](ao)[c3(0x17b)]['morph']=am);}}}['parseAnimationLayers'](aj){const c4=bi,ak=y[c4(0x1be)]['AnimationLayer'],al=new Map();for(const am in ak){const an=[],ao=x['get'](parseInt(am));ao!==void 0x0&&(ao['children']['forEach'](function(ap,aq){const c5=c4;if(aj[c5(0x1c5)](ap['ID'])){const ar=aj['get'](ap['ID']);if(ar['curves']['x']!==void 0x0||ar['curves']['y']!==void 0x0||ar[c5(0x17b)]['z']!==void 0x0){if(an[aq]===void 0x0){const as=x['get'](ap['ID'])['parents']['filter'](function(au){return au['relationship']!==void 0x0;});if(as['length']===0x0)return;const at=as[0x0]['ID'];if(at!==void 0x0){const au=y['Objects']['Model'][at[c5(0x190)]()];if(au===void 0x0){console[c5(0x1bd)]('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',ap);return;}const av={'modelName':au['attrName']?A['sanitizeNodeName'](au['attrName']):'','ID':au['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};P['traverse'](function(aw){const c6=c5;aw['ID']===au['id']&&(av[c6(0x178)]=aw['matrix'],aw[c6(0x146)][c6(0x11c)]&&(av['eulerOrder']=aw['userData'][c6(0x11c)]['eulerOrder'],aw['userData']['transformData'][c6(0x12e)]&&(av['initialRotation']=aw[c6(0x146)]['transformData']['rotation'])));}),av['transform']||(av['transform']=new u()),'PreRotation'in au&&(av['preRotation']=au['PreRotation']['value']),'PostRotation'in au&&(av['postRotation']=au['PostRotation']['value']),an[aq]=av;}}an[aq]&&(an[aq][ar[c5(0x1d6)]]=ar);}else{if(ar['curves']['morph']!==void 0x0){if(an[aq]===void 0x0){const aw=x['get'](ap['ID'])['parents']['filter'](function(aD){return aD['relationship']!==void 0x0;});if(aw[c5(0x131)]===0x0)return;const ax=aw[0x0]['ID'],ay=x['get'](ax)['parents'][0x0]['ID'],az=x['get'](ay)['parents'][0x0]['ID'],aA=x['get'](az)['parents'][0x0]['ID'],aB=y['Objects'][c5(0x166)][aA],aC={'modelName':aB['attrName']?A['sanitizeNodeName'](aB['attrName']):'','morphName':y['Objects']['Deformer'][ax]['attrName']};an[aq]=aC;}an[aq][ar['attr']]=ar;}}}}),al[c4(0x18b)](parseInt(am),an));}return al;}[bi(0x181)](aj){const ak=y['Objects']['AnimationStack'],al={};for(const am in ak){const an=x['get'](parseInt(am))['children'];an['length']>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');const ao=aj['get'](an[0x0]['ID']);al[am]={'name':ak[am]['attrName'],'layer':ao};}return al;}['addClip'](aj){let ak=[];const al=this;return aj['layer']['forEach'](function(am){ak=ak['concat'](al['generateTracks'](am));}),new ab(aj['name'],-0x1,ak);}[bi(0x15b)](aj){const c7=bi,ak=[];let al=new e(),am=new e();if(aj['transform']&&aj[c7(0x178)][c7(0x137)](al,new ac(),am),al=al['toArray'](),am=am['toArray'](),aj['T']!==void 0x0&&Object[c7(0x1ae)](aj['T'][c7(0x17b)])['length']>0x0){const an=this['generateVectorTrack'](aj['modelName'],aj['T']['curves'],al,'position');an!==void 0x0&&ak['push'](an);}if(aj['R']!==void 0x0&&Object['keys'](aj['R']['curves'])[c7(0x131)]>0x0){const ao=this['generateRotationTrack'](aj[c7(0x1d8)],aj['R']['curves'],aj['preRotation'],aj[c7(0x1b5)],aj[c7(0x113)],aj['initialRotation']);ao!==void 0x0&&ak['push'](ao);}if(aj['S']!==void 0x0&&Object['keys'](aj['S'][c7(0x17b)])[c7(0x131)]>0x0){const ap=this['generateVectorTrack'](aj['modelName'],aj['S']['curves'],am,c7(0x1b1));ap!==void 0x0&&ak['push'](ap);}if(aj['DeformPercent']!==void 0x0){const aq=this['generateMorphTrack'](aj);aq!==void 0x0&&ak[c7(0x132)](aq);}return ak;}['generateVectorTrack'](aj,ak,al,am){const an=this['getTimesForAllAxes'](ak),ao=this['getKeyframeTrackValues'](an,ak,al);return new ad(aj+'.'+am,an,ao);}[bi(0x1e7)](aj,ak,al,am,an,ao){const c8=bi;let ap,aq;if(ak['x']!==void 0x0||ak['y']!==void 0x0||ak['z']!==void 0x0){const av=this['getTimesForAllAxes'](ak);if(av['length']>0x0){const aw=ao||[0x0,0x0,0x0],ax=this['synchronizeCurve'](ak['x'],av,aw[0x0]),ay=this['synchronizeCurve'](ak['y'],av,aw[0x1]),az=this['synchronizeCurve'](ak['z'],av,aw[0x2]),aA=this['interpolateRotations'](ax,ay,az,an);ap=aA[0x0],aq=aA[0x1];}}const ar=z(0x0);al!==void 0x0&&(al=al['map'](L['degToRad']),al['push'](ar),al=new af()['fromArray'](al),al=new ac()[c8(0x10b)](al)),am!==void 0x0&&(am=am['map'](L[c8(0x129)]),am['push'](ar),am=new af()['fromArray'](am),am=new ac()['setFromEuler'](am)[c8(0x16e)]());const as=new ac(),at=new af(),au=[];if(!(!aq||!ap)){for(let aB=0x0;aB<aq['length'];aB+=0x3)at['set'](aq[aB],aq[aB+0x1],aq[aB+0x2],an),as['setFromEuler'](at),al!==void 0x0&&as['premultiply'](al),am!==void 0x0&&as[c8(0x121)](am),aB>0x2&&new ac()['fromArray'](au,(aB-0x3)/0x3*0x4)['dot'](as)<0x0&&as['set'](-as['x'],-as['y'],-as['z'],-as['w']),as[c8(0x123)](au,aB/0x3*0x4);return new ag(aj+c8(0x17f),ap,au);}}[bi(0x110)](aj){const c9=bi,ak=aj[c9(0x1e9)][c9(0x17b)]['morph'],al=ak['values']['map'](function(an){return an/0x64;}),am=P['getObjectByName'](aj['modelName'])[c9(0x108)][aj['morphName']];return new ah(aj['modelName']+'.morphTargetInfluences['+am+']',ak['times'],al);}['getTimesForAllAxes'](aj){const ca=bi;let ak=[];if(aj['x']!==void 0x0&&(ak=ak[ca(0x1e1)](aj['x']['times'])),aj['y']!==void 0x0&&(ak=ak[ca(0x1e1)](aj['y']['times'])),aj['z']!==void 0x0&&(ak=ak['concat'](aj['z']['times'])),ak=ak['sort'](function(al,am){return al-am;}),ak['length']>0x1){let al=0x1,am=ak[0x0];for(let an=0x1;an<ak['length'];an++){const ao=ak[an];ao!==am&&(ak[al]=ao,am=ao,al++);}ak=ak['slice'](0x0,al);}return ak;}['getKeyframeTrackValues'](aj,ak,al){const am=al,an=[];let ao=-0x1,ap=-0x1,aq=-0x1;return aj['forEach'](function(ar){const cb=c;if(ak['x']&&(ao=ak['x']['times']['indexOf'](ar)),ak['y']&&(ap=ak['y']['times'][cb(0x1a6)](ar)),ak['z']&&(aq=ak['z']['times']['indexOf'](ar)),ao!==-0x1){const as=ak['x']['values'][ao];an[cb(0x132)](as),am[0x0]=as;}else an['push'](am[0x0]);if(ap!==-0x1){const at=ak['y']['values'][ap];an['push'](at),am[0x1]=at;}else an['push'](am[0x1]);if(aq!==-0x1){const au=ak['z']['values'][aq];an[cb(0x132)](au),am[0x2]=au;}else an['push'](am[0x2]);}),an;}['synchronizeCurve'](aj,ak,al){const cc=bi;if(aj===void 0x0)return{'times':ak,'values':ak['map'](()=>al)};if(aj['times'][cc(0x131)]===ak['length'])return aj;const am=[];for(let an=0x0;an<ak[cc(0x131)];an++)am['push'](this['sampleCurveValue'](aj,ak[an],al));return{'times':ak,'values':am};}['sampleCurveValue'](aj,ak,al){const cd=bi,am=aj[cd(0x17e)],an=aj[cd(0x18c)];if(ak<=am[0x0])return an[0x0];if(ak>=am[am['length']-0x1])return an[an['length']-0x1];for(let ao=0x0;ao<am['length']-0x1;ao++)if(ak>=am[ao]&&ak<=am[ao+0x1]){if(am[ao]===ak)return an[ao];const ap=(ak-am[ao])/(am[ao+0x1]-am[ao]);return an[ao]*(0x1-ap)+an[ao+0x1]*ap;}return al;}[bi(0x105)](aj,ak,al,am){const ce=bi,an=[],ao=[];an[ce(0x132)](aj['times'][0x0]),ao['push'](L['degToRad'](aj['values'][0x0])),ao['push'](L['degToRad'](ak['values'][0x0])),ao[ce(0x132)](L['degToRad'](al['values'][0x0]));for(let ap=0x1;ap<aj['values']['length'];ap++){const aq=[aj[ce(0x18c)][ap-0x1],ak['values'][ap-0x1],al['values'][ap-0x1]];if(isNaN(aq[0x0])||isNaN(aq[0x1])||isNaN(aq[0x2]))continue;const ar=aq['map'](L['degToRad']),as=[aj['values'][ap],ak[ce(0x18c)][ap],al['values'][ap]];if(isNaN(as[0x0])||isNaN(as[0x1])||isNaN(as[0x2]))continue;const at=as['map'](L['degToRad']),au=[as[0x0]-aq[0x0],as[0x1]-aq[0x1],as[0x2]-aq[0x2]],av=[Math[ce(0x198)](au[0x0]),Math['abs'](au[0x1]),Math[ce(0x198)](au[0x2])];if(av[0x0]>=0xb4||av[0x1]>=0xb4||av[0x2]>=0xb4){const aw=Math['max'](...av)/0xb4,ax=new af(...ar,am),ay=new af(...at,am),az=new ac()['setFromEuler'](ax),aA=new ac()[ce(0x10b)](ay);az['dot'](aA)<0x0&&aA[ce(0x18b)](-aA['x'],-aA['y'],-aA['z'],-aA['w']);const aB=aj[ce(0x17e)][ap-0x1],aC=aj['times'][ap]-aB,aD=new ac(),aE=new af();for(let aF=0x0;aF<0x1;aF+=0x1/aw)aD[ce(0x115)](az['clone']()['slerp'](aA['clone'](),aF)),an['push'](aB+aF*aC),aE['setFromQuaternion'](aD,am),ao['push'](aE['x']),ao['push'](aE['y']),ao[ce(0x132)](aE['z']);}else an['push'](aj['times'][ap]),ao['push'](L['degToRad'](aj[ce(0x18c)][ap])),ao['push'](L['degToRad'](ak[ce(0x18c)][ap])),ao['push'](L['degToRad'](al['values'][ap]));}return[an,ao];}}class We{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){return this['nodeStack'][this['currentIndent']-0x1];}['getCurrentProp'](){return this['currentProp'];}['pushStack'](aj){this['nodeStack']['push'](aj),this['currentIndent']+=0x1;}['popStack'](){const cf=bi;this[cf(0x1ee)]['pop'](),this['currentIndent']-=0x1;}['setCurrentProp'](aj,ak){this['currentProp']=aj,this['currentPropName']=ak;}['parse'](aj){const cg=bi;this['currentIndent']=0x0,this['allNodes']=new ae(),this['nodeStack']=[],this['currentProp']=[],this[cg(0x183)]='';const ak=this,al=aj[cg(0x1c1)](/[\r\n]+/);return al['forEach'](function(am,an){const ch=cg,ao=am['match'](/^[\s\t]*;/),ap=am['match'](/^[\s\t]*$/);if(ao||ap)return;const aq=am['match']('^\x5ct{'+ak[ch(0x1e6)]+ch(0x12d),''),ar=am['match']('^\x5ct{'+ak['currentIndent']+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),as=am['match']('^\x5ct{'+(ak['currentIndent']-0x1)+'}}');aq?ak['parseNodeBegin'](am,aq):ar?ak[ch(0x120)](am,ar,al[++an]):as?ak['popStack']():am['match'](/^[^\s\t}]/)&&ak[ch(0x19e)](am);}),this[cg(0x1e3)];}['parseNodeBegin'](aj,ak){const ci=bi,al=ak[0x1][ci(0x1b8)]()['replace'](/^"/,'')['replace'](/"$/,''),am=ak[0x2][ci(0x1c1)](',')[ci(0x15c)](function(aq){const cj=ci;return aq['trim']()[cj(0x1b4)](/^"/,'')['replace'](/"$/,'');}),an={'name':al},ao=this['parseNodeAttr'](am),ap=this['getCurrentNode']();this['currentIndent']===0x0?this['allNodes'][ci(0x112)](al,an):al in ap?(al==='PoseNode'?ap['PoseNode']['push'](an):ap[al]['id']!==void 0x0&&(ap[al]={},ap[al][ap[al]['id']]=ap[al]),ao['id']!==''&&(ap[al][ao['id']]=an)):typeof ao['id']=='number'?(ap[al]={},ap[al][ao['id']]=an):al!==ci(0x125)&&(al==='PoseNode'?ap[al]=[an]:ap[al]=an),typeof ao['id']=='number'&&(an['id']=ao['id']),ao['name']!==''&&(an[ci(0x1e2)]=ao['name']),ao[ci(0x153)]!==''&&(an['attrType']=ao['type']),this[ci(0x1ab)](an);}[bi(0x165)](aj){let ak=aj[0x0];aj[0x0]!==''&&(ak=parseInt(aj[0x0]),isNaN(ak)&&(ak=aj[0x0]));let al='',am='';return aj['length']>0x1&&(al=aj[0x1]['replace'](/^(\w+)::/,''),am=aj[0x2]),{'id':ak,'name':al,'type':am};}['parseNodeProperty'](aj,ak,al){const ck=bi;let am=ak[0x1][ck(0x1b4)](/^"/,'')['replace'](/"$/,'')['trim'](),an=ak[0x2][ck(0x1b4)](/^"/,'')['replace'](/"$/,'')['trim']();am==='Content'&&an===','&&(an=al['replace'](/"/g,'')[ck(0x1b4)](/,$/,'')[ck(0x1b8)]());const ao=this['getCurrentNode']();if(ao['name']===ck(0x125)){this['parseNodeSpecialProperty'](aj,am,an);return;}if(am==='C'){const ap=an['split'](',')[ck(0x1dd)](0x1),aq=parseInt(ap[0x0]),ar=parseInt(ap[0x1]);let as=an['split'](',')['slice'](0x3);as=as[ck(0x15c)](function(at){const cl=ck;return at['trim']()[cl(0x1b4)](/^"/,'');}),am='connections',an=[aq,ar],$e(an,as),ao[am]===void 0x0&&(ao[am]=[]);}am==='Node'&&(ao['id']=an),am in ao&&Array['isArray'](ao[am])?ao[am]['push'](an):am!=='a'?ao[am]=an:ao['a']=an,this['setCurrentProp'](ao,am),am==='a'&&an['slice'](-0x1)!==','&&(ao['a']=q(an));}[bi(0x19e)](aj){const ak=this['getCurrentNode']();ak['a']+=aj,aj['slice'](-0x1)!==','&&(ak['a']=q(ak['a']));}['parseNodeSpecialProperty'](aj,ak,al){const cm=bi,am=al[cm(0x1c1)]('\x22,')['map'](function(as){return as['trim']()['replace'](/^\"/,'')['replace'](/\s/,'_');}),an=am[0x0],ao=am[0x1],ap=am[0x2],aq=am[0x3];let ar=am[0x4];switch(ao){case'int':case'enum':case'bool':case'ULongLong':case'double':case'Number':case'FieldOfView':ar=parseFloat(ar);break;case'Color':case'ColorRGB':case'Vector3D':case'Lcl_Translation':case cm(0x160):case cm(0x150):ar=q(ar);break;}this['getPrevNode']()[an]={'type':ao,'type2':ap,'flag':aq,'value':ar},this['setCurrentProp'](this['getPrevNode'](),an);}}class Ne{[bi(0x11e)](aj){const cn=bi,ak=new re(aj);ak['skip'](0x17);const al=ak[cn(0x19b)]();if(al<0x1900)throw new Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+al);const am=new ae();for(;!this['endOfContent'](ak);){const an=this['parseNode'](ak,al);an!==null&&am['add'](an['name'],an);}return am;}['endOfContent'](aj){const co=bi;return aj[co(0x177)]()%0x10===0x0?(aj['getOffset']()+0xa0+0x10&-0x10)>=aj['size']():aj['getOffset']()+0xa0+0x10>=aj['size']();}['parseNode'](aj,ak){const cp=bi,al={},am=ak>=0x1d4c?aj['getUint64']():aj['getUint32'](),an=ak>=0x1d4c?aj['getUint64']():aj['getUint32']();ak>=0x1d4c?aj['getUint64']():aj['getUint32']();const ao=aj['getUint8'](),ap=aj['getString'](ao);if(am===0x0)return null;const aq=[];for(let au=0x0;au<an;au++)aq['push'](this['parseProperty'](aj));const ar=aq['length']>0x0?aq[0x0]:'',as=aq['length']>0x1?aq[0x1]:'',at=aq['length']>0x2?aq[0x2]:'';for(al['singleProperty']=an===0x1&&aj['getOffset']()===am;am>aj[cp(0x1cd)]();){const av=this['parseNode'](aj,ak);av!==null&&this['parseSubNode'](ap,al,av);}return al['propertyList']=aq,typeof ar==cp(0x151)&&(al['id']=ar),as!==''&&(al[cp(0x1e2)]=as),at!==''&&(al['attrType']=at),ap!==''&&(al['name']=ap),al;}['parseSubNode'](aj,ak,al){const cq=bi;if(al[cq(0x1a9)]===!0x0){const am=al['propertyList'][0x0];Array['isArray'](am)?(ak[al[cq(0x1a4)]]=al,al['a']=am):ak[al['name']]=am;}else{if(aj===cq(0x134)&&al[cq(0x1a4)]==='C'){const an=[];al['propertyList']['forEach'](function(ao,ap){ap!==0x0&&an['push'](ao);}),ak['connections']===void 0x0&&(ak['connections']=[]),ak['connections']['push'](an);}else{if(al[cq(0x1a4)]==='Properties70')Object['keys'](al)['forEach'](function(ao){ak[ao]=al[ao];});else{if(aj==='Properties70'&&al['name']==='P'){let ao=al['propertyList'][0x0],ap=al['propertyList'][0x1];const aq=al[cq(0x14c)][0x2],ar=al['propertyList'][0x3];let as;ao['indexOf']('Lcl\x20')===0x0&&(ao=ao['replace'](cq(0x1c7),'Lcl_')),ap['indexOf']('Lcl\x20')===0x0&&(ap=ap['replace']('Lcl\x20','Lcl_')),ap==='Color'||ap==='ColorRGB'||ap===cq(0x163)||ap===cq(0x1c9)||ap['indexOf']('Lcl_')===0x0?as=[al['propertyList'][0x4],al['propertyList'][0x5],al['propertyList'][0x6]]:as=al['propertyList'][0x4],ak[ao]={'type':ap,'type2':aq,'flag':ar,'value':as};}else ak[al['name']]===void 0x0?typeof al['id']==cq(0x151)?(ak[al['name']]={},ak[al['name']][al['id']]=al):ak[al['name']]=al:al['name']==='PoseNode'?(Array['isArray'](ak[al['name']])||(ak[al['name']]=[ak[al['name']]]),ak[al['name']]['push'](al)):ak[al[cq(0x1a4)]][al['id']]===void 0x0&&(ak[al['name']][al['id']]=al);}}}}[bi(0x1a5)](aj){const cr=bi,ak=aj['getString'](0x1);let al;switch(ak){case'C':return aj['getBoolean']();case'D':return aj['getFloat64']();case'F':return aj['getFloat32']();case'I':return aj[cr(0x169)]();case'L':return aj[cr(0x13e)]();case'R':return al=aj['getUint32'](),aj['getArrayBuffer'](al);case'S':return al=aj['getUint32'](),aj['getString'](al);case'Y':return aj['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':const am=aj['getUint32'](),an=aj['getUint32'](),ao=aj[cr(0x19b)]();if(an===0x0)switch(ak){case'b':case'c':return aj[cr(0x118)](am);case'd':return aj['getFloat64Array'](am);case'f':return aj['getFloat32Array'](am);case'i':return aj['getInt32Array'](am);case'l':return aj['getInt64Array'](am);}const ap=ai(new Uint8Array(aj['getArrayBuffer'](ao))),aq=new re(ap['buffer']);switch(ak){case'b':case'c':return aq['getBooleanArray'](am);case'd':return aq['getFloat64Array'](am);case'f':return aq[cr(0x117)](am);case'i':return aq['getInt32Array'](am);case'l':return aq['getInt64Array'](am);}break;default:throw new Error('THREE.FBXLoader:\x20Unknown\x20property\x20type\x20'+ak);}}}class re{constructor(aj,ak){this['dv']=new DataView(aj),this['offset']=0x0,this['littleEndian']=ak!==void 0x0?ak:!0x0,this['_textDecoder']=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){return this['dv']['buffer']['byteLength'];}['skip'](aj){this['offset']+=aj;}['getBoolean'](){return(this['getUint8']()&0x1)===0x1;}['getBooleanArray'](aj){const cs=bi,ak=[];for(let al=0x0;al<aj;al++)ak[cs(0x132)](this['getBoolean']());return ak;}[bi(0x1ef)](){const aj=this['dv']['getUint8'](this['offset']);return this['offset']+=0x1,aj;}['getInt16'](){const ct=bi,aj=this['dv']['getInt16'](this['offset'],this[ct(0x124)]);return this['offset']+=0x2,aj;}['getInt32'](){const cu=bi,aj=this['dv']['getInt32'](this['offset'],this[cu(0x124)]);return this[cu(0x1f0)]+=0x4,aj;}['getInt32Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt32']());return ak;}[bi(0x19b)](){const cv=bi,aj=this['dv'][cv(0x19b)](this['offset'],this[cv(0x124)]);return this[cv(0x1f0)]+=0x4,aj;}['getInt64'](){const cw=bi;let aj,ak;return this['littleEndian']?(aj=this['getUint32'](),ak=this['getUint32']()):(ak=this[cw(0x19b)](),aj=this['getUint32']()),ak&0x80000000?(ak=~ak&0xffffffff,aj=~aj&0xffffffff,aj===0xffffffff&&(ak=ak+0x1&0xffffffff),aj=aj+0x1&0xffffffff,-(ak*0x100000000+aj)):ak*0x100000000+aj;}['getInt64Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt64']());return ak;}['getUint64'](){const cx=bi;let aj,ak;return this['littleEndian']?(aj=this['getUint32'](),ak=this['getUint32']()):(ak=this[cx(0x19b)](),aj=this['getUint32']()),ak*0x100000000+aj;}['getFloat32'](){const aj=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aj;}['getFloat32Array'](aj){const cy=bi,ak=[];for(let al=0x0;al<aj;al++)ak[cy(0x132)](this[cy(0x16a)]());return ak;}['getFloat64'](){const aj=this['dv']['getFloat64'](this['offset'],this['littleEndian']);return this['offset']+=0x8,aj;}['getFloat64Array'](aj){const cz=bi,ak=[];for(let al=0x0;al<aj;al++)ak['push'](this[cz(0x187)]());return ak;}['getArrayBuffer'](aj){const cA=bi,ak=this['dv']['buffer']['slice'](this['offset'],this[cA(0x1f0)]+aj);return this['offset']+=aj,ak;}['getString'](aj){const cB=bi,ak=this[cB(0x1f0)];let al=new Uint8Array(this['dv']['buffer'],ak,aj);this['skip'](aj);const am=al['indexOf'](0x0);return am>=0x0&&(al=new Uint8Array(this['dv']['buffer'],ak,am)),this['_textDecoder']['decode'](al);}}class ae{['add'](aj,ak){this[aj]=ak;}}function Ye(aj){const ak='Kaydara\x20FBX\x20Binary\x20\x20\x00';return aj['byteLength']>=ak['length']&&ak===le(aj,0x0,ak['length']);}function Ze(aj){const ak=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'];let al=0x0;function am(an){const ao=aj[an-0x1];return aj=aj['slice'](al+an),al++,ao;}for(let an=0x0;an<ak['length'];++an)if(am(0x1)===ak[an])return!0x1;return!0x0;}function se(aj){const cC=bi,ak=/FBXVersion: (\d+)/,al=aj['match'](ak);if(al)return parseInt(al[0x1]);throw new Error(cC(0x1b3));}function qe(aj){return aj/0xac0e8d7b0;}const Qe=[];function K(aj,ak,al,am){const cD=bi;let an;switch(am['mappingType']){case'ByPolygonVertex':an=aj;break;case cD(0x167):an=ak;break;case'ByVertice':an=al;break;case cD(0x1bb):an=am['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+am[cD(0x127)]);}am['referenceType']===cD(0x1a3)&&(an=am['indices'][an]);const ao=an*am[cD(0x155)],ap=ao+am['dataSize'];return Je(Qe,am[cD(0x111)],ao,ap);}const Z=new af(),U=new e();function oe(aj){const cE=bi,ak=new u(),al=new u(),am=new u(),an=new u(),ao=new u(),ap=new u(),aq=new u(),ar=new u(),as=new u(),at=new u(),au=new u(),av=new u(),aw=aj['inheritType']?aj['inheritType']:0x0;aj['translation']&&ak['setPosition'](U['fromArray'](aj['translation']));const ax=z(0x0);if(aj['preRotation']){const aK=aj[cE(0x1a8)]['map'](L['degToRad']);aK['push'](ax),al[cE(0x171)](Z['fromArray'](aK));}if(aj['rotation']){const aL=aj['rotation']['map'](L['degToRad']);aL['push'](aj[cE(0x113)]||ax),am['makeRotationFromEuler'](Z['fromArray'](aL));}if(aj['postRotation']){const aM=aj['postRotation']['map'](L['degToRad']);aM['push'](ax),an['makeRotationFromEuler'](Z['fromArray'](aM)),an[cE(0x16e)]();}aj['scale']&&ao['scale'](U['fromArray'](aj['scale'])),aj['scalingOffset']&&aq[cE(0x1ac)](U['fromArray'](aj['scalingOffset'])),aj['scalingPivot']&&ap['setPosition'](U['fromArray'](aj[cE(0x1bf)])),aj['rotationOffset']&&ar['setPosition'](U[cE(0x14a)](aj['rotationOffset'])),aj['rotationPivot']&&as['setPosition'](U[cE(0x14a)](aj['rotationPivot'])),aj['parentMatrixWorld']&&(au['copy'](aj['parentMatrix']),at['copy'](aj['parentMatrixWorld']));const ay=al['clone']()[cE(0x121)](am)['multiply'](an),az=new u();az['extractRotation'](at);const aA=new u();aA['copyPosition'](at);const aB=aA['clone']()[cE(0x16e)]()['multiply'](at),aC=az['clone']()[cE(0x16e)]()['multiply'](aB),aD=ao,aE=new u();if(aw===0x0)aE['copy'](az)['multiply'](ay)[cE(0x121)](aC)['multiply'](aD);else{if(aw===0x1)aE[cE(0x115)](az)['multiply'](aC)['multiply'](ay)[cE(0x121)](aD);else{const aN=new u()['scale'](new e()['setFromMatrixScale'](au))['clone']()[cE(0x16e)](),aO=aC['clone']()['multiply'](aN);aE['copy'](az)['multiply'](ay)['multiply'](aO)['multiply'](aD);}}const aF=as[cE(0x19c)]()['invert'](),aG=ap['clone']()['invert']();let aH=ak[cE(0x19c)]()['multiply'](ar)[cE(0x121)](as)['multiply'](al)['multiply'](am)['multiply'](an)['multiply'](aF)['multiply'](aq)['multiply'](ap)['multiply'](ao)[cE(0x121)](aG);const aI=new u()['copyPosition'](aH),aJ=at[cE(0x19c)]()['multiply'](aI);return av['copyPosition'](aJ),aH=av[cE(0x19c)]()['multiply'](aE),aH['premultiply'](at[cE(0x16e)]()),aH;}function c(b,d){b=b-0x104;const e=a();let f=e[b];return f;}function a(){const cG=['getInt32','getFloat32','Emissive','opacity','setAttribute','invert','ShininessExponent','AmbientColor','makeRotationFromEuler','KeyValueFloat','bones','setRequestHeader','Node','NurbsCurve','size','transform','bmp','parseTexture','curves','parentMatrix','ZYX','times','.quaternion','Points','parseAnimStacks','Material','currentPropName','relationship',';base64,','parseAnimationCurves','getFloat64','vertexColors','parseMorphTargets','GeometricRotation','set','values','bind','RotationOffset','Normals','toString','PolygonVertexIndex','children','genGeometry','619336tudHqR','UpAxis','toLowerCase','forEach','abs','DiffuseColor','ReferenceInformationType','getUint32','clone','divideScalar','parseNodePropertyContinued','2058xDxrNy','LayerElementUV','Form','Cluster','IndexToDirect','name','parseProperty','indexOf','parents','preRotation','singleProperty','AspectWidth','pushStack','setPosition','degree','keys','Specular','NodeAttribute','scale','manager','THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.','replace','postRotation','shininess','inheritType','trim','WrapModeV','14607060FuIWpB','AllSame','createCurve','warn','Objects','scalingPivot','InnerAngle','split','innerHeight','FBX_Deformer','vertexPositions','has','KnotVector','Lcl\x20','Root','Vector3D','get','getPoints','Mesh','getOffset','vertexWeights','transformLink','parsePoseNodes','materialIndex','emissiveMap','color','getTransformData','FullWeights','attr','getHandler','modelName','LookAtProperty','OuterAngle','groups','GlobalSettings','slice','connections','transparent','Weights','concat','attrName','allNodes','Video','parseSkeleton','currentIndent','generateRotationTrack','path','DeformPercent','aoMap','parseMeshGeometry','CameraProjectionType','17390682dJgfcy','nodeStack','getUint8','offset','normal','ReflectionFactor','parseVertexColors','interpolateRotations','parseGeoNode','negativeMaterialIndices','morphTargetDictionary','colorSpaceToWorking','textureLoader','setFromEuler','ScalingOffset','parseMaterial','PreRotation','castShadow','generateMorphTrack','buffer','add','eulerOrder','parseUVs','copy','8565jFXPdN','getFloat32Array','getBooleanArray','resourcePath','weights','matrix','transformData','phong','parse','RelativeFilename','parseNodeProperty','multiply','106133ggxFjF','toArray','littleEndian','Properties70','colors','mappingType','vertexIndices','degToRad','parent','geoID','Null','}(\x5cw+):(.*){','rotation','match','SpecularColor','length','push','innerWidth','Connections','LightType','flattenVertex','decompose','THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.','parseMaterials','LayerElementMaterial','knots','startKnot','6130632NClyrN','getInt64','setPath','THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20','161MHYGPT','addClip','ColorRGB','24WDFIxN','vertex','userData','material','attrType','23605Vrchhp','fromArray','UVIndex','propertyList','value','Filename','translation','Lcl_Scaling','number','weightsIndices','type','Scaling','dataSize','\x22\x20is\x20not\x20supported.','controlPoints','morphAttributes','DisplacementColor','DEFAULT_MATERIAL_NAME','generateTracks','map','MappingInformationType','morphTargetsRelative','error','Lcl_Rotation','Color','skinWeight','Vector','addMorphTargets','parseNodeAttr','Model','ByPolygon','InheritType'];a=function(){return cG;};return a();}function z(aj){const cF=bi;aj=aj||0x0;const ak=[cF(0x17d),'YZX','XZY','ZXY','YXZ','XYZ'];return aj===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),ak[0x0]):ak[aj];}function q(aj){return aj['split'](',')['map'](function(ak){return parseFloat(ak);});}function le(aj,ak,al){return ak===void 0x0&&(ak=0x0),al===void 0x0&&(al=aj['byteLength']),new TextDecoder()['decode'](new Uint8Array(aj,ak,al));}function $e(aj,ak){for(let al=0x0,am=aj['length'],an=ak['length'];al<an;al++,am++)aj[am]=ak[al];}function Je(aj,ak,al,am){for(let an=al,ao=0x0;an<am;an++,ao++)aj[ao]=ak[an];return aj;}export{st as FBXLoader};
|
|
1
|
+
const aW=c;(function(aj,ak){const aT=c,al=aj();while(!![]){try{const am=-parseInt(aT(0x1d6))/0x1*(-parseInt(aT(0x1bb))/0x2)+-parseInt(aT(0x1d0))/0x3+-parseInt(aT(0x128))/0x4*(-parseInt(aT(0x144))/0x5)+parseInt(aT(0x173))/0x6+-parseInt(aT(0x104))/0x7*(parseInt(aT(0x16b))/0x8)+-parseInt(aT(0x1a6))/0x9+-parseInt(aT(0x11c))/0xa*(-parseInt(aT(0x1c8))/0xb);if(am===ak)break;else al['push'](al['shift']());}catch(an){al['push'](al['shift']());}}}(a,0xe54e1));import{ap as d,V as e,aq as f,L as g,h,F as i,T as j,R as k,k as l,ai as m,c as n,ar as o,K as p,C as r,S as s,as as t,i as u,G as v,ab as w,a5 as A,O as C,v as D,_ as F,x as L,Z as N,$ as T,a6 as X,f as a0,b as a1,a7 as a2,a9 as a3,at as a4,B as a5,a as a6,au as a7,av as a8,H as a9,J as aa,aa as ab,Q as ac,aj as ad,aw as af,al as ag,ak as ah}from'./ModelViewer.js';import{a as ai}from'./fflate.module.js';import'vue';import'./index7.js';function ie(aj,ak,al){const am=al['length']-aj-0x1;if(ak>=al[am])return am-0x1;if(ak<=al[aj])return aj;let an=aj,ao=am,ap=Math['floor']((an+ao)/0x2);for(;ak<al[ap]||ak>=al[ap+0x1];)ak<al[ap]?ao=ap:an=ap,ap=Math['floor']((an+ao)/0x2);return ap;}function Be(aj,ak,al,am){const an=[],ao=[],ap=[];an[0x0]=0x1;for(let aq=0x1;aq<=al;++aq){ao[aq]=ak-am[aj+0x1-aq],ap[aq]=am[aj+aq]-ak;let ar=0x0;for(let as=0x0;as<aq;++as){const at=ap[as+0x1],au=ao[aq-as],av=an[as]/(at+au);an[as]=ar+at*av,ar=au*av;}an[aq]=ar;}return an;}function Oe(aj,ak,al,am){const an=ie(aj,am,ak),ao=Be(an,am,aj,ak),ap=new d(0x0,0x0,0x0,0x0);for(let aq=0x0;aq<=aj;++aq){const ar=al[an-aj+aq],as=ao[aq],at=ar['w']*as;ap['x']+=ar['x']*at,ap['y']+=ar['y']*at,ap['z']+=ar['z']*at,ap['w']+=ar['w']*as;}return ap;}function Ve(aj,ak,al,am,an){const ao=[];for(let au=0x0;au<=al;++au)ao[au]=0x0;const ap=[];for(let av=0x0;av<=am;++av)ap[av]=ao['slice'](0x0);const aq=[];for(let aw=0x0;aw<=al;++aw)aq[aw]=ao['slice'](0x0);aq[0x0][0x0]=0x1;const ar=ao['slice'](0x0),as=ao['slice'](0x0);for(let ax=0x1;ax<=al;++ax){ar[ax]=ak-an[aj+0x1-ax],as[ax]=an[aj+ax]-ak;let ay=0x0;for(let az=0x0;az<ax;++az){const aA=as[az+0x1],aB=ar[ax-az];aq[ax][az]=aA+aB;const aC=aq[az][ax-0x1]/aq[ax][az];aq[az][ax]=ay+aA*aC,ay=aB*aC;}aq[ax][ax]=ay;}for(let aD=0x0;aD<=al;++aD)ap[0x0][aD]=aq[aD][al];for(let aE=0x0;aE<=al;++aE){let aF=0x0,aG=0x1;const aH=[];for(let aI=0x0;aI<=al;++aI)aH[aI]=ao['slice'](0x0);aH[0x0][0x0]=0x1;for(let aJ=0x1;aJ<=am;++aJ){let aK=0x0;const aL=aE-aJ,aM=al-aJ;aE>=aJ&&(aH[aG][0x0]=aH[aF][0x0]/aq[aM+0x1][aL],aK=aH[aG][0x0]*aq[aL][aM]);const aN=aL>=-0x1?0x1:-aL,aO=aE-0x1<=aM?aJ-0x1:al-aE;for(let aQ=aN;aQ<=aO;++aQ)aH[aG][aQ]=(aH[aF][aQ]-aH[aF][aQ-0x1])/aq[aM+0x1][aL+aQ],aK+=aH[aG][aQ]*aq[aL+aQ][aM];aE<=aM&&(aH[aG][aJ]=-aH[aF][aJ-0x1]/aq[aM+0x1][aE],aK+=aH[aG][aJ]*aq[aE][aM]),ap[aJ][aE]=aK;const aP=aF;aF=aG,aG=aP;}}let at=al;for(let aR=0x1;aR<=am;++aR){for(let aS=0x0;aS<=al;++aS)ap[aR][aS]*=at;at*=al-aR;}return ap;}function Ue(aj,ak,al,am,an){const aU=c,ao=an<aj?an:aj,ap=[],aq=ie(aj,am,ak),ar=Ve(aq,am,aj,ao,ak),as=[];for(let at=0x0;at<al['length'];++at){const au=al[at][aU(0x1e2)](),av=au['w'];au['x']*=av,au['y']*=av,au['z']*=av,as[at]=au;}for(let aw=0x0;aw<=ao;++aw){const ax=as[aq-aj][aU(0x1e2)]()['multiplyScalar'](ar[aw][0x0]);for(let ay=0x1;ay<=aj;++ay)ax['add'](as[aq-aj+ay]['clone']()['multiplyScalar'](ar[aw][ay]));ap[aw]=ax;}for(let az=ao+0x1;az<=an+0x1;++az)ap[az]=new d(0x0,0x0,0x0);return ap;}function Xe(aj,ak){let al=0x1;for(let an=0x2;an<=aj;++an)al*=an;let am=0x1;for(let ao=0x2;ao<=ak;++ao)am*=ao;for(let ap=0x2;ap<=aj-ak;++ap)am*=ap;return al/am;}function Ge(aj){const ak=aj['length'],al=[],am=[];for(let ao=0x0;ao<ak;++ao){const ap=aj[ao];al[ao]=new e(ap['x'],ap['y'],ap['z']),am[ao]=ap['w'];}const an=[];for(let aq=0x0;aq<ak;++aq){const ar=al[aq]['clone']();for(let as=0x1;as<=aq;++as)ar['sub'](an[aq-as]['clone']()['multiplyScalar'](Xe(aq,as)*am[as]));an[aq]=ar['divideScalar'](am[0x0]);}return an;}function ze(aj,ak,al,am,an){const ao=Ue(aj,ak,al,am,an);return Ge(ao);}class je extends f{constructor(aj,ak,al,am,an){const aV=c;super();const ao=ak?ak['length']-0x1:0x0,ap=al?al['length']:0x0;this['degree']=aj,this[aV(0x1cb)]=ak,this['controlPoints']=[],this['startKnot']=am||0x0,this['endKnot']=an||ao;for(let aq=0x0;aq<ap;++aq){const ar=al[aq];this[aV(0x195)][aq]=new d(ar['x'],ar['y'],ar['z'],ar['w']);}}[aW(0x198)](aj,ak=new e()){const aX=aW,al=ak,am=this[aX(0x1cb)][this['startKnot']]+aj*(this['knots'][this['endKnot']]-this[aX(0x1cb)][this['startKnot']]),an=Oe(this[aX(0x197)],this[aX(0x1cb)],this['controlPoints'],am);return an['w']!==0x1&&an['divideScalar'](an['w']),al['set'](an['x'],an['y'],an['z']);}[aW(0x153)](aj,ak=new e()){const aY=aW,al=ak,am=this['knots'][0x0]+aj*(this[aY(0x1cb)][this['knots'][aY(0x199)]-0x1]-this['knots'][0x0]),an=ze(this['degree'],this['knots'],this['controlPoints'],am,0x1);return al['copy'](an[0x1])['normalize'](),al;}[aW(0x19d)](){const aZ=aW,aj=super['toJSON']();return aj['degree']=this['degree'],aj['knots']=[...this['knots']],aj['controlPoints']=this[aZ(0x195)]['map'](ak=>ak['toArray']()),aj['startKnot']=this['startKnot'],aj['endKnot']=this['endKnot'],aj;}['fromJSON'](aj){const b0=aW;return super['fromJSON'](aj),this[b0(0x197)]=aj['degree'],this['knots']=[...aj[b0(0x1cb)]],this['controlPoints']=aj['controlPoints']['map'](ak=>new d(ak[0x0],ak[0x1],ak[0x2],ak[0x3])),this['startKnot']=aj['startKnot'],this[b0(0x1ae)]=aj['endKnot'],this;}}let y,x,P;class st extends g{constructor(aj){super(aj);}['load'](aj,ak,al,am){const b1=aW,an=this,ao=an['path']===''?h[b1(0x19c)](aj):an['path'],ap=new i(this['manager']);ap['setPath'](an['path']),ap['setResponseType']('arraybuffer'),ap[b1(0x142)](an[b1(0x15a)]),ap[b1(0x194)](an['withCredentials']),ap[b1(0x11d)](aj,function(aq){try{ak(an['parse'](aq,ao));}catch(ar){am?am(ar):console['error'](ar),an['manager']['itemError'](aj);}},al,am);}[aW(0x1e9)](aj,ak){const b2=aW;if(Ye(aj))y=new Ne()[b2(0x1e9)](aj);else{const am=le(aj);if(!Ze(am))throw new Error('THREE.FBXLoader:\x20Unknown\x20format.');if(se(am)<0x1b58)throw new Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+se(am));y=new We()['parse'](am);}const al=new j(this['manager'])['setPath'](this['resourcePath']||ak)['setCrossOrigin'](this['crossOrigin']);return new _e(al,this['manager'])['parse'](y);}}class _e{constructor(aj,ak){this['textureLoader']=aj,this['manager']=ak;}['parse'](){const b3=aW;x=this[b3(0x1ce)]();const aj=this[b3(0xf1)](),ak=this['parseTextures'](aj),al=this[b3(0x113)](ak),am=this[b3(0x126)](),an=new He()['parse'](am);return this['parseScene'](am,an,al),P;}['parseConnections'](){const aj=new Map();return'Connections'in y&&y['Connections']['connections']['forEach'](function(ak){const b4=c,al=ak[0x0],am=ak[0x1],an=ak[0x2];aj[b4(0x129)](al)||aj['set'](al,{'parents':[],'children':[]});const ao={'ID':am,'relationship':an};aj['get'](al)['parents']['push'](ao),aj[b4(0x129)](am)||aj['set'](am,{'parents':[],'children':[]});const ap={'ID':al,'relationship':an};aj[b4(0xfe)](am)['children']['push'](ap);}),aj;}['parseImages'](){const b5=aW,aj={},ak={};if('Video'in y['Objects']){const al=y['Objects'][b5(0x18f)];for(const am in al){const an=al[am],ao=parseInt(am);if(aj[ao]=an[b5(0xfa)]||an['Filename'],'Content'in an){const ap=an['Content']instanceof ArrayBuffer&&an['Content'][b5(0x19a)]>0x0,aq=typeof an['Content']=='string'&&an['Content']!=='';if(ap||aq){const ar=this['parseImage'](al[am]);ak[an['RelativeFilename']||an['Filename']]=ar;}}}}for(const as in aj){const at=aj[as];ak[at]!==void 0x0?aj[as]=ak[at]:aj[as]=aj[as]['split']('\x5c')['pop']();}return aj;}['parseImage'](aj){const b6=aW,ak=aj['Content'],al=aj[b6(0xfa)]||aj['Filename'],am=al[b6(0x10d)](al['lastIndexOf']('.')+0x1)['toLowerCase']();let an;switch(am){case'bmp':an='image/bmp';break;case'jpg':case'jpeg':an=b6(0x164);break;case'png':an=b6(0x186);break;case'tif':an='image/tiff';break;case'tga':this['manager'][b6(0x103)](b6(0x139))===null&&console['warn'](b6(0x10b),al),an='image/tga';break;case'webp':an='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+am+'\x22\x20is\x20not\x20supported.');return;}if(typeof ak=='string')return b6(0x1cc)+an+';base64,'+ak;{const ao=new Uint8Array(ak);return window[b6(0x182)]['createObjectURL'](new Blob([ao],{'type':an}));}}[aW(0xf2)](aj){const ak=new Map();if('Texture'in y['Objects']){const al=y['Objects']['Texture'];for(const am in al){const an=this['parseTexture'](al[am],aj);ak['set'](parseInt(am),an);}}return ak;}['parseTexture'](aj,ak){const b7=aW,al=this['loadTexture'](aj,ak);al['ID']=aj['id'],al['name']=aj['attrName'];const am=aj[b7(0x1c1)],an=aj[b7(0x107)],ao=am!==void 0x0?am['value']:0x0,ap=an!==void 0x0?an['value']:0x0;if(al['wrapS']=ao===0x0?k:l,al['wrapT']=ap===0x0?k:l,'Scaling'in aj){const aq=aj['Scaling']['value'];al[b7(0x1b4)]['x']=aq[0x0],al['repeat']['y']=aq[0x1];}if(b7(0x1bd)in aj){const ar=aj['Translation']['value'];al[b7(0x1e3)]['x']=ar[0x0],al[b7(0x1e3)]['y']=ar[0x1];}return al;}[aW(0x1c5)](aj,ak){const b8=aW,al=aj[b8(0x1e7)][b8(0x124)]('.')[b8(0x18a)]()['toLowerCase']();let am=this['manager']['getHandler']('.'+al);am===null&&(am=this[b8(0x152)]);const an=am[b8(0x12a)];an||am['setPath'](this['textureLoader'][b8(0x12a)]);const ao=x['get'](aj['id'])[b8(0x17c)];let ap;if(ao!==void 0x0&&ao['length']>0x0&&ak[ao[0x0]['ID']]!==void 0x0&&(ap=ak[ao[0x0]['ID']],(ap['indexOf'](b8(0x134))===0x0||ap['indexOf'](b8(0x1cc))===0x0)&&am['setPath'](void 0x0)),ap===void 0x0)return console['warn'](b8(0x147)),new m();const aq=am['load'](ap);return am['setPath'](an),aq;}[aW(0x113)](aj){const b9=aW,ak=new Map();if('Material'in y['Objects']){const al=y[b9(0x105)]['Material'];for(const am in al){const an=this['parseMaterial'](al[am],aj);an!==null&&ak[b9(0x14b)](parseInt(am),an);}}return ak;}['parseMaterial'](aj,ak){const al=aj['id'],am=aj['attrName'];let an=aj['ShadingModel'];if(typeof an=='object'&&(an=an['value']),!x['has'](al))return null;const ao=this['parseParameters'](aj,ak,al);let ap;switch(an['toLowerCase']()){case'phong':ap=new n();break;case'lambert':ap=new o();break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',an),ap=new n();break;}return ap['setValues'](ao),ap['name']=am,ap;}['parseParameters'](aj,ak,al){const ba=aW,am={};aj[ba(0x1a5)]&&(am['bumpScale']=aj[ba(0x1a5)][ba(0x169)]),aj['Diffuse']?am['color']=p[ba(0x1c4)](new r()['fromArray'](aj['Diffuse']['value']),s):aj['DiffuseColor']&&(aj['DiffuseColor']['type']===ba(0x1cd)||aj['DiffuseColor'][ba(0x120)]===ba(0x161))&&(am[ba(0x15e)]=p['colorSpaceToWorking'](new r()['fromArray'](aj['DiffuseColor']['value']),s)),aj['DisplacementFactor']&&(am['displacementScale']=aj['DisplacementFactor']['value']),aj['Emissive']?am[ba(0x166)]=p['colorSpaceToWorking'](new r()['fromArray'](aj['Emissive']['value']),s):aj['EmissiveColor']&&(aj[ba(0x1ac)][ba(0x120)]==='Color'||aj['EmissiveColor']['type']==='ColorRGB')&&(am[ba(0x166)]=p['colorSpaceToWorking'](new r()['fromArray'](aj['EmissiveColor']['value']),s)),aj[ba(0x1ab)]&&(am['emissiveIntensity']=parseFloat(aj[ba(0x1ab)]['value'])),am['opacity']=0x1-(aj['TransparencyFactor']?parseFloat(aj['TransparencyFactor']['value']):0x0),(am['opacity']===0x1||am['opacity']===0x0)&&(am['opacity']=aj[ba(0x136)]?parseFloat(aj['Opacity']['value']):null,am['opacity']===null&&(am['opacity']=0x1)),am[ba(0x174)]<0x1&&(am['transparent']=!0x0),aj['ReflectionFactor']&&(am['reflectivity']=aj[ba(0x159)]['value']),aj['Shininess']&&(am['shininess']=aj['Shininess']['value']),aj['Specular']?am['specular']=p[ba(0x1c4)](new r()['fromArray'](aj['Specular']['value']),s):aj[ba(0x1da)]&&aj['SpecularColor']['type']===ba(0x1cd)&&(am['specular']=p[ba(0x1c4)](new r()['fromArray'](aj[ba(0x1da)]['value']),s));const an=this;return x['get'](al)['children']['forEach'](function(ao){const bb=ba,ap=ao['relationship'];switch(ap){case'Bump':am[bb(0x150)]=an['getTexture'](ak,ao['ID']);break;case bb(0x115):am[bb(0x1a3)]=an['getTexture'](ak,ao['ID']);break;case'DiffuseColor':case'Maya|TEX_color_map':am[bb(0x1d3)]=an['getTexture'](ak,ao['ID']),am['map']!==void 0x0&&(am['map']['colorSpace']=s);break;case'DisplacementColor':am['displacementMap']=an['getTexture'](ak,ao['ID']);break;case'EmissiveColor':am['emissiveMap']=an['getTexture'](ak,ao['ID']),am['emissiveMap']!==void 0x0&&(am['emissiveMap'][bb(0x171)]=s);break;case bb(0x11e):case'Maya|TEX_normal_map':am['normalMap']=an['getTexture'](ak,ao['ID']);break;case'ReflectionColor':am['envMap']=an['getTexture'](ak,ao['ID']),am[bb(0x11b)]!==void 0x0&&(am['envMap']['mapping']=t,am['envMap']['colorSpace']=s);break;case'SpecularColor':am['specularMap']=an[bb(0x15c)](ak,ao['ID']),am[bb(0x14d)]!==void 0x0&&(am['specularMap'][bb(0x171)]=s);break;case'TransparentColor':case'TransparencyFactor':am['alphaMap']=an['getTexture'](ak,ao['ID']),am['transparent']=!0x0;break;case'AmbientColor':case'ShininessExponent':case'SpecularFactor':case'VectorDisplacementColor':default:console['warn'](bb(0x108),ap);break;}}),am;}['getTexture'](aj,ak){const bc=aW;return'LayeredTexture'in y['Objects']&&ak in y['Objects'][bc(0x1df)]&&(console['warn']('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),ak=x['get'](ak)['children'][0x0]['ID']),aj['get'](ak);}['parseDeformers'](){const bd=aW,aj={},ak={};if(bd(0xf0)in y['Objects']){const al=y['Objects']['Deformer'];for(const am in al){const an=al[am],ao=x['get'](parseInt(am));if(an['attrType']==='Skin'){const ap=this['parseSkeleton'](ao,al);ap['ID']=am,ao['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),ap['geometryID']=ao['parents'][0x0]['ID'],aj[am]=ap;}else{if(an['attrType']==='BlendShape'){const aq={'id':am};aq['rawTargets']=this['parseMorphTargets'](ao,al),aq['id']=am,ao[bd(0x156)]['length']>0x1&&console[bd(0x10a)]('THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),ak[am]=aq;}}}}return{'skeletons':aj,'morphTargets':ak};}['parseSkeleton'](aj,ak){const bf=aW,al=[];return aj['children'][bf(0x1bc)](function(am){const bg=bf,an=ak[am['ID']];if(an[bg(0x187)]!=='Cluster')return;const ao={'ID':am['ID'],'indices':[],'weights':[],'transformLink':new u()['fromArray'](an['TransformLink']['a'])};bg(0x125)in an&&(ao['indices']=an['Indexes']['a'],ao['weights']=an['Weights']['a']),al['push'](ao);}),{'rawBones':al,'bones':[]};}[aW(0x1d2)](aj,ak){const bh=aW,al=[];for(let am=0x0;am<aj['children']['length'];am++){const an=aj['children'][am],ao=ak[an['ID']],ap={'name':ao['attrName'],'initialWeight':ao['DeformPercent'],'id':ao['id'],'fullWeights':ao['FullWeights']['a']};if(ao[bh(0x187)]!=='BlendShapeChannel')return;ap['geoID']=x['get'](parseInt(an['ID']))['children']['filter'](function(aq){return aq['relationship']===void 0x0;})[0x0]['ID'],al['push'](ap);}return al;}['parseScene'](aj,ak,al){const bi=aW;P=new v();const am=this[bi(0x193)](aj['skeletons'],ak,al),an=y[bi(0x105)]['Model'],ao=this;am['forEach'](function(at){const au=an[at['ID']];ao['setLookAtProperties'](at,au),x['get'](at['ID'])['parents']['forEach'](function(av){const bj=c,aw=am['get'](av['ID']);aw!==void 0x0&&aw[bj(0x18b)](at);}),at['parent']===null&&P['add'](at);}),this['addGlobalSceneSettings'](),P['traverse'](function(at){const bk=bi;if(at['userData']['transformData']){at['parent']&&(at['userData']['transformData']['parentMatrix']=at['parent']['matrix'],at['userData']['transformData']['parentMatrixWorld']=at['parent'][bk(0x17f)]);const au=oe(at['userData']['transformData']);at['applyMatrix4'](au),at[bk(0x1dd)]();}});const ap=this[bi(0x17b)](),aq=new Set();for(const at in aj['skeletons'])aj['skeletons'][at]['rawBones']['forEach'](function(au,av){const aw=aj['skeletons'][at]['bones'][av];aw&&aq['add'](aw['ID']);});const ar=new u();P['traverse'](function(au){const bl=bi;if(au['isBone']&&au['ID']!==void 0x0&&!aq['has'](au['ID'])){const av=ap[au['ID']];av!==void 0x0&&(au['parent']?(ar[bl(0x162)](au['parent']['matrixWorld'])['invert'](),ar[bl(0x116)](av)):ar[bl(0x162)](av),ar[bl(0x170)](au[bl(0x1c3)],au['quaternion'],au['scale']),au['updateMatrix'](),au['matrixWorld']['copy'](av));}}),this['bindSkeleton'](aj['skeletons'],ak,am);const as=new Ke()[bi(0x1e9)]();P[bi(0x17c)][bi(0x199)]===0x1&&P['children'][0x0]['isGroup']&&(P['children'][0x0][bi(0x17d)]=as,P=P['children'][0x0]),P[bi(0x17d)]=as,'GlobalSettings'in y&&'UpAxis'in y['GlobalSettings']&&y['GlobalSettings']['UpAxis'][bi(0x169)]===0x2&&(console['warn'](bi(0x15d)),P['rotation']['set'](-Math['PI']/0x2,0x0,0x0));}['parseModels'](aj,ak,al){const bm=aW,am=new Map(),an=y['Objects'][bm(0x1d5)];for(const ao in an){const ap=parseInt(ao),aq=an[ao],ar=x[bm(0xfe)](ap);let as=this['buildSkeleton'](ar,aj,ap,aq[bm(0x10c)]);if(!as){switch(aq['attrType']){case'Camera':as=this[bm(0x1a0)](ar);break;case'Light':as=this['createLight'](ar);break;case'Mesh':as=this['createMesh'](ar,ak,al);break;case'NurbsCurve':as=this['createCurve'](ar,ak);break;case'LimbNode':case bm(0x18c):as=new w();break;case'Null':default:as=new v();break;}as['name']=aq['attrName']?A['sanitizeNodeName'](aq['attrName']):'',as['userData']['originalName']=aq['attrName'],as['ID']=ap;}this['getTransformData'](as,aq),am['set'](ap,as);}return am;}['buildSkeleton'](aj,ak,al,am){let an=null;return aj['parents']['forEach'](function(ao){for(const ap in ak){const aq=ak[ap];aq['rawBones']['forEach'](function(ar,as){const bn=c;if(ar['ID']===ao['ID']){const at=an;an=new w(),an['matrixWorld']['copy'](ar['transformLink']),an['name']=am?A['sanitizeNodeName'](am):'',an['userData'][bn(0x1b7)]=am,an['ID']=al,aq['bones'][as]=an,at!==null&&an['add'](at);}});}}),an;}['createCamera'](aj){const bo=aW;let ak,al;if(aj['children']['forEach'](function(am){const an=y['Objects']['NodeAttribute'][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am=0x0;al[bo(0xef)]!==void 0x0&&al[bo(0xef)]['value']===0x1&&(am=0x1);let an=0x1;al['NearPlane']!==void 0x0&&(an=al['NearPlane']['value']/0x3e8);let ao=0x3e8;al[bo(0x111)]!==void 0x0&&(ao=al[bo(0x111)]['value']/0x3e8);let ap=window['innerWidth'],aq=window['innerHeight'];al['AspectWidth']!==void 0x0&&al['AspectHeight']!==void 0x0&&(ap=al['AspectWidth']['value'],aq=al['AspectHeight']['value']);const ar=ap/aq;let as=0x2d;al['FieldOfView']!==void 0x0&&(as=al['FieldOfView']['value']);const at=al['FocalLength']?al['FocalLength']['value']:null;switch(am){case 0x0:ak=new D(as,ar,an,ao),at!==null&&ak['setFocalLength'](at);break;case 0x1:console['warn']('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),ak=new C();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+am+'.'),ak=new C();break;}}return ak;}['createLight'](aj){const bp=aW;let ak,al;if(aj['children'][bp(0x1bc)](function(am){const bq=bp,an=y[bq(0x105)]['NodeAttribute'][am['ID']];an!==void 0x0&&(al=an);}),al===void 0x0)ak=new C();else{let am;al['LightType']===void 0x0?am=0x0:am=al['LightType'][bp(0x169)];let an=0xffffff;al['Color']!==void 0x0&&(an=p['colorSpaceToWorking'](new r()['fromArray'](al['Color'][bp(0x169)]),s));let ao=al['Intensity']===void 0x0?0x1:al[bp(0x14e)][bp(0x169)]/0x64;al['CastLightOnObject']!==void 0x0&&al['CastLightOnObject']['value']===0x0&&(ao=0x0);let ap=0x0;al['FarAttenuationEnd']!==void 0x0&&(al['EnableFarAttenuation']!==void 0x0&&al[bp(0x184)]['value']===0x0?ap=0x0:ap=al['FarAttenuationEnd']['value']);const aq=0x1;switch(am){case 0x0:ak=new F(an,ao,ap,aq);break;case 0x1:ak=new T(an,ao);break;case 0x2:let ar=Math['PI']/0x3,as=0x0;al[bp(0x12f)]!==void 0x0?(ar=L['degToRad'](al['OuterAngle']['value']),al['InnerAngle']!==void 0x0&&(as=0x1-al[bp(0x18e)]['value']/al['OuterAngle']['value'],as=Math[bp(0x106)](0x0,as))):al[bp(0x18e)]!==void 0x0&&(ar=L['degToRad'](al['InnerAngle']['value'])),ak=new N(an,ao,ap,ar,as,aq);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+al['LightType']['value']+',\x20defaulting\x20to\x20a\x20PointLight.'),ak=new F(an,ao);break;}al['CastShadows']!==void 0x0&&al['CastShadows']['value']===0x1&&(ak['castShadow']=!0x0);}return ak;}['createMesh'](aj,ak,al){const br=aW;let am,an=null,ao=null;const ap=[];if(aj['children'][br(0x1bc)](function(aq){const bs=br;ak[bs(0x129)](aq['ID'])&&(an=ak['get'](aq['ID'])),al['has'](aq['ID'])&&ap[bs(0x13d)](al['get'](aq['ID']));}),ap['length']>0x1?ao=ap:ap['length']>0x0?ao=ap[0x0]:(ao=new n({'name':g['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),ap['push'](ao)),'color'in an['attributes']&&ap['forEach'](function(aq){aq['vertexColors']=!0x0;}),an['groups']['length']>0x0){let aq=!0x1;for(let ar=0x0,as=an[br(0x11f)]['length'];ar<as;ar++){const at=an['groups'][ar];(at['materialIndex']<0x0||at['materialIndex']>=ap['length'])&&(at['materialIndex']=ap['length'],aq=!0x0);}if(aq){const au=new n();ap['push'](au);}}return an['FBX_Deformer']?(am=new X(an,ao),am[br(0x1b8)]()):am=new a0(an,ao),am;}[aW(0x154)](aj,ak){const bt=aW,al=aj['children'][bt(0x1b6)](function(an,ao){const bu=bt;return ak[bu(0x129)](ao['ID'])&&(an=ak['get'](ao['ID'])),an;},null),am=new a1({'name':g[bt(0x1e1)],'color':0x3300ff,'linewidth':0x1});return new a2(al,am);}['getTransformData'](aj,ak){const bv=aW,al={};'InheritType'in ak&&(al['inheritType']=parseInt(ak[bv(0x1e6)][bv(0x169)])),'RotationOrder'in ak?al['eulerOrder']=z(ak['RotationOrder']['value']):al[bv(0x12d)]=z(0x0),'Lcl_Translation'in ak&&(al['translation']=ak[bv(0x135)]['value']),'PreRotation'in ak&&(al['preRotation']=ak['PreRotation']['value']),bv(0x121)in ak&&(al[bv(0x131)]=ak[bv(0x121)]['value']),'PostRotation'in ak&&(al['postRotation']=ak['PostRotation']['value']),'Lcl_Scaling'in ak&&(al[bv(0x10e)]=ak[bv(0x16c)][bv(0x169)]),'ScalingOffset'in ak&&(al['scalingOffset']=ak['ScalingOffset']['value']),'ScalingPivot'in ak&&(al['scalingPivot']=ak[bv(0x177)]['value']),bv(0x12c)in ak&&(al['rotationOffset']=ak['RotationOffset']['value']),bv(0x145)in ak&&(al['rotationPivot']=ak['RotationPivot']['value']),aj['userData']['transformData']=al;}[aW(0x1c9)](aj,ak){const bw=aW;'LookAtProperty'in ak&&x['get'](aj['ID'])[bw(0x17c)][bw(0x1bc)](function(al){const bx=bw;if(al['relationship']==='LookAtProperty'){const am=y['Objects']['Model'][al['ID']];if('Lcl_Translation'in am){const an=am['Lcl_Translation']['value'];aj[bx(0x102)]!==void 0x0?(aj['target']['position'][bx(0x1ca)](an),P['add'](aj['target'])):aj['lookAt'](new e()['fromArray'](an));}}});}['bindSkeleton'](aj,ak,al){const by=aW;for(const am in aj){const an=aj[am],ao=[];for(let ap=0x0,aq=an['bones'][by(0x199)];ap<aq;ap++){const ar=new u();an['bones'][ap]&&an[by(0xf3)][ap]&&ar['copy'](an['rawBones'][ap]['transformLink'])['invert'](),ao['push'](ar);}x['get'](parseInt(an['ID']))['parents']['forEach'](function(as){const bz=by;if(ak[bz(0x129)](as['ID'])){const at=as['ID'];x['get'](at)['parents']['forEach'](function(au){if(al['has'](au['ID'])){const av=al['get'](au['ID']);av['updateMatrixWorld'](!0x0),av['bind'](new a3(an['bones'],ao),av['matrixWorld']);}});}});}}['parsePoseNodes'](){const bA=aW,aj={};if('Pose'in y[bA(0x105)]){const ak=y['Objects']['Pose'];for(const al in ak)if(ak[al]['attrType']==='BindPose'&&ak[al]['NbPoseNodes']>0x0){const am=ak[al]['PoseNode'];Array['isArray'](am)?am['forEach'](function(an){aj[an['Node']]=new u()['fromArray'](an['Matrix']['a']);}):aj[am['Node']]=new u()['fromArray'](am['Matrix']['a']);}}return aj;}['addGlobalSceneSettings'](){const bB=aW;if(bB(0x1af)in y){if('AmbientColor'in y['GlobalSettings']){const aj=y[bB(0x1af)]['AmbientColor']['value'],ak=aj[0x0],al=aj[0x1],am=aj[0x2];if(ak!==0x0||al!==0x0||am!==0x0){const an=new r()['setRGB'](ak,al,am,s);P['add'](new a4(an,0x1));}}'UnitScaleFactor'in y['GlobalSettings']&&(P['userData'][bB(0x1cf)]=y['GlobalSettings'][bB(0x12b)]['value']);}}}class He{constructor(){this['negativeMaterialIndices']=!0x1;}['parse'](aj){const bC=aW,ak=new Map();if('Geometry'in y[bC(0x105)]){const al=y['Objects']['Geometry'];for(const am in al){const an=x['get'](parseInt(am)),ao=this['parseGeometry'](an,al[am],aj);ak[bC(0x14b)](parseInt(am),ao);}}return this['negativeMaterialIndices']===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),ak;}['parseGeometry'](aj,ak,al){const bD=aW;switch(ak['attrType']){case bD(0x14f):return this['parseMeshGeometry'](aj,ak,al);case'NurbsCurve':return this['parseNurbsGeometry'](ak);}}[aW(0xf8)](aj,ak,al){const bE=aW,am=al['skeletons'],an=[],ao=aj[bE(0x156)]['map'](function(at){return y['Objects']['Model'][at['ID']];});if(ao[bE(0x199)]===0x0)return;const ap=aj['children']['reduce'](function(at,au){return am[au['ID']]!==void 0x0&&(at=am[au['ID']]),at;},null);aj['children']['forEach'](function(at){const bF=bE;al['morphTargets'][at['ID']]!==void 0x0&&an['push'](al[bF(0x181)][at['ID']]);});const aq=ao[0x0],ar={};'RotationOrder'in aq&&(ar['eulerOrder']=z(aq['RotationOrder'][bE(0x169)])),'InheritType'in aq&&(ar['inheritType']=parseInt(aq[bE(0x1e6)]['value'])),'GeometricTranslation'in aq&&(ar['translation']=aq['GeometricTranslation']['value']),'GeometricRotation'in aq&&(ar['rotation']=aq[bE(0x123)]['value']),'GeometricScaling'in aq&&(ar[bE(0x10e)]=aq['GeometricScaling']['value']);const as=oe(ar);return this['genGeometry'](ak,ap,an,as);}['genGeometry'](aj,ak,al,am){const bG=aW,an=new a5();aj['attrName']&&(an[bG(0x143)]=aj['attrName']);const ao=this['parseGeoNode'](aj,ak),ap=this['genBuffers'](ao),aq=new a6(ap['vertex'],0x3);if(aq['applyMatrix4'](am),an[bG(0xf5)]('position',aq),ap['colors']['length']>0x0&&an['setAttribute']('color',new a6(ap[bG(0x15f)],0x3)),ak&&(an['setAttribute']('skinIndex',new a7(ap[bG(0x149)],0x4)),an[bG(0xf5)]('skinWeight',new a6(ap['vertexWeights'],0x4)),an['FBX_Deformer']=ak),ap['normal'][bG(0x199)]>0x0){const ar=new a8()['getNormalMatrix'](am),as=new a6(ap[bG(0x1a7)],0x3);as['applyNormalMatrix'](ar),an['setAttribute']('normal',as);}if(ap['uvs']['forEach'](function(at,au){const av=au===0x0?'uv':'uv'+au;an['setAttribute'](av,new a6(ap['uvs'][au],0x2));}),ao[bG(0x191)]&&ao['material']['mappingType']!=='AllSame'){let at=ap['materialIndex'][0x0],au=0x0;if(ap['materialIndex']['forEach'](function(av,aw){const bH=bG;av!==at&&(an[bH(0x1b5)](au,aw-au,at),at=av,au=aw);}),an['groups']['length']>0x0){const av=an['groups'][an['groups']['length']-0x1],aw=av['start']+av[bG(0x110)];aw!==ap['materialIndex'][bG(0x199)]&&an['addGroup'](aw,ap['materialIndex']['length']-aw,at);}an['groups']['length']===0x0&&an[bG(0x1b5)](0x0,ap['materialIndex']['length'],ap[bG(0xf4)][0x0]);}return this[bG(0x140)](an,aj,al,am),an;}['parseGeoNode'](aj,ak){const bI=aW,al={};if(al['vertexPositions']=aj['Vertices']!==void 0x0?aj['Vertices']['a']:[],al[bI(0x172)]=aj[bI(0x122)]!==void 0x0?aj['PolygonVertexIndex']['a']:[],aj[bI(0x112)]&&aj[bI(0x112)][0x0][bI(0x11a)]&&(al['color']=this['parseVertexColors'](aj['LayerElementColor'][0x0])),aj['LayerElementMaterial']&&(al['material']=this['parseMaterialIndices'](aj[bI(0xfb)][0x0])),aj[bI(0x13c)]&&(al['normal']=this['parseNormals'](aj['LayerElementNormal'][0x0])),aj['LayerElementUV']){al['uv']=[];let am=0x0;for(;aj[bI(0x130)][am];)aj['LayerElementUV'][am]['UV']&&al['uv']['push'](this['parseUVs'](aj['LayerElementUV'][am])),am++;}return al['weightTable']={},ak!==null&&(al['skeleton']=ak,ak['rawBones']['forEach'](function(an,ao){an['indices']['forEach'](function(ap,aq){al['weightTable'][ap]===void 0x0&&(al['weightTable'][ap]=[]),al['weightTable'][ap]['push']({'id':ao,'weight':an['weights'][aq]});});})),al;}['genBuffers'](aj){const ak={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]};let al=0x0,am=0x0,an=!0x1,ao=[],ap=[],aq=[],ar=[],as=[],at=[];const au=this;return aj['vertexIndices']['forEach'](function(av,aw){const bJ=c;let ax,ay=!0x1;av<0x0&&(av=av^-0x1,ay=!0x0);let az=[],aA=[];if(ao['push'](av*0x3,av*0x3+0x1,av*0x3+0x2),aj[bJ(0x15e)]){const aB=K(aw,al,av,aj['color']);aq[bJ(0x13d)](aB[0x0],aB[0x1],aB[0x2]);}if(aj['skeleton']){if(aj[bJ(0x1ad)][av]!==void 0x0&&aj['weightTable'][av]['forEach'](function(aC){aA['push'](aC['weight']),az['push'](aC['id']);}),aA['length']>0x4){an||(console['warn'](bJ(0x175)),an=!0x0);const aC=[0x0,0x0,0x0,0x0],aD=[0x0,0x0,0x0,0x0];aA['forEach'](function(aE,aF){let aG=aE,aH=az[aF];aD['forEach'](function(aI,aJ,aK){if(aG>aI){aK[aJ]=aG,aG=aI;const aL=aC[aJ];aC[aJ]=aH,aH=aL;}});}),az=aC,aA=aD;}for(;aA['length']<0x4;)aA['push'](0x0),az[bJ(0x13d)](0x0);for(let aE=0x0;aE<0x4;++aE)as[bJ(0x13d)](aA[aE]),at['push'](az[aE]);}if(aj['normal']){const aF=K(aw,al,av,aj['normal']);ap['push'](aF[0x0],aF[0x1],aF[0x2]);}aj['material']&&aj[bJ(0x191)]['mappingType']!=='AllSame'&&(ax=K(aw,al,av,aj['material'])[0x0],ax<0x0&&(au['negativeMaterialIndices']=!0x0,ax=0x0)),aj['uv']&&aj['uv']['forEach'](function(aG,aH){const aI=K(aw,al,av,aG);ar[aH]===void 0x0&&(ar[aH]=[]),ar[aH]['push'](aI[0x0]),ar[aH]['push'](aI[0x1]);}),am++,ay&&(au['genFace'](ak,aj,ao,ax,ap,aq,ar,as,at,am),al++,am=0x0,ao=[],ap=[],aq=[],ar=[],as=[],at=[]);}),ak;}['getNormalNewell'](aj){const bK=aW,ak=new e(0x0,0x0,0x0);for(let al=0x0;al<aj[bK(0x199)];al++){const am=aj[al],an=aj[(al+0x1)%aj['length']];ak['x']+=(am['y']-an['y'])*(am['z']+an['z']),ak['y']+=(am['z']-an['z'])*(am['x']+an['x']),ak['z']+=(am['x']-an['x'])*(am['y']+an['y']);}return ak[bK(0x189)](),ak;}['getNormalTangentAndBitangent'](aj){const bL=aW,ak=this[bL(0x1de)](aj),al=(Math['abs'](ak['z'])>0.5?new e(0x0,0x1,0x0):new e(0x0,0x0,0x1))['cross'](ak)['normalize'](),am=ak[bL(0x1e2)]()['cross'](al)['normalize']();return{'normal':ak,'tangent':al,'bitangent':am};}['flattenVertex'](aj,ak,al){const bM=aW;return new a9(aj['dot'](ak),aj[bM(0xfd)](al));}['genFace'](aj,ak,al,am,an,ao,ap,aq,ar,as){const bN=aW;let at;if(as>0x3){const au=[],av=ak['baseVertexPositions']||ak[bN(0x1be)];for(let az=0x0;az<al['length'];az+=0x3)au['push'](new e(av[al[az]],av[al[az+0x1]],av[al[az+0x2]]));const {tangent:aw,bitangent:ax}=this['getNormalTangentAndBitangent'](au),ay=[];for(const aA of au)ay['push'](this[bN(0x1e5)](aA,aw,ax));at=aa['triangulateShape'](ay,[]);}else at=[[0x0,0x1,0x2]];for(const [aB,aC,aD]of at)aj['vertex']['push'](ak[bN(0x1be)][al[aB*0x3]]),aj['vertex'][bN(0x13d)](ak['vertexPositions'][al[aB*0x3+0x1]]),aj['vertex']['push'](ak[bN(0x1be)][al[aB*0x3+0x2]]),aj['vertex']['push'](ak[bN(0x1be)][al[aC*0x3]]),aj['vertex']['push'](ak[bN(0x1be)][al[aC*0x3+0x1]]),aj['vertex']['push'](ak['vertexPositions'][al[aC*0x3+0x2]]),aj[bN(0x179)]['push'](ak['vertexPositions'][al[aD*0x3]]),aj['vertex']['push'](ak['vertexPositions'][al[aD*0x3+0x1]]),aj['vertex']['push'](ak['vertexPositions'][al[aD*0x3+0x2]]),ak['skeleton']&&(aj['vertexWeights'][bN(0x13d)](aq[aB*0x4]),aj[bN(0x19f)]['push'](aq[aB*0x4+0x1]),aj[bN(0x19f)]['push'](aq[aB*0x4+0x2]),aj[bN(0x19f)]['push'](aq[aB*0x4+0x3]),aj['vertexWeights'][bN(0x13d)](aq[aC*0x4]),aj['vertexWeights']['push'](aq[aC*0x4+0x1]),aj['vertexWeights']['push'](aq[aC*0x4+0x2]),aj[bN(0x19f)]['push'](aq[aC*0x4+0x3]),aj['vertexWeights']['push'](aq[aD*0x4]),aj['vertexWeights']['push'](aq[aD*0x4+0x1]),aj['vertexWeights']['push'](aq[aD*0x4+0x2]),aj['vertexWeights']['push'](aq[aD*0x4+0x3]),aj[bN(0x149)][bN(0x13d)](ar[aB*0x4]),aj['weightsIndices']['push'](ar[aB*0x4+0x1]),aj['weightsIndices']['push'](ar[aB*0x4+0x2]),aj['weightsIndices']['push'](ar[aB*0x4+0x3]),aj['weightsIndices']['push'](ar[aC*0x4]),aj['weightsIndices']['push'](ar[aC*0x4+0x1]),aj['weightsIndices'][bN(0x13d)](ar[aC*0x4+0x2]),aj['weightsIndices']['push'](ar[aC*0x4+0x3]),aj['weightsIndices']['push'](ar[aD*0x4]),aj['weightsIndices'][bN(0x13d)](ar[aD*0x4+0x1]),aj['weightsIndices'][bN(0x13d)](ar[aD*0x4+0x2]),aj[bN(0x149)]['push'](ar[aD*0x4+0x3])),ak[bN(0x15e)]&&(aj['colors']['push'](ao[aB*0x3]),aj['colors']['push'](ao[aB*0x3+0x1]),aj['colors'][bN(0x13d)](ao[aB*0x3+0x2]),aj['colors']['push'](ao[aC*0x3]),aj[bN(0x15f)][bN(0x13d)](ao[aC*0x3+0x1]),aj['colors']['push'](ao[aC*0x3+0x2]),aj['colors']['push'](ao[aD*0x3]),aj['colors']['push'](ao[aD*0x3+0x1]),aj['colors']['push'](ao[aD*0x3+0x2])),ak['material']&&ak['material'][bN(0x1c6)]!=='AllSame'&&(aj['materialIndex']['push'](am),aj['materialIndex']['push'](am),aj['materialIndex']['push'](am)),ak['normal']&&(aj['normal'][bN(0x13d)](an[aB*0x3]),aj['normal']['push'](an[aB*0x3+0x1]),aj['normal']['push'](an[aB*0x3+0x2]),aj['normal']['push'](an[aC*0x3]),aj[bN(0x1a7)]['push'](an[aC*0x3+0x1]),aj[bN(0x1a7)]['push'](an[aC*0x3+0x2]),aj['normal']['push'](an[aD*0x3]),aj['normal']['push'](an[aD*0x3+0x1]),aj[bN(0x1a7)]['push'](an[aD*0x3+0x2])),ak['uv']&&ak['uv']['forEach'](function(aE,aF){const bO=bN;aj['uvs'][aF]===void 0x0&&(aj[bO(0x1db)][aF]=[]),aj['uvs'][aF]['push'](ap[aF][aB*0x2]),aj['uvs'][aF][bO(0x13d)](ap[aF][aB*0x2+0x1]),aj[bO(0x1db)][aF][bO(0x13d)](ap[aF][aC*0x2]),aj[bO(0x1db)][aF]['push'](ap[aF][aC*0x2+0x1]),aj['uvs'][aF]['push'](ap[aF][aD*0x2]),aj['uvs'][aF]['push'](ap[aF][aD*0x2+0x1]);});}['addMorphTargets'](aj,ak,al,am){const bP=aW;if(al['length']===0x0)return;aj[bP(0x183)]=!0x0,aj['morphAttributes'][bP(0x1c3)]=[];const an=am['clone']()['setPosition'](0x0,0x0,0x0),ao=this;al['forEach'](function(ap){ap['rawTargets']['forEach'](function(aq){const bQ=c,ar=y[bQ(0x105)]['Geometry'][aq[bQ(0x16f)]];ar!==void 0x0&&ao['genMorphGeometry'](aj,ak,ar,an,aq['name']);});});}['genMorphGeometry'](aj,ak,al,am,an){const bR=aW,ao=ak['Vertices']!==void 0x0?ak['Vertices']['a']:[],ap=ak['PolygonVertexIndex']!==void 0x0?ak[bR(0x122)]['a']:[],aq=al['Vertices']!==void 0x0?al[bR(0xf6)]['a']:[],ar=al[bR(0x125)]!==void 0x0?al['Indexes']['a']:[],as=aj['attributes']['position']['count']*0x3,at=new Float32Array(as);for(let ax=0x0;ax<ar['length'];ax++){const ay=ar[ax]*0x3;at[ay]=aq[ax*0x3],at[ay+0x1]=aq[ax*0x3+0x1],at[ay+0x2]=aq[ax*0x3+0x2];}const au={'vertexIndices':ap,'vertexPositions':at,'baseVertexPositions':ao},av=this[bR(0x1b9)](au),aw=new a6(av['vertex'],0x3);aw['name']=an||al['attrName'],aw['applyMatrix4'](am),aj['morphAttributes']['position']['push'](aw);}[aW(0x1b2)](aj){const bS=aW,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'],am=aj['Normals']['a'];let an=[];return al==='IndexToDirect'&&('NormalIndex'in aj?an=aj['NormalIndex']['a']:bS(0x13e)in aj&&(an=aj['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}[aW(0x1a1)](aj){const bT=aW,ak=aj['MappingInformationType'],al=aj[bT(0x1b1)],am=aj['UV']['a'];let an=[];return al==='IndexToDirect'&&(an=aj[bT(0x118)]['a']),{'dataSize':0x2,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseVertexColors'](aj){const bU=aW,ak=aj[bU(0x1d4)],al=aj['ReferenceInformationType'],am=aj['Colors']['a'];let an=[];al==='IndexToDirect'&&(an=aj['ColorIndex']['a']);for(let ao=0x0,ap=new r();ao<am[bU(0x199)];ao+=0x4)ap['fromArray'](am,ao),p['colorSpaceToWorking'](ap,s),ap['toArray'](am,ao);return{'dataSize':0x4,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}['parseMaterialIndices'](aj){const bV=aW,ak=aj['MappingInformationType'],al=aj['ReferenceInformationType'];if(ak==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':al};const am=aj['Materials']['a'],an=[];for(let ao=0x0;ao<am['length'];++ao)an[bV(0x13d)](ao);return{'dataSize':0x1,'buffer':am,'indices':an,'mappingType':ak,'referenceType':al};}[aW(0x16d)](aj){const bW=aW,ak=parseInt(aj[bW(0x151)]);if(isNaN(ak))return console['error'](bW(0x138),aj['Order'],aj['id']),new a5();const al=ak-0x1,am=aj['KnotVector']['a'],an=[],ao=aj['Points']['a'];for(let as=0x0,at=ao[bW(0x199)];as<at;as+=0x4)an['push'](new d()['fromArray'](ao,as));let ap,aq;if(aj['Form']==='Closed')an['push'](an[0x0]);else{if(aj['Form']==='Periodic'){ap=al,aq=am['length']-0x1-ap;for(let au=0x0;au<al;++au)an['push'](an[au]);}}const ar=new je(al,am,an,ap,aq)['getPoints'](an['length']*0xc);return new a5()['setFromPoints'](ar);}}class Ke{['parse'](){const aj=[],ak=this['parseClips']();if(ak!==void 0x0)for(const al in ak){const am=ak[al],an=this['addClip'](am);aj['push'](an);}return aj;}['parseClips'](){const bX=aW;if(y['Objects']['AnimationCurve']===void 0x0)return;const aj=this[bX(0x155)]();this[bX(0x1d8)](aj);const ak=this['parseAnimationLayers'](aj);return this['parseAnimStacks'](ak);}['parseAnimationCurveNodes'](){const aj=y['Objects']['AnimationCurveNode'],ak=new Map();for(const al in aj){const am=aj[al];if(am['attrName']['match'](/S|R|T|DeformPercent/)!==null){const an={'id':am['id'],'attr':am['attrName'],'curves':{}};ak['set'](an['id'],an);}}return ak;}['parseAnimationCurves'](aj){const bY=aW,ak=y['Objects']['AnimationCurve'];for(const al in ak){const am={'id':ak[al]['id'],'times':ak[al][bY(0x133)]['a']['map'](qe),'values':ak[al][bY(0x1e4)]['a']},an=x['get'](am['id']);if(an!==void 0x0){const ao=an['parents'][0x0]['ID'],ap=an['parents'][0x0]['relationship'];ap[bY(0x1e0)](/X/)?aj[bY(0xfe)](ao)['curves']['x']=am:ap['match'](/Y/)?aj['get'](ao)[bY(0x1d1)]['y']=am:ap[bY(0x1e0)](/Z/)?aj['get'](ao)['curves']['z']=am:ap['match'](/DeformPercent/)&&aj['has'](ao)&&(aj[bY(0xfe)](ao)[bY(0x1d1)]['morph']=am);}}}['parseAnimationLayers'](aj){const bZ=aW,ak=y['Objects']['AnimationLayer'],al=new Map();for(const am in ak){const an=[],ao=x[bZ(0xfe)](parseInt(am));ao!==void 0x0&&(ao[bZ(0x17c)]['forEach'](function(ap,aq){const c0=bZ;if(aj['has'](ap['ID'])){const ar=aj['get'](ap['ID']);if(ar['curves']['x']!==void 0x0||ar['curves']['y']!==void 0x0||ar[c0(0x1d1)]['z']!==void 0x0){if(an[aq]===void 0x0){const as=x['get'](ap['ID'])[c0(0x156)]['filter'](function(au){return au['relationship']!==void 0x0;});if(as['length']===0x0)return;const at=as[0x0]['ID'];if(at!==void 0x0){const au=y[c0(0x105)][c0(0x1d5)][at['toString']()];if(au===void 0x0){console[c0(0x10a)](c0(0x16a),ap);return;}const av={'modelName':au[c0(0x10c)]?A[c0(0x127)](au['attrName']):'','ID':au['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};P[c0(0x10f)](function(aw){const c1=c0;aw['ID']===au['id']&&(av['transform']=aw['matrix'],aw['userData'][c1(0x1ea)]&&(av['eulerOrder']=aw['userData']['transformData']['eulerOrder'],aw['userData']['transformData']['rotation']&&(av['initialRotation']=aw['userData'][c1(0x1ea)]['rotation'])));}),av['transform']||(av['transform']=new u()),'PreRotation'in au&&(av['preRotation']=au['PreRotation']['value']),'PostRotation'in au&&(av['postRotation']=au['PostRotation']['value']),an[aq]=av;}}an[aq]&&(an[aq][ar['attr']]=ar);}else{if(ar['curves']['morph']!==void 0x0){if(an[aq]===void 0x0){const aw=x['get'](ap['ID'])['parents']['filter'](function(aD){const c2=c0;return aD[c2(0x141)]!==void 0x0;});if(aw['length']===0x0)return;const ax=aw[0x0]['ID'],ay=x[c0(0xfe)](ax)['parents'][0x0]['ID'],az=x['get'](ay)['parents'][0x0]['ID'],aA=x[c0(0xfe)](az)[c0(0x156)][0x0]['ID'],aB=y[c0(0x105)]['Model'][aA],aC={'modelName':aB['attrName']?A[c0(0x127)](aB['attrName']):'','morphName':y[c0(0x105)]['Deformer'][ax]['attrName']};an[aq]=aC;}an[aq][ar[c0(0x180)]]=ar;}}}}),al['set'](parseInt(am),an));}return al;}['parseAnimStacks'](aj){const c3=aW,ak=y['Objects']['AnimationStack'],al={};for(const am in ak){const an=x[c3(0xfe)](parseInt(am))[c3(0x17c)];an['length']>0x1&&console['warn'](c3(0x137));const ao=aj[c3(0xfe)](an[0x0]['ID']);al[am]={'name':ak[am]['attrName'],'layer':ao};}return al;}['addClip'](aj){const c5=aW;let ak=[];const al=this;return aj['layer']['forEach'](function(am){const c4=c;ak=ak[c4(0x132)](al['generateTracks'](am));}),new ab(aj[c5(0x143)],-0x1,ak);}['generateTracks'](aj){const c6=aW,ak=[];let al=new e(),am=new e();if(aj['transform']&&aj['transform']['decompose'](al,new ac(),am),al=al[c6(0x1a2)](),am=am['toArray'](),aj['T']!==void 0x0&&Object[c6(0x14a)](aj['T']['curves'])['length']>0x0){const an=this['generateVectorTrack'](aj['modelName'],aj['T']['curves'],al,'position');an!==void 0x0&&ak['push'](an);}if(aj['R']!==void 0x0&&Object['keys'](aj['R']['curves'])[c6(0x199)]>0x0){const ao=this['generateRotationTrack'](aj['modelName'],aj['R']['curves'],aj[c6(0x100)],aj['postRotation'],aj['eulerOrder'],aj['initialRotation']);ao!==void 0x0&&ak[c6(0x13d)](ao);}if(aj['S']!==void 0x0&&Object['keys'](aj['S']['curves'])[c6(0x199)]>0x0){const ap=this['generateVectorTrack'](aj['modelName'],aj['S']['curves'],am,'scale');ap!==void 0x0&&ak['push'](ap);}if(aj['DeformPercent']!==void 0x0){const aq=this['generateMorphTrack'](aj);aq!==void 0x0&&ak[c6(0x13d)](aq);}return ak;}['generateVectorTrack'](aj,ak,al,am){const an=this['getTimesForAllAxes'](ak),ao=this['getKeyframeTrackValues'](an,ak,al);return new ad(aj+'.'+am,an,ao);}[aW(0x109)](aj,ak,al,am,an,ao){const c7=aW;let ap,aq;if(ak['x']!==void 0x0||ak['y']!==void 0x0||ak['z']!==void 0x0){const av=this['getTimesForAllAxes'](ak);if(av['length']>0x0){const aw=ao||[0x0,0x0,0x0],ax=this[c7(0x18d)](ak['x'],av,aw[0x0]),ay=this[c7(0x18d)](ak['y'],av,aw[0x1]),az=this[c7(0x18d)](ak['z'],av,aw[0x2]),aA=this['interpolateRotations'](ax,ay,az,an);ap=aA[0x0],aq=aA[0x1];}}const ar=z(0x0);al!==void 0x0&&(al=al[c7(0x1d3)](L['degToRad']),al['push'](ar),al=new af()['fromArray'](al),al=new ac()['setFromEuler'](al)),am!==void 0x0&&(am=am['map'](L['degToRad']),am[c7(0x13d)](ar),am=new af()['fromArray'](am),am=new ac()['setFromEuler'](am)['invert']());const as=new ac(),at=new af(),au=[];if(!(!aq||!ap)){for(let aB=0x0;aB<aq[c7(0x199)];aB+=0x3)at['set'](aq[aB],aq[aB+0x1],aq[aB+0x2],an),as['setFromEuler'](at),al!==void 0x0&&as['premultiply'](al),am!==void 0x0&&as['multiply'](am),aB>0x2&&new ac()['fromArray'](au,(aB-0x3)/0x3*0x4)['dot'](as)<0x0&&as['set'](-as['x'],-as['y'],-as['z'],-as['w']),as[c7(0x1a2)](au,aB/0x3*0x4);return new ag(aj+'.quaternion',ap,au);}}['generateMorphTrack'](aj){const c8=aW,ak=aj['DeformPercent']['curves']['morph'],al=ak['values']['map'](function(an){return an/0x64;}),am=P['getObjectByName'](aj['modelName'])['morphTargetDictionary'][aj['morphName']];return new ah(aj[c8(0x12e)]+'.morphTargetInfluences['+am+']',ak[c8(0x165)],al);}['getTimesForAllAxes'](aj){const c9=aW;let ak=[];if(aj['x']!==void 0x0&&(ak=ak['concat'](aj['x'][c9(0x165)])),aj['y']!==void 0x0&&(ak=ak['concat'](aj['y']['times'])),aj['z']!==void 0x0&&(ak=ak['concat'](aj['z']['times'])),ak=ak['sort'](function(al,am){return al-am;}),ak['length']>0x1){let al=0x1,am=ak[0x0];for(let an=0x1;an<ak['length'];an++){const ao=ak[an];ao!==am&&(ak[al]=ao,am=ao,al++);}ak=ak[c9(0x10d)](0x0,al);}return ak;}['getKeyframeTrackValues'](aj,ak,al){const ca=aW,am=al,an=[];let ao=-0x1,ap=-0x1,aq=-0x1;return aj[ca(0x1bc)](function(ar){const cb=ca;if(ak['x']&&(ao=ak['x']['times']['indexOf'](ar)),ak['y']&&(ap=ak['y'][cb(0x165)]['indexOf'](ar)),ak['z']&&(aq=ak['z'][cb(0x165)][cb(0x196)](ar)),ao!==-0x1){const as=ak['x']['values'][ao];an[cb(0x13d)](as),am[0x0]=as;}else an[cb(0x13d)](am[0x0]);if(ap!==-0x1){const at=ak['y']['values'][ap];an['push'](at),am[0x1]=at;}else an['push'](am[0x1]);if(aq!==-0x1){const au=ak['z']['values'][aq];an['push'](au),am[0x2]=au;}else an['push'](am[0x2]);}),an;}['synchronizeCurve'](aj,ak,al){if(aj===void 0x0)return{'times':ak,'values':ak['map'](()=>al)};if(aj['times']['length']===ak['length'])return aj;const am=[];for(let an=0x0;an<ak['length'];an++)am['push'](this['sampleCurveValue'](aj,ak[an],al));return{'times':ak,'values':am};}['sampleCurveValue'](aj,ak,al){const cc=aW,am=aj[cc(0x165)],an=aj[cc(0x1c0)];if(ak<=am[0x0])return an[0x0];if(ak>=am[am['length']-0x1])return an[an[cc(0x199)]-0x1];for(let ao=0x0;ao<am['length']-0x1;ao++)if(ak>=am[ao]&&ak<=am[ao+0x1]){if(am[ao]===ak)return an[ao];const ap=(ak-am[ao])/(am[ao+0x1]-am[ao]);return an[ao]*(0x1-ap)+an[ao+0x1]*ap;}return al;}[aW(0x14c)](aj,ak,al,am){const cd=aW,an=[],ao=[];an['push'](aj['times'][0x0]),ao['push'](L['degToRad'](aj[cd(0x1c0)][0x0])),ao['push'](L['degToRad'](ak['values'][0x0])),ao['push'](L['degToRad'](al['values'][0x0]));for(let ap=0x1;ap<aj['values']['length'];ap++){const aq=[aj[cd(0x1c0)][ap-0x1],ak['values'][ap-0x1],al['values'][ap-0x1]];if(isNaN(aq[0x0])||isNaN(aq[0x1])||isNaN(aq[0x2]))continue;const ar=aq['map'](L['degToRad']),as=[aj['values'][ap],ak['values'][ap],al['values'][ap]];if(isNaN(as[0x0])||isNaN(as[0x1])||isNaN(as[0x2]))continue;const at=as['map'](L[cd(0x1c7)]),au=[as[0x0]-aq[0x0],as[0x1]-aq[0x1],as[0x2]-aq[0x2]],av=[Math['abs'](au[0x0]),Math['abs'](au[0x1]),Math[cd(0x15b)](au[0x2])];if(av[0x0]>=0xb4||av[0x1]>=0xb4||av[0x2]>=0xb4){const aw=Math['max'](...av)/0xb4,ax=new af(...ar,am),ay=new af(...at,am),az=new ac()['setFromEuler'](ax),aA=new ac()['setFromEuler'](ay);az[cd(0xfd)](aA)<0x0&&aA['set'](-aA['x'],-aA['y'],-aA['z'],-aA['w']);const aB=aj['times'][ap-0x1],aC=aj[cd(0x165)][ap]-aB,aD=new ac(),aE=new af();for(let aF=0x0;aF<0x1;aF+=0x1/aw)aD['copy'](az['clone']()['slerp'](aA['clone'](),aF)),an['push'](aB+aF*aC),aE[cd(0x1a4)](aD,am),ao[cd(0x13d)](aE['x']),ao['push'](aE['y']),ao['push'](aE['z']);}else an['push'](aj['times'][ap]),ao['push'](L['degToRad'](aj['values'][ap])),ao['push'](L['degToRad'](ak['values'][ap])),ao[cd(0x13d)](L['degToRad'](al[cd(0x1c0)][ap]));}return[an,ao];}}function c(b,d){b=b-0xef;const e=a();let f=e[b];return f;}class We{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){const ce=aW;return this['nodeStack'][this[ce(0x19e)]-0x1];}[aW(0x188)](){return this['currentProp'];}[aW(0x19b)](aj){this['nodeStack']['push'](aj),this['currentIndent']+=0x1;}['popStack'](){const cf=aW;this[cf(0x190)]['pop'](),this['currentIndent']-=0x1;}['setCurrentProp'](aj,ak){const cg=aW;this['currentProp']=aj,this[cg(0x163)]=ak;}['parse'](aj){const ch=aW;this['currentIndent']=0x0,this['allNodes']=new ae(),this[ch(0x190)]=[],this['currentProp']=[],this['currentPropName']='';const ak=this,al=aj[ch(0x124)](/[\r\n]+/);return al['forEach'](function(am,an){const ci=ch,ao=am['match'](/^[\s\t]*;/),ap=am['match'](/^[\s\t]*$/);if(ao||ap)return;const aq=am['match']('^\x5ct{'+ak['currentIndent']+ci(0x1a8),''),ar=am['match'](ci(0x1dc)+ak[ci(0x19e)]+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),as=am['match']('^\x5ct{'+(ak['currentIndent']-0x1)+'}}');aq?ak['parseNodeBegin'](am,aq):ar?ak[ci(0x16e)](am,ar,al[++an]):as?ak['popStack']():am['match'](/^[^\s\t}]/)&&ak['parseNodePropertyContinued'](am);}),this[ch(0x114)];}['parseNodeBegin'](aj,ak){const cj=aW,al=ak[0x1]['trim']()[cj(0x117)](/^"/,'')['replace'](/"$/,''),am=ak[0x2]['split'](',')['map'](function(aq){return aq['trim']()['replace'](/^"/,'')['replace'](/"$/,'');}),an={'name':al},ao=this['parseNodeAttr'](am),ap=this['getCurrentNode']();this['currentIndent']===0x0?this['allNodes']['add'](al,an):al in ap?(al==='PoseNode'?ap['PoseNode']['push'](an):ap[al]['id']!==void 0x0&&(ap[al]={},ap[al][ap[al]['id']]=ap[al]),ao['id']!==''&&(ap[al][ao['id']]=an)):typeof ao['id']==cj(0x185)?(ap[al]={},ap[al][ao['id']]=an):al!=='Properties70'&&(al==='PoseNode'?ap[al]=[an]:ap[al]=an),typeof ao['id']=='number'&&(an['id']=ao['id']),ao['name']!==''&&(an['attrName']=ao['name']),ao['type']!==''&&(an[cj(0x187)]=ao[cj(0x120)]),this['pushStack'](an);}['parseNodeAttr'](aj){let ak=aj[0x0];aj[0x0]!==''&&(ak=parseInt(aj[0x0]),isNaN(ak)&&(ak=aj[0x0]));let al='',am='';return aj['length']>0x1&&(al=aj[0x1]['replace'](/^(\w+)::/,''),am=aj[0x2]),{'id':ak,'name':al,'type':am};}['parseNodeProperty'](aj,ak,al){const ck=aW;let am=ak[0x1][ck(0x117)](/^"/,'')['replace'](/"$/,'')['trim'](),an=ak[0x2]['replace'](/^"/,'')['replace'](/"$/,'')['trim']();am==='Content'&&an===','&&(an=al['replace'](/"/g,'')['replace'](/,$/,'')['trim']());const ao=this['getCurrentNode']();if(ao[ck(0x143)]==='Properties70'){this['parseNodeSpecialProperty'](aj,am,an);return;}if(am==='C'){const ap=an['split'](',')['slice'](0x1),aq=parseInt(ap[0x0]),ar=parseInt(ap[0x1]);let as=an['split'](',')['slice'](0x3);as=as[ck(0x1d3)](function(at){return at['trim']()['replace'](/^"/,'');}),am=ck(0x146),an=[aq,ar],$e(an,as),ao[am]===void 0x0&&(ao[am]=[]);}am==='Node'&&(ao['id']=an),am in ao&&Array['isArray'](ao[am])?ao[am]['push'](an):am!=='a'?ao[am]=an:ao['a']=an,this['setCurrentProp'](ao,am),am==='a'&&an['slice'](-0x1)!==','&&(ao['a']=q(an));}['parseNodePropertyContinued'](aj){const ak=this['getCurrentNode']();ak['a']+=aj,aj['slice'](-0x1)!==','&&(ak['a']=q(ak['a']));}['parseNodeSpecialProperty'](aj,ak,al){const cm=aW,am=al['split']('\x22,')['map'](function(as){const cl=c;return as[cl(0x1e8)]()['replace'](/^\"/,'')[cl(0x117)](/\s/,'_');}),an=am[0x0],ao=am[0x1],ap=am[0x2],aq=am[0x3];let ar=am[0x4];switch(ao){case cm(0x17e):case'enum':case cm(0x17a):case cm(0x1a9):case'double':case'Number':case'FieldOfView':ar=parseFloat(ar);break;case cm(0x1cd):case cm(0x161):case'Vector3D':case cm(0x135):case cm(0x121):case cm(0x16c):ar=q(ar);break;}this['getPrevNode']()[an]={'type':ao,'type2':ap,'flag':aq,'value':ar},this['setCurrentProp'](this['getPrevNode'](),an);}}class Ne{['parse'](aj){const cn=aW,ak=new re(aj);ak['skip'](0x17);const al=ak['getUint32']();if(al<0x1900)throw new Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+al);const am=new ae();for(;!this['endOfContent'](ak);){const an=this[cn(0xfc)](ak,al);an!==null&&am['add'](an['name'],an);}return am;}['endOfContent'](aj){const co=aW;return aj['size']()%0x10===0x0?(aj['getOffset']()+0xa0+0x10&-0x10)>=aj['size']():aj['getOffset']()+0xa0+0x10>=aj[co(0xf9)]();}['parseNode'](aj,ak){const cp=aW,al={},am=ak>=0x1d4c?aj['getUint64']():aj[cp(0x178)](),an=ak>=0x1d4c?aj['getUint64']():aj['getUint32']();ak>=0x1d4c?aj['getUint64']():aj['getUint32']();const ao=aj['getUint8'](),ap=aj['getString'](ao);if(am===0x0)return null;const aq=[];for(let au=0x0;au<an;au++)aq[cp(0x13d)](this[cp(0x119)](aj));const ar=aq[cp(0x199)]>0x0?aq[0x0]:'',as=aq['length']>0x1?aq[0x1]:'',at=aq['length']>0x2?aq[0x2]:'';for(al['singleProperty']=an===0x1&&aj['getOffset']()===am;am>aj['getOffset']();){const av=this[cp(0xfc)](aj,ak);av!==null&&this['parseSubNode'](ap,al,av);}return al['propertyList']=aq,typeof ar=='number'&&(al['id']=ar),as!==''&&(al[cp(0x10c)]=as),at!==''&&(al['attrType']=at),ap!==''&&(al[cp(0x143)]=ap),al;}['parseSubNode'](aj,ak,al){const cq=aW;if(al['singleProperty']===!0x0){const am=al['propertyList'][0x0];Array['isArray'](am)?(ak[al['name']]=al,al['a']=am):ak[al[cq(0x143)]]=am;}else{if(aj==='Connections'&&al['name']==='C'){const an=[];al['propertyList']['forEach'](function(ao,ap){ap!==0x0&&an['push'](ao);}),ak['connections']===void 0x0&&(ak['connections']=[]),ak['connections'][cq(0x13d)](an);}else{if(al['name']==='Properties70')Object['keys'](al)['forEach'](function(ao){ak[ao]=al[ao];});else{if(aj==='Properties70'&&al[cq(0x143)]==='P'){let ao=al['propertyList'][0x0],ap=al['propertyList'][0x1];const aq=al['propertyList'][0x2],ar=al[cq(0x157)][0x3];let as;ao['indexOf']('Lcl\x20')===0x0&&(ao=ao['replace']('Lcl\x20','Lcl_')),ap[cq(0x196)]('Lcl\x20')===0x0&&(ap=ap['replace']('Lcl\x20','Lcl_')),ap===cq(0x1cd)||ap==='ColorRGB'||ap===cq(0x13b)||ap==='Vector3D'||ap[cq(0x196)]('Lcl_')===0x0?as=[al['propertyList'][0x4],al['propertyList'][0x5],al['propertyList'][0x6]]:as=al['propertyList'][0x4],ak[ao]={'type':ap,'type2':aq,'flag':ar,'value':as};}else ak[al['name']]===void 0x0?typeof al['id']==cq(0x185)?(ak[al[cq(0x143)]]={},ak[al['name']][al['id']]=al):ak[al['name']]=al:al['name']==='PoseNode'?(Array['isArray'](ak[al['name']])||(ak[al['name']]=[ak[al['name']]]),ak[al[cq(0x143)]]['push'](al)):ak[al['name']][al['id']]===void 0x0&&(ak[al[cq(0x143)]][al['id']]=al);}}}}['parseProperty'](aj){const cr=aW,ak=aj['getString'](0x1);let al;switch(ak){case'C':return aj[cr(0x1ba)]();case'D':return aj[cr(0x1aa)]();case'F':return aj['getFloat32']();case'I':return aj['getInt32']();case'L':return aj['getInt64']();case'R':return al=aj['getUint32'](),aj['getArrayBuffer'](al);case'S':return al=aj[cr(0x178)](),aj['getString'](al);case'Y':return aj[cr(0x158)]();case'b':case'c':case'd':case'f':case'i':case'l':const am=aj['getUint32'](),an=aj['getUint32'](),ao=aj['getUint32']();if(an===0x0)switch(ak){case'b':case'c':return aj['getBooleanArray'](am);case'd':return aj['getFloat64Array'](am);case'f':return aj['getFloat32Array'](am);case'i':return aj['getInt32Array'](am);case'l':return aj['getInt64Array'](am);}const ap=ai(new Uint8Array(aj[cr(0x13f)](ao))),aq=new re(ap['buffer']);switch(ak){case'b':case'c':return aq['getBooleanArray'](am);case'd':return aq['getFloat64Array'](am);case'f':return aq['getFloat32Array'](am);case'i':return aq['getInt32Array'](am);case'l':return aq['getInt64Array'](am);}break;default:throw new Error('THREE.FBXLoader:\x20Unknown\x20property\x20type\x20'+ak);}}}function a(){const cJ=['THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s','.tga','translation','Vector','LayerElementNormal','push','NormalsIndex','getArrayBuffer','addMorphTargets','relationship','setRequestHeader','name','1365FHeScT','RotationPivot','connections','FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.','setPosition','weightsIndices','keys','set','interpolateRotations','specularMap','Intensity','Mesh','bumpMap','Order','textureLoader','getTangent','createCurve','parseAnimationCurveNodes','parents','propertyList','getInt16','ReflectionFactor','requestHeader','abs','getTexture','THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.','color','colors','getString','ColorRGB','copy','currentPropName','image/jpeg','times','emissive','premultiply','postRotation','value','THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.','56608vNVidg','Lcl_Scaling','parseNurbsGeometry','parseNodeProperty','geoID','decompose','colorSpace','vertexIndices','1259736tGdagp','opacity','THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.','getFloat32','ScalingPivot','getUint32','vertex','bool','parsePoseNodes','children','animations','int','matrixWorld','attr','morphTargets','URL','morphTargetsRelative','EnableFarAttenuation','number','image/png','attrType','getCurrentProp','normalize','pop','add','Root','synchronizeCurve','InnerAngle','Video','nodeStack','material','setFromMatrixScale','parseModels','setWithCredentials','controlPoints','indexOf','degree','getPoint','length','byteLength','pushStack','extractUrlBase','toJSON','currentIndent','vertexWeights','createCamera','parseUVs','toArray','aoMap','setFromQuaternion','BumpFactor','10935432dkmldS','normal','}(\x5cw+):(.*){','ULongLong','getFloat64','EmissiveFactor','EmissiveColor','weightTable','endKnot','GlobalSettings','littleEndian','ReferenceInformationType','parseNormals','rotationOffset','repeat','addGroup','reduce','originalName','normalizeSkinWeights','genBuffers','getBoolean','84826avprjZ','forEach','Translation','vertexPositions','getInt32','values','WrapModeU','invert','position','colorSpaceToWorking','loadTexture','mappingType','degToRad','231eChSWW','setLookAtProperties','fromArray','knots','data:','Color','parseConnections','unitScaleFactor','1676064Mrnxkk','curves','parseMorphTargets','map','MappingInformationType','Model','14xMMDdi','buffer','parseAnimationCurves','YZX','SpecularColor','uvs','^\x5ct{','updateWorldMatrix','getNormalNewell','LayeredTexture','match','DEFAULT_MATERIAL_NAME','clone','offset','KeyValueFloat','flattenVertex','InheritType','FileName','trim','parse','transformData','CameraProjectionType','Deformer','parseImages','parseTextures','rawBones','materialIndex','setAttribute','Vertices','getFloat64Array','parseMeshGeometry','size','RelativeFilename','LayerElementMaterial','parseNode','dot','get','getOffset','preRotation','makeRotationFromEuler','target','getHandler','406NKgbDh','Objects','max','WrapModeV','THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.','generateRotationTrack','warn','FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20','attrName','slice','scale','traverse','count','FarPlane','LayerElementColor','parseMaterials','allNodes','Maya|TEX_ao_map','multiply','replace','UVIndex','parseProperty','Colors','envMap','1072740xgMovC','load','NormalMap','groups','type','Lcl_Rotation','PolygonVertexIndex','GeometricRotation','split','Indexes','parseDeformers','sanitizeNodeName','980hIopVw','has','path','UnitScaleFactor','RotationOffset','eulerOrder','modelName','OuterAngle','LayerElementUV','rotation','concat','KeyTime','blob:','Lcl_Translation','Opacity','THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.'];a=function(){return cJ;};return a();}class re{constructor(aj,ak){this['dv']=new DataView(aj),this['offset']=0x0,this['littleEndian']=ak!==void 0x0?ak:!0x0,this['_textDecoder']=new TextDecoder();}[aW(0xff)](){return this['offset'];}['size'](){const cs=aW;return this['dv'][cs(0x1d7)]['byteLength'];}['skip'](aj){this['offset']+=aj;}['getBoolean'](){return(this['getUint8']()&0x1)===0x1;}['getBooleanArray'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getBoolean']());return ak;}['getUint8'](){const ct=aW,aj=this['dv']['getUint8'](this['offset']);return this[ct(0x1e3)]+=0x1,aj;}['getInt16'](){const cu=aW,aj=this['dv']['getInt16'](this[cu(0x1e3)],this[cu(0x1b0)]);return this['offset']+=0x2,aj;}['getInt32'](){const cv=aW,aj=this['dv'][cv(0x1bf)](this['offset'],this[cv(0x1b0)]);return this['offset']+=0x4,aj;}['getInt32Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt32']());return ak;}['getUint32'](){const cw=aW,aj=this['dv'][cw(0x178)](this['offset'],this['littleEndian']);return this['offset']+=0x4,aj;}['getInt64'](){const cx=aW;let aj,ak;return this['littleEndian']?(aj=this['getUint32'](),ak=this[cx(0x178)]()):(ak=this['getUint32'](),aj=this[cx(0x178)]()),ak&0x80000000?(ak=~ak&0xffffffff,aj=~aj&0xffffffff,aj===0xffffffff&&(ak=ak+0x1&0xffffffff),aj=aj+0x1&0xffffffff,-(ak*0x100000000+aj)):ak*0x100000000+aj;}['getInt64Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getInt64']());return ak;}['getUint64'](){let aj,ak;return this['littleEndian']?(aj=this['getUint32'](),ak=this['getUint32']()):(ak=this['getUint32'](),aj=this['getUint32']()),ak*0x100000000+aj;}['getFloat32'](){const cy=aW,aj=this['dv'][cy(0x176)](this[cy(0x1e3)],this['littleEndian']);return this[cy(0x1e3)]+=0x4,aj;}['getFloat32Array'](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getFloat32']());return ak;}['getFloat64'](){const cz=aW,aj=this['dv'][cz(0x1aa)](this['offset'],this['littleEndian']);return this['offset']+=0x8,aj;}[aW(0xf7)](aj){const ak=[];for(let al=0x0;al<aj;al++)ak['push'](this['getFloat64']());return ak;}['getArrayBuffer'](aj){const cA=aW,ak=this['dv']['buffer']['slice'](this[cA(0x1e3)],this[cA(0x1e3)]+aj);return this[cA(0x1e3)]+=aj,ak;}[aW(0x160)](aj){const cB=aW,ak=this[cB(0x1e3)];let al=new Uint8Array(this['dv'][cB(0x1d7)],ak,aj);this['skip'](aj);const am=al[cB(0x196)](0x0);return am>=0x0&&(al=new Uint8Array(this['dv']['buffer'],ak,am)),this['_textDecoder']['decode'](al);}}class ae{['add'](aj,ak){this[aj]=ak;}}function Ye(aj){const cC=aW,ak='Kaydara\x20FBX\x20Binary\x20\x20\x00';return aj['byteLength']>=ak[cC(0x199)]&&ak===le(aj,0x0,ak['length']);}function Ze(aj){const ak=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'];let al=0x0;function am(an){const ao=aj[an-0x1];return aj=aj['slice'](al+an),al++,ao;}for(let an=0x0;an<ak['length'];++an)if(am(0x1)===ak[an])return!0x1;return!0x0;}function se(aj){const cD=aW,ak=/FBXVersion: (\d+)/,al=aj[cD(0x1e0)](ak);if(al)return parseInt(al[0x1]);throw new Error('THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.');}function qe(aj){return aj/0xac0e8d7b0;}const Qe=[];function K(aj,ak,al,am){const cE=aW;let an;switch(am['mappingType']){case'ByPolygonVertex':an=aj;break;case'ByPolygon':an=ak;break;case'ByVertice':an=al;break;case'AllSame':an=am['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+am[cE(0x1c6)]);}am['referenceType']==='IndexToDirect'&&(an=am['indices'][an]);const ao=an*am['dataSize'],ap=ao+am['dataSize'];return Je(Qe,am[cE(0x1d7)],ao,ap);}const Z=new af(),U=new e();function oe(aj){const cF=aW,ak=new u(),al=new u(),am=new u(),an=new u(),ao=new u(),ap=new u(),aq=new u(),ar=new u(),as=new u(),at=new u(),au=new u(),av=new u(),aw=aj['inheritType']?aj['inheritType']:0x0;aj[cF(0x13a)]&&ak['setPosition'](U['fromArray'](aj['translation']));const ax=z(0x0);if(aj['preRotation']){const aK=aj['preRotation']['map'](L[cF(0x1c7)]);aK['push'](ax),al['makeRotationFromEuler'](Z['fromArray'](aK));}if(aj['rotation']){const aL=aj['rotation']['map'](L['degToRad']);aL['push'](aj['eulerOrder']||ax),am[cF(0x101)](Z[cF(0x1ca)](aL));}if(aj['postRotation']){const aM=aj[cF(0x168)]['map'](L[cF(0x1c7)]);aM[cF(0x13d)](ax),an[cF(0x101)](Z['fromArray'](aM)),an['invert']();}aj[cF(0x10e)]&&ao['scale'](U[cF(0x1ca)](aj['scale'])),aj['scalingOffset']&&aq['setPosition'](U[cF(0x1ca)](aj['scalingOffset'])),aj['scalingPivot']&&ap[cF(0x148)](U['fromArray'](aj['scalingPivot'])),aj[cF(0x1b3)]&&ar['setPosition'](U['fromArray'](aj[cF(0x1b3)])),aj['rotationPivot']&&as['setPosition'](U['fromArray'](aj['rotationPivot'])),aj['parentMatrixWorld']&&(au['copy'](aj['parentMatrix']),at['copy'](aj['parentMatrixWorld']));const ay=al['clone']()['multiply'](am)['multiply'](an),az=new u();az['extractRotation'](at);const aA=new u();aA['copyPosition'](at);const aB=aA['clone']()['invert']()['multiply'](at),aC=az['clone']()[cF(0x1c2)]()['multiply'](aB),aD=ao,aE=new u();if(aw===0x0)aE['copy'](az)['multiply'](ay)['multiply'](aC)['multiply'](aD);else{if(aw===0x1)aE['copy'](az)['multiply'](aC)['multiply'](ay)['multiply'](aD);else{const aN=new u()['scale'](new e()[cF(0x192)](au))['clone']()[cF(0x1c2)](),aO=aC['clone']()['multiply'](aN);aE['copy'](az)[cF(0x116)](ay)['multiply'](aO)['multiply'](aD);}}const aF=as['clone']()['invert'](),aG=ap[cF(0x1e2)]()[cF(0x1c2)]();let aH=ak['clone']()['multiply'](ar)['multiply'](as)['multiply'](al)['multiply'](am)['multiply'](an)[cF(0x116)](aF)['multiply'](aq)['multiply'](ap)['multiply'](ao)['multiply'](aG);const aI=new u()['copyPosition'](aH),aJ=at['clone']()['multiply'](aI);return av['copyPosition'](aJ),aH=av['clone']()['multiply'](aE),aH[cF(0x167)](at[cF(0x1c2)]()),aH;}function z(aj){const cG=aW;aj=aj||0x0;const ak=['ZYX',cG(0x1d9),'XZY','ZXY','YXZ','XYZ'];return aj===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),ak[0x0]):ak[aj];}function q(aj){const cH=aW;return aj[cH(0x124)](',')['map'](function(ak){return parseFloat(ak);});}function le(aj,ak,al){return ak===void 0x0&&(ak=0x0),al===void 0x0&&(al=aj['byteLength']),new TextDecoder()['decode'](new Uint8Array(aj,ak,al));}function $e(aj,ak){const cI=aW;for(let al=0x0,am=aj[cI(0x199)],an=ak['length'];al<an;al++,am++)aj[am]=ak[al];}function Je(aj,ak,al,am){for(let an=al,ao=0x0;an<am;an++,ao++)aj[ao]=ak[an];return aj;}export{st as FBXLoader};
|