quake2ts 0.0.65 → 0.0.67

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.
Files changed (57) hide show
  1. package/apps/demo/dist/assets/index-Lj9akWtw.js +1 -0
  2. package/apps/demo/dist/index.html +1 -1
  3. package/apps/viewer/dist/browser/index.global.js +1 -1
  4. package/apps/viewer/dist/browser/index.global.js.map +1 -1
  5. package/apps/viewer/dist/cjs/index.cjs +30 -3
  6. package/apps/viewer/dist/cjs/index.cjs.map +1 -1
  7. package/apps/viewer/dist/esm/index.js +30 -3
  8. package/apps/viewer/dist/esm/index.js.map +1 -1
  9. package/apps/viewer/dist/tsconfig.tsbuildinfo +1 -1
  10. package/package.json +1 -1
  11. package/packages/client/dist/browser/index.global.js +1 -1
  12. package/packages/client/dist/browser/index.global.js.map +1 -1
  13. package/packages/client/dist/cjs/index.cjs +30 -3
  14. package/packages/client/dist/cjs/index.cjs.map +1 -1
  15. package/packages/client/dist/esm/index.js +30 -3
  16. package/packages/client/dist/esm/index.js.map +1 -1
  17. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  18. package/packages/client/dist/types/hud/layout.d.ts +11 -0
  19. package/packages/client/dist/types/hud/layout.d.ts.map +1 -0
  20. package/packages/client/dist/types/hud/numbers.d.ts +3 -0
  21. package/packages/client/dist/types/hud/numbers.d.ts.map +1 -0
  22. package/packages/client/dist/types/hud.d.ts +4 -1
  23. package/packages/client/dist/types/hud.d.ts.map +1 -1
  24. package/packages/engine/dist/browser/index.global.js +9 -9
  25. package/packages/engine/dist/browser/index.global.js.map +1 -1
  26. package/packages/engine/dist/cjs/index.cjs +37 -3
  27. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  28. package/packages/engine/dist/esm/index.js +37 -3
  29. package/packages/engine/dist/esm/index.js.map +1 -1
  30. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  31. package/packages/engine/dist/types/index.d.ts +1 -0
  32. package/packages/engine/dist/types/index.d.ts.map +1 -1
  33. package/packages/engine/dist/types/render/camera.d.ts +9 -0
  34. package/packages/engine/dist/types/render/camera.d.ts.map +1 -1
  35. package/packages/engine/dist/types/render/renderer.d.ts +13 -2
  36. package/packages/engine/dist/types/render/renderer.d.ts.map +1 -1
  37. package/packages/engine/dist/types/render/resources.d.ts +4 -1
  38. package/packages/engine/dist/types/render/resources.d.ts.map +1 -1
  39. package/packages/engine/dist/types/render/scene.d.ts +22 -0
  40. package/packages/engine/dist/types/render/scene.d.ts.map +1 -0
  41. package/packages/engine/dist/types/render/sprite.d.ts +17 -0
  42. package/packages/engine/dist/types/render/sprite.d.ts.map +1 -0
  43. package/packages/game/dist/browser/index.global.js.map +1 -1
  44. package/packages/game/dist/cjs/index.cjs.map +1 -1
  45. package/packages/game/dist/esm/index.js.map +1 -1
  46. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  47. package/packages/shared/dist/browser/index.global.js +1 -1
  48. package/packages/shared/dist/browser/index.global.js.map +1 -1
  49. package/packages/shared/dist/cjs/index.cjs +12 -9
  50. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  51. package/packages/shared/dist/esm/index.js +12 -9
  52. package/packages/shared/dist/esm/index.js.map +1 -1
  53. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  54. package/packages/shared/dist/types/bsp/collision.d.ts.map +1 -1
  55. package/apps/demo/dist/assets/index-D1xQWPvb.js +0 -1
  56. package/packages/engine/dist/types/render/draw.d.ts +0 -9
  57. package/packages/engine/dist/types/render/draw.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../packages/shared/dist/types/math/vec3.d.ts","../../../packages/shared/dist/types/math/angles.d.ts","../../../packages/shared/dist/types/math/color.d.ts","../../../packages/shared/dist/types/math/random.d.ts","../../../packages/shared/dist/types/math/mat4.d.ts","../../../packages/shared/dist/types/bsp/contents.d.ts","../../../packages/shared/dist/types/bsp/collision.d.ts","../../../packages/shared/dist/types/protocol/cvar.d.ts","../../../packages/shared/dist/types/protocol/configstrings.d.ts","../../../packages/shared/dist/types/protocol/contracts.d.ts","../../../packages/shared/dist/types/pmove/types.d.ts","../../../packages/shared/dist/types/pmove/constants.d.ts","../../../packages/shared/dist/types/pmove/pmove.d.ts","../../../packages/shared/dist/types/pmove/slide.d.ts","../../../packages/shared/dist/types/pmove/stuck.d.ts","../../../packages/shared/dist/types/pmove/currents.d.ts","../../../packages/shared/dist/types/pmove/fly.d.ts","../../../packages/shared/dist/types/pmove/water.d.ts","../../../packages/shared/dist/types/pmove/jump.d.ts","../../../packages/shared/dist/types/pmove/dimensions.d.ts","../../../packages/shared/dist/types/pmove/duck.d.ts","../../../packages/shared/dist/types/pmove/categorize.d.ts","../../../packages/shared/dist/types/pmove/move.d.ts","../../../packages/shared/dist/types/pmove/special.d.ts","../../../packages/shared/dist/types/pmove/snap.d.ts","../../../packages/shared/dist/types/pmove/view.d.ts","../../../packages/shared/dist/types/protocol/usercmd.d.ts","../../../packages/shared/dist/types/protocol/player-state.d.ts","../../../packages/shared/dist/types/protocol/index.d.ts","../../../packages/shared/dist/types/pmove/apply.d.ts","../../../packages/shared/dist/types/index.d.ts","../../../packages/engine/dist/types/loop.d.ts","../../../node_modules/.pnpm/gl-matrix@3.4.4/node_modules/gl-matrix/index.d.ts","../../../packages/engine/dist/types/render/camera.d.ts","../../../packages/engine/dist/types/host.d.ts","../../../packages/engine/dist/types/configstrings.d.ts","../../../packages/engine/dist/types/runtime.d.ts","../../../packages/engine/dist/types/cvars.d.ts","../../../packages/engine/dist/types/assets/pak.d.ts","../../../packages/engine/dist/types/assets/vfs.d.ts","../../../packages/engine/dist/types/assets/pakIndexStore.d.ts","../../../packages/engine/dist/types/assets/pakValidation.d.ts","../../../packages/engine/dist/types/assets/ingestion.d.ts","../../../packages/engine/dist/types/assets/cache.d.ts","../../../packages/engine/dist/types/assets/browserIngestion.d.ts","../../../packages/engine/dist/types/assets/md2.d.ts","../../../packages/engine/dist/types/assets/md3.d.ts","../../../packages/engine/dist/types/assets/animation.d.ts","../../../packages/engine/dist/types/assets/wal.d.ts","../../../packages/engine/dist/types/assets/pcx.d.ts","../../../packages/engine/dist/types/assets/texture.d.ts","../../../packages/engine/dist/types/assets/wav.d.ts","../../../node_modules/.pnpm/@wasm-audio-decoders+common@9.0.7/node_modules/@wasm-audio-decoders/common/types.d.ts","../../../node_modules/.pnpm/codec-parser@2.5.0/node_modules/codec-parser/index.d.ts","../../../node_modules/.pnpm/@wasm-audio-decoders+ogg-vorbis@0.1.20/node_modules/@wasm-audio-decoders/ogg-vorbis/types.d.ts","../../../packages/engine/dist/types/assets/ogg.d.ts","../../../packages/engine/dist/types/assets/audio.d.ts","../../../packages/engine/dist/types/assets/manager.d.ts","../../../packages/engine/dist/types/audio/constants.d.ts","../../../packages/engine/dist/types/audio/context.d.ts","../../../packages/engine/dist/types/audio/registry.d.ts","../../../packages/engine/dist/types/audio/precache.d.ts","../../../packages/engine/dist/types/audio/channels.d.ts","../../../packages/engine/dist/types/audio/spatialization.d.ts","../../../packages/engine/dist/types/audio/system.d.ts","../../../packages/engine/dist/types/audio/music.d.ts","../../../packages/engine/dist/types/audio/api.d.ts","../../../packages/engine/dist/types/render/context.d.ts","../../../packages/engine/dist/types/render/shaderProgram.d.ts","../../../packages/engine/dist/types/render/resources.d.ts","../../../packages/engine/dist/types/render/bsp.d.ts","../../../packages/engine/dist/types/render/culling.d.ts","../../../packages/engine/dist/types/assets/bsp.d.ts","../../../packages/engine/dist/types/render/bspTraversal.d.ts","../../../packages/engine/dist/types/render/bspPipeline.d.ts","../../../packages/engine/dist/types/render/skybox.d.ts","../../../packages/engine/dist/types/render/md2Pipeline.d.ts","../../../packages/engine/dist/types/render/md3Pipeline.d.ts","../../../packages/engine/dist/types/render/particleSystem.d.ts","../../../packages/engine/dist/types/index.d.ts","../../../packages/client/dist/types/prediction.d.ts","../../../packages/client/dist/types/view-effects.d.ts","../../../packages/client/dist/types/input/bindings.d.ts","../../../packages/client/dist/types/input/controller.d.ts","../../../packages/client/dist/types/input/command-buffer.d.ts","../../../packages/client/dist/types/index.d.ts","../../../packages/game/dist/types/combat/armor.d.ts","../../../packages/game/dist/types/inventory/ammo.d.ts","../../../packages/game/dist/types/inventory/items.d.ts","../../../packages/game/dist/types/combat/weapons/state.d.ts","../../../packages/game/dist/types/inventory/playerInventory.d.ts","../../../packages/game/dist/types/entities/entity.d.ts","../../../packages/game/dist/types/entities/pool.d.ts","../../../packages/game/dist/types/entities/thinkScheduler.d.ts","../../../packages/game/dist/types/entities/callbacks.d.ts","../../../packages/game/dist/types/entities/system.d.ts","../../../packages/game/dist/types/entities/spawn.d.ts","../../../packages/game/dist/types/entities/utils.d.ts","../../../packages/game/dist/types/inventory/index.d.ts","../../../packages/game/dist/types/entities/items/weapons.d.ts","../../../packages/game/dist/types/entities/items/index.d.ts","../../../packages/game/dist/types/entities/index.d.ts","../../../packages/game/dist/types/loop.d.ts","../../../packages/game/dist/types/level.d.ts","../../../packages/game/dist/types/ai/constants.d.ts","../../../packages/game/dist/types/ai/movement.d.ts","../../../packages/game/dist/types/ai/perception.d.ts","../../../packages/game/dist/types/ai/targeting.d.ts","../../../packages/game/dist/types/ai/index.d.ts","../../../packages/game/dist/types/checksum.d.ts","../../../packages/game/dist/types/save/save.d.ts","../../../packages/game/dist/types/save/rerelease.d.ts","../../../packages/game/dist/types/save/storage.d.ts","../../../packages/game/dist/types/save/index.d.ts","../../../packages/game/dist/types/combat/damageFlags.d.ts","../../../packages/game/dist/types/combat/damageMods.d.ts","../../../packages/game/dist/types/combat/damage.d.ts","../../../packages/game/dist/types/combat/specialDamage.d.ts","../../../packages/game/dist/types/combat/weapon.d.ts","../../../packages/game/dist/types/combat/index.d.ts","../../../packages/game/dist/types/index.d.ts","../src/index.ts"],"fileIdsList":[[45,94,100,135],[67,68],[45,94,95,96,97,98,99],[45,98],[45,97],[45,94],[45,95],[54,70],[54,57],[54],[53,54,55,56],[54,60,61,65,71],[45,54],[69],[53],[63,64],[45,75,79,80],[54,74,75],[50,74],[45],[45,74,75,77,78],[46,48],[45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,93],[45,84],[45,83],[45,86,87],[47],[60,83,84],[45,61,83,84],[45,83,84],[47,83,84],[49,94],[119,120,121,122],[106],[45,106,119],[106,121],[135],[45,101,130],[101,104,129,130,131,132,133],[45,106,130,131],[105],[45,105],[106,107,108,109,110,111,112,115],[114],[106,113,135],[106,110],[106,107,108,109,135],[45,94,106,113,116,118,123,124,128,134],[102,103,105],[102,105],[101,102,103,104],[117],[94],[125,126,127],[45,125],[45,94,113,116,118],[125],[15],[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43,44],[15,25,42],[15,20,25,26],[15,26],[15,20,25,26,34],[15,25,28],[15,25,26,28],[15,25],[15,25,26],[15,20],[15,16,26],[22,23,24,41,42]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"d49d5bc95370fd2ed354d3c9182b058203fff1c1b4970b9e16b2e6f5c9281dca","impliedFormat":99},{"version":"d83e5d9a2f506f4ad57d1b1748912ca6e12550c877978e26f018025eb433474a","impliedFormat":99},{"version":"0a483508d8a864726671af5c9b2d7c78e6c12e1289bef65db7df48930113bd04","impliedFormat":99},{"version":"782a8f80ef32c3ef311ee951903015dd222486a567ac47d24592a5a474ad925e","impliedFormat":99},{"version":"69dcd44cf06f76bc10ff5f85b518be25036d13821d3b23e5a646f6d15eb8bc13","impliedFormat":99},{"version":"47b2256e2f9ea76fdbccbe89c4c287dc4d6da52c1572b3a6bf2df660dac435cd","impliedFormat":99},{"version":"aeadb23fbdfd75addbdbf7a1bc1d4340424a4abbcaf53c94b422549885e7d722","impliedFormat":99},{"version":"5791d843929b2794e757aac45a4791860a4542a163ef0fa062bff83cc4b2783d","impliedFormat":99},{"version":"c4df6bbc7e47590510a0d1874dbc655720cbff06c9cc1dc5f3b453d2efed5181","impliedFormat":99},{"version":"c25445c4bfdf0d850c0d702fcb12c49f68666a3fe116bdd1080e5ab0ab2e947e","impliedFormat":99},{"version":"0663baa12462be4526fc70d40a0512d7c901546d3d2470571a4cecc2403b06b9","impliedFormat":99},{"version":"86a09575cc4f08dffb7d7fa70b00d855e7901da0247d2689ee2b5d68acd72300","impliedFormat":99},{"version":"966b5425870531e51598f864e5da23083ca0f2bc32055c451eff33b59ab1e42b","impliedFormat":99},{"version":"c003de6a72360c6dd4cafb689bd18b196910ec4a2ee299e6b6e7b30b7c976727","impliedFormat":99},{"version":"b74d298d1f2e7dd4b13653cd705f54dfeb0225192ce6adb419d118dc61db51ed","impliedFormat":99},{"version":"28faf4f79dfdb949104d0d954fed83a24c9cdfe98e9799c33e214d1fef29b1bd","impliedFormat":99},{"version":"210e8a5d5576c2902129050e62e4cc7acddd41b4e8be38552639c6d21ff3cee3","impliedFormat":99},{"version":"22e2e64285f7aaef481a744debc998006f8cf463a870cf28f281ee789195e9fb","impliedFormat":99},{"version":"76a9a8b405f17d7ff73b3cb22e7e6fc2832069f5d00dccf927a591bf4996bb01","impliedFormat":99},{"version":"a4e0607cf35a6c1503665e283169f069032fe5acb0f69d4f5ab7d6b328bd3641","impliedFormat":99},{"version":"d3ed5cdf9024e5b707499b95b2f3f36810f3b790e015cc53541ab97dad353ea6","impliedFormat":99},{"version":"f943bb60549649ccb78acc8105de10c1fc77bc4681dfaedfe5330ce6e87a1d9f","impliedFormat":99},{"version":"85c25880de81ca2db6235c99260550f40f2df78dab87b89751e43bfaaa2eae1d","impliedFormat":99},{"version":"df60f25f487e9772ebf83da13db422c038021a2ecdde25a51506e3cd5f5da5a4","impliedFormat":99},{"version":"44f7b5e80a9d42c45264f4c4eb4e300c5a44d9517b0d47aec04a14265a84969d","impliedFormat":99},{"version":"35526be13abff0b287aaec4d8af58a71c77fea57ec9bd1861aaa457284e326dd","impliedFormat":99},{"version":"b5c44500aab4d93e3f8a4fa2106f8d2f9b5acd6bf3d4d8342e822f83c06a2bae","impliedFormat":99},{"version":"c6b3da85ac7c4c79aa23b4572dfdf0b06d82aec988fe1e15303a1082918f9ea5","impliedFormat":99},{"version":"66b59f73e948659a4ed1ade964cfb34012723ebe84f1efe28e15142881dcf2f1","impliedFormat":99},{"version":"9499a4ff2e26c6d174cb3b663258b28f088137d3533e51ebaef546b4b70a4717","impliedFormat":99},{"version":"219fdb5a92f5f74152f2d7a6eff7b7223f830185a433c43569121f1808c606f6","impliedFormat":99},{"version":"f326295459bc2e37b4aee6ffaf4dfb140c571eb4692655b50eac4808bb2432c7","impliedFormat":99},{"version":"e2cc1b44fe89c8955cc6034f5c923897aec13f9212170addd1fc26907725abda","impliedFormat":1},{"version":"71fc1ba4ef3bc18cc1c23b64eb8c70a0149870661bf86524904cbf4c761978ce","impliedFormat":99},{"version":"3bb47e3294f5f2508e742a170faae826fabf6b8f2934d1438bcc14165ad477b7","impliedFormat":99},{"version":"365faa94635e06fec5429ef9b0f748fad74827ac4e38cc52423cba774ba4fa79","impliedFormat":99},{"version":"88882f29c2529b52230367eaf39866179365b2f805a49acdcd4b0ef7209b3b97","impliedFormat":99},{"version":"f8785dec02fd9af6511c4279183f3e3055b049972c8acaa16271a2806737236f","impliedFormat":99},{"version":"2bce3f6aa4602276fc00d0d84794588d1beae64c54f4700b37cd172eb724a47a","impliedFormat":99},{"version":"65b7c9ff881359f7ec077cbae8eb3f96fde174b4b97feb475d05b88fe5bb082b","impliedFormat":99},{"version":"ed55341a4eb0f507a1ec32970a099d338bcc892fc8251801f94beb0992775c70","impliedFormat":99},{"version":"4b3a10cfc395e7afd02ff4109383bf99ec1c9261d3c83b9d51e9552f04305f4b","impliedFormat":99},{"version":"f736880ccafa360b895f270144495a03dd1d6afdf2dae42b53539ad0c3eac415","impliedFormat":99},{"version":"9e1336e60894b133fe44298c27d688116e57583f634b5c6c3611a061799cc6f7","impliedFormat":99},{"version":"130fc01380b54d83d3a933a7a2345f59bdcb125ed61579051f4a5f86225c9c6b","impliedFormat":99},{"version":"45fa42fe133060ed136c2271960fb7d6b6d93bd1d495e9e6d767275506fe0243","impliedFormat":99},{"version":"58816ca7cc7dce289d8e93f5da0a2dbafc87d3d92b30d413d8b13253096c2f49","impliedFormat":99},{"version":"e60df9ccb1e0e3629b056c425052c00c22e792ff36eea649c88491f5d8c2a3d3","impliedFormat":99},{"version":"3b5d71dbf77000bc41877caf3fab89f7f31a6552ffba33a06235c0e536803e26","impliedFormat":99},{"version":"46a38584e5501276f2a722af3289d4d577408ff75303c3ed42b50cc5fa9585ab","impliedFormat":99},{"version":"ca4119aa952eccd927edcad89e7efe7841704974ce08451a37c05846307b88fd","impliedFormat":99},{"version":"5930eb34141190cb30cd3256c6c560e90415877969a2d023c569b8abe958782b","impliedFormat":99},{"version":"bf88b170306b503c2e09784346c0a2c94df6cc49367295223393c3853b62bc51","impliedFormat":99},{"version":"ecaad34032824725d0d42bb6273c7871bda22b5a46ab01e6c9531064f83ffbb6","impliedFormat":99},{"version":"b45eefdede0e168aad6adee974b09e7150e34b9d7e0a6b52eee3705a1726390b","impliedFormat":99},{"version":"83f8a440fcd6ee2cae3c5d1cb652aa8f2a736ca387664b4d13055108507f55e9","impliedFormat":99},{"version":"5495a66962472db2a8d3ee67fce1d440be723e1c9f724c81cffc84c284427414","impliedFormat":99},{"version":"3aaa3c7f5adc61bd4eb7fcb1b8e1fe882789ce5e347412ed4b5c0eb127497a8a","impliedFormat":99},{"version":"c5a913f33e2491b094539f65baaf8f11a9dd35f82aac43134a450a59528b8845","impliedFormat":99},{"version":"bdbe064d2c0b861d059615ad05cfcf35446c0f84c866d6c45417d4ddf302e49e","impliedFormat":99},{"version":"aa552639fb4b7a17dcf6c83cd909462041ef9ea0aad224f3e048627748f13c08","impliedFormat":99},{"version":"50b0791e9b19af9819e383a27d3c8dff0c2d7023b867314eafb11028462720a8","impliedFormat":99},{"version":"e1fa6490c65472f9e479c518c80286b67ec28c632ebf8c98c4a9bae19ea0f4f7","impliedFormat":99},{"version":"fbe9085fca10f82dc286ac23315b430d515e10322871b2d5c9e337a039b1d683","impliedFormat":99},{"version":"5c7453dfd72b2d8200ea5c00dd89af3ec2e32f437c204dc285805567e8aeac7c","impliedFormat":99},{"version":"631ca1c85059fb2befebc7a52bb7f211abac4245feaad71d54f9a33150677f86","impliedFormat":99},{"version":"0d65b0415426b50512d3e5d56c37850fc91d3ddb40baddee5ee3617158b89594","impliedFormat":99},{"version":"532177b09dd61d4c6549ca8b76394d40ea544e398c4aea8d4a0e736044e947e7","impliedFormat":99},{"version":"bca4895c207f65febbd6c313dc33d9a457246cab60c5fdedfe7f6aca2d438a31","impliedFormat":99},{"version":"f35eec87010200097a3c0526ae4066df3688f165a5a459c556a70bf8b6378ad6","impliedFormat":99},{"version":"d5eab14c127bc83eeec90d5fa5e5e7d52e677095f4e4fc9a0f0612f5f87798fa","impliedFormat":99},{"version":"ed56dce2fcf7992a33915ac1f5cfd959035527e46494eb52536caa0248fcdaf2","impliedFormat":99},{"version":"e5ce83164ac2743c2a942dabfaaf7ad76e55fcd0de956af24b0da5f2426fc843","impliedFormat":99},{"version":"41756c1a064b9df749cab11a32f76705469990b79675810e4925b1d52e94a88a","impliedFormat":99},{"version":"16cbd2f1e6fd67b94e9977558bb4e34498ad7d9946182779c4abb7d3ac7356b8","impliedFormat":99},{"version":"7eb3b52c7bef3688d52cf959e4a809de7ffc8cfe6dee5f4562f069fc4fd4b260","impliedFormat":99},{"version":"e75d4f42de1851ac87f31097b700d9dab0dc6665c29452b49ad09c6e77b4e8bd","impliedFormat":99},{"version":"d6f6d18dfa1ab8083ed3e39c0a8c96e200427677e4c58531a13bd4d54af8247a","impliedFormat":99},{"version":"68542ec8d5d315b558ab897d47425104cf20f83313a552a8b5f1f66130624df1","impliedFormat":99},{"version":"09dbfd0a2025b692b07e69419b8ece6a4e7480c89472a3b4e2c3d0ac7ee87bd2","impliedFormat":99},{"version":"df2cf652083156f7d8a03f54e30a41201d01e2628ad635195a65a8fd8b0ed9fc","impliedFormat":99},{"version":"8cec88aba24d3c89abc69edb82fff9536695c23f9714dc24464e4631362cb207","impliedFormat":99},{"version":"ae50d3e64e8c408fe19df1cb42824a8fe2e427640d3891d338f18571a4395935","impliedFormat":99},{"version":"0f3364ad7fa4c4c6f87cf328c21c5a111331687abf02c32b4f61c61dc5b928de","impliedFormat":99},{"version":"431ae1c284f830db4225e1dca249fe51e9e22d35821cb7138cc293aa32eaf721","impliedFormat":99},{"version":"cdb7c0b3e9f91cbcfb9530cf4d1614cd27b70f6589f6492118a2debc2683f053","impliedFormat":99},{"version":"8b8090f5d25be84a420275ca169ca838e0551871cac2e12a2f5ec5678e024202","impliedFormat":99},{"version":"0a8b560526c0969a6e880f83d1c602d8103a67abfe2a4d97cba7a9ace8862633","impliedFormat":99},{"version":"db9cfa1d06fd95ae6fb560f78fa9dfe395d3d7955c2cfed051cd5f7f4b877023","impliedFormat":99},{"version":"73d52205519574a00b8d93177e7f84ee17d9a22658b6c1143b4b2aa33a9048c7","impliedFormat":99},{"version":"53933011e2029346656cdb6b574807424335f2751bd6742832db8d2f8abe8b62","impliedFormat":99},{"version":"f82c7057795ab70e2842f9d35fdfcfa8975b14599afe6f78529c1817f49b3c5a","impliedFormat":99},{"version":"fa917f70bdb4374e654206b5b87dc0be3ea9e828cb6577686715653455d2aa48","impliedFormat":99},{"version":"1158007478f3c7cbb71c4c2f3058f27ff1668a8ea41a435ac3483d4cfb8fb0bf","impliedFormat":99},{"version":"8cc08925d7600ddaa476c0f4eb511c5dcb299b5f31e4ae3d9863ad12dbc61425","impliedFormat":99},{"version":"6dc24c09f8d262b10727fd9df20d8dd7ca0adc622fbb9fcf15dda3ae1e860100","impliedFormat":99},{"version":"e391fdbefa505858768a5149cf27b82530c60cb76ae2cdcdea183738fcdb73f0","impliedFormat":99},{"version":"1b73c7d87f6422e777123c34674bb4743759e2ef4af03943bbe05ecd1ba15d92","impliedFormat":99},{"version":"ea27e1cca936c2e6298b271fe9c8c8d8642275f5efb6c4e57a3ba9b0eb62919e","impliedFormat":99},{"version":"3a5da4ac1f71c35c3682a7d7d5606462f65e42f6695a2b16a621d66094ee45ae","impliedFormat":99},{"version":"d4cf06054b3128cab81234c0ab4e6572971a9606134901da1228d39c90a94916","impliedFormat":99},{"version":"c063f33a808c23b56939d1c567dcc8bf5b82e4807b17bc1401bfb601680b608e","impliedFormat":99},{"version":"24000af5590cdad32e1fc1926c5c22a5c9cfff286e5accc6c1c02f9427fa04d5","impliedFormat":99},{"version":"8999a4590a0694b4a831618468b20eb330231c6848c064aecdf4897c4eacea6d","impliedFormat":99},{"version":"55df52f06630bfc0e77da397cdc84bd598ddccbea9c6257f8c5dafe09e4f361a","impliedFormat":99},{"version":"3b1f000a273a7517f81d3c28dc81f1ef51a17a853830c96f26cb0367e2bb9cf5","impliedFormat":99},{"version":"5561a597c9e7ab1fa1b7b079bb1a5bd28832f3074df4dad7537320cf2dda411c","impliedFormat":99},{"version":"59590350bef9c8147087e4bb333e53fa6f640cbe2fedcd06dfaeaf7cae89481f","impliedFormat":99},{"version":"1065d0a8a9d543e21a63a12cf703ec55475930ed8bfd8fc9d553d4e0599e1743","impliedFormat":99},{"version":"1f9dee3d966eda9cd75378ecf995ae04feb1477edf82c792d14a3e7671f54755","impliedFormat":99},{"version":"dfa62841085b466c5bb951149cdd02fb6a00303d08b0eca66229b04b7a934740","impliedFormat":99},{"version":"2f01554e221ba83ad30ea118a15e43f315b0fed918c9bb4b7cdfd1f51e70f9b5","impliedFormat":99},{"version":"4ba9e2bf2c8b102ab8b42458914e3e83532eca240f3063bc4a8ee0f15f2b6e44","impliedFormat":99},{"version":"59d7acab8f5c779acd9e7fe36443afcf44826fe5a245799d7406984dcf9493c8","impliedFormat":99},{"version":"048287fe73fd4a0d3190dc46fe571401098104a3fb48cb48b1535d1ccf238277","impliedFormat":99},{"version":"8673c4add0163c733c3458dc1220ed3696e21fe6c97c9194214b1bf065dff8a4","impliedFormat":99},{"version":"525ca7a877f5ce19ab8c089c86ee9d00aed60071cd41f2ce253d5b24f982c625","impliedFormat":99},{"version":"c4981e6ecfa56d2a3877539b66ff2926b37afbe5e1e3fa9b413c1e6c4617fc94","impliedFormat":99},{"version":"ac68d95de97b4c6898d6c6fbf2ab60c85a5b9513640fe177704d3ebe3bc39349","impliedFormat":99},{"version":"1c0da2b0fe01d8b0d877309261805fa086c46a0d1314a64bd33dcb4533fe7357","impliedFormat":99},{"version":"68be6f2763c137eccbbd4f43773b27238e062a884aa247c5685b4a0343a11f70","impliedFormat":99},{"version":"83e6ae13e8db6d018f9acd3b264fa01c1578155e2fa962dd5528255318fbd4bd","signature":"dfd24b0e7dd67d0554e9b4c98d4d89a861a37ba71be096f2fa327ed0862962e1","impliedFormat":99}],"root":[136],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":199,"outDir":"./types","rootDir":"../src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[136,1],[69,2],[100,3],[99,4],[98,5],[95,6],[96,7],[71,8],[59,9],[87,10],[57,11],[72,12],[60,13],[61,13],[70,14],[55,15],[56,15],[65,16],[54,15],[81,17],[76,18],[75,19],[78,20],[79,21],[52,20],[49,22],[94,23],[85,24],[89,25],[88,26],[48,27],[86,20],[91,28],[92,29],[93,30],[90,31],[51,32],[123,33],[120,34],[121,35],[122,36],[124,37],[101,20],[131,38],[134,39],[132,40],[104,41],[109,34],[106,42],[116,43],[115,44],[114,45],[107,34],[111,46],[110,47],[108,34],[112,20],[135,48],[113,49],[103,50],[105,51],[118,52],[117,53],[128,54],[126,55],[125,56],[127,57],[21,58],[45,59],[16,58],[19,58],[44,60],[36,61],[30,61],[34,62],[35,63],[31,64],[33,62],[37,65],[27,66],[28,66],[39,66],[38,67],[29,66],[25,68],[40,69],[32,61],[43,70],[42,62],[41,62]],"latestChangedDtsFile":"./types/index.d.ts","version":"5.9.3"}
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../packages/shared/dist/types/math/vec3.d.ts","../../../packages/shared/dist/types/math/angles.d.ts","../../../packages/shared/dist/types/math/color.d.ts","../../../packages/shared/dist/types/math/random.d.ts","../../../packages/shared/dist/types/math/mat4.d.ts","../../../packages/shared/dist/types/bsp/contents.d.ts","../../../packages/shared/dist/types/bsp/collision.d.ts","../../../packages/shared/dist/types/protocol/cvar.d.ts","../../../packages/shared/dist/types/protocol/configstrings.d.ts","../../../packages/shared/dist/types/protocol/contracts.d.ts","../../../packages/shared/dist/types/pmove/types.d.ts","../../../packages/shared/dist/types/pmove/constants.d.ts","../../../packages/shared/dist/types/pmove/pmove.d.ts","../../../packages/shared/dist/types/pmove/slide.d.ts","../../../packages/shared/dist/types/pmove/stuck.d.ts","../../../packages/shared/dist/types/pmove/currents.d.ts","../../../packages/shared/dist/types/pmove/fly.d.ts","../../../packages/shared/dist/types/pmove/water.d.ts","../../../packages/shared/dist/types/pmove/jump.d.ts","../../../packages/shared/dist/types/pmove/dimensions.d.ts","../../../packages/shared/dist/types/pmove/duck.d.ts","../../../packages/shared/dist/types/pmove/categorize.d.ts","../../../packages/shared/dist/types/pmove/move.d.ts","../../../packages/shared/dist/types/pmove/special.d.ts","../../../packages/shared/dist/types/pmove/snap.d.ts","../../../packages/shared/dist/types/pmove/view.d.ts","../../../packages/shared/dist/types/protocol/usercmd.d.ts","../../../packages/shared/dist/types/protocol/player-state.d.ts","../../../packages/shared/dist/types/protocol/index.d.ts","../../../packages/shared/dist/types/pmove/apply.d.ts","../../../packages/shared/dist/types/index.d.ts","../../../packages/engine/dist/types/loop.d.ts","../../../node_modules/.pnpm/gl-matrix@3.4.4/node_modules/gl-matrix/index.d.ts","../../../packages/engine/dist/types/render/camera.d.ts","../../../packages/engine/dist/types/host.d.ts","../../../packages/engine/dist/types/configstrings.d.ts","../../../packages/engine/dist/types/runtime.d.ts","../../../packages/engine/dist/types/cvars.d.ts","../../../packages/engine/dist/types/assets/pak.d.ts","../../../packages/engine/dist/types/assets/vfs.d.ts","../../../packages/engine/dist/types/assets/pakIndexStore.d.ts","../../../packages/engine/dist/types/assets/pakValidation.d.ts","../../../packages/engine/dist/types/assets/ingestion.d.ts","../../../packages/engine/dist/types/assets/cache.d.ts","../../../packages/engine/dist/types/assets/browserIngestion.d.ts","../../../packages/engine/dist/types/assets/md2.d.ts","../../../packages/engine/dist/types/assets/md3.d.ts","../../../packages/engine/dist/types/assets/animation.d.ts","../../../packages/engine/dist/types/assets/wal.d.ts","../../../packages/engine/dist/types/assets/pcx.d.ts","../../../packages/engine/dist/types/assets/texture.d.ts","../../../packages/engine/dist/types/assets/wav.d.ts","../../../node_modules/.pnpm/@wasm-audio-decoders+common@9.0.7/node_modules/@wasm-audio-decoders/common/types.d.ts","../../../node_modules/.pnpm/codec-parser@2.5.0/node_modules/codec-parser/index.d.ts","../../../node_modules/.pnpm/@wasm-audio-decoders+ogg-vorbis@0.1.20/node_modules/@wasm-audio-decoders/ogg-vorbis/types.d.ts","../../../packages/engine/dist/types/assets/ogg.d.ts","../../../packages/engine/dist/types/assets/audio.d.ts","../../../packages/engine/dist/types/assets/manager.d.ts","../../../packages/engine/dist/types/audio/constants.d.ts","../../../packages/engine/dist/types/audio/context.d.ts","../../../packages/engine/dist/types/audio/registry.d.ts","../../../packages/engine/dist/types/audio/precache.d.ts","../../../packages/engine/dist/types/audio/channels.d.ts","../../../packages/engine/dist/types/audio/spatialization.d.ts","../../../packages/engine/dist/types/audio/system.d.ts","../../../packages/engine/dist/types/audio/music.d.ts","../../../packages/engine/dist/types/audio/api.d.ts","../../../packages/engine/dist/types/render/context.d.ts","../../../packages/engine/dist/types/render/shaderProgram.d.ts","../../../packages/engine/dist/types/render/resources.d.ts","../../../packages/engine/dist/types/render/bsp.d.ts","../../../packages/engine/dist/types/render/culling.d.ts","../../../packages/engine/dist/types/assets/bsp.d.ts","../../../packages/engine/dist/types/render/bspTraversal.d.ts","../../../packages/engine/dist/types/render/bspPipeline.d.ts","../../../packages/engine/dist/types/render/skybox.d.ts","../../../packages/engine/dist/types/render/md2Pipeline.d.ts","../../../packages/engine/dist/types/render/md3Pipeline.d.ts","../../../packages/engine/dist/types/render/particleSystem.d.ts","../../../packages/engine/dist/types/render/frame.d.ts","../../../packages/engine/dist/types/render/scene.d.ts","../../../packages/engine/dist/types/render/renderer.d.ts","../../../packages/engine/dist/types/index.d.ts","../../../packages/client/dist/types/prediction.d.ts","../../../packages/client/dist/types/view-effects.d.ts","../../../packages/client/dist/types/input/bindings.d.ts","../../../packages/client/dist/types/input/controller.d.ts","../../../packages/client/dist/types/input/command-buffer.d.ts","../../../packages/client/dist/types/index.d.ts","../../../packages/game/dist/types/combat/armor.d.ts","../../../packages/game/dist/types/inventory/ammo.d.ts","../../../packages/game/dist/types/inventory/items.d.ts","../../../packages/game/dist/types/combat/weapons/state.d.ts","../../../packages/game/dist/types/inventory/playerInventory.d.ts","../../../packages/game/dist/types/entities/entity.d.ts","../../../packages/game/dist/types/entities/pool.d.ts","../../../packages/game/dist/types/entities/thinkScheduler.d.ts","../../../packages/game/dist/types/entities/callbacks.d.ts","../../../packages/game/dist/types/entities/system.d.ts","../../../packages/game/dist/types/entities/spawn.d.ts","../../../packages/game/dist/types/entities/utils.d.ts","../../../packages/game/dist/types/inventory/index.d.ts","../../../packages/game/dist/types/entities/items/weapons.d.ts","../../../packages/game/dist/types/entities/items/index.d.ts","../../../packages/game/dist/types/entities/index.d.ts","../../../packages/game/dist/types/loop.d.ts","../../../packages/game/dist/types/level.d.ts","../../../packages/game/dist/types/ai/constants.d.ts","../../../packages/game/dist/types/ai/movement.d.ts","../../../packages/game/dist/types/ai/perception.d.ts","../../../packages/game/dist/types/ai/targeting.d.ts","../../../packages/game/dist/types/ai/index.d.ts","../../../packages/game/dist/types/checksum.d.ts","../../../packages/game/dist/types/save/save.d.ts","../../../packages/game/dist/types/save/rerelease.d.ts","../../../packages/game/dist/types/save/storage.d.ts","../../../packages/game/dist/types/save/index.d.ts","../../../packages/game/dist/types/combat/damageFlags.d.ts","../../../packages/game/dist/types/combat/damageMods.d.ts","../../../packages/game/dist/types/combat/damage.d.ts","../../../packages/game/dist/types/combat/specialDamage.d.ts","../../../packages/game/dist/types/combat/weapon.d.ts","../../../packages/game/dist/types/combat/index.d.ts","../../../packages/game/dist/types/index.d.ts","../src/index.ts"],"fileIdsList":[[45,97,103,138],[67,68],[45,97,98,99,100,101,102],[45,101],[45,100],[45,97],[45,98],[54,70],[54,57],[54],[53,54,55,56],[54,60,61,65,71],[45,54],[69],[53],[63,64],[45,75,79,80],[54,74,75],[50,74],[45],[45,74,75,77,78],[46,48],[45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,93,96],[45,84],[45,83],[45,86,87],[47],[48,84,85,86,87,88,89,90],[60,83,84],[45,61,83,84],[45,83,84],[84,94,95],[45,60,61,91,92],[47,83,84],[49,97],[122,123,124,125],[109],[45,109,122],[109,124],[138],[45,104,133],[104,107,132,133,134,135,136],[45,109,133,134],[108],[45,108],[109,110,111,112,113,114,115,118],[117],[109,116,138],[109,113],[109,110,111,112,138],[45,97,109,116,119,121,126,127,131,137],[105,106,108],[105,108],[104,105,106,107],[120],[97],[128,129,130],[45,128],[45,97,116,119,121],[128],[15],[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43,44],[15,25,42],[15,20,25,26],[15,26],[15,20,25,26,34],[15,25,28],[15,25,26,28],[15,25],[15,25,26],[15,20],[15,16,26],[22,23,24,41,42]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"d49d5bc95370fd2ed354d3c9182b058203fff1c1b4970b9e16b2e6f5c9281dca","impliedFormat":99},{"version":"d83e5d9a2f506f4ad57d1b1748912ca6e12550c877978e26f018025eb433474a","impliedFormat":99},{"version":"0a483508d8a864726671af5c9b2d7c78e6c12e1289bef65db7df48930113bd04","impliedFormat":99},{"version":"782a8f80ef32c3ef311ee951903015dd222486a567ac47d24592a5a474ad925e","impliedFormat":99},{"version":"69dcd44cf06f76bc10ff5f85b518be25036d13821d3b23e5a646f6d15eb8bc13","impliedFormat":99},{"version":"47b2256e2f9ea76fdbccbe89c4c287dc4d6da52c1572b3a6bf2df660dac435cd","impliedFormat":99},{"version":"aeadb23fbdfd75addbdbf7a1bc1d4340424a4abbcaf53c94b422549885e7d722","impliedFormat":99},{"version":"5791d843929b2794e757aac45a4791860a4542a163ef0fa062bff83cc4b2783d","impliedFormat":99},{"version":"c4df6bbc7e47590510a0d1874dbc655720cbff06c9cc1dc5f3b453d2efed5181","impliedFormat":99},{"version":"c25445c4bfdf0d850c0d702fcb12c49f68666a3fe116bdd1080e5ab0ab2e947e","impliedFormat":99},{"version":"0663baa12462be4526fc70d40a0512d7c901546d3d2470571a4cecc2403b06b9","impliedFormat":99},{"version":"86a09575cc4f08dffb7d7fa70b00d855e7901da0247d2689ee2b5d68acd72300","impliedFormat":99},{"version":"966b5425870531e51598f864e5da23083ca0f2bc32055c451eff33b59ab1e42b","impliedFormat":99},{"version":"c003de6a72360c6dd4cafb689bd18b196910ec4a2ee299e6b6e7b30b7c976727","impliedFormat":99},{"version":"b74d298d1f2e7dd4b13653cd705f54dfeb0225192ce6adb419d118dc61db51ed","impliedFormat":99},{"version":"28faf4f79dfdb949104d0d954fed83a24c9cdfe98e9799c33e214d1fef29b1bd","impliedFormat":99},{"version":"210e8a5d5576c2902129050e62e4cc7acddd41b4e8be38552639c6d21ff3cee3","impliedFormat":99},{"version":"22e2e64285f7aaef481a744debc998006f8cf463a870cf28f281ee789195e9fb","impliedFormat":99},{"version":"76a9a8b405f17d7ff73b3cb22e7e6fc2832069f5d00dccf927a591bf4996bb01","impliedFormat":99},{"version":"a4e0607cf35a6c1503665e283169f069032fe5acb0f69d4f5ab7d6b328bd3641","impliedFormat":99},{"version":"d3ed5cdf9024e5b707499b95b2f3f36810f3b790e015cc53541ab97dad353ea6","impliedFormat":99},{"version":"f943bb60549649ccb78acc8105de10c1fc77bc4681dfaedfe5330ce6e87a1d9f","impliedFormat":99},{"version":"85c25880de81ca2db6235c99260550f40f2df78dab87b89751e43bfaaa2eae1d","impliedFormat":99},{"version":"df60f25f487e9772ebf83da13db422c038021a2ecdde25a51506e3cd5f5da5a4","impliedFormat":99},{"version":"44f7b5e80a9d42c45264f4c4eb4e300c5a44d9517b0d47aec04a14265a84969d","impliedFormat":99},{"version":"35526be13abff0b287aaec4d8af58a71c77fea57ec9bd1861aaa457284e326dd","impliedFormat":99},{"version":"b5c44500aab4d93e3f8a4fa2106f8d2f9b5acd6bf3d4d8342e822f83c06a2bae","impliedFormat":99},{"version":"c6b3da85ac7c4c79aa23b4572dfdf0b06d82aec988fe1e15303a1082918f9ea5","impliedFormat":99},{"version":"66b59f73e948659a4ed1ade964cfb34012723ebe84f1efe28e15142881dcf2f1","impliedFormat":99},{"version":"9499a4ff2e26c6d174cb3b663258b28f088137d3533e51ebaef546b4b70a4717","impliedFormat":99},{"version":"219fdb5a92f5f74152f2d7a6eff7b7223f830185a433c43569121f1808c606f6","impliedFormat":99},{"version":"f326295459bc2e37b4aee6ffaf4dfb140c571eb4692655b50eac4808bb2432c7","impliedFormat":99},{"version":"e2cc1b44fe89c8955cc6034f5c923897aec13f9212170addd1fc26907725abda","impliedFormat":1},{"version":"30188a38e82cfdbd4afc69489f40ca00ce215f0841449eaa6e10962d49f82fd1","impliedFormat":99},{"version":"3bb47e3294f5f2508e742a170faae826fabf6b8f2934d1438bcc14165ad477b7","impliedFormat":99},{"version":"365faa94635e06fec5429ef9b0f748fad74827ac4e38cc52423cba774ba4fa79","impliedFormat":99},{"version":"88882f29c2529b52230367eaf39866179365b2f805a49acdcd4b0ef7209b3b97","impliedFormat":99},{"version":"f8785dec02fd9af6511c4279183f3e3055b049972c8acaa16271a2806737236f","impliedFormat":99},{"version":"2bce3f6aa4602276fc00d0d84794588d1beae64c54f4700b37cd172eb724a47a","impliedFormat":99},{"version":"65b7c9ff881359f7ec077cbae8eb3f96fde174b4b97feb475d05b88fe5bb082b","impliedFormat":99},{"version":"ed55341a4eb0f507a1ec32970a099d338bcc892fc8251801f94beb0992775c70","impliedFormat":99},{"version":"4b3a10cfc395e7afd02ff4109383bf99ec1c9261d3c83b9d51e9552f04305f4b","impliedFormat":99},{"version":"f736880ccafa360b895f270144495a03dd1d6afdf2dae42b53539ad0c3eac415","impliedFormat":99},{"version":"9e1336e60894b133fe44298c27d688116e57583f634b5c6c3611a061799cc6f7","impliedFormat":99},{"version":"130fc01380b54d83d3a933a7a2345f59bdcb125ed61579051f4a5f86225c9c6b","impliedFormat":99},{"version":"45fa42fe133060ed136c2271960fb7d6b6d93bd1d495e9e6d767275506fe0243","impliedFormat":99},{"version":"58816ca7cc7dce289d8e93f5da0a2dbafc87d3d92b30d413d8b13253096c2f49","impliedFormat":99},{"version":"e60df9ccb1e0e3629b056c425052c00c22e792ff36eea649c88491f5d8c2a3d3","impliedFormat":99},{"version":"3b5d71dbf77000bc41877caf3fab89f7f31a6552ffba33a06235c0e536803e26","impliedFormat":99},{"version":"46a38584e5501276f2a722af3289d4d577408ff75303c3ed42b50cc5fa9585ab","impliedFormat":99},{"version":"ca4119aa952eccd927edcad89e7efe7841704974ce08451a37c05846307b88fd","impliedFormat":99},{"version":"5930eb34141190cb30cd3256c6c560e90415877969a2d023c569b8abe958782b","impliedFormat":99},{"version":"bf88b170306b503c2e09784346c0a2c94df6cc49367295223393c3853b62bc51","impliedFormat":99},{"version":"ecaad34032824725d0d42bb6273c7871bda22b5a46ab01e6c9531064f83ffbb6","impliedFormat":99},{"version":"b45eefdede0e168aad6adee974b09e7150e34b9d7e0a6b52eee3705a1726390b","impliedFormat":99},{"version":"83f8a440fcd6ee2cae3c5d1cb652aa8f2a736ca387664b4d13055108507f55e9","impliedFormat":99},{"version":"5495a66962472db2a8d3ee67fce1d440be723e1c9f724c81cffc84c284427414","impliedFormat":99},{"version":"3aaa3c7f5adc61bd4eb7fcb1b8e1fe882789ce5e347412ed4b5c0eb127497a8a","impliedFormat":99},{"version":"c5a913f33e2491b094539f65baaf8f11a9dd35f82aac43134a450a59528b8845","impliedFormat":99},{"version":"bdbe064d2c0b861d059615ad05cfcf35446c0f84c866d6c45417d4ddf302e49e","impliedFormat":99},{"version":"aa552639fb4b7a17dcf6c83cd909462041ef9ea0aad224f3e048627748f13c08","impliedFormat":99},{"version":"50b0791e9b19af9819e383a27d3c8dff0c2d7023b867314eafb11028462720a8","impliedFormat":99},{"version":"e1fa6490c65472f9e479c518c80286b67ec28c632ebf8c98c4a9bae19ea0f4f7","impliedFormat":99},{"version":"fbe9085fca10f82dc286ac23315b430d515e10322871b2d5c9e337a039b1d683","impliedFormat":99},{"version":"5c7453dfd72b2d8200ea5c00dd89af3ec2e32f437c204dc285805567e8aeac7c","impliedFormat":99},{"version":"631ca1c85059fb2befebc7a52bb7f211abac4245feaad71d54f9a33150677f86","impliedFormat":99},{"version":"0d65b0415426b50512d3e5d56c37850fc91d3ddb40baddee5ee3617158b89594","impliedFormat":99},{"version":"532177b09dd61d4c6549ca8b76394d40ea544e398c4aea8d4a0e736044e947e7","impliedFormat":99},{"version":"bca4895c207f65febbd6c313dc33d9a457246cab60c5fdedfe7f6aca2d438a31","impliedFormat":99},{"version":"bb5e49dc984b7d63add1d5a3cc90a99da6f1f346040d4c4a48c721539e05f5ad","impliedFormat":99},{"version":"d5eab14c127bc83eeec90d5fa5e5e7d52e677095f4e4fc9a0f0612f5f87798fa","impliedFormat":99},{"version":"ed56dce2fcf7992a33915ac1f5cfd959035527e46494eb52536caa0248fcdaf2","impliedFormat":99},{"version":"e5ce83164ac2743c2a942dabfaaf7ad76e55fcd0de956af24b0da5f2426fc843","impliedFormat":99},{"version":"41756c1a064b9df749cab11a32f76705469990b79675810e4925b1d52e94a88a","impliedFormat":99},{"version":"16cbd2f1e6fd67b94e9977558bb4e34498ad7d9946182779c4abb7d3ac7356b8","impliedFormat":99},{"version":"7eb3b52c7bef3688d52cf959e4a809de7ffc8cfe6dee5f4562f069fc4fd4b260","impliedFormat":99},{"version":"e75d4f42de1851ac87f31097b700d9dab0dc6665c29452b49ad09c6e77b4e8bd","impliedFormat":99},{"version":"d6f6d18dfa1ab8083ed3e39c0a8c96e200427677e4c58531a13bd4d54af8247a","impliedFormat":99},{"version":"68542ec8d5d315b558ab897d47425104cf20f83313a552a8b5f1f66130624df1","impliedFormat":99},{"version":"782dec1e9587308dcb609d8ba5c957556b359a258de2f0a937432a22c6056c82","impliedFormat":99},{"version":"578209e1b56c8ce0e593262e7bf918f6e09119c69e5b80376839b559a946a9b6","impliedFormat":99},{"version":"c8b5dc2249088e6a66fe39bf05265723b3c236cba36ab0d2297c20b11cdd603e","impliedFormat":99},{"version":"e460322272867b726bec7fee8195118b47e1a19dd45bde9b82aec6e95d8d2520","impliedFormat":99},{"version":"df2cf652083156f7d8a03f54e30a41201d01e2628ad635195a65a8fd8b0ed9fc","impliedFormat":99},{"version":"8cec88aba24d3c89abc69edb82fff9536695c23f9714dc24464e4631362cb207","impliedFormat":99},{"version":"ae50d3e64e8c408fe19df1cb42824a8fe2e427640d3891d338f18571a4395935","impliedFormat":99},{"version":"0f3364ad7fa4c4c6f87cf328c21c5a111331687abf02c32b4f61c61dc5b928de","impliedFormat":99},{"version":"431ae1c284f830db4225e1dca249fe51e9e22d35821cb7138cc293aa32eaf721","impliedFormat":99},{"version":"cdb7c0b3e9f91cbcfb9530cf4d1614cd27b70f6589f6492118a2debc2683f053","impliedFormat":99},{"version":"8b8090f5d25be84a420275ca169ca838e0551871cac2e12a2f5ec5678e024202","impliedFormat":99},{"version":"0a8b560526c0969a6e880f83d1c602d8103a67abfe2a4d97cba7a9ace8862633","impliedFormat":99},{"version":"db9cfa1d06fd95ae6fb560f78fa9dfe395d3d7955c2cfed051cd5f7f4b877023","impliedFormat":99},{"version":"73d52205519574a00b8d93177e7f84ee17d9a22658b6c1143b4b2aa33a9048c7","impliedFormat":99},{"version":"53933011e2029346656cdb6b574807424335f2751bd6742832db8d2f8abe8b62","impliedFormat":99},{"version":"f82c7057795ab70e2842f9d35fdfcfa8975b14599afe6f78529c1817f49b3c5a","impliedFormat":99},{"version":"fa917f70bdb4374e654206b5b87dc0be3ea9e828cb6577686715653455d2aa48","impliedFormat":99},{"version":"1158007478f3c7cbb71c4c2f3058f27ff1668a8ea41a435ac3483d4cfb8fb0bf","impliedFormat":99},{"version":"8cc08925d7600ddaa476c0f4eb511c5dcb299b5f31e4ae3d9863ad12dbc61425","impliedFormat":99},{"version":"6dc24c09f8d262b10727fd9df20d8dd7ca0adc622fbb9fcf15dda3ae1e860100","impliedFormat":99},{"version":"e391fdbefa505858768a5149cf27b82530c60cb76ae2cdcdea183738fcdb73f0","impliedFormat":99},{"version":"1b73c7d87f6422e777123c34674bb4743759e2ef4af03943bbe05ecd1ba15d92","impliedFormat":99},{"version":"ea27e1cca936c2e6298b271fe9c8c8d8642275f5efb6c4e57a3ba9b0eb62919e","impliedFormat":99},{"version":"3a5da4ac1f71c35c3682a7d7d5606462f65e42f6695a2b16a621d66094ee45ae","impliedFormat":99},{"version":"d4cf06054b3128cab81234c0ab4e6572971a9606134901da1228d39c90a94916","impliedFormat":99},{"version":"c063f33a808c23b56939d1c567dcc8bf5b82e4807b17bc1401bfb601680b608e","impliedFormat":99},{"version":"24000af5590cdad32e1fc1926c5c22a5c9cfff286e5accc6c1c02f9427fa04d5","impliedFormat":99},{"version":"8999a4590a0694b4a831618468b20eb330231c6848c064aecdf4897c4eacea6d","impliedFormat":99},{"version":"55df52f06630bfc0e77da397cdc84bd598ddccbea9c6257f8c5dafe09e4f361a","impliedFormat":99},{"version":"3b1f000a273a7517f81d3c28dc81f1ef51a17a853830c96f26cb0367e2bb9cf5","impliedFormat":99},{"version":"5561a597c9e7ab1fa1b7b079bb1a5bd28832f3074df4dad7537320cf2dda411c","impliedFormat":99},{"version":"59590350bef9c8147087e4bb333e53fa6f640cbe2fedcd06dfaeaf7cae89481f","impliedFormat":99},{"version":"1065d0a8a9d543e21a63a12cf703ec55475930ed8bfd8fc9d553d4e0599e1743","impliedFormat":99},{"version":"1f9dee3d966eda9cd75378ecf995ae04feb1477edf82c792d14a3e7671f54755","impliedFormat":99},{"version":"dfa62841085b466c5bb951149cdd02fb6a00303d08b0eca66229b04b7a934740","impliedFormat":99},{"version":"2f01554e221ba83ad30ea118a15e43f315b0fed918c9bb4b7cdfd1f51e70f9b5","impliedFormat":99},{"version":"4ba9e2bf2c8b102ab8b42458914e3e83532eca240f3063bc4a8ee0f15f2b6e44","impliedFormat":99},{"version":"59d7acab8f5c779acd9e7fe36443afcf44826fe5a245799d7406984dcf9493c8","impliedFormat":99},{"version":"048287fe73fd4a0d3190dc46fe571401098104a3fb48cb48b1535d1ccf238277","impliedFormat":99},{"version":"8673c4add0163c733c3458dc1220ed3696e21fe6c97c9194214b1bf065dff8a4","impliedFormat":99},{"version":"525ca7a877f5ce19ab8c089c86ee9d00aed60071cd41f2ce253d5b24f982c625","impliedFormat":99},{"version":"c4981e6ecfa56d2a3877539b66ff2926b37afbe5e1e3fa9b413c1e6c4617fc94","impliedFormat":99},{"version":"ac68d95de97b4c6898d6c6fbf2ab60c85a5b9513640fe177704d3ebe3bc39349","impliedFormat":99},{"version":"1c0da2b0fe01d8b0d877309261805fa086c46a0d1314a64bd33dcb4533fe7357","impliedFormat":99},{"version":"68be6f2763c137eccbbd4f43773b27238e062a884aa247c5685b4a0343a11f70","impliedFormat":99},{"version":"83e6ae13e8db6d018f9acd3b264fa01c1578155e2fa962dd5528255318fbd4bd","signature":"dfd24b0e7dd67d0554e9b4c98d4d89a861a37ba71be096f2fa327ed0862962e1","impliedFormat":99}],"root":[139],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":199,"outDir":"./types","rootDir":"../src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[139,1],[69,2],[103,3],[102,4],[101,5],[98,6],[99,7],[71,8],[59,9],[87,10],[57,11],[72,12],[60,13],[61,13],[70,14],[55,15],[56,15],[65,16],[54,15],[81,17],[76,18],[75,19],[78,20],[79,21],[52,20],[49,22],[97,23],[85,24],[89,25],[88,26],[48,27],[86,20],[94,28],[91,29],[92,30],[93,31],[96,32],[95,33],[90,34],[51,35],[126,36],[123,37],[124,38],[125,39],[127,40],[104,20],[134,41],[137,42],[135,43],[107,44],[112,37],[109,45],[119,46],[118,47],[117,48],[110,37],[114,49],[113,50],[111,37],[115,20],[138,51],[116,52],[106,53],[108,54],[121,55],[120,56],[131,57],[129,58],[128,59],[130,60],[21,61],[45,62],[16,61],[19,61],[44,63],[36,64],[30,64],[34,65],[35,66],[31,67],[33,65],[37,68],[27,69],[28,69],[39,69],[38,70],[29,69],[25,71],[40,72],[32,64],[43,73],[42,65],[41,65]],"latestChangedDtsFile":"./types/index.d.ts","version":"5.9.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quake2ts",
3
- "version": "0.0.65",
3
+ "version": "0.0.67",
4
4
  "description": "Quake II re-release port to TypeScript with WebGL renderer - A complete game engine with physics, networking, and BSP rendering",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@8.15.7",
@@ -1,2 +1,2 @@
1
- "use strict";var Quake2Client=(()=>{var xe=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var Lt=Object.getOwnPropertyNames;var Ct=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var r in t)xe(e,r,{get:t[r],enumerable:!0})},Rt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Lt(t))!Ct.call(e,i)&&i!==r&&xe(e,i,{get:()=>t[i],enumerable:!(n=bt(t,i))||n.enumerable});return e};var Pt=e=>Rt(xe({},"__esModule",{value:!0}),e);var hi={};ge(hi,{ClientPrediction:()=>q,InputAction:()=>ye,InputBindings:()=>Y,InputCommandBuffer:()=>ve,InputController:()=>J,ViewEffects:()=>Z,createClient:()=>ui,createDefaultBindings:()=>_t,defaultPredictionState:()=>W,interpolatePredictionState:()=>pe,normalizeCommand:()=>ie,normalizeInputCode:()=>Ie});var L=1e-6,F=typeof Float32Array<"u"?Float32Array:Array,we=Math.random;function oe(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var mi=Math.PI/180,pi=180/Math.PI;var P={};ge(P,{add:()=>vr,adjoint:()=>Bt,clone:()=>Ft,copy:()=>Nt,create:()=>Dt,decompose:()=>nr,determinant:()=>Vt,equals:()=>Mr,exactEquals:()=>wr,frob:()=>yr,fromQuat:()=>or,fromQuat2:()=>er,fromRotation:()=>qt,fromRotationTranslation:()=>We,fromRotationTranslationScale:()=>ir,fromRotationTranslationScaleOrigin:()=>sr,fromScaling:()=>$t,fromTranslation:()=>jt,fromValues:()=>It,fromXRotation:()=>Zt,fromYRotation:()=>Jt,fromZRotation:()=>Qt,frustum:()=>ar,getRotation:()=>rr,getScaling:()=>Ye,getTranslation:()=>tr,identity:()=>Ve,invert:()=>Ut,lookAt:()=>fr,mul:()=>Sr,multiply:()=>Ge,multiplyScalar:()=>xr,multiplyScalarAndAdd:()=>gr,ortho:()=>ur,orthoNO:()=>He,orthoZO:()=>hr,perspective:()=>cr,perspectiveFromFieldOfView:()=>dr,perspectiveNO:()=>Xe,perspectiveZO:()=>lr,rotate:()=>Yt,rotateX:()=>Xt,rotateY:()=>Ht,rotateZ:()=>Kt,scale:()=>Wt,set:()=>Ot,str:()=>pr,sub:()=>zr,subtract:()=>Ke,targetTo:()=>mr,translate:()=>Gt,transpose:()=>kt});function Dt(){var e=new F(16);return F!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Ft(e){var t=new F(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Nt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function It(e,t,r,n,i,s,o,a,c,d,l,u,h,m,p,y){var f=new F(16);return f[0]=e,f[1]=t,f[2]=r,f[3]=n,f[4]=i,f[5]=s,f[6]=o,f[7]=a,f[8]=c,f[9]=d,f[10]=l,f[11]=u,f[12]=h,f[13]=m,f[14]=p,f[15]=y,f}function Ot(e,t,r,n,i,s,o,a,c,d,l,u,h,m,p,y,f){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=o,e[6]=a,e[7]=c,e[8]=d,e[9]=l,e[10]=u,e[11]=h,e[12]=m,e[13]=p,e[14]=y,e[15]=f,e}function Ve(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function kt(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Ut(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],d=t[7],l=t[8],u=t[9],h=t[10],m=t[11],p=t[12],y=t[13],f=t[14],v=t[15],S=r*a-n*o,M=r*c-i*o,w=r*d-s*o,x=n*c-i*a,g=n*d-s*a,T=i*d-s*c,A=l*y-u*p,E=l*f-h*p,z=l*v-m*p,b=u*f-h*y,C=u*v-m*y,R=h*v-m*f,_=S*R-M*C+w*b+x*z-g*E+T*A;return _?(_=1/_,e[0]=(a*R-c*C+d*b)*_,e[1]=(i*C-n*R-s*b)*_,e[2]=(y*T-f*g+v*x)*_,e[3]=(h*g-u*T-m*x)*_,e[4]=(c*z-o*R-d*E)*_,e[5]=(r*R-i*z+s*E)*_,e[6]=(f*w-p*T-v*M)*_,e[7]=(l*T-h*w+m*M)*_,e[8]=(o*C-a*z+d*A)*_,e[9]=(n*z-r*C-s*A)*_,e[10]=(p*g-y*w+v*S)*_,e[11]=(u*w-l*g-m*S)*_,e[12]=(a*E-o*b-c*A)*_,e[13]=(r*b-n*E+i*A)*_,e[14]=(y*M-p*x-f*S)*_,e[15]=(l*x-u*M+h*S)*_,e):null}function Bt(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],d=t[7],l=t[8],u=t[9],h=t[10],m=t[11],p=t[12],y=t[13],f=t[14],v=t[15],S=r*a-n*o,M=r*c-i*o,w=r*d-s*o,x=n*c-i*a,g=n*d-s*a,T=i*d-s*c,A=l*y-u*p,E=l*f-h*p,z=l*v-m*p,b=u*f-h*y,C=u*v-m*y,R=h*v-m*f;return e[0]=a*R-c*C+d*b,e[1]=i*C-n*R-s*b,e[2]=y*T-f*g+v*x,e[3]=h*g-u*T-m*x,e[4]=c*z-o*R-d*E,e[5]=r*R-i*z+s*E,e[6]=f*w-p*T-v*M,e[7]=l*T-h*w+m*M,e[8]=o*C-a*z+d*A,e[9]=n*z-r*C-s*A,e[10]=p*g-y*w+v*S,e[11]=u*w-l*g-m*S,e[12]=a*E-o*b-c*A,e[13]=r*b-n*E+i*A,e[14]=y*M-p*x-f*S,e[15]=l*x-u*M+h*S,e}function Vt(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],c=e[7],d=e[8],l=e[9],u=e[10],h=e[11],m=e[12],p=e[13],y=e[14],f=e[15],v=t*o-r*s,S=t*a-n*s,M=r*a-n*o,w=d*p-l*m,x=d*y-u*m,g=l*y-u*p,T=t*g-r*x+n*w,A=s*g-o*x+a*w,E=d*M-l*S+u*v,z=m*M-p*S+y*v;return c*T-i*A+f*E-h*z}function Ge(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],d=t[6],l=t[7],u=t[8],h=t[9],m=t[10],p=t[11],y=t[12],f=t[13],v=t[14],S=t[15],M=r[0],w=r[1],x=r[2],g=r[3];return e[0]=M*n+w*a+x*u+g*y,e[1]=M*i+w*c+x*h+g*f,e[2]=M*s+w*d+x*m+g*v,e[3]=M*o+w*l+x*p+g*S,M=r[4],w=r[5],x=r[6],g=r[7],e[4]=M*n+w*a+x*u+g*y,e[5]=M*i+w*c+x*h+g*f,e[6]=M*s+w*d+x*m+g*v,e[7]=M*o+w*l+x*p+g*S,M=r[8],w=r[9],x=r[10],g=r[11],e[8]=M*n+w*a+x*u+g*y,e[9]=M*i+w*c+x*h+g*f,e[10]=M*s+w*d+x*m+g*v,e[11]=M*o+w*l+x*p+g*S,M=r[12],w=r[13],x=r[14],g=r[15],e[12]=M*n+w*a+x*u+g*y,e[13]=M*i+w*c+x*h+g*f,e[14]=M*s+w*d+x*m+g*v,e[15]=M*o+w*l+x*p+g*S,e}function Gt(e,t,r){var n=r[0],i=r[1],s=r[2],o,a,c,d,l,u,h,m,p,y,f,v;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*s+t[12],e[13]=t[1]*n+t[5]*i+t[9]*s+t[13],e[14]=t[2]*n+t[6]*i+t[10]*s+t[14],e[15]=t[3]*n+t[7]*i+t[11]*s+t[15]):(o=t[0],a=t[1],c=t[2],d=t[3],l=t[4],u=t[5],h=t[6],m=t[7],p=t[8],y=t[9],f=t[10],v=t[11],e[0]=o,e[1]=a,e[2]=c,e[3]=d,e[4]=l,e[5]=u,e[6]=h,e[7]=m,e[8]=p,e[9]=y,e[10]=f,e[11]=v,e[12]=o*n+l*i+p*s+t[12],e[13]=a*n+u*i+y*s+t[13],e[14]=c*n+h*i+f*s+t[14],e[15]=d*n+m*i+v*s+t[15]),e}function Wt(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Yt(e,t,r,n){var i=n[0],s=n[1],o=n[2],a=Math.sqrt(i*i+s*s+o*o),c,d,l,u,h,m,p,y,f,v,S,M,w,x,g,T,A,E,z,b,C,R,_,N;return a<L?null:(a=1/a,i*=a,s*=a,o*=a,c=Math.sin(r),d=Math.cos(r),l=1-d,u=t[0],h=t[1],m=t[2],p=t[3],y=t[4],f=t[5],v=t[6],S=t[7],M=t[8],w=t[9],x=t[10],g=t[11],T=i*i*l+d,A=s*i*l+o*c,E=o*i*l-s*c,z=i*s*l-o*c,b=s*s*l+d,C=o*s*l+i*c,R=i*o*l+s*c,_=s*o*l-i*c,N=o*o*l+d,e[0]=u*T+y*A+M*E,e[1]=h*T+f*A+w*E,e[2]=m*T+v*A+x*E,e[3]=p*T+S*A+g*E,e[4]=u*z+y*b+M*C,e[5]=h*z+f*b+w*C,e[6]=m*z+v*b+x*C,e[7]=p*z+S*b+g*C,e[8]=u*R+y*_+M*N,e[9]=h*R+f*_+w*N,e[10]=m*R+v*_+x*N,e[11]=p*R+S*_+g*N,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Xt(e,t,r){var n=Math.sin(r),i=Math.cos(r),s=t[4],o=t[5],a=t[6],c=t[7],d=t[8],l=t[9],u=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*i+d*n,e[5]=o*i+l*n,e[6]=a*i+u*n,e[7]=c*i+h*n,e[8]=d*i-s*n,e[9]=l*i-o*n,e[10]=u*i-a*n,e[11]=h*i-c*n,e}function Ht(e,t,r){var n=Math.sin(r),i=Math.cos(r),s=t[0],o=t[1],a=t[2],c=t[3],d=t[8],l=t[9],u=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*i-d*n,e[1]=o*i-l*n,e[2]=a*i-u*n,e[3]=c*i-h*n,e[8]=s*n+d*i,e[9]=o*n+l*i,e[10]=a*n+u*i,e[11]=c*n+h*i,e}function Kt(e,t,r){var n=Math.sin(r),i=Math.cos(r),s=t[0],o=t[1],a=t[2],c=t[3],d=t[4],l=t[5],u=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*i+d*n,e[1]=o*i+l*n,e[2]=a*i+u*n,e[3]=c*i+h*n,e[4]=d*i-s*n,e[5]=l*i-o*n,e[6]=u*i-a*n,e[7]=h*i-c*n,e}function jt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function $t(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function qt(e,t,r){var n=r[0],i=r[1],s=r[2],o=Math.sqrt(n*n+i*i+s*s),a,c,d;return o<L?null:(o=1/o,n*=o,i*=o,s*=o,a=Math.sin(t),c=Math.cos(t),d=1-c,e[0]=n*n*d+c,e[1]=i*n*d+s*a,e[2]=s*n*d-i*a,e[3]=0,e[4]=n*i*d-s*a,e[5]=i*i*d+c,e[6]=s*i*d+n*a,e[7]=0,e[8]=n*s*d+i*a,e[9]=i*s*d-n*a,e[10]=s*s*d+c,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Zt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Jt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Qt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function We(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=n+n,c=i+i,d=s+s,l=n*a,u=n*c,h=n*d,m=i*c,p=i*d,y=s*d,f=o*a,v=o*c,S=o*d;return e[0]=1-(m+y),e[1]=u+S,e[2]=h-v,e[3]=0,e[4]=u-S,e[5]=1-(l+y),e[6]=p+f,e[7]=0,e[8]=h+v,e[9]=p-f,e[10]=1-(l+m),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function er(e,t){var r=new F(3),n=-t[0],i=-t[1],s=-t[2],o=t[3],a=t[4],c=t[5],d=t[6],l=t[7],u=n*n+i*i+s*s+o*o;return u>0?(r[0]=(a*o+l*n+c*s-d*i)*2/u,r[1]=(c*o+l*i+d*n-a*s)*2/u,r[2]=(d*o+l*s+a*i-c*n)*2/u):(r[0]=(a*o+l*n+c*s-d*i)*2,r[1]=(c*o+l*i+d*n-a*s)*2,r[2]=(d*o+l*s+a*i-c*n)*2),We(e,t,r),e}function tr(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Ye(e,t){var r=t[0],n=t[1],i=t[2],s=t[4],o=t[5],a=t[6],c=t[8],d=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(s*s+o*o+a*a),e[2]=Math.sqrt(c*c+d*d+l*l),e}function rr(e,t){var r=new F(3);Ye(r,t);var n=1/r[0],i=1/r[1],s=1/r[2],o=t[0]*n,a=t[1]*i,c=t[2]*s,d=t[4]*n,l=t[5]*i,u=t[6]*s,h=t[8]*n,m=t[9]*i,p=t[10]*s,y=o+l+p,f=0;return y>0?(f=Math.sqrt(y+1)*2,e[3]=.25*f,e[0]=(u-m)/f,e[1]=(h-c)/f,e[2]=(a-d)/f):o>l&&o>p?(f=Math.sqrt(1+o-l-p)*2,e[3]=(u-m)/f,e[0]=.25*f,e[1]=(a+d)/f,e[2]=(h+c)/f):l>p?(f=Math.sqrt(1+l-o-p)*2,e[3]=(h-c)/f,e[0]=(a+d)/f,e[1]=.25*f,e[2]=(u+m)/f):(f=Math.sqrt(1+p-o-l)*2,e[3]=(a-d)/f,e[0]=(h+c)/f,e[1]=(u+m)/f,e[2]=.25*f),e}function nr(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];var i=n[0],s=n[1],o=n[2],a=n[4],c=n[5],d=n[6],l=n[8],u=n[9],h=n[10];r[0]=Math.sqrt(i*i+s*s+o*o),r[1]=Math.sqrt(a*a+c*c+d*d),r[2]=Math.sqrt(l*l+u*u+h*h);var m=1/r[0],p=1/r[1],y=1/r[2],f=i*m,v=s*p,S=o*y,M=a*m,w=c*p,x=d*y,g=l*m,T=u*p,A=h*y,E=f+w+A,z=0;return E>0?(z=Math.sqrt(E+1)*2,e[3]=.25*z,e[0]=(x-T)/z,e[1]=(g-S)/z,e[2]=(v-M)/z):f>w&&f>A?(z=Math.sqrt(1+f-w-A)*2,e[3]=(x-T)/z,e[0]=.25*z,e[1]=(v+M)/z,e[2]=(g+S)/z):w>A?(z=Math.sqrt(1+w-f-A)*2,e[3]=(g-S)/z,e[0]=(v+M)/z,e[1]=.25*z,e[2]=(x+T)/z):(z=Math.sqrt(1+A-f-w)*2,e[3]=(v-M)/z,e[0]=(g+S)/z,e[1]=(x+T)/z,e[2]=.25*z),e}function ir(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=t[3],c=i+i,d=s+s,l=o+o,u=i*c,h=i*d,m=i*l,p=s*d,y=s*l,f=o*l,v=a*c,S=a*d,M=a*l,w=n[0],x=n[1],g=n[2];return e[0]=(1-(p+f))*w,e[1]=(h+M)*w,e[2]=(m-S)*w,e[3]=0,e[4]=(h-M)*x,e[5]=(1-(u+f))*x,e[6]=(y+v)*x,e[7]=0,e[8]=(m+S)*g,e[9]=(y-v)*g,e[10]=(1-(u+p))*g,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function sr(e,t,r,n,i){var s=t[0],o=t[1],a=t[2],c=t[3],d=s+s,l=o+o,u=a+a,h=s*d,m=s*l,p=s*u,y=o*l,f=o*u,v=a*u,S=c*d,M=c*l,w=c*u,x=n[0],g=n[1],T=n[2],A=i[0],E=i[1],z=i[2],b=(1-(y+v))*x,C=(m+w)*x,R=(p-M)*x,_=(m-w)*g,N=(1-(h+v))*g,Q=(f+S)*g,ee=(p+M)*T,ke=(f-S)*T,Ue=(1-(h+y))*T;return e[0]=b,e[1]=C,e[2]=R,e[3]=0,e[4]=_,e[5]=N,e[6]=Q,e[7]=0,e[8]=ee,e[9]=ke,e[10]=Ue,e[11]=0,e[12]=r[0]+A-(b*A+_*E+ee*z),e[13]=r[1]+E-(C*A+N*E+ke*z),e[14]=r[2]+z-(R*A+Q*E+Ue*z),e[15]=1,e}function or(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=r+r,a=n+n,c=i+i,d=r*o,l=n*o,u=n*a,h=i*o,m=i*a,p=i*c,y=s*o,f=s*a,v=s*c;return e[0]=1-u-p,e[1]=l+v,e[2]=h-f,e[3]=0,e[4]=l-v,e[5]=1-d-p,e[6]=m+y,e[7]=0,e[8]=h+f,e[9]=m-y,e[10]=1-d-u,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ar(e,t,r,n,i,s,o){var a=1/(r-t),c=1/(i-n),d=1/(s-o);return e[0]=s*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s*2*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+n)*c,e[10]=(o+s)*d,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*s*2*d,e[15]=0,e}function Xe(e,t,r,n,i){var s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var cr=Xe;function lr(e,t,r,n,i){var s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function dr(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),c=2/(o+a),d=2/(i+s);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=d,e[6]=0,e[7]=0,e[8]=-((o-a)*c*.5),e[9]=(i-s)*d*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function He(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),d=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*d,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=(o+s)*d,e[15]=1,e}var ur=He;function hr(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),d=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=d,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=s*d,e[15]=1,e}function fr(e,t,r,n){var i,s,o,a,c,d,l,u,h,m,p=t[0],y=t[1],f=t[2],v=n[0],S=n[1],M=n[2],w=r[0],x=r[1],g=r[2];return Math.abs(p-w)<L&&Math.abs(y-x)<L&&Math.abs(f-g)<L?Ve(e):(l=p-w,u=y-x,h=f-g,m=1/Math.sqrt(l*l+u*u+h*h),l*=m,u*=m,h*=m,i=S*h-M*u,s=M*l-v*h,o=v*u-S*l,m=Math.sqrt(i*i+s*s+o*o),m?(m=1/m,i*=m,s*=m,o*=m):(i=0,s=0,o=0),a=u*o-h*s,c=h*i-l*o,d=l*s-u*i,m=Math.sqrt(a*a+c*c+d*d),m?(m=1/m,a*=m,c*=m,d*=m):(a=0,c=0,d=0),e[0]=i,e[1]=a,e[2]=l,e[3]=0,e[4]=s,e[5]=c,e[6]=u,e[7]=0,e[8]=o,e[9]=d,e[10]=h,e[11]=0,e[12]=-(i*p+s*y+o*f),e[13]=-(a*p+c*y+d*f),e[14]=-(l*p+u*y+h*f),e[15]=1,e)}function mr(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=n[0],c=n[1],d=n[2],l=i-r[0],u=s-r[1],h=o-r[2],m=l*l+u*u+h*h;m>0&&(m=1/Math.sqrt(m),l*=m,u*=m,h*=m);var p=c*h-d*u,y=d*l-a*h,f=a*u-c*l;return m=p*p+y*y+f*f,m>0&&(m=1/Math.sqrt(m),p*=m,y*=m,f*=m),e[0]=p,e[1]=y,e[2]=f,e[3]=0,e[4]=u*f-h*y,e[5]=h*p-l*f,e[6]=l*y-u*p,e[7]=0,e[8]=l,e[9]=u,e[10]=h,e[11]=0,e[12]=i,e[13]=s,e[14]=o,e[15]=1,e}function pr(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function yr(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function vr(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Ke(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function xr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function gr(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function wr(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function Mr(e,t){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],c=e[6],d=e[7],l=e[8],u=e[9],h=e[10],m=e[11],p=e[12],y=e[13],f=e[14],v=e[15],S=t[0],M=t[1],w=t[2],x=t[3],g=t[4],T=t[5],A=t[6],E=t[7],z=t[8],b=t[9],C=t[10],R=t[11],_=t[12],N=t[13],Q=t[14],ee=t[15];return Math.abs(r-S)<=L*Math.max(1,Math.abs(r),Math.abs(S))&&Math.abs(n-M)<=L*Math.max(1,Math.abs(n),Math.abs(M))&&Math.abs(i-w)<=L*Math.max(1,Math.abs(i),Math.abs(w))&&Math.abs(s-x)<=L*Math.max(1,Math.abs(s),Math.abs(x))&&Math.abs(o-g)<=L*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(a-T)<=L*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(c-A)<=L*Math.max(1,Math.abs(c),Math.abs(A))&&Math.abs(d-E)<=L*Math.max(1,Math.abs(d),Math.abs(E))&&Math.abs(l-z)<=L*Math.max(1,Math.abs(l),Math.abs(z))&&Math.abs(u-b)<=L*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(h-C)<=L*Math.max(1,Math.abs(h),Math.abs(C))&&Math.abs(m-R)<=L*Math.max(1,Math.abs(m),Math.abs(R))&&Math.abs(p-_)<=L*Math.max(1,Math.abs(p),Math.abs(_))&&Math.abs(y-N)<=L*Math.max(1,Math.abs(y),Math.abs(N))&&Math.abs(f-Q)<=L*Math.max(1,Math.abs(f),Math.abs(Q))&&Math.abs(v-ee)<=L*Math.max(1,Math.abs(v),Math.abs(ee))}var Sr=Ge,zr=Ke;var D={};ge(D,{add:()=>br,angle:()=>Zr,bezier:()=>Wr,ceil:()=>Lr,clone:()=>Ar,copy:()=>Er,create:()=>je,cross:()=>Ur,dist:()=>on,distance:()=>Qe,div:()=>sn,divide:()=>Je,dot:()=>Me,equals:()=>tn,exactEquals:()=>en,floor:()=>Cr,forEach:()=>dn,fromValues:()=>Tr,hermite:()=>Gr,inverse:()=>Or,len:()=>cn,length:()=>$e,lerp:()=>Br,max:()=>Pr,min:()=>Rr,mul:()=>nn,multiply:()=>Ze,negate:()=>Ir,normalize:()=>kr,random:()=>Yr,rotateX:()=>jr,rotateY:()=>$r,rotateZ:()=>qr,round:()=>Dr,scale:()=>Fr,scaleAndAdd:()=>Nr,set:()=>_r,slerp:()=>Vr,sqrDist:()=>an,sqrLen:()=>ln,squaredDistance:()=>et,squaredLength:()=>tt,str:()=>Qr,sub:()=>rn,subtract:()=>qe,transformMat3:()=>Hr,transformMat4:()=>Xr,transformQuat:()=>Kr,zero:()=>Jr});function je(){var e=new F(3);return F!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Ar(e){var t=new F(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function $e(e){var t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function Tr(e,t,r){var n=new F(3);return n[0]=e,n[1]=t,n[2]=r,n}function Er(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function _r(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function br(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function qe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Ze(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Je(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Lr(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function Cr(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Rr(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function Pr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function Dr(e,t){return e[0]=oe(t[0]),e[1]=oe(t[1]),e[2]=oe(t[2]),e}function Fr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Nr(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function Qe(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function et(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function tt(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function Ir(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function Or(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function kr(e,t){var r=t[0],n=t[1],i=t[2],s=r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function Me(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ur(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[0],a=r[1],c=r[2];return e[0]=i*c-s*a,e[1]=s*o-n*c,e[2]=n*a-i*o,e}function Br(e,t,r,n){var i=t[0],s=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=o+n*(r[2]-o),e}function Vr(e,t,r,n){var i=Math.acos(Math.min(Math.max(Me(t,r),-1),1)),s=Math.sin(i),o=Math.sin((1-n)*i)/s,a=Math.sin(n*i)/s;return e[0]=o*t[0]+a*r[0],e[1]=o*t[1]+a*r[1],e[2]=o*t[2]+a*r[2],e}function Gr(e,t,r,n,i,s){var o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,d=o*(s-1),l=o*(3-2*s);return e[0]=t[0]*a+r[0]*c+n[0]*d+i[0]*l,e[1]=t[1]*a+r[1]*c+n[1]*d+i[1]*l,e[2]=t[2]*a+r[2]*c+n[2]*d+i[2]*l,e}function Wr(e,t,r,n,i,s){var o=1-s,a=o*o,c=s*s,d=a*o,l=3*s*a,u=3*c*o,h=c*s;return e[0]=t[0]*d+r[0]*l+n[0]*u+i[0]*h,e[1]=t[1]*d+r[1]*l+n[1]*u+i[1]*h,e[2]=t[2]*d+r[2]*l+n[2]*u+i[2]*h,e}function Yr(e,t){t=t===void 0?1:t;var r=we()*2*Math.PI,n=we()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Xr(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,e}function Hr(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e}function Kr(e,t,r){var n=r[0],i=r[1],s=r[2],o=r[3],a=t[0],c=t[1],d=t[2],l=i*d-s*c,u=s*a-n*d,h=n*c-i*a;return l=l+l,u=u+u,h=h+h,e[0]=a+o*l+i*h-s*u,e[1]=c+o*u+s*l-n*h,e[2]=d+o*h+n*u-i*l,e}function jr(e,t,r,n){var i=[],s=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],s[0]=i[0],s[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),s[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function $r(e,t,r,n){var i=[],s=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],s[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),s[1]=i[1],s[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function qr(e,t,r,n){var i=[],s=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],s[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),s[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),s[2]=i[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function Zr(e,t){var r=e[0],n=e[1],i=e[2],s=t[0],o=t[1],a=t[2],c=Math.sqrt((r*r+n*n+i*i)*(s*s+o*o+a*a)),d=c&&Me(e,t)/c;return Math.acos(Math.min(Math.max(d,-1),1))}function Jr(e){return e[0]=0,e[1]=0,e[2]=0,e}function Qr(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"}function en(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function tn(e,t){var r=e[0],n=e[1],i=e[2],s=t[0],o=t[1],a=t[2];return Math.abs(r-s)<=L*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-o)<=L*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-a)<=L*Math.max(1,Math.abs(i),Math.abs(a))}var rn=qe,nn=Ze,sn=Je,on=Qe,an=et,cn=$e,ln=tt,dn=(function(){var e=je();return function(t,r,n,i,s,o){var a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,t.length):c=t.length,a=n;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],s(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}})();var vi=Math.PI/180;var un=Math.PI/180,xi=180/Math.PI,te=un;var I=1,B=2;var Te=8,Ee=16,hn=32;var fn=16384;var ae=65536,rt=1<<17,mn=1<<18,pn=1<<19,yn=1<<20,vn=1<<21,xn=1<<22,gn=1<<23,gi=1<<24,ce=1<<25,wn=1<<26,wi=1<<27,Mi=1<<28,Si=1<<29,le=1<<30,zi=1<<31;var Ai=1<<25,Ti=1<<28,Ei=1<<29,_i=1<<30,bi=1<<31,Li=I|B,Ci=I|ae|B|ce|le,Ri=I|ae|B,Pi=I|rt|B|ce|le,Di=hn|Te|Ee,Fi=I|Ee|Te,Mn=I|ce|le|B|wn,Ni=mn|pn|yn|vn|xn|gn,Ii=I|Te|Ee|ce|le,Oi=I|ae|B,ki=I|B,Ui=I|ae|B|rt,Bi=Mn|fn,Vi=Number.MAX_SAFE_INTEGER-1;var nt=256,Sn=256,zn=8192,An=2048,Tn=512,En=256,_n=nt*2,bn=256,Se=32;var it=(e=>(e[e.Name=0]="Name",e[e.CdTrack=1]="CdTrack",e[e.Sky=2]="Sky",e[e.SkyAxis=3]="SkyAxis",e[e.SkyRotate=4]="SkyRotate",e[e.StatusBar=5]="StatusBar",e[e.AirAccel=59]="AirAccel",e[e.MaxClients=60]="MaxClients",e[e.MapChecksum=61]="MapChecksum",e[e.Models=62]="Models",e[e.Sounds=62+zn]="Sounds",e[e.Images=e.Sounds+An]="Images",e[e.Lights=e.Images+Tn]="Lights",e[e.ShadowLights=e.Lights+Sn]="ShadowLights",e[e.Items=e.ShadowLights+bn]="Items",e[e.PlayerSkins=e.Items+En]="PlayerSkins",e[e.General=e.PlayerSkins+nt]="General",e[e.WheelWeapons=e.General+_n]="WheelWeapons",e[e.WheelAmmo=e.WheelWeapons+Se]="WheelAmmo",e[e.WheelPowerups=e.WheelAmmo+Se]="WheelPowerups",e[e.CdLoopCount=e.WheelPowerups+Se]="CdLoopCount",e[e.GameStyle=e.CdLoopCount+1]="GameStyle",e[e.MaxConfigStrings=e.GameStyle+1]="MaxConfigStrings",e))(it||{}),Gi=it.MaxConfigStrings;function Ln(){let e=new Uint32Array(256);for(let t=0;t<256;t+=1){let r=t;for(let n=0;n<8;n+=1)r=(r&1)!==0?3988292384^r>>>1:r>>>1;e[t]=r>>>0}return e}var Wi=Ln();var Yi=Object.freeze([{name:"pak0.pak",checksum:2378051181,description:"Base game assets"},{name:"pak0.pak@baseq2",checksum:2378051181,description:"Base game assets (baseq2)"},{name:"pak0.pak@rogue",checksum:3373211245,description:"Ground Zero (rogue) mission pack"},{name:"pak0.pak@xatrix",checksum:1358269824,description:"The Reckoning (xatrix) mission pack"}]);var Ae=4,ze=7*Ae,Xi=[{index:0,size:3,type:5126,stride:ze,offset:0},{index:1,size:2,type:5126,stride:ze,offset:3*Ae},{index:2,size:2,type:5126,stride:ze,offset:5*Ae}];var Hi=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,1,1,1,-1,1,-1,1,-1,-1,1,1,1,1,1,-1,1,-1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1]);var st=class{constructor(){this._position=D.create(),this._angles=D.create(),this._fov=90,this._aspect=1,this._near=.1,this._far=1e3,this._viewMatrix=P.create(),this._projectionMatrix=P.create(),this._viewProjectionMatrix=P.create(),this._dirty=!0}get position(){return this._position}set position(e){D.copy(this._position,e),this._dirty=!0}get angles(){return this._angles}set angles(e){D.copy(this._angles,e),this._dirty=!0}get fov(){return this._fov}set fov(e){this._fov=e,this._dirty=!0}get aspect(){return this._aspect}set aspect(e){this._aspect=e,this._dirty=!0}get viewMatrix(){return this.updateMatrices(),this._viewMatrix}get projectionMatrix(){return this.updateMatrices(),this._projectionMatrix}get viewProjectionMatrix(){return this.updateMatrices(),this._viewProjectionMatrix}getViewmodelProjectionMatrix(e){let t=P.create();return P.perspective(t,e*te,this._aspect,this._near,this._far),t}updateMatrices(){if(!this._dirty)return;P.perspective(this._projectionMatrix,this._fov*te,this._aspect,this._near,this._far);let e=P.fromValues(0,-1,0,0,0,0,1,0,-1,0,0,0,0,0,0,1),t=this._angles[0]*te,r=this._angles[1]*te,n=this._angles[2]*te,i=P.create();P.identity(i),P.rotateZ(i,i,-r),P.rotateY(i,i,-t),P.rotateX(i,i,-n);let s=P.create();P.multiply(s,e,i);let o=D.negate(D.create(),this._position),a=D.create();D.transformMat4(a,o,i);let c=D.fromValues(a[1]||0,a[2]||0,a[0]||0);P.copy(this._viewMatrix,s),this._viewMatrix[12]=c[0],this._viewMatrix[13]=c[1],this._viewMatrix[14]=c[2],P.multiply(this._viewProjectionMatrix,this._projectionMatrix,this._viewMatrix),this._dirty=!1}};var ot={x:0,y:0,z:0};var qi=Math.PI/180;function re(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function H(e,t){return{x:e.x*t,y:e.y*t,z:e.z*t}}function K(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function Cn(e){return K(e,e)}function de(e){return Math.sqrt(Cn(e))}function at(e){let t=de(e);return t===0?e:H(e,1/t)}var ct=0,lt=1,dt=2,Rn=Math.PI/180,Zi=180/Math.PI;function _e(e,t){switch(t){case ct:return e.x;case lt:return e.y;case dt:default:return e.z}}function be(e){return e*Rn}function X(e){let t=e%360;return t<0?360+t:t}function Ce(e){let t=be(_e(e,lt)),r=be(_e(e,ct)),n=be(_e(e,dt)),i=Math.sin(t),s=Math.cos(t),o=Math.sin(r),a=Math.cos(r),c=Math.sin(n),d=Math.cos(n),l={x:a*s,y:a*i,z:-o},u={x:-c*o*s-d*-i,y:-c*o*i-d*s,z:-c*a},h={x:d*o*s-c*-i,y:d*o*i-c*s,z:d*a};return{forward:l,right:u,up:h}}var O=1,V=2;var Re=8,Pe=16,Pn=32;var Dn=16384;var ue=65536,ut=1<<17,Fn=1<<18,Nn=1<<19,In=1<<20,On=1<<21,kn=1<<22,Un=1<<23,Ji=1<<24,he=1<<25,Bn=1<<26,Qi=1<<27,es=1<<28,ts=1<<29,fe=1<<30,rs=1<<31;var ns=1<<25,is=1<<28,ss=1<<29,os=1<<30,as=1<<31;var cs=O|V,ls=O|ue|V|he|fe,ds=O|ue|V,us=O|ut|V|he|fe,hs=Pn|Re|Pe,fs=O|Pe|Re,Vn=O|he|fe|V|Bn,ms=Fn|Nn|In|On|kn|Un,ps=O|Re|Pe|he|fe,ys=O|ue|V,vs=O|V,xs=O|ue|V|ut,gs=Vn|Dn;var ws=Number.MAX_SAFE_INTEGER-1;var ht=256;var Gn=256,Wn=8192,Yn=2048,Xn=512,Hn=256,Kn=ht*2,jn=256,Le=32;var ft=(e=>(e[e.Name=0]="Name",e[e.CdTrack=1]="CdTrack",e[e.Sky=2]="Sky",e[e.SkyAxis=3]="SkyAxis",e[e.SkyRotate=4]="SkyRotate",e[e.StatusBar=5]="StatusBar",e[e.AirAccel=59]="AirAccel",e[e.MaxClients=60]="MaxClients",e[e.MapChecksum=61]="MapChecksum",e[e.Models=62]="Models",e[e.Sounds=62+Wn]="Sounds",e[e.Images=e.Sounds+Yn]="Images",e[e.Lights=e.Images+Xn]="Lights",e[e.ShadowLights=e.Lights+Gn]="ShadowLights",e[e.Items=e.ShadowLights+jn]="Items",e[e.PlayerSkins=e.Items+Hn]="PlayerSkins",e[e.General=e.PlayerSkins+ht]="General",e[e.WheelWeapons=e.General+Kn]="WheelWeapons",e[e.WheelAmmo=e.WheelWeapons+Le]="WheelAmmo",e[e.WheelPowerups=e.WheelAmmo+Le]="WheelPowerups",e[e.CdLoopCount=e.WheelPowerups+Le]="CdLoopCount",e[e.GameStyle=e.CdLoopCount+1]="GameStyle",e[e.MaxConfigStrings=e.GameStyle+1]="MaxConfigStrings",e))(ft||{}),Ms=ft.MaxConfigStrings;var ne=(e=>(e[e.None=0]="None",e[e.Feet=1]="Feet",e[e.Waist=2]="Waist",e[e.Under=3]="Under",e))(ne||{});var k=(e=>(e[e.Ducked=1]="Ducked",e[e.JumpHeld=2]="JumpHeld",e[e.OnGround=4]="OnGround",e[e.TimeWaterJump=8]="TimeWaterJump",e[e.TimeLand=16]="TimeLand",e[e.TimeTeleport=32]="TimeTeleport",e[e.NoPositionalPrediction=64]="NoPositionalPrediction",e[e.OnLadder=128]="OnLadder",e[e.NoAngularPrediction=256]="NoAngularPrediction",e[e.IgnorePlayerCollision=512]="IgnorePlayerCollision",e[e.TimeTrick=1024]="TimeTrick",e))(k||{});function G(e,t){return(e&t)!==0}var De=(e=>(e[e.Normal=0]="Normal",e[e.Grapple=1]="Grapple",e[e.NoClip=2]="NoClip",e[e.Spectator=3]="Spectator",e[e.Dead=4]="Dead",e[e.Gib=5]="Gib",e[e.Freeze=6]="Freeze",e))(De||{}),U=(e=>(e[e.None=0]="None",e[e.Attack=1]="Attack",e[e.Use=2]="Use",e[e.Holster=4]="Holster",e[e.Jump=8]="Jump",e[e.Crouch=16]="Crouch",e[e.Any=128]="Any",e))(U||{});function mt(e){let{velocity:t,frametime:r,onGround:n,groundIsSlick:i,onLadder:s,waterlevel:o,pmFriction:a,pmStopSpeed:c,pmWaterFriction:d}=e,l=de(t);if(l<1)return{x:0,y:0,z:t.z};let u=0;if(n&&!i||s){let p=l<c?c:l;u+=p*a*r}o>0&&!s&&(u+=l*d*o*r);let h=l-u;if(h<0&&(h=0),h===l)return t;let m=h/l;return H(t,m)}function Fe(e){let{velocity:t,wishdir:r,wishspeed:n,accel:i,frametime:s}=e,o=K(t,r),a=n-o;if(a<=0)return t;let c=i*s*n;return c>a&&(c=a),{x:t.x+r.x*c,y:t.y+r.y*c,z:t.z+r.z*c}}function pt(e){let{velocity:t,wishdir:r,wishspeed:n,accel:i,frametime:s}=e,o=Math.min(n,30),a=K(t,r),c=o-a;if(c<=0)return t;let d=i*n*s;return d>c&&(d=c),{x:t.x+r.x*d,y:t.y+r.y*d,z:t.z+r.z*d}}function yt(e){let{forward:t,right:r,cmd:n,maxSpeed:i}=e,s={x:t.x*n.forwardmove+r.x*n.sidemove,y:t.y*n.forwardmove+r.y*n.sidemove,z:0},o=de(s);if(o>i){let a=i/o;s=H(s,a),o=i}return{wishdir:o===0?s:at(s),wishspeed:o}}function vt(e){let{forward:t,right:r,cmd:n,maxSpeed:i}=e,s={x:t.x*n.forwardmove+r.x*n.sidemove,y:t.y*n.forwardmove+r.y*n.sidemove,z:0};n.upmove>10?s=re(s,{x:0,y:0,z:n.upmove}):n.upmove<-10?s=re(s,{x:0,y:0,z:n.upmove}):s=re(s,{x:0,y:0,z:10});let o=de(s);if(o>i){let a=i/o;s=H(s,a),o=i}return o*=.5,{wishdir:o===0?s:at(s),wishspeed:o}}function $n(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function qn(e){return e>89&&e<180?89:e<271&&e>=180?271:e}function me(e){let{pmFlags:t,cmdAngles:r,deltaAngles:n}=e,i;(t&32)!==0?i={x:0,y:r.y+n.y,z:0}:(i=$n(r,n),i={...i,x:qn(i.x)});let s=Ce(i);return{viewangles:i,...s}}var xt=200,gt=200,wt=200,Mt=140,St=150,zt=3;function Zn(e){let t=X(e);return t>89&&t<180?89:t<271&&t>=180?271:t}function At(e,t){return{x:Zn(e.x+t.x),y:X(e.y+t.y),z:X(e.z+t.z)}}function Tt(e,t){let r=t.sensitivityX??t.sensitivity,n=(t.sensitivityY??t.sensitivity)*(t.invertY?-1:1);return{x:e.deltaY*n,y:e.deltaX*r,z:0}}var Jn={pmFriction:6,pmStopSpeed:100,pmAccelerate:10,pmAirAccelerate:1,pmWaterAccelerate:4,pmWaterFriction:1,pmMaxSpeed:300,pmDuckSpeed:100,pmWaterSpeed:400,groundIsSlick:!1},Qn=800,$={x:0,y:0,z:0},ei=250;function W(){return{origin:$,velocity:$,viewangles:$,pmFlags:k.OnGround,pmType:De.Normal,waterlevel:ne.None,gravity:Qn,deltaAngles:$}}function Et(e){return e?{...W(),...e,origin:{...e.origin},velocity:{...e.velocity},viewangles:{...e.viewangles},deltaAngles:e.deltaAngles?{...e.deltaAngles}:$}:W()}function j(e,t,r){return e+(t-e)*r}function Ne(e,t,r){let n=X(t-e);return n>180&&(n-=360),X(e+n*r)}function pe(e,t,r){let n=Math.max(0,Math.min(r,1));return{origin:{x:j(e.origin.x,t.origin.x,n),y:j(e.origin.y,t.origin.y,n),z:j(e.origin.z,t.origin.z,n)},velocity:{x:j(e.velocity.x,t.velocity.x,n),y:j(e.velocity.y,t.velocity.y,n),z:j(e.velocity.z,t.velocity.z,n)},viewangles:{x:Ne(e.viewangles.x,t.viewangles.x,n),y:Ne(e.viewangles.y,t.viewangles.y,n),z:Ne(e.viewangles.z,t.viewangles.z,n)},pmFlags:t.pmFlags,pmType:t.pmType,waterlevel:t.waterlevel,gravity:t.gravity,deltaAngles:t.deltaAngles}}function ti(e,t,r,n){let i=Math.min(Math.max(t.msec,0),ei)/1e3,s=G(e.pmFlags,k.OnGround),o=G(e.pmFlags,k.OnLadder),a=mt({velocity:e.velocity,frametime:i,onGround:s,groundIsSlick:r.groundIsSlick,onLadder:o,waterlevel:e.waterlevel,pmFriction:r.pmFriction,pmStopSpeed:r.pmStopSpeed,pmWaterFriction:r.pmWaterFriction}),{viewangles:c,forward:d,right:l}=me({pmFlags:e.pmFlags,cmdAngles:t.angles,deltaAngles:e.deltaAngles??$}),u=e.waterlevel>ne.None?vt({forward:d,right:l,cmd:t,maxSpeed:r.pmWaterSpeed}):yt({forward:d,right:l,cmd:t,maxSpeed:r.pmMaxSpeed});if(e.waterlevel>ne.None)a=Fe({velocity:a,wishdir:u.wishdir,wishspeed:u.wishspeed,accel:r.pmWaterAccelerate,frametime:i});else if(s||o){let p=G(e.pmFlags,k.Ducked)?r.pmDuckSpeed:r.pmMaxSpeed,y=u.wishspeed>p?{wishdir:u.wishdir,wishspeed:p}:u;a=Fe({velocity:a,wishdir:y.wishdir,wishspeed:y.wishspeed,accel:r.pmAccelerate,frametime:i})}else a=pt({velocity:a,wishdir:u.wishdir,wishspeed:u.wishspeed,accel:r.pmAirAccelerate,frametime:i}),a={...a,z:a.z-e.gravity*i};let m=n(e.origin,re(e.origin,H(a,i))).endpos;return{...e,origin:m,velocity:a,viewangles:c}}var q=class{constructor(t,r={}){this.baseFrame={frame:0,timeMs:0,state:W()};this.commands=[];this.predicted=W();this.settings={...Jn,...r},this.trace=t,this.predicted=this.baseFrame.state??W()}setAuthoritative(t){let r=Et(t.state);return this.baseFrame={...t,state:r},this.commands=this.commands.filter(n=>(n.serverFrame??Number.MAX_SAFE_INTEGER)>t.frame),this.recompute()}enqueueCommand(t){return this.commands.push(t),this.recompute()}getPredictedState(){return this.predicted}recompute(){let t=Et(this.baseFrame.state);for(let r of this.commands)t=ti(t,r,this.settings,this.trace);return this.predicted=t,t}};var ri={runPitch:.002,runRoll:.005,bobUp:.005,bobPitch:.002,bobRoll:.002,maxBobHeight:6,maxBobAngle:1.2};function ni(e){return{x:Math.max(-14,Math.min(14,e.x)),y:Math.max(-14,Math.min(14,e.y)),z:Math.max(-22,Math.min(30,e.z))}}function ii(e,t,r){return t?e>210?r/400:e>100?r/800:r/1600:0}function si(e,t,r,n,i){if(t<5)return{bobTime:0,bobCycle:0,bobCycleRun:0,bobFracSin:0};let s=ii(t,n,i),o=e+s,c=G(r,k.Ducked)&&n?o*4:o;return{bobTime:o,bobCycle:Math.floor(c),bobCycleRun:Math.floor(o),bobFracSin:Math.abs(Math.sin(c*Math.PI))}}var Z=class{constructor(t={}){this.bobTime=0;this.bobCycle=0;this.bobCycleRun=0;this.bobFracSin=0;this.settings={...ri,...t}}addKick(t){t.durationMs<=0||(this.kick={...t,remainingMs:t.durationMs})}get last(){return this.lastSample}sample(t,r){let{forward:n,right:i}=Ce(me({pmFlags:t.pmFlags,cmdAngles:t.viewangles,deltaAngles:t.deltaAngles??ot}).viewangles),s=Math.sqrt(t.velocity.x*t.velocity.x+t.velocity.y*t.velocity.y),o=G(t.pmFlags,k.OnGround),a=si(this.bobTime,s,t.pmFlags,o,r);this.bobTime=a.bobTime,this.bobCycle=a.bobCycle,this.bobCycleRun=a.bobCycleRun,this.bobFracSin=a.bobFracSin;let c=K(t.velocity,n)*this.settings.runPitch,d=K(t.velocity,i)*this.settings.runRoll,l=this.bobFracSin*this.settings.bobPitch*s,u=this.bobFracSin*this.settings.bobRoll*s;G(t.pmFlags,k.Ducked)&&o&&(l*=6,u*=6),c+=Math.min(l,this.settings.maxBobAngle),u=Math.min(u,this.settings.maxBobAngle),this.bobCycle&1&&(u=-u),d+=u;let h=Math.min(this.bobFracSin*s*this.settings.bobUp,this.settings.maxBobHeight),m=0,p=0;if(this.kick&&this.kick.remainingMs>0){let S=Math.max(0,Math.min(1,this.kick.remainingMs/this.kick.durationMs));m+=S*this.kick.pitch,p+=S*this.kick.roll,this.kick.remainingMs=Math.max(0,this.kick.remainingMs-r),this.kick.remainingMs===0&&(this.kick=void 0)}let v={angles:{x:c+m,y:0,z:d+p},offset:ni({x:0,y:0,z:h}),bobCycle:this.bobCycle,bobCycleRun:this.bobCycleRun,bobFracSin:this.bobFracSin,xyspeed:s};return this.lastSample=v,v}};var oi=[{code:"KeyW",command:"+forward"},{code:"ArrowUp",command:"+forward"},{code:"KeyS",command:"+back"},{code:"ArrowDown",command:"+back"},{code:"KeyA",command:"+moveleft"},{code:"KeyD",command:"+moveright"},{code:"Space",command:"+jump"},{code:"ControlLeft",command:"+crouch"},{code:"ShiftLeft",command:"+speed"},{code:"Mouse1",command:"+attack"},{code:"Mouse2",command:"+use"},{code:"Mouse3",command:"+zoom"},{code:"ArrowLeft",command:"+left"},{code:"ArrowRight",command:"+right"},{code:"PageUp",command:"+lookup"},{code:"PageDown",command:"+lookdown"},{code:"Gamepad0-Button7",command:"+attack"},{code:"Gamepad0-Button6",command:"+zoom"},{code:"Gamepad0-Button0",command:"+jump"},{code:"Gamepad0-Button1",command:"+crouch"},{code:"Gamepad0-Button2",command:"+use"},{code:"Gamepad0-Button4",command:"prevweapon"},{code:"Gamepad0-Button5",command:"nextweapon"},{code:"Digit1",command:"weapon 1"},{code:"Digit2",command:"weapon 2"},{code:"Digit3",command:"weapon 3"},{code:"Digit4",command:"weapon 4"},{code:"Digit5",command:"weapon 5"},{code:"Digit6",command:"weapon 6"},{code:"Digit7",command:"weapon 7"},{code:"Digit8",command:"weapon 8"},{code:"Digit9",command:"weapon 9"},{code:"Digit0",command:"weapon 10"}],Y=class{constructor(t=oi){this.bindings=new Map;for(let r of t)this.bind(r.code,r.command)}bind(t,r){this.bindings.set(t,r)}unbind(t){this.bindings.delete(t)}getBinding(t){return this.bindings.get(t)}entries(){return new Map(this.bindings.entries())}};function _t(){return new Y}function Ie(e){return e}function ie(e){return e.trim().toLowerCase()}var ai=250,Oe=class{constructor(){this.activeCodes=new Set;this.downTime=0;this.msec=0;this.pressed=!1}press(t,r){return this.activeCodes.has(t)?!1:(this.activeCodes.add(t),this.pressed=!0,this.activeCodes.size===1?(this.downTime=r,!0):!1)}release(t,r){return this.activeCodes.delete(t)&&this.activeCodes.size===0?(this.msec+=r-this.downTime,this.downTime=0,!0):!1}sample(t,r){if(t<=0)return{active:this.activeCodes.size>0,wasPressed:this.pressed,fraction:0};let n=this.msec;this.activeCodes.size>0&&(n+=r-this.downTime,this.downTime=r),this.msec=0;let i=Math.min(n/t,1),s=this.pressed;return this.pressed=!1,{active:this.activeCodes.size>0,wasPressed:s,fraction:i}}},ye=(v=>(v.Forward="+forward",v.Back="+back",v.MoveLeft="+moveleft",v.MoveRight="+moveright",v.MoveUp="+moveup",v.MoveDown="+movedown",v.Jump="+jump",v.Crouch="+crouch",v.Attack="+attack",v.Use="+use",v.Holster="+holster",v.TurnLeft="+left",v.TurnRight="+right",v.LookUp="+lookup",v.LookDown="+lookdown",v.SpeedModifier="+speed",v.Zoom="+zoom",v))(ye||{}),ci={"+attack":U.Attack,"+use":U.Use,"+holster":U.Holster,"+jump":U.Jump,"+crouch":U.Crouch},li=new Map(Object.values(ye).map(e=>[ie(e),e]));function di(e){return li.get(ie(e))}function se(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var J=class{constructor(t={},r=new Y){this.buttons=new Map;this.viewAngles={x:0,y:0,z:0};this.pointerLocked=!1;this.mouseDelta={deltaX:0,deltaY:0};this.previousMouseDelta={deltaX:0,deltaY:0};this.anyPressed=!1;this.commandQueue=[];this.gamepadButtons=new Map;this.gamepadMove={x:0,y:0};this.gamepadLook={x:0,y:0};this.touchButtons=new Map;this.touchMove={x:0,y:0};this.touchLook={x:0,y:0};this.bindings=r,this.forwardSpeed=t.forwardSpeed??xt,this.sideSpeed=t.sideSpeed??gt,this.upSpeed=t.upSpeed??wt,this.yawSpeed=t.yawSpeed??Mt,this.pitchSpeed=t.pitchSpeed??St,this.sensitivity=t.sensitivity??zt,this.sensitivityX=t.sensitivityX,this.sensitivityY=t.sensitivityY,this.invertMouseY=t.invertMouseY??!1,this.runByDefault=t.runByDefault??!0,this.requirePointerLock=t.requirePointerLock??!0,this.jumpAddsUpMove=t.jumpAddsUpMove??!0,this.crouchAddsDownMove=t.crouchAddsDownMove??!0,this.mouseFilter=t.mouseFilter??!1,this.getGamepads=t.getGamepads,this.gamepadDeadZone=t.gamepadDeadZone??.15,this.gamepadLookScale=t.gamepadLookScale??1,this.invertGamepadY=t.invertGamepadY??this.invertMouseY}handleKeyDown(t,r=se()){let n=t,i=this.bindings.getBinding(n);i&&this.applyCommand(i,!0,n,r)}handleKeyUp(t,r=se()){let n=t,i=this.bindings.getBinding(n);i&&this.applyCommand(i,!1,n,r)}handleMouseButtonDown(t,r=se()){let n=this.mouseButtonToCode(t);this.applyCommand(this.mouseButtonToCommand(n),!0,n,r)}handleMouseButtonUp(t,r=se()){let n=this.mouseButtonToCode(t);this.applyCommand(this.mouseButtonToCommand(n),!1,n,r)}handleMouseMove(t,r){this.requirePointerLock&&!this.pointerLocked||(this.mouseDelta={deltaX:this.mouseDelta.deltaX+t,deltaY:this.mouseDelta.deltaY+r})}setPointerLocked(t){this.pointerLocked=t}setGamepadState(t){this.pendingGamepads=t}setTouchState(t){this.pendingTouchState=t}buildCommand(t,r=se(),n){this.pollGamepads(r),this.applyTouchState(r);let i=this.yawSpeed*t/1e3,s=this.pitchSpeed*t/1e3,o=this.sample("+left",t,r),a=this.sample("+right",t,r),c=this.sample("+lookup",t,r),l={x:(this.sample("+lookdown",t,r).fraction-c.fraction)*s,y:(a.fraction-o.fraction)*i,z:0};if(this.gamepadLook.x!==0||this.gamepadLook.y!==0){let b=this.gamepadLook.y*(this.invertGamepadY?-1:1);l={x:l.x+b*s*this.gamepadLookScale,y:l.y+this.gamepadLook.x*i*this.gamepadLookScale,z:0}}if(this.touchLook.x!==0||this.touchLook.y!==0){let b=this.touchLook.y*(this.invertMouseY?-1:1);l={x:l.x+b*s,y:l.y+this.touchLook.x*i,z:0}}if(this.pointerLocked||!this.requirePointerLock){let b=this.sampleMouseDelta(),C=Tt(b,{sensitivity:this.sensitivity,sensitivityX:this.sensitivityX,sensitivityY:this.sensitivityY,invertY:this.invertMouseY});l={x:l.x+C.x,y:l.y+C.y,z:0}}let u=At(this.viewAngles,l);this.viewAngles=u;let h=this.sample("+forward",t,r),m=this.sample("+back",t,r),p=this.sample("+moveleft",t,r),y=this.sample("+moveright",t,r),f=this.sample("+moveup",t,r),v=this.sample("+movedown",t,r),S=this.sample("+speed",t,r),M=this.sample("+jump",t,r),w=this.sample("+crouch",t,r),x=this.runByDefault?S.active?.5:1:S.active?1:.5,g=this.forwardSpeed*(h.fraction-m.fraction)*x,T=this.sideSpeed*(y.fraction-p.fraction)*x,A=this.upSpeed*(f.fraction-v.fraction);(this.gamepadMove.x!==0||this.gamepadMove.y!==0)&&(g+=this.forwardSpeed*this.gamepadMove.y*x,T+=this.sideSpeed*this.gamepadMove.x*x),(this.touchMove.x!==0||this.touchMove.y!==0)&&(g+=this.forwardSpeed*this.touchMove.y*x,T+=this.sideSpeed*this.touchMove.x*x),this.jumpAddsUpMove&&M.fraction>0&&(A+=this.upSpeed*M.fraction),this.crouchAddsDownMove&&w.fraction>0&&(A-=this.upSpeed*w.fraction),g=this.clampMove(g,this.forwardSpeed),T=this.clampMove(T,this.sideSpeed),A=this.clampMove(A,this.upSpeed);let E=this.collectButtonBits(t,r),z=Math.min(Math.max(Math.round(t),1),ai);return(this.anyPressed||E!==U.None)&&(E|=U.Any),this.anyPressed=!1,{msec:z,buttons:E,angles:{...this.viewAngles},forwardmove:g,sidemove:T,upmove:A,serverFrame:n}}consumeConsoleCommands(){let t=this.commandQueue;return this.commandQueue=[],t}pollGamepads(t){let r=this.getGamepads?.()??this.pendingGamepads??[];this.pendingGamepads=void 0,this.gamepadMove={x:0,y:0},this.gamepadLook={x:0,y:0};let n=new Set;for(let i of r){if(!i||i.connected===!1)continue;let s=i.index??0,o=i.axes??[];this.gamepadMove={x:this.mergeAnalog(this.gamepadMove.x,this.applyDeadZone(o[0]??0)),y:this.mergeAnalog(this.gamepadMove.y,-this.applyDeadZone(o[1]??0))},this.gamepadLook={x:this.mergeAnalog(this.gamepadLook.x,this.applyDeadZone(o[2]??0)),y:this.mergeAnalog(this.gamepadLook.y,this.applyDeadZone(o[3]??0))};let a=i.buttons??[];for(let c=0;c<a.length;c++){let d=a[c];if(!d)continue;let l=d.pressed||d.value>this.gamepadDeadZone,u=this.gamepadButtonCode(s,c);l&&n.add(u);let h=this.gamepadButtons.get(u)??!1;l!==h&&(this.applyCommand(this.bindings.getBinding(u),l,u,t),this.gamepadButtons.set(u,l))}}for(let[i,s]of this.gamepadButtons.entries())s&&!n.has(i)&&(this.applyCommand(this.bindings.getBinding(i),!1,i,t),this.gamepadButtons.set(i,!1))}applyTouchState(t){let r=this.pendingTouchState;if(r&&(this.pendingTouchState=void 0,r.move&&(this.touchMove={x:this.clampAnalog(r.move.x),y:this.clampAnalog(r.move.y)}),r.look&&(this.touchLook={x:this.clampAnalog(r.look.x),y:this.clampAnalog(r.look.y)}),r.buttons))for(let[n,i]of Object.entries(r.buttons)){if(i===void 0)continue;let s=this.touchButtons.get(n)??!1;i!==s&&(this.applyCommand(n,i,this.touchButtonCode(n),t),this.touchButtons.set(n,i))}}applyCommand(t,r,n,i){if(!t)return;let s=di(t);if(s){let o=this.lookupButton(s);r?(o.press(n,i)&&this.commandQueue.push(s),this.anyPressed=!0):o.release(n,i)&&this.commandQueue.push(s.replace("+","-"))}else r&&this.commandQueue.push(t)}sampleMouseDelta(){let t=this.mouseDelta;if(this.mouseDelta={deltaX:0,deltaY:0},!this.mouseFilter)return this.previousMouseDelta=t,t;let r={deltaX:(t.deltaX+this.previousMouseDelta.deltaX)*.5,deltaY:(t.deltaY+this.previousMouseDelta.deltaY)*.5};return this.previousMouseDelta=t,r}collectButtonBits(t,r){let n=U.None;for(let[i,s]of Object.entries(ci)){let o=this.sample(i,t,r);(o.fraction>0||o.active||o.wasPressed)&&(n|=s)}return n}lookupButton(t){let r=this.buttons.get(t);return r||(r=new Oe,this.buttons.set(t,r)),r}mouseButtonToCode(t){return t===0?"Mouse1":t===1?"Mouse3":t===2?"Mouse2":`Mouse${t+1}`}mouseButtonToCommand(t){return this.bindings.getBinding(t)}sample(t,r,n){return this.lookupButton(t).sample(r,n)}gamepadButtonCode(t,r){return`Gamepad${t}-Button${r}`}touchButtonCode(t){return`Touch-${t}`}clampAnalog(t){return Math.max(-1,Math.min(1,t))}applyDeadZone(t){return Math.abs(t)<this.gamepadDeadZone?0:t}mergeAnalog(t,r){return Math.abs(r)>Math.abs(t)?r:t}clampMove(t,r){return Math.max(-r,Math.min(r,t))}};var ve=class{constructor(t,r=new J(t)){this.queued=[];this.controller=r}captureFrame(t,r,n){let i=this.controller.buildCommand(t,r,n),s=this.controller.consumeConsoleCommands(),o={command:i,console:s};return this.queued.push(o),o}consumeQueued(){let t=[...this.queued];return this.queued.length=0,t}getController(){return this.controller}};function ui(e){let t=new q(e.engine.trace),r=new Z,n,i,s,o;return{init(a){n=a,a?.state&&t.setAuthoritative(a),e.engine.trace({x:0,y:0,z:0},{x:1,y:0,z:0})},predict(a){return t.enqueueCommand(a)},render(a){a.latest?.state&&(t.setAuthoritative(a.latest),n=a.latest),a.previous?.state&&a.latest?.state?i=pe(a.previous.state,a.latest.state,a.alpha):i=a.latest?.state??a.previous?.state??t.getPredictedState();let c=a.latest&&a.previous?Math.max(0,a.latest.timeMs-a.previous.timeMs):0;if(s=r.sample(i,c),i){let{origin:l,viewangles:u}=i;o=new st,o.position=D.fromValues(l.x,l.y,l.z),o.angles=D.fromValues(u.x,u.y,u.z),o.fov=90,o.aspect=4/3}return{}},shutdown(){n=void 0,i=void 0},get prediction(){return t},get lastRendered(){return i},get view(){return r},get lastView(){return s},get camera(){return o}}}return Pt(hi);})();
1
+ "use strict";var Quake2Client=(()=>{var xe=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var Lt=Object.getOwnPropertyNames;var Ct=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var r in t)xe(e,r,{get:t[r],enumerable:!0})},Rt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Lt(t))!Ct.call(e,i)&&i!==r&&xe(e,i,{get:()=>t[i],enumerable:!(n=bt(t,i))||n.enumerable});return e};var Pt=e=>Rt(xe({},"__esModule",{value:!0}),e);var hi={};ge(hi,{ClientPrediction:()=>q,InputAction:()=>ye,InputBindings:()=>Y,InputCommandBuffer:()=>ve,InputController:()=>J,ViewEffects:()=>Z,createClient:()=>ui,createDefaultBindings:()=>Tt,defaultPredictionState:()=>W,interpolatePredictionState:()=>pe,normalizeCommand:()=>ie,normalizeInputCode:()=>Ie});var L=1e-6,N=typeof Float32Array<"u"?Float32Array:Array,we=Math.random;function oe(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var mi=Math.PI/180,pi=180/Math.PI;var P={};ge(P,{add:()=>vr,adjoint:()=>Bt,clone:()=>Nt,copy:()=>Ft,create:()=>Dt,decompose:()=>nr,determinant:()=>Vt,equals:()=>Mr,exactEquals:()=>wr,frob:()=>yr,fromQuat:()=>or,fromQuat2:()=>er,fromRotation:()=>qt,fromRotationTranslation:()=>We,fromRotationTranslationScale:()=>ir,fromRotationTranslationScaleOrigin:()=>sr,fromScaling:()=>$t,fromTranslation:()=>jt,fromValues:()=>It,fromXRotation:()=>Zt,fromYRotation:()=>Jt,fromZRotation:()=>Qt,frustum:()=>ar,getRotation:()=>rr,getScaling:()=>Ye,getTranslation:()=>tr,identity:()=>Ve,invert:()=>Ut,lookAt:()=>fr,mul:()=>Sr,multiply:()=>Ge,multiplyScalar:()=>xr,multiplyScalarAndAdd:()=>gr,ortho:()=>ur,orthoNO:()=>He,orthoZO:()=>hr,perspective:()=>cr,perspectiveFromFieldOfView:()=>dr,perspectiveNO:()=>Xe,perspectiveZO:()=>lr,rotate:()=>Yt,rotateX:()=>Xt,rotateY:()=>Ht,rotateZ:()=>Kt,scale:()=>Wt,set:()=>kt,str:()=>pr,sub:()=>zr,subtract:()=>Ke,targetTo:()=>mr,translate:()=>Gt,transpose:()=>Ot});function Dt(){var e=new N(16);return N!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Nt(e){var t=new N(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ft(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function It(e,t,r,n,i,s,o,a,c,d,l,u,h,m,p,y){var f=new N(16);return f[0]=e,f[1]=t,f[2]=r,f[3]=n,f[4]=i,f[5]=s,f[6]=o,f[7]=a,f[8]=c,f[9]=d,f[10]=l,f[11]=u,f[12]=h,f[13]=m,f[14]=p,f[15]=y,f}function kt(e,t,r,n,i,s,o,a,c,d,l,u,h,m,p,y,f){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=o,e[6]=a,e[7]=c,e[8]=d,e[9]=l,e[10]=u,e[11]=h,e[12]=m,e[13]=p,e[14]=y,e[15]=f,e}function Ve(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ot(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Ut(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],d=t[7],l=t[8],u=t[9],h=t[10],m=t[11],p=t[12],y=t[13],f=t[14],v=t[15],S=r*a-n*o,M=r*c-i*o,w=r*d-s*o,x=n*c-i*a,g=n*d-s*a,_=i*d-s*c,A=l*y-u*p,E=l*f-h*p,z=l*v-m*p,b=u*f-h*y,C=u*v-m*y,R=h*v-m*f,T=S*R-M*C+w*b+x*z-g*E+_*A;return T?(T=1/T,e[0]=(a*R-c*C+d*b)*T,e[1]=(i*C-n*R-s*b)*T,e[2]=(y*_-f*g+v*x)*T,e[3]=(h*g-u*_-m*x)*T,e[4]=(c*z-o*R-d*E)*T,e[5]=(r*R-i*z+s*E)*T,e[6]=(f*w-p*_-v*M)*T,e[7]=(l*_-h*w+m*M)*T,e[8]=(o*C-a*z+d*A)*T,e[9]=(n*z-r*C-s*A)*T,e[10]=(p*g-y*w+v*S)*T,e[11]=(u*w-l*g-m*S)*T,e[12]=(a*E-o*b-c*A)*T,e[13]=(r*b-n*E+i*A)*T,e[14]=(y*M-p*x-f*S)*T,e[15]=(l*x-u*M+h*S)*T,e):null}function Bt(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],d=t[7],l=t[8],u=t[9],h=t[10],m=t[11],p=t[12],y=t[13],f=t[14],v=t[15],S=r*a-n*o,M=r*c-i*o,w=r*d-s*o,x=n*c-i*a,g=n*d-s*a,_=i*d-s*c,A=l*y-u*p,E=l*f-h*p,z=l*v-m*p,b=u*f-h*y,C=u*v-m*y,R=h*v-m*f;return e[0]=a*R-c*C+d*b,e[1]=i*C-n*R-s*b,e[2]=y*_-f*g+v*x,e[3]=h*g-u*_-m*x,e[4]=c*z-o*R-d*E,e[5]=r*R-i*z+s*E,e[6]=f*w-p*_-v*M,e[7]=l*_-h*w+m*M,e[8]=o*C-a*z+d*A,e[9]=n*z-r*C-s*A,e[10]=p*g-y*w+v*S,e[11]=u*w-l*g-m*S,e[12]=a*E-o*b-c*A,e[13]=r*b-n*E+i*A,e[14]=y*M-p*x-f*S,e[15]=l*x-u*M+h*S,e}function Vt(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],c=e[7],d=e[8],l=e[9],u=e[10],h=e[11],m=e[12],p=e[13],y=e[14],f=e[15],v=t*o-r*s,S=t*a-n*s,M=r*a-n*o,w=d*p-l*m,x=d*y-u*m,g=l*y-u*p,_=t*g-r*x+n*w,A=s*g-o*x+a*w,E=d*M-l*S+u*v,z=m*M-p*S+y*v;return c*_-i*A+f*E-h*z}function Ge(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],d=t[6],l=t[7],u=t[8],h=t[9],m=t[10],p=t[11],y=t[12],f=t[13],v=t[14],S=t[15],M=r[0],w=r[1],x=r[2],g=r[3];return e[0]=M*n+w*a+x*u+g*y,e[1]=M*i+w*c+x*h+g*f,e[2]=M*s+w*d+x*m+g*v,e[3]=M*o+w*l+x*p+g*S,M=r[4],w=r[5],x=r[6],g=r[7],e[4]=M*n+w*a+x*u+g*y,e[5]=M*i+w*c+x*h+g*f,e[6]=M*s+w*d+x*m+g*v,e[7]=M*o+w*l+x*p+g*S,M=r[8],w=r[9],x=r[10],g=r[11],e[8]=M*n+w*a+x*u+g*y,e[9]=M*i+w*c+x*h+g*f,e[10]=M*s+w*d+x*m+g*v,e[11]=M*o+w*l+x*p+g*S,M=r[12],w=r[13],x=r[14],g=r[15],e[12]=M*n+w*a+x*u+g*y,e[13]=M*i+w*c+x*h+g*f,e[14]=M*s+w*d+x*m+g*v,e[15]=M*o+w*l+x*p+g*S,e}function Gt(e,t,r){var n=r[0],i=r[1],s=r[2],o,a,c,d,l,u,h,m,p,y,f,v;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*s+t[12],e[13]=t[1]*n+t[5]*i+t[9]*s+t[13],e[14]=t[2]*n+t[6]*i+t[10]*s+t[14],e[15]=t[3]*n+t[7]*i+t[11]*s+t[15]):(o=t[0],a=t[1],c=t[2],d=t[3],l=t[4],u=t[5],h=t[6],m=t[7],p=t[8],y=t[9],f=t[10],v=t[11],e[0]=o,e[1]=a,e[2]=c,e[3]=d,e[4]=l,e[5]=u,e[6]=h,e[7]=m,e[8]=p,e[9]=y,e[10]=f,e[11]=v,e[12]=o*n+l*i+p*s+t[12],e[13]=a*n+u*i+y*s+t[13],e[14]=c*n+h*i+f*s+t[14],e[15]=d*n+m*i+v*s+t[15]),e}function Wt(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Yt(e,t,r,n){var i=n[0],s=n[1],o=n[2],a=Math.sqrt(i*i+s*s+o*o),c,d,l,u,h,m,p,y,f,v,S,M,w,x,g,_,A,E,z,b,C,R,T,F;return a<L?null:(a=1/a,i*=a,s*=a,o*=a,c=Math.sin(r),d=Math.cos(r),l=1-d,u=t[0],h=t[1],m=t[2],p=t[3],y=t[4],f=t[5],v=t[6],S=t[7],M=t[8],w=t[9],x=t[10],g=t[11],_=i*i*l+d,A=s*i*l+o*c,E=o*i*l-s*c,z=i*s*l-o*c,b=s*s*l+d,C=o*s*l+i*c,R=i*o*l+s*c,T=s*o*l-i*c,F=o*o*l+d,e[0]=u*_+y*A+M*E,e[1]=h*_+f*A+w*E,e[2]=m*_+v*A+x*E,e[3]=p*_+S*A+g*E,e[4]=u*z+y*b+M*C,e[5]=h*z+f*b+w*C,e[6]=m*z+v*b+x*C,e[7]=p*z+S*b+g*C,e[8]=u*R+y*T+M*F,e[9]=h*R+f*T+w*F,e[10]=m*R+v*T+x*F,e[11]=p*R+S*T+g*F,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Xt(e,t,r){var n=Math.sin(r),i=Math.cos(r),s=t[4],o=t[5],a=t[6],c=t[7],d=t[8],l=t[9],u=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*i+d*n,e[5]=o*i+l*n,e[6]=a*i+u*n,e[7]=c*i+h*n,e[8]=d*i-s*n,e[9]=l*i-o*n,e[10]=u*i-a*n,e[11]=h*i-c*n,e}function Ht(e,t,r){var n=Math.sin(r),i=Math.cos(r),s=t[0],o=t[1],a=t[2],c=t[3],d=t[8],l=t[9],u=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*i-d*n,e[1]=o*i-l*n,e[2]=a*i-u*n,e[3]=c*i-h*n,e[8]=s*n+d*i,e[9]=o*n+l*i,e[10]=a*n+u*i,e[11]=c*n+h*i,e}function Kt(e,t,r){var n=Math.sin(r),i=Math.cos(r),s=t[0],o=t[1],a=t[2],c=t[3],d=t[4],l=t[5],u=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*i+d*n,e[1]=o*i+l*n,e[2]=a*i+u*n,e[3]=c*i+h*n,e[4]=d*i-s*n,e[5]=l*i-o*n,e[6]=u*i-a*n,e[7]=h*i-c*n,e}function jt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function $t(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function qt(e,t,r){var n=r[0],i=r[1],s=r[2],o=Math.sqrt(n*n+i*i+s*s),a,c,d;return o<L?null:(o=1/o,n*=o,i*=o,s*=o,a=Math.sin(t),c=Math.cos(t),d=1-c,e[0]=n*n*d+c,e[1]=i*n*d+s*a,e[2]=s*n*d-i*a,e[3]=0,e[4]=n*i*d-s*a,e[5]=i*i*d+c,e[6]=s*i*d+n*a,e[7]=0,e[8]=n*s*d+i*a,e[9]=i*s*d-n*a,e[10]=s*s*d+c,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Zt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Jt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Qt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function We(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=n+n,c=i+i,d=s+s,l=n*a,u=n*c,h=n*d,m=i*c,p=i*d,y=s*d,f=o*a,v=o*c,S=o*d;return e[0]=1-(m+y),e[1]=u+S,e[2]=h-v,e[3]=0,e[4]=u-S,e[5]=1-(l+y),e[6]=p+f,e[7]=0,e[8]=h+v,e[9]=p-f,e[10]=1-(l+m),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function er(e,t){var r=new N(3),n=-t[0],i=-t[1],s=-t[2],o=t[3],a=t[4],c=t[5],d=t[6],l=t[7],u=n*n+i*i+s*s+o*o;return u>0?(r[0]=(a*o+l*n+c*s-d*i)*2/u,r[1]=(c*o+l*i+d*n-a*s)*2/u,r[2]=(d*o+l*s+a*i-c*n)*2/u):(r[0]=(a*o+l*n+c*s-d*i)*2,r[1]=(c*o+l*i+d*n-a*s)*2,r[2]=(d*o+l*s+a*i-c*n)*2),We(e,t,r),e}function tr(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Ye(e,t){var r=t[0],n=t[1],i=t[2],s=t[4],o=t[5],a=t[6],c=t[8],d=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(s*s+o*o+a*a),e[2]=Math.sqrt(c*c+d*d+l*l),e}function rr(e,t){var r=new N(3);Ye(r,t);var n=1/r[0],i=1/r[1],s=1/r[2],o=t[0]*n,a=t[1]*i,c=t[2]*s,d=t[4]*n,l=t[5]*i,u=t[6]*s,h=t[8]*n,m=t[9]*i,p=t[10]*s,y=o+l+p,f=0;return y>0?(f=Math.sqrt(y+1)*2,e[3]=.25*f,e[0]=(u-m)/f,e[1]=(h-c)/f,e[2]=(a-d)/f):o>l&&o>p?(f=Math.sqrt(1+o-l-p)*2,e[3]=(u-m)/f,e[0]=.25*f,e[1]=(a+d)/f,e[2]=(h+c)/f):l>p?(f=Math.sqrt(1+l-o-p)*2,e[3]=(h-c)/f,e[0]=(a+d)/f,e[1]=.25*f,e[2]=(u+m)/f):(f=Math.sqrt(1+p-o-l)*2,e[3]=(a-d)/f,e[0]=(h+c)/f,e[1]=(u+m)/f,e[2]=.25*f),e}function nr(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];var i=n[0],s=n[1],o=n[2],a=n[4],c=n[5],d=n[6],l=n[8],u=n[9],h=n[10];r[0]=Math.sqrt(i*i+s*s+o*o),r[1]=Math.sqrt(a*a+c*c+d*d),r[2]=Math.sqrt(l*l+u*u+h*h);var m=1/r[0],p=1/r[1],y=1/r[2],f=i*m,v=s*p,S=o*y,M=a*m,w=c*p,x=d*y,g=l*m,_=u*p,A=h*y,E=f+w+A,z=0;return E>0?(z=Math.sqrt(E+1)*2,e[3]=.25*z,e[0]=(x-_)/z,e[1]=(g-S)/z,e[2]=(v-M)/z):f>w&&f>A?(z=Math.sqrt(1+f-w-A)*2,e[3]=(x-_)/z,e[0]=.25*z,e[1]=(v+M)/z,e[2]=(g+S)/z):w>A?(z=Math.sqrt(1+w-f-A)*2,e[3]=(g-S)/z,e[0]=(v+M)/z,e[1]=.25*z,e[2]=(x+_)/z):(z=Math.sqrt(1+A-f-w)*2,e[3]=(v-M)/z,e[0]=(g+S)/z,e[1]=(x+_)/z,e[2]=.25*z),e}function ir(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=t[3],c=i+i,d=s+s,l=o+o,u=i*c,h=i*d,m=i*l,p=s*d,y=s*l,f=o*l,v=a*c,S=a*d,M=a*l,w=n[0],x=n[1],g=n[2];return e[0]=(1-(p+f))*w,e[1]=(h+M)*w,e[2]=(m-S)*w,e[3]=0,e[4]=(h-M)*x,e[5]=(1-(u+f))*x,e[6]=(y+v)*x,e[7]=0,e[8]=(m+S)*g,e[9]=(y-v)*g,e[10]=(1-(u+p))*g,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function sr(e,t,r,n,i){var s=t[0],o=t[1],a=t[2],c=t[3],d=s+s,l=o+o,u=a+a,h=s*d,m=s*l,p=s*u,y=o*l,f=o*u,v=a*u,S=c*d,M=c*l,w=c*u,x=n[0],g=n[1],_=n[2],A=i[0],E=i[1],z=i[2],b=(1-(y+v))*x,C=(m+w)*x,R=(p-M)*x,T=(m-w)*g,F=(1-(h+v))*g,Q=(f+S)*g,ee=(p+M)*_,Oe=(f-S)*_,Ue=(1-(h+y))*_;return e[0]=b,e[1]=C,e[2]=R,e[3]=0,e[4]=T,e[5]=F,e[6]=Q,e[7]=0,e[8]=ee,e[9]=Oe,e[10]=Ue,e[11]=0,e[12]=r[0]+A-(b*A+T*E+ee*z),e[13]=r[1]+E-(C*A+F*E+Oe*z),e[14]=r[2]+z-(R*A+Q*E+Ue*z),e[15]=1,e}function or(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=r+r,a=n+n,c=i+i,d=r*o,l=n*o,u=n*a,h=i*o,m=i*a,p=i*c,y=s*o,f=s*a,v=s*c;return e[0]=1-u-p,e[1]=l+v,e[2]=h-f,e[3]=0,e[4]=l-v,e[5]=1-d-p,e[6]=m+y,e[7]=0,e[8]=h+f,e[9]=m-y,e[10]=1-d-u,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ar(e,t,r,n,i,s,o){var a=1/(r-t),c=1/(i-n),d=1/(s-o);return e[0]=s*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s*2*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+n)*c,e[10]=(o+s)*d,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*s*2*d,e[15]=0,e}function Xe(e,t,r,n,i){var s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var cr=Xe;function lr(e,t,r,n,i){var s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function dr(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),c=2/(o+a),d=2/(i+s);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=d,e[6]=0,e[7]=0,e[8]=-((o-a)*c*.5),e[9]=(i-s)*d*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function He(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),d=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*d,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=(o+s)*d,e[15]=1,e}var ur=He;function hr(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),d=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=d,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=s*d,e[15]=1,e}function fr(e,t,r,n){var i,s,o,a,c,d,l,u,h,m,p=t[0],y=t[1],f=t[2],v=n[0],S=n[1],M=n[2],w=r[0],x=r[1],g=r[2];return Math.abs(p-w)<L&&Math.abs(y-x)<L&&Math.abs(f-g)<L?Ve(e):(l=p-w,u=y-x,h=f-g,m=1/Math.sqrt(l*l+u*u+h*h),l*=m,u*=m,h*=m,i=S*h-M*u,s=M*l-v*h,o=v*u-S*l,m=Math.sqrt(i*i+s*s+o*o),m?(m=1/m,i*=m,s*=m,o*=m):(i=0,s=0,o=0),a=u*o-h*s,c=h*i-l*o,d=l*s-u*i,m=Math.sqrt(a*a+c*c+d*d),m?(m=1/m,a*=m,c*=m,d*=m):(a=0,c=0,d=0),e[0]=i,e[1]=a,e[2]=l,e[3]=0,e[4]=s,e[5]=c,e[6]=u,e[7]=0,e[8]=o,e[9]=d,e[10]=h,e[11]=0,e[12]=-(i*p+s*y+o*f),e[13]=-(a*p+c*y+d*f),e[14]=-(l*p+u*y+h*f),e[15]=1,e)}function mr(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=n[0],c=n[1],d=n[2],l=i-r[0],u=s-r[1],h=o-r[2],m=l*l+u*u+h*h;m>0&&(m=1/Math.sqrt(m),l*=m,u*=m,h*=m);var p=c*h-d*u,y=d*l-a*h,f=a*u-c*l;return m=p*p+y*y+f*f,m>0&&(m=1/Math.sqrt(m),p*=m,y*=m,f*=m),e[0]=p,e[1]=y,e[2]=f,e[3]=0,e[4]=u*f-h*y,e[5]=h*p-l*f,e[6]=l*y-u*p,e[7]=0,e[8]=l,e[9]=u,e[10]=h,e[11]=0,e[12]=i,e[13]=s,e[14]=o,e[15]=1,e}function pr(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function yr(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function vr(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Ke(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function xr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function gr(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function wr(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function Mr(e,t){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],c=e[6],d=e[7],l=e[8],u=e[9],h=e[10],m=e[11],p=e[12],y=e[13],f=e[14],v=e[15],S=t[0],M=t[1],w=t[2],x=t[3],g=t[4],_=t[5],A=t[6],E=t[7],z=t[8],b=t[9],C=t[10],R=t[11],T=t[12],F=t[13],Q=t[14],ee=t[15];return Math.abs(r-S)<=L*Math.max(1,Math.abs(r),Math.abs(S))&&Math.abs(n-M)<=L*Math.max(1,Math.abs(n),Math.abs(M))&&Math.abs(i-w)<=L*Math.max(1,Math.abs(i),Math.abs(w))&&Math.abs(s-x)<=L*Math.max(1,Math.abs(s),Math.abs(x))&&Math.abs(o-g)<=L*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(a-_)<=L*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(c-A)<=L*Math.max(1,Math.abs(c),Math.abs(A))&&Math.abs(d-E)<=L*Math.max(1,Math.abs(d),Math.abs(E))&&Math.abs(l-z)<=L*Math.max(1,Math.abs(l),Math.abs(z))&&Math.abs(u-b)<=L*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(h-C)<=L*Math.max(1,Math.abs(h),Math.abs(C))&&Math.abs(m-R)<=L*Math.max(1,Math.abs(m),Math.abs(R))&&Math.abs(p-T)<=L*Math.max(1,Math.abs(p),Math.abs(T))&&Math.abs(y-F)<=L*Math.max(1,Math.abs(y),Math.abs(F))&&Math.abs(f-Q)<=L*Math.max(1,Math.abs(f),Math.abs(Q))&&Math.abs(v-ee)<=L*Math.max(1,Math.abs(v),Math.abs(ee))}var Sr=Ge,zr=Ke;var D={};ge(D,{add:()=>br,angle:()=>Zr,bezier:()=>Wr,ceil:()=>Lr,clone:()=>Ar,copy:()=>Er,create:()=>je,cross:()=>Ur,dist:()=>on,distance:()=>Qe,div:()=>sn,divide:()=>Je,dot:()=>Me,equals:()=>tn,exactEquals:()=>en,floor:()=>Cr,forEach:()=>dn,fromValues:()=>_r,hermite:()=>Gr,inverse:()=>kr,len:()=>cn,length:()=>$e,lerp:()=>Br,max:()=>Pr,min:()=>Rr,mul:()=>nn,multiply:()=>Ze,negate:()=>Ir,normalize:()=>Or,random:()=>Yr,rotateX:()=>jr,rotateY:()=>$r,rotateZ:()=>qr,round:()=>Dr,scale:()=>Nr,scaleAndAdd:()=>Fr,set:()=>Tr,slerp:()=>Vr,sqrDist:()=>an,sqrLen:()=>ln,squaredDistance:()=>et,squaredLength:()=>tt,str:()=>Qr,sub:()=>rn,subtract:()=>qe,transformMat3:()=>Hr,transformMat4:()=>Xr,transformQuat:()=>Kr,zero:()=>Jr});function je(){var e=new N(3);return N!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Ar(e){var t=new N(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function $e(e){var t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function _r(e,t,r){var n=new N(3);return n[0]=e,n[1]=t,n[2]=r,n}function Er(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Tr(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function br(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function qe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Ze(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Je(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Lr(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function Cr(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Rr(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function Pr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function Dr(e,t){return e[0]=oe(t[0]),e[1]=oe(t[1]),e[2]=oe(t[2]),e}function Nr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Fr(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function Qe(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function et(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function tt(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function Ir(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function kr(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function Or(e,t){var r=t[0],n=t[1],i=t[2],s=r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function Me(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ur(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[0],a=r[1],c=r[2];return e[0]=i*c-s*a,e[1]=s*o-n*c,e[2]=n*a-i*o,e}function Br(e,t,r,n){var i=t[0],s=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=o+n*(r[2]-o),e}function Vr(e,t,r,n){var i=Math.acos(Math.min(Math.max(Me(t,r),-1),1)),s=Math.sin(i),o=Math.sin((1-n)*i)/s,a=Math.sin(n*i)/s;return e[0]=o*t[0]+a*r[0],e[1]=o*t[1]+a*r[1],e[2]=o*t[2]+a*r[2],e}function Gr(e,t,r,n,i,s){var o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,d=o*(s-1),l=o*(3-2*s);return e[0]=t[0]*a+r[0]*c+n[0]*d+i[0]*l,e[1]=t[1]*a+r[1]*c+n[1]*d+i[1]*l,e[2]=t[2]*a+r[2]*c+n[2]*d+i[2]*l,e}function Wr(e,t,r,n,i,s){var o=1-s,a=o*o,c=s*s,d=a*o,l=3*s*a,u=3*c*o,h=c*s;return e[0]=t[0]*d+r[0]*l+n[0]*u+i[0]*h,e[1]=t[1]*d+r[1]*l+n[1]*u+i[1]*h,e[2]=t[2]*d+r[2]*l+n[2]*u+i[2]*h,e}function Yr(e,t){t=t===void 0?1:t;var r=we()*2*Math.PI,n=we()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Xr(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,e}function Hr(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e}function Kr(e,t,r){var n=r[0],i=r[1],s=r[2],o=r[3],a=t[0],c=t[1],d=t[2],l=i*d-s*c,u=s*a-n*d,h=n*c-i*a;return l=l+l,u=u+u,h=h+h,e[0]=a+o*l+i*h-s*u,e[1]=c+o*u+s*l-n*h,e[2]=d+o*h+n*u-i*l,e}function jr(e,t,r,n){var i=[],s=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],s[0]=i[0],s[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),s[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function $r(e,t,r,n){var i=[],s=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],s[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),s[1]=i[1],s[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function qr(e,t,r,n){var i=[],s=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],s[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),s[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),s[2]=i[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function Zr(e,t){var r=e[0],n=e[1],i=e[2],s=t[0],o=t[1],a=t[2],c=Math.sqrt((r*r+n*n+i*i)*(s*s+o*o+a*a)),d=c&&Me(e,t)/c;return Math.acos(Math.min(Math.max(d,-1),1))}function Jr(e){return e[0]=0,e[1]=0,e[2]=0,e}function Qr(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"}function en(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function tn(e,t){var r=e[0],n=e[1],i=e[2],s=t[0],o=t[1],a=t[2];return Math.abs(r-s)<=L*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-o)<=L*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-a)<=L*Math.max(1,Math.abs(i),Math.abs(a))}var rn=qe,nn=Ze,sn=Je,on=Qe,an=et,cn=$e,ln=tt,dn=(function(){var e=je();return function(t,r,n,i,s,o){var a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,t.length):c=t.length,a=n;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],s(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}})();var vi=Math.PI/180;var un=Math.PI/180,xi=180/Math.PI,te=un;var I=1,B=2;var _e=8,Ee=16,hn=32;var fn=16384;var ae=65536,rt=1<<17,mn=1<<18,pn=1<<19,yn=1<<20,vn=1<<21,xn=1<<22,gn=1<<23,gi=1<<24,ce=1<<25,wn=1<<26,wi=1<<27,Mi=1<<28,Si=1<<29,le=1<<30,zi=1<<31;var Ai=1<<25,_i=1<<28,Ei=1<<29,Ti=1<<30,bi=1<<31,Li=I|B,Ci=I|ae|B|ce|le,Ri=I|ae|B,Pi=I|rt|B|ce|le,Di=hn|_e|Ee,Ni=I|Ee|_e,Mn=I|ce|le|B|wn,Fi=mn|pn|yn|vn|xn|gn,Ii=I|_e|Ee|ce|le,ki=I|ae|B,Oi=I|B,Ui=I|ae|B|rt,Bi=Mn|fn,Vi=Number.MAX_SAFE_INTEGER-1;var nt=256,Sn=256,zn=8192,An=2048,_n=512,En=256,Tn=nt*2,bn=256,Se=32;var it=(e=>(e[e.Name=0]="Name",e[e.CdTrack=1]="CdTrack",e[e.Sky=2]="Sky",e[e.SkyAxis=3]="SkyAxis",e[e.SkyRotate=4]="SkyRotate",e[e.StatusBar=5]="StatusBar",e[e.AirAccel=59]="AirAccel",e[e.MaxClients=60]="MaxClients",e[e.MapChecksum=61]="MapChecksum",e[e.Models=62]="Models",e[e.Sounds=62+zn]="Sounds",e[e.Images=e.Sounds+An]="Images",e[e.Lights=e.Images+_n]="Lights",e[e.ShadowLights=e.Lights+Sn]="ShadowLights",e[e.Items=e.ShadowLights+bn]="Items",e[e.PlayerSkins=e.Items+En]="PlayerSkins",e[e.General=e.PlayerSkins+nt]="General",e[e.WheelWeapons=e.General+Tn]="WheelWeapons",e[e.WheelAmmo=e.WheelWeapons+Se]="WheelAmmo",e[e.WheelPowerups=e.WheelAmmo+Se]="WheelPowerups",e[e.CdLoopCount=e.WheelPowerups+Se]="CdLoopCount",e[e.GameStyle=e.CdLoopCount+1]="GameStyle",e[e.MaxConfigStrings=e.GameStyle+1]="MaxConfigStrings",e))(it||{}),Gi=it.MaxConfigStrings;function Ln(){let e=new Uint32Array(256);for(let t=0;t<256;t+=1){let r=t;for(let n=0;n<8;n+=1)r=(r&1)!==0?3988292384^r>>>1:r>>>1;e[t]=r>>>0}return e}var Wi=Ln();var Yi=Object.freeze([{name:"pak0.pak",checksum:2378051181,description:"Base game assets"},{name:"pak0.pak@baseq2",checksum:2378051181,description:"Base game assets (baseq2)"},{name:"pak0.pak@rogue",checksum:3373211245,description:"Ground Zero (rogue) mission pack"},{name:"pak0.pak@xatrix",checksum:1358269824,description:"The Reckoning (xatrix) mission pack"}]);var Ae=4,ze=7*Ae,Xi=[{index:0,size:3,type:5126,stride:ze,offset:0},{index:1,size:2,type:5126,stride:ze,offset:3*Ae},{index:2,size:2,type:5126,stride:ze,offset:5*Ae}];var Hi=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,1,1,1,-1,1,-1,1,-1,-1,1,1,1,1,1,-1,1,-1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1]);var st=class{constructor(){this._position=D.create(),this._angles=D.create(),this._bobAngles=D.create(),this._kickAngles=D.create(),this._rollAngle=0,this._fov=90,this._aspect=1,this._near=.1,this._far=1e3,this._viewMatrix=P.create(),this._projectionMatrix=P.create(),this._viewProjectionMatrix=P.create(),this._dirty=!0}get position(){return this._position}set position(e){D.copy(this._position,e),this._dirty=!0}get angles(){return this._angles}set angles(e){D.copy(this._angles,e),this._dirty=!0}get bobAngles(){return this._bobAngles}set bobAngles(e){D.copy(this._bobAngles,e),this._dirty=!0}get kickAngles(){return this._kickAngles}set kickAngles(e){D.copy(this._kickAngles,e),this._dirty=!0}get rollAngle(){return this._rollAngle}set rollAngle(e){this._rollAngle=e,this._dirty=!0}get fov(){return this._fov}set fov(e){this._fov=e,this._dirty=!0}get aspect(){return this._aspect}set aspect(e){this._aspect=e,this._dirty=!0}get viewMatrix(){return this.updateMatrices(),this._viewMatrix}get projectionMatrix(){return this.updateMatrices(),this._projectionMatrix}get viewProjectionMatrix(){return this.updateMatrices(),this._viewProjectionMatrix}getViewmodelProjectionMatrix(e){let t=P.create();return P.perspective(t,e*te,this._aspect,this._near,this._far),t}updateMatrices(){if(!this._dirty)return;P.perspective(this._projectionMatrix,this._fov*te,this._aspect,this._near,this._far);let e=P.fromValues(0,-1,0,0,0,0,1,0,-1,0,0,0,0,0,0,1),t=this._angles[0]+this._bobAngles[0]+this._kickAngles[0],r=this._angles[1]+this._bobAngles[1]+this._kickAngles[1],n=this._angles[2]+this._bobAngles[2]+this._kickAngles[2]+this._rollAngle,i=t*te,s=r*te,o=n*te,a=P.create();P.identity(a),P.rotateZ(a,a,-s),P.rotateY(a,a,-i),P.rotateX(a,a,-o);let c=P.create();P.multiply(c,e,a);let d=D.negate(D.create(),this._position),l=D.create();D.transformMat4(l,d,a);let u=D.fromValues(l[1]||0,l[2]||0,l[0]||0);P.copy(this._viewMatrix,c),this._viewMatrix[12]=u[0],this._viewMatrix[13]=u[1],this._viewMatrix[14]=u[2],P.multiply(this._viewProjectionMatrix,this._projectionMatrix,this._viewMatrix),this._dirty=!1}};var ot={x:0,y:0,z:0};var qi=Math.PI/180;function re(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function H(e,t){return{x:e.x*t,y:e.y*t,z:e.z*t}}function K(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function Cn(e){return K(e,e)}function de(e){return Math.sqrt(Cn(e))}function at(e){let t=de(e);return t===0?e:H(e,1/t)}var ct=0,lt=1,dt=2,Rn=Math.PI/180,Zi=180/Math.PI;function Te(e,t){switch(t){case ct:return e.x;case lt:return e.y;case dt:default:return e.z}}function be(e){return e*Rn}function X(e){let t=e%360;return t<0?360+t:t}function Ce(e){let t=be(Te(e,lt)),r=be(Te(e,ct)),n=be(Te(e,dt)),i=Math.sin(t),s=Math.cos(t),o=Math.sin(r),a=Math.cos(r),c=Math.sin(n),d=Math.cos(n),l={x:a*s,y:a*i,z:-o},u={x:-c*o*s-d*-i,y:-c*o*i-d*s,z:-c*a},h={x:d*o*s-c*-i,y:d*o*i-c*s,z:d*a};return{forward:l,right:u,up:h}}var k=1,V=2;var Re=8,Pe=16,Pn=32;var Dn=16384;var ue=65536,ut=1<<17,Nn=1<<18,Fn=1<<19,In=1<<20,kn=1<<21,On=1<<22,Un=1<<23,Ji=1<<24,he=1<<25,Bn=1<<26,Qi=1<<27,es=1<<28,ts=1<<29,fe=1<<30,rs=1<<31;var ns=1<<25,is=1<<28,ss=1<<29,os=1<<30,as=1<<31;var cs=k|V,ls=k|ue|V|he|fe,ds=k|ue|V,us=k|ut|V|he|fe,hs=Pn|Re|Pe,fs=k|Pe|Re,Vn=k|he|fe|V|Bn,ms=Nn|Fn|In|kn|On|Un,ps=k|Re|Pe|he|fe,ys=k|ue|V,vs=k|V,xs=k|ue|V|ut,gs=Vn|Dn;var ws=Number.MAX_SAFE_INTEGER-1;var ht=256;var Gn=256,Wn=8192,Yn=2048,Xn=512,Hn=256,Kn=ht*2,jn=256,Le=32;var ft=(e=>(e[e.Name=0]="Name",e[e.CdTrack=1]="CdTrack",e[e.Sky=2]="Sky",e[e.SkyAxis=3]="SkyAxis",e[e.SkyRotate=4]="SkyRotate",e[e.StatusBar=5]="StatusBar",e[e.AirAccel=59]="AirAccel",e[e.MaxClients=60]="MaxClients",e[e.MapChecksum=61]="MapChecksum",e[e.Models=62]="Models",e[e.Sounds=62+Wn]="Sounds",e[e.Images=e.Sounds+Yn]="Images",e[e.Lights=e.Images+Xn]="Lights",e[e.ShadowLights=e.Lights+Gn]="ShadowLights",e[e.Items=e.ShadowLights+jn]="Items",e[e.PlayerSkins=e.Items+Hn]="PlayerSkins",e[e.General=e.PlayerSkins+ht]="General",e[e.WheelWeapons=e.General+Kn]="WheelWeapons",e[e.WheelAmmo=e.WheelWeapons+Le]="WheelAmmo",e[e.WheelPowerups=e.WheelAmmo+Le]="WheelPowerups",e[e.CdLoopCount=e.WheelPowerups+Le]="CdLoopCount",e[e.GameStyle=e.CdLoopCount+1]="GameStyle",e[e.MaxConfigStrings=e.GameStyle+1]="MaxConfigStrings",e))(ft||{}),Ms=ft.MaxConfigStrings;var ne=(e=>(e[e.None=0]="None",e[e.Feet=1]="Feet",e[e.Waist=2]="Waist",e[e.Under=3]="Under",e))(ne||{});var O=(e=>(e[e.Ducked=1]="Ducked",e[e.JumpHeld=2]="JumpHeld",e[e.OnGround=4]="OnGround",e[e.TimeWaterJump=8]="TimeWaterJump",e[e.TimeLand=16]="TimeLand",e[e.TimeTeleport=32]="TimeTeleport",e[e.NoPositionalPrediction=64]="NoPositionalPrediction",e[e.OnLadder=128]="OnLadder",e[e.NoAngularPrediction=256]="NoAngularPrediction",e[e.IgnorePlayerCollision=512]="IgnorePlayerCollision",e[e.TimeTrick=1024]="TimeTrick",e))(O||{});function G(e,t){return(e&t)!==0}var De=(e=>(e[e.Normal=0]="Normal",e[e.Grapple=1]="Grapple",e[e.NoClip=2]="NoClip",e[e.Spectator=3]="Spectator",e[e.Dead=4]="Dead",e[e.Gib=5]="Gib",e[e.Freeze=6]="Freeze",e))(De||{}),U=(e=>(e[e.None=0]="None",e[e.Attack=1]="Attack",e[e.Use=2]="Use",e[e.Holster=4]="Holster",e[e.Jump=8]="Jump",e[e.Crouch=16]="Crouch",e[e.Any=128]="Any",e))(U||{});function mt(e){let{velocity:t,frametime:r,onGround:n,groundIsSlick:i,onLadder:s,waterlevel:o,pmFriction:a,pmStopSpeed:c,pmWaterFriction:d}=e,l=de(t);if(l<1)return{x:0,y:0,z:t.z};let u=0;if(n&&!i||s){let p=l<c?c:l;u+=p*a*r}o>0&&!s&&(u+=l*d*o*r);let h=l-u;if(h<0&&(h=0),h===l)return t;let m=h/l;return H(t,m)}function Ne(e){let{velocity:t,wishdir:r,wishspeed:n,accel:i,frametime:s}=e,o=K(t,r),a=n-o;if(a<=0)return t;let c=i*s*n;return c>a&&(c=a),{x:t.x+r.x*c,y:t.y+r.y*c,z:t.z+r.z*c}}function pt(e){let{velocity:t,wishdir:r,wishspeed:n,accel:i,frametime:s}=e,o=Math.min(n,30),a=K(t,r),c=o-a;if(c<=0)return t;let d=i*n*s;return d>c&&(d=c),{x:t.x+r.x*d,y:t.y+r.y*d,z:t.z+r.z*d}}function yt(e){let{forward:t,right:r,cmd:n,maxSpeed:i}=e,s={x:t.x*n.forwardmove+r.x*n.sidemove,y:t.y*n.forwardmove+r.y*n.sidemove,z:0},o=de(s);if(o>i){let a=i/o;s=H(s,a),o=i}return{wishdir:o===0?s:at(s),wishspeed:o}}function vt(e){let{forward:t,right:r,cmd:n,maxSpeed:i}=e,s={x:t.x*n.forwardmove+r.x*n.sidemove,y:t.y*n.forwardmove+r.y*n.sidemove,z:0};n.upmove>10?s=re(s,{x:0,y:0,z:n.upmove}):n.upmove<-10?s=re(s,{x:0,y:0,z:n.upmove}):s=re(s,{x:0,y:0,z:10});let o=de(s);if(o>i){let a=i/o;s=H(s,a),o=i}return o*=.5,{wishdir:o===0?s:at(s),wishspeed:o}}function $n(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function qn(e){return e>89&&e<180?89:e<271&&e>=180?271:e}function me(e){let{pmFlags:t,cmdAngles:r,deltaAngles:n}=e,i;(t&32)!==0?i={x:0,y:r.y+n.y,z:0}:(i=$n(r,n),i={...i,x:qn(i.x)});let s=Ce(i);return{viewangles:i,...s}}var xt=200,gt=200,wt=200,Mt=140,St=150,zt=3;function Zn(e){let t=X(e);return t>89&&t<180?89:t<271&&t>=180?271:t}function At(e,t){return{x:Zn(e.x+t.x),y:X(e.y+t.y),z:X(e.z+t.z)}}function _t(e,t){let r=t.sensitivityX??t.sensitivity,n=(t.sensitivityY??t.sensitivity)*(t.invertY?-1:1);return{x:e.deltaY*n,y:e.deltaX*r,z:0}}var Jn={pmFriction:6,pmStopSpeed:100,pmAccelerate:10,pmAirAccelerate:1,pmWaterAccelerate:4,pmWaterFriction:1,pmMaxSpeed:300,pmDuckSpeed:100,pmWaterSpeed:400,groundIsSlick:!1},Qn=800,$={x:0,y:0,z:0},ei=250;function W(){return{origin:$,velocity:$,viewangles:$,pmFlags:O.OnGround,pmType:De.Normal,waterlevel:ne.None,gravity:Qn,deltaAngles:$}}function Et(e){return e?{...W(),...e,origin:{...e.origin},velocity:{...e.velocity},viewangles:{...e.viewangles},deltaAngles:e.deltaAngles?{...e.deltaAngles}:$}:W()}function j(e,t,r){return e+(t-e)*r}function Fe(e,t,r){let n=X(t-e);return n>180&&(n-=360),X(e+n*r)}function pe(e,t,r){let n=Math.max(0,Math.min(r,1));return{origin:{x:j(e.origin.x,t.origin.x,n),y:j(e.origin.y,t.origin.y,n),z:j(e.origin.z,t.origin.z,n)},velocity:{x:j(e.velocity.x,t.velocity.x,n),y:j(e.velocity.y,t.velocity.y,n),z:j(e.velocity.z,t.velocity.z,n)},viewangles:{x:Fe(e.viewangles.x,t.viewangles.x,n),y:Fe(e.viewangles.y,t.viewangles.y,n),z:Fe(e.viewangles.z,t.viewangles.z,n)},pmFlags:t.pmFlags,pmType:t.pmType,waterlevel:t.waterlevel,gravity:t.gravity,deltaAngles:t.deltaAngles}}function ti(e,t,r,n){let i=Math.min(Math.max(t.msec,0),ei)/1e3,s=G(e.pmFlags,O.OnGround),o=G(e.pmFlags,O.OnLadder),a=mt({velocity:e.velocity,frametime:i,onGround:s,groundIsSlick:r.groundIsSlick,onLadder:o,waterlevel:e.waterlevel,pmFriction:r.pmFriction,pmStopSpeed:r.pmStopSpeed,pmWaterFriction:r.pmWaterFriction}),{viewangles:c,forward:d,right:l}=me({pmFlags:e.pmFlags,cmdAngles:t.angles,deltaAngles:e.deltaAngles??$}),u=e.waterlevel>ne.None?vt({forward:d,right:l,cmd:t,maxSpeed:r.pmWaterSpeed}):yt({forward:d,right:l,cmd:t,maxSpeed:r.pmMaxSpeed});if(e.waterlevel>ne.None)a=Ne({velocity:a,wishdir:u.wishdir,wishspeed:u.wishspeed,accel:r.pmWaterAccelerate,frametime:i});else if(s||o){let p=G(e.pmFlags,O.Ducked)?r.pmDuckSpeed:r.pmMaxSpeed,y=u.wishspeed>p?{wishdir:u.wishdir,wishspeed:p}:u;a=Ne({velocity:a,wishdir:y.wishdir,wishspeed:y.wishspeed,accel:r.pmAccelerate,frametime:i})}else a=pt({velocity:a,wishdir:u.wishdir,wishspeed:u.wishspeed,accel:r.pmAirAccelerate,frametime:i}),a={...a,z:a.z-e.gravity*i};let m=n(e.origin,re(e.origin,H(a,i))).endpos;return{...e,origin:m,velocity:a,viewangles:c}}var q=class{constructor(t,r={}){this.baseFrame={frame:0,timeMs:0,state:W()};this.commands=[];this.predicted=W();this.settings={...Jn,...r},this.trace=t,this.predicted=this.baseFrame.state??W()}setAuthoritative(t){let r=Et(t.state);return this.baseFrame={...t,state:r},this.commands=this.commands.filter(n=>(n.serverFrame??Number.MAX_SAFE_INTEGER)>t.frame),this.recompute()}enqueueCommand(t){return this.commands.push(t),this.recompute()}getPredictedState(){return this.predicted}recompute(){let t=Et(this.baseFrame.state);for(let r of this.commands)t=ti(t,r,this.settings,this.trace);return this.predicted=t,t}};var ri={runPitch:.002,runRoll:.005,bobUp:.005,bobPitch:.002,bobRoll:.002,maxBobHeight:6,maxBobAngle:1.2};function ni(e){return{x:Math.max(-14,Math.min(14,e.x)),y:Math.max(-14,Math.min(14,e.y)),z:Math.max(-22,Math.min(30,e.z))}}function ii(e,t,r){return t?e>210?r/400:e>100?r/800:r/1600:0}function si(e,t,r,n,i){if(t<5)return{bobTime:0,bobCycle:0,bobCycleRun:0,bobFracSin:0};let s=ii(t,n,i),o=e+s,c=G(r,O.Ducked)&&n?o*4:o;return{bobTime:o,bobCycle:Math.floor(c),bobCycleRun:Math.floor(o),bobFracSin:Math.abs(Math.sin(c*Math.PI))}}var Z=class{constructor(t={}){this.bobTime=0;this.bobCycle=0;this.bobCycleRun=0;this.bobFracSin=0;this.settings={...ri,...t}}addKick(t){t.durationMs<=0||(this.kick={...t,remainingMs:t.durationMs})}get last(){return this.lastSample}sample(t,r){let{forward:n,right:i}=Ce(me({pmFlags:t.pmFlags,cmdAngles:t.viewangles,deltaAngles:t.deltaAngles??ot}).viewangles),s=Math.sqrt(t.velocity.x*t.velocity.x+t.velocity.y*t.velocity.y),o=G(t.pmFlags,O.OnGround),a=si(this.bobTime,s,t.pmFlags,o,r);this.bobTime=a.bobTime,this.bobCycle=a.bobCycle,this.bobCycleRun=a.bobCycleRun,this.bobFracSin=a.bobFracSin;let c=K(t.velocity,n)*this.settings.runPitch,d=K(t.velocity,i)*this.settings.runRoll,l=this.bobFracSin*this.settings.bobPitch*s,u=this.bobFracSin*this.settings.bobRoll*s;G(t.pmFlags,O.Ducked)&&o&&(l*=6,u*=6),c+=Math.min(l,this.settings.maxBobAngle),u=Math.min(u,this.settings.maxBobAngle),this.bobCycle&1&&(u=-u),d+=u;let h=Math.min(this.bobFracSin*s*this.settings.bobUp,this.settings.maxBobHeight),m=0,p=0;if(this.kick&&this.kick.remainingMs>0){let S=Math.max(0,Math.min(1,this.kick.remainingMs/this.kick.durationMs));m+=S*this.kick.pitch,p+=S*this.kick.roll,this.kick.remainingMs=Math.max(0,this.kick.remainingMs-r),this.kick.remainingMs===0&&(this.kick=void 0)}let v={angles:{x:c+m,y:0,z:d+p},offset:ni({x:0,y:0,z:h}),bobCycle:this.bobCycle,bobCycleRun:this.bobCycleRun,bobFracSin:this.bobFracSin,xyspeed:s};return this.lastSample=v,v}};var oi=[{code:"KeyW",command:"+forward"},{code:"ArrowUp",command:"+forward"},{code:"KeyS",command:"+back"},{code:"ArrowDown",command:"+back"},{code:"KeyA",command:"+moveleft"},{code:"KeyD",command:"+moveright"},{code:"Space",command:"+jump"},{code:"ControlLeft",command:"+crouch"},{code:"ShiftLeft",command:"+speed"},{code:"Mouse1",command:"+attack"},{code:"Mouse2",command:"+use"},{code:"Mouse3",command:"+zoom"},{code:"ArrowLeft",command:"+left"},{code:"ArrowRight",command:"+right"},{code:"PageUp",command:"+lookup"},{code:"PageDown",command:"+lookdown"},{code:"Gamepad0-Button7",command:"+attack"},{code:"Gamepad0-Button6",command:"+zoom"},{code:"Gamepad0-Button0",command:"+jump"},{code:"Gamepad0-Button1",command:"+crouch"},{code:"Gamepad0-Button2",command:"+use"},{code:"Gamepad0-Button4",command:"prevweapon"},{code:"Gamepad0-Button5",command:"nextweapon"},{code:"Digit1",command:"weapon 1"},{code:"Digit2",command:"weapon 2"},{code:"Digit3",command:"weapon 3"},{code:"Digit4",command:"weapon 4"},{code:"Digit5",command:"weapon 5"},{code:"Digit6",command:"weapon 6"},{code:"Digit7",command:"weapon 7"},{code:"Digit8",command:"weapon 8"},{code:"Digit9",command:"weapon 9"},{code:"Digit0",command:"weapon 10"}],Y=class{constructor(t=oi){this.bindings=new Map;for(let r of t)this.bind(r.code,r.command)}bind(t,r){this.bindings.set(t,r)}unbind(t){this.bindings.delete(t)}getBinding(t){return this.bindings.get(t)}entries(){return new Map(this.bindings.entries())}};function Tt(){return new Y}function Ie(e){return e}function ie(e){return e.trim().toLowerCase()}var ai=250,ke=class{constructor(){this.activeCodes=new Set;this.downTime=0;this.msec=0;this.pressed=!1}press(t,r){return this.activeCodes.has(t)?!1:(this.activeCodes.add(t),this.pressed=!0,this.activeCodes.size===1?(this.downTime=r,!0):!1)}release(t,r){return this.activeCodes.delete(t)&&this.activeCodes.size===0?(this.msec+=r-this.downTime,this.downTime=0,!0):!1}sample(t,r){if(t<=0)return{active:this.activeCodes.size>0,wasPressed:this.pressed,fraction:0};let n=this.msec;this.activeCodes.size>0&&(n+=r-this.downTime,this.downTime=r),this.msec=0;let i=Math.min(n/t,1),s=this.pressed;return this.pressed=!1,{active:this.activeCodes.size>0,wasPressed:s,fraction:i}}},ye=(v=>(v.Forward="+forward",v.Back="+back",v.MoveLeft="+moveleft",v.MoveRight="+moveright",v.MoveUp="+moveup",v.MoveDown="+movedown",v.Jump="+jump",v.Crouch="+crouch",v.Attack="+attack",v.Use="+use",v.Holster="+holster",v.TurnLeft="+left",v.TurnRight="+right",v.LookUp="+lookup",v.LookDown="+lookdown",v.SpeedModifier="+speed",v.Zoom="+zoom",v))(ye||{}),ci={"+attack":U.Attack,"+use":U.Use,"+holster":U.Holster,"+jump":U.Jump,"+crouch":U.Crouch},li=new Map(Object.values(ye).map(e=>[ie(e),e]));function di(e){return li.get(ie(e))}function se(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var J=class{constructor(t={},r=new Y){this.buttons=new Map;this.viewAngles={x:0,y:0,z:0};this.pointerLocked=!1;this.mouseDelta={deltaX:0,deltaY:0};this.previousMouseDelta={deltaX:0,deltaY:0};this.anyPressed=!1;this.commandQueue=[];this.gamepadButtons=new Map;this.gamepadMove={x:0,y:0};this.gamepadLook={x:0,y:0};this.touchButtons=new Map;this.touchMove={x:0,y:0};this.touchLook={x:0,y:0};this.bindings=r,this.forwardSpeed=t.forwardSpeed??xt,this.sideSpeed=t.sideSpeed??gt,this.upSpeed=t.upSpeed??wt,this.yawSpeed=t.yawSpeed??Mt,this.pitchSpeed=t.pitchSpeed??St,this.sensitivity=t.sensitivity??zt,this.sensitivityX=t.sensitivityX,this.sensitivityY=t.sensitivityY,this.invertMouseY=t.invertMouseY??!1,this.runByDefault=t.runByDefault??!0,this.requirePointerLock=t.requirePointerLock??!0,this.jumpAddsUpMove=t.jumpAddsUpMove??!0,this.crouchAddsDownMove=t.crouchAddsDownMove??!0,this.mouseFilter=t.mouseFilter??!1,this.getGamepads=t.getGamepads,this.gamepadDeadZone=t.gamepadDeadZone??.15,this.gamepadLookScale=t.gamepadLookScale??1,this.invertGamepadY=t.invertGamepadY??this.invertMouseY}handleKeyDown(t,r=se()){let n=t,i=this.bindings.getBinding(n);i&&this.applyCommand(i,!0,n,r)}handleKeyUp(t,r=se()){let n=t,i=this.bindings.getBinding(n);i&&this.applyCommand(i,!1,n,r)}handleMouseButtonDown(t,r=se()){let n=this.mouseButtonToCode(t);this.applyCommand(this.mouseButtonToCommand(n),!0,n,r)}handleMouseButtonUp(t,r=se()){let n=this.mouseButtonToCode(t);this.applyCommand(this.mouseButtonToCommand(n),!1,n,r)}handleMouseMove(t,r){this.requirePointerLock&&!this.pointerLocked||(this.mouseDelta={deltaX:this.mouseDelta.deltaX+t,deltaY:this.mouseDelta.deltaY+r})}setPointerLocked(t){this.pointerLocked=t}setGamepadState(t){this.pendingGamepads=t}setTouchState(t){this.pendingTouchState=t}buildCommand(t,r=se(),n){this.pollGamepads(r),this.applyTouchState(r);let i=this.yawSpeed*t/1e3,s=this.pitchSpeed*t/1e3,o=this.sample("+left",t,r),a=this.sample("+right",t,r),c=this.sample("+lookup",t,r),l={x:(this.sample("+lookdown",t,r).fraction-c.fraction)*s,y:(a.fraction-o.fraction)*i,z:0};if(this.gamepadLook.x!==0||this.gamepadLook.y!==0){let b=this.gamepadLook.y*(this.invertGamepadY?-1:1);l={x:l.x+b*s*this.gamepadLookScale,y:l.y+this.gamepadLook.x*i*this.gamepadLookScale,z:0}}if(this.touchLook.x!==0||this.touchLook.y!==0){let b=this.touchLook.y*(this.invertMouseY?-1:1);l={x:l.x+b*s,y:l.y+this.touchLook.x*i,z:0}}if(this.pointerLocked||!this.requirePointerLock){let b=this.sampleMouseDelta(),C=_t(b,{sensitivity:this.sensitivity,sensitivityX:this.sensitivityX,sensitivityY:this.sensitivityY,invertY:this.invertMouseY});l={x:l.x+C.x,y:l.y+C.y,z:0}}let u=At(this.viewAngles,l);this.viewAngles=u;let h=this.sample("+forward",t,r),m=this.sample("+back",t,r),p=this.sample("+moveleft",t,r),y=this.sample("+moveright",t,r),f=this.sample("+moveup",t,r),v=this.sample("+movedown",t,r),S=this.sample("+speed",t,r),M=this.sample("+jump",t,r),w=this.sample("+crouch",t,r),x=this.runByDefault?S.active?.5:1:S.active?1:.5,g=this.forwardSpeed*(h.fraction-m.fraction)*x,_=this.sideSpeed*(y.fraction-p.fraction)*x,A=this.upSpeed*(f.fraction-v.fraction);(this.gamepadMove.x!==0||this.gamepadMove.y!==0)&&(g+=this.forwardSpeed*this.gamepadMove.y*x,_+=this.sideSpeed*this.gamepadMove.x*x),(this.touchMove.x!==0||this.touchMove.y!==0)&&(g+=this.forwardSpeed*this.touchMove.y*x,_+=this.sideSpeed*this.touchMove.x*x),this.jumpAddsUpMove&&M.fraction>0&&(A+=this.upSpeed*M.fraction),this.crouchAddsDownMove&&w.fraction>0&&(A-=this.upSpeed*w.fraction),g=this.clampMove(g,this.forwardSpeed),_=this.clampMove(_,this.sideSpeed),A=this.clampMove(A,this.upSpeed);let E=this.collectButtonBits(t,r),z=Math.min(Math.max(Math.round(t),1),ai);return(this.anyPressed||E!==U.None)&&(E|=U.Any),this.anyPressed=!1,{msec:z,buttons:E,angles:{...this.viewAngles},forwardmove:g,sidemove:_,upmove:A,serverFrame:n}}consumeConsoleCommands(){let t=this.commandQueue;return this.commandQueue=[],t}pollGamepads(t){let r=this.getGamepads?.()??this.pendingGamepads??[];this.pendingGamepads=void 0,this.gamepadMove={x:0,y:0},this.gamepadLook={x:0,y:0};let n=new Set;for(let i of r){if(!i||i.connected===!1)continue;let s=i.index??0,o=i.axes??[];this.gamepadMove={x:this.mergeAnalog(this.gamepadMove.x,this.applyDeadZone(o[0]??0)),y:this.mergeAnalog(this.gamepadMove.y,-this.applyDeadZone(o[1]??0))},this.gamepadLook={x:this.mergeAnalog(this.gamepadLook.x,this.applyDeadZone(o[2]??0)),y:this.mergeAnalog(this.gamepadLook.y,this.applyDeadZone(o[3]??0))};let a=i.buttons??[];for(let c=0;c<a.length;c++){let d=a[c];if(!d)continue;let l=d.pressed||d.value>this.gamepadDeadZone,u=this.gamepadButtonCode(s,c);l&&n.add(u);let h=this.gamepadButtons.get(u)??!1;l!==h&&(this.applyCommand(this.bindings.getBinding(u),l,u,t),this.gamepadButtons.set(u,l))}}for(let[i,s]of this.gamepadButtons.entries())s&&!n.has(i)&&(this.applyCommand(this.bindings.getBinding(i),!1,i,t),this.gamepadButtons.set(i,!1))}applyTouchState(t){let r=this.pendingTouchState;if(r&&(this.pendingTouchState=void 0,r.move&&(this.touchMove={x:this.clampAnalog(r.move.x),y:this.clampAnalog(r.move.y)}),r.look&&(this.touchLook={x:this.clampAnalog(r.look.x),y:this.clampAnalog(r.look.y)}),r.buttons))for(let[n,i]of Object.entries(r.buttons)){if(i===void 0)continue;let s=this.touchButtons.get(n)??!1;i!==s&&(this.applyCommand(n,i,this.touchButtonCode(n),t),this.touchButtons.set(n,i))}}applyCommand(t,r,n,i){if(!t)return;let s=di(t);if(s){let o=this.lookupButton(s);r?(o.press(n,i)&&this.commandQueue.push(s),this.anyPressed=!0):o.release(n,i)&&this.commandQueue.push(s.replace("+","-"))}else r&&this.commandQueue.push(t)}sampleMouseDelta(){let t=this.mouseDelta;if(this.mouseDelta={deltaX:0,deltaY:0},!this.mouseFilter)return this.previousMouseDelta=t,t;let r={deltaX:(t.deltaX+this.previousMouseDelta.deltaX)*.5,deltaY:(t.deltaY+this.previousMouseDelta.deltaY)*.5};return this.previousMouseDelta=t,r}collectButtonBits(t,r){let n=U.None;for(let[i,s]of Object.entries(ci)){let o=this.sample(i,t,r);(o.fraction>0||o.active||o.wasPressed)&&(n|=s)}return n}lookupButton(t){let r=this.buttons.get(t);return r||(r=new ke,this.buttons.set(t,r)),r}mouseButtonToCode(t){return t===0?"Mouse1":t===1?"Mouse3":t===2?"Mouse2":`Mouse${t+1}`}mouseButtonToCommand(t){return this.bindings.getBinding(t)}sample(t,r,n){return this.lookupButton(t).sample(r,n)}gamepadButtonCode(t,r){return`Gamepad${t}-Button${r}`}touchButtonCode(t){return`Touch-${t}`}clampAnalog(t){return Math.max(-1,Math.min(1,t))}applyDeadZone(t){return Math.abs(t)<this.gamepadDeadZone?0:t}mergeAnalog(t,r){return Math.abs(r)>Math.abs(t)?r:t}clampMove(t,r){return Math.max(-r,Math.min(r,t))}};var ve=class{constructor(t,r=new J(t)){this.queued=[];this.controller=r}captureFrame(t,r,n){let i=this.controller.buildCommand(t,r,n),s=this.controller.consumeConsoleCommands(),o={command:i,console:s};return this.queued.push(o),o}consumeQueued(){let t=[...this.queued];return this.queued.length=0,t}getController(){return this.controller}};function ui(e){let t=new q(e.engine.trace),r=new Z,n,i,s,o;return{init(a){n=a,a?.state&&t.setAuthoritative(a),e.engine.trace({x:0,y:0,z:0},{x:1,y:0,z:0})},predict(a){return t.enqueueCommand(a)},render(a){a.latest?.state&&(t.setAuthoritative(a.latest),n=a.latest),a.previous?.state&&a.latest?.state?i=pe(a.previous.state,a.latest.state,a.alpha):i=a.latest?.state??a.previous?.state??t.getPredictedState();let c=a.latest&&a.previous?Math.max(0,a.latest.timeMs-a.previous.timeMs):0;if(s=r.sample(i,c),i){let{origin:l,viewangles:u}=i;o=new st,o.position=D.fromValues(l.x,l.y,l.z),o.angles=D.fromValues(u.x,u.y,u.z),o.fov=90,o.aspect=4/3}return{}},shutdown(){n=void 0,i=void 0},get prediction(){return t},get lastRendered(){return i},get view(){return r},get lastView(){return s},get camera(){return o}}}return Pt(hi);})();
2
2
  //# sourceMappingURL=index.global.js.map