@fi4f/hg 0.0.11 → 0.0.12

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 (124) hide show
  1. package/README.md +57 -0
  2. package/dist/asset.d.ts +46 -0
  3. package/dist/asset.d.ts.map +1 -0
  4. package/dist/{core/asset.js → asset.js} +5 -30
  5. package/dist/asset.js.map +1 -0
  6. package/dist/{core/cache.d.ts → cache.d.ts} +17 -7
  7. package/dist/cache.d.ts.map +1 -0
  8. package/dist/{core/cache.js → cache.js} +5 -6
  9. package/dist/cache.js.map +1 -0
  10. package/dist/canvas.d.ts +4 -0
  11. package/dist/canvas.d.ts.map +1 -0
  12. package/dist/canvas.js +12 -0
  13. package/dist/canvas.js.map +1 -0
  14. package/dist/el.d.ts.map +1 -0
  15. package/dist/el.js.map +1 -0
  16. package/dist/event.d.ts.map +1 -0
  17. package/dist/event.js.map +1 -0
  18. package/dist/hg.d.ts +13 -13
  19. package/dist/hg.d.ts.map +1 -1
  20. package/dist/hg.js +14 -14
  21. package/dist/hg.js.map +1 -1
  22. package/dist/index.d.ts +24 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/matrix2.d.ts +152 -0
  26. package/dist/matrix2.d.ts.map +1 -0
  27. package/dist/matrix2.js +262 -0
  28. package/dist/matrix2.js.map +1 -0
  29. package/dist/matrix3.d.ts +196 -0
  30. package/dist/matrix3.d.ts.map +1 -0
  31. package/dist/matrix3.js +352 -0
  32. package/dist/matrix3.js.map +1 -0
  33. package/dist/matrix4.d.ts +253 -0
  34. package/dist/matrix4.d.ts.map +1 -0
  35. package/dist/matrix4.js +465 -0
  36. package/dist/matrix4.js.map +1 -0
  37. package/dist/{core/scene.d.ts → scene.d.ts} +2 -3
  38. package/dist/scene.d.ts.map +1 -0
  39. package/dist/scene.js.map +1 -0
  40. package/dist/sprite.d.ts.map +1 -0
  41. package/dist/sprite.js.map +1 -0
  42. package/dist/stage.d.ts +100 -0
  43. package/dist/stage.d.ts.map +1 -0
  44. package/dist/stage.js +303 -0
  45. package/dist/stage.js.map +1 -0
  46. package/dist/vector2.d.ts +114 -0
  47. package/dist/vector2.d.ts.map +1 -0
  48. package/dist/vector2.js +168 -0
  49. package/dist/vector2.js.map +1 -0
  50. package/dist/vector3.d.ts +126 -0
  51. package/dist/vector3.d.ts.map +1 -0
  52. package/dist/vector3.js +190 -0
  53. package/dist/vector3.js.map +1 -0
  54. package/dist/vector4.d.ts +135 -0
  55. package/dist/vector4.d.ts.map +1 -0
  56. package/dist/vector4.js +209 -0
  57. package/dist/vector4.js.map +1 -0
  58. package/dist/version.d.ts.map +1 -0
  59. package/dist/version.js.map +1 -0
  60. package/package.json +1 -1
  61. package/dist/core/asset.d.ts +0 -71
  62. package/dist/core/asset.d.ts.map +0 -1
  63. package/dist/core/asset.js.map +0 -1
  64. package/dist/core/atlas.d.ts +0 -2
  65. package/dist/core/atlas.d.ts.map +0 -1
  66. package/dist/core/atlas.js +0 -2
  67. package/dist/core/atlas.js.map +0 -1
  68. package/dist/core/cache.d.ts.map +0 -1
  69. package/dist/core/cache.js.map +0 -1
  70. package/dist/core/event.d.ts.map +0 -1
  71. package/dist/core/event.js.map +0 -1
  72. package/dist/core/index.d.ts +0 -14
  73. package/dist/core/index.d.ts.map +0 -1
  74. package/dist/core/index.js.map +0 -1
  75. package/dist/core/scene.d.ts.map +0 -1
  76. package/dist/core/scene.js.map +0 -1
  77. package/dist/core/sprite.d.ts.map +0 -1
  78. package/dist/core/sprite.js.map +0 -1
  79. package/dist/core/stage.d.ts +0 -130
  80. package/dist/core/stage.d.ts.map +0 -1
  81. package/dist/core/stage.js +0 -308
  82. package/dist/core/stage.js.map +0 -1
  83. package/dist/math/el.d.ts.map +0 -1
  84. package/dist/math/el.js.map +0 -1
  85. package/dist/math/matrix2.d.ts +0 -70
  86. package/dist/math/matrix2.d.ts.map +0 -1
  87. package/dist/math/matrix2.js +0 -180
  88. package/dist/math/matrix2.js.map +0 -1
  89. package/dist/math/matrix3.d.ts +0 -108
  90. package/dist/math/matrix3.d.ts.map +0 -1
  91. package/dist/math/matrix3.js +0 -257
  92. package/dist/math/matrix3.js.map +0 -1
  93. package/dist/math/matrix4.d.ts +0 -158
  94. package/dist/math/matrix4.d.ts.map +0 -1
  95. package/dist/math/matrix4.js +0 -354
  96. package/dist/math/matrix4.js.map +0 -1
  97. package/dist/math/vector2.d.ts +0 -38
  98. package/dist/math/vector2.d.ts.map +0 -1
  99. package/dist/math/vector2.js +0 -67
  100. package/dist/math/vector2.js.map +0 -1
  101. package/dist/math/vector3.d.ts +0 -34
  102. package/dist/math/vector3.d.ts.map +0 -1
  103. package/dist/math/vector3.js +0 -74
  104. package/dist/math/vector3.js.map +0 -1
  105. package/dist/math/vector4.d.ts +0 -39
  106. package/dist/math/vector4.d.ts.map +0 -1
  107. package/dist/math/vector4.js +0 -81
  108. package/dist/math/vector4.js.map +0 -1
  109. package/dist/util/types.d.ts +0 -2
  110. package/dist/util/types.d.ts.map +0 -1
  111. package/dist/util/types.js +0 -2
  112. package/dist/util/types.js.map +0 -1
  113. package/dist/util/version.d.ts.map +0 -1
  114. package/dist/util/version.js.map +0 -1
  115. /package/dist/{math/el.d.ts → el.d.ts} +0 -0
  116. /package/dist/{math/el.js → el.js} +0 -0
  117. /package/dist/{core/event.d.ts → event.d.ts} +0 -0
  118. /package/dist/{core/event.js → event.js} +0 -0
  119. /package/dist/{core/index.js → index.js} +0 -0
  120. /package/dist/{core/scene.js → scene.js} +0 -0
  121. /package/dist/{core/sprite.d.ts → sprite.d.ts} +0 -0
  122. /package/dist/{core/sprite.js → sprite.js} +0 -0
  123. /package/dist/{util/version.d.ts → version.d.ts} +0 -0
  124. /package/dist/{util/version.js → version.js} +0 -0
@@ -1,354 +0,0 @@
1
- import { Vector4 } from "./vector4.js";
2
- import { add, sub, mul, div, mod } from "./el.js";
3
- const XX = 0;
4
- const XY = 1;
5
- const XZ = 2;
6
- const XW = 3;
7
- const YX = 4;
8
- const YY = 5;
9
- const YZ = 6;
10
- const YW = 7;
11
- const ZX = 8;
12
- const ZY = 9;
13
- const ZZ = 10;
14
- const ZW = 11;
15
- const WX = 12;
16
- const WY = 13;
17
- const WZ = 14;
18
- const WW = 15;
19
- const __get__ = {
20
- xx(a) { return a[XX]; },
21
- xy(a) { return a[XY]; },
22
- xz(a) { return a[XZ]; },
23
- xw(a) { return a[XW]; },
24
- yx(a) { return a[YX]; },
25
- yy(a) { return a[YY]; },
26
- yz(a) { return a[YZ]; },
27
- yw(a) { return a[YW]; },
28
- zx(a) { return a[ZX]; },
29
- zy(a) { return a[ZY]; },
30
- zz(a) { return a[ZZ]; },
31
- zw(a) { return a[ZW]; },
32
- wx(a) { return a[WX]; },
33
- wy(a) { return a[WY]; },
34
- wz(a) { return a[WZ]; },
35
- ww(a) { return a[WW]; },
36
- r0(a) { return [a[XX], a[XY], a[XZ], a[XW]]; },
37
- r1(a) { return [a[YX], a[YY], a[YZ], a[YW]]; },
38
- r2(a) { return [a[ZX], a[ZY], a[ZZ], a[ZW]]; },
39
- r3(a) { return [a[WX], a[WY], a[WZ], a[WW]]; },
40
- c0(a) { return [a[XX], a[YX], a[ZX], a[WX]]; },
41
- c1(a) { return [a[XY], a[YY], a[ZY], a[WY]]; },
42
- c2(a) { return [a[XZ], a[YZ], a[ZZ], a[WZ]]; },
43
- c3(a) { return [a[XW], a[YW], a[ZW], a[WW]]; },
44
- row(a, i) {
45
- switch (i) {
46
- case 0: return __get__.r0(a);
47
- case 1: return __get__.r1(a);
48
- case 2: return __get__.r2(a);
49
- case 3: return __get__.r3(a);
50
- }
51
- },
52
- col(a, j) {
53
- switch (j) {
54
- case 0: return __get__.c0(a);
55
- case 1: return __get__.c1(a);
56
- case 2: return __get__.c2(a);
57
- case 3: return __get__.c3(a);
58
- }
59
- },
60
- };
61
- const __set__ = {
62
- xx(a, xx) { return a[XX] = xx; },
63
- xy(a, xy) { return a[XY] = xy; },
64
- xz(a, xz) { return a[XZ] = xz; },
65
- xw(a, xw) { return a[XW] = xw; },
66
- yx(a, yx) { return a[YX] = yx; },
67
- yy(a, yy) { return a[YY] = yy; },
68
- yz(a, yz) { return a[YZ] = yz; },
69
- yw(a, yw) { return a[YW] = yw; },
70
- zx(a, zx) { return a[ZX] = zx; },
71
- zy(a, zy) { return a[ZY] = zy; },
72
- zz(a, zz) { return a[ZZ] = zz; },
73
- zw(a, zw) { return a[ZW] = zw; },
74
- wx(a, wx) { return a[WX] = wx; },
75
- wy(a, wy) { return a[WY] = wy; },
76
- wz(a, wz) { return a[WZ] = wz; },
77
- ww(a, ww) { return a[WW] = ww; },
78
- r0(a, r0) {
79
- const [x, y, z, w] = Vector4.from(r0);
80
- __set__.xx(a, x);
81
- __set__.xy(a, y);
82
- __set__.xz(a, z);
83
- __set__.xw(a, w);
84
- return [x, y, z, w];
85
- },
86
- r1(a, r1) {
87
- const [x, y, z, w] = Vector4.from(r1);
88
- __set__.yx(a, x);
89
- __set__.yy(a, y);
90
- __set__.yz(a, z);
91
- __set__.yw(a, w);
92
- return [x, y, z, w];
93
- },
94
- r2(a, r2) {
95
- const [x, y, z, w] = Vector4.from(r2);
96
- __set__.zx(a, x);
97
- __set__.zy(a, y);
98
- __set__.zz(a, z);
99
- __set__.zw(a, w);
100
- return [x, y, z, w];
101
- },
102
- r3(a, r3) {
103
- const [x, y, z, w] = Vector4.from(r3);
104
- __set__.wx(a, x);
105
- __set__.wy(a, y);
106
- __set__.wz(a, z);
107
- __set__.ww(a, w);
108
- return [x, y, z, w];
109
- },
110
- c0(a, c0) {
111
- const [x, y, z, w] = Vector4.from(c0);
112
- __set__.xx(a, x);
113
- __set__.yx(a, y);
114
- __set__.zx(a, z);
115
- __set__.wx(a, w);
116
- return [x, y, z, w];
117
- },
118
- c1(a, c1) {
119
- const [x, y, z, w] = Vector4.from(c1);
120
- __set__.xy(a, x);
121
- __set__.yy(a, y);
122
- __set__.zy(a, y);
123
- __set__.wy(a, y);
124
- return [x, y, z, w];
125
- },
126
- c2(a, c2) {
127
- const [x, y, z, w] = Vector4.from(c2);
128
- __set__.xz(a, x);
129
- __set__.yz(a, y);
130
- __set__.zz(a, z);
131
- __set__.wz(a, z);
132
- return [x, y, z, w];
133
- },
134
- c3(a, c3) {
135
- const [x, y, z, w] = Vector4.from(c3);
136
- __set__.xw(a, x);
137
- __set__.yw(a, y);
138
- __set__.zw(a, z);
139
- __set__.ww(a, w);
140
- return [x, y, z, w];
141
- },
142
- row(a, i, ri) {
143
- switch (i) {
144
- case 0: return __set__.r0(a, ri);
145
- case 1: return __set__.r1(a, ri);
146
- case 2: return __set__.r2(a, ri);
147
- case 3: return __set__.r3(a, ri);
148
- }
149
- },
150
- col(a, j, cj) {
151
- switch (j) {
152
- case 0: return __set__.c0(a, cj);
153
- case 1: return __set__.c1(a, cj);
154
- case 2: return __set__.c2(a, cj);
155
- case 3: return __set__.c3(a, cj);
156
- }
157
- },
158
- };
159
- function xx(a, xx) {
160
- return xx === undefined ? __get__.xx(a) : __set__.xx(a, xx);
161
- }
162
- function xy(a, xy) {
163
- return xy === undefined ? __get__.xy(a) : __set__.xy(a, xy);
164
- }
165
- function xz(a, xz) {
166
- return xz === undefined ? __get__.xz(a) : __set__.xz(a, xz);
167
- }
168
- function xw(a, xw) {
169
- return xw === undefined ? __get__.xw(a) : __set__.xw(a, xw);
170
- }
171
- function yx(a, yx) {
172
- return yx === undefined ? __get__.yx(a) : __set__.yx(a, yx);
173
- }
174
- function yy(a, yy) {
175
- return yy === undefined ? __get__.yy(a) : __set__.yy(a, yy);
176
- }
177
- function yz(a, yz) {
178
- return yz === undefined ? __get__.yz(a) : __set__.yz(a, yz);
179
- }
180
- function yw(a, yw) {
181
- return yw === undefined ? __get__.yw(a) : __set__.yw(a, yw);
182
- }
183
- function zx(a, zx) {
184
- return zx === undefined ? __get__.zx(a) : __set__.zx(a, zx);
185
- }
186
- function zy(a, zy) {
187
- return zy === undefined ? __get__.zy(a) : __set__.zy(a, zy);
188
- }
189
- function zz(a, zz) {
190
- return zz === undefined ? __get__.zz(a) : __set__.zz(a, zz);
191
- }
192
- function zw(a, zw) {
193
- return zw === undefined ? __get__.zw(a) : __set__.zw(a, zw);
194
- }
195
- function wx(a, wx) {
196
- return wx === undefined ? __get__.wx(a) : __set__.wx(a, wx);
197
- }
198
- function wy(a, wy) {
199
- return wy === undefined ? __get__.wy(a) : __set__.wy(a, wy);
200
- }
201
- function wz(a, wz) {
202
- return wz === undefined ? __get__.wz(a) : __set__.wz(a, wz);
203
- }
204
- function ww(a, ww) {
205
- return ww === undefined ? __get__.ww(a) : __set__.ww(a, ww);
206
- }
207
- function r0(a, r0) {
208
- return r0 === undefined ? __get__.r0(a) : __set__.r0(a, r0);
209
- }
210
- function r1(a, r1) {
211
- return r1 === undefined ? __get__.r1(a) : __set__.r1(a, r1);
212
- }
213
- function r2(a, r2) {
214
- return r2 === undefined ? __get__.r2(a) : __set__.r2(a, r2);
215
- }
216
- function r3(a, r3) {
217
- return r3 === undefined ? __get__.r3(a) : __set__.r3(a, r3);
218
- }
219
- function c0(a, c0) {
220
- return c0 === undefined ? __get__.c0(a) : __set__.c0(a, c0);
221
- }
222
- function c1(a, c1) {
223
- return c1 === undefined ? __get__.c1(a) : __set__.c1(a, c1);
224
- }
225
- function c2(a, c2) {
226
- return c2 === undefined ? __get__.c2(a) : __set__.c2(a, c2);
227
- }
228
- function c3(a, c3) {
229
- return c3 === undefined ? __get__.c3(a) : __set__.c3(a, c3);
230
- }
231
- function row(a, i, ri) {
232
- return ri === undefined ? __get__.row(a, i) : __set__.row(a, i, ri);
233
- }
234
- function col(a, j, cj) {
235
- return cj === undefined ? __get__.col(a, j) : __set__.col(a, j, cj);
236
- }
237
- export const Matrix4 = {
238
- XX, XY, XZ, XW, YX, YY, YZ, YW, ZX, ZY, ZZ, ZW, WX, WY, WZ, WW,
239
- __get__,
240
- __set__,
241
- xx, xy, xz, xw, yx, yy, yz, yw, zx, zy, zz, zw, wx, wy, wz, ww,
242
- r0, r1, r2, r3, c0, c1, c2, c3,
243
- row, col,
244
- id(a = 1) {
245
- return [
246
- a, 0, 0, 0,
247
- 0, a, 0, 0,
248
- 0, 0, a, 0,
249
- 0, 0, 0, a
250
- ];
251
- },
252
- new(...a) {
253
- if (a.length === 1)
254
- return [
255
- a[XX], a[XX], a[XX], a[XX],
256
- a[XX], a[XX], a[XX], a[XX],
257
- a[XX], a[XX], a[XX], a[XX],
258
- a[XX], a[XX], a[XX], a[XX]
259
- ];
260
- else
261
- return [
262
- a[XX] ?? 0, a[XY] ?? 0, a[XZ] ?? 0, a[XW] ?? 0,
263
- a[YX] ?? 0, a[YY] ?? 0, a[YZ] ?? 0, a[YW] ?? 0,
264
- a[ZX] ?? 0, a[ZY] ?? 0, a[ZZ] ?? 0, a[ZW] ?? 0,
265
- a[WX] ?? 0, a[WY] ?? 0, a[WZ] ?? 0, a[WW] ?? 0
266
- ];
267
- },
268
- from(a) {
269
- if (typeof a === "number")
270
- return [
271
- a, a, a, a,
272
- a, a, a, a,
273
- a, a, a, a,
274
- a, a, a, a
275
- ];
276
- else
277
- return [
278
- a[XX] ?? 0, a[XY] ?? 0, a[XZ] ?? 0, a[XW] ?? 0,
279
- a[YX] ?? 0, a[YY] ?? 0, a[YZ] ?? 0, a[YW] ?? 0,
280
- a[ZX] ?? 0, a[ZY] ?? 0, a[ZZ] ?? 0, a[ZW] ?? 0,
281
- a[WX] ?? 0, a[WY] ?? 0, a[WZ] ?? 0, a[WW] ?? 0
282
- ];
283
- },
284
- el(op, a, b, out = Matrix4.new()) {
285
- const [xxa, xya, xza, xwa, yxa, yya, yza, ywa, zxa, zya, zza, zwa, wxa, wya, wza, wwa] = Matrix4.from(a);
286
- const [xxb, xyb, xzb, xwb, yxb, yyb, yzb, ywb, zxb, zyb, zzb, zwb, wxb, wyb, wzb, wwb] = Matrix4.from(b);
287
- __set__.xx(out, op(xxa, xxb));
288
- __set__.xy(out, op(xya, xyb));
289
- __set__.xz(out, op(xza, xzb));
290
- __set__.xw(out, op(xwa, xwb));
291
- __set__.yx(out, op(yxa, yxb));
292
- __set__.yy(out, op(yya, yyb));
293
- __set__.yz(out, op(yza, yzb));
294
- __set__.yw(out, op(ywa, ywb));
295
- __set__.zx(out, op(zxa, zxb));
296
- __set__.zy(out, op(zya, zyb));
297
- __set__.zz(out, op(zza, zzb));
298
- __set__.zw(out, op(zwa, zwb));
299
- __set__.wx(out, op(wxa, wxb));
300
- __set__.wy(out, op(wya, wyb));
301
- __set__.wz(out, op(wza, wzb));
302
- __set__.ww(out, op(wwa, wwb));
303
- return out;
304
- },
305
- add(a, b, out = Matrix4.new()) {
306
- return Matrix4.el(add, a, b, out);
307
- },
308
- sub(a, b, out = Matrix4.new()) {
309
- return Matrix4.el(sub, a, b, out);
310
- },
311
- hmul(a, b, out = Matrix4.new()) {
312
- return Matrix4.el(mul, a, b, out);
313
- },
314
- hdiv(a, b, out = Matrix4.new()) {
315
- return Matrix4.el(div, a, b, out);
316
- },
317
- hmod(a, b, out = Matrix4.new()) {
318
- return Matrix4.el(mod, a, b, out);
319
- },
320
- mul(a, b, out = Matrix4.new()) {
321
- const A = Matrix4.from(a);
322
- const B = Matrix4.from(b);
323
- const r0 = __get__.r0(A);
324
- const r1 = __get__.r1(A);
325
- const r2 = __get__.r2(A);
326
- const r3 = __get__.r3(A);
327
- const c0 = __get__.c0(B);
328
- const c1 = __get__.c1(B);
329
- const c2 = __get__.c2(B);
330
- const c3 = __get__.c3(B);
331
- __set__.xx(out, Vector4.dot(r0, c0));
332
- __set__.xy(out, Vector4.dot(r0, c1));
333
- __set__.xz(out, Vector4.dot(r0, c2));
334
- __set__.xw(out, Vector4.dot(r0, c3));
335
- __set__.yx(out, Vector4.dot(r1, c0));
336
- __set__.yy(out, Vector4.dot(r1, c1));
337
- __set__.yz(out, Vector4.dot(r1, c2));
338
- __set__.yw(out, Vector4.dot(r1, c3));
339
- __set__.zx(out, Vector4.dot(r2, c0));
340
- __set__.zy(out, Vector4.dot(r2, c1));
341
- __set__.zz(out, Vector4.dot(r2, c2));
342
- __set__.zw(out, Vector4.dot(r2, c3));
343
- __set__.wx(out, Vector4.dot(r3, c0));
344
- __set__.wy(out, Vector4.dot(r3, c1));
345
- __set__.wz(out, Vector4.dot(r3, c2));
346
- __set__.ww(out, Vector4.dot(r3, c3));
347
- return out;
348
- },
349
- toString(a) {
350
- const [xx, xy, xz, xw, yx, yy, yz, yw, zx, zy, zz, zw, wx, wy, wz, ww] = Matrix4.from(a);
351
- return `mat4<${xx}, ${xy}, ${xz}, ${xw}, ${yx}, ${yy}, ${yz}, ${yw}, ${zx}, ${zy}, ${zz}, ${zw}, ${wx}, ${wy}, ${wz}, ${ww}>`;
352
- }
353
- };
354
- //# sourceMappingURL=matrix4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matrix4.js","sourceRoot":"","sources":["../../src/math/matrix4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AASlD,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,CAAU,CAAC;AAEtB,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,CAAU,CAAC;AAEtB,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,CAAU,CAAC;AACtB,MAAM,EAAE,GAAG,EAAW,CAAC;AACvB,MAAM,EAAE,GAAG,EAAW,CAAC;AAEvB,MAAM,EAAE,GAAG,EAAW,CAAC;AACvB,MAAM,EAAE,GAAG,EAAW,CAAC;AACvB,MAAM,EAAE,GAAG,EAAW,CAAC;AACvB,MAAM,EAAE,GAAG,EAAW,CAAC;AAEvB,MAAM,OAAO,GAAG;IACd,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAE/B,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAC1E,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAC1E,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAC1E,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAE1E,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAC1E,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAC1E,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAC1E,EAAE,CAAC,CAAU,IAAI,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA,CAAC,CAAC;IAE1E,GAAG,CAAC,CAAU,EAAE,CAAgB;QAAI,QAAQ,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;IAAA,CAAC;IAEF,GAAG,CAAC,CAAU,EAAE,CAAgB;QAAI,QAAQ,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;IAAA,CAAC;CACH,CAAA;AAED,MAAM,OAAO,GAAG;IACd,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAChD,EAAE,CAAC,CAAU,EAAE,EAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC;IAEhD,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,EAAE,CAAC,CAAU,EAAE,EAAoB;QACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmB,CAAA;IACvC,CAAC;IAED,GAAG,CAAC,CAAU,EAAE,CAAgB,EAAE,EAAoB;QACpD,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,GAAG,CAAC,CAAU,EAAE,CAAgB,EAAE,EAAoB;QACpD,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;CACF,CAAA;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAY;IAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,EAAE,CAAC,CAAU,EAAE,EAAsB;IAC5C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,CAAU,EAAE,CAAgB,EAAE,EAAsB;IAC/D,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,GAAG,CAAC,CAAU,EAAE,CAAgB,EAAE,EAAsB;IAC/D,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9D,OAAO;IACP,OAAO;IACP,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9D,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9B,GAAG,EAAE,GAAG;IAER,EAAE,CAAC,IAAY,CAAC;QACd,OAAO;YACL,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SACO,CAAA;IACrB,CAAC;IAED,GAAG,CAAC,GAAG,CAAgB;QACrB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;gBACzB,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE;gBAC9B,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE;gBAC9B,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE;gBAC9B,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC,EAAE,CAAE;aACb,CAAA;;YACC,OAAO;gBACzB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;aAC7B,CAAA;IACrB,CAAC;IAED,IAAI,CAAC,CAAyB;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;gBAChC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACV,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;aACO,CAAA;;YACQ,OAAO;gBAChC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;aAC7B,CAAA;IACrB,CAAC;IAED,EAAE,CAAC,EAAoC,EAAE,CAAmB,EAAE,CAAmB,EAAE,MAAe,OAAO,CAAC,GAAG,EAAE;QAC7G,MAAM,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1G,MAAM,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1G,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,GAAG,CAAC,CAAmB,EAAE,CAAmB,EAAE,MAAe,OAAO,CAAC,GAAG,EAAE;QACxE,OAAO,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,CAAmB,EAAE,CAAmB,EAAE,MAAe,OAAO,CAAC,GAAG,EAAE;QACxE,OAAO,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAC,CAAmB,EAAE,CAAmB,EAAE,MAAe,OAAO,CAAC,GAAG,EAAE;QACzE,OAAO,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAC,CAAmB,EAAE,CAAmB,EAAE,MAAe,OAAO,CAAC,GAAG,EAAE;QACzE,OAAO,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAC,CAAmB,EAAE,CAAmB,EAAE,MAAe,OAAO,CAAC,GAAG,EAAE;QACzE,OAAO,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,CAAmB,EAAE,CAAmB,EAAE,MAAe,OAAO,CAAC,GAAG,EAAE;QACxE,MAAM,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAExB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAEpC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,CAAmB;QAC1B,MAAM,CACJ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,OAAO,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAA;IAC/H,CAAC;CACF,CAAA"}
@@ -1,38 +0,0 @@
1
- export type Vector2 = [number, number];
2
- export declare const X: 0;
3
- export declare const Y: 1;
4
- export declare const __get__: {
5
- x(a: Vector2): number;
6
- y(a: Vector2): number;
7
- };
8
- export declare const __set__: {
9
- x(a: Vector2, x: number): number;
10
- y(a: Vector2, y: number): number;
11
- };
12
- export declare function x(a: Vector2, x?: number): number;
13
- export declare function y(a: Vector2, y?: number): number;
14
- export declare const Vector2: {
15
- X: 0;
16
- Y: 1;
17
- __get__: {
18
- x(a: Vector2): number;
19
- y(a: Vector2): number;
20
- };
21
- __set__: {
22
- x(a: Vector2, x: number): number;
23
- y(a: Vector2, y: number): number;
24
- };
25
- x: typeof x;
26
- y: typeof y;
27
- "new"(...a: Array<number>): [number, number];
28
- from(a: number | Array<number>): [number, number];
29
- el(op: (a: number, b: number) => number, a: number | Vector2, b: number | Vector2, out?: Vector2): Vector2;
30
- add(a: number | Vector2, b: number | Vector2, out?: Vector2): Vector2;
31
- sub(a: number | Vector2, b: number | Vector2, out?: Vector2): Vector2;
32
- hmul(a: number | Vector2, b: number | Vector2, out?: Vector2): Vector2;
33
- hdiv(a: number | Vector2, b: number | Vector2, out?: Vector2): Vector2;
34
- hmod(a: number | Vector2, b: number | Vector2, out?: Vector2): Vector2;
35
- dot(a: number | Vector2, b?: number | Vector2): number;
36
- toString(a: number | Vector2): string;
37
- };
38
- //# sourceMappingURL=vector2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector2.d.ts","sourceRoot":"","sources":["../../src/math/vector2.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEtC,eAAO,MAAM,CAAC,EAAG,CAAU,CAAC;AAC5B,eAAO,MAAM,CAAC,EAAG,CAAU,CAAC;AAE5B,eAAO,MAAM,OAAO;SACb,OAAO;SACP,OAAO;CACb,CAAA;AAED,eAAO,MAAM,OAAO;SACb,OAAO,KAAK,MAAM;SAClB,OAAO,KAAK,MAAM;CACxB,CAAA;AAED,wBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAE,CAAC,EAAE,MAAM,UAExC;AAED,wBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAE,CAAC,EAAE,MAAM,UAExC;AAED,eAAO,MAAM,OAAO;;;;aAjBb,OAAO;aACP,OAAO;;;aAIP,OAAO,KAAK,MAAM;aAClB,OAAO,KAAK,MAAM;;;;gBAiBb,KAAK,CAAC,MAAM,CAAC;YAKf,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;WAKvB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;WAQxF,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;WAInD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;YAIlD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;YAInD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;YAInD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;WAIpD,MAAM,GAAG,OAAO,MAAK,MAAM,GAAG,OAAO;gBAMhC,MAAM,GAAG,OAAO;CAI7B,CAAA"}
@@ -1,67 +0,0 @@
1
- import { add, sub, mul, div, mod } from "./el.js";
2
- export const X = 0;
3
- export const Y = 1;
4
- export const __get__ = {
5
- x(a) { return a[X]; },
6
- y(a) { return a[Y]; },
7
- };
8
- export const __set__ = {
9
- x(a, x) { return a[X] = x; },
10
- y(a, y) { return a[Y] = y; },
11
- };
12
- export function x(a, x) {
13
- return x === undefined ? __get__.x(a) : __set__.x(a, x);
14
- }
15
- export function y(a, y) {
16
- return y === undefined ? __get__.y(a) : __set__.y(a, y);
17
- }
18
- export const Vector2 = {
19
- X, Y,
20
- __get__,
21
- __set__,
22
- x, y,
23
- new(...a) {
24
- if (a.length === 1)
25
- return [a[X], a[X]];
26
- else
27
- return [a[X] ?? 0, a[Y] ?? 0];
28
- },
29
- from(a) {
30
- if (typeof a === "number")
31
- return [a, a];
32
- else
33
- return [a[X] ?? 0, a[Y] ?? 0];
34
- },
35
- el(op, a, b, out = Vector2.new()) {
36
- const [xa, ya] = Vector2.from(a);
37
- const [xb, yb] = Vector2.from(b);
38
- __set__.x(out, op(xa, xb));
39
- __set__.y(out, op(ya, yb));
40
- return out;
41
- },
42
- add(a, b, out = Vector2.new()) {
43
- return Vector2.el(add, a, b, out);
44
- },
45
- sub(a, b, out = Vector2.new()) {
46
- return Vector2.el(sub, a, b, out);
47
- },
48
- hmul(a, b, out = Vector2.new()) {
49
- return Vector2.el(mul, a, b, out);
50
- },
51
- hdiv(a, b, out = Vector2.new()) {
52
- return Vector2.el(div, a, b, out);
53
- },
54
- hmod(a, b, out = Vector2.new()) {
55
- return Vector2.el(mod, a, b, out);
56
- },
57
- dot(a, b = a) {
58
- const [xa, ya] = Vector2.from(a);
59
- const [xb, yb] = Vector2.from(b);
60
- return xa * xb + ya * yb;
61
- },
62
- toString(a) {
63
- const [x, y] = Vector2.from(a);
64
- return `vec2<${x}, ${y}>`;
65
- }
66
- };
67
- //# sourceMappingURL=vector2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector2.js","sourceRoot":"","sources":["../../src/math/vector2.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- export type Vector3 = [number, number, number];
2
- declare function x(a: Vector3, x?: number): number;
3
- declare function y(a: Vector3, y?: number): number;
4
- declare function z(a: Vector3, z?: number): number;
5
- export declare const Vector3: {
6
- X: 0;
7
- Y: 1;
8
- Z: 2;
9
- __get__: {
10
- x(a: Vector3): number;
11
- y(a: Vector3): number;
12
- z(a: Vector3): number;
13
- };
14
- __set__: {
15
- x(a: Vector3, x: number): number;
16
- y(a: Vector3, y: number): number;
17
- z(a: Vector3, z: number): number;
18
- };
19
- x: typeof x;
20
- y: typeof y;
21
- z: typeof z;
22
- "new"(...a: Array<number>): [number, number, number];
23
- from(a: number | Array<number>): [number, number, number];
24
- el(op: (a: number, b: number) => number, a: number | Vector3, b: number | Vector3, out?: Vector3): Vector3;
25
- add(a: number | Vector3, b: number | Vector3, out?: Vector3): Vector3;
26
- sub(a: number | Vector3, b: number | Vector3, out?: Vector3): Vector3;
27
- hmul(a: number | Vector3, b: number | Vector3, out?: Vector3): Vector3;
28
- hdiv(a: number | Vector3, b: number | Vector3, out?: Vector3): Vector3;
29
- hmod(a: number | Vector3, b: number | Vector3, out?: Vector3): Vector3;
30
- dot(a: number | Vector3, b?: number | Vector3): number;
31
- toString(a: number | Vector3): string;
32
- };
33
- export {};
34
- //# sourceMappingURL=vector3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector3.d.ts","sourceRoot":"","sources":["../../src/math/vector3.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAkB9C,iBAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAE,CAAC,EAAE,MAAM,UAEjC;AAED,iBAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAE,CAAC,EAAE,MAAM,UAEjC;AAED,iBAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAE,CAAC,EAAE,MAAM,UAEjC;AAED,eAAO,MAAM,OAAO;;;;;aAvBb,OAAO;aACP,OAAO;aACP,OAAO;;;aAIP,OAAO,KAAK,MAAM;aAClB,OAAO,KAAK,MAAM;aAClB,OAAO,KAAK,MAAM;;;;;gBAqBb,KAAK,CAAC,MAAM,CAAC;YAKf,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;WAKvB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;WASxF,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;WAInD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;YAIlD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;YAInD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;YAInD,MAAM,GAAG,OAAO,KAAK,MAAM,GAAG,OAAO,QAAO,OAAO;WAIpD,MAAM,GAAG,OAAO,MAAK,MAAM,GAAG,OAAO;gBAMhC,MAAM,GAAG,OAAO;CAI7B,CAAA"}
@@ -1,74 +0,0 @@
1
- import { add, sub, mul, div, mod } from "./el.js";
2
- const X = 0;
3
- const Y = 1;
4
- const Z = 2;
5
- const __get__ = {
6
- x(a) { return a[X]; },
7
- y(a) { return a[Y]; },
8
- z(a) { return a[Z]; },
9
- };
10
- const __set__ = {
11
- x(a, x) { return a[X] = x; },
12
- y(a, y) { return a[Y] = y; },
13
- z(a, z) { return a[Z] = z; },
14
- };
15
- function x(a, x) {
16
- return x === undefined ? __get__.x(a) : __set__.x(a, x);
17
- }
18
- function y(a, y) {
19
- return y === undefined ? __get__.y(a) : __set__.y(a, y);
20
- }
21
- function z(a, z) {
22
- return z === undefined ? __get__.z(a) : __set__.z(a, z);
23
- }
24
- export const Vector3 = {
25
- X, Y, Z,
26
- __get__,
27
- __set__,
28
- x, y, z,
29
- new(...a) {
30
- if (a.length === 1)
31
- return [a[X], a[X], a[X]];
32
- else
33
- return [a[X] ?? 0, a[Y] ?? 0, a[Z] ?? 0];
34
- },
35
- from(a) {
36
- if (typeof a === "number")
37
- return [a, a, a];
38
- else
39
- return [a[X] ?? 0, a[Y] ?? 0, a[Z] ?? 0];
40
- },
41
- el(op, a, b, out = Vector3.new()) {
42
- const [xa, ya, za] = Vector3.from(a);
43
- const [xb, yb, zb] = Vector3.from(b);
44
- __set__.x(out, op(xa, xb));
45
- __set__.y(out, op(ya, yb));
46
- __set__.z(out, op(za, zb));
47
- return out;
48
- },
49
- add(a, b, out = Vector3.new()) {
50
- return Vector3.el(add, a, b, out);
51
- },
52
- sub(a, b, out = Vector3.new()) {
53
- return Vector3.el(sub, a, b, out);
54
- },
55
- hmul(a, b, out = Vector3.new()) {
56
- return Vector3.el(mul, a, b, out);
57
- },
58
- hdiv(a, b, out = Vector3.new()) {
59
- return Vector3.el(div, a, b, out);
60
- },
61
- hmod(a, b, out = Vector3.new()) {
62
- return Vector3.el(mod, a, b, out);
63
- },
64
- dot(a, b = a) {
65
- const [xa, ya, za] = Vector3.from(a);
66
- const [xb, yb, zb] = Vector3.from(b);
67
- return xa * xb + ya * yb + za * zb;
68
- },
69
- toString(a) {
70
- const [x, y, z] = Vector3.from(a);
71
- return `vec3<${x}, ${y}, ${z}>`;
72
- }
73
- };
74
- //# sourceMappingURL=vector3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector3.js","sourceRoot":"","sources":["../../src/math/vector3.ts"],"names":[],"mappings":"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"}