@flyfish-group/file-viewer3 1.0.21 → 1.0.23
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.en.md +372 -0
- package/README.md +26 -24
- package/dist/components/3MFLoader.js +1 -1
- package/dist/components/AMFLoader.js +1 -1
- package/dist/components/ArchiveViewer.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/ModelViewer.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 +5619 -5067
- package/dist/components/PptxRender.js +1 -1
- package/dist/components/STLLoader.js +1 -1
- package/dist/components/TDSLoader.js +1 -1
- package/dist/components/TypstViewer.js +3 -3
- package/dist/components/USDLoader.js +1 -1
- package/dist/components/UmdViewer.js +1 -1
- 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.js +1 -1
- package/dist/components/_plugin-vue_export-helper.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/archive.js +1 -1
- package/dist/components/asyncToGenerator.js +1 -1
- package/dist/components/audio.js +1 -1
- package/dist/components/az-AZ-76LH7QW2.js +1 -1
- package/dist/components/bash.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/cad.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-3OPIFGDE.js +1 -1
- package/dist/components/chunk-4BX2VUAB.js +1 -1
- package/dist/components/chunk-55IACEB6.js +1 -1
- package/dist/components/chunk-5ZQYHXKU.js +1 -1
- package/dist/components/chunk-6U3AYISY.js +1 -1
- package/dist/components/chunk-727SXJPM.js +1 -1
- package/dist/components/chunk-AGHRB4JF.js +1 -1
- package/dist/components/chunk-AQP2D5EJ.js +1 -1
- package/dist/components/chunk-BSJP7CBP.js +1 -1
- package/dist/components/chunk-CSCIHK7Q.js +1 -1
- package/dist/components/chunk-EIO257PC.js +563 -564
- package/dist/components/chunk-FMBD7UC4.js +1 -1
- package/dist/components/chunk-K2UTITRG.js +1 -1
- package/dist/components/chunk-KSCS5N6A.js +1 -1
- package/dist/components/chunk-L5ZTLDWV.js +1 -1
- package/dist/components/chunk-LZXEDZCA.js +1 -1
- package/dist/components/chunk-ND2GUHAM.js +1 -1
- package/dist/components/chunk-NNHCCRGN.js +1 -0
- package/dist/components/chunk-NZK2D7GU.js +1 -1
- package/dist/components/chunk-O5CBEL6O.js +1 -1
- package/dist/components/chunk-QZHKN3VN.js +1 -1
- package/dist/components/chunk-SRAX5OIU.js +1 -1
- package/dist/components/chunk-WU5MYG2G.js +1 -1
- package/dist/components/chunk-XPW4576I.js +1 -1
- package/dist/components/chunk-Z3N5DIM6.js +1 -1
- package/dist/components/chunk-ZUYEQ4TG.js +1 -1
- package/dist/components/chunk.js +1 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
- package/dist/components/compiler.js +1 -1
- package/dist/components/core.js +1 -1
- package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
- package/dist/components/cpp.js +1 -1
- package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
- package/dist/components/csharp.js +1 -1
- package/dist/components/css.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/dagre.js +1 -1
- package/dist/components/de-DE-XR44H4JA.js +1 -1
- package/dist/components/defaultLocale.js +1 -1
- package/dist/components/defineProperty.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/diff.js +1 -1
- package/dist/components/directory-open-01563666.js +1 -1
- package/dist/components/directory-open-4ed118d0.js +1 -1
- package/dist/components/dist.js +1 -1
- package/dist/components/dist2.js +1 -1
- package/dist/components/dist3.js +1 -1
- package/dist/components/documentSearch.js +1 -0
- package/dist/components/docx-preview.js +1 -1
- package/dist/components/drawing.js +1 -1
- package/dist/components/ebook.js +1 -1
- package/dist/components/eda.js +1 -1
- package/dist/components/el-GR-BZB4AONW.js +1 -1
- package/dist/components/email.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/global-compiler.js +1 -1
- package/dist/components/global-renderer.js +1 -1
- package/dist/components/go.js +1 -1
- package/dist/components/graphlib.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/image.js +1 -1
- package/dist/components/info-J43DQDTF.js +1 -1
- package/dist/components/infoDiagram-5YYISTIA.js +1 -1
- package/dist/components/ini.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/java.js +1 -1
- package/dist/components/javascript.js +1 -1
- package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
- package/dist/components/json.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/lib.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/markdown.js +1 -1
- package/dist/components/md.js +1 -1
- package/dist/components/mermaid-parser.core.js +1 -1
- package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
- package/dist/components/model.js +1 -1
- package/dist/components/mp4.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/objectSpread2.js +1 -1
- package/dist/components/objectWithoutProperties.js +1 -1
- package/dist/components/oc-FR-POXYY2M6.js +1 -1
- package/dist/components/ofd.js +1 -1
- package/dist/components/ofd2.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/pdf.js +1 -1
- package/dist/components/percentages-BXMCSKIN.js +1 -1
- package/dist/components/php.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/pptx.js +1 -1
- package/dist/components/printLayout.js +1 -1
- package/dist/components/prod.js +1 -1
- package/dist/components/pt-BR-5N22H2LF.js +1 -1
- package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
- package/dist/components/python.js +1 -1
- package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
- package/dist/components/radar-GUYGQ44K.js +1 -1
- package/dist/components/renderer.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/rust.js +1 -1
- package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
- package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
- package/dist/components/shared.js +1 -1
- package/dist/components/shared2.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/sourceLoading.js +1 -1
- package/dist/components/sql.js +1 -1
- package/dist/components/src.js +1 -1
- package/dist/components/src2.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/text.js +1 -1
- package/dist/components/th-TH-HPSO5L25.js +1 -1
- package/dist/components/three.module.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/treeView-BLDUP644.js +1 -1
- package/dist/components/treemap-LRROVOQU.js +1 -1
- package/dist/components/typescript.js +1 -1
- package/dist/components/typst.js +1 -1
- package/dist/components/uk-UA-QMV73CPH.js +1 -1
- package/dist/components/umd.js +1 -1
- package/dist/components/use.js +1 -1
- package/dist/components/util.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/wasm-pack-shim.js +1 -1
- package/dist/components/wasm-pack-shim2.js +1 -1
- package/dist/components/wasm.js +1 -1
- package/dist/components/word.js +1 -1
- package/dist/components/worker-ref.js +1 -1
- package/dist/components/xlsx.js +1 -1
- package/dist/components/xml.js +1 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
- package/dist/components/yaml.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/file-viewer3.css +1 -1
- package/dist/index.mjs +1 -1
- package/dist/src/App.vue.d.ts +3 -0
- package/dist/src/compare/CompareApp.vue.d.ts +3 -0
- package/dist/src/compare/useSynchronizedScroll.d.ts +7 -0
- package/dist/src/components/HelloWorld.vue.d.ts +3 -0
- package/dist/src/components/utils.d.ts +1 -1
- package/dist/src/package/common/type.d.ts +225 -0
- package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +15 -1
- package/dist/src/package/components/FileViewer/hooks/useViewerDocumentFeatures.d.ts +29 -0
- package/dist/src/package/components/FileViewer/{useViewerExport.d.ts → hooks/useViewerExport.d.ts} +1 -1
- package/dist/src/package/components/FileViewer/hooks/useViewerWatermark.d.ts +8 -0
- package/dist/src/package/components/FileViewer/util.d.ts +2 -2
- package/dist/src/package/index.d.ts +1 -1
- package/dist/src/package/use/documentLocation.d.ts +15 -0
- package/dist/src/package/use/documentSearch.d.ts +234 -0
- package/dist/src/package/use/index.d.ts +2 -0
- package/dist/src/package/vendors/archive/ArchiveViewer.vue.d.ts +1 -1
- package/dist/src/package/vendors/archive/index.d.ts +1 -1
- package/dist/src/package/vendors/cad/CadViewer.vue.d.ts +2 -0
- package/dist/src/package/vendors/cad/index.d.ts +4 -3
- package/dist/src/package/vendors/eda/index.d.ts +1 -1
- package/dist/src/package/vendors/email/EmailViewer.vue.d.ts +1 -1
- package/dist/src/package/vendors/email/index.d.ts +1 -1
- package/dist/src/package/vendors/model/index.d.ts +1 -1
- package/dist/src/package/vendors/nestedRender.d.ts +1 -1
- package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +1 -1
- package/dist/src/package/vendors/pdf/index.d.ts +1 -1
- package/dist/src/package/vendors/renders.d.ts +1 -1
- package/dist/src/package/vendors/typst/TypstViewer.vue.d.ts +1 -1
- package/dist/src/package/vendors/typst/index.d.ts +1 -1
- package/dist/src/package/vendors/word/doc.d.ts +1 -1
- package/dist/src/package/vendors/word/docx.d.ts +1 -1
- package/dist/src/package/vendors/word/docx.worker.d.ts +1 -0
- package/dist/src/package/vendors/xlsx/index.d.ts +1 -1
- package/dist/src/package/vendors/xlsx/util.d.ts +0 -5
- package/dist/wasm/cad/DwgWorker-CuZJ5EUe.js +349 -0
- package/dist/wasm/cad/dwfv-render.wasm +0 -0
- package/dist/wasm/cad/dwg-worker.js +349 -0
- package/dist/wasm/cad/index-C365l3i9.js +4161 -0
- package/dist/wasm/cad/libredwg-web.js +15 -0
- package/dist/wasm/cad/libredwg-web.wasm +0 -0
- package/package.json +33 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
const br=a1;(function(aL,aM){const bm=a1,aN=aL();while(!![]){try{const aO=parseInt(bm(0x1cf))/0x1+parseInt(bm(0x20c))/0x2+parseInt(bm(0x23e))/0x3*(parseInt(bm(0x18e))/0x4)+parseInt(bm(0x1df))/0x5*(parseInt(bm(0x1c2))/0x6)+parseInt(bm(0x1a7))/0x7*(-parseInt(bm(0x190))/0x8)+-parseInt(bm(0x1fd))/0x9+parseInt(bm(0x1e0))/0xa;if(aO===aM)break;else aN['push'](aN['shift']());}catch(aP){aN['push'](aN['shift']());}}}(a0,0xae2bf));import{$ as a2,Bt as a3,C as a4,Ct as a5,Dt as a6,E as a7,Et as a8,Ft as a9,Ht as aa,K as ab,Mt as ac,Ot as ad,Pt as af,Q as ag,R as ah,Rt as ai,S as aj,Vt as ak,Z as al,_ as am,bt as an,dt as ao,et as ap,f as aq,ht as ar,m as as,n as at,nt as au,o as av,p as aw,pt as ax,q as ay,r as az,rt as aA,u as aB,ut as aC,vt as aD,w as aE,wt as aF,x as aG,yt as aH,z as aI,zt as aJ}from'./three.module.js';import{n as aK}from'./fflate.module.js';function R(aL,aM,aN){let aO=aN['length']-aL-0x1;if(aM>=aN[aO])return aO-0x1;if(aM<=aN[aL])return aL;let aP=aL,aQ=aO,aR=Math['floor']((aP+aQ)/0x2);for(;aM<aN[aR]||aM>=aN[aR+0x1];)aM<aN[aR]?aQ=aR:aP=aR,aR=Math['floor']((aP+aQ)/0x2);return aR;}function oe(aL,aM,aN,aO){let aP=[],aQ=[],aR=[];aP[0x0]=0x1;for(let aS=0x1;aS<=aN;++aS){aQ[aS]=aM-aO[aL+0x1-aS],aR[aS]=aO[aL+aS]-aM;let aT=0x0;for(let aU=0x0;aU<aS;++aU){let aV=aR[aU+0x1],aW=aQ[aS-aU],aX=aP[aU]/(aV+aW);aP[aU]=aT+aV*aX,aT=aW*aX;}aP[aS]=aT;}return aP;}function se(aL,aM,aN,aO){let aP=R(aL,aO,aM),aQ=oe(aP,aO,aL,aM),aR=new ak(0x0,0x0,0x0,0x0);for(let aS=0x0;aS<=aL;++aS){let aT=aN[aP-aL+aS],aU=aQ[aS],aV=aT['w']*aU;aR['x']+=aT['x']*aV,aR['y']+=aT['y']*aV,aR['z']+=aT['z']*aV,aR['w']+=aT['w']*aU;}return aR;}function ce(aL,aM,aN,aO,aP){let aQ=[];for(let aW=0x0;aW<=aN;++aW)aQ[aW]=0x0;let aR=[];for(let aX=0x0;aX<=aO;++aX)aR[aX]=aQ['slice'](0x0);let aS=[];for(let aY=0x0;aY<=aN;++aY)aS[aY]=aQ['slice'](0x0);aS[0x0][0x0]=0x1;let aT=aQ['slice'](0x0),aU=aQ['slice'](0x0);for(let aZ=0x1;aZ<=aN;++aZ){aT[aZ]=aM-aP[aL+0x1-aZ],aU[aZ]=aP[aL+aZ]-aM;let b0=0x0;for(let b1=0x0;b1<aZ;++b1){let b2=aU[b1+0x1],b3=aT[aZ-b1];aS[aZ][b1]=b2+b3;let b4=aS[b1][aZ-0x1]/aS[aZ][b1];aS[b1][aZ]=b0+b2*b4,b0=b3*b4;}aS[aZ][aZ]=b0;}for(let b5=0x0;b5<=aN;++b5)aR[0x0][b5]=aS[b5][aN];for(let b6=0x0;b6<=aN;++b6){let b7=0x0,b8=0x1,b9=[];for(let ba=0x0;ba<=aN;++ba)b9[ba]=aQ['slice'](0x0);b9[0x0][0x0]=0x1;for(let bb=0x1;bb<=aO;++bb){let bc=0x0,bd=b6-bb,bf=aN-bb;b6>=bb&&(b9[b8][0x0]=b9[b7][0x0]/aS[bf+0x1][bd],bc=b9[b8][0x0]*aS[bd][bf]);let bg=bd>=-0x1?0x1:-bd,bh=b6-0x1<=bf?bb-0x1:aN-b6;for(let bj=bg;bj<=bh;++bj)b9[b8][bj]=(b9[b7][bj]-b9[b7][bj-0x1])/aS[bf+0x1][bd+bj],bc+=b9[b8][bj]*aS[bd+bj][bf];b6<=bf&&(b9[b8][bb]=-b9[b7][bb-0x1]/aS[bf+0x1][b6],bc+=b9[b8][bb]*aS[b6][bf]),aR[bb][b6]=bc;let bi=b7;b7=b8,b8=bi;}}let aV=aN;for(let bk=0x1;bk<=aO;++bk){for(let bl=0x0;bl<=aN;++bl)aR[bk][bl]*=aV;aV*=aN-bk;}return aR;}function le(aL,aM,aN,aO,aP){const bn=a1;let aQ=aP<aL?aP:aL,aR=[],aS=R(aL,aO,aM),aT=ce(aS,aO,aL,aQ,aM),aU=[];for(let aV=0x0;aV<aN['length'];++aV){let aW=aN[aV]['clone'](),aX=aW['w'];aW['x']*=aX,aW['y']*=aX,aW['z']*=aX,aU[aV]=aW;}for(let aY=0x0;aY<=aQ;++aY){let aZ=aU[aS-aL][bn(0x216)]()[bn(0x180)](aT[aY][0x0]);for(let b0=0x1;b0<=aL;++b0)aZ['add'](aU[aS-aL+b0]['clone']()['multiplyScalar'](aT[aY][b0]));aR[aY]=aZ;}for(let b1=aQ+0x1;b1<=aP+0x1;++b1)aR[b1]=new ak(0x0,0x0,0x0);return aR;}function a0(){const d3=['parents','.quaternion','Filename','parseModels','parseImages','clone','Shininess','forEach','knots','LayerElementUV','AnimationCurve','setFromQuaternion','skeletons','toLowerCase','scale','littleEndian','skeleton','Diffuse','offset','addGlobalSceneSettings','getInt16','PreRotation','setFromEuler','times','toArray','THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20','indexOf','parseSubNode','Specular','Deformer','userData','colorSpace','negativeMaterialIndices','itemError','setLookAtProperties','bool','Objects','map','degree','material','values','pushStack','Indexes','inheritType','parseGeometry','3Qrlfli','getFloat32Array','morphTargets','UnitScaleFactor','parseNodeProperty','startKnot','LayerElementColor','YZX','parseAnimationCurveNodes','string','envMap','split','Geometry','ByPolygon','currentIndent','textureLoader','THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.','getCurrentNode',';base64,','weightTable','sanitizeNodeName','replace','animations','relationship','createMesh','invert','PolygonVertexIndex','KnotVector','setPath','Material','multiplyScalar','getInt32Array','type','unitScaleFactor','jpg','get','parseGeoNode','Lcl_Scaling','castShadow','createCamera','getInt32','controlPoints','toJSON','children','2640796TXpAEJ','uvs','8EsttKr','colors','parseUVs','THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.','sampleCurveValue','rawBones','normal','ReferenceInformationType','ZYX','CameraProjectionType','length','ULongLong','blob:','transformData','parseNurbsGeometry','Vertices','parseNodeBegin','concat','withCredentials','name','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.','parse','Emissive','5862514RPcAwa','copyPosition','getTimesForAllAxes','attrName','Periodic','applyMatrix4','wrapT','vertexPositions','LightType','value','translation','push','copy','Color','opacity','number','createLight','setValues','image/png','referenceType','parseNode','position','PostRotation','multiply','Video','Matrix','fromJSON','6ALsiKQ','reduce','Model','getTexture','curves','load','preRotation','transform','originalName','GlobalSettings','vertexWeights','materialIndex','getString','15646zfpJyv','geoID','nodeStack','byteLength','OuterAngle','getFloat64Array','set','Normals','Content','synchronizeCurve','parseConnections','FieldOfView','GeometricTranslation','addGroup','Properties70','CastLightOnObject','2726410QvFVGZ','9868380DOmMPD','Lcl_Rotation','IndexToDirect','propertyList','manager','groups','matrixWorld','bones','dataSize','endOfContent','trim','normalize','eulerOrder','has','parseNodePropertyContinued','slice','degToRad','sort','modelName','getNormalNewell','warn','postRotation','Translation','CastShadows','fromArray','DiffuseColor','generateVectorTrack','allNodes','getUint32','11309985yCPdtq','match','Opacity','abs','add','initialRotation','THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.','colorSpaceToWorking','ColorRGB','EnableFarAttenuation','LayerElementMaterial','buffer','weightsIndices','THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.','AspectWidth','1199218dvZikE','RotationOrder','connections','parseSkeleton','PoseNode'];a0=function(){return d3;};return a0();}function ue(aL,aM){let aN=0x1;for(let aP=0x2;aP<=aL;++aP)aN*=aP;let aO=0x1;for(let aQ=0x2;aQ<=aM;++aQ)aO*=aQ;for(let aR=0x2;aR<=aL-aM;++aR)aO*=aR;return aN/aO;}function de(aL){const bo=a1;let aM=aL['length'],aN=[],aO=[];for(let aQ=0x0;aQ<aM;++aQ){let aR=aL[aQ];aN[aQ]=new a3(aR['x'],aR['y'],aR['z']),aO[aQ]=aR['w'];}let aP=[];for(let aS=0x0;aS<aM;++aS){let aT=aN[aS]['clone']();for(let aU=0x1;aU<=aS;++aU)aT['sub'](aP[aS-aU]['clone']()[bo(0x180)](ue(aS,aU)*aO[aU]));aP[aS]=aT['divideScalar'](aO[0x0]);}return aP;}function z(aL,aM,aN,aO,aP){return de(le(aL,aM,aN,aO,aP));}var B=class extends am{constructor(aL,aM,aN,aO,aP){const bp=a1;super();let aQ=aM?aM['length']-0x1:0x0,aR=aN?aN['length']:0x0;this[bp(0x237)]=aL,this[bp(0x219)]=aM,this['controlPoints']=[],this[bp(0x243)]=aO||0x0,this['endKnot']=aP||aQ;for(let aS=0x0;aS<aR;++aS){let aT=aN[aS];this[bp(0x18b)][aS]=new ak(aT['x'],aT['y'],aT['z'],aT['w']);}}['getPoint'](aL,aM=new a3()){const bq=a1;let aN=aM,aO=this['knots'][this[bq(0x243)]]+aL*(this['knots'][this['endKnot']]-this['knots'][this['startKnot']]),aP=se(this[bq(0x237)],this['knots'],this['controlPoints'],aO);return aP['w']!==0x1&&aP['divideScalar'](aP['w']),aN['set'](aP['x'],aP['y'],aP['z']);}['getTangent'](aL,aM=new a3()){let aN=aM,aO=this['knots'][0x0]+aL*(this['knots'][this['knots']['length']-0x1]-this['knots'][0x0]),aP=z(this['degree'],this['knots'],this['controlPoints'],aO,0x1);return aN['copy'](aP[0x1])['normalize'](),aN;}[br(0x18c)](){const bs=br;let aL=super['toJSON']();return aL[bs(0x237)]=this['degree'],aL['knots']=[...this['knots']],aL[bs(0x18b)]=this['controlPoints']['map'](aM=>aM['toArray']()),aL['startKnot']=this['startKnot'],aL['endKnot']=this['endKnot'],aL;}[br(0x1c1)](aL){const bt=br;return super['fromJSON'](aL),this['degree']=aL[bt(0x237)],this['knots']=[...aL['knots']],this['controlPoints']=aL['controlPoints']['map'](aM=>new ak(aM[0x0],aM[0x1],aM[0x2],aM[0x3])),this['startKnot']=aL['startKnot'],this['endKnot']=aL['endKnot'],this;}},V,H,U,fe=class extends ab{constructor(aL){super(aL);}['load'](aL,aM,aN,aO){const bu=br;let aP=this,aQ=aP['path']===''?ay['extractUrlBase'](aL):aP['path'],aR=new a4(this['manager']);aR[bu(0x17e)](aP['path']),aR['setResponseType']('arraybuffer'),aR['setRequestHeader'](aP['requestHeader']),aR['setWithCredentials'](aP[bu(0x1a2)]),aR[bu(0x1c7)](aL,function(aS){const bv=bu;try{aM(aP['parse'](aS,aQ));}catch(aT){aO?aO(aT):console['error'](aT),aP['manager'][bv(0x232)](aL);}},aN,aO);}['parse'](aL,aM){const bw=br;if(ve(aL))V=new _e()['parse'](aL);else{let aN=$(aL);if(!ye(aN))throw Error('THREE.FBXLoader:\x20Unknown\x20format.');if(K(aN)<0x1b58)throw Error(bw(0x22a)+K(aN));V=new ge()['parse'](aN);}return new pe(new a9(this['manager'])['setPath'](this['resourcePath']||aM)['setCrossOrigin'](this['crossOrigin']),this[bw(0x1e4)])['parse'](V);}},pe=class{constructor(aL,aM){const bx=br;this['textureLoader']=aL,this[bx(0x1e4)]=aM;}['parse'](){const by=br;H=this[by(0x1d9)]();let aL=this[by(0x215)](),aM=this['parseTextures'](aL),aN=this['parseMaterials'](aM),aO=this['parseDeformers'](),aP=new me()['parse'](aO);return this['parseScene'](aO,aP,aN),U;}['parseConnections'](){const bz=br;let aL=new Map();return'Connections'in V&&V['Connections'][bz(0x20e)]['forEach'](function(aM){const bA=bz;let aN=aM[0x0],aO=aM[0x1],aP=aM[0x2];aL['has'](aN)||aL['set'](aN,{'parents':[],'children':[]});let aQ={'ID':aO,'relationship':aP};aL['get'](aN)['parents']['push'](aQ),aL['has'](aO)||aL['set'](aO,{'parents':[],'children':[]});let aR={'ID':aN,'relationship':aP};aL[bA(0x185)](aO)[bA(0x18d)]['push'](aR);}),aL;}['parseImages'](){const bB=br;let aL={},aM={};if('Video'in V[bB(0x235)]){let aN=V['Objects'][bB(0x1bf)];for(let aO in aN){let aP=aN[aO],aQ=parseInt(aO);if(aL[aQ]=aP['RelativeFilename']||aP[bB(0x213)],bB(0x1d7)in aP){let aR=aP[bB(0x1d7)]instanceof ArrayBuffer&&aP['Content'][bB(0x1d2)]>0x0,aS=typeof aP['Content']=='string'&&aP['Content']!=='';if(aR||aS){let aT=this['parseImage'](aN[aO]);aM[aP['RelativeFilename']||aP['Filename']]=aT;}}}}for(let aU in aL){let aV=aL[aU];aM[aV]===void 0x0?aL[aU]=aL[aU]['split']('\x5c')['pop']():aL[aU]=aM[aV];}return aL;}['parseImage'](aL){const bC=br;let aM=aL['Content'],aN=aL['RelativeFilename']||aL['Filename'],aO=aN[bC(0x1ef)](aN['lastIndexOf']('.')+0x1)[bC(0x21e)](),aP;switch(aO){case'bmp':aP='image/bmp';break;case bC(0x184):case'jpeg':aP='image/jpeg';break;case'png':aP=bC(0x1b9);break;case'tif':aP='image/tiff';break;case'tga':this['manager']['getHandler']('.tga')===null&&console[bC(0x1f4)]('FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20',aN),aP='image/tga';break;case'webp':aP='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+aO+'\x22\x20is\x20not\x20supported.');return;}if(typeof aM==bC(0x16b))return'data:'+aP+bC(0x174)+aM;{let aQ=new Uint8Array(aM);return window['URL']['createObjectURL'](new Blob([aQ],{'type':aP}));}}['parseTextures'](aL){let aM=new Map();if('Texture'in V['Objects']){let aN=V['Objects']['Texture'];for(let aO in aN){let aP=this['parseTexture'](aN[aO],aL);aM['set'](parseInt(aO),aP);}}return aM;}['parseTexture'](aL,aM){const bD=br;let aN=this['loadTexture'](aL,aM);aN['ID']=aL['id'],aN['name']=aL[bD(0x1aa)];let aO=aL['WrapModeU'],aP=aL['WrapModeV'],aQ=aO===void 0x0?0x0:aO['value'],aR=aP===void 0x0?0x0:aP[bD(0x1b0)];if(aN['wrapS']=aQ===0x0?a5:aq,aN[bD(0x1ad)]=aR===0x0?a5:aq,'Scaling'in aL){let aS=aL['Scaling']['value'];aN['repeat']['x']=aS[0x0],aN['repeat']['y']=aS[0x1];}if('Translation'in aL){let aT=aL[bD(0x1f6)]['value'];aN['offset']['x']=aT[0x0],aN[bD(0x223)]['y']=aT[0x1];}return aN;}['loadTexture'](aL,aM){const bE=br;let aN=aL['FileName']['split']('.')['pop']()['toLowerCase'](),aO=this['manager']['getHandler']('.'+aN);aO===null&&(aO=this[bE(0x171)]);let aP=aO['path'];aP||aO['setPath'](this['textureLoader']['path']);let aQ=H['get'](aL['id'])['children'],aR;if(aQ!==void 0x0&&aQ['length']>0x0&&aM[aQ[0x0]['ID']]!==void 0x0&&(aR=aM[aQ[0x0]['ID']],(aR['indexOf'](bE(0x19c))===0x0||aR['indexOf']('data:')===0x0)&&aO['setPath'](void 0x0)),aR===void 0x0)return console['warn']('FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.'),new af();let aS=aO['load'](aR);return aO['setPath'](aP),aS;}['parseMaterials'](aL){const bF=br;let aM=new Map();if('Material'in V[bF(0x235)]){let aN=V[bF(0x235)][bF(0x17f)];for(let aO in aN){let aP=this['parseMaterial'](aN[aO],aL);aP!==null&&aM['set'](parseInt(aO),aP);}}return aM;}['parseMaterial'](aL,aM){const bG=br;let aN=aL['id'],aO=aL['attrName'],aP=aL['ShadingModel'];if(typeof aP=='object'&&(aP=aP['value']),!H['has'](aN))return null;let aQ=this['parseParameters'](aL,aM,aN),aR;switch(aP['toLowerCase']()){case'phong':aR=new aA();break;case'lambert':aR=new au();break;default:console[bG(0x1f4)]('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',aP),aR=new aA();break;}return aR[bG(0x1b8)](aQ),aR['name']=aO,aR;}['parseParameters'](aL,aM,aN){const bH=br;let aO={};aL['BumpFactor']&&(aO['bumpScale']=aL['BumpFactor']['value']),aL['Diffuse']?aO['color']=as['colorSpaceToWorking'](new aw()['fromArray'](aL[bH(0x222)]['value']),aF):aL[bH(0x1f9)]&&(aL['DiffuseColor']['type']==='Color'||aL['DiffuseColor']['type']==='ColorRGB')&&(aO['color']=as[bH(0x204)](new aw()[bH(0x1f8)](aL[bH(0x1f9)]['value']),aF)),aL['DisplacementFactor']&&(aO['displacementScale']=aL['DisplacementFactor']['value']),aL['Emissive']?aO['emissive']=as[bH(0x204)](new aw()['fromArray'](aL[bH(0x1a6)]['value']),aF):aL['EmissiveColor']&&(aL['EmissiveColor']['type']===bH(0x1b4)||aL['EmissiveColor']['type']==='ColorRGB')&&(aO['emissive']=as[bH(0x204)](new aw()['fromArray'](aL['EmissiveColor']['value']),aF)),aL['EmissiveFactor']&&(aO['emissiveIntensity']=parseFloat(aL['EmissiveFactor']['value'])),aO['opacity']=0x1-(aL['TransparencyFactor']?parseFloat(aL['TransparencyFactor']['value']):0x0),(aO['opacity']===0x1||aO['opacity']===0x0)&&(aO[bH(0x1b5)]=aL[bH(0x1ff)]?parseFloat(aL['Opacity'][bH(0x1b0)]):null,aO['opacity']===null&&(aO[bH(0x1b5)]=0x1)),aO['opacity']<0x1&&(aO['transparent']=!0x0),aL['ReflectionFactor']&&(aO['reflectivity']=aL['ReflectionFactor'][bH(0x1b0)]),aL[bH(0x217)]&&(aO['shininess']=aL[bH(0x217)]['value']),aL[bH(0x22d)]?aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['Specular']['value']),aF):aL['SpecularColor']&&aL['SpecularColor']['type']==='Color'&&(aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['SpecularColor']['value']),aF));let aP=this;return H['get'](aN)['children']['forEach'](function(aQ){const bI=bH;let aR=aQ['relationship'];switch(aR){case'Bump':aO['bumpMap']=aP['getTexture'](aM,aQ['ID']);break;case'Maya|TEX_ao_map':aO['aoMap']=aP['getTexture'](aM,aQ['ID']);break;case'DiffuseColor':case'Maya|TEX_color_map':aO['map']=aP['getTexture'](aM,aQ['ID']),aO['map']!==void 0x0&&(aO['map']['colorSpace']=aF);break;case'DisplacementColor':aO['displacementMap']=aP['getTexture'](aM,aQ['ID']);break;case'EmissiveColor':aO['emissiveMap']=aP['getTexture'](aM,aQ['ID']),aO['emissiveMap']!==void 0x0&&(aO['emissiveMap']['colorSpace']=aF);break;case'NormalMap':case'Maya|TEX_normal_map':aO['normalMap']=aP['getTexture'](aM,aQ['ID']);break;case'ReflectionColor':aO['envMap']=aP[bI(0x1c5)](aM,aQ['ID']),aO[bI(0x16c)]!==void 0x0&&(aO['envMap']['mapping']=0x12f,aO['envMap'][bI(0x230)]=aF);break;case'SpecularColor':aO['specularMap']=aP['getTexture'](aM,aQ['ID']),aO['specularMap']!==void 0x0&&(aO['specularMap']['colorSpace']=aF);break;case'TransparentColor':case'TransparencyFactor':aO['alphaMap']=aP['getTexture'](aM,aQ['ID']),aO['transparent']=!0x0;break;default:console['warn'](bI(0x20a),aR);break;}}),aO;}['getTexture'](aL,aM){return'LayeredTexture'in V['Objects']&&aM in V['Objects']['LayeredTexture']&&(console['warn']('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),aM=H['get'](aM)['children'][0x0]['ID']),aL['get'](aM);}['parseDeformers'](){const bJ=br;let aL={},aM={};if(bJ(0x22e)in V['Objects']){let aN=V['Objects']['Deformer'];for(let aO in aN){let aP=aN[aO],aQ=H['get'](parseInt(aO));if(aP['attrType']==='Skin'){let aR=this[bJ(0x20f)](aQ,aN);aR['ID']=aO,aQ[bJ(0x211)]['length']>0x1&&console['warn'](bJ(0x172)),aR['geometryID']=aQ['parents'][0x0]['ID'],aL[aO]=aR;}else{if(aP['attrType']==='BlendShape'){let aS={'id':aO};aS['rawTargets']=this['parseMorphTargets'](aQ,aN),aS['id']=aO,aQ['parents']['length']>0x1&&console[bJ(0x1f4)](bJ(0x203)),aM[aO]=aS;}}}}return{'skeletons':aL,'morphTargets':aM};}['parseSkeleton'](aL,aM){let aN=[];return aL['children']['forEach'](function(aO){const bK=a1;let aP=aM[aO['ID']];if(aP['attrType']!=='Cluster')return;let aQ={'ID':aO['ID'],'indices':[],'weights':[],'transformLink':new a2()['fromArray'](aP['TransformLink']['a'])};bK(0x23b)in aP&&(aQ['indices']=aP['Indexes']['a'],aQ['weights']=aP['Weights']['a']),aN[bK(0x1b2)](aQ);}),{'rawBones':aN,'bones':[]};}['parseMorphTargets'](aL,aM){let aN=[];for(let aO=0x0;aO<aL['children']['length'];aO++){let aP=aL['children'][aO],aQ=aM[aP['ID']],aR={'name':aQ['attrName'],'initialWeight':aQ['DeformPercent'],'id':aQ['id'],'fullWeights':aQ['FullWeights']['a']};if(aQ['attrType']!=='BlendShapeChannel')return;aR['geoID']=H['get'](parseInt(aP['ID']))['children']['filter'](function(aS){return aS['relationship']===void 0x0;})[0x0]['ID'],aN['push'](aR);}return aN;}['parseScene'](aL,aM,aN){const bO=br;U=new a7();let aO=this['parseModels'](aL['skeletons'],aM,aN),aP=V['Objects']['Model'],aQ=this;aO['forEach'](function(aV){const bL=a1;let aW=aP[aV['ID']];aQ[bL(0x233)](aV,aW),H['get'](aV['ID'])[bL(0x211)]['forEach'](function(aX){const bM=bL;let aY=aO[bM(0x185)](aX['ID']);aY!==void 0x0&&aY['add'](aV);}),aV['parent']===null&&U[bL(0x201)](aV);}),this['addGlobalSceneSettings'](),U['traverse'](function(aV){const bN=a1;if(aV['userData']['transformData']){aV['parent']&&(aV['userData']['transformData']['parentMatrix']=aV['parent']['matrix'],aV['userData'][bN(0x19d)]['parentMatrixWorld']=aV['parent']['matrixWorld']);let aW=X(aV['userData'][bN(0x19d)]);aV['applyMatrix4'](aW),aV['updateWorldMatrix']();}});let aR=this['parsePoseNodes'](),aS=new Set();for(let aV in aL['skeletons'])aL['skeletons'][aV]['rawBones'][bO(0x218)](function(aW,aX){const bP=bO;let aY=aL['skeletons'][aV][bP(0x1e7)][aX];aY&&aS['add'](aY['ID']);});let aT=new a2();U['traverse'](function(aW){if(aW['isBone']&&aW['ID']!==void 0x0&&!aS['has'](aW['ID'])){let aX=aR[aW['ID']];aX!==void 0x0&&(aW['parent']?(aT['copy'](aW['parent']['matrixWorld'])['invert'](),aT['multiply'](aX)):aT['copy'](aX),aT['decompose'](aW['position'],aW['quaternion'],aW['scale']),aW['updateMatrix'](),aW['matrixWorld']['copy'](aX));}}),this['bindSkeleton'](aL['skeletons'],aM,aO);let aU=new he()['parse']();U['children']['length']===0x1&&U[bO(0x18d)][0x0]['isGroup']&&(U['children'][0x0][bO(0x178)]=aU,U=U['children'][0x0]),U['animations']=aU,'GlobalSettings'in V&&'UpAxis'in V[bO(0x1cb)]&&V['GlobalSettings']['UpAxis']['value']===0x2&&(console[bO(0x1f4)](bO(0x1a4)),U['rotation'][bO(0x1d5)](-Math['PI']/0x2,0x0,0x0));}[br(0x214)](aL,aM,aN){const bQ=br;let aO=new Map(),aP=V['Objects']['Model'];for(let aQ in aP){let aR=parseInt(aQ),aS=aP[aQ],aT=H['get'](aR),aU=this['buildSkeleton'](aT,aL,aR,aS['attrName']);if(!aU){switch(aS['attrType']){case'Camera':aU=this[bQ(0x189)](aT);break;case'Light':aU=this['createLight'](aT);break;case'Mesh':aU=this[bQ(0x17a)](aT,aM,aN);break;case'NurbsCurve':aU=this['createCurve'](aT,aM);break;case'LimbNode':case'Root':aU=new av();break;default:aU=new a7();break;}aU['name']=aS[bQ(0x1aa)]?aD['sanitizeNodeName'](aS['attrName']):'',aU['userData']['originalName']=aS[bQ(0x1aa)],aU['ID']=aR;}this['getTransformData'](aU,aS),aO['set'](aR,aU);}return aO;}['buildSkeleton'](aL,aM,aN,aO){let aP=null;return aL['parents']['forEach'](function(aQ){for(let aR in aM){let aS=aM[aR];aS['rawBones']['forEach'](function(aT,aU){const bR=a1;if(aT['ID']===aQ['ID']){let aV=aP;aP=new av(),aP[bR(0x1e6)][bR(0x1b3)](aT['transformLink']),aP['name']=aO?aD['sanitizeNodeName'](aO):'',aP['userData'][bR(0x1ca)]=aO,aP['ID']=aN,aS['bones'][aU]=aP,aV!==null&&aP['add'](aV);}});}}),aP;}[br(0x189)](aL){const bT=br;let aM,aN;if(aL['children']['forEach'](function(aO){const bS=a1;let aP=V[bS(0x235)]['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO=0x0;aN['CameraProjectionType']!==void 0x0&&aN[bT(0x199)]['value']===0x1&&(aO=0x1);let aP=0x1;aN['NearPlane']!==void 0x0&&(aP=aN['NearPlane'][bT(0x1b0)]/0x3e8);let aQ=0x3e8;aN['FarPlane']!==void 0x0&&(aQ=aN['FarPlane']['value']/0x3e8);let aR=window['innerWidth'],aS=window['innerHeight'];aN['AspectWidth']!==void 0x0&&aN['AspectHeight']!==void 0x0&&(aR=aN[bT(0x20b)][bT(0x1b0)],aS=aN['AspectHeight']['value']);let aT=aR/aS,aU=0x2d;aN['FieldOfView']!==void 0x0&&(aU=aN[bT(0x1da)]['value']);let aV=aN['FocalLength']?aN['FocalLength']['value']:null;switch(aO){case 0x0:aM=new ax(aU,aT,aP,aQ),aV!==null&&aM['setFocalLength'](aV);break;case 0x1:console[bT(0x1f4)]('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),aM=new ao();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+aO+'.'),aM=new ao();break;}}return aM;}[br(0x1b7)](aL){const bU=br;let aM,aN;if(aL['children'][bU(0x218)](function(aO){let aP=V['Objects']['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO;aO=aN['LightType']===void 0x0?0x0:aN['LightType']['value'];let aP=0xffffff;aN['Color']!==void 0x0&&(aP=as['colorSpaceToWorking'](new aw()['fromArray'](aN['Color']['value']),aF));let aQ=aN['Intensity']===void 0x0?0x1:aN['Intensity']['value']/0x64;aN['CastLightOnObject']!==void 0x0&&aN[bU(0x1de)][bU(0x1b0)]===0x0&&(aQ=0x0);let aR=0x0;switch(aN['FarAttenuationEnd']!==void 0x0&&(aR=aN['EnableFarAttenuation']!==void 0x0&&aN[bU(0x206)]['value']===0x0?0x0:aN['FarAttenuationEnd']['value']),aO){case 0x0:aM=new ar(aP,aQ,aR,0x1);break;case 0x1:aM=new aG(aP,aQ);break;case 0x2:let aS=Math['PI']/0x3,aT=0x0;aN['OuterAngle']===void 0x0?aN['InnerAngle']!==void 0x0&&(aS=al['degToRad'](aN['InnerAngle'][bU(0x1b0)])):(aS=al['degToRad'](aN['OuterAngle']['value']),aN['InnerAngle']!==void 0x0&&(aT=0x1-aN['InnerAngle']['value']/aN[bU(0x1d3)]['value'],aT=Math['max'](0x0,aT))),aM=new ac(aP,aQ,aR,aS,aT,0x1);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+aN[bU(0x1af)][bU(0x1b0)]+',\x20defaulting\x20to\x20a\x20PointLight.'),aM=new ar(aP,aQ);break;}aN[bU(0x1f7)]!==void 0x0&&aN['CastShadows']['value']===0x1&&(aM[bU(0x188)]=!0x0);}return aM;}['createMesh'](aL,aM,aN){const bV=br;let aO,aP=null,aQ=null,aR=[];if(aL['children'][bV(0x218)](function(aS){const bW=bV;aM['has'](aS['ID'])&&(aP=aM['get'](aS['ID'])),aN['has'](aS['ID'])&&aR['push'](aN[bW(0x185)](aS['ID']));}),aR['length']>0x1?aQ=aR:aR['length']>0x0?aQ=aR[0x0]:(aQ=new aA({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),aR['push'](aQ)),'color'in aP['attributes']&&aR[bV(0x218)](function(aS){aS['vertexColors']=!0x0;}),aP['groups']['length']>0x0){let aS=!0x1;for(let aT=0x0,aU=aP[bV(0x1e5)]['length'];aT<aU;aT++){let aV=aP['groups'][aT];(aV['materialIndex']<0x0||aV['materialIndex']>=aR['length'])&&(aV['materialIndex']=aR[bV(0x19a)],aS=!0x0);}if(aS){let aW=new aA();aR['push'](aW);}}return aP['FBX_Deformer']?(aO=new ad(aP,aQ),aO['normalizeSkinWeights']()):aO=new ap(aP,aQ),aO;}['createCurve'](aL,aM){const bX=br;return new ah(aL[bX(0x18d)][bX(0x1c3)](function(aN,aO){const bY=bX;return aM['has'](aO['ID'])&&(aN=aM[bY(0x185)](aO['ID'])),aN;},null),new aI({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0x3300ff,'linewidth':0x1}));}['getTransformData'](aL,aM){const bZ=br;let aN={};'InheritType'in aM&&(aN['inheritType']=parseInt(aM['InheritType']['value'])),bZ(0x20d)in aM?aN[bZ(0x1ec)]=Z(aM['RotationOrder']['value']):aN['eulerOrder']=Z(0x0),'Lcl_Translation'in aM&&(aN['translation']=aM['Lcl_Translation']['value']),'PreRotation'in aM&&(aN['preRotation']=aM['PreRotation']['value']),bZ(0x1e1)in aM&&(aN['rotation']=aM['Lcl_Rotation']['value']),'PostRotation'in aM&&(aN['postRotation']=aM[bZ(0x1bd)]['value']),'Lcl_Scaling'in aM&&(aN['scale']=aM[bZ(0x187)]['value']),'ScalingOffset'in aM&&(aN['scalingOffset']=aM['ScalingOffset']['value']),'ScalingPivot'in aM&&(aN['scalingPivot']=aM['ScalingPivot']['value']),'RotationOffset'in aM&&(aN['rotationOffset']=aM['RotationOffset']['value']),'RotationPivot'in aM&&(aN['rotationPivot']=aM['RotationPivot']['value']),aL['userData']['transformData']=aN;}['setLookAtProperties'](aL,aM){'LookAtProperty'in aM&&H['get'](aL['ID'])['children']['forEach'](function(aN){const c0=a1;if(aN['relationship']==='LookAtProperty'){let aO=V['Objects']['Model'][aN['ID']];if('Lcl_Translation'in aO){let aP=aO['Lcl_Translation']['value'];aL['target']===void 0x0?aL['lookAt'](new a3()['fromArray'](aP)):(aL['target']['position']['fromArray'](aP),U[c0(0x201)](aL['target']));}}});}['bindSkeleton'](aL,aM,aN){const c1=br;for(let aO in aL){let aP=aL[aO],aQ=[];for(let aR=0x0,aS=aP['bones']['length'];aR<aS;aR++){let aT=new a2();aP['bones'][aR]&&aP[c1(0x195)][aR]&&aT['copy'](aP[c1(0x195)][aR]['transformLink'])['invert'](),aQ['push'](aT);}H['get'](parseInt(aP['ID']))['parents'][c1(0x218)](function(aU){const c2=c1;if(aM['has'](aU['ID'])){let aV=aU['ID'];H[c2(0x185)](aV)['parents']['forEach'](function(aW){const c3=c2;if(aN[c3(0x1ed)](aW['ID'])){let aX=aN['get'](aW['ID']);aX['updateMatrixWorld'](!0x0),aX['bind'](new a6(aP['bones'],aQ),aX[c3(0x1e6)]);}});}});}}['parsePoseNodes'](){const c4=br;let aL={};if('Pose'in V['Objects']){let aM=V['Objects']['Pose'];for(let aN in aM)if(aM[aN]['attrType']==='BindPose'&&aM[aN]['NbPoseNodes']>0x0){let aO=aM[aN][c4(0x210)];Array['isArray'](aO)?aO['forEach'](function(aP){aL[aP['Node']]=new a2()['fromArray'](aP['Matrix']['a']);}):aL[aO['Node']]=new a2()['fromArray'](aO[c4(0x1c0)]['a']);}}return aL;}[br(0x224)](){const c5=br;if('GlobalSettings'in V){if('AmbientColor'in V['GlobalSettings']){let aL=V['GlobalSettings']['AmbientColor'][c5(0x1b0)],aM=aL[0x0],aN=aL[0x1],aO=aL[0x2];if(aM!==0x0||aN!==0x0||aO!==0x0){let aP=new aw()['setRGB'](aM,aN,aO,aF);U['add'](new at(aP,0x1));}}'UnitScaleFactor'in V['GlobalSettings']&&(U['userData'][c5(0x183)]=V['GlobalSettings'][c5(0x241)][c5(0x1b0)]);}}},me=class{constructor(){const c6=br;this[c6(0x231)]=!0x1;}[br(0x1a5)](aL){const c7=br;let aM=new Map();if('Geometry'in V['Objects']){let aN=V['Objects']['Geometry'];for(let aO in aN){let aP=H['get'](parseInt(aO)),aQ=this['parseGeometry'](aP,aN[aO],aL);aM[c7(0x1d5)](parseInt(aO),aQ);}}return this['negativeMaterialIndices']===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),aM;}[br(0x23d)](aL,aM,aN){const c8=br;switch(aM['attrType']){case'Mesh':return this['parseMeshGeometry'](aL,aM,aN);case'NurbsCurve':return this[c8(0x19e)](aM);}}['parseMeshGeometry'](aL,aM,aN){const c9=br;let aO=aN[c9(0x21d)],aP=[],aQ=aL[c9(0x211)]['map'](function(aV){return V['Objects']['Model'][aV['ID']];});if(aQ['length']===0x0)return;let aR=aL['children']['reduce'](function(aV,aW){return aO[aW['ID']]!==void 0x0&&(aV=aO[aW['ID']]),aV;},null);aL['children']['forEach'](function(aV){const ca=c9;aN[ca(0x240)][aV['ID']]!==void 0x0&&aP['push'](aN['morphTargets'][aV['ID']]);});let aS=aQ[0x0],aT={};'RotationOrder'in aS&&(aT['eulerOrder']=Z(aS['RotationOrder']['value'])),'InheritType'in aS&&(aT['inheritType']=parseInt(aS['InheritType']['value'])),c9(0x1db)in aS&&(aT['translation']=aS['GeometricTranslation']['value']),'GeometricRotation'in aS&&(aT['rotation']=aS['GeometricRotation']['value']),'GeometricScaling'in aS&&(aT['scale']=aS['GeometricScaling']['value']);let aU=X(aT);return this['genGeometry'](aM,aR,aP,aU);}['genGeometry'](aL,aM,aN,aO){const cb=br;let aP=new aB();aL['attrName']&&(aP['name']=aL['attrName']);let aQ=this['parseGeoNode'](aL,aM),aR=this['genBuffers'](aQ),aS=new aE(aR['vertex'],0x3);if(aS[cb(0x1ac)](aO),aP['setAttribute'](cb(0x1bc),aS),aR['colors']['length']>0x0&&aP['setAttribute']('color',new aE(aR[cb(0x191)],0x3)),aM&&(aP['setAttribute']('skinIndex',new ai(aR['weightsIndices'],0x4)),aP['setAttribute']('skinWeight',new aE(aR['vertexWeights'],0x4)),aP['FBX_Deformer']=aM),aR['normal']['length']>0x0){let aT=new ag()['getNormalMatrix'](aO),aU=new aE(aR['normal'],0x3);aU['applyNormalMatrix'](aT),aP['setAttribute'](cb(0x196),aU);}if(aR[cb(0x18f)]['forEach'](function(aV,aW){let aX=aW===0x0?'uv':'uv'+aW;aP['setAttribute'](aX,new aE(aR['uvs'][aW],0x2));}),aQ['material']&&aQ['material']['mappingType']!=='AllSame'){let aV=aR[cb(0x1cd)][0x0],aW=0x0;if(aR['materialIndex']['forEach'](function(aX,aY){const cc=cb;aX!==aV&&(aP[cc(0x1dc)](aW,aY-aW,aV),aV=aX,aW=aY);}),aP['groups']['length']>0x0){let aX=aP[cb(0x1e5)][aP['groups']['length']-0x1],aY=aX['start']+aX['count'];aY!==aR['materialIndex']['length']&&aP[cb(0x1dc)](aY,aR['materialIndex']['length']-aY,aV);}aP['groups']['length']===0x0&&aP['addGroup'](0x0,aR['materialIndex'][cb(0x19a)],aR['materialIndex'][0x0]);}return this['addMorphTargets'](aP,aL,aN,aO),aP;}[br(0x186)](aL,aM){const cd=br;let aN={};if(aN['vertexPositions']=aL[cd(0x19f)]===void 0x0?[]:aL['Vertices']['a'],aN['vertexIndices']=aL['PolygonVertexIndex']===void 0x0?[]:aL[cd(0x17c)]['a'],aL[cd(0x244)]&&aL['LayerElementColor'][0x0]['Colors']&&(aN['color']=this['parseVertexColors'](aL['LayerElementColor'][0x0])),aL[cd(0x207)]&&(aN['material']=this['parseMaterialIndices'](aL['LayerElementMaterial'][0x0])),aL['LayerElementNormal']&&(aN[cd(0x196)]=this['parseNormals'](aL['LayerElementNormal'][0x0])),aL[cd(0x21a)]){aN['uv']=[];let aO=0x0;for(;aL['LayerElementUV'][aO];)aL['LayerElementUV'][aO]['UV']&&aN['uv']['push'](this[cd(0x192)](aL[cd(0x21a)][aO])),aO++;}return aN[cd(0x175)]={},aM!==null&&(aN[cd(0x221)]=aM,aM[cd(0x195)]['forEach'](function(aP,aQ){aP['indices']['forEach'](function(aR,aS){const cf=a1;aN['weightTable'][aR]===void 0x0&&(aN['weightTable'][aR]=[]),aN[cf(0x175)][aR]['push']({'id':aQ,'weight':aP['weights'][aS]});});})),aN;}['genBuffers'](aL){let aM={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]},aN=0x0,aO=0x0,aP=!0x1,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[],aW=this;return aL['vertexIndices']['forEach'](function(aX,aY){const cg=a1;let aZ,b0=!0x1;aX<0x0&&(aX^=-0x1,b0=!0x0);let b1=[],b2=[];if(aQ['push'](aX*0x3,aX*0x3+0x1,aX*0x3+0x2),aL['color']){let b3=q(aY,aN,aX,aL['color']);aS['push'](b3[0x0],b3[0x1],b3[0x2]);}if(aL[cg(0x221)]){if(aL['weightTable'][aX]!==void 0x0&&aL['weightTable'][aX]['forEach'](function(b4){b2['push'](b4['weight']),b1['push'](b4['id']);}),b2['length']>0x4){aP||(console[cg(0x1f4)]('THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.'),aP=!0x0);let b4=[0x0,0x0,0x0,0x0],b5=[0x0,0x0,0x0,0x0];b2['forEach'](function(b6,b7){let b8=b6,b9=b1[b7];b5['forEach'](function(ba,bb,bc){if(b8>ba){bc[bb]=b8,b8=ba;let bd=b4[bb];b4[bb]=b9,b9=bd;}});}),b1=b4,b2=b5;}for(;b2['length']<0x4;)b2['push'](0x0),b1['push'](0x0);for(let b6=0x0;b6<0x4;++b6)aU['push'](b2[b6]),aV['push'](b1[b6]);}if(aL['normal']){let b7=q(aY,aN,aX,aL['normal']);aR['push'](b7[0x0],b7[0x1],b7[0x2]);}aL[cg(0x238)]&&aL['material']['mappingType']!=='AllSame'&&(aZ=q(aY,aN,aX,aL['material'])[0x0],aZ<0x0&&(aW[cg(0x231)]=!0x0,aZ=0x0)),aL['uv']&&aL['uv']['forEach'](function(b8,b9){let ba=q(aY,aN,aX,b8);aT[b9]===void 0x0&&(aT[b9]=[]),aT[b9]['push'](ba[0x0]),aT[b9]['push'](ba[0x1]);}),aO++,b0&&(aW['genFace'](aM,aL,aQ,aZ,aR,aS,aT,aU,aV,aO),aN++,aO=0x0,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[]);}),aM;}[br(0x1f3)](aL){const ch=br;let aM=new a3(0x0,0x0,0x0);for(let aN=0x0;aN<aL['length'];aN++){let aO=aL[aN],aP=aL[(aN+0x1)%aL[ch(0x19a)]];aM['x']+=(aO['y']-aP['y'])*(aO['z']+aP['z']),aM['y']+=(aO['z']-aP['z'])*(aO['x']+aP['x']),aM['z']+=(aO['x']-aP['x'])*(aO['y']+aP['y']);}return aM['normalize'](),aM;}['getNormalTangentAndBitangent'](aL){const ci=br;let aM=this['getNormalNewell'](aL),aN=(Math['abs'](aM['z'])>0.5?new a3(0x0,0x1,0x0):new a3(0x0,0x0,0x1))['cross'](aM)[ci(0x1eb)]();return{'normal':aM,'tangent':aN,'bitangent':aM[ci(0x216)]()['cross'](aN)['normalize']()};}['flattenVertex'](aL,aM,aN){return new aJ(aL['dot'](aM),aL['dot'](aN));}['genFace'](aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU){const cj=br;let aV;if(aU>0x3){let aW=[],aX=aM['baseVertexPositions']||aM['vertexPositions'];for(let b1=0x0;b1<aN['length'];b1+=0x3)aW['push'](new a3(aX[aN[b1]],aX[aN[b1+0x1]],aX[aN[b1+0x2]]));let {tangent:aY,bitangent:aZ}=this['getNormalTangentAndBitangent'](aW),b0=[];for(let b2 of aW)b0['push'](this['flattenVertex'](b2,aY,aZ));aV=a8['triangulateShape'](b0,[]);}else aV=[[0x0,0x1,0x2]];for(let [b3,b4,b5]of aV)aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3]]),aL['vertex'][cj(0x1b2)](aM['vertexPositions'][aN[b3*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3+0x2]]),aL['vertex'][cj(0x1b2)](aM['vertexPositions'][aN[b4*0x3]]),aL['vertex'][cj(0x1b2)](aM['vertexPositions'][aN[b4*0x3+0x1]]),aL['vertex']['push'](aM[cj(0x1ae)][aN[b4*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x1]]),aL['vertex']['push'](aM[cj(0x1ae)][aN[b5*0x3+0x2]]),aM['skeleton']&&(aL['vertexWeights']['push'](aS[b3*0x4]),aL['vertexWeights']['push'](aS[b3*0x4+0x1]),aL[cj(0x1cc)]['push'](aS[b3*0x4+0x2]),aL['vertexWeights']['push'](aS[b3*0x4+0x3]),aL['vertexWeights'][cj(0x1b2)](aS[b4*0x4]),aL[cj(0x1cc)]['push'](aS[b4*0x4+0x1]),aL['vertexWeights']['push'](aS[b4*0x4+0x2]),aL['vertexWeights']['push'](aS[b4*0x4+0x3]),aL['vertexWeights']['push'](aS[b5*0x4]),aL['vertexWeights']['push'](aS[b5*0x4+0x1]),aL[cj(0x1cc)]['push'](aS[b5*0x4+0x2]),aL['vertexWeights']['push'](aS[b5*0x4+0x3]),aL['weightsIndices']['push'](aT[b3*0x4]),aL['weightsIndices'][cj(0x1b2)](aT[b3*0x4+0x1]),aL['weightsIndices']['push'](aT[b3*0x4+0x2]),aL[cj(0x209)]['push'](aT[b3*0x4+0x3]),aL[cj(0x209)]['push'](aT[b4*0x4]),aL['weightsIndices']['push'](aT[b4*0x4+0x1]),aL['weightsIndices'][cj(0x1b2)](aT[b4*0x4+0x2]),aL[cj(0x209)]['push'](aT[b4*0x4+0x3]),aL[cj(0x209)]['push'](aT[b5*0x4]),aL['weightsIndices']['push'](aT[b5*0x4+0x1]),aL['weightsIndices']['push'](aT[b5*0x4+0x2]),aL['weightsIndices']['push'](aT[b5*0x4+0x3])),aM['color']&&(aL['colors']['push'](aQ[b3*0x3]),aL['colors'][cj(0x1b2)](aQ[b3*0x3+0x1]),aL['colors'][cj(0x1b2)](aQ[b3*0x3+0x2]),aL['colors'][cj(0x1b2)](aQ[b4*0x3]),aL['colors'][cj(0x1b2)](aQ[b4*0x3+0x1]),aL[cj(0x191)]['push'](aQ[b4*0x3+0x2]),aL['colors'][cj(0x1b2)](aQ[b5*0x3]),aL['colors']['push'](aQ[b5*0x3+0x1]),aL['colors']['push'](aQ[b5*0x3+0x2])),aM[cj(0x238)]&&aM['material']['mappingType']!=='AllSame'&&(aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO)),aM['normal']&&(aL['normal']['push'](aP[b3*0x3]),aL['normal'][cj(0x1b2)](aP[b3*0x3+0x1]),aL['normal']['push'](aP[b3*0x3+0x2]),aL['normal']['push'](aP[b4*0x3]),aL['normal'][cj(0x1b2)](aP[b4*0x3+0x1]),aL['normal']['push'](aP[b4*0x3+0x2]),aL['normal']['push'](aP[b5*0x3]),aL['normal'][cj(0x1b2)](aP[b5*0x3+0x1]),aL['normal']['push'](aP[b5*0x3+0x2])),aM['uv']&&aM['uv']['forEach'](function(b6,b7){const ck=cj;aL[ck(0x18f)][b7]===void 0x0&&(aL[ck(0x18f)][b7]=[]),aL['uvs'][b7]['push'](aR[b7][b3*0x2]),aL['uvs'][b7][ck(0x1b2)](aR[b7][b3*0x2+0x1]),aL['uvs'][b7]['push'](aR[b7][b4*0x2]),aL['uvs'][b7][ck(0x1b2)](aR[b7][b4*0x2+0x1]),aL['uvs'][b7]['push'](aR[b7][b5*0x2]),aL[ck(0x18f)][b7][ck(0x1b2)](aR[b7][b5*0x2+0x1]);});}['addMorphTargets'](aL,aM,aN,aO){const cl=br;if(aN['length']===0x0)return;aL['morphTargetsRelative']=!0x0,aL['morphAttributes']['position']=[];let aP=aO['clone']()['setPosition'](0x0,0x0,0x0),aQ=this;aN[cl(0x218)](function(aR){aR['rawTargets']['forEach'](function(aS){const cm=a1;let aT=V['Objects'][cm(0x16e)][aS[cm(0x1d0)]];aT!==void 0x0&&aQ['genMorphGeometry'](aL,aM,aT,aP,aS['name']);});});}['genMorphGeometry'](aL,aM,aN,aO,aP){const cn=br;let aQ=aM['Vertices']===void 0x0?[]:aM['Vertices']['a'],aR=aM['PolygonVertexIndex']===void 0x0?[]:aM['PolygonVertexIndex']['a'],aS=aN['Vertices']===void 0x0?[]:aN['Vertices']['a'],aT=aN['Indexes']===void 0x0?[]:aN['Indexes']['a'],aU=aL['attributes'][cn(0x1bc)]['count']*0x3,aV=new Float32Array(aU);for(let aY=0x0;aY<aT['length'];aY++){let aZ=aT[aY]*0x3;aV[aZ]=aS[aY*0x3],aV[aZ+0x1]=aS[aY*0x3+0x1],aV[aZ+0x2]=aS[aY*0x3+0x2];}let aW={'vertexIndices':aR,'vertexPositions':aV,'baseVertexPositions':aQ},aX=new aE(this['genBuffers'](aW)['vertex'],0x3);aX[cn(0x1a3)]=aP||aN['attrName'],aX['applyMatrix4'](aO),aL['morphAttributes']['position']['push'](aX);}['parseNormals'](aL){const co=br;let aM=aL['MappingInformationType'],aN=aL[co(0x197)],aO=aL[co(0x1d6)]['a'],aP=[];return aN==='IndexToDirect'&&('NormalIndex'in aL?aP=aL['NormalIndex']['a']:'NormalsIndex'in aL&&(aP=aL['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}[br(0x192)](aL){let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL['UV']['a'],aP=[];return aN==='IndexToDirect'&&(aP=aL['UVIndex']['a']),{'dataSize':0x2,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseVertexColors'](aL){const cp=br;let aM=aL['MappingInformationType'],aN=aL[cp(0x197)],aO=aL['Colors']['a'],aP=[];aN===cp(0x1e2)&&(aP=aL['ColorIndex']['a']);for(let aQ=0x0,aR=new aw();aQ<aO['length'];aQ+=0x4)aR['fromArray'](aO,aQ),as['colorSpaceToWorking'](aR,aF),aR['toArray'](aO,aQ);return{'dataSize':0x4,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseMaterialIndices'](aL){const cq=br;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'];if(aM==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':aN};let aO=aL['Materials']['a'],aP=[];for(let aQ=0x0;aQ<aO[cq(0x19a)];++aQ)aP[cq(0x1b2)](aQ);return{'dataSize':0x1,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseNurbsGeometry'](aL){const cr=br;let aM=parseInt(aL['Order']);if(isNaN(aM))return console['error']('THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s',aL['Order'],aL['id']),new aB();let aN=aM-0x1,aO=aL[cr(0x17d)]['a'],aP=[],aQ=aL['Points']['a'];for(let aU=0x0,aV=aQ[cr(0x19a)];aU<aV;aU+=0x4)aP['push'](new ak()['fromArray'](aQ,aU));let aR,aS;if(aL['Form']==='Closed')aP[cr(0x1b2)](aP[0x0]);else{if(aL['Form']===cr(0x1ab)){aR=aN,aS=aO['length']-0x1-aR;for(let aW=0x0;aW<aN;++aW)aP[cr(0x1b2)](aP[aW]);}}let aT=new B(aN,aO,aP,aR,aS)['getPoints'](aP['length']*0xc);return new aB()['setFromPoints'](aT);}},he=class{['parse'](){let aL=[],aM=this['parseClips']();if(aM!==void 0x0)for(let aN in aM){let aO=aM[aN],aP=this['addClip'](aO);aL['push'](aP);}return aL;}['parseClips'](){if(V['Objects']['AnimationCurve']===void 0x0)return;let aL=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aL);let aM=this['parseAnimationLayers'](aL);return this['parseAnimStacks'](aM);}[br(0x16a)](){const cs=br;let aL=V['Objects']['AnimationCurveNode'],aM=new Map();for(let aN in aL){let aO=aL[aN];if(aO['attrName']['match'](/S|R|T|DeformPercent/)!==null){let aP={'id':aO['id'],'attr':aO['attrName'],'curves':{}};aM[cs(0x1d5)](aP['id'],aP);}}return aM;}['parseAnimationCurves'](aL){const ct=br;let aM=V['Objects'][ct(0x21b)];for(let aN in aM){let aO={'id':aM[aN]['id'],'times':aM[aN]['KeyTime']['a'][ct(0x236)](be),'values':aM[aN]['KeyValueFloat']['a']},aP=H['get'](aO['id']);if(aP!==void 0x0){let aQ=aP['parents'][0x0]['ID'],aR=aP['parents'][0x0]['relationship'];aR[ct(0x1fe)](/X/)?aL['get'](aQ)['curves']['x']=aO:aR['match'](/Y/)?aL['get'](aQ)['curves']['y']=aO:aR['match'](/Z/)?aL['get'](aQ)['curves']['z']=aO:aR['match'](/DeformPercent/)&&aL['has'](aQ)&&(aL['get'](aQ)['curves']['morph']=aO);}}}['parseAnimationLayers'](aL){let aM=V['Objects']['AnimationLayer'],aN=new Map();for(let aO in aM){let aP=[],aQ=H['get'](parseInt(aO));aQ!==void 0x0&&(aQ['children']['forEach'](function(aR,aS){const cu=a1;if(aL['has'](aR['ID'])){let aT=aL['get'](aR['ID']);if(aT['curves']['x']!==void 0x0||aT['curves']['y']!==void 0x0||aT[cu(0x1c6)]['z']!==void 0x0){if(aP[aS]===void 0x0){let aU=H['get'](aR['ID'])[cu(0x211)]['filter'](function(aW){const cv=cu;return aW[cv(0x179)]!==void 0x0;});if(aU['length']===0x0)return;let aV=aU[0x0]['ID'];if(aV!==void 0x0){let aW=V[cu(0x235)]['Model'][aV['toString']()];if(aW===void 0x0){console['warn']('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',aR);return;}let aX={'modelName':aW[cu(0x1aa)]?aD[cu(0x176)](aW['attrName']):'','ID':aW['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};U['traverse'](function(aY){const cw=cu;aY['ID']===aW['id']&&(aX['transform']=aY['matrix'],aY['userData'][cw(0x19d)]&&(aX['eulerOrder']=aY['userData'][cw(0x19d)]['eulerOrder'],aY[cw(0x22f)]['transformData']['rotation']&&(aX[cw(0x202)]=aY[cw(0x22f)]['transformData']['rotation'])));}),aX[cu(0x1c9)]||(aX[cu(0x1c9)]=new a2()),cu(0x226)in aW&&(aX[cu(0x1c8)]=aW['PreRotation']['value']),'PostRotation'in aW&&(aX['postRotation']=aW['PostRotation']['value']),aP[aS]=aX;}}aP[aS]&&(aP[aS][aT['attr']]=aT);}else{if(aT['curves']['morph']!==void 0x0){if(aP[aS]===void 0x0){let aY=H['get'](aR['ID'])['parents']['filter'](function(b4){return b4['relationship']!==void 0x0;});if(aY['length']===0x0)return;let aZ=aY[0x0]['ID'],b0=H['get'](aZ)['parents'][0x0]['ID'],b1=H['get'](b0)['parents'][0x0]['ID'],b2=H['get'](b1)['parents'][0x0]['ID'],b3=V['Objects'][cu(0x1c4)][b2];aP[aS]={'modelName':b3['attrName']?aD['sanitizeNodeName'](b3['attrName']):'','morphName':V['Objects']['Deformer'][aZ]['attrName']};}aP[aS][aT['attr']]=aT;}}}}),aN['set'](parseInt(aO),aP));}return aN;}['parseAnimStacks'](aL){const cx=br;let aM=V['Objects']['AnimationStack'],aN={};for(let aO in aM){let aP=H['get'](parseInt(aO))[cx(0x18d)];aP[cx(0x19a)]>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');let aQ=aL[cx(0x185)](aP[0x0]['ID']);aN[aO]={'name':aM[aO]['attrName'],'layer':aQ};}return aN;}['addClip'](aL){let aM=[],aN=this;return aL['layer']['forEach'](function(aO){aM=aM['concat'](aN['generateTracks'](aO));}),new az(aL['name'],-0x1,aM);}['generateTracks'](aL){const cy=br;let aM=[],aN=new a3(),aO=new a3();if(aL['transform']&&aL['transform']['decompose'](aN,new aH(),aO),aN=aN[cy(0x229)](),aO=aO['toArray'](),aL['T']!==void 0x0&&Object['keys'](aL['T']['curves'])['length']>0x0){let aP=this['generateVectorTrack'](aL[cy(0x1f2)],aL['T']['curves'],aN,'position');aP!==void 0x0&&aM['push'](aP);}if(aL['R']!==void 0x0&&Object['keys'](aL['R']['curves'])[cy(0x19a)]>0x0){let aQ=this['generateRotationTrack'](aL['modelName'],aL['R']['curves'],aL['preRotation'],aL['postRotation'],aL['eulerOrder'],aL[cy(0x202)]);aQ!==void 0x0&&aM[cy(0x1b2)](aQ);}if(aL['S']!==void 0x0&&Object['keys'](aL['S']['curves'])['length']>0x0){let aR=this[cy(0x1fa)](aL['modelName'],aL['S']['curves'],aO,'scale');aR!==void 0x0&&aM[cy(0x1b2)](aR);}if(aL['DeformPercent']!==void 0x0){let aS=this['generateMorphTrack'](aL);aS!==void 0x0&&aM[cy(0x1b2)](aS);}return aM;}['generateVectorTrack'](aL,aM,aN,aO){const cz=br;let aP=this[cz(0x1a9)](aM),aQ=this['getKeyframeTrackValues'](aP,aM,aN);return new aa(aL+'.'+aO,aP,aQ);}['generateRotationTrack'](aL,aM,aN,aO,aP,aQ){const cA=br;let aR,aS;if(aM['x']!==void 0x0||aM['y']!==void 0x0||aM['z']!==void 0x0){let aX=this['getTimesForAllAxes'](aM);if(aX['length']>0x0){let aY=aQ||[0x0,0x0,0x0],aZ=this['synchronizeCurve'](aM['x'],aX,aY[0x0]),b0=this[cA(0x1d8)](aM['y'],aX,aY[0x1]),b1=this['synchronizeCurve'](aM['z'],aX,aY[0x2]),b2=this['interpolateRotations'](aZ,b0,b1,aP);aR=b2[0x0],aS=b2[0x1];}}let aT=Z(0x0);aN!==void 0x0&&(aN=aN['map'](al['degToRad']),aN[cA(0x1b2)](aT),aN=new aj()['fromArray'](aN),aN=new aH()[cA(0x227)](aN)),aO!==void 0x0&&(aO=aO['map'](al['degToRad']),aO[cA(0x1b2)](aT),aO=new aj()['fromArray'](aO),aO=new aH()[cA(0x227)](aO)['invert']());let aU=new aH(),aV=new aj(),aW=[];if(!(!aS||!aR)){for(let b3=0x0;b3<aS['length'];b3+=0x3)aV['set'](aS[b3],aS[b3+0x1],aS[b3+0x2],aP),aU['setFromEuler'](aV),aN!==void 0x0&&aU['premultiply'](aN),aO!==void 0x0&&aU[cA(0x1be)](aO),b3>0x2&&new aH()['fromArray'](aW,(b3-0x3)/0x3*0x4)['dot'](aU)<0x0&&aU['set'](-aU['x'],-aU['y'],-aU['z'],-aU['w']),aU['toArray'](aW,b3/0x3*0x4);return new an(aL+cA(0x212),aR,aW);}}['generateMorphTrack'](aL){const cB=br;let aM=aL['DeformPercent'][cB(0x1c6)]['morph'],aN=aM[cB(0x239)]['map'](function(aP){return aP/0x64;}),aO=U['getObjectByName'](aL['modelName'])['morphTargetDictionary'][aL['morphName']];return new aC(aL['modelName']+'.morphTargetInfluences['+aO+']',aM[cB(0x228)],aN);}['getTimesForAllAxes'](aL){const cC=br;let aM=[];if(aL['x']!==void 0x0&&(aM=aM[cC(0x1a1)](aL['x']['times'])),aL['y']!==void 0x0&&(aM=aM[cC(0x1a1)](aL['y']['times'])),aL['z']!==void 0x0&&(aM=aM['concat'](aL['z']['times'])),aM=aM[cC(0x1f1)](function(aN,aO){return aN-aO;}),aM['length']>0x1){let aN=0x1,aO=aM[0x0];for(let aP=0x1;aP<aM['length'];aP++){let aQ=aM[aP];aQ!==aO&&(aM[aN]=aQ,aO=aQ,aN++);}aM=aM['slice'](0x0,aN);}return aM;}['getKeyframeTrackValues'](aL,aM,aN){let aO=aN,aP=[],aQ=-0x1,aR=-0x1,aS=-0x1;return aL['forEach'](function(aT){const cD=a1;if(aM['x']&&(aQ=aM['x']['times']['indexOf'](aT)),aM['y']&&(aR=aM['y']['times']['indexOf'](aT)),aM['z']&&(aS=aM['z']['times']['indexOf'](aT)),aQ!==-0x1){let aU=aM['x']['values'][aQ];aP['push'](aU),aO[0x0]=aU;}else aP['push'](aO[0x0]);if(aR!==-0x1){let aV=aM['y']['values'][aR];aP['push'](aV),aO[0x1]=aV;}else aP['push'](aO[0x1]);if(aS!==-0x1){let aW=aM['z'][cD(0x239)][aS];aP['push'](aW),aO[0x2]=aW;}else aP['push'](aO[0x2]);}),aP;}['synchronizeCurve'](aL,aM,aN){if(aL===void 0x0)return{'times':aM,'values':aM['map'](()=>aN)};if(aL['times']['length']===aM['length'])return aL;let aO=[];for(let aP=0x0;aP<aM['length'];aP++)aO['push'](this['sampleCurveValue'](aL,aM[aP],aN));return{'times':aM,'values':aO};}[br(0x194)](aL,aM,aN){let aO=aL['times'],aP=aL['values'];if(aM<=aO[0x0])return aP[0x0];if(aM>=aO[aO['length']-0x1])return aP[aP['length']-0x1];for(let aQ=0x0;aQ<aO['length']-0x1;aQ++)if(aM>=aO[aQ]&&aM<=aO[aQ+0x1]){if(aO[aQ]===aM)return aP[aQ];let aR=(aM-aO[aQ])/(aO[aQ+0x1]-aO[aQ]);return aP[aQ]*(0x1-aR)+aP[aQ+0x1]*aR;}return aN;}['interpolateRotations'](aL,aM,aN,aO){const cE=br;let aP=[],aQ=[];aP['push'](aL['times'][0x0]),aQ['push'](al['degToRad'](aL['values'][0x0])),aQ['push'](al[cE(0x1f0)](aM['values'][0x0])),aQ[cE(0x1b2)](al['degToRad'](aN['values'][0x0]));for(let aR=0x1;aR<aL['values']['length'];aR++){let aS=[aL['values'][aR-0x1],aM['values'][aR-0x1],aN[cE(0x239)][aR-0x1]];if(isNaN(aS[0x0])||isNaN(aS[0x1])||isNaN(aS[0x2]))continue;let aT=aS[cE(0x236)](al['degToRad']),aU=[aL['values'][aR],aM['values'][aR],aN[cE(0x239)][aR]];if(isNaN(aU[0x0])||isNaN(aU[0x1])||isNaN(aU[0x2]))continue;let aV=aU['map'](al['degToRad']),aW=[aU[0x0]-aS[0x0],aU[0x1]-aS[0x1],aU[0x2]-aS[0x2]],aX=[Math[cE(0x200)](aW[0x0]),Math['abs'](aW[0x1]),Math['abs'](aW[0x2])];if(aX[0x0]>=0xb4||aX[0x1]>=0xb4||aX[0x2]>=0xb4){let aY=Math['max'](...aX)/0xb4,aZ=new aj(...aT,aO),b0=new aj(...aV,aO),b1=new aH()['setFromEuler'](aZ),b2=new aH()['setFromEuler'](b0);b1['dot'](b2)<0x0&&b2['set'](-b2['x'],-b2['y'],-b2['z'],-b2['w']);let b3=aL['times'][aR-0x1],b4=aL['times'][aR]-b3,b5=new aH(),b6=new aj();for(let b7=0x0;b7<0x1;b7+=0x1/aY)b5[cE(0x1b3)](b1['clone']()['slerp'](b2['clone'](),b7)),aP['push'](b3+b7*b4),b6[cE(0x21c)](b5,aO),aQ['push'](b6['x']),aQ['push'](b6['y']),aQ['push'](b6['z']);}else aP['push'](aL['times'][aR]),aQ['push'](al['degToRad'](aL['values'][aR])),aQ[cE(0x1b2)](al['degToRad'](aM['values'][aR])),aQ[cE(0x1b2)](al['degToRad'](aN[cE(0x239)][aR]));}return[aP,aQ];}},ge=class{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){return this['nodeStack'][this['currentIndent']-0x1];}['getCurrentProp'](){return this['currentProp'];}[br(0x23a)](aL){this['nodeStack']['push'](aL),this['currentIndent']+=0x1;}['popStack'](){this['nodeStack']['pop'](),--this['currentIndent'];}['setCurrentProp'](aL,aM){this['currentProp']=aL,this['currentPropName']=aM;}[br(0x1a5)](aL){const cF=br;this['currentIndent']=0x0,this['allNodes']=new G(),this[cF(0x1d1)]=[],this['currentProp']=[],this['currentPropName']='';let aM=this,aN=aL['split'](/[\r\n]+/);return aN[cF(0x218)](function(aO,aP){const cG=cF;let aQ=aO['match'](/^[\s\t]*;/),aR=aO[cG(0x1fe)](/^[\s\t]*$/);if(aQ||aR)return;let aS=aO['match']('^\x5ct{'+aM[cG(0x170)]+'}(\x5cw+):(.*){',''),aT=aO['match']('^\x5ct{'+aM['currentIndent']+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),aU=aO['match']('^\x5ct{'+(aM['currentIndent']-0x1)+'}}');aS?aM[cG(0x1a0)](aO,aS):aT?aM['parseNodeProperty'](aO,aT,aN[++aP]):aU?aM['popStack']():aO['match'](/^[^\s\t}]/)&&aM[cG(0x1ee)](aO);}),this['allNodes'];}['parseNodeBegin'](aL,aM){const cH=br;let aN=aM[0x1][cH(0x1ea)]()['replace'](/^"/,'')['replace'](/"$/,''),aO=aM[0x2]['split'](',')[cH(0x236)](function(aS){const cI=cH;return aS[cI(0x1ea)]()['replace'](/^"/,'')['replace'](/"$/,'');}),aP={'name':aN},aQ=this['parseNodeAttr'](aO),aR=this[cH(0x173)]();this[cH(0x170)]===0x0?this[cH(0x1fb)]['add'](aN,aP):aN in aR?(aN==='PoseNode'?aR[cH(0x210)]['push'](aP):aR[aN]['id']!==void 0x0&&(aR[aN]={},aR[aN][aR[aN]['id']]=aR[aN]),aQ['id']!==''&&(aR[aN][aQ['id']]=aP)):typeof aQ['id']==cH(0x1b6)?(aR[aN]={},aR[aN][aQ['id']]=aP):aN!=='Properties70'&&(aN==='PoseNode'?aR[aN]=[aP]:aR[aN]=aP),typeof aQ['id']=='number'&&(aP['id']=aQ['id']),aQ['name']!==''&&(aP['attrName']=aQ['name']),aQ[cH(0x182)]!==''&&(aP['attrType']=aQ['type']),this['pushStack'](aP);}['parseNodeAttr'](aL){let aM=aL[0x0];aL[0x0]!==''&&(aM=parseInt(aL[0x0]),isNaN(aM)&&(aM=aL[0x0]));let aN='',aO='';return aL['length']>0x1&&(aN=aL[0x1]['replace'](/^(\w+)::/,''),aO=aL[0x2]),{'id':aM,'name':aN,'type':aO};}[br(0x242)](aL,aM,aN){const cJ=br;let aO=aM[0x1]['replace'](/^"/,'')['replace'](/"$/,'')['trim'](),aP=aM[0x2]['replace'](/^"/,'')['replace'](/"$/,'')[cJ(0x1ea)]();aO==='Content'&&aP===','&&(aP=aN['replace'](/"/g,'')['replace'](/,$/,'')['trim']());let aQ=this['getCurrentNode']();if(aQ['name']===cJ(0x1dd)){this['parseNodeSpecialProperty'](aL,aO,aP);return;}if(aO==='C'){let aR=aP['split'](',')[cJ(0x1ef)](0x1),aS=parseInt(aR[0x0]),aT=parseInt(aR[0x1]),aU=aP[cJ(0x16d)](',')['slice'](0x3);aU=aU['map'](function(aV){return aV['trim']()['replace'](/^"/,'');}),aO='connections',aP=[aS,aT],Se(aP,aU),aQ[aO]===void 0x0&&(aQ[aO]=[]);}aO==='Node'&&(aQ['id']=aP),aO in aQ&&Array['isArray'](aQ[aO])?aQ[aO]['push'](aP):aO==='a'?aQ['a']=aP:aQ[aO]=aP,this['setCurrentProp'](aQ,aO),aO==='a'&&aP['slice'](-0x1)!==','&&(aQ['a']=Q(aP));}['parseNodePropertyContinued'](aL){const cK=br;let aM=this[cK(0x173)]();aM['a']+=aL,aL['slice'](-0x1)!==','&&(aM['a']=Q(aM['a']));}['parseNodeSpecialProperty'](aL,aM,aN){const cL=br;let aO=aN['split']('\x22,')[cL(0x236)](function(aU){return aU['trim']()['replace'](/^\"/,'')['replace'](/\s/,'_');}),aP=aO[0x0],aQ=aO[0x1],aR=aO[0x2],aS=aO[0x3],aT=aO[0x4];switch(aQ){case'int':case'enum':case cL(0x234):case cL(0x19b):case'double':case'Number':case'FieldOfView':aT=parseFloat(aT);break;case'Color':case cL(0x205):case'Vector3D':case'Lcl_Translation':case'Lcl_Rotation':case cL(0x187):aT=Q(aT);break;}this['getPrevNode']()[aP]={'type':aQ,'type2':aR,'flag':aS,'value':aT},this['setCurrentProp'](this['getPrevNode'](),aP);}},_e=class{[br(0x1a5)](aL){const cM=br;let aM=new W(aL);aM['skip'](0x17);let aN=aM[cM(0x1fc)]();if(aN<0x1900)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+aN);let aO=new G();for(;!this['endOfContent'](aM);){let aP=this['parseNode'](aM,aN);aP!==null&&aO[cM(0x201)](aP['name'],aP);}return aO;}[br(0x1e9)](aL){return aL['size']()%0x10==0x0?(aL['getOffset']()+0xa0+0x10&-0x10)>=aL['size']():aL['getOffset']()+0xa0+0x10>=aL['size']();}['parseNode'](aL,aM){const cN=br;let aN={},aO=aM>=0x1d4c?aL['getUint64']():aL['getUint32'](),aP=aM>=0x1d4c?aL['getUint64']():aL['getUint32']();aM>=0x1d4c?aL['getUint64']():aL['getUint32']();let aQ=aL['getUint8'](),aR=aL['getString'](aQ);if(aO===0x0)return null;let aS=[];for(let aW=0x0;aW<aP;aW++)aS['push'](this['parseProperty'](aL));let aT=aS[cN(0x19a)]>0x0?aS[0x0]:'',aU=aS['length']>0x1?aS[0x1]:'',aV=aS['length']>0x2?aS[0x2]:'';for(aN['singleProperty']=aP===0x1&&aL['getOffset']()===aO;aO>aL['getOffset']();){let aX=this[cN(0x1bb)](aL,aM);aX!==null&&this['parseSubNode'](aR,aN,aX);}return aN['propertyList']=aS,typeof aT=='number'&&(aN['id']=aT),aU!==''&&(aN['attrName']=aU),aV!==''&&(aN['attrType']=aV),aR!==''&&(aN[cN(0x1a3)]=aR),aN;}[br(0x22c)](aL,aM,aN){const cO=br;if(aN['singleProperty']===!0x0){let aO=aN['propertyList'][0x0];Array['isArray'](aO)?(aM[aN['name']]=aN,aN['a']=aO):aM[aN['name']]=aO;}else{if(aL==='Connections'&&aN[cO(0x1a3)]==='C'){let aP=[];aN['propertyList']['forEach'](function(aQ,aR){aR!==0x0&&aP['push'](aQ);}),aM['connections']===void 0x0&&(aM['connections']=[]),aM['connections']['push'](aP);}else{if(aN['name']==='Properties70')Object['keys'](aN)['forEach'](function(aQ){aM[aQ]=aN[aQ];});else{if(aL==='Properties70'&&aN['name']==='P'){let aQ=aN['propertyList'][0x0],aR=aN['propertyList'][0x1],aS=aN['propertyList'][0x2],aT=aN['propertyList'][0x3],aU;aQ['indexOf']('Lcl\x20')===0x0&&(aQ=aQ['replace']('Lcl\x20','Lcl_')),aR[cO(0x22b)]('Lcl\x20')===0x0&&(aR=aR[cO(0x177)]('Lcl\x20','Lcl_')),aU=aR===cO(0x1b4)||aR==='ColorRGB'||aR==='Vector'||aR==='Vector3D'||aR['indexOf']('Lcl_')===0x0?[aN[cO(0x1e3)][0x4],aN['propertyList'][0x5],aN['propertyList'][0x6]]:aN['propertyList'][0x4],aM[aQ]={'type':aR,'type2':aS,'flag':aT,'value':aU};}else aM[aN[cO(0x1a3)]]===void 0x0?typeof aN['id']=='number'?(aM[aN['name']]={},aM[aN['name']][aN['id']]=aN):aM[aN[cO(0x1a3)]]=aN:aN['name']==='PoseNode'?(Array['isArray'](aM[aN['name']])||(aM[aN[cO(0x1a3)]]=[aM[aN['name']]]),aM[aN['name']]['push'](aN)):aM[aN['name']][aN['id']]===void 0x0&&(aM[aN['name']][aN['id']]=aN);}}}}['parseProperty'](aL){const cP=br;let aM=aL['getString'](0x1),aN;switch(aM){case'C':return aL['getBoolean']();case'D':return aL['getFloat64']();case'F':return aL['getFloat32']();case'I':return aL[cP(0x18a)]();case'L':return aL['getInt64']();case'R':return aN=aL[cP(0x1fc)](),aL['getArrayBuffer'](aN);case'S':return aN=aL['getUint32'](),aL['getString'](aN);case'Y':return aL['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':let aO=aL['getUint32'](),aP=aL['getUint32'](),aQ=aL[cP(0x1fc)]();if(aP===0x0)switch(aM){case'b':case'c':return aL['getBooleanArray'](aO);case'd':return aL['getFloat64Array'](aO);case'f':return aL['getFloat32Array'](aO);case'i':return aL[cP(0x181)](aO);case'l':return aL['getInt64Array'](aO);}let aR=new W(aK(new Uint8Array(aL['getArrayBuffer'](aQ)))['buffer']);switch(aM){case'b':case'c':return aR['getBooleanArray'](aO);case'd':return aR[cP(0x1d4)](aO);case'f':return aR['getFloat32Array'](aO);case'i':return aR['getInt32Array'](aO);case'l':return aR['getInt64Array'](aO);}break;default:throw Error('THREE.FBXLoader:\x20Unknown\x20property\x20type\x20'+aM);}}},W=class{constructor(aL,aM){this['dv']=new DataView(aL),this['offset']=0x0,this['littleEndian']=aM===void 0x0?!0x0:aM,this['_textDecoder']=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){return this['dv']['buffer']['byteLength'];}['skip'](aL){const cQ=br;this[cQ(0x223)]+=aL;}['getBoolean'](){return(this['getUint8']()&0x1)==0x1;}['getBooleanArray'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getBoolean']());return aM;}['getUint8'](){let aL=this['dv']['getUint8'](this['offset']);return this['offset']+=0x1,aL;}['getInt16'](){const cR=br;let aL=this['dv'][cR(0x225)](this['offset'],this['littleEndian']);return this['offset']+=0x2,aL;}[br(0x18a)](){const cS=br;let aL=this['dv']['getInt32'](this['offset'],this[cS(0x220)]);return this['offset']+=0x4,aL;}['getInt32Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt32']());return aM;}['getUint32'](){let aL=this['dv']['getUint32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}['getInt64'](){const cT=br;let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this[cT(0x1fc)]()):(aM=this['getUint32'](),aL=this['getUint32']()),aM&0x80000000?(aM=~aM&0xffffffff,aL=~aL&0xffffffff,aL===0xffffffff&&(aM=aM+0x1&0xffffffff),aL=aL+0x1&0xffffffff,-(aM*0x100000000+aL)):aM*0x100000000+aL;}['getInt64Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt64']());return aM;}['getUint64'](){const cU=br;let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this['getUint32']()):(aM=this[cU(0x1fc)](),aL=this['getUint32']()),aM*0x100000000+aL;}['getFloat32'](){let aL=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}[br(0x23f)](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat32']());return aM;}['getFloat64'](){const cV=br;let aL=this['dv']['getFloat64'](this['offset'],this['littleEndian']);return this[cV(0x223)]+=0x8,aL;}['getFloat64Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat64']());return aM;}['getArrayBuffer'](aL){const cW=br;let aM=this['dv'][cW(0x208)]['slice'](this['offset'],this['offset']+aL);return this['offset']+=aL,aM;}[br(0x1ce)](aL){const cX=br;let aM=this['offset'],aN=new Uint8Array(this['dv']['buffer'],aM,aL);this['skip'](aL);let aO=aN['indexOf'](0x0);return aO>=0x0&&(aN=new Uint8Array(this['dv'][cX(0x208)],aM,aO)),this['_textDecoder']['decode'](aN);}},G=class{['add'](aL,aM){this[aL]=aM;}};function ve(aL){return aL['byteLength']>=0x15&&$(aL,0x0,0x15)==='Kaydara\x20FBX\x20Binary\x20\x20\x00';}function ye(aL){const cY=br;let aM=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'],aN=0x0;function aO(aP){let aQ=aL[aP-0x1];return aL=aL['slice'](aN+aP),aN++,aQ;}for(let aP=0x0;aP<aM[cY(0x19a)];++aP)if(aO(0x1)===aM[aP])return!0x1;return!0x0;}function K(aL){const cZ=br;let aM=aL['match'](/FBXVersion: (\d+)/);if(aM)return parseInt(aM[0x1]);throw Error(cZ(0x193));}function be(aL){return aL/0xac0e8d7b0;}var xe=[];function q(aL,aM,aN,aO){const d0=br;let aP;switch(aO['mappingType']){case'ByPolygonVertex':aP=aL;break;case d0(0x16f):aP=aM;break;case'ByVertice':aP=aN;break;case'AllSame':aP=aO['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+aO['mappingType']);}aO[d0(0x1ba)]==='IndexToDirect'&&(aP=aO['indices'][aP]);let aQ=aP*aO['dataSize'],aR=aQ+aO[d0(0x1e8)];return Ce(xe,aO[d0(0x208)],aQ,aR);}var J=new aj(),Y=new a3();function X(aL){const d1=br;let aM=new a2(),aN=new a2(),aO=new a2(),aP=new a2(),aQ=new a2(),aR=new a2(),aS=new a2(),aT=new a2(),aU=new a2(),aV=new a2(),aW=new a2(),aX=new a2(),aY=aL['inheritType']?aL[d1(0x23c)]:0x0;aL[d1(0x1b1)]&&aM['setPosition'](Y['fromArray'](aL[d1(0x1b1)]));let aZ=Z(0x0);if(aL['preRotation']){let bc=aL[d1(0x1c8)]['map'](al['degToRad']);bc['push'](aZ),aN['makeRotationFromEuler'](J['fromArray'](bc));}if(aL['rotation']){let bd=aL['rotation']['map'](al['degToRad']);bd['push'](aL['eulerOrder']||aZ),aO['makeRotationFromEuler'](J['fromArray'](bd));}if(aL[d1(0x1f5)]){let bf=aL['postRotation']['map'](al['degToRad']);bf['push'](aZ),aP['makeRotationFromEuler'](J['fromArray'](bf)),aP['invert']();}aL['scale']&&aQ[d1(0x21f)](Y[d1(0x1f8)](aL['scale'])),aL['scalingOffset']&&aS['setPosition'](Y['fromArray'](aL['scalingOffset'])),aL['scalingPivot']&&aR['setPosition'](Y['fromArray'](aL['scalingPivot'])),aL['rotationOffset']&&aT['setPosition'](Y['fromArray'](aL['rotationOffset'])),aL['rotationPivot']&&aU['setPosition'](Y['fromArray'](aL['rotationPivot'])),aL['parentMatrixWorld']&&(aW['copy'](aL['parentMatrix']),aV[d1(0x1b3)](aL['parentMatrixWorld']));let b0=aN[d1(0x216)]()['multiply'](aO)[d1(0x1be)](aP),b1=new a2();b1['extractRotation'](aV);let b2=new a2();b2['copyPosition'](aV);let b3=b2[d1(0x216)]()[d1(0x17b)]()[d1(0x1be)](aV),b4=b1[d1(0x216)]()['invert']()[d1(0x1be)](b3),b5=aQ,b6=new a2();if(aY===0x0)b6['copy'](b1)['multiply'](b0)['multiply'](b4)['multiply'](b5);else{if(aY===0x1)b6['copy'](b1)['multiply'](b4)['multiply'](b0)['multiply'](b5);else{let bg=new a2()['scale'](new a3()['setFromMatrixScale'](aW))['clone']()['invert'](),bh=b4['clone']()['multiply'](bg);b6['copy'](b1)[d1(0x1be)](b0)['multiply'](bh)['multiply'](b5);}}let b7=aU[d1(0x216)]()['invert'](),b8=aR['clone']()['invert'](),b9=aM['clone']()['multiply'](aT)['multiply'](aU)['multiply'](aN)['multiply'](aO)[d1(0x1be)](aP)['multiply'](b7)['multiply'](aS)['multiply'](aR)['multiply'](aQ)['multiply'](b8),ba=new a2()[d1(0x1a8)](b9),bb=aV[d1(0x216)]()['multiply'](ba);return aX['copyPosition'](bb),b9=aX['clone']()['multiply'](b6),b9['premultiply'](aV[d1(0x17b)]()),b9;}function a1(a,b){a=a-0x169;const c=a0();let d=c[a];return d;}function Z(aL){const d2=br;aL=aL||0x0;let aM=[d2(0x198),d2(0x169),'XZY','ZXY','YXZ','XYZ'];return aL===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),aM[0x0]):aM[aL];}function Q(aL){return aL['split'](',')['map'](function(aM){return parseFloat(aM);});}function $(aL,aM,aN){return aM===void 0x0&&(aM=0x0),aN===void 0x0&&(aN=aL['byteLength']),new TextDecoder()['decode'](new Uint8Array(aL,aM,aN));}function Se(aL,aM){for(let aN=0x0,aO=aL['length'],aP=aM['length'];aN<aP;aN++,aO++)aL[aO]=aM[aN];}function Ce(aL,aM,aN,aO){for(let aP=aN,aQ=0x0;aP<aO;aP++,aQ++)aL[aQ]=aM[aP];return aL;}export{fe as FBXLoader};
|
|
1
|
+
const br=a1;(function(aL,aM){const bm=a1,aN=aL();while(!![]){try{const aO=parseInt(bm(0x21d))/0x1+parseInt(bm(0x14e))/0x2*(parseInt(bm(0x1e6))/0x3)+parseInt(bm(0x1fd))/0x4*(-parseInt(bm(0x20c))/0x5)+-parseInt(bm(0x1e0))/0x6+parseInt(bm(0x1a8))/0x7+parseInt(bm(0x18b))/0x8+-parseInt(bm(0x1ee))/0x9;if(aO===aM)break;else aN['push'](aN['shift']());}catch(aP){aN['push'](aN['shift']());}}}(a0,0xde4ff));import{$ as a2,Bt as a3,C as a4,Ct as a5,Dt as a6,E as a7,Et as a8,Ft as a9,Ht as aa,K as ab,Mt as ac,Ot as ad,Pt as af,Q as ag,R as ah,Rt as ai,S as aj,Vt as ak,Z as al,_ as am,bt as an,dt as ao,et as ap,f as aq,ht as ar,m as as,n as at,nt as au,o as av,p as aw,pt as ax,q as ay,r as az,rt as aA,u as aB,ut as aC,vt as aD,w as aE,wt as aF,x as aG,yt as aH,z as aI,zt as aJ}from'./three.module.js';import{n as aK}from'./fflate.module.js';function R(aL,aM,aN){const bn=a1;let aO=aN[bn(0x20b)]-aL-0x1;if(aM>=aN[aO])return aO-0x1;if(aM<=aN[aL])return aL;let aP=aL,aQ=aO,aR=Math[bn(0x1e7)]((aP+aQ)/0x2);for(;aM<aN[aR]||aM>=aN[aR+0x1];)aM<aN[aR]?aQ=aR:aP=aR,aR=Math['floor']((aP+aQ)/0x2);return aR;}function oe(aL,aM,aN,aO){let aP=[],aQ=[],aR=[];aP[0x0]=0x1;for(let aS=0x1;aS<=aN;++aS){aQ[aS]=aM-aO[aL+0x1-aS],aR[aS]=aO[aL+aS]-aM;let aT=0x0;for(let aU=0x0;aU<aS;++aU){let aV=aR[aU+0x1],aW=aQ[aS-aU],aX=aP[aU]/(aV+aW);aP[aU]=aT+aV*aX,aT=aW*aX;}aP[aS]=aT;}return aP;}function se(aL,aM,aN,aO){let aP=R(aL,aO,aM),aQ=oe(aP,aO,aL,aM),aR=new ak(0x0,0x0,0x0,0x0);for(let aS=0x0;aS<=aL;++aS){let aT=aN[aP-aL+aS],aU=aQ[aS],aV=aT['w']*aU;aR['x']+=aT['x']*aV,aR['y']+=aT['y']*aV,aR['z']+=aT['z']*aV,aR['w']+=aT['w']*aU;}return aR;}function ce(aL,aM,aN,aO,aP){let aQ=[];for(let aW=0x0;aW<=aN;++aW)aQ[aW]=0x0;let aR=[];for(let aX=0x0;aX<=aO;++aX)aR[aX]=aQ['slice'](0x0);let aS=[];for(let aY=0x0;aY<=aN;++aY)aS[aY]=aQ['slice'](0x0);aS[0x0][0x0]=0x1;let aT=aQ['slice'](0x0),aU=aQ['slice'](0x0);for(let aZ=0x1;aZ<=aN;++aZ){aT[aZ]=aM-aP[aL+0x1-aZ],aU[aZ]=aP[aL+aZ]-aM;let b0=0x0;for(let b1=0x0;b1<aZ;++b1){let b2=aU[b1+0x1],b3=aT[aZ-b1];aS[aZ][b1]=b2+b3;let b4=aS[b1][aZ-0x1]/aS[aZ][b1];aS[b1][aZ]=b0+b2*b4,b0=b3*b4;}aS[aZ][aZ]=b0;}for(let b5=0x0;b5<=aN;++b5)aR[0x0][b5]=aS[b5][aN];for(let b6=0x0;b6<=aN;++b6){let b7=0x0,b8=0x1,b9=[];for(let ba=0x0;ba<=aN;++ba)b9[ba]=aQ['slice'](0x0);b9[0x0][0x0]=0x1;for(let bb=0x1;bb<=aO;++bb){let bc=0x0,bd=b6-bb,bf=aN-bb;b6>=bb&&(b9[b8][0x0]=b9[b7][0x0]/aS[bf+0x1][bd],bc=b9[b8][0x0]*aS[bd][bf]);let bg=bd>=-0x1?0x1:-bd,bh=b6-0x1<=bf?bb-0x1:aN-b6;for(let bj=bg;bj<=bh;++bj)b9[b8][bj]=(b9[b7][bj]-b9[b7][bj-0x1])/aS[bf+0x1][bd+bj],bc+=b9[b8][bj]*aS[bd+bj][bf];b6<=bf&&(b9[b8][bb]=-b9[b7][bb-0x1]/aS[bf+0x1][b6],bc+=b9[b8][bb]*aS[b6][bf]),aR[bb][b6]=bc;let bi=b7;b7=b8,b8=bi;}}let aV=aN;for(let bk=0x1;bk<=aO;++bk){for(let bl=0x0;bl<=aN;++bl)aR[bk][bl]*=aV;aV*=aN-bk;}return aR;}function a0(){const da=['NormalIndex','LayerElementUV','count','transformData','path','^\x5ct{','getNormalNewell','matrixWorld','uvs','children','has','add','getUint8','normal','LookAtProperty','emissive','Opacity','material','parseSubNode','replace','5786893KzGdbC','lambert','manager','specular','currentIndent','buffer','PolygonVertexIndex','set','shininess','getTangent','setAttribute','parseModels','keys','CastLightOnObject','getUint32','Lcl\x20','isArray','parseImage','toLowerCase','normalize','propertyList','RotationOrder','relationship','reduce','opacity','FarAttenuationEnd','copy','dot','envMap','degree','split','Materials','Node','colorSpaceToWorking','GeometricRotation','parseClips','ByPolygon','Objects','KnotVector','name','weightsIndices','offset','getCurrentNode','dataSize','modelName','PostRotation','transparent','times','Maya|TEX_color_map','getString','currentProp','scale','RotationPivot','RelativeFilename','Vector','connections','9586278nJMcwN','color','PoseNode','parents','AnimationCurveNode','string','216747WEQaUf','floor','THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.','castShadow','DeformPercent','Colors','vertexWeights','map','4531194tbduyw','tif','Vertices','}(\x5cw+):(.*){','morph','getInt32','singleProperty','THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.','curves','Model','rawBones','loadTexture','tga','abs','getTransformData','2805164ambNgd','start','userData','groups','nodeStack','LightType','genGeometry','phong','invert','getOffset','parsePoseNodes','Closed','parseNodeBegin','Material','length','10hZXsQg','setPath','preRotation','Properties70','parseGeoNode','parse','FullWeights','currentPropName','getTexture','parseUVs','EmissiveColor','KeyTime','InnerAngle','Pose','trim','genFace','push','1700744ImhRWI','AllSame','vertexPositions','getPoints','geoID','parseNormals','flattenVertex','colors','filter','eulerOrder','UpAxis','ZYX','getFloat32Array','initialRotation','endOfContent','OuterAngle','controlPoints','postRotation','getInt16','getHandler','attrType','Lcl_Scaling','startKnot','Order','value','multiply','THREE.FBXLoader:\x20Unknown\x20property\x20type\x20','MappingInformationType','makeRotationFromEuler','12QEeGMu','concat','warn','parseParameters','Specular','attrName','position','emissiveMap','mapping','skeletons','bool','THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s','Content','THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.','match','parseMeshGeometry','AnimationCurve','ShadingModel','setWithCredentials','fromArray','values','Matrix','THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.','Normals','materialIndex','bones','Kaydara\x20FBX\x20Binary\x20\x20\x00','FocalLength','Scaling','Indexes','max','addMorphTargets','FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20','clone','Filename','rotation','get','getPrevNode','allNodes','image/webp','weightTable','NormalMap','knots','Lcl_','parseNurbsGeometry','quaternion','pushStack','generateTracks','getFloat32','Geometry','GlobalSettings','PreRotation','translation','TransparencyFactor','decompose','parseConnections','vertex','generateRotationTrack','forEach','repeat','size','11627320YyMmmK','slice','parseProperty','littleEndian','UnitScaleFactor','Color','vertexIndices','InheritType','degToRad'];a0=function(){return da;};return a0();}function le(aL,aM,aN,aO,aP){const bo=a1;let aQ=aP<aL?aP:aL,aR=[],aS=R(aL,aO,aM),aT=ce(aS,aO,aL,aQ,aM),aU=[];for(let aV=0x0;aV<aN['length'];++aV){let aW=aN[aV][bo(0x16f)](),aX=aW['w'];aW['x']*=aX,aW['y']*=aX,aW['z']*=aX,aU[aV]=aW;}for(let aY=0x0;aY<=aQ;++aY){let aZ=aU[aS-aL][bo(0x16f)]()['multiplyScalar'](aT[aY][0x0]);for(let b0=0x1;b0<=aL;++b0)aZ['add'](aU[aS-aL+b0][bo(0x16f)]()['multiplyScalar'](aT[aY][b0]));aR[aY]=aZ;}for(let b1=aQ+0x1;b1<=aP+0x1;++b1)aR[b1]=new ak(0x0,0x0,0x0);return aR;}function ue(aL,aM){let aN=0x1;for(let aP=0x2;aP<=aL;++aP)aN*=aP;let aO=0x1;for(let aQ=0x2;aQ<=aM;++aQ)aO*=aQ;for(let aR=0x2;aR<=aL-aM;++aR)aO*=aR;return aN/aO;}function de(aL){let aM=aL['length'],aN=[],aO=[];for(let aQ=0x0;aQ<aM;++aQ){let aR=aL[aQ];aN[aQ]=new a3(aR['x'],aR['y'],aR['z']),aO[aQ]=aR['w'];}let aP=[];for(let aS=0x0;aS<aM;++aS){let aT=aN[aS]['clone']();for(let aU=0x1;aU<=aS;++aU)aT['sub'](aP[aS-aU]['clone']()['multiplyScalar'](ue(aS,aU)*aO[aU]));aP[aS]=aT['divideScalar'](aO[0x0]);}return aP;}function z(aL,aM,aN,aO,aP){return de(le(aL,aM,aN,aO,aP));}var B=class extends am{constructor(aL,aM,aN,aO,aP){const bp=a1;super();let aQ=aM?aM[bp(0x20b)]-0x1:0x0,aR=aN?aN['length']:0x0;this['degree']=aL,this['knots']=aM,this['controlPoints']=[],this['startKnot']=aO||0x0,this['endKnot']=aP||aQ;for(let aS=0x0;aS<aR;++aS){let aT=aN[aS];this['controlPoints'][aS]=new ak(aT['x'],aT['y'],aT['z'],aT['w']);}}['getPoint'](aL,aM=new a3()){const bq=a1;let aN=aM,aO=this['knots'][this['startKnot']]+aL*(this['knots'][this['endKnot']]-this['knots'][this['startKnot']]),aP=se(this['degree'],this['knots'],this[bq(0x141)],aO);return aP['w']!==0x1&&aP['divideScalar'](aP['w']),aN['set'](aP['x'],aP['y'],aP['z']);}[br(0x1b1)](aL,aM=new a3()){const bs=br;let aN=aM,aO=this['knots'][0x0]+aL*(this['knots'][this['knots'][bs(0x20b)]-0x1]-this['knots'][0x0]),aP=z(this['degree'],this[bs(0x178)],this['controlPoints'],aO,0x1);return aN['copy'](aP[0x1])['normalize'](),aN;}['toJSON'](){const bt=br;let aL=super['toJSON']();return aL['degree']=this[bt(0x1c5)],aL['knots']=[...this[bt(0x178)]],aL['controlPoints']=this['controlPoints']['map'](aM=>aM['toArray']()),aL['startKnot']=this[bt(0x147)],aL['endKnot']=this['endKnot'],aL;}['fromJSON'](aL){const bu=br;return super['fromJSON'](aL),this['degree']=aL['degree'],this['knots']=[...aL['knots']],this[bu(0x141)]=aL['controlPoints']['map'](aM=>new ak(aM[0x0],aM[0x1],aM[0x2],aM[0x3])),this['startKnot']=aL['startKnot'],this['endKnot']=aL['endKnot'],this;}},V,H,U,fe=class extends ab{constructor(aL){super(aL);}['load'](aL,aM,aN,aO){const bv=br;let aP=this,aQ=aP[bv(0x198)]===''?ay['extractUrlBase'](aL):aP['path'],aR=new a4(this[bv(0x1aa)]);aR[bv(0x20d)](aP['path']),aR['setResponseType']('arraybuffer'),aR['setRequestHeader'](aP['requestHeader']),aR[bv(0x160)](aP['withCredentials']),aR['load'](aL,function(aS){try{aM(aP['parse'](aS,aQ));}catch(aT){aO?aO(aT):console['error'](aT),aP['manager']['itemError'](aL);}},aN,aO);}['parse'](aL,aM){const bw=br;if(ve(aL))V=new _e()['parse'](aL);else{let aN=$(aL);if(!ye(aN))throw Error('THREE.FBXLoader:\x20Unknown\x20format.');if(K(aN)<0x1b58)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+K(aN));V=new ge()[bw(0x211)](aN);}return new pe(new a9(this['manager'])['setPath'](this['resourcePath']||aM)['setCrossOrigin'](this['crossOrigin']),this['manager'])['parse'](V);}},pe=class{constructor(aL,aM){this['textureLoader']=aL,this['manager']=aM;}['parse'](){const bx=br;H=this[bx(0x185)]();let aL=this['parseImages'](),aM=this['parseTextures'](aL),aN=this['parseMaterials'](aM),aO=this['parseDeformers'](),aP=new me()['parse'](aO);return this['parseScene'](aO,aP,aN),U;}['parseConnections'](){let aL=new Map();return'Connections'in V&&V['Connections']['connections']['forEach'](function(aM){const by=a1;let aN=aM[0x0],aO=aM[0x1],aP=aM[0x2];aL['has'](aN)||aL[by(0x1af)](aN,{'parents':[],'children':[]});let aQ={'ID':aO,'relationship':aP};aL['get'](aN)['parents']['push'](aQ),aL['has'](aO)||aL['set'](aO,{'parents':[],'children':[]});let aR={'ID':aN,'relationship':aP};aL['get'](aO)['children']['push'](aR);}),aL;}['parseImages'](){const bz=br;let aL={},aM={};if('Video'in V['Objects']){let aN=V['Objects']['Video'];for(let aO in aN){let aP=aN[aO],aQ=parseInt(aO);if(aL[aQ]=aP['RelativeFilename']||aP[bz(0x170)],bz(0x15a)in aP){let aR=aP['Content']instanceof ArrayBuffer&&aP['Content']['byteLength']>0x0,aS=typeof aP['Content']=='string'&&aP['Content']!=='';if(aR||aS){let aT=this[bz(0x1b9)](aN[aO]);aM[aP['RelativeFilename']||aP['Filename']]=aT;}}}}for(let aU in aL){let aV=aL[aU];aM[aV]===void 0x0?aL[aU]=aL[aU]['split']('\x5c')['pop']():aL[aU]=aM[aV];}return aL;}[br(0x1b9)](aL){const bA=br;let aM=aL['Content'],aN=aL[bA(0x1dd)]||aL['Filename'],aO=aN[bA(0x18c)](aN['lastIndexOf']('.')+0x1)[bA(0x1ba)](),aP;switch(aO){case'bmp':aP='image/bmp';break;case'jpg':case'jpeg':aP='image/jpeg';break;case'png':aP='image/png';break;case bA(0x1ef):aP='image/tiff';break;case bA(0x1fa):this['manager'][bA(0x144)]('.tga')===null&&console['warn'](bA(0x16e),aN),aP='image/tga';break;case'webp':aP=bA(0x175);break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+aO+'\x22\x20is\x20not\x20supported.');return;}if(typeof aM==bA(0x1e5))return'data:'+aP+';base64,'+aM;{let aQ=new Uint8Array(aM);return window['URL']['createObjectURL'](new Blob([aQ],{'type':aP}));}}['parseTextures'](aL){const bB=br;let aM=new Map();if('Texture'in V[bB(0x1cd)]){let aN=V['Objects']['Texture'];for(let aO in aN){let aP=this['parseTexture'](aN[aO],aL);aM['set'](parseInt(aO),aP);}}return aM;}['parseTexture'](aL,aM){const bC=br;let aN=this[bC(0x1f9)](aL,aM);aN['ID']=aL['id'],aN[bC(0x1cf)]=aL['attrName'];let aO=aL['WrapModeU'],aP=aL['WrapModeV'],aQ=aO===void 0x0?0x0:aO['value'],aR=aP===void 0x0?0x0:aP['value'];if(aN['wrapS']=aQ===0x0?a5:aq,aN['wrapT']=aR===0x0?a5:aq,'Scaling'in aL){let aS=aL[bC(0x16a)]['value'];aN[bC(0x189)]['x']=aS[0x0],aN['repeat']['y']=aS[0x1];}if('Translation'in aL){let aT=aL['Translation']['value'];aN[bC(0x1d1)]['x']=aT[0x0],aN['offset']['y']=aT[0x1];}return aN;}['loadTexture'](aL,aM){const bD=br;let aN=aL['FileName'][bD(0x1c6)]('.')['pop']()['toLowerCase'](),aO=this['manager']['getHandler']('.'+aN);aO===null&&(aO=this['textureLoader']);let aP=aO['path'];aP||aO['setPath'](this['textureLoader'][bD(0x198)]);let aQ=H['get'](aL['id'])['children'],aR;if(aQ!==void 0x0&&aQ['length']>0x0&&aM[aQ[0x0]['ID']]!==void 0x0&&(aR=aM[aQ[0x0]['ID']],(aR['indexOf']('blob:')===0x0||aR['indexOf']('data:')===0x0)&&aO['setPath'](void 0x0)),aR===void 0x0)return console['warn']('FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.'),new af();let aS=aO['load'](aR);return aO[bD(0x20d)](aP),aS;}['parseMaterials'](aL){const bE=br;let aM=new Map();if('Material'in V[bE(0x1cd)]){let aN=V['Objects'][bE(0x20a)];for(let aO in aN){let aP=this['parseMaterial'](aN[aO],aL);aP!==null&&aM[bE(0x1af)](parseInt(aO),aP);}}return aM;}['parseMaterial'](aL,aM){const bF=br;let aN=aL['id'],aO=aL['attrName'],aP=aL[bF(0x15f)];if(typeof aP=='object'&&(aP=aP[bF(0x149)]),!H[bF(0x19e)](aN))return null;let aQ=this[bF(0x151)](aL,aM,aN),aR;switch(aP['toLowerCase']()){case bF(0x204):aR=new aA();break;case bF(0x1a9):aR=new au();break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',aP),aR=new aA();break;}return aR['setValues'](aQ),aR['name']=aO,aR;}['parseParameters'](aL,aM,aN){const bG=br;let aO={};aL['BumpFactor']&&(aO['bumpScale']=aL['BumpFactor']['value']),aL['Diffuse']?aO['color']=as['colorSpaceToWorking'](new aw()[bG(0x161)](aL['Diffuse']['value']),aF):aL['DiffuseColor']&&(aL['DiffuseColor']['type']==='Color'||aL['DiffuseColor']['type']==='ColorRGB')&&(aO['color']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['DiffuseColor']['value']),aF)),aL['DisplacementFactor']&&(aO['displacementScale']=aL['DisplacementFactor']['value']),aL['Emissive']?aO['emissive']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['Emissive'][bG(0x149)]),aF):aL['EmissiveColor']&&(aL['EmissiveColor']['type']==='Color'||aL[bG(0x216)]['type']==='ColorRGB')&&(aO[bG(0x1a3)]=as['colorSpaceToWorking'](new aw()[bG(0x161)](aL['EmissiveColor']['value']),aF)),aL['EmissiveFactor']&&(aO['emissiveIntensity']=parseFloat(aL['EmissiveFactor']['value'])),aO['opacity']=0x1-(aL['TransparencyFactor']?parseFloat(aL['TransparencyFactor']['value']):0x0),(aO[bG(0x1c0)]===0x1||aO['opacity']===0x0)&&(aO['opacity']=aL[bG(0x1a4)]?parseFloat(aL['Opacity']['value']):null,aO[bG(0x1c0)]===null&&(aO['opacity']=0x1)),aO['opacity']<0x1&&(aO[bG(0x1d6)]=!0x0),aL['ReflectionFactor']&&(aO['reflectivity']=aL['ReflectionFactor']['value']),aL['Shininess']&&(aO[bG(0x1b0)]=aL['Shininess']['value']),aL['Specular']?aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL[bG(0x152)][bG(0x149)]),aF):aL['SpecularColor']&&aL['SpecularColor']['type']==='Color'&&(aO[bG(0x1ab)]=as[bG(0x1c9)](new aw()['fromArray'](aL['SpecularColor']['value']),aF));let aP=this;return H['get'](aN)['children'][bG(0x188)](function(aQ){const bH=bG;let aR=aQ['relationship'];switch(aR){case'Bump':aO['bumpMap']=aP['getTexture'](aM,aQ['ID']);break;case'Maya|TEX_ao_map':aO['aoMap']=aP['getTexture'](aM,aQ['ID']);break;case'DiffuseColor':case bH(0x1d8):aO['map']=aP['getTexture'](aM,aQ['ID']),aO['map']!==void 0x0&&(aO['map']['colorSpace']=aF);break;case'DisplacementColor':aO['displacementMap']=aP['getTexture'](aM,aQ['ID']);break;case'EmissiveColor':aO['emissiveMap']=aP[bH(0x214)](aM,aQ['ID']),aO['emissiveMap']!==void 0x0&&(aO[bH(0x155)]['colorSpace']=aF);break;case bH(0x177):case'Maya|TEX_normal_map':aO['normalMap']=aP['getTexture'](aM,aQ['ID']);break;case'ReflectionColor':aO[bH(0x1c4)]=aP['getTexture'](aM,aQ['ID']),aO['envMap']!==void 0x0&&(aO[bH(0x1c4)][bH(0x156)]=0x12f,aO[bH(0x1c4)]['colorSpace']=aF);break;case'SpecularColor':aO['specularMap']=aP['getTexture'](aM,aQ['ID']),aO['specularMap']!==void 0x0&&(aO['specularMap']['colorSpace']=aF);break;case'TransparentColor':case bH(0x183):aO['alphaMap']=aP['getTexture'](aM,aQ['ID']),aO[bH(0x1d6)]=!0x0;break;default:console['warn'](bH(0x1f5),aR);break;}}),aO;}['getTexture'](aL,aM){const bI=br;return'LayeredTexture'in V['Objects']&&aM in V['Objects']['LayeredTexture']&&(console[bI(0x150)](bI(0x15b)),aM=H['get'](aM)['children'][0x0]['ID']),aL[bI(0x172)](aM);}['parseDeformers'](){let aL={},aM={};if('Deformer'in V['Objects']){let aN=V['Objects']['Deformer'];for(let aO in aN){let aP=aN[aO],aQ=H['get'](parseInt(aO));if(aP['attrType']==='Skin'){let aR=this['parseSkeleton'](aQ,aN);aR['ID']=aO,aQ['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aR['geometryID']=aQ['parents'][0x0]['ID'],aL[aO]=aR;}else{if(aP['attrType']==='BlendShape'){let aS={'id':aO};aS['rawTargets']=this['parseMorphTargets'](aQ,aN),aS['id']=aO,aQ['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aM[aO]=aS;}}}}return{'skeletons':aL,'morphTargets':aM};}['parseSkeleton'](aL,aM){let aN=[];return aL['children']['forEach'](function(aO){const bJ=a1;let aP=aM[aO['ID']];if(aP[bJ(0x145)]!=='Cluster')return;let aQ={'ID':aO['ID'],'indices':[],'weights':[],'transformLink':new a2()['fromArray'](aP['TransformLink']['a'])};'Indexes'in aP&&(aQ['indices']=aP['Indexes']['a'],aQ['weights']=aP['Weights']['a']),aN['push'](aQ);}),{'rawBones':aN,'bones':[]};}['parseMorphTargets'](aL,aM){const bK=br;let aN=[];for(let aO=0x0;aO<aL['children'][bK(0x20b)];aO++){let aP=aL['children'][aO],aQ=aM[aP['ID']],aR={'name':aQ['attrName'],'initialWeight':aQ['DeformPercent'],'id':aQ['id'],'fullWeights':aQ[bK(0x212)]['a']};if(aQ['attrType']!=='BlendShapeChannel')return;aR['geoID']=H[bK(0x172)](parseInt(aP['ID']))['children'][bK(0x139)](function(aS){return aS['relationship']===void 0x0;})[0x0]['ID'],aN['push'](aR);}return aN;}['parseScene'](aL,aM,aN){const bL=br;U=new a7();let aO=this['parseModels'](aL['skeletons'],aM,aN),aP=V['Objects']['Model'],aQ=this;aO['forEach'](function(aV){let aW=aP[aV['ID']];aQ['setLookAtProperties'](aV,aW),H['get'](aV['ID'])['parents']['forEach'](function(aX){let aY=aO['get'](aX['ID']);aY!==void 0x0&&aY['add'](aV);}),aV['parent']===null&&U['add'](aV);}),this['addGlobalSceneSettings'](),U['traverse'](function(aV){if(aV['userData']['transformData']){aV['parent']&&(aV['userData']['transformData']['parentMatrix']=aV['parent']['matrix'],aV['userData']['transformData']['parentMatrixWorld']=aV['parent']['matrixWorld']);let aW=X(aV['userData']['transformData']);aV['applyMatrix4'](aW),aV['updateWorldMatrix']();}});let aR=this[bL(0x207)](),aS=new Set();for(let aV in aL[bL(0x157)])aL[bL(0x157)][aV][bL(0x1f8)]['forEach'](function(aW,aX){const bM=bL;let aY=aL['skeletons'][aV][bM(0x167)][aX];aY&&aS['add'](aY['ID']);});let aT=new a2();U['traverse'](function(aW){const bN=bL;if(aW['isBone']&&aW['ID']!==void 0x0&&!aS['has'](aW['ID'])){let aX=aR[aW['ID']];aX!==void 0x0&&(aW['parent']?(aT['copy'](aW['parent'][bN(0x19b)])[bN(0x205)](),aT['multiply'](aX)):aT['copy'](aX),aT[bN(0x184)](aW[bN(0x154)],aW[bN(0x17b)],aW['scale']),aW['updateMatrix'](),aW['matrixWorld']['copy'](aX));}}),this['bindSkeleton'](aL['skeletons'],aM,aO);let aU=new he()['parse']();U[bL(0x19d)][bL(0x20b)]===0x1&&U['children'][0x0]['isGroup']&&(U['children'][0x0]['animations']=aU,U=U['children'][0x0]),U['animations']=aU,'GlobalSettings'in V&&bL(0x13b)in V['GlobalSettings']&&V[bL(0x180)]['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.'),U['rotation'][bL(0x1af)](-Math['PI']/0x2,0x0,0x0));}[br(0x1b3)](aL,aM,aN){const bO=br;let aO=new Map(),aP=V[bO(0x1cd)]['Model'];for(let aQ in aP){let aR=parseInt(aQ),aS=aP[aQ],aT=H['get'](aR),aU=this['buildSkeleton'](aT,aL,aR,aS['attrName']);if(!aU){switch(aS['attrType']){case'Camera':aU=this['createCamera'](aT);break;case'Light':aU=this['createLight'](aT);break;case'Mesh':aU=this['createMesh'](aT,aM,aN);break;case'NurbsCurve':aU=this['createCurve'](aT,aM);break;case'LimbNode':case'Root':aU=new av();break;default:aU=new a7();break;}aU[bO(0x1cf)]=aS['attrName']?aD['sanitizeNodeName'](aS['attrName']):'',aU['userData']['originalName']=aS['attrName'],aU['ID']=aR;}this['getTransformData'](aU,aS),aO['set'](aR,aU);}return aO;}['buildSkeleton'](aL,aM,aN,aO){const bP=br;let aP=null;return aL['parents'][bP(0x188)](function(aQ){for(let aR in aM){let aS=aM[aR];aS['rawBones']['forEach'](function(aT,aU){const bQ=a1;if(aT['ID']===aQ['ID']){let aV=aP;aP=new av(),aP['matrixWorld']['copy'](aT['transformLink']),aP[bQ(0x1cf)]=aO?aD['sanitizeNodeName'](aO):'',aP['userData']['originalName']=aO,aP['ID']=aN,aS['bones'][aU]=aP,aV!==null&&aP['add'](aV);}});}}),aP;}['createCamera'](aL){const bR=br;let aM,aN;if(aL['children']['forEach'](function(aO){let aP=V['Objects']['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO=0x0;aN['CameraProjectionType']!==void 0x0&&aN['CameraProjectionType']['value']===0x1&&(aO=0x1);let aP=0x1;aN['NearPlane']!==void 0x0&&(aP=aN['NearPlane'][bR(0x149)]/0x3e8);let aQ=0x3e8;aN['FarPlane']!==void 0x0&&(aQ=aN['FarPlane']['value']/0x3e8);let aR=window['innerWidth'],aS=window['innerHeight'];aN['AspectWidth']!==void 0x0&&aN['AspectHeight']!==void 0x0&&(aR=aN['AspectWidth'][bR(0x149)],aS=aN['AspectHeight']['value']);let aT=aR/aS,aU=0x2d;aN['FieldOfView']!==void 0x0&&(aU=aN['FieldOfView']['value']);let aV=aN[bR(0x169)]?aN['FocalLength']['value']:null;switch(aO){case 0x0:aM=new ax(aU,aT,aP,aQ),aV!==null&&aM['setFocalLength'](aV);break;case 0x1:console['warn']('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),aM=new ao();break;default:console[bR(0x150)]('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+aO+'.'),aM=new ao();break;}}return aM;}['createLight'](aL){const bS=br;let aM,aN;if(aL['children']['forEach'](function(aO){let aP=V['Objects']['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO;aO=aN['LightType']===void 0x0?0x0:aN[bS(0x202)]['value'];let aP=0xffffff;aN['Color']!==void 0x0&&(aP=as['colorSpaceToWorking'](new aw()[bS(0x161)](aN['Color']['value']),aF));let aQ=aN['Intensity']===void 0x0?0x1:aN['Intensity']['value']/0x64;aN['CastLightOnObject']!==void 0x0&&aN[bS(0x1b5)]['value']===0x0&&(aQ=0x0);let aR=0x0;switch(aN[bS(0x1c1)]!==void 0x0&&(aR=aN['EnableFarAttenuation']!==void 0x0&&aN['EnableFarAttenuation']['value']===0x0?0x0:aN['FarAttenuationEnd']['value']),aO){case 0x0:aM=new ar(aP,aQ,aR,0x1);break;case 0x1:aM=new aG(aP,aQ);break;case 0x2:let aS=Math['PI']/0x3,aT=0x0;aN[bS(0x140)]===void 0x0?aN['InnerAngle']!==void 0x0&&(aS=al['degToRad'](aN['InnerAngle']['value'])):(aS=al[bS(0x193)](aN['OuterAngle']['value']),aN[bS(0x218)]!==void 0x0&&(aT=0x1-aN['InnerAngle']['value']/aN['OuterAngle']['value'],aT=Math['max'](0x0,aT))),aM=new ac(aP,aQ,aR,aS,aT,0x1);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+aN['LightType'][bS(0x149)]+',\x20defaulting\x20to\x20a\x20PointLight.'),aM=new ar(aP,aQ);break;}aN['CastShadows']!==void 0x0&&aN['CastShadows']['value']===0x1&&(aM[bS(0x1e9)]=!0x0);}return aM;}['createMesh'](aL,aM,aN){const bT=br;let aO,aP=null,aQ=null,aR=[];if(aL['children'][bT(0x188)](function(aS){aM['has'](aS['ID'])&&(aP=aM['get'](aS['ID'])),aN['has'](aS['ID'])&&aR['push'](aN['get'](aS['ID']));}),aR['length']>0x1?aQ=aR:aR['length']>0x0?aQ=aR[0x0]:(aQ=new aA({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),aR['push'](aQ)),bT(0x1e1)in aP['attributes']&&aR['forEach'](function(aS){aS['vertexColors']=!0x0;}),aP['groups']['length']>0x0){let aS=!0x1;for(let aT=0x0,aU=aP['groups']['length'];aT<aU;aT++){let aV=aP['groups'][aT];(aV['materialIndex']<0x0||aV['materialIndex']>=aR['length'])&&(aV['materialIndex']=aR['length'],aS=!0x0);}if(aS){let aW=new aA();aR[bT(0x21c)](aW);}}return aP['FBX_Deformer']?(aO=new ad(aP,aQ),aO['normalizeSkinWeights']()):aO=new ap(aP,aQ),aO;}['createCurve'](aL,aM){const bU=br;return new ah(aL[bU(0x19d)][bU(0x1bf)](function(aN,aO){const bV=bU;return aM[bV(0x19e)](aO['ID'])&&(aN=aM[bV(0x172)](aO['ID'])),aN;},null),new aI({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0x3300ff,'linewidth':0x1}));}[br(0x1fc)](aL,aM){const bW=br;let aN={};'InheritType'in aM&&(aN['inheritType']=parseInt(aM[bW(0x192)]['value'])),'RotationOrder'in aM?aN[bW(0x13a)]=Z(aM['RotationOrder'][bW(0x149)]):aN['eulerOrder']=Z(0x0),'Lcl_Translation'in aM&&(aN[bW(0x182)]=aM['Lcl_Translation']['value']),'PreRotation'in aM&&(aN['preRotation']=aM['PreRotation']['value']),'Lcl_Rotation'in aM&&(aN[bW(0x171)]=aM['Lcl_Rotation']['value']),'PostRotation'in aM&&(aN['postRotation']=aM['PostRotation']['value']),'Lcl_Scaling'in aM&&(aN['scale']=aM[bW(0x146)][bW(0x149)]),'ScalingOffset'in aM&&(aN['scalingOffset']=aM['ScalingOffset'][bW(0x149)]),'ScalingPivot'in aM&&(aN['scalingPivot']=aM['ScalingPivot']['value']),'RotationOffset'in aM&&(aN['rotationOffset']=aM['RotationOffset']['value']),'RotationPivot'in aM&&(aN['rotationPivot']=aM[bW(0x1dc)]['value']),aL['userData'][bW(0x197)]=aN;}['setLookAtProperties'](aL,aM){'LookAtProperty'in aM&&H['get'](aL['ID'])['children']['forEach'](function(aN){const bX=a1;if(aN['relationship']===bX(0x1a2)){let aO=V['Objects']['Model'][aN['ID']];if('Lcl_Translation'in aO){let aP=aO['Lcl_Translation'][bX(0x149)];aL['target']===void 0x0?aL['lookAt'](new a3()['fromArray'](aP)):(aL['target'][bX(0x154)][bX(0x161)](aP),U['add'](aL['target']));}}});}['bindSkeleton'](aL,aM,aN){const bY=br;for(let aO in aL){let aP=aL[aO],aQ=[];for(let aR=0x0,aS=aP['bones']['length'];aR<aS;aR++){let aT=new a2();aP['bones'][aR]&&aP[bY(0x1f8)][aR]&&aT['copy'](aP[bY(0x1f8)][aR]['transformLink'])['invert'](),aQ['push'](aT);}H['get'](parseInt(aP['ID']))['parents']['forEach'](function(aU){const bZ=bY;if(aM[bZ(0x19e)](aU['ID'])){let aV=aU['ID'];H['get'](aV)['parents'][bZ(0x188)](function(aW){if(aN['has'](aW['ID'])){let aX=aN['get'](aW['ID']);aX['updateMatrixWorld'](!0x0),aX['bind'](new a6(aP['bones'],aQ),aX['matrixWorld']);}});}});}}['parsePoseNodes'](){const c0=br;let aL={};if(c0(0x219)in V['Objects']){let aM=V['Objects'][c0(0x219)];for(let aN in aM)if(aM[aN]['attrType']==='BindPose'&&aM[aN]['NbPoseNodes']>0x0){let aO=aM[aN]['PoseNode'];Array['isArray'](aO)?aO['forEach'](function(aP){const c1=c0;aL[aP['Node']]=new a2()['fromArray'](aP[c1(0x163)]['a']);}):aL[aO[c0(0x1c8)]]=new a2()['fromArray'](aO['Matrix']['a']);}}return aL;}['addGlobalSceneSettings'](){const c2=br;if('GlobalSettings'in V){if('AmbientColor'in V['GlobalSettings']){let aL=V[c2(0x180)]['AmbientColor']['value'],aM=aL[0x0],aN=aL[0x1],aO=aL[0x2];if(aM!==0x0||aN!==0x0||aO!==0x0){let aP=new aw()['setRGB'](aM,aN,aO,aF);U['add'](new at(aP,0x1));}}c2(0x18f)in V['GlobalSettings']&&(U['userData']['unitScaleFactor']=V['GlobalSettings']['UnitScaleFactor']['value']);}}},me=class{constructor(){this['negativeMaterialIndices']=!0x1;}['parse'](aL){const c3=br;let aM=new Map();if('Geometry'in V['Objects']){let aN=V['Objects'][c3(0x17f)];for(let aO in aN){let aP=H['get'](parseInt(aO)),aQ=this['parseGeometry'](aP,aN[aO],aL);aM['set'](parseInt(aO),aQ);}}return this['negativeMaterialIndices']===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),aM;}['parseGeometry'](aL,aM,aN){const c4=br;switch(aM['attrType']){case'Mesh':return this[c4(0x15d)](aL,aM,aN);case'NurbsCurve':return this['parseNurbsGeometry'](aM);}}['parseMeshGeometry'](aL,aM,aN){const c5=br;let aO=aN['skeletons'],aP=[],aQ=aL[c5(0x1e3)]['map'](function(aV){return V['Objects']['Model'][aV['ID']];});if(aQ['length']===0x0)return;let aR=aL['children']['reduce'](function(aV,aW){return aO[aW['ID']]!==void 0x0&&(aV=aO[aW['ID']]),aV;},null);aL['children'][c5(0x188)](function(aV){aN['morphTargets'][aV['ID']]!==void 0x0&&aP['push'](aN['morphTargets'][aV['ID']]);});let aS=aQ[0x0],aT={};'RotationOrder'in aS&&(aT['eulerOrder']=Z(aS[c5(0x1bd)]['value'])),'InheritType'in aS&&(aT['inheritType']=parseInt(aS['InheritType']['value'])),'GeometricTranslation'in aS&&(aT['translation']=aS['GeometricTranslation']['value']),'GeometricRotation'in aS&&(aT['rotation']=aS[c5(0x1ca)]['value']),'GeometricScaling'in aS&&(aT[c5(0x1db)]=aS['GeometricScaling']['value']);let aU=X(aT);return this['genGeometry'](aM,aR,aP,aU);}[br(0x203)](aL,aM,aN,aO){const c6=br;let aP=new aB();aL['attrName']&&(aP['name']=aL['attrName']);let aQ=this[c6(0x210)](aL,aM),aR=this['genBuffers'](aQ),aS=new aE(aR['vertex'],0x3);if(aS['applyMatrix4'](aO),aP['setAttribute']('position',aS),aR['colors']['length']>0x0&&aP['setAttribute']('color',new aE(aR['colors'],0x3)),aM&&(aP['setAttribute']('skinIndex',new ai(aR['weightsIndices'],0x4)),aP['setAttribute']('skinWeight',new aE(aR['vertexWeights'],0x4)),aP['FBX_Deformer']=aM),aR['normal']['length']>0x0){let aT=new ag()['getNormalMatrix'](aO),aU=new aE(aR['normal'],0x3);aU['applyNormalMatrix'](aT),aP['setAttribute']('normal',aU);}if(aR['uvs']['forEach'](function(aV,aW){const c7=c6;let aX=aW===0x0?'uv':'uv'+aW;aP[c7(0x1b2)](aX,new aE(aR['uvs'][aW],0x2));}),aQ[c6(0x1a5)]&&aQ['material']['mappingType']!=='AllSame'){let aV=aR['materialIndex'][0x0],aW=0x0;if(aR['materialIndex']['forEach'](function(aX,aY){aX!==aV&&(aP['addGroup'](aW,aY-aW,aV),aV=aX,aW=aY);}),aP[c6(0x200)]['length']>0x0){let aX=aP['groups'][aP['groups'][c6(0x20b)]-0x1],aY=aX[c6(0x1fe)]+aX['count'];aY!==aR['materialIndex']['length']&&aP['addGroup'](aY,aR[c6(0x166)]['length']-aY,aV);}aP['groups']['length']===0x0&&aP['addGroup'](0x0,aR['materialIndex'][c6(0x20b)],aR['materialIndex'][0x0]);}return this[c6(0x16d)](aP,aL,aN,aO),aP;}['parseGeoNode'](aL,aM){const c8=br;let aN={};if(aN['vertexPositions']=aL[c8(0x1f0)]===void 0x0?[]:aL[c8(0x1f0)]['a'],aN[c8(0x191)]=aL['PolygonVertexIndex']===void 0x0?[]:aL[c8(0x1ae)]['a'],aL['LayerElementColor']&&aL['LayerElementColor'][0x0]['Colors']&&(aN[c8(0x1e1)]=this['parseVertexColors'](aL['LayerElementColor'][0x0])),aL['LayerElementMaterial']&&(aN['material']=this['parseMaterialIndices'](aL['LayerElementMaterial'][0x0])),aL['LayerElementNormal']&&(aN['normal']=this['parseNormals'](aL['LayerElementNormal'][0x0])),aL['LayerElementUV']){aN['uv']=[];let aO=0x0;for(;aL[c8(0x195)][aO];)aL['LayerElementUV'][aO]['UV']&&aN['uv']['push'](this[c8(0x215)](aL['LayerElementUV'][aO])),aO++;}return aN['weightTable']={},aM!==null&&(aN['skeleton']=aM,aM['rawBones']['forEach'](function(aP,aQ){aP['indices']['forEach'](function(aR,aS){const c9=a1;aN['weightTable'][aR]===void 0x0&&(aN['weightTable'][aR]=[]),aN[c9(0x176)][aR]['push']({'id':aQ,'weight':aP['weights'][aS]});});})),aN;}['genBuffers'](aL){const ca=br;let aM={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]},aN=0x0,aO=0x0,aP=!0x1,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[],aW=this;return aL['vertexIndices'][ca(0x188)](function(aX,aY){const cc=ca;let aZ,b0=!0x1;aX<0x0&&(aX^=-0x1,b0=!0x0);let b1=[],b2=[];if(aQ['push'](aX*0x3,aX*0x3+0x1,aX*0x3+0x2),aL['color']){let b3=q(aY,aN,aX,aL['color']);aS['push'](b3[0x0],b3[0x1],b3[0x2]);}if(aL['skeleton']){if(aL['weightTable'][aX]!==void 0x0&&aL['weightTable'][aX]['forEach'](function(b4){const cb=a1;b2['push'](b4['weight']),b1[cb(0x21c)](b4['id']);}),b2['length']>0x4){aP||(console['warn']('THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.'),aP=!0x0);let b4=[0x0,0x0,0x0,0x0],b5=[0x0,0x0,0x0,0x0];b2['forEach'](function(b6,b7){let b8=b6,b9=b1[b7];b5['forEach'](function(ba,bb,bc){if(b8>ba){bc[bb]=b8,b8=ba;let bd=b4[bb];b4[bb]=b9,b9=bd;}});}),b1=b4,b2=b5;}for(;b2['length']<0x4;)b2['push'](0x0),b1[cc(0x21c)](0x0);for(let b6=0x0;b6<0x4;++b6)aU['push'](b2[b6]),aV[cc(0x21c)](b1[b6]);}if(aL[cc(0x1a1)]){let b7=q(aY,aN,aX,aL['normal']);aR[cc(0x21c)](b7[0x0],b7[0x1],b7[0x2]);}aL['material']&&aL['material']['mappingType']!==cc(0x132)&&(aZ=q(aY,aN,aX,aL['material'])[0x0],aZ<0x0&&(aW['negativeMaterialIndices']=!0x0,aZ=0x0)),aL['uv']&&aL['uv']['forEach'](function(b8,b9){const cd=cc;let ba=q(aY,aN,aX,b8);aT[b9]===void 0x0&&(aT[b9]=[]),aT[b9][cd(0x21c)](ba[0x0]),aT[b9]['push'](ba[0x1]);}),aO++,b0&&(aW['genFace'](aM,aL,aQ,aZ,aR,aS,aT,aU,aV,aO),aN++,aO=0x0,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[]);}),aM;}['getNormalNewell'](aL){let aM=new a3(0x0,0x0,0x0);for(let aN=0x0;aN<aL['length'];aN++){let aO=aL[aN],aP=aL[(aN+0x1)%aL['length']];aM['x']+=(aO['y']-aP['y'])*(aO['z']+aP['z']),aM['y']+=(aO['z']-aP['z'])*(aO['x']+aP['x']),aM['z']+=(aO['x']-aP['x'])*(aO['y']+aP['y']);}return aM['normalize'](),aM;}['getNormalTangentAndBitangent'](aL){const cf=br;let aM=this[cf(0x19a)](aL),aN=(Math['abs'](aM['z'])>0.5?new a3(0x0,0x1,0x0):new a3(0x0,0x0,0x1))['cross'](aM)['normalize']();return{'normal':aM,'tangent':aN,'bitangent':aM['clone']()['cross'](aN)[cf(0x1bb)]()};}[br(0x137)](aL,aM,aN){return new aJ(aL['dot'](aM),aL['dot'](aN));}[br(0x21b)](aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU){const cg=br;let aV;if(aU>0x3){let aW=[],aX=aM['baseVertexPositions']||aM['vertexPositions'];for(let b1=0x0;b1<aN['length'];b1+=0x3)aW['push'](new a3(aX[aN[b1]],aX[aN[b1+0x1]],aX[aN[b1+0x2]]));let {tangent:aY,bitangent:aZ}=this['getNormalTangentAndBitangent'](aW),b0=[];for(let b2 of aW)b0['push'](this['flattenVertex'](b2,aY,aZ));aV=a8['triangulateShape'](b0,[]);}else aV=[[0x0,0x1,0x2]];for(let [b3,b4,b5]of aV)aL[cg(0x186)][cg(0x21c)](aM['vertexPositions'][aN[b3*0x3]]),aL[cg(0x186)]['push'](aM['vertexPositions'][aN[b3*0x3+0x1]]),aL[cg(0x186)]['push'](aM['vertexPositions'][aN[b3*0x3+0x2]]),aL['vertex'][cg(0x21c)](aM[cg(0x133)][aN[b4*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b4*0x3+0x1]]),aL['vertex'][cg(0x21c)](aM[cg(0x133)][aN[b4*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x2]]),aM['skeleton']&&(aL['vertexWeights'][cg(0x21c)](aS[b3*0x4]),aL['vertexWeights']['push'](aS[b3*0x4+0x1]),aL['vertexWeights']['push'](aS[b3*0x4+0x2]),aL['vertexWeights'][cg(0x21c)](aS[b3*0x4+0x3]),aL['vertexWeights']['push'](aS[b4*0x4]),aL['vertexWeights']['push'](aS[b4*0x4+0x1]),aL[cg(0x1ec)][cg(0x21c)](aS[b4*0x4+0x2]),aL['vertexWeights']['push'](aS[b4*0x4+0x3]),aL['vertexWeights']['push'](aS[b5*0x4]),aL['vertexWeights']['push'](aS[b5*0x4+0x1]),aL['vertexWeights']['push'](aS[b5*0x4+0x2]),aL['vertexWeights']['push'](aS[b5*0x4+0x3]),aL['weightsIndices']['push'](aT[b3*0x4]),aL[cg(0x1d0)]['push'](aT[b3*0x4+0x1]),aL['weightsIndices']['push'](aT[b3*0x4+0x2]),aL['weightsIndices']['push'](aT[b3*0x4+0x3]),aL[cg(0x1d0)]['push'](aT[b4*0x4]),aL[cg(0x1d0)]['push'](aT[b4*0x4+0x1]),aL['weightsIndices'][cg(0x21c)](aT[b4*0x4+0x2]),aL[cg(0x1d0)]['push'](aT[b4*0x4+0x3]),aL[cg(0x1d0)]['push'](aT[b5*0x4]),aL['weightsIndices'][cg(0x21c)](aT[b5*0x4+0x1]),aL[cg(0x1d0)]['push'](aT[b5*0x4+0x2]),aL['weightsIndices']['push'](aT[b5*0x4+0x3])),aM['color']&&(aL['colors']['push'](aQ[b3*0x3]),aL['colors']['push'](aQ[b3*0x3+0x1]),aL['colors']['push'](aQ[b3*0x3+0x2]),aL['colors'][cg(0x21c)](aQ[b4*0x3]),aL[cg(0x138)]['push'](aQ[b4*0x3+0x1]),aL[cg(0x138)]['push'](aQ[b4*0x3+0x2]),aL['colors']['push'](aQ[b5*0x3]),aL['colors']['push'](aQ[b5*0x3+0x1]),aL['colors']['push'](aQ[b5*0x3+0x2])),aM['material']&&aM['material']['mappingType']!=='AllSame'&&(aL[cg(0x166)]['push'](aO),aL[cg(0x166)]['push'](aO),aL['materialIndex'][cg(0x21c)](aO)),aM['normal']&&(aL['normal']['push'](aP[b3*0x3]),aL['normal']['push'](aP[b3*0x3+0x1]),aL[cg(0x1a1)]['push'](aP[b3*0x3+0x2]),aL['normal']['push'](aP[b4*0x3]),aL['normal']['push'](aP[b4*0x3+0x1]),aL[cg(0x1a1)]['push'](aP[b4*0x3+0x2]),aL['normal']['push'](aP[b5*0x3]),aL['normal']['push'](aP[b5*0x3+0x1]),aL['normal']['push'](aP[b5*0x3+0x2])),aM['uv']&&aM['uv']['forEach'](function(b6,b7){const ch=cg;aL['uvs'][b7]===void 0x0&&(aL['uvs'][b7]=[]),aL['uvs'][b7]['push'](aR[b7][b3*0x2]),aL['uvs'][b7]['push'](aR[b7][b3*0x2+0x1]),aL['uvs'][b7][ch(0x21c)](aR[b7][b4*0x2]),aL['uvs'][b7]['push'](aR[b7][b4*0x2+0x1]),aL[ch(0x19c)][b7]['push'](aR[b7][b5*0x2]),aL['uvs'][b7]['push'](aR[b7][b5*0x2+0x1]);});}['addMorphTargets'](aL,aM,aN,aO){const ci=br;if(aN['length']===0x0)return;aL['morphTargetsRelative']=!0x0,aL['morphAttributes'][ci(0x154)]=[];let aP=aO['clone']()['setPosition'](0x0,0x0,0x0),aQ=this;aN['forEach'](function(aR){aR['rawTargets']['forEach'](function(aS){const cj=a1;let aT=V['Objects']['Geometry'][aS[cj(0x135)]];aT!==void 0x0&&aQ['genMorphGeometry'](aL,aM,aT,aP,aS['name']);});});}['genMorphGeometry'](aL,aM,aN,aO,aP){const ck=br;let aQ=aM['Vertices']===void 0x0?[]:aM['Vertices']['a'],aR=aM['PolygonVertexIndex']===void 0x0?[]:aM['PolygonVertexIndex']['a'],aS=aN['Vertices']===void 0x0?[]:aN[ck(0x1f0)]['a'],aT=aN['Indexes']===void 0x0?[]:aN[ck(0x16b)]['a'],aU=aL['attributes'][ck(0x154)][ck(0x196)]*0x3,aV=new Float32Array(aU);for(let aY=0x0;aY<aT['length'];aY++){let aZ=aT[aY]*0x3;aV[aZ]=aS[aY*0x3],aV[aZ+0x1]=aS[aY*0x3+0x1],aV[aZ+0x2]=aS[aY*0x3+0x2];}let aW={'vertexIndices':aR,'vertexPositions':aV,'baseVertexPositions':aQ},aX=new aE(this['genBuffers'](aW)['vertex'],0x3);aX['name']=aP||aN[ck(0x153)],aX['applyMatrix4'](aO),aL['morphAttributes']['position']['push'](aX);}[br(0x136)](aL){const cl=br;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL[cl(0x165)]['a'],aP=[];return aN==='IndexToDirect'&&('NormalIndex'in aL?aP=aL[cl(0x194)]['a']:'NormalsIndex'in aL&&(aP=aL['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseUVs'](aL){let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL['UV']['a'],aP=[];return aN==='IndexToDirect'&&(aP=aL['UVIndex']['a']),{'dataSize':0x2,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseVertexColors'](aL){const cm=br;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL[cm(0x1eb)]['a'],aP=[];aN==='IndexToDirect'&&(aP=aL['ColorIndex']['a']);for(let aQ=0x0,aR=new aw();aQ<aO['length'];aQ+=0x4)aR['fromArray'](aO,aQ),as['colorSpaceToWorking'](aR,aF),aR['toArray'](aO,aQ);return{'dataSize':0x4,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseMaterialIndices'](aL){const cn=br;let aM=aL[cn(0x14c)],aN=aL['ReferenceInformationType'];if(aM==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':aN};let aO=aL[cn(0x1c7)]['a'],aP=[];for(let aQ=0x0;aQ<aO['length'];++aQ)aP['push'](aQ);return{'dataSize':0x1,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}[br(0x17a)](aL){const co=br;let aM=parseInt(aL['Order']);if(isNaN(aM))return console['error'](co(0x159),aL[co(0x148)],aL['id']),new aB();let aN=aM-0x1,aO=aL[co(0x1ce)]['a'],aP=[],aQ=aL['Points']['a'];for(let aU=0x0,aV=aQ['length'];aU<aV;aU+=0x4)aP[co(0x21c)](new ak()['fromArray'](aQ,aU));let aR,aS;if(aL['Form']===co(0x208))aP['push'](aP[0x0]);else{if(aL['Form']==='Periodic'){aR=aN,aS=aO['length']-0x1-aR;for(let aW=0x0;aW<aN;++aW)aP['push'](aP[aW]);}}let aT=new B(aN,aO,aP,aR,aS)[co(0x134)](aP['length']*0xc);return new aB()['setFromPoints'](aT);}},he=class{['parse'](){const cp=br;let aL=[],aM=this[cp(0x1cb)]();if(aM!==void 0x0)for(let aN in aM){let aO=aM[aN],aP=this['addClip'](aO);aL['push'](aP);}return aL;}['parseClips'](){const cq=br;if(V[cq(0x1cd)]['AnimationCurve']===void 0x0)return;let aL=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aL);let aM=this['parseAnimationLayers'](aL);return this['parseAnimStacks'](aM);}['parseAnimationCurveNodes'](){const cr=br;let aL=V['Objects'][cr(0x1e4)],aM=new Map();for(let aN in aL){let aO=aL[aN];if(aO['attrName']['match'](/S|R|T|DeformPercent/)!==null){let aP={'id':aO['id'],'attr':aO['attrName'],'curves':{}};aM['set'](aP['id'],aP);}}return aM;}['parseAnimationCurves'](aL){const cs=br;let aM=V['Objects'][cs(0x15e)];for(let aN in aM){let aO={'id':aM[aN]['id'],'times':aM[aN][cs(0x217)]['a'][cs(0x1ed)](be),'values':aM[aN]['KeyValueFloat']['a']},aP=H['get'](aO['id']);if(aP!==void 0x0){let aQ=aP['parents'][0x0]['ID'],aR=aP[cs(0x1e3)][0x0]['relationship'];aR['match'](/X/)?aL['get'](aQ)['curves']['x']=aO:aR[cs(0x15c)](/Y/)?aL['get'](aQ)['curves']['y']=aO:aR['match'](/Z/)?aL['get'](aQ)['curves']['z']=aO:aR['match'](/DeformPercent/)&&aL['has'](aQ)&&(aL['get'](aQ)['curves']['morph']=aO);}}}['parseAnimationLayers'](aL){const cw=br;let aM=V['Objects']['AnimationLayer'],aN=new Map();for(let aO in aM){let aP=[],aQ=H['get'](parseInt(aO));aQ!==void 0x0&&(aQ['children']['forEach'](function(aR,aS){const ct=a1;if(aL['has'](aR['ID'])){let aT=aL[ct(0x172)](aR['ID']);if(aT['curves']['x']!==void 0x0||aT['curves']['y']!==void 0x0||aT['curves']['z']!==void 0x0){if(aP[aS]===void 0x0){let aU=H['get'](aR['ID'])['parents']['filter'](function(aW){return aW['relationship']!==void 0x0;});if(aU[ct(0x20b)]===0x0)return;let aV=aU[0x0]['ID'];if(aV!==void 0x0){let aW=V['Objects'][ct(0x1f7)][aV['toString']()];if(aW===void 0x0){console[ct(0x150)]('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',aR);return;}let aX={'modelName':aW['attrName']?aD['sanitizeNodeName'](aW['attrName']):'','ID':aW['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};U['traverse'](function(aY){const cu=ct;aY['ID']===aW['id']&&(aX['transform']=aY['matrix'],aY['userData'][cu(0x197)]&&(aX['eulerOrder']=aY['userData']['transformData']['eulerOrder'],aY[cu(0x1ff)]['transformData']['rotation']&&(aX['initialRotation']=aY[cu(0x1ff)]['transformData'][cu(0x171)])));}),aX['transform']||(aX['transform']=new a2()),'PreRotation'in aW&&(aX[ct(0x20e)]=aW[ct(0x181)]['value']),ct(0x1d5)in aW&&(aX['postRotation']=aW['PostRotation']['value']),aP[aS]=aX;}}aP[aS]&&(aP[aS][aT['attr']]=aT);}else{if(aT[ct(0x1f6)]['morph']!==void 0x0){if(aP[aS]===void 0x0){let aY=H['get'](aR['ID'])['parents']['filter'](function(b4){const cv=ct;return b4[cv(0x1be)]!==void 0x0;});if(aY[ct(0x20b)]===0x0)return;let aZ=aY[0x0]['ID'],b0=H['get'](aZ)[ct(0x1e3)][0x0]['ID'],b1=H[ct(0x172)](b0)['parents'][0x0]['ID'],b2=H['get'](b1)[ct(0x1e3)][0x0]['ID'],b3=V['Objects']['Model'][b2];aP[aS]={'modelName':b3['attrName']?aD['sanitizeNodeName'](b3['attrName']):'','morphName':V['Objects']['Deformer'][aZ]['attrName']};}aP[aS][aT['attr']]=aT;}}}}),aN[cw(0x1af)](parseInt(aO),aP));}return aN;}['parseAnimStacks'](aL){const cx=br;let aM=V['Objects']['AnimationStack'],aN={};for(let aO in aM){let aP=H['get'](parseInt(aO))[cx(0x19d)];aP[cx(0x20b)]>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');let aQ=aL[cx(0x172)](aP[0x0]['ID']);aN[aO]={'name':aM[aO][cx(0x153)],'layer':aQ};}return aN;}['addClip'](aL){let aM=[],aN=this;return aL['layer']['forEach'](function(aO){const cy=a1;aM=aM['concat'](aN[cy(0x17d)](aO));}),new az(aL['name'],-0x1,aM);}['generateTracks'](aL){const cz=br;let aM=[],aN=new a3(),aO=new a3();if(aL['transform']&&aL['transform'][cz(0x184)](aN,new aH(),aO),aN=aN['toArray'](),aO=aO['toArray'](),aL['T']!==void 0x0&&Object[cz(0x1b4)](aL['T'][cz(0x1f6)])[cz(0x20b)]>0x0){let aP=this['generateVectorTrack'](aL[cz(0x1d4)],aL['T'][cz(0x1f6)],aN,cz(0x154));aP!==void 0x0&&aM['push'](aP);}if(aL['R']!==void 0x0&&Object['keys'](aL['R']['curves'])[cz(0x20b)]>0x0){let aQ=this[cz(0x187)](aL['modelName'],aL['R']['curves'],aL['preRotation'],aL[cz(0x142)],aL['eulerOrder'],aL[cz(0x13e)]);aQ!==void 0x0&&aM[cz(0x21c)](aQ);}if(aL['S']!==void 0x0&&Object['keys'](aL['S']['curves'])[cz(0x20b)]>0x0){let aR=this['generateVectorTrack'](aL['modelName'],aL['S']['curves'],aO,cz(0x1db));aR!==void 0x0&&aM['push'](aR);}if(aL['DeformPercent']!==void 0x0){let aS=this['generateMorphTrack'](aL);aS!==void 0x0&&aM['push'](aS);}return aM;}['generateVectorTrack'](aL,aM,aN,aO){let aP=this['getTimesForAllAxes'](aM),aQ=this['getKeyframeTrackValues'](aP,aM,aN);return new aa(aL+'.'+aO,aP,aQ);}[br(0x187)](aL,aM,aN,aO,aP,aQ){const cA=br;let aR,aS;if(aM['x']!==void 0x0||aM['y']!==void 0x0||aM['z']!==void 0x0){let aX=this['getTimesForAllAxes'](aM);if(aX['length']>0x0){let aY=aQ||[0x0,0x0,0x0],aZ=this['synchronizeCurve'](aM['x'],aX,aY[0x0]),b0=this['synchronizeCurve'](aM['y'],aX,aY[0x1]),b1=this['synchronizeCurve'](aM['z'],aX,aY[0x2]),b2=this['interpolateRotations'](aZ,b0,b1,aP);aR=b2[0x0],aS=b2[0x1];}}let aT=Z(0x0);aN!==void 0x0&&(aN=aN['map'](al['degToRad']),aN['push'](aT),aN=new aj()[cA(0x161)](aN),aN=new aH()['setFromEuler'](aN)),aO!==void 0x0&&(aO=aO['map'](al['degToRad']),aO['push'](aT),aO=new aj()['fromArray'](aO),aO=new aH()['setFromEuler'](aO)['invert']());let aU=new aH(),aV=new aj(),aW=[];if(!(!aS||!aR)){for(let b3=0x0;b3<aS['length'];b3+=0x3)aV['set'](aS[b3],aS[b3+0x1],aS[b3+0x2],aP),aU['setFromEuler'](aV),aN!==void 0x0&&aU['premultiply'](aN),aO!==void 0x0&&aU['multiply'](aO),b3>0x2&&new aH()['fromArray'](aW,(b3-0x3)/0x3*0x4)[cA(0x1c3)](aU)<0x0&&aU['set'](-aU['x'],-aU['y'],-aU['z'],-aU['w']),aU['toArray'](aW,b3/0x3*0x4);return new an(aL+'.quaternion',aR,aW);}}['generateMorphTrack'](aL){const cB=br;let aM=aL[cB(0x1ea)]['curves'][cB(0x1f2)],aN=aM['values']['map'](function(aP){return aP/0x64;}),aO=U['getObjectByName'](aL['modelName'])['morphTargetDictionary'][aL['morphName']];return new aC(aL['modelName']+'.morphTargetInfluences['+aO+']',aM['times'],aN);}['getTimesForAllAxes'](aL){const cC=br;let aM=[];if(aL['x']!==void 0x0&&(aM=aM['concat'](aL['x']['times'])),aL['y']!==void 0x0&&(aM=aM['concat'](aL['y']['times'])),aL['z']!==void 0x0&&(aM=aM[cC(0x14f)](aL['z']['times'])),aM=aM['sort'](function(aN,aO){return aN-aO;}),aM['length']>0x1){let aN=0x1,aO=aM[0x0];for(let aP=0x1;aP<aM['length'];aP++){let aQ=aM[aP];aQ!==aO&&(aM[aN]=aQ,aO=aQ,aN++);}aM=aM['slice'](0x0,aN);}return aM;}['getKeyframeTrackValues'](aL,aM,aN){let aO=aN,aP=[],aQ=-0x1,aR=-0x1,aS=-0x1;return aL['forEach'](function(aT){const cD=a1;if(aM['x']&&(aQ=aM['x']['times']['indexOf'](aT)),aM['y']&&(aR=aM['y']['times']['indexOf'](aT)),aM['z']&&(aS=aM['z'][cD(0x1d7)]['indexOf'](aT)),aQ!==-0x1){let aU=aM['x']['values'][aQ];aP[cD(0x21c)](aU),aO[0x0]=aU;}else aP['push'](aO[0x0]);if(aR!==-0x1){let aV=aM['y']['values'][aR];aP[cD(0x21c)](aV),aO[0x1]=aV;}else aP['push'](aO[0x1]);if(aS!==-0x1){let aW=aM['z']['values'][aS];aP[cD(0x21c)](aW),aO[0x2]=aW;}else aP['push'](aO[0x2]);}),aP;}['synchronizeCurve'](aL,aM,aN){const cE=br;if(aL===void 0x0)return{'times':aM,'values':aM['map'](()=>aN)};if(aL['times']['length']===aM['length'])return aL;let aO=[];for(let aP=0x0;aP<aM[cE(0x20b)];aP++)aO['push'](this['sampleCurveValue'](aL,aM[aP],aN));return{'times':aM,'values':aO};}['sampleCurveValue'](aL,aM,aN){let aO=aL['times'],aP=aL['values'];if(aM<=aO[0x0])return aP[0x0];if(aM>=aO[aO['length']-0x1])return aP[aP['length']-0x1];for(let aQ=0x0;aQ<aO['length']-0x1;aQ++)if(aM>=aO[aQ]&&aM<=aO[aQ+0x1]){if(aO[aQ]===aM)return aP[aQ];let aR=(aM-aO[aQ])/(aO[aQ+0x1]-aO[aQ]);return aP[aQ]*(0x1-aR)+aP[aQ+0x1]*aR;}return aN;}['interpolateRotations'](aL,aM,aN,aO){const cF=br;let aP=[],aQ=[];aP[cF(0x21c)](aL[cF(0x1d7)][0x0]),aQ['push'](al['degToRad'](aL['values'][0x0])),aQ[cF(0x21c)](al[cF(0x193)](aM['values'][0x0])),aQ['push'](al['degToRad'](aN['values'][0x0]));for(let aR=0x1;aR<aL[cF(0x162)][cF(0x20b)];aR++){let aS=[aL['values'][aR-0x1],aM['values'][aR-0x1],aN['values'][aR-0x1]];if(isNaN(aS[0x0])||isNaN(aS[0x1])||isNaN(aS[0x2]))continue;let aT=aS['map'](al['degToRad']),aU=[aL['values'][aR],aM[cF(0x162)][aR],aN['values'][aR]];if(isNaN(aU[0x0])||isNaN(aU[0x1])||isNaN(aU[0x2]))continue;let aV=aU['map'](al['degToRad']),aW=[aU[0x0]-aS[0x0],aU[0x1]-aS[0x1],aU[0x2]-aS[0x2]],aX=[Math['abs'](aW[0x0]),Math['abs'](aW[0x1]),Math[cF(0x1fb)](aW[0x2])];if(aX[0x0]>=0xb4||aX[0x1]>=0xb4||aX[0x2]>=0xb4){let aY=Math[cF(0x16c)](...aX)/0xb4,aZ=new aj(...aT,aO),b0=new aj(...aV,aO),b1=new aH()['setFromEuler'](aZ),b2=new aH()['setFromEuler'](b0);b1['dot'](b2)<0x0&&b2['set'](-b2['x'],-b2['y'],-b2['z'],-b2['w']);let b3=aL['times'][aR-0x1],b4=aL[cF(0x1d7)][aR]-b3,b5=new aH(),b6=new aj();for(let b7=0x0;b7<0x1;b7+=0x1/aY)b5['copy'](b1['clone']()['slerp'](b2['clone'](),b7)),aP['push'](b3+b7*b4),b6['setFromQuaternion'](b5,aO),aQ['push'](b6['x']),aQ['push'](b6['y']),aQ['push'](b6['z']);}else aP['push'](aL['times'][aR]),aQ['push'](al['degToRad'](aL['values'][aR])),aQ['push'](al['degToRad'](aM['values'][aR])),aQ['push'](al['degToRad'](aN[cF(0x162)][aR]));}return[aP,aQ];}},ge=class{[br(0x173)](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){const cG=br;return this[cG(0x201)][this[cG(0x1ac)]-0x1];}['getCurrentProp'](){return this['currentProp'];}[br(0x17c)](aL){this['nodeStack']['push'](aL),this['currentIndent']+=0x1;}['popStack'](){const cH=br;this[cH(0x201)]['pop'](),--this[cH(0x1ac)];}['setCurrentProp'](aL,aM){this['currentProp']=aL,this['currentPropName']=aM;}['parse'](aL){const cI=br;this['currentIndent']=0x0,this['allNodes']=new G(),this['nodeStack']=[],this[cI(0x1da)]=[],this[cI(0x213)]='';let aM=this,aN=aL['split'](/[\r\n]+/);return aN['forEach'](function(aO,aP){const cJ=cI;let aQ=aO['match'](/^[\s\t]*;/),aR=aO[cJ(0x15c)](/^[\s\t]*$/);if(aQ||aR)return;let aS=aO['match']('^\x5ct{'+aM[cJ(0x1ac)]+cJ(0x1f1),''),aT=aO['match'](cJ(0x199)+aM['currentIndent']+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),aU=aO['match']('^\x5ct{'+(aM['currentIndent']-0x1)+'}}');aS?aM['parseNodeBegin'](aO,aS):aT?aM['parseNodeProperty'](aO,aT,aN[++aP]):aU?aM['popStack']():aO[cJ(0x15c)](/^[^\s\t}]/)&&aM['parseNodePropertyContinued'](aO);}),this[cI(0x174)];}[br(0x209)](aL,aM){const cL=br;let aN=aM[0x1]['trim']()['replace'](/^"/,'')['replace'](/"$/,''),aO=aM[0x2]['split'](',')['map'](function(aS){const cK=a1;return aS['trim']()['replace'](/^"/,'')[cK(0x1a7)](/"$/,'');}),aP={'name':aN},aQ=this['parseNodeAttr'](aO),aR=this['getCurrentNode']();this['currentIndent']===0x0?this['allNodes']['add'](aN,aP):aN in aR?(aN==='PoseNode'?aR['PoseNode']['push'](aP):aR[aN]['id']!==void 0x0&&(aR[aN]={},aR[aN][aR[aN]['id']]=aR[aN]),aQ['id']!==''&&(aR[aN][aQ['id']]=aP)):typeof aQ['id']=='number'?(aR[aN]={},aR[aN][aQ['id']]=aP):aN!==cL(0x20f)&&(aN==='PoseNode'?aR[aN]=[aP]:aR[aN]=aP),typeof aQ['id']=='number'&&(aP['id']=aQ['id']),aQ['name']!==''&&(aP[cL(0x153)]=aQ['name']),aQ['type']!==''&&(aP[cL(0x145)]=aQ['type']),this['pushStack'](aP);}['parseNodeAttr'](aL){let aM=aL[0x0];aL[0x0]!==''&&(aM=parseInt(aL[0x0]),isNaN(aM)&&(aM=aL[0x0]));let aN='',aO='';return aL['length']>0x1&&(aN=aL[0x1]['replace'](/^(\w+)::/,''),aO=aL[0x2]),{'id':aM,'name':aN,'type':aO};}['parseNodeProperty'](aL,aM,aN){const cM=br;let aO=aM[0x1]['replace'](/^"/,'')[cM(0x1a7)](/"$/,'')['trim'](),aP=aM[0x2][cM(0x1a7)](/^"/,'')['replace'](/"$/,'')['trim']();aO==='Content'&&aP===','&&(aP=aN['replace'](/"/g,'')['replace'](/,$/,'')['trim']());let aQ=this['getCurrentNode']();if(aQ['name']==='Properties70'){this['parseNodeSpecialProperty'](aL,aO,aP);return;}if(aO==='C'){let aR=aP['split'](',')['slice'](0x1),aS=parseInt(aR[0x0]),aT=parseInt(aR[0x1]),aU=aP['split'](',')['slice'](0x3);aU=aU['map'](function(aV){return aV['trim']()['replace'](/^"/,'');}),aO='connections',aP=[aS,aT],Se(aP,aU),aQ[aO]===void 0x0&&(aQ[aO]=[]);}aO==='Node'&&(aQ['id']=aP),aO in aQ&&Array[cM(0x1b8)](aQ[aO])?aQ[aO]['push'](aP):aO==='a'?aQ['a']=aP:aQ[aO]=aP,this['setCurrentProp'](aQ,aO),aO==='a'&&aP['slice'](-0x1)!==','&&(aQ['a']=Q(aP));}['parseNodePropertyContinued'](aL){const cN=br;let aM=this[cN(0x1d2)]();aM['a']+=aL,aL[cN(0x18c)](-0x1)!==','&&(aM['a']=Q(aM['a']));}['parseNodeSpecialProperty'](aL,aM,aN){const cP=br;let aO=aN['split']('\x22,')['map'](function(aU){const cO=a1;return aU[cO(0x21a)]()['replace'](/^\"/,'')['replace'](/\s/,'_');}),aP=aO[0x0],aQ=aO[0x1],aR=aO[0x2],aS=aO[0x3],aT=aO[0x4];switch(aQ){case'int':case'enum':case cP(0x158):case'ULongLong':case'double':case'Number':case'FieldOfView':aT=parseFloat(aT);break;case cP(0x190):case'ColorRGB':case'Vector3D':case'Lcl_Translation':case'Lcl_Rotation':case cP(0x146):aT=Q(aT);break;}this['getPrevNode']()[aP]={'type':aQ,'type2':aR,'flag':aS,'value':aT},this['setCurrentProp'](this['getPrevNode'](),aP);}},_e=class{[br(0x211)](aL){const cQ=br;let aM=new W(aL);aM['skip'](0x17);let aN=aM['getUint32']();if(aN<0x1900)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+aN);let aO=new G();for(;!this[cQ(0x13f)](aM);){let aP=this['parseNode'](aM,aN);aP!==null&&aO[cQ(0x19f)](aP[cQ(0x1cf)],aP);}return aO;}['endOfContent'](aL){const cR=br;return aL['size']()%0x10==0x0?(aL['getOffset']()+0xa0+0x10&-0x10)>=aL['size']():aL[cR(0x206)]()+0xa0+0x10>=aL[cR(0x18a)]();}['parseNode'](aL,aM){const cS=br;let aN={},aO=aM>=0x1d4c?aL['getUint64']():aL['getUint32'](),aP=aM>=0x1d4c?aL['getUint64']():aL['getUint32']();aM>=0x1d4c?aL['getUint64']():aL[cS(0x1b6)]();let aQ=aL['getUint8'](),aR=aL['getString'](aQ);if(aO===0x0)return null;let aS=[];for(let aW=0x0;aW<aP;aW++)aS['push'](this[cS(0x18d)](aL));let aT=aS['length']>0x0?aS[0x0]:'',aU=aS['length']>0x1?aS[0x1]:'',aV=aS['length']>0x2?aS[0x2]:'';for(aN['singleProperty']=aP===0x1&&aL['getOffset']()===aO;aO>aL['getOffset']();){let aX=this['parseNode'](aL,aM);aX!==null&&this[cS(0x1a6)](aR,aN,aX);}return aN[cS(0x1bc)]=aS,typeof aT=='number'&&(aN['id']=aT),aU!==''&&(aN[cS(0x153)]=aU),aV!==''&&(aN['attrType']=aV),aR!==''&&(aN['name']=aR),aN;}['parseSubNode'](aL,aM,aN){const cT=br;if(aN[cT(0x1f4)]===!0x0){let aO=aN[cT(0x1bc)][0x0];Array[cT(0x1b8)](aO)?(aM[aN['name']]=aN,aN['a']=aO):aM[aN['name']]=aO;}else{if(aL==='Connections'&&aN['name']==='C'){let aP=[];aN['propertyList'][cT(0x188)](function(aQ,aR){aR!==0x0&&aP['push'](aQ);}),aM[cT(0x1df)]===void 0x0&&(aM['connections']=[]),aM['connections']['push'](aP);}else{if(aN['name']==='Properties70')Object[cT(0x1b4)](aN)[cT(0x188)](function(aQ){aM[aQ]=aN[aQ];});else{if(aL==='Properties70'&&aN['name']==='P'){let aQ=aN['propertyList'][0x0],aR=aN['propertyList'][0x1],aS=aN['propertyList'][0x2],aT=aN['propertyList'][0x3],aU;aQ['indexOf']('Lcl\x20')===0x0&&(aQ=aQ['replace'](cT(0x1b7),cT(0x179))),aR['indexOf']('Lcl\x20')===0x0&&(aR=aR['replace']('Lcl\x20','Lcl_')),aU=aR==='Color'||aR==='ColorRGB'||aR===cT(0x1de)||aR==='Vector3D'||aR['indexOf']('Lcl_')===0x0?[aN['propertyList'][0x4],aN[cT(0x1bc)][0x5],aN['propertyList'][0x6]]:aN['propertyList'][0x4],aM[aQ]={'type':aR,'type2':aS,'flag':aT,'value':aU};}else aM[aN['name']]===void 0x0?typeof aN['id']=='number'?(aM[aN['name']]={},aM[aN['name']][aN['id']]=aN):aM[aN['name']]=aN:aN['name']===cT(0x1e2)?(Array[cT(0x1b8)](aM[aN['name']])||(aM[aN['name']]=[aM[aN['name']]]),aM[aN['name']][cT(0x21c)](aN)):aM[aN['name']][aN['id']]===void 0x0&&(aM[aN[cT(0x1cf)]][aN['id']]=aN);}}}}[br(0x18d)](aL){const cU=br;let aM=aL['getString'](0x1),aN;switch(aM){case'C':return aL['getBoolean']();case'D':return aL['getFloat64']();case'F':return aL['getFloat32']();case'I':return aL['getInt32']();case'L':return aL['getInt64']();case'R':return aN=aL['getUint32'](),aL['getArrayBuffer'](aN);case'S':return aN=aL['getUint32'](),aL['getString'](aN);case'Y':return aL['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':let aO=aL['getUint32'](),aP=aL['getUint32'](),aQ=aL['getUint32']();if(aP===0x0)switch(aM){case'b':case'c':return aL['getBooleanArray'](aO);case'd':return aL['getFloat64Array'](aO);case'f':return aL['getFloat32Array'](aO);case'i':return aL['getInt32Array'](aO);case'l':return aL['getInt64Array'](aO);}let aR=new W(aK(new Uint8Array(aL['getArrayBuffer'](aQ)))['buffer']);switch(aM){case'b':case'c':return aR['getBooleanArray'](aO);case'd':return aR['getFloat64Array'](aO);case'f':return aR[cU(0x13d)](aO);case'i':return aR['getInt32Array'](aO);case'l':return aR['getInt64Array'](aO);}break;default:throw Error(cU(0x14b)+aM);}}},W=class{constructor(aL,aM){const cV=br;this['dv']=new DataView(aL),this['offset']=0x0,this[cV(0x18e)]=aM===void 0x0?!0x0:aM,this['_textDecoder']=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){return this['dv']['buffer']['byteLength'];}['skip'](aL){const cW=br;this[cW(0x1d1)]+=aL;}['getBoolean'](){const cX=br;return(this[cX(0x1a0)]()&0x1)==0x1;}['getBooleanArray'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getBoolean']());return aM;}['getUint8'](){let aL=this['dv']['getUint8'](this['offset']);return this['offset']+=0x1,aL;}[br(0x143)](){let aL=this['dv']['getInt16'](this['offset'],this['littleEndian']);return this['offset']+=0x2,aL;}['getInt32'](){const cY=br;let aL=this['dv']['getInt32'](this['offset'],this[cY(0x18e)]);return this['offset']+=0x4,aL;}['getInt32Array'](aL){const cZ=br;let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this[cZ(0x1f3)]());return aM;}['getUint32'](){let aL=this['dv']['getUint32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}['getInt64'](){const d0=br;let aL,aM;return this['littleEndian']?(aL=this[d0(0x1b6)](),aM=this['getUint32']()):(aM=this['getUint32'](),aL=this['getUint32']()),aM&0x80000000?(aM=~aM&0xffffffff,aL=~aL&0xffffffff,aL===0xffffffff&&(aM=aM+0x1&0xffffffff),aL=aL+0x1&0xffffffff,-(aM*0x100000000+aL)):aM*0x100000000+aL;}['getInt64Array'](aL){const d1=br;let aM=[];for(let aN=0x0;aN<aL;aN++)aM[d1(0x21c)](this['getInt64']());return aM;}['getUint64'](){const d2=br;let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this['getUint32']()):(aM=this[d2(0x1b6)](),aL=this[d2(0x1b6)]()),aM*0x100000000+aL;}[br(0x17e)](){const d3=br;let aL=this['dv']['getFloat32'](this['offset'],this[d3(0x18e)]);return this['offset']+=0x4,aL;}['getFloat32Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat32']());return aM;}['getFloat64'](){let aL=this['dv']['getFloat64'](this['offset'],this['littleEndian']);return this['offset']+=0x8,aL;}['getFloat64Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat64']());return aM;}['getArrayBuffer'](aL){const d4=br;let aM=this['dv'][d4(0x1ad)]['slice'](this['offset'],this['offset']+aL);return this['offset']+=aL,aM;}[br(0x1d9)](aL){let aM=this['offset'],aN=new Uint8Array(this['dv']['buffer'],aM,aL);this['skip'](aL);let aO=aN['indexOf'](0x0);return aO>=0x0&&(aN=new Uint8Array(this['dv']['buffer'],aM,aO)),this['_textDecoder']['decode'](aN);}},G=class{['add'](aL,aM){this[aL]=aM;}};function ve(aL){const d5=br;return aL['byteLength']>=0x15&&$(aL,0x0,0x15)===d5(0x168);}function ye(aL){let aM=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'],aN=0x0;function aO(aP){let aQ=aL[aP-0x1];return aL=aL['slice'](aN+aP),aN++,aQ;}for(let aP=0x0;aP<aM['length'];++aP)if(aO(0x1)===aM[aP])return!0x1;return!0x0;}function K(aL){const d6=br;let aM=aL[d6(0x15c)](/FBXVersion: (\d+)/);if(aM)return parseInt(aM[0x1]);throw Error(d6(0x1e8));}function be(aL){return aL/0xac0e8d7b0;}var xe=[];function q(aL,aM,aN,aO){const d7=br;let aP;switch(aO['mappingType']){case'ByPolygonVertex':aP=aL;break;case d7(0x1cc):aP=aM;break;case'ByVertice':aP=aN;break;case d7(0x132):aP=aO['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+aO['mappingType']);}aO['referenceType']==='IndexToDirect'&&(aP=aO['indices'][aP]);let aQ=aP*aO['dataSize'],aR=aQ+aO[d7(0x1d3)];return Ce(xe,aO['buffer'],aQ,aR);}function a1(a,b){a=a-0x132;const c=a0();let d=c[a];return d;}var J=new aj(),Y=new a3();function X(aL){const d8=br;let aM=new a2(),aN=new a2(),aO=new a2(),aP=new a2(),aQ=new a2(),aR=new a2(),aS=new a2(),aT=new a2(),aU=new a2(),aV=new a2(),aW=new a2(),aX=new a2(),aY=aL['inheritType']?aL['inheritType']:0x0;aL['translation']&&aM['setPosition'](Y['fromArray'](aL['translation']));let aZ=Z(0x0);if(aL['preRotation']){let bc=aL['preRotation']['map'](al['degToRad']);bc['push'](aZ),aN[d8(0x14d)](J['fromArray'](bc));}if(aL['rotation']){let bd=aL['rotation']['map'](al['degToRad']);bd[d8(0x21c)](aL['eulerOrder']||aZ),aO['makeRotationFromEuler'](J['fromArray'](bd));}if(aL['postRotation']){let bf=aL['postRotation']['map'](al['degToRad']);bf['push'](aZ),aP['makeRotationFromEuler'](J['fromArray'](bf)),aP['invert']();}aL['scale']&&aQ['scale'](Y['fromArray'](aL[d8(0x1db)])),aL['scalingOffset']&&aS['setPosition'](Y['fromArray'](aL['scalingOffset'])),aL['scalingPivot']&&aR['setPosition'](Y['fromArray'](aL['scalingPivot'])),aL['rotationOffset']&&aT['setPosition'](Y[d8(0x161)](aL['rotationOffset'])),aL['rotationPivot']&&aU['setPosition'](Y[d8(0x161)](aL['rotationPivot'])),aL['parentMatrixWorld']&&(aW['copy'](aL['parentMatrix']),aV['copy'](aL['parentMatrixWorld']));let b0=aN['clone']()['multiply'](aO)['multiply'](aP),b1=new a2();b1['extractRotation'](aV);let b2=new a2();b2['copyPosition'](aV);let b3=b2['clone']()['invert']()['multiply'](aV),b4=b1[d8(0x16f)]()['invert']()['multiply'](b3),b5=aQ,b6=new a2();if(aY===0x0)b6['copy'](b1)['multiply'](b0)[d8(0x14a)](b4)[d8(0x14a)](b5);else{if(aY===0x1)b6[d8(0x1c2)](b1)[d8(0x14a)](b4)['multiply'](b0)['multiply'](b5);else{let bg=new a2()[d8(0x1db)](new a3()['setFromMatrixScale'](aW))['clone']()['invert'](),bh=b4['clone']()[d8(0x14a)](bg);b6['copy'](b1)['multiply'](b0)['multiply'](bh)['multiply'](b5);}}let b7=aU['clone']()['invert'](),b8=aR['clone']()[d8(0x205)](),b9=aM[d8(0x16f)]()[d8(0x14a)](aT)['multiply'](aU)['multiply'](aN)['multiply'](aO)['multiply'](aP)['multiply'](b7)['multiply'](aS)[d8(0x14a)](aR)['multiply'](aQ)['multiply'](b8),ba=new a2()['copyPosition'](b9),bb=aV['clone']()['multiply'](ba);return aX['copyPosition'](bb),b9=aX['clone']()['multiply'](b6),b9['premultiply'](aV['invert']()),b9;}function Z(aL){const d9=br;aL=aL||0x0;let aM=[d9(0x13c),'YZX','XZY','ZXY','YXZ','XYZ'];return aL===0x6?(console['warn'](d9(0x164)),aM[0x0]):aM[aL];}function Q(aL){return aL['split'](',')['map'](function(aM){return parseFloat(aM);});}function $(aL,aM,aN){return aM===void 0x0&&(aM=0x0),aN===void 0x0&&(aN=aL['byteLength']),new TextDecoder()['decode'](new Uint8Array(aL,aM,aN));}function Se(aL,aM){for(let aN=0x0,aO=aL['length'],aP=aM['length'];aN<aP;aN++,aO++)aL[aO]=aM[aN];}function Ce(aL,aM,aN,aO){for(let aP=aN,aQ=0x0;aP<aO;aP++,aQ++)aL[aQ]=aM[aP];return aL;}export{fe as FBXLoader};
|