aptechka 0.5.44 → 0.7.1

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 (234) hide show
  1. package/lib/Animation-6Na1MCtM.cjs +1 -0
  2. package/lib/Animation-CELiTw3n.js +132 -0
  3. package/lib/Composed-DmLYTh1b.js +35 -0
  4. package/lib/Composed-Dx2hs-va.cjs +1 -0
  5. package/lib/{Damped-P4MkCGoY.js → Damped-Mx_FNNVz.js} +2 -5
  6. package/lib/Damped-loFiBsBy.cjs +1 -0
  7. package/lib/{Derived-kPJs5JC5.js → Derived-DlCvc0xQ.js} +1 -1
  8. package/lib/{Derived-B-g8dYgh.cjs → Derived-a6MDQEPY.cjs} +1 -1
  9. package/lib/ElementConstructor-CAZ2ra8m.cjs +1 -0
  10. package/lib/ElementConstructor-OYlPJf2L.js +366 -0
  11. package/lib/Resource-D3TQormz.cjs +1 -0
  12. package/lib/Resource-DIcoALGo.js +64 -0
  13. package/lib/{SourceManager-Q-PB-Rkh.js → SourceManager-Bz329f90.js} +1 -1
  14. package/lib/{SourceManager-vSlsMKUE.cjs → SourceManager-kxr5eUyL.cjs} +1 -1
  15. package/lib/Store-6s0YXK4o.cjs +1 -0
  16. package/lib/{Store-BQXXikps.js → Store-BI2xxXOA.js} +42 -42
  17. package/lib/Tweened-B_mclQ61.cjs +1 -0
  18. package/lib/Tweened-NE8M9onF.js +48 -0
  19. package/lib/{Viewport-DMB0dO-s.cjs → Viewport-CJeKnL5V.cjs} +1 -1
  20. package/lib/{Viewport-CFFhFKqX.js → Viewport-D9IL7kUQ.js} +1 -1
  21. package/lib/_createStore-Cf1MyeHa.cjs +1 -0
  22. package/lib/_createStore-Ck9bHolX.js +12 -0
  23. package/lib/accordion/AccordionElement.d.ts +3 -0
  24. package/lib/accordion/index.cjs +1 -1
  25. package/lib/accordion/index.js +140 -104
  26. package/lib/animation/Animation.d.ts +10 -18
  27. package/lib/animation/Damped.d.ts +3 -5
  28. package/lib/animation/Tweened.d.ts +0 -2
  29. package/lib/animation/index.cjs +1 -1
  30. package/lib/animation/index.js +3 -3
  31. package/lib/attribute/index.cjs +1 -1
  32. package/lib/attribute/index.js +31 -31
  33. package/lib/canvas/index.cjs +1 -1
  34. package/lib/canvas/index.js +3 -3
  35. package/lib/checkbox/index.cjs +1 -1
  36. package/lib/checkbox/index.js +3 -3
  37. package/lib/class-linked-status/index.cjs +1 -1
  38. package/lib/class-linked-status/index.js +1 -1
  39. package/lib/controls/index.cjs +1 -1
  40. package/lib/controls/index.js +3 -3
  41. package/lib/counter/index.d.ts +8 -0
  42. package/lib/{createStylesheet-DBCEbDjI.js → createStylesheet-CR_yi5tp.js} +1 -1
  43. package/lib/{createStylesheet-CqHU9_qv.cjs → createStylesheet-p23sZ7Ey.cjs} +1 -1
  44. package/lib/css-property/index.cjs +1 -1
  45. package/lib/css-property/index.d.ts +1 -0
  46. package/lib/css-property/index.js +36 -32
  47. package/lib/dev/index.cjs +1 -1
  48. package/lib/dev/index.js +1 -1
  49. package/lib/device/index.cjs +1 -1
  50. package/lib/device/index.js +1 -1
  51. package/lib/element-constructor/index.cjs +1 -1
  52. package/lib/element-constructor/index.js +114 -113
  53. package/lib/en3/core/En3Raycaster.d.ts +20 -0
  54. package/lib/en3/core/En3View.d.ts +1 -1
  55. package/lib/en3/core/en3.d.ts +5 -1
  56. package/lib/en3/helpers/En3Controls.d.ts +5 -0
  57. package/lib/en3/helpers/En3GridHelper.d.ts +8 -0
  58. package/lib/en3/helpers/En3Object3dManager.d.ts +12 -0
  59. package/lib/en3/helpers/En3OrbitControls.d.ts +8 -0
  60. package/lib/en3/helpers/En3TransformControls.d.ts +8 -0
  61. package/lib/en3/helpers/index.cjs +1 -0
  62. package/lib/en3/helpers/index.d.ts +2 -0
  63. package/lib/en3/helpers/index.js +1165 -0
  64. package/lib/en3/index.cjs +1 -213
  65. package/lib/en3/index.d.ts +1 -19
  66. package/lib/en3/index.js +4 -3305
  67. package/lib/en3/libs/index.d.ts +1 -0
  68. package/lib/en3/loaders/{en3GLTFLoader.d.ts → En3GLTFLoader.d.ts} +2 -4
  69. package/lib/en3/loaders/En3TextureLoader.d.ts +8 -0
  70. package/lib/en3/loaders/index.cjs +1 -0
  71. package/lib/en3/loaders/index.d.ts +3 -0
  72. package/lib/en3/loaders/index.js +1757 -0
  73. package/lib/en3/loaders/loaders.d.ts +13 -0
  74. package/lib/en3/misc/index.cjs +10 -0
  75. package/lib/en3/misc/index.d.ts +2 -0
  76. package/lib/en3/misc/index.js +115 -0
  77. package/lib/en3/objects/En3Clip.d.ts +1 -1
  78. package/lib/en3/objects/En3GLTF.d.ts +2 -1
  79. package/lib/en3/objects/En3ImageLike.d.ts +2 -1
  80. package/lib/en3/objects/En3SourceConsumer.d.ts +1 -1
  81. package/lib/en3/objects/fluid/index.d.ts +0 -3
  82. package/lib/en3/objects/index.d.ts +7 -0
  83. package/lib/en3/utils/index.cjs +1 -0
  84. package/lib/en3/utils/index.d.ts +5 -0
  85. package/lib/en3/utils/index.js +43 -0
  86. package/lib/en3-C4mzaF6q.cjs +8 -0
  87. package/lib/en3-hbkN1OPu.js +343 -0
  88. package/lib/globals-DMjysUXI.js +8 -0
  89. package/lib/globals-bYKki-b9.cjs +1 -0
  90. package/lib/image/index.cjs +1 -1
  91. package/lib/image/index.js +1 -1
  92. package/lib/{index-BN9X-l9M.js → index-BAH_fO2N.js} +3 -3
  93. package/lib/{index-BbgmbQ-5.cjs → index-D1LQUR-R.cjs} +1 -1
  94. package/lib/instantiate-D19Uvc31.js +125 -0
  95. package/lib/instantiate-Db5gGSYG.cjs +1 -0
  96. package/lib/jsx/ComponentElement.d.ts +18 -0
  97. package/lib/jsx/globals.d.ts +13 -0
  98. package/lib/jsx/h.d.ts +7 -0
  99. package/lib/jsx/hooks/basic/_createStore.d.ts +4 -0
  100. package/lib/jsx/hooks/basic/attachInternals.d.ts +1 -0
  101. package/lib/jsx/hooks/basic/attachShadow.d.ts +1 -0
  102. package/lib/jsx/hooks/basic/attachStylesheet.d.ts +3 -0
  103. package/lib/jsx/hooks/basic/createContext.d.ts +2 -0
  104. package/lib/jsx/hooks/basic/onConnect.d.ts +3 -0
  105. package/lib/jsx/hooks/basic/onDisconnect.d.ts +3 -0
  106. package/lib/jsx/hooks/onAnimationFrame.cjs +1 -0
  107. package/lib/jsx/hooks/onAnimationFrame.d.ts +6 -0
  108. package/lib/jsx/hooks/onAnimationFrame.js +22 -0
  109. package/lib/jsx/hooks/onElementResize.cjs +1 -0
  110. package/lib/jsx/hooks/onElementResize.d.ts +5 -0
  111. package/lib/jsx/hooks/onElementResize.js +11 -0
  112. package/lib/jsx/hooks/onIntersection.cjs +1 -0
  113. package/lib/jsx/hooks/onIntersection.d.ts +5 -0
  114. package/lib/jsx/hooks/onIntersection.js +11 -0
  115. package/lib/jsx/hooks/onWindowResize.cjs +1 -0
  116. package/lib/jsx/hooks/onWindowResize.d.ts +3 -0
  117. package/lib/jsx/hooks/onWindowResize.js +8 -0
  118. package/lib/jsx/hooks/store/createArrayStore.d.ts +3 -0
  119. package/lib/jsx/hooks/store/createComposed.d.ts +3 -0
  120. package/lib/jsx/hooks/store/createDerived.d.ts +3 -0
  121. package/lib/jsx/hooks/store/createDerivedArray.d.ts +3 -0
  122. package/lib/jsx/hooks/store/createDerivedComponent.d.ts +3 -0
  123. package/lib/jsx/hooks/store/createDerivedComponents.d.ts +3 -0
  124. package/lib/jsx/hooks/store/createResource.d.ts +3 -0
  125. package/lib/jsx/hooks/store/createStore.d.ts +3 -0
  126. package/lib/jsx/hooks/store/index.cjs +1 -0
  127. package/lib/jsx/hooks/store/index.d.ts +7 -0
  128. package/lib/jsx/hooks/store/index.js +49 -0
  129. package/lib/jsx/hooks/watchAttribute.cjs +1 -0
  130. package/lib/jsx/hooks/watchAttribute.d.ts +6 -0
  131. package/lib/jsx/hooks/watchAttribute.js +17 -0
  132. package/lib/jsx/hooks/watchCSSProperty.cjs +1 -0
  133. package/lib/jsx/hooks/watchCSSProperty.d.ts +7 -0
  134. package/lib/jsx/hooks/watchCSSProperty.js +17 -0
  135. package/lib/jsx/index.cjs +1 -0
  136. package/lib/jsx/index.d.ts +13 -0
  137. package/lib/jsx/index.js +91 -0
  138. package/lib/jsx/instantiate.d.ts +5 -0
  139. package/lib/jsx/register.d.ts +1 -0
  140. package/lib/jsx/render.d.ts +6 -0
  141. package/lib/jsx/type.d.ts +188 -0
  142. package/lib/ladder/index.cjs +1 -1
  143. package/lib/ladder/index.d.ts +2 -0
  144. package/lib/ladder/index.js +84 -66
  145. package/lib/layout-box/index.cjs +1 -1
  146. package/lib/layout-box/index.d.ts +9 -0
  147. package/lib/layout-box/index.js +190 -164
  148. package/lib/media/index.cjs +1 -1
  149. package/lib/media/index.js +1 -1
  150. package/lib/modal/index.cjs +1 -1
  151. package/lib/modal/index.js +7 -7
  152. package/lib/morph/Morph.d.ts +2 -2
  153. package/lib/morph/index.cjs +1 -1
  154. package/lib/morph/index.d.ts +1 -1
  155. package/lib/morph/index.js +135 -143
  156. package/lib/notifier/index.d.ts +2 -2
  157. package/lib/notifier/index.js +3 -1
  158. package/lib/onConnect-DGP866cj.cjs +1 -0
  159. package/lib/onConnect-y5DrxJ9P.js +7 -0
  160. package/lib/pointer/index.cjs +1 -1
  161. package/lib/pointer/index.js +2 -2
  162. package/lib/polyfills-CM4SCDTt.cjs +1 -0
  163. package/lib/polyfills-X6KXuHg-.js +33 -0
  164. package/lib/popover/index.cjs +1 -1
  165. package/lib/popover/index.js +2 -2
  166. package/lib/router/Router.d.ts +11 -3
  167. package/lib/router/index.cjs +1 -1
  168. package/lib/router/index.d.ts +1 -1
  169. package/lib/router/index.js +185 -165
  170. package/lib/scroll/ScrollElement.d.ts +2 -19
  171. package/lib/scroll/ScrollSection.d.ts +23 -0
  172. package/lib/scroll/index.cjs +1 -1
  173. package/lib/scroll/index.js +81 -77
  174. package/lib/select/index.cjs +1 -1
  175. package/lib/select/index.js +1 -1
  176. package/lib/sequence/index.cjs +1 -1
  177. package/lib/sequence/index.js +1 -1
  178. package/lib/source/index.cjs +1 -1
  179. package/lib/source/index.js +2 -2
  180. package/lib/store/ArrayStore.d.ts +21 -0
  181. package/lib/store/Store.d.ts +1 -7
  182. package/lib/store/index.cjs +1 -1
  183. package/lib/store/index.d.ts +2 -2
  184. package/lib/store/index.js +65 -139
  185. package/lib/tags-BqJKcIve.js +485 -0
  186. package/lib/tags-ld5jemJw.cjs +1 -0
  187. package/lib/theme/index.cjs +1 -1
  188. package/lib/theme/index.js +2 -2
  189. package/lib/tweaker/TweakerBooleanManagerElement.d.ts +1 -1
  190. package/lib/tweaker/TweakerColorManagerElement.d.ts +1 -1
  191. package/lib/tweaker/TweakerFolderElement.d.ts +2 -0
  192. package/lib/tweaker/TweakerLinkManagerElement.d.ts +1 -1
  193. package/lib/tweaker/TweakerNumberManagerElement.d.ts +4 -8
  194. package/lib/tweaker/TweakerSelectManagerElement.d.ts +1 -1
  195. package/lib/tweaker/TweakerStoreManagerElement.d.ts +7 -7
  196. package/lib/tweaker/TweakerStringManagerElement.d.ts +3 -5
  197. package/lib/tweaker/index.cjs +3 -3
  198. package/lib/tweaker/index.js +535 -412
  199. package/lib/tweaker/tweakerManagerConstructors.d.ts +2 -2
  200. package/lib/tweaker/tweakerStorage.d.ts +8 -1
  201. package/lib/url-C3dWnJQg.cjs +1 -0
  202. package/lib/url-DMNfW7uN.js +22 -0
  203. package/lib/utils/index.cjs +1 -1
  204. package/lib/utils/index.d.ts +1 -0
  205. package/lib/utils/index.js +39 -34
  206. package/lib/utils/number.d.ts +1 -0
  207. package/lib/utils/url.d.ts +9 -0
  208. package/lib/video/index.cjs +1 -1
  209. package/lib/video/index.js +1 -1
  210. package/package.json +107 -3
  211. package/lib/Animation-DDHjrbtL.cjs +0 -1
  212. package/lib/Animation-Dq_05jlR.js +0 -217
  213. package/lib/DRACOLoader-C2CFpMGS.cjs +0 -2
  214. package/lib/DRACOLoader-D2KY2dku.js +0 -241
  215. package/lib/Damped-l0mnlhar.cjs +0 -1
  216. package/lib/KTX2Loader-DdUl1XiY.cjs +0 -2
  217. package/lib/KTX2Loader-DqpAffDj.js +0 -536
  218. package/lib/Store-C-1ruEIm.cjs +0 -1
  219. package/lib/Tweened-CwDC2zl8.js +0 -51
  220. package/lib/Tweened-DIt9j9B-.cjs +0 -1
  221. package/lib/animation/AnimationLink.d.ts +0 -13
  222. package/lib/en3/loaders/en3TextureLoader.d.ts +0 -3
  223. package/lib/en3/test/En3HTML.d.ts +0 -10
  224. package/lib/polyfills-BA-CL_HF.js +0 -27
  225. package/lib/polyfills-DHs2SNbz.cjs +0 -1
  226. package/lib/store/CumulativeResource.d.ts +0 -13
  227. package/lib/tags-CMPg9ETZ.js +0 -848
  228. package/lib/tags-Djb6mb1o.cjs +0 -1
  229. package/lib/tweaker/TweakerRangeManagerElement.d.ts +0 -11
  230. /package/lib/en3/{loaders → core}/en3Cache.d.ts +0 -0
  231. /package/lib/{MeshoptDecoder-CMeN3oU0.cjs → en3/libs/index.cjs} +0 -0
  232. /package/lib/{MeshoptDecoder-6XfTpOG2.js → en3/libs/index.js} +0 -0
  233. /package/lib/en3/{test → misc}/En3ModifiedMaterial.d.ts +0 -0
  234. /package/lib/en3/{attachments → misc}/En3SourceManager.d.ts +0 -0
@@ -1,536 +0,0 @@
1
- var m = (g, A, B) => new Promise((C, I) => {
2
- var Q = (n) => {
3
- try {
4
- r(B.next(n));
5
- } catch (w) {
6
- I(w);
7
- }
8
- }, t = (n) => {
9
- try {
10
- r(B.throw(n));
11
- } catch (w) {
12
- I(w);
13
- }
14
- }, r = (n) => n.done ? C(n.value) : Promise.resolve(n.value).then(Q, t);
15
- r((B = B.apply(g, A)).next());
16
- });
17
- import { Loader as fA, FileLoader as Z, CompressedCubeTexture as dA, UnsignedByteType as U, CompressedArrayTexture as JA, CompressedTexture as aA, LinearFilter as QA, LinearMipmapLinearFilter as MA, RGBAFormat as p, RGBA_ASTC_4x4_Format as qA, RGBA_BPTC_Format as pA, RGBA_ETC2_EAC_Format as lA, RGBA_PVRTC_4BPPV1_Format as YA, RGBA_S3TC_DXT5_Format as HA, RGB_ETC1_Format as xA, RGB_ETC2_Format as mA, RGB_PVRTC_4BPPV1_Format as KA, RGBA_S3TC_DXT1_Format as uA, FloatType as W, HalfFloatType as b, DataTexture as _A, Data3DTexture as TA, SRGBColorSpace as OA, LinearSRGBColorSpace as VA, DisplayP3ColorSpace as PA, LinearDisplayP3ColorSpace as XA, NoColorSpace as EA, RGFormat as u, RedFormat as _, RGBA_ASTC_6x6_Format as iA } from "three";
18
- class WA {
19
- constructor(A = 4) {
20
- this.pool = A, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
21
- }
22
- _initWorker(A) {
23
- if (!this.workers[A]) {
24
- const B = this.workerCreator();
25
- B.addEventListener("message", this._onMessage.bind(this, A)), this.workers[A] = B;
26
- }
27
- }
28
- _getIdleWorker() {
29
- for (let A = 0; A < this.pool; A++)
30
- if (!(this.workerStatus & 1 << A))
31
- return A;
32
- return -1;
33
- }
34
- _onMessage(A, B) {
35
- const C = this.workersResolve[A];
36
- if (C && C(B), this.queue.length) {
37
- const { resolve: I, msg: Q, transfer: t } = this.queue.shift();
38
- this.workersResolve[A] = I, this.workers[A].postMessage(Q, t);
39
- } else
40
- this.workerStatus ^= 1 << A;
41
- }
42
- setWorkerCreator(A) {
43
- this.workerCreator = A;
44
- }
45
- setWorkerLimit(A) {
46
- this.pool = A;
47
- }
48
- postMessage(A, B) {
49
- return new Promise((C) => {
50
- const I = this._getIdleWorker();
51
- I !== -1 ? (this._initWorker(I), this.workerStatus |= 1 << I, this.workersResolve[I] = C, this.workers[I].postMessage(A, B)) : this.queue.push({ resolve: C, msg: A, transfer: B });
52
- });
53
- }
54
- dispose() {
55
- this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
56
- }
57
- }
58
- const bA = 0, oA = 2, ZA = 1, tA = 2, vA = 0, jA = 1, zA = 10, $A = 0, rA = 9, DA = 15, nA = 16, hA = 22, wA = 37, FA = 43, GA = 76, cA = 83, SA = 97, yA = 100, RA = 103, UA = 109, LA = 165, kA = 166;
59
- class AI {
60
- constructor() {
61
- this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], this.keyValue = {}, this.globalData = null;
62
- }
63
- }
64
- class K {
65
- constructor(A, B, C, I) {
66
- this._dataView = new DataView(A.buffer, A.byteOffset + B, C), this._littleEndian = I, this._offset = 0;
67
- }
68
- _nextUint8() {
69
- const A = this._dataView.getUint8(this._offset);
70
- return this._offset += 1, A;
71
- }
72
- _nextUint16() {
73
- const A = this._dataView.getUint16(this._offset, this._littleEndian);
74
- return this._offset += 2, A;
75
- }
76
- _nextUint32() {
77
- const A = this._dataView.getUint32(this._offset, this._littleEndian);
78
- return this._offset += 4, A;
79
- }
80
- _nextUint64() {
81
- const A = this._dataView.getUint32(this._offset, this._littleEndian) + 4294967296 * this._dataView.getUint32(this._offset + 4, this._littleEndian);
82
- return this._offset += 8, A;
83
- }
84
- _nextInt32() {
85
- const A = this._dataView.getInt32(this._offset, this._littleEndian);
86
- return this._offset += 4, A;
87
- }
88
- _skip(A) {
89
- return this._offset += A, this;
90
- }
91
- _scan(A, B = 0) {
92
- const C = this._offset;
93
- let I = 0;
94
- for (; this._dataView.getUint8(this._offset) !== B && I < A; )
95
- I++, this._offset++;
96
- return I < A && this._offset++, new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + C, I);
97
- }
98
- }
99
- const G = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
100
- function eA(g) {
101
- return typeof TextDecoder != "undefined" ? new TextDecoder().decode(g) : Buffer.from(g).toString("utf8");
102
- }
103
- function II(g) {
104
- const A = new Uint8Array(g.buffer, g.byteOffset, G.length);
105
- if (A[0] !== G[0] || A[1] !== G[1] || A[2] !== G[2] || A[3] !== G[3] || A[4] !== G[4] || A[5] !== G[5] || A[6] !== G[6] || A[7] !== G[7] || A[8] !== G[8] || A[9] !== G[9] || A[10] !== G[10] || A[11] !== G[11])
106
- throw new Error("Missing KTX 2.0 identifier.");
107
- const B = new AI(), C = 17 * Uint32Array.BYTES_PER_ELEMENT, I = new K(g, G.length, C, !0);
108
- B.vkFormat = I._nextUint32(), B.typeSize = I._nextUint32(), B.pixelWidth = I._nextUint32(), B.pixelHeight = I._nextUint32(), B.pixelDepth = I._nextUint32(), B.layerCount = I._nextUint32(), B.faceCount = I._nextUint32();
109
- const Q = I._nextUint32();
110
- B.supercompressionScheme = I._nextUint32();
111
- const t = I._nextUint32(), r = I._nextUint32(), n = I._nextUint32(), w = I._nextUint32(), e = I._nextUint64(), y = I._nextUint64(), M = new K(g, G.length + C, 3 * Q * 8, !0);
112
- for (let F = 0; F < Q; F++)
113
- B.levels.push({ levelData: new Uint8Array(g.buffer, g.byteOffset + M._nextUint64(), M._nextUint64()), uncompressedByteLength: M._nextUint64() });
114
- const i = new K(g, t, r, !0), o = { vendorId: i._skip(4)._nextUint16(), descriptorType: i._nextUint16(), versionNumber: i._nextUint16(), descriptorBlockSize: i._nextUint16(), colorModel: i._nextUint8(), colorPrimaries: i._nextUint8(), transferFunction: i._nextUint8(), flags: i._nextUint8(), texelBlockDimension: [i._nextUint8(), i._nextUint8(), i._nextUint8(), i._nextUint8()], bytesPlane: [i._nextUint8(), i._nextUint8(), i._nextUint8(), i._nextUint8(), i._nextUint8(), i._nextUint8(), i._nextUint8(), i._nextUint8()], samples: [] }, E = (o.descriptorBlockSize / 4 - 6) / 4;
115
- for (let F = 0; F < E; F++) {
116
- const S = { bitOffset: i._nextUint16(), bitLength: i._nextUint8(), channelType: i._nextUint8(), samplePosition: [i._nextUint8(), i._nextUint8(), i._nextUint8(), i._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
117
- 64 & S.channelType ? (S.sampleLower = i._nextInt32(), S.sampleUpper = i._nextInt32()) : (S.sampleLower = i._nextUint32(), S.sampleUpper = i._nextUint32()), o.samples[F] = S;
118
- }
119
- B.dataFormatDescriptor.length = 0, B.dataFormatDescriptor.push(o);
120
- const s = new K(g, n, w, !0);
121
- for (; s._offset < w; ) {
122
- const F = s._nextUint32(), S = s._scan(F), x = eA(S), k = s._scan(F - S.byteLength);
123
- B.keyValue[x] = x.match(/^ktx/i) ? eA(k) : k, s._offset % 4 && s._skip(4 - s._offset % 4);
124
- }
125
- if (y <= 0)
126
- return B;
127
- const a = new K(g, e, y, !0), D = a._nextUint16(), h = a._nextUint16(), L = a._nextUint32(), R = a._nextUint32(), c = a._nextUint32(), T = a._nextUint32(), O = [];
128
- for (let F = 0; F < Q; F++)
129
- O.push({ imageFlags: a._nextUint32(), rgbSliceByteOffset: a._nextUint32(), rgbSliceByteLength: a._nextUint32(), alphaSliceByteOffset: a._nextUint32(), alphaSliceByteLength: a._nextUint32() });
130
- const l = e + a._offset, Y = l + L, H = Y + R, V = H + c, J = new Uint8Array(g.buffer, g.byteOffset + l, L), P = new Uint8Array(g.buffer, g.byteOffset + Y, R), d = new Uint8Array(g.buffer, g.byteOffset + H, c), X = new Uint8Array(g.buffer, g.byteOffset + V, T);
131
- return B.globalData = { endpointCount: D, selectorCount: h, imageDescs: O, endpointsData: J, selectorsData: P, tablesData: d, extendedData: X }, B;
132
- }
133
- let v, N, gA;
134
- const j = { env: { emscripten_notify_memory_growth: function(g) {
135
- gA = new Uint8Array(N.exports.memory.buffer);
136
- } } };
137
- class BI {
138
- init() {
139
- return v || (v = typeof fetch != "undefined" ? fetch("data:application/wasm;base64," + sA).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, j)).then(this._init) : WebAssembly.instantiate(Buffer.from(sA, "base64"), j).then(this._init), v);
140
- }
141
- _init(A) {
142
- N = A.instance, j.env.emscripten_notify_memory_growth(0);
143
- }
144
- decode(A, B = 0) {
145
- if (!N)
146
- throw new Error("ZSTDDecoder: Await .init() before decoding.");
147
- const C = A.byteLength, I = N.exports.malloc(C);
148
- gA.set(A, I), B = B || Number(N.exports.ZSTD_findDecompressedSize(I, C));
149
- const Q = N.exports.malloc(B), t = N.exports.ZSTD_decompress(Q, B, I, C), r = gA.slice(Q, Q + t);
150
- return N.exports.free(I), N.exports.free(Q), r;
151
- }
152
- }
153
- const sA = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", z = /* @__PURE__ */ new WeakMap();
154
- let $ = 0, AA;
155
- class f extends fA {
156
- constructor(A) {
157
- super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new WA(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
158
- 'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
159
- );
160
- }
161
- setTranscoderPath(A) {
162
- return this.transcoderPath = A, this;
163
- }
164
- setWorkerLimit(A) {
165
- return this.workerPool.setWorkerLimit(A), this;
166
- }
167
- detectSupportAsync(A) {
168
- return m(this, null, function* () {
169
- return this.workerConfig = {
170
- astcSupported: yield A.hasFeatureAsync("texture-compression-astc"),
171
- etc1Supported: yield A.hasFeatureAsync("texture-compression-etc1"),
172
- etc2Supported: yield A.hasFeatureAsync("texture-compression-etc2"),
173
- dxtSupported: yield A.hasFeatureAsync("texture-compression-bc"),
174
- bptcSupported: yield A.hasFeatureAsync("texture-compression-bptc"),
175
- pvrtcSupported: yield A.hasFeatureAsync("texture-compression-pvrtc")
176
- }, this;
177
- });
178
- }
179
- detectSupport(A) {
180
- return A.isWebGPURenderer === !0 ? this.workerConfig = {
181
- astcSupported: A.hasFeature("texture-compression-astc"),
182
- etc1Supported: A.hasFeature("texture-compression-etc1"),
183
- etc2Supported: A.hasFeature("texture-compression-etc2"),
184
- dxtSupported: A.hasFeature("texture-compression-bc"),
185
- bptcSupported: A.hasFeature("texture-compression-bptc"),
186
- pvrtcSupported: A.hasFeature("texture-compression-pvrtc")
187
- } : this.workerConfig = {
188
- astcSupported: A.extensions.has("WEBGL_compressed_texture_astc"),
189
- etc1Supported: A.extensions.has("WEBGL_compressed_texture_etc1"),
190
- etc2Supported: A.extensions.has("WEBGL_compressed_texture_etc"),
191
- dxtSupported: A.extensions.has("WEBGL_compressed_texture_s3tc"),
192
- bptcSupported: A.extensions.has("EXT_texture_compression_bptc"),
193
- pvrtcSupported: A.extensions.has("WEBGL_compressed_texture_pvrtc") || A.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")
194
- }, this;
195
- }
196
- init() {
197
- if (!this.transcoderPending) {
198
- const A = new Z(this.manager);
199
- A.setPath(this.transcoderPath), A.setWithCredentials(this.withCredentials);
200
- const B = A.loadAsync("basis_transcoder.js"), C = new Z(this.manager);
201
- C.setPath(this.transcoderPath), C.setResponseType("arraybuffer"), C.setWithCredentials(this.withCredentials);
202
- const I = C.loadAsync("basis_transcoder.wasm");
203
- this.transcoderPending = Promise.all([B, I]).then(([Q, t]) => {
204
- const r = f.BasisWorker.toString(), n = [
205
- "/* constants */",
206
- "let _EngineFormat = " + JSON.stringify(f.EngineFormat),
207
- "let _TranscoderFormat = " + JSON.stringify(f.TranscoderFormat),
208
- "let _BasisFormat = " + JSON.stringify(f.BasisFormat),
209
- "/* basis_transcoder.js */",
210
- Q,
211
- "/* worker */",
212
- r.substring(r.indexOf("{") + 1, r.lastIndexOf("}"))
213
- ].join(`
214
- `);
215
- this.workerSourceURL = URL.createObjectURL(new Blob([n])), this.transcoderBinary = t, this.workerPool.setWorkerCreator(() => {
216
- const w = new Worker(this.workerSourceURL), e = this.transcoderBinary.slice(0);
217
- return w.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: e }, [e]), w;
218
- });
219
- }), $ > 0 && console.warn(
220
- "THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."
221
- ), $++;
222
- }
223
- return this.transcoderPending;
224
- }
225
- load(A, B, C, I) {
226
- if (this.workerConfig === null)
227
- throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
228
- const Q = new Z(this.manager);
229
- Q.setResponseType("arraybuffer"), Q.setWithCredentials(this.withCredentials), Q.load(A, (t) => {
230
- if (z.has(t))
231
- return z.get(t).promise.then(B).catch(I);
232
- this._createTexture(t).then((r) => B ? B(r) : null).catch(I);
233
- }, C, I);
234
- }
235
- _createTextureFrom(A, B) {
236
- const { faces: C, width: I, height: Q, format: t, type: r, error: n, dfdFlags: w } = A;
237
- if (r === "error")
238
- return Promise.reject(n);
239
- let e;
240
- if (B.faceCount === 6)
241
- e = new dA(C, t, U);
242
- else {
243
- const y = C[0].mipmaps;
244
- e = B.layerCount > 1 ? new JA(y, I, Q, B.layerCount, t, U) : new aA(y, I, Q, t, U);
245
- }
246
- return e.minFilter = C[0].mipmaps.length === 1 ? QA : MA, e.magFilter = QA, e.generateMipmaps = !1, e.needsUpdate = !0, e.colorSpace = NA(B), e.premultiplyAlpha = !!(w & ZA), e;
247
- }
248
- /**
249
- * @param {ArrayBuffer} buffer
250
- * @param {object?} config
251
- * @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
252
- */
253
- _createTexture(C) {
254
- return m(this, arguments, function* (A, B = {}) {
255
- const I = II(new Uint8Array(A));
256
- if (I.vkFormat !== $A)
257
- return CI(I);
258
- const Q = B, t = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: A, taskConfig: Q }, [A])).then((r) => this._createTextureFrom(r.data, I));
259
- return z.set(A, { promise: t }), t;
260
- });
261
- }
262
- dispose() {
263
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), $--, this;
264
- }
265
- }
266
- f.BasisFormat = {
267
- ETC1S: 0,
268
- UASTC_4x4: 1
269
- };
270
- f.TranscoderFormat = {
271
- ETC1: 0,
272
- ETC2: 1,
273
- BC1: 2,
274
- BC3: 3,
275
- BC4: 4,
276
- BC5: 5,
277
- BC7_M6_OPAQUE_ONLY: 6,
278
- BC7_M5: 7,
279
- PVRTC1_4_RGB: 8,
280
- PVRTC1_4_RGBA: 9,
281
- ASTC_4x4: 10,
282
- ATC_RGB: 11,
283
- ATC_RGBA_INTERPOLATED_ALPHA: 12,
284
- RGBA32: 13,
285
- RGB565: 14,
286
- BGR565: 15,
287
- RGBA4444: 16
288
- };
289
- f.EngineFormat = {
290
- RGBAFormat: p,
291
- RGBA_ASTC_4x4_Format: qA,
292
- RGBA_BPTC_Format: pA,
293
- RGBA_ETC2_EAC_Format: lA,
294
- RGBA_PVRTC_4BPPV1_Format: YA,
295
- RGBA_S3TC_DXT5_Format: HA,
296
- RGB_ETC1_Format: xA,
297
- RGB_ETC2_Format: mA,
298
- RGB_PVRTC_4BPPV1_Format: KA,
299
- RGBA_S3TC_DXT1_Format: uA
300
- };
301
- f.BasisWorker = function() {
302
- let g, A, B;
303
- const C = _EngineFormat, I = _TranscoderFormat, Q = _BasisFormat;
304
- self.addEventListener("message", function(o) {
305
- const E = o.data;
306
- switch (E.type) {
307
- case "init":
308
- g = E.config, t(E.transcoderBinary);
309
- break;
310
- case "transcode":
311
- A.then(() => {
312
- try {
313
- const { faces: s, buffers: a, width: D, height: h, hasAlpha: L, format: R, dfdFlags: c } = r(E.buffer);
314
- self.postMessage({ type: "transcode", id: E.id, faces: s, width: D, height: h, hasAlpha: L, format: R, dfdFlags: c }, a);
315
- } catch (s) {
316
- console.error(s), self.postMessage({ type: "error", id: E.id, error: s.message });
317
- }
318
- });
319
- break;
320
- }
321
- });
322
- function t(o) {
323
- A = new Promise((E) => {
324
- B = { wasmBinary: o, onRuntimeInitialized: E }, BASIS(B);
325
- }).then(() => {
326
- B.initializeBasis(), B.KTX2File === void 0 && console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.");
327
- });
328
- }
329
- function r(o) {
330
- const E = new B.KTX2File(new Uint8Array(o));
331
- function s() {
332
- E.close(), E.delete();
333
- }
334
- if (!E.isValid())
335
- throw s(), new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");
336
- const a = E.isUASTC() ? Q.UASTC_4x4 : Q.ETC1S, D = E.getWidth(), h = E.getHeight(), L = E.getLayers() || 1, R = E.getLevels(), c = E.getFaces(), T = E.getHasAlpha(), O = E.getDFDFlags(), { transcoderFormat: l, engineFormat: Y } = y(a, D, h, T);
337
- if (!D || !h || !R)
338
- throw s(), new Error("THREE.KTX2Loader: Invalid texture");
339
- if (!E.startTranscoding())
340
- throw s(), new Error("THREE.KTX2Loader: .startTranscoding failed");
341
- const H = [], V = [];
342
- for (let J = 0; J < c; J++) {
343
- const P = [];
344
- for (let d = 0; d < R; d++) {
345
- const X = [];
346
- let F, S;
347
- for (let k = 0; k < L; k++) {
348
- const q = E.getImageLevelInfo(d, k, J);
349
- J === 0 && d === 0 && k === 0 && (q.origWidth % 4 !== 0 || q.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), R > 1 ? (F = q.origWidth, S = q.origHeight) : (F = q.width, S = q.height);
350
- const CA = new Uint8Array(E.getImageTranscodedSizeInBytes(d, k, 0, l));
351
- if (!E.transcodeImage(CA, d, k, J, l, 0, -1, -1))
352
- throw s(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
353
- X.push(CA);
354
- }
355
- const x = i(X);
356
- P.push({ data: x, width: F, height: S }), V.push(x.buffer);
357
- }
358
- H.push({ mipmaps: P, width: D, height: h, format: Y });
359
- }
360
- return s(), { faces: H, buffers: V, width: D, height: h, hasAlpha: T, format: Y, dfdFlags: O };
361
- }
362
- const n = [
363
- {
364
- if: "astcSupported",
365
- basisFormat: [Q.UASTC_4x4],
366
- transcoderFormat: [I.ASTC_4x4, I.ASTC_4x4],
367
- engineFormat: [C.RGBA_ASTC_4x4_Format, C.RGBA_ASTC_4x4_Format],
368
- priorityETC1S: 1 / 0,
369
- priorityUASTC: 1,
370
- needsPowerOfTwo: !1
371
- },
372
- {
373
- if: "bptcSupported",
374
- basisFormat: [Q.ETC1S, Q.UASTC_4x4],
375
- transcoderFormat: [I.BC7_M5, I.BC7_M5],
376
- engineFormat: [C.RGBA_BPTC_Format, C.RGBA_BPTC_Format],
377
- priorityETC1S: 3,
378
- priorityUASTC: 2,
379
- needsPowerOfTwo: !1
380
- },
381
- {
382
- if: "dxtSupported",
383
- basisFormat: [Q.ETC1S, Q.UASTC_4x4],
384
- transcoderFormat: [I.BC1, I.BC3],
385
- engineFormat: [C.RGBA_S3TC_DXT1_Format, C.RGBA_S3TC_DXT5_Format],
386
- priorityETC1S: 4,
387
- priorityUASTC: 5,
388
- needsPowerOfTwo: !1
389
- },
390
- {
391
- if: "etc2Supported",
392
- basisFormat: [Q.ETC1S, Q.UASTC_4x4],
393
- transcoderFormat: [I.ETC1, I.ETC2],
394
- engineFormat: [C.RGB_ETC2_Format, C.RGBA_ETC2_EAC_Format],
395
- priorityETC1S: 1,
396
- priorityUASTC: 3,
397
- needsPowerOfTwo: !1
398
- },
399
- {
400
- if: "etc1Supported",
401
- basisFormat: [Q.ETC1S, Q.UASTC_4x4],
402
- transcoderFormat: [I.ETC1],
403
- engineFormat: [C.RGB_ETC1_Format],
404
- priorityETC1S: 2,
405
- priorityUASTC: 4,
406
- needsPowerOfTwo: !1
407
- },
408
- {
409
- if: "pvrtcSupported",
410
- basisFormat: [Q.ETC1S, Q.UASTC_4x4],
411
- transcoderFormat: [I.PVRTC1_4_RGB, I.PVRTC1_4_RGBA],
412
- engineFormat: [C.RGB_PVRTC_4BPPV1_Format, C.RGBA_PVRTC_4BPPV1_Format],
413
- priorityETC1S: 5,
414
- priorityUASTC: 6,
415
- needsPowerOfTwo: !0
416
- }
417
- ], w = n.sort(function(o, E) {
418
- return o.priorityETC1S - E.priorityETC1S;
419
- }), e = n.sort(function(o, E) {
420
- return o.priorityUASTC - E.priorityUASTC;
421
- });
422
- function y(o, E, s, a) {
423
- let D, h;
424
- const L = o === Q.ETC1S ? w : e;
425
- for (let R = 0; R < L.length; R++) {
426
- const c = L[R];
427
- if (g[c.if] && c.basisFormat.includes(o) && !(a && c.transcoderFormat.length < 2) && !(c.needsPowerOfTwo && !(M(E) && M(s))))
428
- return D = c.transcoderFormat[a ? 1 : 0], h = c.engineFormat[a ? 1 : 0], { transcoderFormat: D, engineFormat: h };
429
- }
430
- return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), D = I.RGBA32, h = C.RGBAFormat, { transcoderFormat: D, engineFormat: h };
431
- }
432
- function M(o) {
433
- return o <= 2 ? !0 : (o & o - 1) === 0 && o !== 0;
434
- }
435
- function i(o) {
436
- if (o.length === 1)
437
- return o[0];
438
- let E = 0;
439
- for (let D = 0; D < o.length; D++) {
440
- const h = o[D];
441
- E += h.byteLength;
442
- }
443
- const s = new Uint8Array(E);
444
- let a = 0;
445
- for (let D = 0; D < o.length; D++) {
446
- const h = o[D];
447
- s.set(h, a), a += h.byteLength;
448
- }
449
- return s;
450
- }
451
- };
452
- const gI = /* @__PURE__ */ new Set([p, u, _]), IA = {
453
- [UA]: p,
454
- [SA]: p,
455
- [wA]: p,
456
- [FA]: p,
457
- [RA]: u,
458
- [cA]: u,
459
- [nA]: u,
460
- [hA]: u,
461
- [yA]: _,
462
- [GA]: _,
463
- [DA]: _,
464
- [rA]: _,
465
- [kA]: iA,
466
- [LA]: iA
467
- }, BA = {
468
- [UA]: W,
469
- [SA]: b,
470
- [wA]: U,
471
- [FA]: U,
472
- [RA]: W,
473
- [cA]: b,
474
- [nA]: U,
475
- [hA]: U,
476
- [yA]: W,
477
- [GA]: b,
478
- [DA]: U,
479
- [rA]: U,
480
- [kA]: U,
481
- [LA]: U
482
- };
483
- function CI(g) {
484
- return m(this, null, function* () {
485
- const { vkFormat: A } = g;
486
- if (IA[A] === void 0)
487
- throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
488
- let B;
489
- g.supercompressionScheme === oA && (AA || (AA = new Promise((Q) => m(this, null, function* () {
490
- const t = new BI();
491
- yield t.init(), Q(t);
492
- }))), B = yield AA);
493
- const C = [];
494
- for (let Q = 0; Q < g.levels.length; Q++) {
495
- const t = Math.max(1, g.pixelWidth >> Q), r = Math.max(1, g.pixelHeight >> Q), n = g.pixelDepth ? Math.max(1, g.pixelDepth >> Q) : 0, w = g.levels[Q];
496
- let e;
497
- if (g.supercompressionScheme === bA)
498
- e = w.levelData;
499
- else if (g.supercompressionScheme === oA)
500
- e = B.decode(w.levelData, w.uncompressedByteLength);
501
- else
502
- throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
503
- let y;
504
- BA[A] === W ? y = new Float32Array(
505
- e.buffer,
506
- e.byteOffset,
507
- e.byteLength / Float32Array.BYTES_PER_ELEMENT
508
- ) : BA[A] === b ? y = new Uint16Array(
509
- e.buffer,
510
- e.byteOffset,
511
- e.byteLength / Uint16Array.BYTES_PER_ELEMENT
512
- ) : y = e, C.push({
513
- data: y,
514
- width: t,
515
- height: r,
516
- depth: n
517
- });
518
- }
519
- let I;
520
- if (gI.has(IA[A]))
521
- I = g.pixelDepth === 0 ? new _A(C[0].data, g.pixelWidth, g.pixelHeight) : new TA(C[0].data, g.pixelWidth, g.pixelHeight, g.pixelDepth);
522
- else {
523
- if (g.pixelDepth > 0)
524
- throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
525
- I = new aA(C, g.pixelWidth, g.pixelHeight);
526
- }
527
- return I.mipmaps = C, I.type = BA[A], I.format = IA[A], I.colorSpace = NA(g), I.needsUpdate = !0, Promise.resolve(I);
528
- });
529
- }
530
- function NA(g) {
531
- const A = g.dataFormatDescriptor[0];
532
- return A.colorPrimaries === jA ? A.transferFunction === tA ? OA : VA : A.colorPrimaries === zA ? A.transferFunction === tA ? PA : XA : A.colorPrimaries === vA ? EA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), EA);
533
- }
534
- export {
535
- f as KTX2Loader
536
- };
@@ -1 +0,0 @@
1
- "use strict";var R=(s,t,e)=>{if(!t.has(s))throw TypeError("Cannot "+e)};var r=(s,t,e)=>(R(s,t,"read from private field"),e?e.call(s):t.get(s)),a=(s,t,e)=>{if(t.has(s))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(s):t.set(s,e)},i=(s,t,e,h)=>(R(s,t,"write to private field"),h?h.call(s,e):t.set(s,e),e);var p=(s,t,e)=>(R(s,t,"access private method"),e);const M=require("./browser-CpzFX2xg.cjs");var l,d,S;class I{constructor(){a(this,l,null);a(this,d,"");a(this,S,"");M.isBrowser&&(i(this,d,document.documentElement.getAttribute("data-project")||"unnamed"),i(this,S,r(this,d)?r(this,d)+"-store-registry":"store-registry"))}get projectName(){return r(this,d)}get localStoreRegistryName(){return r(this,S)}get loadedState(){return r(this,l)}saveState(){const t=this.getState(),e=JSON.stringify(t);localStorage.setItem(r(this,S),e)}loadState(t=localStorage.getItem(r(this,S))){t&&(typeof t=="string"?i(this,l,JSON.parse(t)):i(this,l,t),n.current.forEach(e=>{e.passport&&this.updateStore(e)}))}resetState(){n.current.forEach(t=>{t.passport&&t.reset()}),this.saveState()}updateStore(t){var h,N;if(!Array.isArray((h=r(this,l))==null?void 0:h.stores))return t;const e=t.passport;if(e){const k=(N=r(this,l))==null?void 0:N.stores.find(z=>z.name===e.name);k&&(t.current=k.value)}return t}getState(){const t={stores:[]};return n.current.forEach(e=>{e.passport&&(t.stores.find(h=>h.name===e.passport.name)||t.stores.push({value:e.current,name:e.passport.name}))}),t}}l=new WeakMap,d=new WeakMap,S=new WeakMap;const E=new I;var m,y,g,f,o,u,b,c,v,w,A,q;class j{constructor(t,e){a(this,A);a(this,m,void 0);a(this,y,void 0);a(this,g,void 0);a(this,f,void 0);a(this,o,void 0);a(this,u,new Set);a(this,b,void 0);a(this,c,void 0);a(this,v,void 0);a(this,w,void 0);i(this,m,e==null?void 0:e.passport),i(this,y,t),i(this,g,void 0),i(this,f,t),i(this,o,(e==null?void 0:e.equalityCheck)||((h,N)=>h===N)),e!=null&&e.validate&&this.addMiddleware(e.validate),i(this,v,(e==null?void 0:e.notifyAndClose)||!1),i(this,w,(e==null?void 0:e.invisible)||!1),i(this,b,(e==null?void 0:e.skipSubscribeNotification)||!1),r(this,m)&&E.updateStore(this)}get passport(){return r(this,m)}get initial(){return r(this,y)}get previous(){return r(this,g)}get current(){return r(this,f)}set current(t){if(!r(this,o).call(this,r(this,f),t)){if(i(this,g,r(this,f)),r(this,c))for(const e of r(this,c))t=e(t);i(this,f,t),p(this,A,q).call(this),r(this,v)&&this.close()}}get subscribers(){return r(this,u)}get entry(){return{current:r(this,f),previous:r(this,g)}}addMiddleware(t){r(this,c)||i(this,c,new Set),r(this,c).add(t)}removeMiddleware(t){var e,h;(e=r(this,c))==null||e.delete(t),(h=r(this,c))!=null&&h.size||i(this,c,void 0)}subscribe(t){return!r(this,w)&&!r(this,u).size&&J(this),r(this,u).add(t),r(this,b)||t(this.entry),()=>{this.unsubscribe(t)}}unsubscribe(t){r(this,u).delete(t),r(this,u).size||C(this)}reset(){this.current=this.initial}close(){r(this,u).clear(),C(this)}}m=new WeakMap,y=new WeakMap,g=new WeakMap,f=new WeakMap,o=new WeakMap,u=new WeakMap,b=new WeakMap,c=new WeakMap,v=new WeakMap,w=new WeakMap,A=new WeakSet,q=function(){for(const t of r(this,u))t(this.entry)};const n=new j([],{invisible:!0});function J(s){n.current.includes(s)||(n.current=[...n.current,s])}function C(s){n.current.includes(s)&&(n.current=n.current.filter(t=>t!==s))}exports.Store=j;exports.activeStores=n;exports.storeRegistry=E;