@genai-fi/nanogpt 0.10.1 → 0.10.3

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 (249) hide show
  1. package/dist/Generator.js +11761 -171
  2. package/dist/{RealDiv-DgA3z9oO.js → RealDiv-KAPDe8zB.js} +28 -30
  3. package/dist/Reshape-BYkmUnAv.js +14 -0
  4. package/dist/{Reshape-_kILl6tK.js → Reshape-Zt6eb7yh.js} +18 -20
  5. package/dist/TeachableLLM.js +10 -11
  6. package/dist/{axis_util-BvHEw88j.js → axis_util-BaG7mf5A.js} +3 -3
  7. package/dist/backend.js +2 -2
  8. package/dist/{backend_util-D-rUb2ty.js → backend_util-RCe-rHaj.js} +59 -60
  9. package/dist/{backend_webgpu-B0u2ndUn.js → backend_webgpu-DE3ACOLx.js} +45 -47
  10. package/dist/broadcast_to-B3eYlZm7.js +28 -0
  11. package/dist/checks/appendCache.js +2 -2
  12. package/dist/checks/attentionMask.js +3 -3
  13. package/dist/checks/gelu.js +2 -2
  14. package/dist/checks/matMulGelu.js +7 -11
  15. package/dist/checks/normRMS.js +9 -9
  16. package/dist/checks/normRMSGrad.js +3 -3
  17. package/dist/checks/packUnpack.js +2 -2
  18. package/dist/checks/qkv.js +12 -13
  19. package/dist/checks/rope.js +2 -2
  20. package/dist/clip_by_value-BnO7-a88.js +12 -0
  21. package/dist/complex-DjxcVmoX.js +11 -0
  22. package/dist/concat-BV8bt5H-.js +17 -0
  23. package/dist/{concat_util-DcJk7YHS.js → concat_util-DpW8mL_l.js} +1 -1
  24. package/dist/{dataset-0xP8GjwI.js → dataset-BcwmTGYc.js} +137 -139
  25. package/dist/dropout-BcvN9JYi.js +92 -0
  26. package/dist/expand_dims-DT4tEPwA.js +11 -0
  27. package/dist/{exports_initializers-xuidcwI4.js → exports_initializers-Hta_rEnm.js} +1 -1
  28. package/dist/floor-D5QdR_le.js +9 -0
  29. package/dist/gather-D3JcZUaI.js +9 -0
  30. package/dist/{gelu-CNLFZWea.js → gelu-CjNPL4OH.js} +10 -11
  31. package/dist/{gpgpu_math-DDVJCn6-.js → gpgpu_math-DAOmgtXR.js} +841 -1015
  32. package/dist/{index-CjOj7j-u.js → index-BwexR4lA.js} +262 -263
  33. package/dist/index-DOvlwCh-.js +3520 -0
  34. package/dist/{kernel_funcs_utils-Dg_-E44D.js → kernel_funcs_utils-CCzYdUZg.js} +129 -131
  35. package/dist/layers/BaseLayer.js +14 -15
  36. package/dist/layers/CausalSelfAttention.js +6 -6
  37. package/dist/layers/MLP.js +4 -4
  38. package/dist/layers/PositionEmbedding.js +7 -7
  39. package/dist/layers/RMSNorm.js +3 -3
  40. package/dist/layers/RoPECache.js +9 -9
  41. package/dist/layers/TiedEmbedding.js +6 -6
  42. package/dist/layers/TransformerBlock.js +1 -1
  43. package/dist/loader/loadTransformers.js +1 -1
  44. package/dist/loader/oldZipLoad.js +13 -14
  45. package/dist/log_sum_exp-ngO0-4pK.js +39 -0
  46. package/dist/main.js +49 -50
  47. package/dist/{matMul16--R5hOwDG.js → matMul16-BWRSOCWB.js} +14 -15
  48. package/dist/matMulGelu-CzfgT6Wq.js +163 -0
  49. package/dist/mat_mul-SjpJRLyL.js +11 -0
  50. package/dist/mod-AnXEvvpo.js +11 -0
  51. package/dist/models/NanoGPTV1.js +2 -2
  52. package/dist/models/model.js +13 -14
  53. package/dist/ones-D2rT0xk2.js +14 -0
  54. package/dist/ops/adamAdjust.js +1 -1
  55. package/dist/ops/adamMoments.js +1 -1
  56. package/dist/ops/add16.js +1 -1
  57. package/dist/ops/appendCache.js +3 -3
  58. package/dist/ops/attentionMask.js +1 -1
  59. package/dist/ops/concat16.js +2 -2
  60. package/dist/ops/cpu/adamAdjust.js +13 -14
  61. package/dist/ops/cpu/adamMoments.js +6 -7
  62. package/dist/ops/cpu/appendCache.js +7 -8
  63. package/dist/ops/cpu/attentionMask.js +7 -7
  64. package/dist/ops/cpu/fusedSoftmax.js +10 -11
  65. package/dist/ops/cpu/gatherSub.js +9 -10
  66. package/dist/ops/cpu/gelu.js +9 -10
  67. package/dist/ops/cpu/matMul16.js +6 -7
  68. package/dist/ops/cpu/matMulGelu.js +5 -6
  69. package/dist/ops/cpu/matMulMul.js +3 -4
  70. package/dist/ops/cpu/mulDropout.js +3 -4
  71. package/dist/ops/cpu/normRMS.js +10 -11
  72. package/dist/ops/cpu/qkv.js +8 -9
  73. package/dist/ops/cpu/rope.js +5 -6
  74. package/dist/ops/cpu/scatterSub.js +17 -19
  75. package/dist/ops/dot16.js +2 -2
  76. package/dist/ops/gatherSub.js +1 -1
  77. package/dist/ops/gelu.js +2 -2
  78. package/dist/ops/grads/add16.js +11 -12
  79. package/dist/ops/grads/attentionMask.js +5 -6
  80. package/dist/ops/grads/gelu.js +3 -4
  81. package/dist/ops/grads/matMul16.js +4 -5
  82. package/dist/ops/grads/matMulGelu.js +9 -10
  83. package/dist/ops/grads/normRMS.js +7 -8
  84. package/dist/ops/grads/pack16.js +4 -5
  85. package/dist/ops/grads/qkv.js +17 -19
  86. package/dist/ops/grads/rope.js +3 -5
  87. package/dist/ops/grads/softmax16.js +3 -4
  88. package/dist/ops/grads/unpack16.js +3 -4
  89. package/dist/ops/grads/utils.d.ts +1 -0
  90. package/dist/ops/grads/utils.js +8 -4
  91. package/dist/ops/matMul16.js +3 -3
  92. package/dist/ops/matMulGelu.js +2 -2
  93. package/dist/ops/matMulMul.js +1 -1
  94. package/dist/ops/mul16.js +1 -1
  95. package/dist/ops/mulDrop.js +1 -1
  96. package/dist/ops/normRMS.js +1 -1
  97. package/dist/ops/pack16.js +3 -4
  98. package/dist/ops/qkv.js +4 -8
  99. package/dist/ops/reshape16.js +14 -16
  100. package/dist/ops/rope.d.ts +1 -1
  101. package/dist/ops/rope.js +3 -8
  102. package/dist/ops/scatterSub.js +1 -1
  103. package/dist/ops/slice16.js +2 -2
  104. package/dist/ops/softmax16.js +5 -8
  105. package/dist/ops/sub16.js +1 -1
  106. package/dist/ops/sum16.js +2 -2
  107. package/dist/ops/transpose16.js +23 -24
  108. package/dist/ops/unpack16.js +2 -2
  109. package/dist/ops/webgl/adamAdjust.js +2 -3
  110. package/dist/ops/webgl/adamMoments.js +1 -2
  111. package/dist/ops/webgl/appendCache.js +1 -2
  112. package/dist/ops/webgl/attentionMask.js +4 -5
  113. package/dist/ops/webgl/fusedSoftmax.js +4 -6
  114. package/dist/ops/webgl/gatherSub.js +6 -7
  115. package/dist/ops/webgl/gelu.js +2 -3
  116. package/dist/ops/webgl/log.js +11 -12
  117. package/dist/ops/webgl/matMul16.js +10 -11
  118. package/dist/ops/webgl/matMulGelu.js +7 -111
  119. package/dist/ops/webgl/matMulMul.js +9 -10
  120. package/dist/ops/webgl/mulDropout.js +8 -9
  121. package/dist/ops/webgl/normRMS.js +2 -3
  122. package/dist/ops/webgl/qkv.js +5 -6
  123. package/dist/ops/webgl/rope.js +7 -8
  124. package/dist/ops/webgl/scatterSub.js +5 -6
  125. package/dist/ops/webgpu/adamAdjust.js +10 -12
  126. package/dist/ops/webgpu/adamMoments.js +8 -10
  127. package/dist/ops/webgpu/add16.js +8 -9
  128. package/dist/ops/webgpu/appendCache.js +23 -25
  129. package/dist/ops/webgpu/attentionMask.js +8 -10
  130. package/dist/ops/webgpu/attentionMask32_program.js +2 -2
  131. package/dist/ops/webgpu/concat16.js +12 -14
  132. package/dist/ops/webgpu/gatherSub.js +11 -13
  133. package/dist/ops/webgpu/gelu.js +28 -29
  134. package/dist/ops/webgpu/matMul16.js +26 -28
  135. package/dist/ops/webgpu/matMul16_program.js +4 -5
  136. package/dist/ops/webgpu/mul16.js +9 -10
  137. package/dist/ops/webgpu/normRMS.js +15 -17
  138. package/dist/ops/webgpu/normRMSGrad.js +21 -28
  139. package/dist/ops/webgpu/pack16.js +12 -13
  140. package/dist/ops/webgpu/pack16_program.js +2 -2
  141. package/dist/ops/webgpu/qkv.js +16 -18
  142. package/dist/ops/webgpu/rope.js +25 -27
  143. package/dist/ops/webgpu/scatterSub.js +7 -9
  144. package/dist/ops/webgpu/slice16.js +21 -23
  145. package/dist/ops/webgpu/softmax16.js +17 -19
  146. package/dist/ops/webgpu/softmax16_program.js +2 -2
  147. package/dist/ops/webgpu/softmax16_subgroup_program.js +2 -2
  148. package/dist/ops/webgpu/softmax16grad.js +7 -8
  149. package/dist/ops/webgpu/sub16.js +7 -8
  150. package/dist/ops/webgpu/sum16.js +18 -20
  151. package/dist/ops/webgpu/transpose16.js +19 -20
  152. package/dist/ops/webgpu/transpose16_program.js +2 -2
  153. package/dist/ops/webgpu/transpose16_shared_program.js +11 -12
  154. package/dist/ops/webgpu/unpack16.js +3 -4
  155. package/dist/ops/webgpu/utils/binary_op.js +7 -8
  156. package/dist/ops/webgpu/utils/reductions.js +14 -22
  157. package/dist/ops-B5yanEdW.js +476 -0
  158. package/dist/pack16-nQ6JaLo-.js +39 -0
  159. package/dist/patches/webgpu_backend.js +19 -20
  160. package/dist/patches/webgpu_base.js +1 -1
  161. package/dist/patches/webgpu_program.js +21 -22
  162. package/dist/{random_width-DY6Kk2Dl.js → random_width-or-CEftb.js} +2506 -2761
  163. package/dist/range-BklejeeW.js +10 -0
  164. package/dist/relu-CP0ZcxWO.js +9 -0
  165. package/dist/reshape-ByE68wS9.js +9 -0
  166. package/dist/resize_nearest_neighbor-B19mCEg2.js +175 -0
  167. package/dist/rope-Ir4mTyD1.js +24 -0
  168. package/dist/{scatter_nd_util-5EL-8VAQ.js → scatter_nd_util-lvSiX8q4.js} +1 -1
  169. package/dist/selu_util-kbhpTdYD.js +44 -0
  170. package/dist/{shared-BRksrJb3.js → shared-DT1TkE6w.js} +1 -1
  171. package/dist/{shared-BuAXb4CI.js → shared-dntlHIDQ.js} +343 -345
  172. package/dist/slice-BfEGSH82.js +12 -0
  173. package/dist/{slice_util-DtEldBfK.js → slice_util-uTKwiEpW.js} +1 -1
  174. package/dist/{softmax-ZHVebtR1.js → softmax-CA5jFsLR.js} +4 -5
  175. package/dist/split-CVLc0w--.js +9 -0
  176. package/dist/squeeze-C7Z2srUo.js +10 -0
  177. package/dist/stack-Cf4n9h0N.js +11 -0
  178. package/dist/step-CINUs5QB.js +261 -0
  179. package/dist/sum-DWAtNGez.js +11 -0
  180. package/dist/tensor-DJoc7gJU.js +8 -0
  181. package/dist/tensor1d-D11P_7Dp.js +11 -0
  182. package/dist/{tensor2d-G4Ys2GxX.js → tensor2d-Bs9wZRc7.js} +6 -7
  183. package/dist/{tensor4d-B8roDgtc.js → tensor4d-BARPdTaS.js} +6 -7
  184. package/dist/{tfjs_backend-kNyO5L2d.js → tfjs_backend-y1cvNhLA.js} +244 -253
  185. package/dist/tile-mbfagpsB.js +11 -0
  186. package/dist/training/Adam.js +2 -2
  187. package/dist/training/AdamExt.js +1 -1
  188. package/dist/training/DatasetBuilder.js +2 -2
  189. package/dist/training/FullTrainer.js +1 -1
  190. package/dist/training/Trainer.js +2 -2
  191. package/dist/training/sparseCrossEntropy.js +5 -5
  192. package/dist/transpose-ClWiBS_b.js +36 -0
  193. package/dist/unsorted_segment_sum-BDDhB_E6.js +277 -0
  194. package/dist/utilities/dummy.js +3 -3
  195. package/dist/utilities/multinomialCPU.js +2 -2
  196. package/dist/utilities/packed.d.ts +1 -4
  197. package/dist/utilities/packed.js +10 -711
  198. package/dist/utilities/performance.js +1 -1
  199. package/dist/utilities/profile.js +1 -1
  200. package/dist/utilities/safetensors.js +2 -2
  201. package/dist/utilities/sentences.js +5 -5
  202. package/dist/utilities/weights.js +2 -2
  203. package/dist/{variable-Bhn5bHYv.js → variable-WawDEaAb.js} +1 -1
  204. package/dist/{webgpu_program-Cigz-7RF.js → webgpu_program-DuOXPQol.js} +178 -172
  205. package/dist/{webgpu_util-BBCnKm2X.js → webgpu_util-RxEF33Rj.js} +34 -35
  206. package/dist/zeros-KnWaWf-X.js +13 -0
  207. package/dist/zeros_like-DvE73F4e.js +721 -0
  208. package/package.json +4 -2
  209. package/dist/Reshape-CF6odzV4.js +0 -16
  210. package/dist/broadcast_to-CwF7XIeu.js +0 -30
  211. package/dist/complex-CSlYz-2T.js +0 -13
  212. package/dist/concat-BHlIJeyT.js +0 -19
  213. package/dist/dropout-C1pM3f11.js +0 -99
  214. package/dist/expand_dims-BPG4fwBP.js +0 -13
  215. package/dist/gather-DykLGqmW.js +0 -10
  216. package/dist/index-ZyQhjEPo.js +0 -2157
  217. package/dist/log_sum_exp-DWI-76TI.js +0 -41
  218. package/dist/mat_mul-DeAh4uTH.js +0 -12
  219. package/dist/mod-Gt1rMB4n.js +0 -12
  220. package/dist/mulmat_packed_gpu-BMFhLwta.js +0 -55
  221. package/dist/ones-CAMiP4I2.js +0 -15
  222. package/dist/ops-CNI3TwqM.js +0 -645
  223. package/dist/pack16-CFUqumar.js +0 -41
  224. package/dist/patches/PackedTensor.d.ts +0 -12
  225. package/dist/patches/PackedTensor.js +0 -11
  226. package/dist/patches/engine.d.ts +0 -261
  227. package/dist/patches/engine.js +0 -10
  228. package/dist/patches/tape.d.ts +0 -12
  229. package/dist/patches/tape.js +0 -5
  230. package/dist/range-BMS52eQi.js +0 -11
  231. package/dist/reciprocal-CTmshQ9J.js +0 -10
  232. package/dist/register_all_kernels-Bwu1PTuU.js +0 -12307
  233. package/dist/relu-yZ2-7WxU.js +0 -10
  234. package/dist/reshape-DevtBWtf.js +0 -10
  235. package/dist/rope-B5UUMsPi.js +0 -32
  236. package/dist/selu_util-D1w6yyTO.js +0 -303
  237. package/dist/sin-BGfy2HZo.js +0 -16
  238. package/dist/slice-D_gkkqZK.js +0 -13
  239. package/dist/split-DrfihRpZ.js +0 -10
  240. package/dist/squeeze-DZEpeblb.js +0 -11
  241. package/dist/stack-yOIAalTq.js +0 -13
  242. package/dist/sum-_fzj5ZTB.js +0 -12
  243. package/dist/tensor-DdQUJZlz.js +0 -909
  244. package/dist/tensor-f35l8Odg.js +0 -8
  245. package/dist/tensor1d-CeZuc-Rv.js +0 -12
  246. package/dist/tensor_util-DV-FP5Q3.js +0 -523
  247. package/dist/tile-BzyEiF-F.js +0 -13
  248. package/dist/transpose-DKELTqhe.js +0 -38
  249. package/dist/zeros-2gldETuK.js +0 -14
@@ -1,909 +0,0 @@
1
- import { g as v } from "./index-D5v913EJ.js";
2
- import { p as B } from "./index-xuotMAFm.js";
3
- function At(t) {
4
- let e = t.length, r = 0;
5
- for (; e > 0; )
6
- r = Math.random() * e | 0, e--, J(t, e, r);
7
- }
8
- function St(t, e, r) {
9
- return Math.max(t, Math.min(e, r));
10
- }
11
- function Tt(t) {
12
- return t % 2 === 0 ? t : t + 1;
13
- }
14
- function J(t, e, r) {
15
- const n = t[e];
16
- t[e] = t[r], t[r] = n;
17
- }
18
- function $t(t) {
19
- let e = 0;
20
- for (let r = 0; r < t.length; r++)
21
- e += t[r];
22
- return e;
23
- }
24
- function m(t, e) {
25
- if (!t)
26
- throw new Error(typeof e == "string" ? e : e());
27
- }
28
- function It(t, e, r = "") {
29
- m(j(t, e), () => r + ` Shapes ${t} and ${e} must match`);
30
- }
31
- function Ft(t) {
32
- m(t != null, () => "The input to the tensor constructor must be a non-null value.");
33
- }
34
- function R(t) {
35
- if (t.length === 0)
36
- return 1;
37
- let e = t[0];
38
- for (let r = 1; r < t.length; r++)
39
- e *= t[r];
40
- return e;
41
- }
42
- function Et(t) {
43
- return t.length === 0;
44
- }
45
- function j(t, e) {
46
- if (t === e)
47
- return !0;
48
- if (t == null || e == null || t.length !== e.length)
49
- return !1;
50
- for (let r = 0; r < t.length; r++)
51
- if (t[r] !== e[r])
52
- return !1;
53
- return !0;
54
- }
55
- function W(t) {
56
- return t % 1 === 0;
57
- }
58
- function kt(t) {
59
- const e = Math.ceil(Math.sqrt(t));
60
- return [e, Math.ceil(t / e)];
61
- }
62
- function X(t, e) {
63
- return e <= t.length ? t : t + " ".repeat(e - t.length);
64
- }
65
- function Ut(t, e = (s) => 0, r, n) {
66
- return new Promise((s, i) => {
67
- let a = 0;
68
- const o = () => {
69
- if (t()) {
70
- s();
71
- return;
72
- }
73
- a++;
74
- const u = e(a);
75
- if (r != null && a >= r) {
76
- i();
77
- return;
78
- }
79
- n != null ? n(o, u) : setTimeout(o, u);
80
- };
81
- o();
82
- });
83
- }
84
- function xt(t, e) {
85
- let r = 1, n = -1;
86
- for (let i = 0; i < t.length; ++i)
87
- if (t[i] >= 0)
88
- r *= t[i];
89
- else if (t[i] === -1) {
90
- if (n !== -1)
91
- throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${n} and dim ${i}`);
92
- n = i;
93
- } else if (t[i] < 0)
94
- throw Error(`Shapes can not be < 0. Found ${t[i]} at dim ${i}`);
95
- if (n === -1) {
96
- if (e > 0 && e !== r)
97
- throw Error(`Size(${e}) must match the product of shape ${t}`);
98
- return t;
99
- }
100
- if (r === 0)
101
- throw Error(`Cannot infer the missing size in [${t}] when there are 0 elements`);
102
- if (e % r !== 0)
103
- throw Error(`The implicit shape can't be a fractional number. Got ${e} / ${r}`);
104
- const s = t.slice();
105
- return s[n] = e / r, s;
106
- }
107
- function K(t, e) {
108
- const r = e.length;
109
- return t = t == null ? e.map((n, s) => s) : [].concat(t), m(t.every((n) => n >= -r && n < r), () => `All values in axis param must be in range [-${r}, ${r}) but got axis ${t}`), m(t.every((n) => W(n)), () => `All values in axis param must be integers but got axis ${t}`), t.map((n) => n < 0 ? r + n : n);
110
- }
111
- function Dt(t, e) {
112
- const r = [], n = [], s = e != null && Array.isArray(e) && e.length === 0, i = e == null || s ? null : K(e, t).sort();
113
- let a = 0;
114
- for (let o = 0; o < t.length; ++o) {
115
- if (i != null) {
116
- if (i[a] === o && t[o] !== 1)
117
- throw new Error(`Can't squeeze axis ${o} since its dim '${t[o]}' is not 1`);
118
- (i[a] == null || i[a] > o) && t[o] === 1 && (r.push(t[o]), n.push(o)), i[a] <= o && a++;
119
- }
120
- t[o] !== 1 && (r.push(t[o]), n.push(o));
121
- }
122
- return { newShape: r, keptDims: n };
123
- }
124
- function Mt(t, e) {
125
- return q(t, e);
126
- }
127
- function q(t, e) {
128
- let r = null;
129
- if (t == null || t === "float32")
130
- r = new Float32Array(e);
131
- else if (t === "int32")
132
- r = new Int32Array(e);
133
- else if (t === "bool")
134
- r = new Uint8Array(e);
135
- else if (t === "string")
136
- r = new Array(e);
137
- else
138
- throw new Error(`Unknown data type ${t}`);
139
- return r;
140
- }
141
- function Y(t, e) {
142
- for (let r = 0; r < t.length; r++) {
143
- const n = t[r];
144
- if (isNaN(n) || !isFinite(n))
145
- throw Error(`A tensor of type ${e} being uploaded contains ${n}.`);
146
- }
147
- }
148
- function Rt(t) {
149
- return t === "bool" || t === "complex64" || t === "float32" || t === "int32" || t === "string";
150
- }
151
- function Pt(t, e) {
152
- return !(e === "complex64" || e === "float32" && t !== "complex64" || e === "int32" && t !== "float32" && t !== "complex64" || e === "bool" && t === "bool");
153
- }
154
- function _t(t) {
155
- if (t === "float32" || t === "int32")
156
- return 4;
157
- if (t === "complex64")
158
- return 8;
159
- if (t === "bool")
160
- return 1;
161
- throw new Error(`Unknown dtype ${t}`);
162
- }
163
- function Lt(t) {
164
- if (t == null)
165
- return 0;
166
- let e = 0;
167
- return t.forEach((r) => e += r.length), e;
168
- }
169
- function z(t) {
170
- return typeof t == "string" || t instanceof String;
171
- }
172
- function tt(t) {
173
- return typeof t == "boolean";
174
- }
175
- function et(t) {
176
- return typeof t == "number";
177
- }
178
- function rt(t) {
179
- return Array.isArray(t) ? rt(t[0]) : t instanceof Float32Array ? "float32" : t instanceof Int32Array || t instanceof Uint8Array || t instanceof Uint8ClampedArray ? "int32" : et(t) ? "float32" : z(t) ? "string" : tt(t) ? "bool" : "float32";
180
- }
181
- function vt(t) {
182
- return !!(t && t.constructor && t.call && t.apply);
183
- }
184
- function Bt(t, e) {
185
- for (let r = e; r < t; ++r)
186
- if (t % r === 0)
187
- return r;
188
- return t;
189
- }
190
- function P(t) {
191
- const e = t.length;
192
- if (e < 2)
193
- return [];
194
- const r = new Array(e - 1);
195
- r[e - 2] = t[e - 1];
196
- for (let n = e - 3; n >= 0; --n)
197
- r[n] = r[n + 1] * t[n + 1];
198
- return r;
199
- }
200
- function N(t, e, r, n = !1) {
201
- const s = new Array();
202
- if (e.length === 1) {
203
- const i = e[0] * (n ? 2 : 1);
204
- for (let a = 0; a < i; a++)
205
- s[a] = r[t + a];
206
- } else {
207
- const i = e[0], a = e.slice(1), o = a.reduce((u, g) => u * g) * (n ? 2 : 1);
208
- for (let u = 0; u < i; u++)
209
- s[u] = N(t + u * o, a, r, n);
210
- }
211
- return s;
212
- }
213
- function $(t, e, r = !1) {
214
- if (t.length === 0)
215
- return e[0];
216
- const n = t.reduce((s, i) => s * i) * (r ? 2 : 1);
217
- if (n === 0)
218
- return [];
219
- if (n !== e.length)
220
- throw new Error(`[${t}] does not match the input size ${e.length}${r ? " for a complex tensor" : ""}.`);
221
- return N(0, t, e, r);
222
- }
223
- function Gt(t, e) {
224
- if (Array.isArray(t))
225
- return t;
226
- if (e === "float32")
227
- return t instanceof Float32Array ? t : new Float32Array(t);
228
- if (e === "int32")
229
- return t instanceof Int32Array ? t : new Int32Array(t);
230
- if (e === "bool" || e === "string")
231
- return Uint8Array.from(new Int32Array(t));
232
- throw new Error(`Unknown dtype ${e}`);
233
- }
234
- function Ot(t, e) {
235
- const r = nt(t, e);
236
- for (let n = 0; n < r.length; n++)
237
- r[n] = 1;
238
- return r;
239
- }
240
- function nt(t, e) {
241
- if (e == null || e === "float32" || e === "complex64")
242
- return new Float32Array(t);
243
- if (e === "int32")
244
- return new Int32Array(t);
245
- if (e === "bool")
246
- return new Uint8Array(t);
247
- throw new Error(`Unknown data type ${e}`);
248
- }
249
- function Vt(t, e) {
250
- const r = t.reduce((n, s) => n * s, 1);
251
- if (e == null || e === "float32")
252
- return $(t, new Float32Array(r));
253
- if (e === "int32")
254
- return $(t, new Int32Array(r));
255
- if (e === "bool")
256
- return $(t, new Uint8Array(r));
257
- throw new Error(`Unknown data type ${e}`);
258
- }
259
- function Ct(t) {
260
- t.forEach((e) => {
261
- m(Number.isInteger(e) && e >= 0, () => `Tensor must have a shape comprised of positive integers but got shape [${t}].`);
262
- });
263
- }
264
- function jt(t, e, r) {
265
- if (e === 0)
266
- return 0;
267
- if (e === 1)
268
- return t[0];
269
- let n = t[t.length - 1];
270
- for (let s = 0; s < t.length - 1; ++s)
271
- n += r[s] * t[s];
272
- return n;
273
- }
274
- function qt(t, e, r) {
275
- if (e === 0)
276
- return [];
277
- if (e === 1)
278
- return [t];
279
- const n = new Array(e);
280
- for (let s = 0; s < n.length - 1; ++s)
281
- n[s] = Math.floor(t / r[s]), t -= n[s] * r[s];
282
- return n[n.length - 1] = t, n;
283
- }
284
- function H(t) {
285
- return t && t.then && typeof t.then == "function";
286
- }
287
- const G = "tfjsflags";
288
- class zt {
289
- // tslint:disable-next-line: no-any
290
- constructor(e) {
291
- this.global = e, this.flags = {}, this.flagRegistry = {}, this.urlFlags = {}, this.getQueryParams = st, this.populateURLFlags();
292
- }
293
- setPlatform(e, r) {
294
- this.platform != null && (y().getBool("IS_TEST") || y().getBool("PROD") || console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)), this.platformName = e, this.platform = r;
295
- }
296
- registerFlag(e, r, n) {
297
- if (this.flagRegistry[e] = { evaluationFn: r, setHook: n }, this.urlFlags[e] != null) {
298
- const s = this.urlFlags[e];
299
- y().getBool("IS_TEST") || y().getBool("PROD") || console.warn(`Setting feature override from URL ${e}: ${s}.`), this.set(e, s);
300
- }
301
- }
302
- async getAsync(e) {
303
- return e in this.flags ? this.flags[e] : (this.flags[e] = await this.evaluateFlag(e), this.flags[e]);
304
- }
305
- get(e) {
306
- if (e in this.flags)
307
- return this.flags[e];
308
- const r = this.evaluateFlag(e);
309
- if (H(r))
310
- throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);
311
- return this.flags[e] = r, this.flags[e];
312
- }
313
- getNumber(e) {
314
- return this.get(e);
315
- }
316
- getBool(e) {
317
- return this.get(e);
318
- }
319
- getString(e) {
320
- return this.get(e);
321
- }
322
- getFlags() {
323
- return this.flags;
324
- }
325
- // For backwards compatibility.
326
- get features() {
327
- return this.flags;
328
- }
329
- set(e, r) {
330
- if (this.flagRegistry[e] == null)
331
- throw new Error(`Cannot set flag ${e} as it has not been registered.`);
332
- this.flags[e] = r, this.flagRegistry[e].setHook != null && this.flagRegistry[e].setHook(r);
333
- }
334
- evaluateFlag(e) {
335
- if (this.flagRegistry[e] == null)
336
- throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);
337
- return this.flagRegistry[e].evaluationFn();
338
- }
339
- setFlags(e) {
340
- this.flags = Object.assign({}, e);
341
- }
342
- reset() {
343
- this.flags = {}, this.urlFlags = {}, this.populateURLFlags();
344
- }
345
- populateURLFlags() {
346
- if (typeof this.global > "u" || typeof this.global.location > "u" || typeof this.global.location.search > "u")
347
- return;
348
- const e = this.getQueryParams(this.global.location.search);
349
- G in e && e[G].split(",").forEach((n) => {
350
- const [s, i] = n.split(":");
351
- this.urlFlags[s] = ot(s, i);
352
- });
353
- }
354
- }
355
- function st(t) {
356
- const e = {};
357
- return t.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g, (r, ...n) => (it(e, n[0], n[1]), n.join("="))), e;
358
- }
359
- function it(t, e, r) {
360
- t[decodeURIComponent(e)] = decodeURIComponent(r || "");
361
- }
362
- function ot(t, e) {
363
- const r = e.toLowerCase();
364
- return r === "true" || r === "false" ? r === "true" : `${+r}` === r ? +r : e;
365
- }
366
- function y() {
367
- return Q;
368
- }
369
- let Q = null;
370
- function Nt(t) {
371
- Q = t;
372
- }
373
- let x;
374
- function at() {
375
- if (x == null) {
376
- let t;
377
- if (typeof window < "u")
378
- t = window;
379
- else if (typeof v < "u")
380
- t = v;
381
- else if (typeof B < "u")
382
- t = B;
383
- else if (typeof self < "u")
384
- t = self;
385
- else
386
- throw new Error("Could not find a global object");
387
- x = t;
388
- }
389
- return x;
390
- }
391
- function lt() {
392
- const t = at();
393
- return t._tfGlobals == null && (t._tfGlobals = /* @__PURE__ */ new Map()), t._tfGlobals;
394
- }
395
- function ut(t, e) {
396
- const r = lt();
397
- if (r.has(t))
398
- return r.get(t);
399
- {
400
- const n = e();
401
- return r.set(t, n), r.get(t);
402
- }
403
- }
404
- function ft(t) {
405
- return t instanceof Float32Array || t instanceof Int32Array || t instanceof Uint8Array || t instanceof Uint8ClampedArray;
406
- }
407
- function Ht(t, e) {
408
- return e === "string" ? gt(t) : ct([t], e);
409
- }
410
- function ht(t, e) {
411
- return t instanceof Float32Array && e === "float32" || t instanceof Int32Array && e === "int32" || t instanceof Uint8Array && e === "bool";
412
- }
413
- function ct(t, e) {
414
- if (e === "string")
415
- throw new Error("Cannot convert a string[] to a TypedArray");
416
- if (Array.isArray(t) && (t = M(t)), y().getBool("DEBUG") && Y(t, e), ht(t, e))
417
- return t;
418
- if (e == null || e === "float32" || e === "complex64")
419
- return new Float32Array(t);
420
- if (e === "int32")
421
- return new Int32Array(t);
422
- if (e === "bool") {
423
- const r = new Uint8Array(t.length);
424
- for (let n = 0; n < r.length; ++n)
425
- Math.round(t[n]) !== 0 && (r[n] = 1);
426
- return r;
427
- } else
428
- throw new Error(`Unknown data type ${e}`);
429
- }
430
- function Qt() {
431
- return y().platform.now();
432
- }
433
- function gt(t, e = "utf-8") {
434
- return e = e || "utf-8", y().platform.encode(t, e);
435
- }
436
- function O(t, e = "utf-8") {
437
- return e = e || "utf-8", y().platform.decode(t, e);
438
- }
439
- function V(t) {
440
- return y().platform.isTypedArray != null ? y().platform.isTypedArray(t) : ft(t);
441
- }
442
- function M(t, e = [], r = !1) {
443
- if (e == null && (e = []), typeof t == "boolean" || typeof t == "number" || typeof t == "string" || H(t) || t == null || V(t) && r)
444
- e.push(t);
445
- else if (Array.isArray(t) || V(t))
446
- for (let n = 0; n < t.length; ++n)
447
- M(t[n], e, r);
448
- else {
449
- let n = -1;
450
- for (const s of Object.keys(t))
451
- /^([1-9]+[0-9]*|0)$/.test(s) && (n = Math.max(n, Number(s)));
452
- for (let s = 0; s <= n; s++)
453
- M(t[s], e, r);
454
- }
455
- return e;
456
- }
457
- const C = 20, A = 3, D = 7;
458
- function dt(t, e, r, n) {
459
- const s = P(e), i = pt(t, e, r, s), a = e.length, o = I(t, e, r, s, i), u = ["Tensor"];
460
- return n && (u.push(` dtype: ${r}`), u.push(` rank: ${a}`), u.push(` shape: [${e}]`), u.push(" values:")), u.push(o.map((g) => " " + g).join(`
461
- `)), u.join(`
462
- `);
463
- }
464
- function pt(t, e, r, n) {
465
- const s = R(e), i = n[n.length - 1], a = new Array(i).fill(0), o = e.length, u = r === "complex64" ? T(t) : t;
466
- if (o > 1)
467
- for (let g = 0; g < s / i; g++) {
468
- const b = g * i;
469
- for (let h = 0; h < i; h++)
470
- a[h] = Math.max(a[h], S(u[b + h], 0, r).length);
471
- }
472
- return a;
473
- }
474
- function S(t, e, r) {
475
- let n;
476
- return Array.isArray(t) ? n = `${parseFloat(t[0].toFixed(D))} + ${parseFloat(t[1].toFixed(D))}j` : z(t) ? n = `'${t}'` : r === "bool" ? n = Z(t) : n = parseFloat(t.toFixed(D)).toString(), X(n, e);
477
- }
478
- function Z(t) {
479
- return t === 0 ? "false" : "true";
480
- }
481
- function I(t, e, r, n, s, i = !0) {
482
- const a = r === "complex64" ? 2 : 1, o = e[0], u = e.length;
483
- if (u === 0) {
484
- if (r === "complex64") {
485
- const l = T(t);
486
- return [S(l[0], 0, r)];
487
- }
488
- return r === "bool" ? [Z(t[0])] : [t[0].toString()];
489
- }
490
- if (u === 1) {
491
- if (o > C) {
492
- const c = A * a;
493
- let d = Array.from(t.slice(0, c)), E = Array.from(t.slice((o - A) * a, o * a));
494
- return r === "complex64" && (d = T(d), E = T(E)), [
495
- "[" + d.map((k, U) => S(k, s[U], r)).join(", ") + ", ..., " + E.map((k, U) => S(k, s[o - A + U], r)).join(", ") + "]"
496
- ];
497
- }
498
- return [
499
- "[" + (r === "complex64" ? T(t) : Array.from(t)).map((c, d) => S(c, s[d], r)).join(", ") + "]"
500
- ];
501
- }
502
- const g = e.slice(1), b = n.slice(1), h = n[0] * a, f = [];
503
- if (o > C) {
504
- for (let l = 0; l < A; l++) {
505
- const c = l * h, d = c + h;
506
- f.push(...I(
507
- t.slice(c, d),
508
- g,
509
- r,
510
- b,
511
- s,
512
- !1
513
- /* isLast */
514
- ));
515
- }
516
- f.push("...");
517
- for (let l = o - A; l < o; l++) {
518
- const c = l * h, d = c + h;
519
- f.push(...I(
520
- t.slice(c, d),
521
- g,
522
- r,
523
- b,
524
- s,
525
- l === o - 1
526
- /* isLast */
527
- ));
528
- }
529
- } else
530
- for (let l = 0; l < o; l++) {
531
- const c = l * h, d = c + h;
532
- f.push(...I(
533
- t.slice(c, d),
534
- g,
535
- r,
536
- b,
537
- s,
538
- l === o - 1
539
- /* isLast */
540
- ));
541
- }
542
- const _ = u === 2 ? "," : "";
543
- f[0] = "[" + (o > 0 ? f[0] + _ : "");
544
- for (let l = 1; l < f.length - 1; l++)
545
- f[l] = " " + f[l] + _;
546
- let L = `,
547
- `;
548
- for (let l = 2; l < u; l++)
549
- L += `
550
- `;
551
- return f[f.length - 1] = " " + f[f.length - 1] + "]" + (i ? "" : L), f;
552
- }
553
- function T(t) {
554
- const e = [];
555
- for (let r = 0; r < t.length; r += 2)
556
- e.push([t[r], t[r + 1]]);
557
- return e;
558
- }
559
- class Zt {
560
- constructor(e, r, n) {
561
- if (this.dtype = r, this.shape = e.slice(), this.size = R(e), n != null) {
562
- const s = n.length;
563
- m(s === this.size, () => `Length of values '${s}' does not match the size inferred by the shape '${this.size}'.`);
564
- }
565
- if (r === "complex64")
566
- throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");
567
- this.values = n || q(r, this.size), this.strides = P(e);
568
- }
569
- /**
570
- * Sets a value in the buffer at a given location.
571
- *
572
- * @param value The value to set.
573
- * @param locs The location indices.
574
- *
575
- * @doc {heading: 'Tensors', subheading: 'Creation'}
576
- */
577
- set(e, ...r) {
578
- r.length === 0 && (r = [0]), m(r.length === this.rank, () => `The number of provided coordinates (${r.length}) must match the rank (${this.rank})`);
579
- const n = this.locToIndex(r);
580
- this.values[n] = e;
581
- }
582
- /**
583
- * Returns the value in the buffer at the provided location.
584
- *
585
- * @param locs The location indices.
586
- *
587
- * @doc {heading: 'Tensors', subheading: 'Creation'}
588
- */
589
- get(...e) {
590
- e.length === 0 && (e = [0]);
591
- let r = 0;
592
- for (const s of e) {
593
- if (s < 0 || s >= this.shape[r]) {
594
- const i = `Requested out of range element at ${e}. Buffer shape=${this.shape}`;
595
- throw new Error(i);
596
- }
597
- r++;
598
- }
599
- let n = e[e.length - 1];
600
- for (let s = 0; s < e.length - 1; ++s)
601
- n += this.strides[s] * e[s];
602
- return this.values[n];
603
- }
604
- locToIndex(e) {
605
- if (this.rank === 0)
606
- return 0;
607
- if (this.rank === 1)
608
- return e[0];
609
- let r = e[e.length - 1];
610
- for (let n = 0; n < e.length - 1; ++n)
611
- r += this.strides[n] * e[n];
612
- return r;
613
- }
614
- indexToLoc(e) {
615
- if (this.rank === 0)
616
- return [];
617
- if (this.rank === 1)
618
- return [e];
619
- const r = new Array(this.shape.length);
620
- for (let n = 0; n < r.length - 1; ++n)
621
- r[n] = Math.floor(e / this.strides[n]), e -= r[n] * this.strides[n];
622
- return r[r.length - 1] = e, r;
623
- }
624
- get rank() {
625
- return this.shape.length;
626
- }
627
- /**
628
- * Creates an immutable `tf.Tensor` object from the buffer.
629
- *
630
- * @doc {heading: 'Tensors', subheading: 'Creation'}
631
- */
632
- toTensor() {
633
- return p().makeTensor(this.values, this.shape, this.dtype);
634
- }
635
- }
636
- let p = null, w = null;
637
- function Jt(t) {
638
- p = t;
639
- }
640
- function Wt(t) {
641
- w = t;
642
- }
643
- class F {
644
- constructor(e, r, n, s) {
645
- this.kept = !1, this.isDisposedInternal = !1, this.shape = e.slice(), this.dtype = r || "float32", this.size = R(e), this.strides = P(e), this.dataId = n, this.id = s, this.rankType = this.rank < 5 ? this.rank.toString() : "higher";
646
- }
647
- get rank() {
648
- return this.shape.length;
649
- }
650
- /**
651
- * Returns a promise of `tf.TensorBuffer` that holds the underlying data.
652
- *
653
- * @doc {heading: 'Tensors', subheading: 'Classes'}
654
- */
655
- async buffer() {
656
- const e = await this.data();
657
- return w.buffer(this.shape, this.dtype, e);
658
- }
659
- /**
660
- * Returns a `tf.TensorBuffer` that holds the underlying data.
661
- * @doc {heading: 'Tensors', subheading: 'Classes'}
662
- */
663
- bufferSync() {
664
- return w.buffer(this.shape, this.dtype, this.dataSync());
665
- }
666
- /**
667
- * Returns the tensor data as a nested array. The transfer of data is done
668
- * asynchronously.
669
- *
670
- * @doc {heading: 'Tensors', subheading: 'Classes'}
671
- */
672
- async array() {
673
- const e = await this.data();
674
- return $(this.shape, e, this.dtype === "complex64");
675
- }
676
- /**
677
- * Returns the tensor data as a nested array. The transfer of data is done
678
- * synchronously.
679
- *
680
- * @doc {heading: 'Tensors', subheading: 'Classes'}
681
- */
682
- arraySync() {
683
- return $(this.shape, this.dataSync(), this.dtype === "complex64");
684
- }
685
- /**
686
- * Asynchronously downloads the values from the `tf.Tensor`. Returns a
687
- * promise of `TypedArray` that resolves when the computation has finished.
688
- *
689
- * @doc {heading: 'Tensors', subheading: 'Classes'}
690
- */
691
- async data() {
692
- this.throwIfDisposed();
693
- const e = p().read(this.dataId);
694
- if (this.dtype === "string") {
695
- const r = await e;
696
- try {
697
- return r.map((n) => O(n));
698
- } catch {
699
- throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().");
700
- }
701
- }
702
- return e;
703
- }
704
- /**
705
- * Copy the tensor's data to a new GPU resource. Comparing to the `dataSync()`
706
- * and `data()`, this method prevents data from being downloaded to CPU.
707
- *
708
- * For WebGL backend, the data will be stored on a densely packed texture.
709
- * This means that the texture will use the RGBA channels to store value.
710
- *
711
- * For WebGPU backend, the data will be stored on a buffer. There is no
712
- * parameter, so can not use a user-defined size to create the buffer.
713
- *
714
- * @param options:
715
- * For WebGL,
716
- * - customTexShape: Optional. If set, will use the user defined
717
- * texture shape to create the texture.
718
- *
719
- * @returns For WebGL backend, a GPUData contains the new texture and
720
- * its information.
721
- * {
722
- * tensorRef: The tensor that is associated with this texture,
723
- * texture: WebGLTexture,
724
- * texShape: [number, number] // [height, width]
725
- * }
726
- *
727
- * For WebGPU backend, a GPUData contains the new buffer.
728
- * {
729
- * tensorRef: The tensor that is associated with this buffer,
730
- * buffer: GPUBuffer,
731
- * }
732
- *
733
- * Remember to dispose the GPUData after it is used by
734
- * `res.tensorRef.dispose()`.
735
- *
736
- * @doc {heading: 'Tensors', subheading: 'Classes'}
737
- */
738
- dataToGPU(e) {
739
- return this.throwIfDisposed(), p().readToGPU(this.dataId, e);
740
- }
741
- /**
742
- * Synchronously downloads the values from the `tf.Tensor`. This blocks the
743
- * UI thread until the values are ready, which can cause performance issues.
744
- *
745
- * @doc {heading: 'Tensors', subheading: 'Classes'}
746
- */
747
- dataSync() {
748
- this.throwIfDisposed();
749
- const e = p().readSync(this.dataId);
750
- if (this.dtype === "string")
751
- try {
752
- return e.map((r) => O(r));
753
- } catch {
754
- throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().");
755
- }
756
- return e;
757
- }
758
- /** Returns the underlying bytes of the tensor's data. */
759
- async bytes() {
760
- this.throwIfDisposed();
761
- const e = await p().read(this.dataId);
762
- return this.dtype === "string" ? e : new Uint8Array(e.buffer);
763
- }
764
- /**
765
- * Disposes `tf.Tensor` from memory.
766
- *
767
- * @doc {heading: 'Tensors', subheading: 'Classes'}
768
- */
769
- dispose() {
770
- this.isDisposed || (this.kerasMask && this.kerasMask.dispose(), p().disposeTensor(this), this.isDisposedInternal = !0);
771
- }
772
- get isDisposed() {
773
- return this.isDisposedInternal;
774
- }
775
- throwIfDisposed() {
776
- if (this.isDisposed)
777
- throw new Error("Tensor is disposed.");
778
- }
779
- /**
780
- * Prints the `tf.Tensor`. See `tf.print` for details.
781
- *
782
- * @param verbose Whether to print verbose information about the tensor,
783
- * including dtype and size.
784
- *
785
- * @doc {heading: 'Tensors', subheading: 'Classes'}
786
- */
787
- print(e = !1) {
788
- return w.print(this, e);
789
- }
790
- /**
791
- * Returns a copy of the tensor. See `tf.clone` for details.
792
- * @doc {heading: 'Tensors', subheading: 'Classes'}
793
- */
794
- clone() {
795
- return this.throwIfDisposed(), w.clone(this);
796
- }
797
- /**
798
- * Returns a human-readable description of the tensor. Useful for logging.
799
- *
800
- * @doc {heading: 'Tensors', subheading: 'Classes'}
801
- */
802
- toString(e = !1) {
803
- const r = this.dataSync();
804
- return dt(r, this.shape, this.dtype, e);
805
- }
806
- cast(e) {
807
- return this.throwIfDisposed(), w.cast(this, e);
808
- }
809
- variable(e = !0, r, n) {
810
- return this.throwIfDisposed(), p().makeVariable(this, e, r, n);
811
- }
812
- }
813
- Object.defineProperty(F, Symbol.hasInstance, {
814
- value: (t) => !!t && t.data != null && t.dataSync != null && t.throwIfDisposed != null
815
- });
816
- function yt() {
817
- return ut("Tensor", () => F);
818
- }
819
- yt();
820
- class mt extends F {
821
- constructor(e, r, n, s) {
822
- super(e.shape, e.dtype, e.dataId, s), this.trainable = r, this.name = n;
823
- }
824
- /**
825
- * Assign a new `tf.Tensor` to this variable. The new `tf.Tensor` must have
826
- * the same shape and dtype as the old `tf.Tensor`.
827
- *
828
- * @param newValue New tensor to be assigned to this variable.
829
- *
830
- * @doc {heading: 'Tensors', subheading: 'Classes'}
831
- */
832
- assign(e) {
833
- if (e.dtype !== this.dtype)
834
- throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);
835
- if (!j(e.shape, this.shape))
836
- throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);
837
- p().disposeTensor(this), this.dataId = e.dataId, p().incRef(
838
- this,
839
- null
840
- /* backend */
841
- );
842
- }
843
- dispose() {
844
- p().disposeVariable(this), this.isDisposedInternal = !0;
845
- }
846
- }
847
- Object.defineProperty(mt, Symbol.hasInstance, {
848
- value: (t) => t instanceof F && t.assign != null && t.assign instanceof Function
849
- });
850
- export {
851
- et as $,
852
- O as A,
853
- M as B,
854
- $t as C,
855
- V as D,
856
- zt as E,
857
- ut as F,
858
- X as G,
859
- W as H,
860
- Ht as I,
861
- kt as J,
862
- Tt as K,
863
- Bt as L,
864
- yt as M,
865
- rt as N,
866
- ct as O,
867
- H as P,
868
- ft as Q,
869
- Zt as R,
870
- Rt as S,
871
- F as T,
872
- Wt as U,
873
- mt as V,
874
- qt as W,
875
- jt as X,
876
- Pt as Y,
877
- q as Z,
878
- J as _,
879
- m as a,
880
- At as a0,
881
- $ as a1,
882
- Vt as a2,
883
- Ut as a3,
884
- j as b,
885
- Ft as c,
886
- Ct as d,
887
- y as e,
888
- nt as f,
889
- Mt as g,
890
- Dt as h,
891
- P as i,
892
- It as j,
893
- St as k,
894
- Et as l,
895
- Ot as m,
896
- xt as n,
897
- at as o,
898
- K as p,
899
- Nt as q,
900
- z as r,
901
- R as s,
902
- gt as t,
903
- Lt as u,
904
- _t as v,
905
- vt as w,
906
- Qt as x,
907
- Jt as y,
908
- Gt as z
909
- };