@vaitosoi/minejs 0.2.1 → 0.2.2

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 (80) hide show
  1. package/dist/base/aabb.d.ts +197 -0
  2. package/dist/base/aabb.d.ts.map +1 -0
  3. package/dist/base/aabb.js +576 -0
  4. package/dist/base/aabb.js.map +1 -0
  5. package/dist/base/bitset.d.ts +9 -0
  6. package/dist/base/bitset.d.ts.map +1 -0
  7. package/dist/base/bitset.js +46 -0
  8. package/dist/base/bitset.js.map +1 -0
  9. package/dist/base/block.d.ts +86 -0
  10. package/dist/base/block.d.ts.map +1 -0
  11. package/dist/base/block.js +232 -0
  12. package/dist/base/block.js.map +1 -0
  13. package/dist/base/direction.d.ts +153 -0
  14. package/dist/base/direction.d.ts.map +1 -0
  15. package/dist/base/direction.js +288 -0
  16. package/dist/base/direction.js.map +1 -0
  17. package/dist/base/entity.d.ts +43 -0
  18. package/dist/base/entity.d.ts.map +1 -0
  19. package/dist/base/entity.js +97 -0
  20. package/dist/base/entity.js.map +1 -0
  21. package/dist/base/error.d.ts +76 -0
  22. package/dist/base/error.d.ts.map +1 -0
  23. package/dist/base/error.js +141 -0
  24. package/dist/base/error.js.map +1 -0
  25. package/dist/base/event.d.ts +7 -0
  26. package/dist/base/event.d.ts.map +1 -0
  27. package/dist/base/event.js +3 -0
  28. package/dist/base/event.js.map +1 -0
  29. package/dist/base/math.d.ts +25 -0
  30. package/dist/base/math.d.ts.map +1 -0
  31. package/dist/base/math.js +69 -0
  32. package/dist/base/math.js.map +1 -0
  33. package/dist/base/player.d.ts +107 -0
  34. package/dist/base/player.d.ts.map +1 -0
  35. package/dist/base/player.js +543 -0
  36. package/dist/base/player.js.map +1 -0
  37. package/dist/base/registry.d.ts +50 -0
  38. package/dist/base/registry.d.ts.map +1 -0
  39. package/dist/base/registry.js +89 -0
  40. package/dist/base/registry.js.map +1 -0
  41. package/dist/base/tick.d.ts +19 -0
  42. package/dist/base/tick.d.ts.map +1 -0
  43. package/dist/base/tick.js +49 -0
  44. package/dist/base/tick.js.map +1 -0
  45. package/dist/base/typing.d.ts +3 -0
  46. package/dist/base/typing.d.ts.map +1 -0
  47. package/dist/base/typing.js +3 -0
  48. package/dist/base/typing.js.map +1 -0
  49. package/dist/client/auth.d.ts +39 -0
  50. package/dist/client/auth.d.ts.map +1 -0
  51. package/dist/client/auth.js +307 -0
  52. package/dist/client/auth.js.map +1 -0
  53. package/dist/client/client.d.ts +62 -0
  54. package/dist/client/client.d.ts.map +1 -0
  55. package/dist/client/client.js +98 -0
  56. package/dist/client/client.js.map +1 -0
  57. package/dist/client/static.d.ts +28 -0
  58. package/dist/client/static.d.ts.map +1 -0
  59. package/dist/client/static.js +43 -0
  60. package/dist/client/static.js.map +1 -0
  61. package/dist/client/tcp.d.ts +269 -0
  62. package/dist/client/tcp.d.ts.map +1 -0
  63. package/dist/client/tcp.js +838 -0
  64. package/dist/client/tcp.js.map +1 -0
  65. package/dist/index.d.ts +21 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/translator/decoder.d.ts +293 -0
  69. package/dist/translator/decoder.d.ts.map +1 -0
  70. package/dist/translator/decoder.js +668 -0
  71. package/dist/translator/decoder.js.map +1 -0
  72. package/dist/translator/encoder.d.ts +162 -0
  73. package/dist/translator/encoder.d.ts.map +1 -0
  74. package/dist/translator/encoder.js +430 -0
  75. package/dist/translator/encoder.js.map +1 -0
  76. package/dist/translator/static.d.ts +33 -0
  77. package/dist/translator/static.d.ts.map +1 -0
  78. package/dist/translator/static.js +42 -0
  79. package/dist/translator/static.js.map +1 -0
  80. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/translator/decoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import { Vec3 } from "../base/direction";
2
+ import { FixedSizeTag, Tag } from "./static";
3
+ export declare class BinaryEncoder {
4
+ private buffer;
5
+ getBuffer(): Buffer<ArrayBuffer>;
6
+ wipeBuffer(): void;
7
+ concat(buf: Buffer): void;
8
+ /**
9
+ * Write shortcut
10
+ *
11
+ * Allocate `size`-byte buffer, use writeFunc to write the data, then concatenate to internal buffer;
12
+ */
13
+ write(size: number, val: any, writeFunc: (buf: Buffer) => ((val: any) => void)): this;
14
+ /**
15
+ * Write 1 byte singed integer
16
+ */
17
+ writeByte(val: number): this;
18
+ /**
19
+ * Write 1 byte unsinged integer
20
+ */
21
+ writeUByte(val: number): this;
22
+ /**
23
+ * Write 2 bytes singed integer
24
+ */
25
+ writeShort(val: number): this;
26
+ /**
27
+ * Write 2 bytes unsinged integer
28
+ */
29
+ writeUShort(val: number): this;
30
+ /**
31
+ * Write 4 bytes singed integer
32
+ */
33
+ writeInt(val: number): this;
34
+ /**
35
+ * Write 6 bytes singed integer
36
+ */
37
+ writeLong(val: bigint): this;
38
+ /**
39
+ * Write 4 bytes float
40
+ */
41
+ writeFloat(val: number): this;
42
+ /**
43
+ * Write 8 bytes double
44
+ */
45
+ writeDouble(val: number): this;
46
+ /**
47
+ * Write boolean
48
+ */
49
+ writeBoolean(val: boolean): this;
50
+ /**
51
+ * Write a VarInt
52
+ *
53
+ * A VarInt packet would look like this:
54
+ *
55
+ * `[7 bits of data][1 bit indicate if the VarInt ended here]`
56
+ */
57
+ writeVarInt(value: number): this;
58
+ /**
59
+ * Write a VarLong
60
+ *
61
+ * Similar to VarInt, A VarLong packet would look like this:
62
+ *
63
+ * `[7 bits of data][1 bit indicate if the VarLong ended here]`
64
+ */
65
+ writeVarLong(value: bigint): this;
66
+ /**
67
+ * Write a string
68
+ *
69
+ * A string packet would look like this:
70
+ *
71
+ * `[VarInt as length, if not provided][N bits of data]`
72
+ */
73
+ writeString(str: string): this;
74
+ /**
75
+ * Write a Position
76
+ *
77
+ * A position packet is a 64-bit value, split into three signed integer parts:
78
+ * ```
79
+ * x: 26 MSBs
80
+ * z: 26 middle bits
81
+ * y: 12 LSBs
82
+ * ```
83
+ *
84
+ * @returns a Position
85
+ */
86
+ writePosition(position: Vec3): this;
87
+ /**
88
+ * Write a length-prefixed array with raw buffer
89
+ *
90
+ * An array packet would look like this:
91
+ * `[VarInt as length][N bytes of data]`
92
+ *
93
+ * @param size size of the item, in byte
94
+ * @returns a length-prefixed array
95
+ */
96
+ writePrefixedArray(length: number, writeFunc: (encoder: BinaryEncoder, index: number) => BinaryEncoder | Buffer): this;
97
+ /**
98
+ * Write a length-prefixed array with raw buffer
99
+ *
100
+ * An array packet would look like this:
101
+ * `[VarInt as length][N bytes of data]`
102
+ *
103
+ * @param size size of the item, in byte
104
+ * @returns a length-prefixed array
105
+ */
106
+ writeRawPrefixedArray(data: Buffer, size: number): this;
107
+ private pack;
108
+ /**
109
+ * Write LpVec3
110
+ *
111
+ * Read this article for more information: https://minecraft.wiki/w/Java_Edition_protocol/Data_types#LpVec3
112
+ */
113
+ writeLpVec3(vec3: Vec3): void;
114
+ }
115
+ type CompoundField = any | {
116
+ tag: Tag;
117
+ value: any;
118
+ };
119
+ export interface StaticTypedField {
120
+ __isStatic: true;
121
+ type: Tag;
122
+ value: any;
123
+ }
124
+ export declare class NBTEncoder extends BinaryEncoder {
125
+ private object;
126
+ constructor(object: Record<string, CompoundField>);
127
+ /**
128
+ * Write buffer to buffer
129
+ */
130
+ writeTag(tag: Tag): this;
131
+ /**
132
+ * Write a fixed-size tag to buffer
133
+ */
134
+ writeFixedSize(type: FixedSizeTag, value: any): this;
135
+ /**
136
+ * Auto find the suitable tag and write it to the buffer
137
+ */
138
+ writeNumber(val: number | bigint): this;
139
+ /**
140
+ * Write a string
141
+ */
142
+ writeString(str: string): this;
143
+ /**
144
+ * Write a list
145
+ * Unsafe
146
+ */
147
+ writeList(type: Tag, arr: any[]): this;
148
+ /**
149
+ * Write a byte / int / long array
150
+ */
151
+ writeArray(type: Extract<Tag, Tag.ByteArray | Tag.IntArray | Tag.LongArray>, arr: any[]): this;
152
+ /**
153
+ * Write a compound
154
+ */
155
+ writeObject(obj: Record<string, any>): this;
156
+ /**
157
+ * Start encode
158
+ */
159
+ encode(): Buffer<ArrayBuffer>;
160
+ }
161
+ export {};
162
+ //# sourceMappingURL=encoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/translator/encoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,430 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NBTEncoder = exports.BinaryEncoder = void 0;
4
+ const static_1 = require("./static");
5
+ const error_1 = require("../base/error");
6
+ const static_2 = require("./static");
7
+ class BinaryEncoder {
8
+ buffer = Buffer.alloc(0);
9
+ getBuffer() {
10
+ return Buffer.from(this.buffer);
11
+ }
12
+ wipeBuffer() {
13
+ this.buffer = Buffer.alloc(0);
14
+ }
15
+ concat(buf) {
16
+ this.buffer = Buffer.concat([this.buffer, buf]);
17
+ }
18
+ /**
19
+ * Write shortcut
20
+ *
21
+ * Allocate `size`-byte buffer, use writeFunc to write the data, then concatenate to internal buffer;
22
+ */
23
+ write(size, val, writeFunc) {
24
+ const buf = Buffer.alloc(size);
25
+ writeFunc(buf).bind(buf)(val);
26
+ this.concat(buf);
27
+ return this;
28
+ }
29
+ /**
30
+ * Write 1 byte singed integer
31
+ */
32
+ writeByte(val) { return this.write(1, val, (buf) => buf.writeInt8); }
33
+ /**
34
+ * Write 1 byte unsinged integer
35
+ */
36
+ writeUByte(val) { return this.write(1, val, (buf) => buf.writeUInt8); }
37
+ /**
38
+ * Write 2 bytes singed integer
39
+ */
40
+ writeShort(val) { return this.write(2, val, (buf) => buf.writeInt16BE); }
41
+ /**
42
+ * Write 2 bytes unsinged integer
43
+ */
44
+ writeUShort(val) { return this.write(2, val, (buf) => buf.writeUInt16BE); }
45
+ /**
46
+ * Write 4 bytes singed integer
47
+ */
48
+ writeInt(val) { return this.write(4, val, (buf) => buf.writeInt32BE); }
49
+ /**
50
+ * Write 6 bytes singed integer
51
+ */
52
+ writeLong(val) { return this.write(8, val, (buf) => buf.writeBigInt64BE); }
53
+ /**
54
+ * Write 4 bytes float
55
+ */
56
+ writeFloat(val) { return this.write(4, val, (buf) => buf.writeFloatBE); }
57
+ /**
58
+ * Write 8 bytes double
59
+ */
60
+ writeDouble(val) { return this.write(8, val, (buf) => buf.writeDoubleBE); }
61
+ /**
62
+ * Write boolean
63
+ */
64
+ writeBoolean(val) { return this.writeByte(val == true ? 1 : 0); }
65
+ // Source: https://minecraft.wiki/w/Java_Edition_protocol/Packets#VarInt_and_VarLong
66
+ /**
67
+ * Write a VarInt
68
+ *
69
+ * A VarInt packet would look like this:
70
+ *
71
+ * `[7 bits of data][1 bit indicate if the VarInt ended here]`
72
+ */
73
+ writeVarInt(value) {
74
+ while (true) {
75
+ if ((value & ~static_1.SEGMENT_BITS) == 0) {
76
+ this.writeUByte(value);
77
+ return this;
78
+ }
79
+ this.writeUByte((value & static_1.SEGMENT_BITS) | static_1.CONTINUE_BIT);
80
+ // Note: >>> means that the leftmost bits are filled with zeroes regardless of the sign,
81
+ // rather than being filled with copies of the sign bit to preserve the sign.
82
+ // In languages that don't have a ">>>" operator, This behavior can often be selected by
83
+ // performing the shift on an unsigned type.
84
+ value >>>= 7;
85
+ }
86
+ }
87
+ /**
88
+ * Write a VarLong
89
+ *
90
+ * Similar to VarInt, A VarLong packet would look like this:
91
+ *
92
+ * `[7 bits of data][1 bit indicate if the VarLong ended here]`
93
+ */
94
+ writeVarLong(value) {
95
+ // Force the value to behave as an unsigned 64-bit integer for two's complement arithmetic
96
+ value = BigInt.asUintN(64, value);
97
+ while (true) {
98
+ if ((value & ~BigInt(static_1.SEGMENT_BITS)) == BigInt(0)) {
99
+ this.writeUByte(Number(value));
100
+ return this;
101
+ }
102
+ this.writeUByte(Number(value & BigInt(static_1.SEGMENT_BITS)) | static_1.CONTINUE_BIT);
103
+ // Use '>>=' instead of '>>>=' because 'bigint' does not support unsigned right shifts.
104
+ // Since we applied BigInt.asUintN earlier, the value is guaranteed to be positive,
105
+ // so '>>' will correctly fill the leftmost bits with zeroes.
106
+ // Edited by Copilot since I have no idea what this is :D
107
+ value >>= BigInt(7);
108
+ }
109
+ }
110
+ /**
111
+ * Write a string
112
+ *
113
+ * A string packet would look like this:
114
+ *
115
+ * `[VarInt as length, if not provided][N bits of data]`
116
+ */
117
+ writeString(str) {
118
+ this.writeVarInt(str.length);
119
+ this.concat(Buffer.from(str));
120
+ return this;
121
+ }
122
+ /**
123
+ * Write a Position
124
+ *
125
+ * A position packet is a 64-bit value, split into three signed integer parts:
126
+ * ```
127
+ * x: 26 MSBs
128
+ * z: 26 middle bits
129
+ * y: 12 LSBs
130
+ * ```
131
+ *
132
+ * @returns a Position
133
+ */
134
+ writePosition(position) {
135
+ const val = BigInt(((position.x & 0x3FFFFFF) << 38) |
136
+ ((position.z & 0x3FFFFFF) << 12) |
137
+ (position.y & 0xFFF));
138
+ this.writeLong(val);
139
+ return this;
140
+ }
141
+ /**
142
+ * Write a length-prefixed array with raw buffer
143
+ *
144
+ * An array packet would look like this:
145
+ * `[VarInt as length][N bytes of data]`
146
+ *
147
+ * @param size size of the item, in byte
148
+ * @returns a length-prefixed array
149
+ */
150
+ writePrefixedArray(length, writeFunc) {
151
+ const array = Array.from({ length }, (_, index) => {
152
+ const val = writeFunc(new BinaryEncoder(), index);
153
+ if (val instanceof BinaryEncoder)
154
+ return val.getBuffer();
155
+ else
156
+ return val;
157
+ });
158
+ this.writeVarInt(length);
159
+ this.concat(Buffer.concat(array));
160
+ return this;
161
+ }
162
+ /**
163
+ * Write a length-prefixed array with raw buffer
164
+ *
165
+ * An array packet would look like this:
166
+ * `[VarInt as length][N bytes of data]`
167
+ *
168
+ * @param size size of the item, in byte
169
+ * @returns a length-prefixed array
170
+ */
171
+ writeRawPrefixedArray(data, size) {
172
+ const length = Math.ceil(data.length / size);
173
+ this.writeVarInt(length);
174
+ this.concat(data);
175
+ return this;
176
+ }
177
+ // For writing LpVec3
178
+ pack(value) {
179
+ return Math.round((value * 0.5 + 0.5) * static_1.MAX_QUANTIZED_VALUE);
180
+ }
181
+ /**
182
+ * Write LpVec3
183
+ *
184
+ * Read this article for more information: https://minecraft.wiki/w/Java_Edition_protocol/Data_types#LpVec3
185
+ */
186
+ writeLpVec3(vec3) {
187
+ const maxCoordinate = Math.max(Math.abs(vec3.x), Math.max(Math.abs(vec3.y), Math.abs(vec3.z)));
188
+ // Checking for NaN values in our maxCoordinate
189
+ if (isNaN(maxCoordinate) || maxCoordinate < 1 / static_1.MAX_QUANTIZED_VALUE) {
190
+ this.writeByte(0);
191
+ }
192
+ else {
193
+ const scaleFactor = BigInt(Math.ceil(maxCoordinate));
194
+ const needContinuation = (scaleFactor & static_1.SCALE_BITS) != scaleFactor;
195
+ const packedScale = needContinuation ? scaleFactor & static_1.SCALE_BITS | static_1.CONTINUATION_FLAG : scaleFactor;
196
+ const packedX = BigInt(this.pack(vec3.x)) / scaleFactor << 3n;
197
+ const packedY = BigInt(this.pack(vec3.y)) / scaleFactor << 18n;
198
+ const packedZ = BigInt(this.pack(vec3.z)) / scaleFactor << 33n;
199
+ const packed = packedZ | packedY | packedX | packedScale;
200
+ this.writeByte(Number(packed));
201
+ this.writeByte(Number(packed >> 8n));
202
+ this.writeInt(Number(packed >> 16n));
203
+ if (needContinuation) {
204
+ this.writeVarInt(Number(scaleFactor >> 2n));
205
+ }
206
+ }
207
+ }
208
+ }
209
+ exports.BinaryEncoder = BinaryEncoder;
210
+ // Check if N is floating point
211
+ // Got from https://stackoverflow.com/a/3886106/17106809
212
+ const isFloat = (n) => (typeof (n) == "number" && n % 1 !== 0) ||
213
+ (typeof (n) == "bigint" && n % BigInt(1) !== BigInt(0));
214
+ function getTagOfNumber(n) {
215
+ if (isFloat(n)) {
216
+ if (-Math.pow(2, 4 * 8 - 1) <= n && n <= Math.pow(2, 4 * 8 - 1) - 1)
217
+ return static_2.Tag.Float;
218
+ else if (BigInt(-Math.pow(2, 8 * 8 - 1)) <= n && n <= BigInt(Math.pow(2, 8 * 8 - 1) - 1))
219
+ return static_2.Tag.Double;
220
+ else
221
+ throw new error_1.NumberTooBig(n);
222
+ }
223
+ else {
224
+ if (-Math.pow(2, 1 * 8 - 1) <= n && n <= Math.pow(2, 1 * 8 - 1) - 1)
225
+ return static_2.Tag.Byte;
226
+ else if (-Math.pow(2, 2 * 8 - 1) <= n && n <= Math.pow(2, 2 * 8 - 1) - 1)
227
+ return static_2.Tag.Short;
228
+ else if (-Math.pow(2, 4 * 8 - 1) <= n && n <= Math.pow(2, 4 * 8 - 1) - 1)
229
+ return static_2.Tag.Int;
230
+ else if (BigInt(-Math.pow(2, 8 * 8 - 1)) <= n && n <= BigInt(Math.pow(2, 8 * 8 - 1) - 1))
231
+ return static_2.Tag.Long;
232
+ else
233
+ throw new error_1.NumberTooBig(n);
234
+ }
235
+ }
236
+ class NBTEncoder extends BinaryEncoder {
237
+ object;
238
+ constructor(object) {
239
+ super();
240
+ this.object = object;
241
+ }
242
+ /**
243
+ * Write buffer to buffer
244
+ */
245
+ writeTag(tag) {
246
+ this.writeFixedSize(static_2.Tag.Byte, tag);
247
+ return this;
248
+ }
249
+ /**
250
+ * Write a fixed-size tag to buffer
251
+ */
252
+ writeFixedSize(type, value) {
253
+ switch (type) {
254
+ case static_2.Tag.Byte:
255
+ this.writeByte(value);
256
+ break;
257
+ case static_2.Tag.Short:
258
+ this.writeShort(value);
259
+ break;
260
+ case static_2.Tag.Int:
261
+ this.writeInt(value);
262
+ break;
263
+ case static_2.Tag.Long:
264
+ this.writeLong(BigInt(value));
265
+ break;
266
+ case static_2.Tag.Float:
267
+ this.writeFloat(value);
268
+ break;
269
+ case static_2.Tag.Double:
270
+ this.writeDouble(value);
271
+ break;
272
+ default: throw new error_1.UnexpectedValue("fixed-size tag", type.toString(16));
273
+ }
274
+ return this;
275
+ }
276
+ /**
277
+ * Auto find the suitable tag and write it to the buffer
278
+ */
279
+ writeNumber(val) {
280
+ const tag = getTagOfNumber(val);
281
+ this.writeFixedSize(tag, val);
282
+ return this;
283
+ }
284
+ /**
285
+ * Write a string
286
+ */
287
+ writeString(str) {
288
+ this.writeUShort(str.length);
289
+ if (str.length === 0)
290
+ return this;
291
+ this.concat(Buffer.from(str));
292
+ return this;
293
+ }
294
+ /**
295
+ * Write a list
296
+ * Unsafe
297
+ */
298
+ writeList(type, arr) {
299
+ this.writeFixedSize(static_2.Tag.Byte, type);
300
+ this.writeInt(arr.length);
301
+ if (arr.length === 0)
302
+ return this;
303
+ if (type == static_2.Tag.String)
304
+ for (const item of arr)
305
+ this.writeString(item);
306
+ else
307
+ this.concat(Buffer.from(arr));
308
+ return this;
309
+ }
310
+ /**
311
+ * Write a byte / int / long array
312
+ */
313
+ writeArray(type, arr) {
314
+ this.writeInt(arr.length);
315
+ for (const item of arr)
316
+ switch (type) {
317
+ case static_2.Tag.ByteArray:
318
+ this.writeByte(item);
319
+ break;
320
+ case static_2.Tag.IntArray:
321
+ this.writeInt(item);
322
+ break;
323
+ case static_2.Tag.LongArray:
324
+ this.writeLong(BigInt(item));
325
+ break;
326
+ }
327
+ return this;
328
+ }
329
+ /**
330
+ * Write a compound
331
+ */
332
+ writeObject(obj) {
333
+ for (const [name, val] of Object.entries(obj)) {
334
+ switch (typeof val) {
335
+ case "string": {
336
+ this.writeTag(static_2.Tag.String)
337
+ .writeString(name)
338
+ .writeString(val);
339
+ break;
340
+ }
341
+ case "number":
342
+ case "bigint": {
343
+ const tag = getTagOfNumber(val);
344
+ this.writeTag(tag)
345
+ .writeString(name)
346
+ .writeFixedSize(tag, val);
347
+ break;
348
+ }
349
+ case "object": {
350
+ if (typeof val === "object" &&
351
+ "__isStatic" in val &&
352
+ val["__isStatic"] === true &&
353
+ "type" in val && (0, static_1.isTag)(val["type"]) &&
354
+ "value" in val) {
355
+ const tag = val["type"];
356
+ const value = val["value"];
357
+ // TODO: Handle other type
358
+ this.writeTag(tag);
359
+ if ((0, static_1.isFixedSizeTag)(tag))
360
+ this.writeFixedSize(tag, value);
361
+ else if (tag === static_2.Tag.String)
362
+ this.writeString(value);
363
+ }
364
+ else if (Array.isArray(val)) {
365
+ let suitableTagForArray = static_2.Tag.Byte, listItemTag = static_2.Tag.Float;
366
+ for (const item of val) {
367
+ if (isNaN(Number(item))) {
368
+ suitableTagForArray = static_2.Tag.List;
369
+ // Just support list of string and float for now
370
+ if (typeof item !== "string")
371
+ throw new error_1.InvalidValue("list item", typeof item);
372
+ listItemTag = static_2.Tag.String;
373
+ break;
374
+ }
375
+ const itemTag = getTagOfNumber(item);
376
+ if (itemTag == static_2.Tag.Float || itemTag == static_2.Tag.Double) {
377
+ suitableTagForArray = static_2.Tag.List;
378
+ listItemTag = itemTag;
379
+ break;
380
+ }
381
+ if (suitableTagForArray < itemTag)
382
+ suitableTagForArray = itemTag;
383
+ }
384
+ if (suitableTagForArray === static_2.Tag.List)
385
+ this.writeTag(static_2.Tag.List)
386
+ .writeString(name)
387
+ .writeList(listItemTag, val);
388
+ else {
389
+ let arrTag;
390
+ switch (suitableTagForArray) {
391
+ case static_2.Tag.Byte:
392
+ arrTag = static_2.Tag.ByteArray;
393
+ break;
394
+ case static_2.Tag.Short:
395
+ case static_2.Tag.Int:
396
+ arrTag = static_2.Tag.IntArray;
397
+ break;
398
+ case static_2.Tag.Long:
399
+ arrTag = static_2.Tag.LongArray;
400
+ break;
401
+ }
402
+ this.writeTag(arrTag)
403
+ .writeString(name)
404
+ .writeArray(arrTag, val);
405
+ }
406
+ }
407
+ else {
408
+ this.writeTag(static_2.Tag.Compound)
409
+ .writeString(name)
410
+ .writeObject(val);
411
+ }
412
+ break;
413
+ }
414
+ }
415
+ }
416
+ this.writeTag(static_2.Tag.End);
417
+ return this;
418
+ }
419
+ /**
420
+ * Start encode
421
+ */
422
+ encode() {
423
+ this.writeTag(static_2.Tag.Compound)
424
+ .writeString("") // Root name is empty
425
+ .writeObject(this.object);
426
+ return this.getBuffer();
427
+ }
428
+ }
429
+ exports.NBTEncoder = NBTEncoder;
430
+ //# sourceMappingURL=encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/translator/encoder.ts"],"names":[],"mappings":";;;AACA,qCAAiI;AACjI,yCAA4E;AAC5E,qCAA6C;AAE7C;IACY,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1B,SAAS;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,GAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAGD;;;;OAIG;IACI,KAAK,CAAC,IAAY,EAAE,GAAQ,EAAE,SAAgD;QACjF,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpF;;OAEG;IACI,UAAU,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtF;;OAEG;IACI,UAAU,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxF;;OAEG;IACI,WAAW,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1F;;OAEG;IACI,QAAQ,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtF;;OAEG;IACI,SAAS,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1F;;OAEG;IACI,UAAU,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxF;;OAEG;IACI,WAAW,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAE1F;;OAEG;IACI,YAAY,CAAC,GAAY,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,oFAAoF;IACpF;;;;;;OAMG;IACI,WAAW,CAAC,KAAa;QAC5B,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,CAAC,qBAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,qBAAY,CAAC,GAAG,qBAAY,CAAC,CAAC;YAEvD,wFAAwF;YACxF,6EAA6E;YAC7E,wFAAwF;YACxF,4CAA4C;YAC5C,KAAK,MAAM,CAAC,CAAC;QACjB,CAAC;IACL,CAAC;IACD;;;;;;OAMG;IACI,YAAY,CAAC,KAAa;QAC7B,0FAA0F;QAC1F,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAElC,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,qBAAY,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,qBAAY,CAAC,CAAC,GAAG,qBAAY,CAAC,CAAC;YAErE,uFAAuF;YACvF,mFAAmF;YACnF,6DAA6D;YAC7D,yDAAyD;YACzD,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,GAAW;QAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,aAAa,CAAC,QAAc;QAC/B,MAAM,GAAG,GAAG,MAAM,CACd,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CACvB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACI,kBAAkB,CAAC,MAAc,EAAE,SAA4E;QAClH,MAAM,KAAK,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACxD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,GAAG,YAAY,aAAa;gBAAE,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC;;gBACpD,OAAO,GAAG,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACI,qBAAqB,CAAC,IAAY,EAAE,IAAY;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qBAAqB;IACb,IAAI,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,4BAAmB,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAU;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/F,+CAA+C;QAC/C,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,GAAG,4BAAmB,EAAE,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACrD,MAAM,gBAAgB,GAAG,CAAC,WAAW,GAAG,mBAAU,CAAC,IAAI,WAAW,CAAC;YAEnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,GAAG,mBAAU,GAAG,0BAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;YAClG,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,CAAC;YAC/D,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;YAEzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,gBAAgB,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;IACL,CAAC;CAEJ;;AAOD,+BAA+B;AAC/B,wDAAwD;AACxD,MAAM,OAAO,GAAG,CAAC,CAAkB,EAAE,EAAE,CACnC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,SAAS,cAAc,CAAC,CAAkB;IACtC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,YAAG,CAAC,KAAK,CAAC;aACjF,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,YAAG,CAAC,MAAM,CAAC;;YACvG,MAAM,IAAI,oBAAY,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,YAAG,CAAC,IAAI,CAAC;aAChF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,YAAG,CAAC,KAAK,CAAC;aACtF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,YAAG,CAAC,GAAG,CAAC;aACpF,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,YAAG,CAAC,IAAI,CAAC;;YACrG,MAAM,IAAI,oBAAY,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAQD,gBAAwB,SAAQ,aAAa;IACrB,MAAM;IAA1B,YAAoB,MAAqC;QACrD,KAAK,EAAE,CAAC;sBADQ,MAAM;IAE1B,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,GAAQ;QACpB,IAAI,CAAC,cAAc,CAAC,YAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,cAAc,CACjB,IAAkB,EAClB,KAAU;QAEV,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,YAAG,CAAC,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM;YAC5C,KAAK,YAAG,CAAC,KAAK;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM;YAC9C,KAAK,YAAG,CAAC,GAAG;gBAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM;YAC1C,KAAK,YAAG,CAAC,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAC,MAAM;YACpD,KAAK,YAAG,CAAC,KAAK;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM;YAC9C,KAAK,YAAG,CAAC,MAAM;gBAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM;YAChD,SAAS,MAAM,IAAI,uBAAe,CAAC,gBAAgB,EAAG,IAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,GAAoB;QACnC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,GAAW;QAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,IAAS,EAAE,GAAU;QAClC,IAAI,CAAC,cAAc,CAAC,YAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,IAAI,IAAI,YAAG,CAAC,MAAM;YAClB,KAAK,MAAM,IAAI,IAAI,GAAG;gBAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;YAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,IAAgE,EAAE,GAAU;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,GAAG;YAClB,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,YAAG,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAM;gBAChD,KAAK,YAAG,CAAC,QAAQ;oBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAM;gBAC9C,KAAK,YAAG,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,MAAM;YAC5D,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,GAAwB;QACvC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,QAAQ,OAAO,GAAG,EAAE,CAAC;gBACjB,KAAK,QAAQ,EAAE,CAAC;oBACZ,IAAI,CAAC,QAAQ,CAAC,YAAG,CAAC,MAAM,CAAC;yBACpB,WAAW,CAAC,IAAI,CAAC;yBACjB,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM;gBACV,CAAC;gBACD,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;yBACb,WAAW,CAAC,IAAI,CAAC;yBACjB,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC9B,MAAM;gBACV,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACZ,IACI,OAAO,GAAG,KAAK,QAAQ;wBACvB,YAAY,IAAI,GAAG;wBACnB,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI;wBAC1B,MAAM,IAAI,GAAG,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACnC,OAAO,IAAI,GAAG,EAChB,CAAC;wBACC,MAAM,GAAG,GAAQ,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;wBAE3B,0BAA0B;wBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACnB,IAAI,IAAA,uBAAc,EAAC,GAAG,CAAC;4BACnB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;6BAC/B,IAAI,GAAG,KAAK,YAAG,CAAC,MAAM;4BACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC;yBACI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,IAAI,mBAAmB,GAA6D,YAAG,CAAC,IAAI,EACxF,WAAW,GAAQ,YAAG,CAAC,KAAK,CAAC;wBACjC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;4BACrB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gCACtB,mBAAmB,GAAG,YAAG,CAAC,IAAI,CAAC;gCAE/B,gDAAgD;gCAChD,IAAI,OAAO,IAAI,KAAK,QAAQ;oCACxB,MAAM,IAAI,oBAAY,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,CAAC;gCAErD,WAAW,GAAG,YAAG,CAAC,MAAM,CAAC;gCAEzB,MAAM;4BACV,CAAC;4BACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;4BACrC,IAAI,OAAO,IAAI,YAAG,CAAC,KAAK,IAAI,OAAO,IAAI,YAAG,CAAC,MAAM,EAAE,CAAC;gCAChD,mBAAmB,GAAG,YAAG,CAAC,IAAI,CAAC;gCAC/B,WAAW,GAAG,OAAO,CAAC;gCACtB,MAAM;4BACV,CAAC;4BACD,IAAI,mBAAmB,GAAG,OAAO;gCAC7B,mBAAmB,GAAG,OAAO,CAAC;wBACtC,CAAC;wBAED,IAAI,mBAAmB,KAAK,YAAG,CAAC,IAAI;4BAChC,IAAI,CAAC,QAAQ,CAAC,YAAG,CAAC,IAAI,CAAC;iCAClB,WAAW,CAAC,IAAI,CAAC;iCACjB,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;6BAChC,CAAC;4BACF,IAAI,MAAW,CAAC;4BAChB,QAAQ,mBAAmB,EAAE,CAAC;gCAC1B,KAAK,YAAG,CAAC,IAAI;oCAAE,MAAM,GAAG,YAAG,CAAC,SAAS,CAAC;oCAAC,MAAM;gCAC7C,KAAK,YAAG,CAAC,KAAK,CAAC;gCACf,KAAK,YAAG,CAAC,GAAG;oCAAE,MAAM,GAAG,YAAG,CAAC,QAAQ,CAAC;oCAAC,MAAM;gCAC3C,KAAK,YAAG,CAAC,IAAI;oCAAE,MAAM,GAAG,YAAG,CAAC,SAAS,CAAC;oCAAC,MAAM;4BACjD,CAAC;4BACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;iCAChB,WAAW,CAAC,IAAI,CAAC;iCACjB,UAAU,CAAC,MAAa,EAAE,GAAG,CAAC,CAAC;wBACxC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,QAAQ,CAAC,YAAG,CAAC,QAAQ,CAAC;6BACtB,WAAW,CAAC,IAAI,CAAC;6BACjB,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC;oBACD,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,YAAG,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM;QACT,IAAI,CAAC,QAAQ,CAAC,YAAG,CAAC,QAAQ,CAAC;aACtB,WAAW,CAAC,EAAE,CAAC,CAAC,qBAAqB;aACrC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;CACJ"}