@provable-games/dm-engine 0.3.0 → 0.4.0

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.
@@ -4,6 +4,77 @@ import { BEAST_SPECIAL_NAME_LEVEL_UNLOCK } from "../constants/beast.js";
4
4
  import { TIER_PRICE } from "../constants/game.js";
5
5
  import { ITEM_NAME_PREFIXES, ITEM_NAME_SUFFIXES, ITEM_SUFFIXES, ItemId, ItemIndex, ItemSlotLength, NUM_ITEMS, PREFIXES_UNLOCK_GREATNESS, SUFFIX_UNLOCK_GREATNESS, } from "../constants/loot.js";
6
6
  import { calculateLevel } from "./game.js";
7
+ /**
8
+ * A specials override table: eight slots of 17 bits, packed low-to-high in equipment-slot order
9
+ * into a single felt.
10
+ *
11
+ * ```text
12
+ * bits 0-4 special1 suffix 0..=16
13
+ * bits 5-11 special2 prefix1 0..=69
14
+ * bits 12-16 special3 prefix2 0..=18
15
+ * ```
16
+ *
17
+ * Mirrors `ImplLoot::slot_override` in `contracts/src/models/loot.cairo`. A zero table means the
18
+ * run has no override and every read falls through to the `item_specials_salt` seed. A zero
19
+ * ENTRY inside a non-zero table means that slot's items get no specials, ever.
20
+ */
21
+ export const SPECIALS_OVERRIDE_MAX = 1n << 136n;
22
+ const SPECIALS_OVERRIDE_ENTRY_MASK = 0x1ffffn;
23
+ const SPECIALS_OVERRIDE_SLOT_SHIFT = 1n << 17n;
24
+ /** Slot order is the `Equipment` field order the contract packs against. */
25
+ export const SPECIALS_OVERRIDE_SLOTS = [
26
+ "Weapon",
27
+ "Chest",
28
+ "Head",
29
+ "Waist",
30
+ "Foot",
31
+ "Hand",
32
+ "Neck",
33
+ "Ring",
34
+ ];
35
+ /** Reads one slot's entry out of a packed table. Slots with no entry read back all zeroes. */
36
+ export function slotOverride(packed, slot) {
37
+ const index = SPECIALS_OVERRIDE_SLOTS.indexOf(slot);
38
+ if (index < 0)
39
+ return { special1: 0, special2: 0, special3: 0 };
40
+ const entry = (packed / SPECIALS_OVERRIDE_SLOT_SHIFT ** BigInt(index)) & SPECIALS_OVERRIDE_ENTRY_MASK;
41
+ return {
42
+ special1: Number(entry & 0x1fn),
43
+ special2: Number((entry >> 5n) & 0x7fn),
44
+ special3: Number((entry >> 12n) & 0x1fn),
45
+ };
46
+ }
47
+ /**
48
+ * Rejects a table that could never have been produced by the game.
49
+ *
50
+ * The entry fields are wider than their value ranges (5/7/5 bits for 16/69/18 values), so an
51
+ * out-of-range special has to be refused rather than masked away. The contract runs this inside
52
+ * `decode`, on the commit path.
53
+ */
54
+ export function assertValidSpecialsOverride(packed) {
55
+ if (packed < 0n || packed >= SPECIALS_OVERRIDE_MAX) {
56
+ throw new Error("invalid specials override");
57
+ }
58
+ for (let i = 0; i < SPECIALS_OVERRIDE_SLOTS.length; i += 1) {
59
+ const { special1, special2, special3 } = slotOverride(packed, SPECIALS_OVERRIDE_SLOTS[i]);
60
+ if (special1 > 16 || special2 > 69 || special3 > 18) {
61
+ throw new Error("invalid specials override");
62
+ }
63
+ }
64
+ }
65
+ /** Packs per-slot entries into the single felt `encodeStart` carries. */
66
+ export function packSpecialsOverride(entries) {
67
+ let packed = 0n;
68
+ for (let i = 0; i < SPECIALS_OVERRIDE_SLOTS.length; i += 1) {
69
+ const e = entries[SPECIALS_OVERRIDE_SLOTS[i]];
70
+ if (!e)
71
+ continue;
72
+ const entry = BigInt(e.special1 ?? 0) + (BigInt(e.special2 ?? 0) << 5n) + (BigInt(e.special3 ?? 0) << 12n);
73
+ packed += entry * SPECIALS_OVERRIDE_SLOT_SHIFT ** BigInt(i);
74
+ }
75
+ assertValidSpecialsOverride(packed);
76
+ return packed;
77
+ }
7
78
  export const slotIcons = {
8
79
  Weapon: "/images/types/weapon.svg",
9
80
  Head: "/images/types/head.svg",
@@ -224,11 +295,26 @@ export const ItemUtils = {
224
295
  // Return the item specific entropy
225
296
  return rnd * slotLength + itemIndex;
226
297
  },
227
- getSpecials: (id, greatness, seed) => {
228
- const specialSeed = ItemUtils.getSpecialsSeed(id, seed);
229
- const special1 = ItemUtils.getItemSuffix(specialSeed);
230
- const special2 = ItemUtils.getItemPrefix1(specialSeed); // Prefix1
231
- const special3 = ItemUtils.getItemPrefix2(specialSeed); // Prefix2
298
+ /**
299
+ * `specialsOverride` changes WHICH specials an item gets, never WHEN it gets them: the
300
+ * greatness schedule below is the same either way. See `slotOverride`.
301
+ */
302
+ getSpecials: (id, greatness, seed, specialsOverride = 0n) => {
303
+ let special1;
304
+ let special2;
305
+ let special3;
306
+ if (specialsOverride !== 0n) {
307
+ const pinned = slotOverride(specialsOverride, ItemUtils.getItemSlot(id));
308
+ special1 = pinned.special1;
309
+ special2 = pinned.special2;
310
+ special3 = pinned.special3;
311
+ }
312
+ else {
313
+ const specialSeed = ItemUtils.getSpecialsSeed(id, seed);
314
+ special1 = ItemUtils.getItemSuffix(specialSeed);
315
+ special2 = ItemUtils.getItemPrefix1(specialSeed); // Prefix1
316
+ special3 = ItemUtils.getItemPrefix2(specialSeed); // Prefix2
317
+ }
232
318
  if (greatness < SUFFIX_UNLOCK_GREATNESS) {
233
319
  return {
234
320
  special1: null,
@@ -238,16 +324,16 @@ export const ItemUtils = {
238
324
  }
239
325
  else if (greatness < PREFIXES_UNLOCK_GREATNESS) {
240
326
  return {
241
- special1: ITEM_SUFFIXES[special1],
327
+ special1: ITEM_SUFFIXES[special1] ?? null,
242
328
  prefix: null,
243
329
  suffix: null,
244
330
  };
245
331
  }
246
332
  else {
247
333
  return {
248
- special1: ITEM_SUFFIXES[special1],
249
- prefix: ITEM_NAME_PREFIXES[special2],
250
- suffix: ITEM_NAME_SUFFIXES[special3],
334
+ special1: ITEM_SUFFIXES[special1] ?? null,
335
+ prefix: ITEM_NAME_PREFIXES[special2] ?? null,
336
+ suffix: ITEM_NAME_SUFFIXES[special3] ?? null,
251
337
  };
252
338
  }
253
339
  },
@@ -301,11 +387,11 @@ export const ItemUtils = {
301
387
  return "#808080"; // Default gray
302
388
  }
303
389
  },
304
- isNameMatch: (itemId, itemLevel, itemSeed, beast) => {
390
+ isNameMatch: (itemId, itemLevel, itemSeed, beast, specialsOverride = 0n) => {
305
391
  if (itemLevel < PREFIXES_UNLOCK_GREATNESS || beast.level < BEAST_SPECIAL_NAME_LEVEL_UNLOCK) {
306
392
  return false;
307
393
  }
308
- const specials = ItemUtils.getSpecials(itemId, itemLevel, itemSeed);
394
+ const specials = ItemUtils.getSpecials(itemId, itemLevel, itemSeed, specialsOverride);
309
395
  return specials.prefix === beast.specialPrefix || specials.suffix === beast.specialSuffix;
310
396
  },
311
397
  getStatBonus: (special1) => {
@@ -358,9 +444,9 @@ export const ItemUtils = {
358
444
  return "+3 CHA";
359
445
  }
360
446
  },
361
- removeItemBoosts: (item, item_specials_salt, stats) => {
447
+ removeItemBoosts: (item, item_specials_salt, stats, specialsOverride = 0n) => {
362
448
  const level = calculateLevel(item.xp);
363
- const specials = ItemUtils.getSpecials(item.id, level, item_specials_salt);
449
+ const specials = ItemUtils.getSpecials(item.id, level, item_specials_salt, specialsOverride);
364
450
  // Silver ring
365
451
  if (item.id === 4) {
366
452
  stats.luck = Math.max(2, stats.luck - level);
@@ -418,9 +504,9 @@ export const ItemUtils = {
418
504
  }
419
505
  return stats;
420
506
  },
421
- addItemBoosts: (item, item_specials_salt, stats) => {
507
+ addItemBoosts: (item, item_specials_salt, stats, specialsOverride = 0n) => {
422
508
  const level = calculateLevel(item.xp);
423
- const specials = ItemUtils.getSpecials(item.id, level, item_specials_salt);
509
+ const specials = ItemUtils.getSpecials(item.id, level, item_specials_salt, specialsOverride);
424
510
  // Silver ring
425
511
  if (item.id === 4) {
426
512
  stats.luck = Math.min(100, stats.luck + level);
@@ -478,9 +564,9 @@ export const ItemUtils = {
478
564
  }
479
565
  return stats;
480
566
  },
481
- fullItemBoost: (item, item_specials_salt, stats) => {
567
+ fullItemBoost: (item, item_specials_salt, stats, specialsOverride = 0n) => {
482
568
  const level = calculateLevel(item.xp);
483
- const specials = ItemUtils.getSpecials(item.id, level, item_specials_salt);
569
+ const specials = ItemUtils.getSpecials(item.id, level, item_specials_salt, specialsOverride);
484
570
  if (!specials.special1) {
485
571
  return stats;
486
572
  }
@@ -547,7 +633,7 @@ export const ItemUtils = {
547
633
  }
548
634
  return stats;
549
635
  },
550
- getEquippedItemStats: (adventurer, bag) => {
636
+ getEquippedItemStats: (adventurer, bag, specialsOverride = 0n) => {
551
637
  let stats = {
552
638
  dexterity: 0,
553
639
  strength: 0,
@@ -567,13 +653,13 @@ export const ItemUtils = {
567
653
  luck: 0,
568
654
  };
569
655
  for (const item of bag) {
570
- bagStats = ItemUtils.fullItemBoost(item, adventurer.item_specials_salt, bagStats);
656
+ bagStats = ItemUtils.fullItemBoost(item, adventurer.item_specials_salt, bagStats, specialsOverride);
571
657
  }
572
658
  stats.vitality += bagStats.vitality;
573
659
  stats.charisma += bagStats.charisma;
574
660
  Object.values(adventurer.equipment).forEach((item) => {
575
661
  if (item.id !== 0) {
576
- stats = ItemUtils.fullItemBoost(item, adventurer.item_specials_salt, stats);
662
+ stats = ItemUtils.fullItemBoost(item, adventurer.item_specials_salt, stats, specialsOverride);
577
663
  }
578
664
  });
579
665
  return stats;
@@ -1 +1 @@
1
- {"version":3,"file":"loot.js","sourceRoot":"","sources":["../../src/rules/loot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loot.js","sourceRoot":"","sources":["../../src/rules/loot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"processFutures.d.ts","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAQpC,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA0CD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;;;;;;;;;EAgBlE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;EAWhF;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAU9E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,EAAE,EAAE,MAAM,GACT,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAW,GACjB;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAwBA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,EAAE,cAAc,MAAM,KAAG,KACzC,CAAC;AAE1C,eAAO,MAAM,gBAAgB,GAAI,eAAe,MAAM,EAAE,SAAS,MAAM,KAAG,KAIzE,CAAC;AAwIF,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,OAAO,GAChB,SAAS,EAAE,CASb"}
1
+ {"version":3,"file":"processFutures.d.ts","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA0CD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;;;;;;;;;EAgBlE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;EAWhF;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAU9E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,EAAE,EAAE,MAAM,GACT,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAW,GACjB;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAwBA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,EAAE,cAAc,MAAM,KAAG,KACzC,CAAC;AAE1C,eAAO,MAAM,gBAAgB,GAAI,eAAe,MAAM,EAAE,SAAS,MAAM,KAAG,KAIzE,CAAC;AA4IF,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,OAAO,GAChB,SAAS,EAAE,CASb"}
@@ -1,5 +1,6 @@
1
1
  import * as starknet from "@scure/starknet";
2
2
  import { BEAST_NAME_PREFIXES, BEAST_NAME_SUFFIXES, BEAST_NAMES, BEAST_SPECIAL_NAME_LEVEL_UNLOCK, } from "../constants/beast.js";
3
+ import { calculateLevel } from "./game.js";
3
4
  const MAX_ID = BigInt(75);
4
5
  const TWO_POW_64_NZ = BigInt("18446744073709551616");
5
6
  const TWO_POW_32_NZ = BigInt("4294967296");
@@ -142,7 +143,11 @@ export const getBeastFromSeed = (adventurer_xp, entropy) => {
142
143
  return buildBeast(adventurer_xp, u64_1);
143
144
  };
144
145
  const buildBeast = (adventurer_xp, beastEntropy) => {
145
- const level = Math.floor(Math.sqrt(adventurer_xp));
146
+ // `calculateLevel`, not a raw floor-sqrt: Cairo's `get_level_from_xp` returns 1 at xp 0, and
147
+ // `combat.cairo` asserts it. A bare sqrt gives 0 there, and both `getBeastHealth` and
148
+ // `getObstacleLevel` take `entropy % (level * n)` -- so a level of 0 is a division by zero, not
149
+ // a slightly wrong beast.
150
+ const level = calculateLevel(adventurer_xp);
146
151
  const { rnd1, rnd3, rnd4, rnd5, rnd6, rnd7 } = getRandomness(adventurer_xp, beastEntropy);
147
152
  const u64_1 = beastEntropy;
148
153
  const encounter = beastEncounter(BigInt(level), adventurer_xp, rnd1, rnd3, rnd4, rnd5, rnd6, rnd7, rnd5, rnd6);
@@ -284,7 +289,7 @@ function recurseEncounters(encounters, xpList, entropy, adventurerLevel, hasBeas
284
289
  const { u64_1 } = felt_to_two_u64(felt);
285
290
  const nextEncounter = {
286
291
  ...getNextEncounter(xp, u64_1, hasBeast),
287
- adventurerLevel: Math.floor(Math.sqrt(xp)),
292
+ adventurerLevel: calculateLevel(xp),
288
293
  xp: xp,
289
294
  };
290
295
  encounters.push(nextEncounter);
@@ -300,7 +305,7 @@ function recurseEncounters(encounters, xpList, entropy, adventurerLevel, hasBeas
300
305
  }
301
306
  function getNextEncounter(xp, adventurerEntropy, hasBeast) {
302
307
  const { rnd1, rnd3, rnd4, rnd5, rnd6, rnd7, rnd8 } = getRandomness(xp, adventurerEntropy);
303
- const level = BigInt(Math.floor(Math.sqrt(xp)));
308
+ const level = BigInt(calculateLevel(xp));
304
309
  const encounter = Number(rnd8 % BigInt(3));
305
310
  if (hasBeast || encounter === 0) {
306
311
  return beastEncounter(level, xp, rnd1, rnd3, rnd4, rnd5, rnd6, rnd7, rnd5, rnd6);
@@ -1 +1 @@
1
- {"version":3,"file":"processFutures.js","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processFutures.js","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACrD,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAqBnC,SAAS,eAAe,CAAC,MAAc;IACrC,6BAA6B;IAC7B,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,kDAAkD;IAClD,OAAO,MAAM,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAE1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAE1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAE1C,MAAM,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IACxC,MAAM,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IACxC,MAAM,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IACxC,MAAM,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IAExC,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,iBAAyB;IACjE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAClF,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE3B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,WAAmB,EAAE,IAAY;IAC/E,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,GAAG,GAAG,aAAa,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,GAAG,aAAa,CAAC;IACrC,OAAO;QACL,IAAI,EAAE,QAAQ,GAAG,YAAY;QAC7B,IAAI,EAAE,QAAQ,GAAG,YAAY;QAC7B,IAAI,EAAE,QAAQ,GAAG,YAAY;QAC7B,IAAI,EAAE,QAAQ,GAAG,YAAY;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,aAAqB,EAAE,UAAkB;IAC1E,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,6BAA6B;IAC7B,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,qBAAqB;IACrB,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzB,sBAAsB;IACtB,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,aAAa;QAC3B,KAAK,EAAE,IAAI,GAAG,aAAa;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,YAA6B,EAC7B,EAAU;IAEV,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,OAAO,IAAI,GAAG,aAAa,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,QAAgB,EAAE;IAUlB,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,CAAC;KACR,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,UAAU;QACV,WAAW;QACX,UAAU;QACV,cAAc;QACd,QAAQ;QACR,UAAU;KACF,CAAC;IACX,IAAI,OAAO,GAAG,IAAI,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAAqB,EAAE,YAAoB,EAAS,EAAE,CACxF,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAqB,EAAE,OAAe,EAAS,EAAE;IAChF,MAAM,IAAI,GAAG,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,aAAqB,EAAE,YAAoB,EAAS,EAAE;IACxE,6FAA6F;IAC7F,sFAAsF;IACtF,gGAAgG;IAChG,0BAA0B;IAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,YAAY,CAAC;IAE3B,MAAM,SAAS,GAAG,cAAc,CAC9B,MAAM,CAAC,KAAK,CAAC,EACb,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAG,CAAC;QACzB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAG,CAAC,CAAC;QAC5C,IAAI,EACF,SAAS,CAAC,KAAM,IAAI,+BAA+B;YACjD,CAAC,CAAC,IAAI,SAAS,CAAC,WAAY,KAAK,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAG,CAAC,CAAC,EAAE;YACrE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAG,CAAC,CAAC;QACxC,MAAM,EAAE,SAAS,CAAC,MAAO;QACzB,KAAK,EAAE,SAAS,CAAC,KAAM;QACvB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QAC5B,aAAa,EACX,SAAS,CAAC,KAAM,IAAI,+BAA+B;YACjD,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,IAAI;QACV,aAAa,EACX,SAAS,CAAC,KAAM,IAAI,+BAA+B;YACjD,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,IAAI;QACV,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB;AACnB,SAAS,OAAO,CAAC,EAAU;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAClF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACnF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACnF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,EAAU;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;SAAM,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;SAAM,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,IAAY;IACjD,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,OAAe;IACtD,IAAI,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,aAAa,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,aAAa,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,aAAa,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,aAAa,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,QAAgB;IAC1D,MAAM,IAAI,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,mBAAmB;IACnB,IAAI,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,mBAAmB;IACrB,CAAC;SAAM,IAAI,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,mBAAmB;IACrB,CAAC;SAAM,IAAI,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,kBAAkB;IACpB,CAAC;SAAM,IAAI,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtC,kBAAkB;IACpB,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,EAAU,EACV,OAAe,EACf,eAAuB,EACvB,QAAiB;IAEjB,IAAI,UAAU,GAAgB,EAAE,CAAC;IACjC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACb,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAED,UAAU,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAErF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAuB,EACvB,MAAgB,EAChB,OAAe,EACf,eAAuB,EACvB,QAAiB;IAEjB,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAG,CAAC;IAEjD,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAExC,MAAM,aAAa,GAAG;QACpB,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC;QACxC,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;QACnC,EAAE,EAAE,EAAE;KACP,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE/B,IAAI,aAAa,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU,EAAE,iBAAyB,EAAE,QAAiB;IAChF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,IAAI,QAAQ,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAQ,CAAC;IAC1F,CAAC;SAAM,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAAa,EACb,EAAU,EACV,IAAY,EACZ,UAAkB,EAClB,SAAiB,EACjB,gBAAwB,EACxB,YAAoB,EACpB,UAAkB,EAClB,aAAqB,EACrB,aAAqB;IAErB,MAAM,QAAQ,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,WAAW,CAAC;IAErD,MAAM,eAAe,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAExE,OAAO;QACL,SAAS,EAAE,OAAO;QAClB,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC;QAC5B,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,EAAE;QACF,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAa,EACb,IAAY,EACZ,SAAiB,EACjB,gBAAwB,EACxB,YAAoB,EACpB,SAAiB,EACjB,EAAU;IAEV,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,cAAc,CAAC;IAE3D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAExE,OAAO;QACL,SAAS,EAAE,UAAU;QACrB,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,UAAU;QACV,EAAE;KACH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAa,EACb,kBAA0B,EAC1B,WAAmB,EACnB,WAAmB,EACnB,EAAU;IAEV,MAAM,IAAI,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE5E,IAAI,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,cAAc,GAAG,EAAE,CAAC;IAExB,IAAI,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,cAAc,GAAG,MAAM,CAAC;QACxB,gBAAgB,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,cAAc,GAAG,QAAQ,CAAC;QAC1B,gBAAgB,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAElE,OAAO;QACL,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;QACxE,MAAM,EAAE,EAAE,GAAG,CAAC;QACd,EAAE;KACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;IAEzC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;SAAM,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;SAAM,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,eAAuB;IACvE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAExF,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa,EAAE,OAAe;IAC7D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe;IAChD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AAC9D,CAAC;AAED,SAAS,cAAc,CAAC,cAAsB,EAAE,cAAsB;IACpE,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC7E,CAAC"}
@@ -36,6 +36,21 @@ export interface GameSettledEvent {
36
36
  }
37
37
  /** Decode one `GameSettled { #[key] adventurer_id, #[key] settler, ...3 felts }`. */
38
38
  export declare function decodeGameSettled(keys: string[], data: string[]): GameSettledEvent;
39
+ /**
40
+ * `GameInitialized { #[key] adventurer_id, packed_adventurer, packed_bag, specials_override }`.
41
+ *
42
+ * A run's starting state, set before its first committed action. There is no way to derive this
43
+ * from the transcript -- `START` carries only the weapon -- so an indexer that misses this event
44
+ * replays an overridden run from the wrong starting state and diverges from settlement at every
45
+ * action.
46
+ */
47
+ export interface GameInitializedEvent {
48
+ adventurerId: bigint;
49
+ packedAdventurer: bigint;
50
+ packedBag: bigint;
51
+ specialsOverride: bigint;
52
+ }
53
+ export declare function decodeGameInitialized(keys: string[], data: string[]): GameInitializedEvent;
39
54
  /**
40
55
  * Chain order for commit events.
41
56
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvG,oBAAoB,CAgBtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CASlF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAI3F;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qFAAqF;IACrF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mGAAmG;IACnG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAC;IACxB,gGAAgG;IAChG,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,oBAAoB,EAAE,GAC7B,UAAU,CAsBZ"}
1
+ {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvG,oBAAoB,CAgBtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CASlF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAQ1F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAI3F;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qFAAqF;IACrF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mGAAmG;IACnG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAC;IACxB,gGAAgG;IAChG,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,oBAAoB,EAAE,GAC7B,UAAU,CAsBZ"}
@@ -43,6 +43,16 @@ export function decodeGameSettled(keys, data) {
43
43
  packedBag: felt(data[2]),
44
44
  };
45
45
  }
46
+ export function decodeGameInitialized(keys, data) {
47
+ if (keys.length < 2)
48
+ throw new Error("GameInitialized: missing keys");
49
+ return {
50
+ adventurerId: felt(keys[1]),
51
+ packedAdventurer: felt(data[0]),
52
+ packedBag: felt(data[1]),
53
+ specialsOverride: felt(data[2]),
54
+ };
55
+ }
46
56
  /**
47
57
  * Chain order for commit events.
48
58
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEjE;;;;;;;;;;;GAWG;AAEH,MAAM,IAAI,GAAG,CAAC,KAAyB,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAYjF;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAc,EACd,IAAc,EACd,QAAwG;IAExG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,8FAA8F;IAC9F,uFAAuF;IACvF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,qBAAqB,IAAI,CAAC,MAAM,GAAG,CAAC,eAAe,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;QAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,CAAC;AACtE,CAAC;AAmBD,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,IAAc;IAC9D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAClE,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC;AAiBD,MAAM,UAAU,qBAAqB,CAAC,IAAc,EAAE,IAAc;IAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtE,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAuB,EAAE,CAAuB;IACjF,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB;QAAE,OAAO,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;IAC9F,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;AACrC,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,MAA8B;IAE9B,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAErD,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IACjC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3C,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,cAAc,KAAK,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1E,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC/F,CAAC"}
package/dist/types.d.ts CHANGED
@@ -127,6 +127,20 @@ export interface Quest {
127
127
  chapterId: number;
128
128
  targetScore: number;
129
129
  }
130
+ /**
131
+ * A run's starting state, set by `GameCore::initialize_game` before the run's first committed
132
+ * action and published as `GameInitialized`.
133
+ *
134
+ * Per GAME, not per settings entry: it is what lets one dungeon start each player somewhere
135
+ * different. `packedAdventurer === 0n` means the run has no override and the settings entry is
136
+ * its starting state, exactly as before the feature existed.
137
+ */
138
+ export interface StartOverride {
139
+ packedAdventurer: bigint;
140
+ packedBag: bigint;
141
+ /** The packed item-specials table, or 0n. See `slotOverride`. */
142
+ specialsOverride: bigint;
143
+ }
130
144
  export interface GameSettingsData {
131
145
  name: string;
132
146
  in_battle: boolean;
@@ -143,6 +157,14 @@ export interface GameSettingsData {
143
157
  * and the self-calls that feed them.
144
158
  */
145
159
  collectables_enabled: boolean;
160
+ /**
161
+ * Whether this dungeon lets a run bring its own starting state — "bring your own loot bag".
162
+ *
163
+ * The payload is per GAME and arrives through `GameCore::initialize_game`: a starting
164
+ * adventurer, a starting bag, and a table pinning what specials its items get. One flag for all
165
+ * three, because they are one payload set by one call. It lives on `ReplayState.startOverride`.
166
+ */
167
+ start_override: boolean;
146
168
  base_damage_reduction: number;
147
169
  market_size: number;
148
170
  adventurer: Adventurer;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/view.d.ts CHANGED
@@ -1,4 +1,9 @@
1
1
  import type { Adventurer, Item } from "./types.js";
2
- /** Apply the same temporary equipment/bag boosts used by the live load path. */
3
- export declare function toPlayableAdventurer(adventurer: Adventurer, bag: Item[]): Adventurer;
2
+ /**
3
+ * Apply the same temporary equipment/bag boosts used by the live load path.
4
+ *
5
+ * `specialsOverride` is the run's packed item-specials table (`GameCore::get_specials_override`),
6
+ * or 0n when it has none.
7
+ */
8
+ export declare function toPlayableAdventurer(adventurer: Adventurer, bag: Item[], specialsOverride?: bigint): Adventurer;
4
9
  //# sourceMappingURL=view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGnD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,UAAU,CAcpF"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,IAAI,EAAE,EACX,gBAAgB,GAAE,MAAW,GAC5B,UAAU,CAcZ"}
package/dist/view.js CHANGED
@@ -1,7 +1,12 @@
1
1
  import { ItemUtils } from "./rules/loot.js";
2
- /** Apply the same temporary equipment/bag boosts used by the live load path. */
3
- export function toPlayableAdventurer(adventurer, bag) {
4
- const boosts = ItemUtils.getEquippedItemStats(adventurer, bag);
2
+ /**
3
+ * Apply the same temporary equipment/bag boosts used by the live load path.
4
+ *
5
+ * `specialsOverride` is the run's packed item-specials table (`GameCore::get_specials_override`),
6
+ * or 0n when it has none.
7
+ */
8
+ export function toPlayableAdventurer(adventurer, bag, specialsOverride = 0n) {
9
+ const boosts = ItemUtils.getEquippedItemStats(adventurer, bag, specialsOverride);
5
10
  return {
6
11
  ...adventurer,
7
12
  stats: {
package/dist/view.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,UAAsB,EAAE,GAAW;IACtE,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC/D,OAAO;QACL,GAAG,UAAU;QACb,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YACrD,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;YACxD,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YACrD,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;YACjE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YAC/C,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YACrD,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;SAC1C;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,GAAW,EACX,mBAA2B,EAAE;IAE7B,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjF,OAAO;QACL,GAAG,UAAU;QACb,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YACrD,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;YACxD,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YACrD,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;YACjE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YAC/C,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YACrD,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;SAC1C;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provable-games/dm-engine",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "Death Mountain game rules and commit-reveal protocol, ported from the Cairo contracts. Shared by the client, the indexer and the API.",
6
6
  "license": "MIT",