@sbugallo/opencode-vpet 0.0.0 → 0.1.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.
Files changed (137) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +833 -3
  3. package/dist/adapters/opencode/create-server-hooks.d.ts +39 -0
  4. package/dist/adapters/opencode/create-server-hooks.d.ts.map +1 -0
  5. package/dist/adapters/opencode/session-messages.d.ts +15 -0
  6. package/dist/adapters/opencode/session-messages.d.ts.map +1 -0
  7. package/dist/adapters/opencode/usage-event-mapper.d.ts +5 -0
  8. package/dist/adapters/opencode/usage-event-mapper.d.ts.map +1 -0
  9. package/dist/adapters/opencode/vpet-toast.d.ts +29 -0
  10. package/dist/adapters/opencode/vpet-toast.d.ts.map +1 -0
  11. package/dist/adapters/sqlite/app-data-path.d.ts +6 -0
  12. package/dist/adapters/sqlite/app-data-path.d.ts.map +1 -0
  13. package/dist/adapters/sqlite/bun-sqlite-driver.d.ts +12 -0
  14. package/dist/adapters/sqlite/bun-sqlite-driver.d.ts.map +1 -0
  15. package/dist/adapters/sqlite/sqlite-migrations.d.ts +9 -0
  16. package/dist/adapters/sqlite/sqlite-migrations.d.ts.map +1 -0
  17. package/dist/adapters/sqlite/sqlite-sidebar-snapshot-reader.d.ts +7 -0
  18. package/dist/adapters/sqlite/sqlite-sidebar-snapshot-reader.d.ts.map +1 -0
  19. package/dist/adapters/sqlite/sqlite-vpet-archive-reader.d.ts +12 -0
  20. package/dist/adapters/sqlite/sqlite-vpet-archive-reader.d.ts.map +1 -0
  21. package/dist/adapters/sqlite/sqlite-vpet-schema.d.ts +47 -0
  22. package/dist/adapters/sqlite/sqlite-vpet-schema.d.ts.map +1 -0
  23. package/dist/adapters/sqlite/sqlite-vpet-types.d.ts +43 -0
  24. package/dist/adapters/sqlite/sqlite-vpet-types.d.ts.map +1 -0
  25. package/dist/adapters/sqlite/sqlite-vpet-write-store.d.ts +9 -0
  26. package/dist/adapters/sqlite/sqlite-vpet-write-store.d.ts.map +1 -0
  27. package/dist/application/models/sidebar-card-inputs.d.ts +13 -0
  28. package/dist/application/models/sidebar-card-inputs.d.ts.map +1 -0
  29. package/dist/application/models/spawn-partner.d.ts +10 -0
  30. package/dist/application/models/spawn-partner.d.ts.map +1 -0
  31. package/dist/application/models/usage.d.ts +30 -0
  32. package/dist/application/models/usage.d.ts.map +1 -0
  33. package/dist/application/models/vpet-archive.d.ts +22 -0
  34. package/dist/application/models/vpet-archive.d.ts.map +1 -0
  35. package/dist/application/models/vpet-control.d.ts +18 -0
  36. package/dist/application/models/vpet-control.d.ts.map +1 -0
  37. package/dist/application/ports/partner-lifecycle.d.ts +6 -0
  38. package/dist/application/ports/partner-lifecycle.d.ts.map +1 -0
  39. package/dist/application/ports/sidebar-snapshot.d.ts +12 -0
  40. package/dist/application/ports/sidebar-snapshot.d.ts.map +1 -0
  41. package/dist/application/ports/usage-ledger.d.ts +6 -0
  42. package/dist/application/ports/usage-ledger.d.ts.map +1 -0
  43. package/dist/application/ports/vpet-archive.d.ts +5 -0
  44. package/dist/application/ports/vpet-archive.d.ts.map +1 -0
  45. package/dist/application/ports/vpet-control.d.ts +7 -0
  46. package/dist/application/ports/vpet-control.d.ts.map +1 -0
  47. package/dist/application/use-cases/freeze-vpet.d.ts +4 -0
  48. package/dist/application/use-cases/freeze-vpet.d.ts.map +1 -0
  49. package/dist/application/use-cases/get-sidebar-card-inputs.d.ts +5 -0
  50. package/dist/application/use-cases/get-sidebar-card-inputs.d.ts.map +1 -0
  51. package/dist/application/use-cases/reconcile-usage.d.ts +14 -0
  52. package/dist/application/use-cases/reconcile-usage.d.ts.map +1 -0
  53. package/dist/application/use-cases/record-usage.d.ts +14 -0
  54. package/dist/application/use-cases/record-usage.d.ts.map +1 -0
  55. package/dist/application/use-cases/set-vpet-cheat-node.d.ts +4 -0
  56. package/dist/application/use-cases/set-vpet-cheat-node.d.ts.map +1 -0
  57. package/dist/application/use-cases/spawn-partner.d.ts +4 -0
  58. package/dist/application/use-cases/spawn-partner.d.ts.map +1 -0
  59. package/dist/application/use-cases/unfreeze-vpet.d.ts +4 -0
  60. package/dist/application/use-cases/unfreeze-vpet.d.ts.map +1 -0
  61. package/dist/cli/config.d.ts +17 -0
  62. package/dist/cli/config.d.ts.map +1 -0
  63. package/dist/cli.d.ts +3 -0
  64. package/dist/cli.d.ts.map +1 -0
  65. package/dist/cli.js +147 -0
  66. package/dist/cli.js.map +11 -0
  67. package/dist/commands/vpet-command-result.d.ts +18 -0
  68. package/dist/commands/vpet-command-result.d.ts.map +1 -0
  69. package/dist/commands/vpet-freeze.d.ts +8 -0
  70. package/dist/commands/vpet-freeze.d.ts.map +1 -0
  71. package/dist/commands/vpet-set.d.ts +11 -0
  72. package/dist/commands/vpet-set.d.ts.map +1 -0
  73. package/dist/commands/vpet-spawn.d.ts +9 -0
  74. package/dist/commands/vpet-spawn.d.ts.map +1 -0
  75. package/dist/commands/vpet-unfreeze.d.ts +8 -0
  76. package/dist/commands/vpet-unfreeze.d.ts.map +1 -0
  77. package/dist/config/defaults.d.ts +69 -0
  78. package/dist/config/defaults.d.ts.map +1 -0
  79. package/dist/config/global-vpet-settings.d.ts +17 -0
  80. package/dist/config/global-vpet-settings.d.ts.map +1 -0
  81. package/dist/config/normalize.d.ts +3 -0
  82. package/dist/config/normalize.d.ts.map +1 -0
  83. package/dist/config/types.d.ts +14 -0
  84. package/dist/config/types.d.ts.map +1 -0
  85. package/dist/data/catalog.d.ts +15 -0
  86. package/dist/data/catalog.d.ts.map +1 -0
  87. package/dist/data/digimon-data.d.ts +13 -0
  88. package/dist/data/digimon-data.d.ts.map +1 -0
  89. package/dist/data/monster-frame-catalog.d.ts +17 -0
  90. package/dist/data/monster-frame-catalog.d.ts.map +1 -0
  91. package/dist/data/monster-frame-data.d.ts +3 -0
  92. package/dist/data/monster-frame-data.d.ts.map +1 -0
  93. package/dist/data/stages.d.ts +17 -0
  94. package/dist/data/stages.d.ts.map +1 -0
  95. package/dist/domain/digimon-node.d.ts +15 -0
  96. package/dist/domain/digimon-node.d.ts.map +1 -0
  97. package/dist/domain/evolution.d.ts +21 -0
  98. package/dist/domain/evolution.d.ts.map +1 -0
  99. package/dist/domain/partner.d.ts +15 -0
  100. package/dist/domain/partner.d.ts.map +1 -0
  101. package/dist/domain/stage.d.ts +4 -0
  102. package/dist/domain/stage.d.ts.map +1 -0
  103. package/dist/index.d.ts +11 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +7265 -0
  106. package/dist/index.js.map +36 -0
  107. package/dist/tui/dex-view-model.d.ts +20 -0
  108. package/dist/tui/dex-view-model.d.ts.map +1 -0
  109. package/dist/tui/history-view-model.d.ts +21 -0
  110. package/dist/tui/history-view-model.d.ts.map +1 -0
  111. package/dist/tui/monster-action-policy.d.ts +7 -0
  112. package/dist/tui/monster-action-policy.d.ts.map +1 -0
  113. package/dist/tui/monster-animation.d.ts +72 -0
  114. package/dist/tui/monster-animation.d.ts.map +1 -0
  115. package/dist/tui/monster-artwork-mirror.d.ts +23 -0
  116. package/dist/tui/monster-artwork-mirror.d.ts.map +1 -0
  117. package/dist/tui/monster-walking-policy.d.ts +43 -0
  118. package/dist/tui/monster-walking-policy.d.ts.map +1 -0
  119. package/dist/tui/open-in-browser.d.ts +3 -0
  120. package/dist/tui/open-in-browser.d.ts.map +1 -0
  121. package/dist/tui/sidebar-card.d.ts +10 -0
  122. package/dist/tui/sidebar-card.d.ts.map +1 -0
  123. package/dist/tui/sidebar-poll-loop.d.ts +14 -0
  124. package/dist/tui/sidebar-poll-loop.d.ts.map +1 -0
  125. package/dist/tui/sidebar-view-model.d.ts +20 -0
  126. package/dist/tui/sidebar-view-model.d.ts.map +1 -0
  127. package/dist/tui/vpet-command-layer.d.ts +21 -0
  128. package/dist/tui/vpet-command-layer.d.ts.map +1 -0
  129. package/dist/tui/vpet-dex-dialog.d.ts +12 -0
  130. package/dist/tui/vpet-dex-dialog.d.ts.map +1 -0
  131. package/dist/tui/vpet-history-dialog.d.ts +12 -0
  132. package/dist/tui/vpet-history-dialog.d.ts.map +1 -0
  133. package/dist/tui.d.ts +50 -0
  134. package/dist/tui.d.ts.map +1 -0
  135. package/dist/tui.js +59241 -0
  136. package/dist/tui.js.map +38 -0
  137. package/package.json +84 -5
@@ -0,0 +1,36 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/application/use-cases/freeze-vpet.ts", "../src/commands/vpet-freeze.ts", "../src/application/use-cases/spawn-partner.ts", "../src/commands/vpet-spawn.ts", "../src/application/use-cases/set-vpet-cheat-node.ts", "../src/commands/vpet-set.ts", "../src/application/use-cases/unfreeze-vpet.ts", "../src/commands/vpet-unfreeze.ts", "../src/data/digimon-data.ts", "../src/domain/stage.ts", "../src/data/catalog.ts", "../src/domain/evolution.ts", "../src/application/use-cases/record-usage.ts", "../src/application/use-cases/reconcile-usage.ts", "../src/adapters/opencode/usage-event-mapper.ts", "../src/adapters/opencode/vpet-toast.ts", "../src/adapters/opencode/create-server-hooks.ts", "../src/adapters/opencode/session-messages.ts", "../src/adapters/sqlite/app-data-path.ts", "../src/adapters/sqlite/bun-sqlite-driver.ts", "../src/adapters/sqlite/sqlite-migrations.ts", "../src/adapters/sqlite/sqlite-vpet-schema.ts", "../src/adapters/sqlite/sqlite-vpet-write-store.ts", "../src/config/global-vpet-settings.ts", "../src/config/defaults.ts", "../src/config/normalize.ts", "../src/index.ts"],
4
+ "sourcesContent": [
5
+ "import type { FreezeVpetOutcome } from \"../models/vpet-control.ts\"\nimport type { VpetControl } from \"../ports/vpet-control.ts\"\n\nexport const freezeVpet = (control: Pick<VpetControl, \"freeze\">): FreezeVpetOutcome => control.freeze()\n",
6
+ "import type { VpetControl } from \"../application/ports/vpet-control.ts\"\nimport { freezeVpet } from \"../application/use-cases/freeze-vpet.ts\"\nimport type { VpetCommandResult } from \"./vpet-command-result.ts\"\n\nexport type VpetFreezeContext = {\n readonly sessionID: string\n readonly messageID: string\n}\n\nexport const runVpetFreezeCommand = async (\n control: Pick<VpetControl, \"freeze\">,\n context: VpetFreezeContext,\n): Promise<VpetCommandResult> => {\n const outcome = freezeVpet(control)\n const parts = [\n {\n id: context.messageID,\n sessionID: context.sessionID,\n messageID: context.messageID,\n type: \"text\" as const,\n text: \"VPet frozen.\",\n },\n ]\n\n switch (outcome.kind) {\n case \"frozen\":\n return { parts, event: { kind: \"frozen\" } }\n case \"already_frozen\":\n return { parts }\n default: {\n const unexpectedOutcome: never = outcome\n return unexpectedOutcome\n }\n }\n}\n",
7
+ "import type { PartnerLifecycle } from \"../ports/partner-lifecycle.ts\"\nimport type { SpawnPartnerResult } from \"../models/spawn-partner.ts\"\n\nexport const spawnPartner = (lifecycle: PartnerLifecycle, createdAt: string): SpawnPartnerResult => {\n const partner = lifecycle.spawnPartner({\n currentNodeId: \"0-001\",\n gauge: 0,\n isTerminal: false,\n createdAt,\n })\n\n return { generation: partner.generation }\n}\n",
8
+ "import type { PartnerLifecycle } from \"../application/ports/partner-lifecycle.ts\"\nimport { spawnPartner } from \"../application/use-cases/spawn-partner.ts\"\nimport type { VpetCommandResult } from \"./vpet-command-result.ts\"\n\nexport type VpetSpawnContext = {\n readonly sessionID: string\n readonly messageID: string\n readonly createdAt: string\n}\n\nexport const runVpetSpawnCommand = async (\n lifecycle: PartnerLifecycle,\n context: VpetSpawnContext,\n): Promise<VpetCommandResult> => {\n const partner = spawnPartner(lifecycle, context.createdAt)\n\n return {\n parts: [\n {\n id: context.messageID,\n sessionID: context.sessionID,\n messageID: context.messageID,\n type: \"text\",\n text: `Spawned Generation ${partner.generation}.`,\n },\n ],\n event: { kind: \"spawned\", nodeId: \"0-001\", generation: partner.generation },\n }\n}\n",
9
+ "import type { SetCheatNodeOutcome } from \"../models/vpet-control.ts\"\nimport type { VpetControl } from \"../ports/vpet-control.ts\"\n\nexport const setVpetCheatNode = (\n control: Pick<VpetControl, \"setCheatNode\">,\n validatedNodeId: string,\n): SetCheatNodeOutcome => control.setCheatNode(validatedNodeId)\n",
10
+ "import type { Part } from \"@opencode-ai/sdk\"\n\nimport type { VpetControl } from \"../application/ports/vpet-control.ts\"\nimport { setVpetCheatNode } from \"../application/use-cases/set-vpet-cheat-node.ts\"\nimport type { DigimonCatalog } from \"../data/catalog.ts\"\nimport type { VpetCommandResult } from \"./vpet-command-result.ts\"\n\nexport type VpetSetContext = {\n readonly sessionID: string\n readonly messageID: string\n readonly arguments: string\n}\n\nexport type DigimonCatalogLoader = () => Promise<DigimonCatalog>\n\nconst textPart = (context: VpetSetContext, text: string): Part => ({\n id: context.messageID,\n sessionID: context.sessionID,\n messageID: context.messageID,\n type: \"text\",\n text,\n})\n\nexport const runVpetSetCommand = async (\n control: Pick<VpetControl, \"setCheatNode\">,\n context: VpetSetContext,\n loadCatalog: DigimonCatalogLoader,\n): Promise<VpetCommandResult> => {\n if (context.arguments.includes(\"\\n\")) return { parts: [textPart(context, \"Usage: /vpet-set <id>.\")] }\n const tokens = context.arguments.trim().split(/\\s+/)\n if (context.arguments.trim() === \"\" || tokens.length !== 1)\n return { parts: [textPart(context, \"Usage: /vpet-set <id>.\")] }\n\n const requestedId = tokens[0]\n if (requestedId === undefined) return { parts: [textPart(context, \"Usage: /vpet-set <id>.\")] }\n const node = (await loadCatalog()).byId.get(requestedId)\n if (node === undefined) return { parts: [textPart(context, `Unknown Digimon ID: ${requestedId}.`)] }\n\n const outcome = setVpetCheatNode(control, node.id)\n const parts = [textPart(context, `VPet set to ${node.nameEn} (${node.id}).`)]\n\n switch (outcome.kind) {\n case \"set\":\n return { parts, event: { kind: \"set\", nodeId: node.id } }\n case \"already_set\":\n return { parts }\n default: {\n const unexpectedOutcome: never = outcome\n return unexpectedOutcome\n }\n }\n}\n",
11
+ "import type { UnfreezeVpetOutcome } from \"../models/vpet-control.ts\"\nimport type { VpetControl } from \"../ports/vpet-control.ts\"\n\nexport const unfreezeVpet = (control: Pick<VpetControl, \"unfreeze\">): UnfreezeVpetOutcome => control.unfreeze()\n",
12
+ "import type { VpetControl } from \"../application/ports/vpet-control.ts\"\nimport { unfreezeVpet } from \"../application/use-cases/unfreeze-vpet.ts\"\nimport type { VpetCommandResult } from \"./vpet-command-result.ts\"\n\nexport type VpetUnfreezeContext = {\n readonly sessionID: string\n readonly messageID: string\n}\n\nexport const runVpetUnfreezeCommand = async (\n control: Pick<VpetControl, \"unfreeze\">,\n context: VpetUnfreezeContext,\n): Promise<VpetCommandResult> => {\n const outcome = unfreezeVpet(control)\n const parts = [\n {\n id: context.messageID,\n sessionID: context.sessionID,\n messageID: context.messageID,\n type: \"text\" as const,\n text: \"VPet unfrozen.\",\n },\n ]\n\n switch (outcome.kind) {\n case \"unfrozen\":\n return { parts, event: { kind: \"unfrozen\" } }\n case \"already_unfrozen\":\n return { parts }\n default: {\n const unexpectedOutcome: never = outcome\n return unexpectedOutcome\n }\n }\n}\n",
13
+ "export type DigimonStage = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\n\nexport type DigimonId = `${DigimonStage}-${number}`\n\nexport type DigimonRecord = {\n readonly name_en: string\n readonly name_jp: string\n readonly next_evolutions: readonly DigimonId[]\n readonly stage: DigimonStage\n readonly sprite: string\n readonly id: DigimonId\n readonly url: string\n}\n\nexport const DIGIMON_DATA: readonly DigimonRecord[] = [\n {\n name_en: \"Digiegg\",\n name_jp: \"Digitama\",\n next_evolutions: [\n \"1-001\",\n \"1-002\",\n \"1-003\",\n \"1-004\",\n \"1-005\",\n \"1-006\",\n \"1-007\",\n \"1-008\",\n \"1-009\",\n \"1-010\",\n \"1-011\",\n \"1-012\",\n \"1-013\",\n \"1-014\",\n \"1-015\",\n \"1-016\",\n \"1-017\",\n \"1-018\",\n \"1-019\",\n \"1-020\",\n \"1-021\",\n \"1-022\",\n \"1-023\",\n \"1-024\",\n \"1-025\",\n \"1-026\",\n \"1-027\",\n \"1-028\",\n \"1-029\",\n \"1-030\",\n \"1-031\",\n ],\n stage: 0,\n sprite: \"egg\",\n id: \"0-001\",\n url: \"https://digimon.net/reference_en/\",\n },\n {\n name_en: \"Argomon\",\n name_jp: \"Algomon\",\n next_evolutions: [\"2-001\"],\n stage: 1,\n sprite: \"argomon_baby_i\",\n id: \"1-001\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=algomon_lv1\",\n },\n {\n name_en: \"Botamon\",\n name_jp: \"Botamon\",\n next_evolutions: [\"2-013\", \"2-026\", \"2-003\"],\n stage: 1,\n sprite: \"botamon\",\n id: \"1-002\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=botamon\",\n },\n {\n name_en: \"Chibomon\",\n name_jp: \"Chicomon\",\n next_evolutions: [\"2-006\"],\n stage: 1,\n sprite: \"chibomon\",\n id: \"1-003\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chicomon\",\n },\n {\n name_en: \"Choromon\",\n name_jp: \"Choromon\",\n next_evolutions: [\"2-011\"],\n stage: 1,\n sprite: \"choromon\",\n id: \"1-004\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=choromon\",\n },\n {\n name_en: \"Conomon\",\n name_jp: \"Cocomon\",\n next_evolutions: [\"2-012\"],\n stage: 1,\n sprite: \"conomon\",\n id: \"1-005\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cocomon\",\n },\n {\n name_en: \"Cotsucomon\",\n name_jp: \"Cotsucomon\",\n next_evolutions: [\"2-010\"],\n stage: 1,\n sprite: \"cotsucomon\",\n id: \"1-006\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cotsucomon\",\n },\n {\n name_en: \"Dodomon\",\n name_jp: \"Dodomon\",\n next_evolutions: [\"2-007\"],\n stage: 1,\n sprite: \"dodomon\",\n id: \"1-007\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dodomon\",\n },\n {\n name_en: \"Fufumon\",\n name_jp: \"Fufumon\",\n next_evolutions: [\"2-014\"],\n stage: 1,\n sprite: \"fufumon\",\n id: \"1-008\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=fufumon\",\n },\n {\n name_en: \"Keemon\",\n name_jp: \"Kiimon\",\n next_evolutions: [\"2-027\"],\n stage: 1,\n sprite: \"keemon\",\n id: \"1-009\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=keemon\",\n },\n {\n name_en: \"Ketomon\",\n name_jp: \"Ketomon\",\n next_evolutions: [\"2-009\"],\n stage: 1,\n sprite: \"ketomon\",\n id: \"1-010\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ketomon\",\n },\n {\n name_en: \"Kuramon\",\n name_jp: \"Kuramon\",\n next_evolutions: [\"2-023\"],\n stage: 1,\n sprite: \"kuramon\",\n id: \"1-011\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kuramon\",\n },\n {\n name_en: \"Mokumon\",\n name_jp: \"Mokumon\",\n next_evolutions: [\"2-005\", \"2-011\", \"2-037\"],\n stage: 1,\n sprite: \"mokumon\",\n id: \"1-012\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mokumon\",\n },\n {\n name_en: \"Nyokimon\",\n name_jp: \"Nyokimon\",\n next_evolutions: [\"2-028\", \"2-003\"],\n stage: 1,\n sprite: \"nyokimon\",\n id: \"1-013\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=nyokimon\",\n },\n {\n name_en: \"Pabumon\",\n name_jp: \"Bubbmon\",\n next_evolutions: [\"2-015\", \"2-033\"],\n stage: 1,\n sprite: \"pabumon\",\n id: \"1-014\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bubbmon\",\n },\n {\n name_en: \"Petitmon\",\n name_jp: \"Petitmon\",\n next_evolutions: [\"2-002\"],\n stage: 1,\n sprite: \"petitmon\",\n id: \"1-015\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=petitmon\",\n },\n {\n name_en: \"Pichimon\",\n name_jp: \"Pitchmon\",\n next_evolutions: [\"2-004\"],\n stage: 1,\n sprite: \"pichimon\",\n id: \"1-016\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pitchmon\",\n },\n {\n name_en: \"Poyomon\",\n name_jp: \"Poyomon\",\n next_evolutions: [\"2-021\"],\n stage: 1,\n sprite: \"poyomon\",\n id: \"1-017\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=poyomon\",\n },\n {\n name_en: \"Punimon\",\n name_jp: \"Punimon\",\n next_evolutions: [\"2-024\"],\n stage: 1,\n sprite: \"punimon\",\n id: \"1-018\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=punimon\",\n },\n {\n name_en: \"Pururumon\",\n name_jp: \"Pururumon\",\n next_evolutions: [\"2-018\"],\n stage: 1,\n sprite: \"pururumon\",\n id: \"1-019\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pururumon\",\n },\n {\n name_en: \"Puttimon\",\n name_jp: \"Puttimon\",\n next_evolutions: [\"2-022\"],\n stage: 1,\n sprite: \"puttimon\",\n id: \"1-020\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=puttimon\",\n },\n {\n name_en: \"Sakumon\",\n name_jp: \"Sakumon\",\n next_evolutions: [\"2-019\"],\n stage: 1,\n sprite: \"sakumon\",\n id: \"1-021\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sakumon\",\n },\n {\n name_en: \"Tsubumon\",\n name_jp: \"Tsubumon\",\n next_evolutions: [\"2-025\"],\n stage: 1,\n sprite: \"tsubumon\",\n id: \"1-022\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tsubumon\",\n },\n {\n name_en: \"YukimiBotamon\",\n name_jp: \"Yukimibotamon\",\n next_evolutions: [\"2-016\", \"2-032\", \"2-034\"],\n stage: 1,\n sprite: \"yukimibotamon\",\n id: \"1-023\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=yukimibotamon\",\n },\n {\n name_en: \"Yuramon\",\n name_jp: \"Yuramon\",\n next_evolutions: [\"2-020\", \"2-003\"],\n stage: 1,\n sprite: \"yuramon\",\n id: \"1-024\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=yuramon\",\n },\n {\n name_en: \"Zerimon\",\n name_jp: \"Zerimon\",\n next_evolutions: [\"2-008\"],\n stage: 1,\n sprite: \"zerimon\",\n id: \"1-025\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=zerimon\",\n },\n {\n name_en: \"Zurumon\",\n name_jp: \"Zurumon\",\n next_evolutions: [\"2-017\", \"2-011\"],\n stage: 1,\n sprite: \"zurumon\",\n id: \"1-026\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=zurumon\",\n },\n {\n name_en: \"Chibickmon\",\n name_jp: \"Chibickmon\",\n next_evolutions: [\"2-035\"],\n stage: 1,\n sprite: \"chibickmon\",\n id: \"1-027\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chibickmon\",\n },\n {\n name_en: \"Dokimon\",\n name_jp: \"Dokimon\",\n next_evolutions: [\"2-029\"],\n stage: 1,\n sprite: \"dokimon\",\n id: \"1-028\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dokimon\",\n },\n {\n name_en: \"Jyarimon\",\n name_jp: \"Jyarimon\",\n next_evolutions: [\"2-030\"],\n stage: 1,\n sprite: \"jyarimon\",\n id: \"1-029\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jyarimon\",\n },\n {\n name_en: \"Relemon\",\n name_jp: \"Relemon\",\n next_evolutions: [\"2-036\"],\n stage: 1,\n sprite: \"relemon\",\n id: \"1-030\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=relemon\",\n },\n {\n name_en: \"Sandmon\",\n name_jp: \"Sunamon\",\n next_evolutions: [\"2-031\"],\n stage: 1,\n sprite: \"sandmon\",\n id: \"1-031\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sunamon\",\n },\n {\n name_en: \"Argomon\",\n name_jp: \"Algomon\",\n next_evolutions: [\"3-005\", \"3-027\", \"3-045\", \"3-080\"],\n stage: 2,\n sprite: \"argomon_baby_ii\",\n id: \"2-001\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=algomon_lv2\",\n },\n {\n name_en: \"Bebydomon\",\n name_jp: \"Babydmon\",\n next_evolutions: [\"3-016\", \"3-003\"],\n stage: 2,\n sprite: \"bebydomon\",\n id: \"2-002\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=babydmon\",\n },\n {\n name_en: \"Budmon\",\n name_jp: \"Budmon\",\n next_evolutions: [\"3-046\"],\n stage: 2,\n sprite: \"budmon\",\n id: \"2-003\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=budmon\",\n },\n {\n name_en: \"Bukamon\",\n name_jp: \"Pukamon\",\n next_evolutions: [\"3-050\", \"3-012\", \"3-029\", \"3-013\", \"3-070\", \"3-065\"],\n stage: 2,\n sprite: \"bukamon\",\n id: \"2-004\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pukamon\",\n },\n {\n name_en: \"DemiMeramon\",\n name_jp: \"PetiMeramon\",\n next_evolutions: [\"3-072\", \"3-011\", \"3-014\", \"3-031\", \"3-079\"],\n stage: 2,\n sprite: \"demimeramon\",\n id: \"2-005\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=petimeramon\",\n },\n {\n name_en: \"DemiVeemon\",\n name_jp: \"Chibimon\",\n next_evolutions: [\"3-078\"],\n stage: 2,\n sprite: \"demiveemon\",\n id: \"2-006\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chibimon\",\n },\n {\n name_en: \"Dorimon\",\n name_jp: \"Dorimon\",\n next_evolutions: [\"3-015\", \"3-082\"],\n stage: 2,\n sprite: \"dorimon\",\n id: \"2-007\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dorimon\",\n },\n {\n name_en: \"Gummymon\",\n name_jp: \"Gummymon\",\n next_evolutions: [\"3-015\", \"3-075\", \"3-009\", \"3-039\", \"3-057\", \"3-074\"],\n stage: 2,\n sprite: \"gummymon\",\n id: \"2-008\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gummymon\",\n },\n {\n name_en: \"Hopmon\",\n name_jp: \"Hopmon\",\n next_evolutions: [\"3-051\", \"3-040\", \"3-078\", \"3-039\"],\n stage: 2,\n sprite: \"hopmon\",\n id: \"2-009\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hopmon\",\n },\n {\n name_en: \"Kakkinmon\",\n name_jp: \"Kakkinmon\",\n next_evolutions: [\"3-049\"],\n stage: 2,\n sprite: \"kakkinmon\",\n id: \"2-010\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kakkinmon\",\n },\n {\n name_en: \"Kapurimon\",\n name_jp: \"Capromon\",\n next_evolutions: [\"3-033\", \"3-042\", \"3-077\"],\n stage: 2,\n sprite: \"kapurimon\",\n id: \"2-011\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=capromon\",\n },\n {\n name_en: \"Kokomon\",\n name_jp: \"Chocomon\",\n next_evolutions: [\"3-062\", \"3-048\", \"3-009\", \"3-039\", \"3-071\", \"3-047\"],\n stage: 2,\n sprite: \"kokomon\",\n id: \"2-012\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chocomon\",\n },\n {\n name_en: \"Koromon\",\n name_jp: \"Koromon\",\n next_evolutions: [\"3-001\", \"3-007\", \"3-032\", \"3-010\", \"3-051\", \"3-082\"],\n stage: 2,\n sprite: \"koromon\",\n id: \"2-013\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=koromon\",\n },\n {\n name_en: \"Kyokyomon\",\n name_jp: \"Kyokyomon\",\n next_evolutions: [\"3-062\"],\n stage: 2,\n sprite: \"kyokyomon\",\n id: \"2-014\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kyokyomon\",\n },\n {\n name_en: \"Motimon\",\n name_jp: \"Mochimon\",\n next_evolutions: [\"3-073\", \"3-031\", \"3-054\", \"3-052\", \"3-046\"],\n stage: 2,\n sprite: \"motimon\",\n id: \"2-015\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mochimon\",\n },\n {\n name_en: \"Nyaromon\",\n name_jp: \"Nyaromon\",\n next_evolutions: [\"3-063\", \"3-001\", \"3-022\"],\n stage: 2,\n sprite: \"nyaromon\",\n id: \"2-016\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=nyaromon\",\n },\n {\n name_en: \"Pagumon\",\n name_jp: \"Pagumon\",\n next_evolutions: [\"3-026\", \"3-028\", \"3-027\"],\n stage: 2,\n sprite: \"pagumon\",\n id: \"2-017\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pagumon\",\n },\n {\n name_en: \"Poromon\",\n name_jp: \"Poromon\",\n next_evolutions: [\"3-060\", \"3-076\", \"3-020\", \"3-034\", \"3-025\", \"3-080\"],\n stage: 2,\n sprite: \"poromon\",\n id: \"2-018\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=poromon\",\n },\n {\n name_en: \"Sakuttomon\",\n name_jp: \"Sakuttomon\",\n next_evolutions: [\"3-081\", \"3-036\", \"3-062\"],\n stage: 2,\n sprite: \"sakuttomon\",\n id: \"2-019\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sakuttomon\",\n },\n {\n name_en: \"Tanemon\",\n name_jp: \"Tanemon\",\n next_evolutions: [\"3-008\", \"3-056\", \"3-076\", \"3-060\"],\n stage: 2,\n sprite: \"tanemon\",\n id: \"2-020\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tanemon\",\n },\n {\n name_en: \"Tokomon\",\n name_jp: \"Tokomon\",\n next_evolutions: [\"3-058\", \"3-044\", \"3-066\", \"3-032\"],\n stage: 2,\n sprite: \"tokomon\",\n id: \"2-021\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tokomon\",\n },\n {\n name_en: \"Tokomon X\",\n name_jp: \"Tokomon X\",\n next_evolutions: [\"3-061\", \"3-004\", \"3-035\", \"3-017\", \"3-023\", \"3-067\"],\n stage: 2,\n sprite: \"tokomon_x\",\n id: \"2-022\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tokomon_x\",\n },\n {\n name_en: \"Tsumemon\",\n name_jp: \"Tsumemon\",\n next_evolutions: [\"3-041\", \"3-083\"],\n stage: 2,\n sprite: \"tsumemon\",\n id: \"2-023\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tsumemon\",\n },\n {\n name_en: \"Tsunomon\",\n name_jp: \"Tunomon\",\n next_evolutions: [\"3-022\", \"3-019\", \"3-083\"],\n stage: 2,\n sprite: \"tsunomon\",\n id: \"2-024\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tunomon\",\n },\n {\n name_en: \"Upamon\",\n name_jp: \"Upamon\",\n next_evolutions: [\"3-069\", \"3-065\", \"3-028\", \"3-006\", \"3-058\", \"3-078\"],\n stage: 2,\n sprite: \"upamon\",\n id: \"2-025\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=upamon\",\n },\n {\n name_en: \"Wanyamon\",\n name_jp: \"Wanyamon\",\n next_evolutions: [\"3-068\", \"3-024\", \"3-052\", \"3-063\", \"3-028\", \"3-059\", \"3-012\", \"3-050\"],\n stage: 2,\n sprite: \"wanyamon\",\n id: \"2-026\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wanyamon\",\n },\n {\n name_en: \"Yaamon\",\n name_jp: \"Yarmon\",\n next_evolutions: [\"3-030\", \"3-043\", \"3-002\", \"3-035\", \"3-018\", \"3-064\", \"3-055\", \"3-038\", \"3-037\"],\n stage: 2,\n sprite: \"yaamon\",\n id: \"2-027\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=yarmon\",\n },\n {\n name_en: \"Yokomon\",\n name_jp: \"Pyocomon\",\n next_evolutions: [\"3-008\", \"3-021\", \"3-056\", \"3-053\", \"3-039\"],\n stage: 2,\n sprite: \"yokomon\",\n id: \"2-028\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pyocomon\",\n },\n {\n name_en: \"Bibimon\",\n name_jp: \"Bibimon\",\n next_evolutions: [\"3-084\", \"3-066\"],\n stage: 2,\n sprite: \"bibimon\",\n id: \"2-029\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bibimon\",\n },\n {\n name_en: \"Gigimon\",\n name_jp: \"Gigimon\",\n next_evolutions: [\"3-032\"],\n stage: 2,\n sprite: \"gigimon\",\n id: \"2-030\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gigimon\",\n },\n {\n name_en: \"Tumblemon\",\n name_jp: \"Goromon\",\n next_evolutions: [\"3-068\"],\n stage: 2,\n sprite: \"tumblemon\",\n id: \"2-031\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=goromon\",\n },\n {\n name_en: \"Hiyarimon\",\n name_jp: \"Hiyarimon\",\n next_evolutions: [\"3-009\"],\n stage: 2,\n sprite: \"hiyarimon\",\n id: \"2-032\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hiyarimon\",\n },\n {\n name_en: \"Minomon\",\n name_jp: \"Minomon\",\n next_evolutions: [\"3-080\"],\n stage: 2,\n sprite: \"\",\n id: \"2-033\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=minomon\",\n },\n {\n name_en: \"Moonmon\",\n name_jp: \"Moonmon\",\n next_evolutions: [\"3-082\", \"3-026\", \"3-047\", \"3-050\"],\n stage: 2,\n sprite: \"moonmon\",\n id: \"2-034\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=moonmon\",\n },\n {\n name_en: \"Pickmon\",\n name_jp: \"Pickmon\",\n next_evolutions: [\"3-066\"],\n stage: 2,\n sprite: \"pickmon\",\n id: \"2-035\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pickmon\",\n },\n {\n name_en: \"Viximon\",\n name_jp: \"Pokomon\",\n next_evolutions: [\"3-085\"],\n stage: 2,\n sprite: \"viximon\",\n id: \"2-036\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pokomon\",\n },\n {\n name_en: \"Sunmon\",\n name_jp: \"Sunmon\",\n next_evolutions: [\"3-012\", \"3-019\", \"3-032\", \"3-063\"],\n stage: 2,\n sprite: \"sunmon\",\n id: \"2-037\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sunmon\",\n },\n {\n name_en: \"Agumon\",\n name_jp: \"Agumon\",\n next_evolutions: [\n \"4-054\",\n \"4-135\",\n \"4-028\",\n \"4-079\",\n \"4-088\",\n \"4-070\",\n \"4-004\",\n \"4-087\",\n \"4-046\",\n \"4-008\",\n \"4-091\",\n \"4-017\",\n \"4-023\",\n \"4-084\",\n \"4-101\",\n \"4-050\",\n \"4-055\",\n \"4-022\",\n \"4-019\",\n \"4-001\",\n \"4-013\",\n \"7-041\",\n ],\n stage: 3,\n sprite: \"agumon\",\n id: \"3-001\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=agumon\",\n },\n {\n name_en: \"Agumon (Black) X\",\n name_jp: \"Agumon (Black) X\",\n next_evolutions: [\"4-024\", \"4-067\", \"4-089\", \"4-003\"],\n stage: 3,\n sprite: \"agumon_black_x\",\n id: \"3-002\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=agumon_b_x\",\n },\n {\n name_en: \"Agumon Expert\",\n name_jp: \"Agumon Hakase\",\n next_evolutions: [\"4-027\", \"4-019\"],\n stage: 3,\n sprite: \"agumon_expert\",\n id: \"3-003\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=agumonhakase\",\n },\n {\n name_en: \"Agumon X\",\n name_jp: \"Agumon X\",\n next_evolutions: [\"4-136\", \"4-126\", \"4-021\"],\n stage: 3,\n sprite: \"agumon_x\",\n id: \"3-004\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=agumon_x\",\n },\n {\n name_en: \"Argomon\",\n name_jp: \"Algomon\",\n next_evolutions: [\"4-008\", \"4-028\", \"4-083\"],\n stage: 3,\n sprite: \"argomon_child\",\n id: \"3-005\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=algomon_lv3\",\n },\n {\n name_en: \"Armadillomon\",\n name_jp: \"Armadimon\",\n next_evolutions: [\"4-005\", \"4-118\", \"4-111\"],\n stage: 3,\n sprite: \"armadillomon\",\n id: \"3-006\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=armadimon\",\n },\n {\n name_en: \"Betamon\",\n name_jp: \"Betamon\",\n next_evolutions: [\"4-002\", \"4-107\", \"4-028\", \"4-079\", \"4-088\"],\n stage: 3,\n sprite: \"betamon\",\n id: \"3-007\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=betamon\",\n },\n {\n name_en: \"Biyomon\",\n name_jp: \"Piyomon\",\n next_evolutions: [\n \"4-084\",\n \"4-064\",\n \"4-070\",\n \"4-066\",\n \"4-085\",\n \"4-014\",\n \"4-063\",\n \"4-145\",\n \"4-102\",\n \"4-138\",\n \"4-127\",\n \"4-096\",\n \"4-150\",\n ],\n stage: 3,\n sprite: \"biyomon\",\n id: \"3-008\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=piyomon\",\n },\n {\n name_en: \"Bulucomon\",\n name_jp: \"Blucomon\",\n next_evolutions: [\"4-094\", \"4-109\", \"4-080\", \"4-128\", \"4-144\", \"4-052\", \"4-093\", \"4-043\", \"4-149\"],\n stage: 3,\n sprite: \"bulucomon\",\n id: \"3-009\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bulucomon\",\n },\n {\n name_en: \"BushiAgumon\",\n name_jp: \"BushiAgumon\",\n next_evolutions: [\"4-103\", \"4-009\", \"4-075\"],\n stage: 3,\n sprite: \"bushiagumon\",\n id: \"3-010\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bushiagumon\",\n },\n {\n name_en: \"Candlemon\",\n name_jp: \"Candmon\",\n next_evolutions: [\"4-046\", \"4-079\", \"4-143\", \"4-028\", \"4-006\"],\n stage: 3,\n sprite: \"candlemon\",\n id: \"3-011\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=candmon\",\n },\n {\n name_en: \"Coronamon\",\n name_jp: \"Coronamon\",\n next_evolutions: [\"4-040\", \"4-044\", \"4-070\", \"4-001\"],\n stage: 3,\n sprite: \"coronamon\",\n id: \"3-012\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=coronamon\",\n },\n {\n name_en: \"Crabmon\",\n name_jp: \"Ganimon\",\n next_evolutions: [\"4-032\", \"4-107\", \"4-036\", \"4-017\", \"4-051\", \"4-090\"],\n stage: 3,\n sprite: \"crabmon\",\n id: \"3-013\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ganimon\",\n },\n {\n name_en: \"DemiDevimon\",\n name_jp: \"PicoDevimon\",\n next_evolutions: [\"4-028\", \"4-079\", \"4-031\", \"4-143\", \"4-011\"],\n stage: 3,\n sprite: \"demidevimon\",\n id: \"3-014\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=picodevimon\",\n },\n {\n name_en: \"Dorumon\",\n name_jp: \"DORUmon\",\n next_evolutions: [\"4-033\", \"4-100\", \"4-109\", \"4-080\", \"4-093\"],\n stage: 3,\n sprite: \"dorumon\",\n id: \"3-015\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dorumon\",\n },\n {\n name_en: \"Dracomon\",\n name_jp: \"Dracomon\",\n next_evolutions: [\"4-050\"],\n stage: 3,\n sprite: \"dracomon\",\n id: \"3-016\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dracomon\",\n },\n {\n name_en: \"Dracomon X\",\n name_jp: \"Dracomon X\",\n next_evolutions: [\"4-056\", \"4-114\", \"4-021\"],\n stage: 3,\n sprite: \"dracomon_x\",\n id: \"3-017\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dracomon_x\",\n },\n {\n name_en: \"Duskmon\",\n name_jp: \"Duskmon\",\n next_evolutions: [\"4-024\", \"4-140\", \"4-089\", \"4-092\"],\n stage: 3,\n sprite: \"duskmon\",\n id: \"3-018\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=duskmon\",\n },\n {\n name_en: \"Elecmon\",\n name_jp: \"Elecmon\",\n next_evolutions: [\"4-014\", \"4-141\", \"4-004\", \"4-043\", \"4-139\"],\n stage: 3,\n sprite: \"elecmon\",\n id: \"3-019\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=elecmon\",\n },\n {\n name_en: \"Falcomon\",\n name_jp: \"Falcomon\",\n next_evolutions: [\"4-096\", \"4-029\", \"4-139\"],\n stage: 3,\n sprite: \"falcomon\",\n id: \"3-020\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=falcomon\",\n },\n {\n name_en: \"Floramon\",\n name_jp: \"Floramon\",\n next_evolutions: [\"4-063\", \"4-014\", \"4-138\", \"4-102\", \"4-127\"],\n stage: 3,\n sprite: \"floramon\",\n id: \"3-021\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=floramon\",\n },\n {\n name_en: \"Gabumon\",\n name_jp: \"Gabumon\",\n next_evolutions: [\n \"4-062\",\n \"4-046\",\n \"4-004\",\n \"4-043\",\n \"4-139\",\n \"4-047\",\n \"4-070\",\n \"4-087\",\n \"4-031\",\n \"4-008\",\n \"4-034\",\n \"4-072\",\n \"7-042\",\n ],\n stage: 3,\n sprite: \"gabumon\",\n id: \"3-022\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gabumon\",\n },\n {\n name_en: \"Gabumon X\",\n name_jp: \"Gabumon X\",\n next_evolutions: [\"4-104\", \"4-126\", \"4-021\"],\n stage: 3,\n sprite: \"gabumon_x\",\n id: \"3-023\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gabumon_x\",\n },\n {\n name_en: \"Gaomon\",\n name_jp: \"Gaomon\",\n next_evolutions: [\"4-010\", \"4-044\", \"4-105\", \"4-040\", \"4-069\"],\n stage: 3,\n sprite: \"gaomon\",\n id: \"3-024\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gaomon\",\n },\n {\n name_en: \"Gatomon\",\n name_jp: \"Tailmon\",\n next_evolutions: [\"4-007\", \"4-047\"],\n stage: 3,\n sprite: \"gatomon\",\n id: \"3-025\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tailmon\",\n },\n {\n name_en: \"Gazimon\",\n name_jp: \"Gazimon\",\n next_evolutions: [\"4-023\", \"4-020\", \"4-027\", \"4-132\", \"4-101\", \"4-035\", \"4-074\"],\n stage: 3,\n sprite: \"gazimon\",\n id: \"3-026\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gazimon\",\n },\n {\n name_en: \"Ghostmon\",\n name_jp: \"Ghostmon\",\n next_evolutions: [\"4-142\", \"4-008\", \"4-041\", \"4-143\", \"4-028\", \"4-011\", \"4-152\"],\n stage: 3,\n sprite: \"ghostmon\",\n id: \"3-027\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ghostmon\",\n },\n {\n name_en: \"Gizamon\",\n name_jp: \"Gizamon\",\n next_evolutions: [\"4-042\", \"4-025\", \"4-027\", \"4-132\", \"4-101\", \"4-043\", \"4-111\", \"4-112\", \"4-125\", \"4-036\"],\n stage: 3,\n sprite: \"gizamon\",\n id: \"3-028\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gizamon\",\n },\n {\n name_en: \"Gomamon\",\n name_jp: \"Gomamon\",\n next_evolutions: [\"4-060\", \"4-032\", \"4-036\", \"4-017\", \"4-090\", \"4-051\"],\n stage: 3,\n sprite: \"gomamon\",\n id: \"3-029\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gomamon\",\n },\n {\n name_en: \"Gomamon X\",\n name_jp: \"Gomamon X\",\n next_evolutions: [\"4-076\", \"4-067\", \"4-003\"],\n stage: 3,\n sprite: \"gomamon_x\",\n id: \"3-030\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gomamon_x\",\n },\n {\n name_en: \"Gotsumon\",\n name_jp: \"Gottsumon\",\n next_evolutions: [\"4-084\", \"4-129\", \"4-115\", \"4-049\"],\n stage: 3,\n sprite: \"gotsumon\",\n id: \"3-031\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gottsumon\",\n },\n {\n name_en: \"Guilmon\",\n name_jp: \"Guilmon\",\n next_evolutions: [\"4-055\", \"4-012\", \"4-050\", \"4-009\", \"4-075\", \"4-027\", \"4-001\"],\n stage: 3,\n sprite: \"guilmon\",\n id: \"3-032\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=guilmon\",\n },\n {\n name_en: \"Hagurumon\",\n name_jp: \"Hagurumon\",\n next_evolutions: [\"4-057\", \"4-121\", \"4-054\", \"4-078\", \"4-073\", \"4-101\"],\n stage: 3,\n sprite: \"hagurumon\",\n id: \"3-033\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hagurumon\",\n },\n {\n name_en: \"Hawkmon\",\n name_jp: \"Hawkmon\",\n next_evolutions: [\"4-007\", \"4-096\", \"4-064\"],\n stage: 3,\n sprite: \"hawkmon\",\n id: \"3-034\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hawkmon\",\n },\n {\n name_en: \"Herissmon\",\n name_jp: \"Herissmon\",\n next_evolutions: [\"4-106\", \"4-136\", \"4-021\", \"4-067\", \"4-039\", \"4-089\", \"4-086\"],\n stage: 3,\n sprite: \"herissmon\",\n id: \"3-035\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=herissmon\",\n },\n {\n name_en: \"Huckmon\",\n name_jp: \"Hackmon\",\n next_evolutions: [\"4-122\", \"4-009\", \"4-018\", \"4-013\"],\n stage: 3,\n sprite: \"huckmon\",\n id: \"3-036\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=huckmon\",\n },\n {\n name_en: \"Impmon\",\n name_jp: \"Impmon\",\n next_evolutions: [\"4-074\", \"4-110\", \"4-130\", \"4-143\"],\n stage: 3,\n sprite: \"impmon\",\n id: \"3-037\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=impmon\",\n },\n {\n name_en: \"Impmon X\",\n name_jp: \"Impmon X\",\n next_evolutions: [\"4-092\", \"4-108\", \"4-089\", \"4-003\"],\n stage: 3,\n sprite: \"impmon_x\",\n id: \"3-038\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=impmon_x\",\n },\n {\n name_en: \"Jazamon\",\n name_jp: \"Jazamon\",\n next_evolutions: [\"4-061\", \"4-100\", \"4-093\", \"4-097\", \"4-134\", \"4-065\", \"4-073\", \"4-101\", \"4-014\"],\n stage: 3,\n sprite: \"jazamon\",\n id: \"3-039\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jazamon\",\n },\n {\n name_en: \"Junkmon\",\n name_jp: \"Junkmon\",\n next_evolutions: [\"4-065\", \"4-082\", \"4-101\"],\n stage: 3,\n sprite: \"junkmon\",\n id: \"3-040\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=junkmon\",\n },\n {\n name_en: \"Keramon X\",\n name_jp: \"Keramon X\",\n next_evolutions: [\"7-012\"],\n stage: 3,\n sprite: \"keramon_x\",\n id: \"3-041\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=keramon_x\",\n },\n {\n name_en: \"Kokuwamon\",\n name_jp: \"Kokuwamon\",\n next_evolutions: [\"4-123\", \"4-057\", \"4-121\", \"4-016\", \"4-026\"],\n stage: 3,\n sprite: \"kokuwamon\",\n id: \"3-042\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kokuwamon\",\n },\n {\n name_en: \"Kokuwamon X\",\n name_jp: \"Kokuwamon X\",\n next_evolutions: [\"4-067\", \"4-039\", \"4-089\", \"4-140\", \"4-003\"],\n stage: 3,\n sprite: \"kokuwamon_x\",\n id: \"3-043\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kokuwamon_x\",\n },\n {\n name_en: \"Kunemon\",\n name_jp: \"Kunemon\",\n next_evolutions: [\"4-111\", \"4-034\", \"4-091\", \"4-011\", \"4-119\"],\n stage: 3,\n sprite: \"kunemon\",\n id: \"3-044\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kunemon\",\n },\n {\n name_en: \"Labramon\",\n name_jp: \"Labramon\",\n next_evolutions: [\"4-030\", \"4-008\", \"4-083\"],\n stage: 3,\n sprite: \"labramon\",\n id: \"3-045\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=labramon\",\n },\n {\n name_en: \"Lalamon\",\n name_jp: \"Lalamon\",\n next_evolutions: [\"4-120\", \"4-059\"],\n stage: 3,\n sprite: \"lalamon\",\n id: \"3-046\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lalamon\",\n },\n {\n name_en: \"Lopmon\",\n name_jp: \"Lopmon\",\n next_evolutions: [\"4-131\"],\n stage: 3,\n sprite: \"lopmon\",\n id: \"3-047\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lopmon\",\n },\n {\n name_en: \"Lopmon X\",\n name_jp: \"Lopmon X\",\n next_evolutions: [\"4-097\", \"4-048\", \"4-144\", \"4-052\"],\n stage: 3,\n sprite: \"lopmon_x\",\n id: \"3-048\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lopmon_x\",\n },\n {\n name_en: \"Ludomon\",\n name_jp: \"Ludomon\",\n next_evolutions: [\"4-124\", \"4-103\"],\n stage: 3,\n sprite: \"ludomon\",\n id: \"3-049\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ludomon\",\n },\n {\n name_en: \"Lunamon\",\n name_jp: \"Lunamon\",\n next_evolutions: [\"4-069\", \"4-074\", \"4-044\"],\n stage: 3,\n sprite: \"lunamon\",\n id: \"3-050\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lunamon\",\n },\n {\n name_en: \"Monodramon\",\n name_jp: \"Monodramon\",\n next_evolutions: [\"4-054\", \"4-101\", \"4-117\", \"4-037\"],\n stage: 3,\n sprite: \"monodramon\",\n id: \"3-051\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=monodramon\",\n },\n {\n name_en: \"Morphomon\",\n name_jp: \"Morphomon\",\n next_evolutions: [\"4-059\", \"4-137\", \"4-105\"],\n stage: 3,\n sprite: \"morphomon\",\n id: \"3-052\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=morphomon\",\n },\n {\n name_en: \"Mushroomon\",\n name_jp: \"Mushmon\",\n next_evolutions: [\"4-138\", \"4-145\", \"4-127\", \"4-102\", \"4-014\"],\n stage: 3,\n sprite: \"mushroomon\",\n id: \"3-053\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mushmon\",\n },\n {\n name_en: \"Otamamon\",\n name_jp: \"Otamamon\",\n next_evolutions: [\"4-047\", \"4-115\", \"4-066\", \"4-049\"],\n stage: 3,\n sprite: \"otamamon\",\n id: \"3-054\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=otamamon\",\n },\n {\n name_en: \"Otamamon X\",\n name_jp: \"Otamamon X\",\n next_evolutions: [\"4-108\", \"4-039\", \"4-089\", \"4-140\", \"4-003\"],\n stage: 3,\n sprite: \"otamamon_x\",\n id: \"3-055\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=otamamon_x\",\n },\n {\n name_en: \"Palmon\",\n name_jp: \"Palmon\",\n next_evolutions: [\n \"4-017\",\n \"4-083\",\n \"4-070\",\n \"4-066\",\n \"4-085\",\n \"4-127\",\n \"4-145\",\n \"4-063\",\n \"4-102\",\n \"4-014\",\n \"4-120\",\n \"4-095\",\n \"4-139\",\n ],\n stage: 3,\n sprite: \"palmon\",\n id: \"3-056\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=palmon\",\n },\n {\n name_en: \"Palmon X\",\n name_jp: \"Palmon X\",\n next_evolutions: [\"4-128\", \"4-100\", \"4-093\"],\n stage: 3,\n sprite: \"palmon_x\",\n id: \"3-057\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=palmon_x\",\n },\n {\n name_en: \"Patamon\",\n name_jp: \"Patamon\",\n next_evolutions: [\"4-137\", \"4-015\", \"4-091\", \"4-011\", \"4-119\", \"4-004\", \"4-113\", \"5-122\", \"4-081\", \"4-005\"],\n stage: 3,\n sprite: \"patamon\",\n id: \"3-058\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=patamon\",\n },\n {\n name_en: \"Phascomon\",\n name_jp: \"Phascomon\",\n next_evolutions: [\"4-099\", \"4-110\", \"4-130\", \"4-074\", \"4-070\"],\n stage: 3,\n sprite: \"phascomon\",\n id: \"3-059\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=phascomon\",\n },\n {\n name_en: \"Pomumon\",\n name_jp: \"Pomumon\",\n next_evolutions: [\"4-095\", \"4-064\", \"4-139\"],\n stage: 3,\n sprite: \"pomumon\",\n id: \"3-060\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pomumon\",\n },\n {\n name_en: \"Renamon X\",\n name_jp: \"Renamon X\",\n next_evolutions: [\"4-071\", \"4-106\", \"4-021\"],\n stage: 3,\n sprite: \"renamon_x\",\n id: \"3-061\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=renamon_x\",\n },\n {\n name_en: \"Ryudamon\",\n name_jp: \"Ryudamon\",\n next_evolutions: [\"4-052\", \"4-134\", \"4-097\", \"4-144\", \"4-093\", \"4-031\", \"4-025\", \"4-088\"],\n stage: 3,\n sprite: \"ryudamon\",\n id: \"3-062\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ryudamon\",\n },\n {\n name_en: \"Salamon\",\n name_jp: \"Plotmon\",\n next_evolutions: [\"4-077\", \"4-047\", \"4-004\", \"4-046\", \"4-087\", \"4-054\", \"4-137\", \"4-053\", \"4-013\"],\n stage: 3,\n sprite: \"salamon\",\n id: \"3-063\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=plotmon\",\n },\n {\n name_en: \"Salamon X\",\n name_jp: \"Plotmon X\",\n next_evolutions: [\"4-086\", \"4-108\", \"4-003\"],\n stage: 3,\n sprite: \"salamon_x\",\n id: \"3-064\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=plotmon_x\",\n },\n {\n name_en: \"Sangomon\",\n name_jp: \"Sangomon\",\n next_evolutions: [\"4-111\", \"4-058\", \"4-112\", \"4-125\", \"4-107\", \"4-090\"],\n stage: 3,\n sprite: \"sangomon\",\n id: \"3-065\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sangomon\",\n },\n {\n name_en: \"Shoutmon\",\n name_jp: \"Shoutmon\",\n next_evolutions: [\"4-113\", \"5-122\", \"4-081\", \"4-022\", \"4-103\", \"4-147\"],\n stage: 3,\n sprite: \"shoutmon\",\n id: \"3-066\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shoutmon\",\n },\n {\n name_en: \"Sistermon Blanc\",\n name_jp: \"Sistermon Blanc\",\n next_evolutions: [\"4-114\", \"4-104\", \"4-021\"],\n stage: 3,\n sprite: \"sistermon_blanc\",\n id: \"3-067\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sistermonblanc\",\n },\n {\n name_en: \"Sunarizamon\",\n name_jp: \"Sunarizamon\",\n next_evolutions: [\"4-010\", \"4-053\", \"4-105\", \"4-129\", \"4-127\"],\n stage: 3,\n sprite: \"sunarizamon\",\n id: \"3-068\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sunarizamon\",\n },\n {\n name_en: \"Swimmon\",\n name_jp: \"Swimmon\",\n next_evolutions: [\"4-125\", \"4-118\", \"4-112\"],\n stage: 3,\n sprite: \"swimmon\",\n id: \"3-069\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=swimmon\",\n },\n {\n name_en: \"Syakomon\",\n name_jp: \"Shakomon\",\n next_evolutions: [\"4-060\", \"4-107\", \"4-051\", \"4-090\", \"4-133\"],\n stage: 3,\n sprite: \"syakomon\",\n id: \"3-070\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shakomon\",\n },\n {\n name_en: \"Syakomon X\",\n name_jp: \"Shakomon X\",\n next_evolutions: [\"4-134\", \"4-144\", \"4-093\", \"4-052\"],\n stage: 3,\n sprite: \"syakomon_x\",\n id: \"3-071\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shakomon_x\",\n },\n {\n name_en: \"Tapirmon\",\n name_jp: \"Bakumon\",\n next_evolutions: [\"4-006\", \"4-079\", \"4-143\", \"4-046\"],\n stage: 3,\n sprite: \"tapirmon\",\n id: \"3-072\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bakumon\",\n },\n {\n name_en: \"Tentomon\",\n name_jp: \"Tentomon\",\n next_evolutions: [\"4-062\", \"4-047\", \"4-129\", \"4-066\", \"4-049\", \"4-120\"],\n stage: 3,\n sprite: \"tentomon\",\n id: \"3-073\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tentomon\",\n },\n {\n name_en: \"Terriermon\",\n name_jp: \"Terriermon\",\n next_evolutions: [\"4-045\", \"4-131\"],\n stage: 3,\n sprite: \"terriermon\",\n id: \"3-074\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=terriermon\",\n },\n {\n name_en: \"Terriermon X\",\n name_jp: \"Terriermon X\",\n next_evolutions: [\"4-109\", \"4-033\", \"4-080\", \"4-128\"],\n stage: 3,\n sprite: \"terriermon_x\",\n id: \"3-075\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=terriermon_x\",\n },\n {\n name_en: \"Tinkermon\",\n name_jp: \"Tinkermon\",\n next_evolutions: [\"4-098\", \"4-064\", \"4-095\", \"4-139\"],\n stage: 3,\n sprite: \"tinkermon\",\n id: \"3-076\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tinkermon\",\n },\n {\n name_en: \"ToyAgumon\",\n name_jp: \"ToyAgumon\",\n next_evolutions: [\"4-054\", \"4-123\", \"4-016\", \"4-078\", \"4-026\"],\n stage: 3,\n sprite: \"toyagumon\",\n id: \"3-077\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=toyagumon\",\n },\n {\n name_en: \"Veemon\",\n name_jp: \"V-mon\",\n next_evolutions: [\"4-038\", \"4-065\", \"4-082\", \"4-138\", \"4-072\"],\n stage: 3,\n sprite: \"veemon\",\n id: \"3-078\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=v-mon\",\n },\n {\n name_en: \"Vorvomon\",\n name_jp: \"Vorvomon\",\n next_evolutions: [\"4-068\", \"4-014\", \"4-135\", \"4-079\"],\n stage: 3,\n sprite: \"vorvomon\",\n id: \"3-079\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=vorvomon\",\n },\n {\n name_en: \"Wormmon\",\n name_jp: \"Wormmon\",\n next_evolutions: [\"4-116\", \"4-028\", \"4-142\", \"4-110\", \"4-059\", \"4-105\"],\n stage: 3,\n sprite: \"wormmon\",\n id: \"3-080\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wormmon\",\n },\n {\n name_en: \"Zubamon\",\n name_jp: \"Zubamon\",\n next_evolutions: [\"4-146\", \"4-122\", \"4-031\", \"4-013\"],\n stage: 3,\n sprite: \"zubamon\",\n id: \"3-081\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=zubamon\",\n },\n {\n name_en: \"Agumon (Black)\",\n name_jp: \"Agumon (Black)\",\n next_evolutions: [\"4-054\", \"4-023\", \"4-084\", \"4-002\"],\n stage: 3,\n sprite: \"agumon_black\",\n id: \"3-082\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=agumon-black\",\n },\n {\n name_en: \"Dracmon\",\n name_jp: \"Dracumon\",\n next_evolutions: [\"5-067\"],\n stage: 3,\n sprite: \"dracmon\",\n id: \"3-083\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dracumon\",\n },\n {\n name_en: \"Pulsemon\",\n name_jp: \"Pulsemon\",\n next_evolutions: [\"4-147\", \"4-123\"],\n stage: 3,\n sprite: \"pulsemon\",\n id: \"3-084\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pulsemon\",\n },\n {\n name_en: \"Renamon\",\n name_jp: \"Renamon\",\n next_evolutions: [\"4-148\", \"4-096\"],\n stage: 3,\n sprite: \"renamon\",\n id: \"3-085\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=renamon\",\n },\n {\n name_en: \"Agunimon\",\n name_jp: \"Agnimon\",\n next_evolutions: [\"5-002\", \"5-016\", \"5-145\", \"5-149\"],\n stage: 4,\n sprite: \"agunimon\",\n id: \"4-001\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=agnimon\",\n },\n {\n name_en: \"Airdramon\",\n name_jp: \"Airdramon\",\n next_evolutions: [\"5-088\", \"5-086\", \"5-093\", \"5-080\"],\n stage: 4,\n sprite: \"airdramon\",\n id: \"4-002\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=airdramon\",\n },\n {\n name_en: \"Allomon X\",\n name_jp: \"Allomon X\",\n next_evolutions: [\"5-132\", \"5-074\", \"5-072\", \"5-092\"],\n stage: 4,\n sprite: \"allomon_x\",\n id: \"4-003\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=allomon_x\",\n },\n {\n name_en: \"Angemon\",\n name_jp: \"Angemon\",\n next_evolutions: [\"5-126\", \"5-069\", \"5-004\", \"5-010\", \"5-120\", \"5-036\", \"5-075\", \"5-091\"],\n stage: 4,\n sprite: \"angemon\",\n id: \"4-004\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=angemon\",\n },\n {\n name_en: \"Ankylomon\",\n name_jp: \"Ankylomon\",\n next_evolutions: [\"5-076\", \"5-120\", \"5-049\", \"5-085\", \"5-108\", \"5-105\"],\n stage: 4,\n sprite: \"ankylomon\",\n id: \"4-005\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ankylomon\",\n },\n {\n name_en: \"Apemon\",\n name_jp: \"Hanumon\",\n next_evolutions: [\"5-073\", \"5-139\", \"5-110\", \"5-147\"],\n stage: 4,\n sprite: \"apemon\",\n id: \"4-006\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hanumon\",\n },\n {\n name_en: \"Aquilamon\",\n name_jp: \"Aquilamon\",\n next_evolutions: [\"5-123\", \"5-050\", \"5-106\", \"5-130\", \"5-057\", \"5-031\"],\n stage: 4,\n sprite: \"aquilamon\",\n id: \"4-007\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=aquilamon\",\n },\n {\n name_en: \"Argomon\",\n name_jp: \"Algomon\",\n next_evolutions: [\n \"5-007\",\n \"5-057\",\n \"5-097\",\n \"5-087\",\n \"5-070\",\n \"5-093\",\n \"5-003\",\n \"5-118\",\n \"5-139\",\n \"5-013\",\n \"5-138\",\n \"5-106\",\n \"5-015\",\n ],\n stage: 4,\n sprite: \"argomon_adult\",\n id: \"4-008\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=algomon_lv4\",\n },\n {\n name_en: \"Arresterdramon\",\n name_jp: \"Arresterdramon\",\n next_evolutions: [\"5-115\", \"5-135\", \"5-117\"],\n stage: 4,\n sprite: \"arresterdramon\",\n id: \"4-009\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=arresterdramon\",\n },\n {\n name_en: \"Baboongamon\",\n name_jp: \"Baboongamon\",\n next_evolutions: [\"5-046\", \"5-055\", \"5-068\"],\n stage: 4,\n sprite: \"baboongamon\",\n id: \"4-010\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=baboongamon\",\n },\n {\n name_en: \"Bakemon\",\n name_jp: \"Bakemon\",\n next_evolutions: [\"5-045\", \"5-107\", \"5-059\", \"5-110\", \"5-011\", \"5-098\"],\n stage: 4,\n sprite: \"bakemon\",\n id: \"4-011\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bakemon\",\n },\n {\n name_en: \"Baluchimon\",\n name_jp: \"Baluchimon\",\n next_evolutions: [\"5-075\", \"5-111\", \"5-036\", \"5-135\"],\n stage: 4,\n sprite: \"baluchimon\",\n id: \"4-012\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=baluchimon\",\n },\n {\n name_en: \"BaoHuckmon\",\n name_jp: \"BaoHuckmon\",\n next_evolutions: [\"5-117\", \"5-039\", \"5-036\", \"5-048\"],\n stage: 4,\n sprite: \"baohuckmon\",\n id: \"4-013\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=baohuckmon\",\n },\n {\n name_en: \"Birdramon\",\n name_jp: \"Birdramon\",\n next_evolutions: [\"5-126\", \"5-043\", \"5-001\", \"5-014\", \"5-029\", \"5-061\", \"5-041\", \"5-048\"],\n stage: 4,\n sprite: \"birdramon\",\n id: \"4-014\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=birdramon\",\n },\n {\n name_en: \"Centarumon\",\n name_jp: \"Centalmon\",\n next_evolutions: [\"5-045\"],\n stage: 4,\n sprite: \"centarumon\",\n id: \"4-015\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=centalmon\",\n },\n {\n name_en: \"Clockmon\",\n name_jp: \"Clockmon\",\n next_evolutions: [\"5-003\", \"5-087\", \"5-058\", \"5-137\", \"5-013\"],\n stage: 4,\n sprite: \"clockmon\",\n id: \"4-016\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=clockmon\",\n },\n {\n name_en: \"Coelamon\",\n name_jp: \"Coelamon\",\n next_evolutions: [\"5-080\", \"5-118\", \"5-141\", \"5-082\", \"5-035\", \"5-003\", \"5-100\", \"5-087\", \"5-093\"],\n stage: 4,\n sprite: \"coelamon\",\n id: \"4-017\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=coelamon\",\n },\n {\n name_en: \"Coredramon (Blue)\",\n name_jp: \"Coredramon (Blue)\",\n next_evolutions: [\"5-142\", \"5-048\", \"5-080\", \"5-115\"],\n stage: 4,\n sprite: \"coredramon_blue\",\n id: \"4-018\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=coredramon_b\",\n },\n {\n name_en: \"Coredramon (Green)\",\n name_jp: \"Coredramon (Green)\",\n next_evolutions: [\"5-048\", \"5-142\", \"5-080\", \"5-117\"],\n stage: 4,\n sprite: \"coredramon_green\",\n id: \"4-019\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=coredramon_g\",\n },\n {\n name_en: \"Cyclonemon\",\n name_jp: \"Cyclomon\",\n next_evolutions: [\"5-028\"],\n stage: 4,\n sprite: \"cyclonemon\",\n id: \"4-020\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cyclomon\",\n },\n {\n name_en: \"Damemon\",\n name_jp: \"Damemon\",\n next_evolutions: [\"5-019\", \"5-067\", \"5-125\", \"5-136\", \"5-021\", \"5-064\", \"5-003\"],\n stage: 4,\n sprite: \"damemon\",\n id: \"4-021\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=damemon\",\n },\n {\n name_en: \"Darcmon\",\n name_jp: \"Darcmon\",\n next_evolutions: [\"5-036\", \"5-115\", \"5-122\", \"6-097\"],\n stage: 4,\n sprite: \"darcmon\",\n id: \"4-022\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darcmon\",\n },\n {\n name_en: \"DarkTyrannomon\",\n name_jp: \"DarkTyranomon\",\n next_evolutions: [\"5-093\", \"5-040\", \"5-072\", \"5-088\", \"5-126\", \"5-087\", \"5-080\"],\n stage: 4,\n sprite: \"darktyrannomon\",\n id: \"4-023\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darktyranomon\",\n },\n {\n name_en: \"DarkTyrannomon X\",\n name_jp: \"DarkTyranomon X\",\n next_evolutions: [\"5-089\", \"5-074\", \"5-132\", \"5-072\"],\n stage: 4,\n sprite: \"darktyrannomon_x\",\n id: \"4-024\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darktyranomon_x\",\n },\n {\n name_en: \"Deltamon\",\n name_jp: \"Deltamon\",\n next_evolutions: [\"5-028\", \"5-104\", \"5-095\", \"5-039\"],\n stage: 4,\n sprite: \"deltamon\",\n id: \"4-025\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=deltamon\",\n },\n {\n name_en: \"Deputymon\",\n name_jp: \"Revolmon\",\n next_evolutions: [\"5-003\", \"5-025\", \"5-058\", \"5-086\", \"5-013\"],\n stage: 4,\n sprite: \"deputymon\",\n id: \"4-026\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=revolmon\",\n },\n {\n name_en: \"Devidramon\",\n name_jp: \"Devidramon\",\n next_evolutions: [\"5-093\", \"5-080\", \"5-142\", \"5-048\", \"5-135\"],\n stage: 4,\n sprite: \"devidramon\",\n id: \"4-027\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=devidramon\",\n },\n {\n name_en: \"Devimon\",\n name_jp: \"Devimon\",\n next_evolutions: [\n \"5-088\",\n \"5-086\",\n \"5-098\",\n \"5-059\",\n \"5-127\",\n \"5-100\",\n \"5-057\",\n \"5-007\",\n \"5-110\",\n \"5-011\",\n \"5-107\",\n ],\n stage: 4,\n sprite: \"devimon\",\n id: \"4-028\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=devimon\",\n },\n {\n name_en: \"Diatrymon\",\n name_jp: \"Diatrymon\",\n next_evolutions: [\"5-130\", \"5-050\"],\n stage: 4,\n sprite: \"diatrymon\",\n id: \"4-029\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=diatrymon\",\n },\n {\n name_en: \"Dobermon\",\n name_jp: \"Dobermon\",\n next_evolutions: [\"5-018\", \"5-040\", \"5-057\", \"5-056\", \"5-012\", \"5-124\"],\n stage: 4,\n sprite: \"dobermon\",\n id: \"4-030\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dobermon\",\n },\n {\n name_en: \"Dokugumon\",\n name_jp: \"Dokugumon\",\n next_evolutions: [\n \"5-059\",\n \"5-098\",\n \"5-110\",\n \"5-106\",\n \"5-013\",\n \"5-104\",\n \"5-139\",\n \"5-015\",\n \"5-051\",\n \"5-010\",\n \"5-036\",\n ],\n stage: 4,\n sprite: \"dokugumon\",\n id: \"4-031\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dokugumon\",\n },\n {\n name_en: \"Dolphmon\",\n name_jp: \"Rukamon\",\n next_evolutions: [\"5-143\", \"5-141\", \"5-032\"],\n stage: 4,\n sprite: \"dolphmon\",\n id: \"4-032\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rukamon\",\n },\n {\n name_en: \"Dorugamon\",\n name_jp: \"DORUgamon\",\n next_evolutions: [\"5-034\", \"5-017\", \"5-071\", \"5-047\", \"5-146\"],\n stage: 4,\n sprite: \"dorugamon\",\n id: \"4-033\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dorugamon\",\n },\n {\n name_en: \"Drimogemon\",\n name_jp: \"Drimogemon\",\n next_evolutions: [\"5-045\", \"5-139\", \"5-018\", \"5-147\", \"4-151\"],\n stage: 4,\n sprite: \"drimogemon\",\n id: \"4-034\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=drimogemon\",\n },\n {\n name_en: \"Duskmon\",\n name_jp: \"Duskmon\",\n next_evolutions: [\"5-067\", \"5-134\", \"5-114\", \"5-053\", \"5-065\"],\n stage: 4,\n sprite: \"duskmon\",\n id: \"4-035\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=duskmon\",\n },\n {\n name_en: \"Ebidramon\",\n name_jp: \"Ebidramon\",\n next_evolutions: [\"5-032\", \"5-143\", \"5-118\", \"5-077\", \"5-082\", \"5-141\", \"5-035\", \"5-124\", \"5-012\", \"5-056\"],\n stage: 4,\n sprite: \"ebidramon\",\n id: \"4-036\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ebidramon\",\n },\n {\n name_en: \"Eosmon\",\n name_jp: \"Eosmon\",\n next_evolutions: [\"5-038\", \"5-066\", \"5-113\"],\n stage: 4,\n sprite: \"eosmon_adult\",\n id: \"4-037\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=eosmon_lv4\",\n },\n {\n name_en: \"ExVeemon\",\n name_jp: \"XV-mon\",\n next_evolutions: [\"5-093\", \"5-105\", \"5-031\", \"5-066\", \"5-113\", \"5-001\", \"5-030\", \"5-069\"],\n stage: 4,\n sprite: \"exveemon\",\n id: \"4-038\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=xv-mon\",\n },\n {\n name_en: \"Filmon\",\n name_jp: \"Filmon\",\n next_evolutions: [\"5-089\", \"5-132\", \"5-128\", \"5-072\", \"5-053\", \"5-099\", \"5-083\", \"5-003\"],\n stage: 4,\n sprite: \"filmon\",\n id: \"4-039\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=filmon\",\n },\n {\n name_en: \"Firamon\",\n name_jp: \"Firamon\",\n next_evolutions: [\"5-041\", \"5-068\"],\n stage: 4,\n sprite: \"firamon\",\n id: \"4-040\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=firamon\",\n },\n {\n name_en: \"Flarerizamon\",\n name_jp: \"FlareLizamon\",\n next_evolutions: [\"5-007\", \"5-040\", \"5-057\", \"5-097\"],\n stage: 4,\n sprite: \"flarerizamon\",\n id: \"4-041\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=flarelizamon\",\n },\n {\n name_en: \"Flymon\",\n name_jp: \"Flymon\",\n next_evolutions: [\"5-093\"],\n stage: 4,\n sprite: \"flymon\",\n id: \"4-042\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=flymon\",\n },\n {\n name_en: \"Frigimon\",\n name_jp: \"Yukidarumon\",\n next_evolutions: [\"5-091\", \"5-076\", \"5-049\", \"5-124\", \"5-073\", \"5-022\"],\n stage: 4,\n sprite: \"frigimon\",\n id: \"4-043\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=yukidarumon\",\n },\n {\n name_en: \"Gaogamon\",\n name_jp: \"Gaogamon\",\n next_evolutions: [\"5-068\", \"5-046\", \"5-118\", \"5-104\", \"5-022\", \"5-148\"],\n stage: 4,\n sprite: \"gaogamon\",\n id: \"4-044\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gaogamon\",\n },\n {\n name_en: \"Gargomon\",\n name_jp: \"Galgomon\",\n next_evolutions: [\"5-112\", \"5-006\"],\n stage: 4,\n sprite: \"gargomon\",\n id: \"4-045\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=galgomon\",\n },\n {\n name_en: \"Garurumon\",\n name_jp: \"Garurumon\",\n next_evolutions: [\n \"5-091\",\n \"5-139\",\n \"5-073\",\n \"5-110\",\n \"5-069\",\n \"5-004\",\n \"5-015\",\n \"5-138\",\n \"5-106\",\n \"5-104\",\n \"5-018\",\n \"5-147\",\n \"4-151\",\n ],\n stage: 4,\n sprite: \"garurumon\",\n id: \"4-046\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=garurumon\",\n },\n {\n name_en: \"Gatomon\",\n name_jp: \"Tailmon\",\n next_evolutions: [\"5-004\", \"5-052\", \"5-109\", \"5-069\", \"5-139\", \"5-123\", \"5-055\", \"5-068\", \"5-097\"],\n stage: 4,\n sprite: \"gatomon\",\n id: \"4-047\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tailmon\",\n },\n {\n name_en: \"Gatomon X\",\n name_jp: \"Tailmon X\",\n next_evolutions: [\"5-005\", \"5-047\", \"5-071\", \"5-096\"],\n stage: 4,\n sprite: \"gatomon_x\",\n id: \"4-048\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tailmon_x\",\n },\n {\n name_en: \"Gekomon\",\n name_jp: \"Gekomon\",\n next_evolutions: [\"5-121\", \"5-131\", \"5-101\", \"5-109\"],\n stage: 4,\n sprite: \"gekomon\",\n id: \"4-049\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gekomon\",\n },\n {\n name_en: \"GeoGreymon\",\n name_jp: \"GeoGreymon\",\n next_evolutions: [\"5-115\", \"5-036\", \"5-122\", \"5-142\"],\n stage: 4,\n sprite: \"geogreymon\",\n id: \"4-050\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=geogreymon\",\n },\n {\n name_en: \"Gesomon\",\n name_jp: \"Gesomon\",\n next_evolutions: [\"5-077\", \"5-118\", \"5-035\", \"5-032\"],\n stage: 4,\n sprite: \"gesomon\",\n id: \"4-051\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gesomon\",\n },\n {\n name_en: \"Ginryumon\",\n name_jp: \"Ginryumon\",\n next_evolutions: [\"5-051\", \"5-047\", \"5-119\", \"5-071\", \"5-036\", \"5-010\", \"5-104\"],\n stage: 4,\n sprite: \"ginryumon\",\n id: \"4-052\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ginryumon\",\n },\n {\n name_en: \"Golemon\",\n name_jp: \"Golemon\",\n next_evolutions: [\"5-046\", \"5-068\", \"5-104\", \"5-131\", \"5-052\", \"5-097\", \"5-118\", \"5-148\"],\n stage: 4,\n sprite: \"golemon\",\n id: \"4-053\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=golemon\",\n },\n {\n name_en: \"Greymon\",\n name_jp: \"Greymon\",\n next_evolutions: [\n \"5-088\",\n \"5-086\",\n \"5-087\",\n \"5-025\",\n \"5-013\",\n \"5-010\",\n \"5-091\",\n \"5-118\",\n \"5-093\",\n \"5-003\",\n \"5-100\",\n \"5-126\",\n \"5-040\",\n \"5-072\",\n ],\n stage: 4,\n sprite: \"greymon\",\n id: \"4-054\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=greymon\",\n },\n {\n name_en: \"Growlmon\",\n name_jp: \"Growmon\",\n next_evolutions: [\"5-135\", \"5-075\", \"5-122\", \"5-115\", \"5-012\"],\n stage: 4,\n sprite: \"growlmon\",\n id: \"4-055\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=growmon\",\n },\n {\n name_en: \"Growlmon X\",\n name_jp: \"Growmon X\",\n next_evolutions: [\"5-136\", \"5-021\", \"5-094\", \"5-023\"],\n stage: 4,\n sprite: \"growlmon_x\",\n id: \"4-056\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=growmon_x\",\n },\n {\n name_en: \"Guardromon\",\n name_jp: \"Guardromon\",\n next_evolutions: [\"5-080\", \"5-058\", \"5-137\", \"5-013\"],\n stage: 4,\n sprite: \"guardromon\",\n id: \"4-057\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=guardromon\",\n },\n {\n name_en: \"Hookmon\",\n name_jp: \"Hookmon\",\n next_evolutions: [\"5-124\", \"5-085\", \"5-108\"],\n stage: 4,\n sprite: \"hookmon\",\n id: \"4-058\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hookmon\",\n },\n {\n name_en: \"Hudiemon\",\n name_jp: \"Hudiemon\",\n next_evolutions: [\"5-008\", \"5-055\", \"5-118\", \"5-104\", \"5-105\", \"5-031\", \"5-038\", \"5-017\", \"5-148\"],\n stage: 4,\n sprite: \"hudiemon\",\n id: \"4-059\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hudiemon\",\n },\n {\n name_en: \"Ikkakumon\",\n name_jp: \"Ikkakumon\",\n next_evolutions: [\"5-143\", \"5-141\", \"5-118\", \"5-076\", \"5-119\"],\n stage: 4,\n sprite: \"ikkakumon\",\n id: \"4-060\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ikkakumon\",\n },\n {\n name_en: \"Jazardmon\",\n name_jp: \"Jazardmon\",\n next_evolutions: [\"5-054\", \"5-110\", \"5-044\", \"5-017\", \"5-005\", \"5-119\"],\n stage: 4,\n sprite: \"jazardmon\",\n id: \"4-061\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jazardmon\",\n },\n {\n name_en: \"Kabuterimon\",\n name_jp: \"Kabuterimon\",\n next_evolutions: [\"5-126\", \"5-081\", \"5-004\", \"5-109\", \"5-052\", \"5-062\"],\n stage: 4,\n sprite: \"kabuterimon\",\n id: \"4-062\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kabuterimon\",\n },\n {\n name_en: \"Kiwimon\",\n name_jp: \"Kiwimon\",\n next_evolutions: [\"5-014\", \"5-043\", \"5-063\", \"5-042\", \"5-029\"],\n stage: 4,\n sprite: \"kiwimon\",\n id: \"4-063\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kiwimon\",\n },\n {\n name_en: \"Kokatorimon\",\n name_jp: \"Cockatrimon\",\n next_evolutions: [\"5-109\", \"5-050\", \"5-106\", \"5-037\"],\n stage: 4,\n sprite: \"kokatorimon\",\n id: \"4-064\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cockatrimon\",\n },\n {\n name_en: \"Komondomon\",\n name_jp: \"Komondomon\",\n next_evolutions: [\"5-066\", \"5-038\", \"5-113\", \"5-137\"],\n stage: 4,\n sprite: \"komondomon\",\n id: \"4-065\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=komondomon\",\n },\n {\n name_en: \"Kuwagamon\",\n name_jp: \"Kuwagamon\",\n next_evolutions: [\"5-109\", \"5-101\", \"5-121\", \"5-017\", \"5-129\"],\n stage: 4,\n sprite: \"kuwagamon\",\n id: \"4-066\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kuwagamon\",\n },\n {\n name_en: \"Kuwagamon X\",\n name_jp: \"Kuwagamon X\",\n next_evolutions: [\"5-102\", \"5-072\", \"5-074\"],\n stage: 4,\n sprite: \"kuwagamon_x\",\n id: \"4-067\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kuwagamon_x\",\n },\n {\n name_en: \"Lavorvomon\",\n name_jp: \"Lavorvomon\",\n next_evolutions: [\"5-061\", \"5-041\", \"5-127\"],\n stage: 4,\n sprite: \"lavorvomon\",\n id: \"4-068\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lavorvomon\",\n },\n {\n name_en: \"Lekismon\",\n name_jp: \"Lekismon\",\n next_evolutions: [\"5-022\", \"5-068\"],\n stage: 4,\n sprite: \"lekismon\",\n id: \"4-069\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lekismon\",\n },\n {\n name_en: \"Leomon\",\n name_jp: \"Leomon\",\n next_evolutions: [\"5-080\", \"5-010\", \"5-087\", \"5-091\", \"5-086\", \"5-009\", \"5-041\"],\n stage: 4,\n sprite: \"leomon\",\n id: \"4-070\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=leomon\",\n },\n {\n name_en: \"Leomon X\",\n name_jp: \"Leomon X\",\n next_evolutions: [\"5-019\", \"5-090\", \"5-094\", \"5-023\"],\n stage: 4,\n sprite: \"leomon_x\",\n id: \"4-071\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=leomon_x\",\n },\n {\n name_en: \"Lobomon\",\n name_jp: \"Wolfmon\",\n next_evolutions: [\"5-012\", \"5-056\", \"5-124\"],\n stage: 4,\n sprite: \"lobomon\",\n id: \"4-072\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wolfmon\",\n },\n {\n name_en: \"Machmon\",\n name_jp: \"Machmon\",\n next_evolutions: [\"5-113\", \"5-025\", \"5-066\", \"5-065\", \"5-091\"],\n stage: 4,\n sprite: \"machmon\",\n id: \"4-073\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=machmon\",\n },\n {\n name_en: \"MadLeomon\",\n name_jp: \"MadLeomon\",\n next_evolutions: [\"5-011\", \"5-009\", \"5-067\", \"5-065\", \"5-114\", \"5-053\", \"5-134\"],\n stage: 4,\n sprite: \"madleomon\",\n id: \"4-074\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=madleomon\",\n },\n {\n name_en: \"Manbomon\",\n name_jp: \"Manbomon\",\n next_evolutions: [\"5-115\", \"5-032\"],\n stage: 4,\n sprite: \"manbomon\",\n id: \"4-075\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=manbomon\",\n },\n {\n name_en: \"Mantaraymon X\",\n name_jp: \"Mantaraymon X\",\n next_evolutions: [\"5-060\", \"5-072\", \"5-102\"],\n stage: 4,\n sprite: \"mantaraymon_x\",\n id: \"4-076\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mantaraymon_x\",\n },\n {\n name_en: \"Meicoomon\",\n name_jp: \"Meicoomon\",\n next_evolutions: [\"5-078\", \"5-079\"],\n stage: 4,\n sprite: \"meicoomon\",\n id: \"4-077\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=meicoomon\",\n },\n {\n name_en: \"Mekanorimon\",\n name_jp: \"Mechanorimon\",\n next_evolutions: [\"5-137\", \"5-013\", \"5-080\"],\n stage: 4,\n sprite: \"mekanorimon\",\n id: \"4-078\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mechanorimon\",\n },\n {\n name_en: \"Meramon\",\n name_jp: \"Meramon\",\n next_evolutions: [\n \"5-070\",\n \"5-127\",\n \"5-110\",\n \"5-139\",\n \"5-107\",\n \"5-016\",\n \"5-002\",\n \"5-041\",\n \"5-048\",\n \"5-061\",\n \"5-145\",\n \"5-149\",\n ],\n stage: 4,\n sprite: \"meramon\",\n id: \"4-079\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=meramon\",\n },\n {\n name_en: \"Meramon X\",\n name_jp: \"Meramon X\",\n next_evolutions: [\"5-026\", \"5-047\", \"5-103\", \"5-071\", \"5-044\"],\n stage: 4,\n sprite: \"meramon_x\",\n id: \"4-080\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=meramon_x\",\n },\n {\n name_en: \"Mimicmon\",\n name_jp: \"Mimicmon\",\n next_evolutions: [\"5-036\", \"5-075\", \"5-122\"],\n stage: 4,\n sprite: \"mimicmon\",\n id: \"4-081\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mimicmon\",\n },\n {\n name_en: \"Minotarumon\",\n name_jp: \"Minotaurmon\",\n next_evolutions: [\"5-113\", \"5-066\"],\n stage: 4,\n sprite: \"minotarumon\",\n id: \"4-082\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=minotaurmon\",\n },\n {\n name_en: \"Mojyamon\",\n name_jp: \"Mojyamon\",\n next_evolutions: [\"5-109\", \"5-018\", \"5-040\", \"5-057\", \"5-028\", \"5-009\"],\n stage: 4,\n sprite: \"mojyamon\",\n id: \"4-083\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mojyamon\",\n },\n {\n name_en: \"Monochromon\",\n name_jp: \"Monochromon\",\n next_evolutions: [\n \"5-080\",\n \"5-131\",\n \"5-052\",\n \"5-109\",\n \"5-121\",\n \"5-004\",\n \"5-040\",\n \"5-072\",\n \"5-088\",\n \"5-126\",\n \"5-087\",\n ],\n stage: 4,\n sprite: \"monochromon\",\n id: \"4-084\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=monochromon\",\n },\n {\n name_en: \"Nanimon\",\n name_jp: \"Nanimon\",\n next_evolutions: [\"5-030\"],\n stage: 4,\n sprite: \"nanimon\",\n id: \"4-085\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=nanimon\",\n },\n {\n name_en: \"Nefertimon X\",\n name_jp: \"Nefertimon X\",\n next_evolutions: [\"5-084\", \"5-072\", \"5-083\"],\n stage: 4,\n sprite: \"nefertimon_x\",\n id: \"4-086\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=nefertimon_x\",\n },\n {\n name_en: \"Ninjamon\",\n name_jp: \"Igamon\",\n next_evolutions: [\"5-091\", \"5-087\", \"5-139\", \"5-004\", \"5-010\"],\n stage: 4,\n sprite: \"ninjamon\",\n id: \"4-087\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=igamon\",\n },\n {\n name_en: \"Numemon\",\n name_jp: \"Numemon\",\n next_evolutions: [\"5-095\", \"5-051\", \"5-039\"],\n stage: 4,\n sprite: \"numemon\",\n id: \"4-088\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=numemon\",\n },\n {\n name_en: \"Numemon X\",\n name_jp: \"Numemon X\",\n next_evolutions: [\"5-089\", \"5-102\", \"5-060\", \"5-132\", \"5-128\", \"5-053\", \"5-099\", \"5-083\", \"5-084\", \"5-092\"],\n stage: 4,\n sprite: \"numemon_x\",\n id: \"4-089\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=numemon_x\",\n },\n {\n name_en: \"Octomon\",\n name_jp: \"Octmon\",\n next_evolutions: [\"5-035\", \"5-032\", \"5-077\", \"5-118\", \"5-076\", \"5-082\", \"5-049\", \"5-085\", \"5-108\"],\n stage: 4,\n sprite: \"octomon\",\n id: \"4-090\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=octmon\",\n },\n {\n name_en: \"Ogremon\",\n name_jp: \"Orgemon\",\n next_evolutions: [\"5-003\", \"5-057\", \"5-070\", \"5-100\", \"5-087\", \"5-118\"],\n stage: 4,\n sprite: \"ogremon\",\n id: \"4-091\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=orgemon\",\n },\n {\n name_en: \"Ogremon X\",\n name_jp: \"Orgemon X\",\n next_evolutions: [\"5-099\", \"5-074\", \"5-092\", \"5-072\"],\n stage: 4,\n sprite: \"ogremon_x\",\n id: \"4-092\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=orgemon_x\",\n },\n {\n name_en: \"Omekamon\",\n name_jp: \"Omekamon\",\n next_evolutions: [\n \"5-024\",\n \"5-054\",\n \"5-110\",\n \"5-071\",\n \"5-103\",\n \"5-026\",\n \"5-034\",\n \"5-096\",\n \"5-116\",\n \"5-051\",\n \"5-047\",\n \"5-146\",\n ],\n stage: 4,\n sprite: \"omekamon\",\n id: \"4-093\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=omekamon\",\n },\n {\n name_en: \"Paledramon\",\n name_jp: \"Paledramon\",\n next_evolutions: [\"5-024\", \"5-110\", \"5-026\", \"5-034\", \"5-116\", \"5-051\", \"5-022\", \"5-073\", \"5-146\"],\n stage: 4,\n sprite: \"paledramon\",\n id: \"4-094\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=paledramon\",\n },\n {\n name_en: \"Parasaurmon\",\n name_jp: \"Parasaurmon\",\n next_evolutions: [\"5-130\", \"5-050\", \"5-037\", \"5-063\", \"5-014\", \"5-055\"],\n stage: 4,\n sprite: \"parasaurmon\",\n id: \"4-095\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=parasaurmon\",\n },\n {\n name_en: \"Peckmon\",\n name_jp: \"Peckmon\",\n next_evolutions: [\"5-106\", \"5-050\", \"5-054\"],\n stage: 4,\n sprite: \"peckmon\",\n id: \"4-096\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=peckmon\",\n },\n {\n name_en: \"Pegasusmon X\",\n name_jp: \"Pegasmon X\",\n next_evolutions: [\"5-096\", \"5-051\", \"5-005\", \"5-047\"],\n stage: 4,\n sprite: \"pegasusmon_x\",\n id: \"4-097\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pegasmon_x\",\n },\n {\n name_en: \"Petermon\",\n name_jp: \"Petermon\",\n next_evolutions: [\"5-062\", \"5-050\", \"5-106\", \"5-037\"],\n stage: 4,\n sprite: \"petermon\",\n id: \"4-098\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=petermon\",\n },\n {\n name_en: \"Porcupamon\",\n name_jp: \"Porcupamon\",\n next_evolutions: [\"5-009\", \"5-011\", \"5-027\", \"5-125\"],\n stage: 4,\n sprite: \"porcupamon\",\n id: \"4-099\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=porcupamon\",\n },\n {\n name_en: \"Pteramon X\",\n name_jp: \"Pteranomon X\",\n next_evolutions: [\"5-044\", \"5-017\", \"5-071\"],\n stage: 4,\n sprite: \"pteramon_x\",\n id: \"4-100\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pteranomon_x\",\n },\n {\n name_en: \"Raremon\",\n name_jp: \"Raremon\",\n next_evolutions: [\"5-040\", \"5-093\", \"5-113\", \"5-038\", \"5-065\", \"5-091\", \"5-066\"],\n stage: 4,\n sprite: \"raremon\",\n id: \"4-101\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=raremon\",\n },\n {\n name_en: \"RedVegiemon\",\n name_jp: \"RedVegimon\",\n next_evolutions: [\"5-042\", \"5-029\", \"5-020\"],\n stage: 4,\n sprite: \"redvegiemon\",\n id: \"4-102\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=redvegimon\",\n },\n {\n name_en: \"Reppamon\",\n name_jp: \"Reppamon\",\n next_evolutions: [\"5-012\", \"5-115\", \"5-111\", \"5-075\", \"5-109\", \"5-030\", \"5-045\"],\n stage: 4,\n sprite: \"reppamon\",\n id: \"4-103\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=reppamon\",\n },\n {\n name_en: \"Rhinomon X\",\n name_jp: \"Rhinomon X\",\n next_evolutions: [\"5-140\", \"5-136\", \"5-023\"],\n stage: 4,\n sprite: \"rhinomon_x\",\n id: \"4-104\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rhinomon_x\",\n },\n {\n name_en: \"Roachmon\",\n name_jp: \"Gokimon\",\n next_evolutions: [\"5-008\", \"5-118\", \"5-104\", \"5-031\", \"5-055\", \"5-105\", \"5-148\"],\n stage: 4,\n sprite: \"roachmon\",\n id: \"4-105\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gokimon\",\n },\n {\n name_en: \"Sangloupmon\",\n name_jp: \"Sangloupmon\",\n next_evolutions: [\"5-067\", \"5-019\", \"5-125\"],\n stage: 4,\n sprite: \"sangloupmon\",\n id: \"4-106\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sangloupmon\",\n },\n {\n name_en: \"Seadramon\",\n name_jp: \"Seadramon\",\n next_evolutions: [\"5-070\", \"5-082\", \"5-141\", \"5-032\", \"5-035\", \"5-076\", \"5-108\", \"5-049\", \"5-085\"],\n stage: 4,\n sprite: \"seadramon\",\n id: \"4-107\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=seadramon\",\n },\n {\n name_en: \"Seadramon X\",\n name_jp: \"Seadramon X\",\n next_evolutions: [\"5-083\", \"5-072\", \"5-074\"],\n stage: 4,\n sprite: \"seadramon_x\",\n id: \"4-108\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=seadramon_x\",\n },\n {\n name_en: \"Seasarmon X\",\n name_jp: \"Siesamon X\",\n next_evolutions: [\"5-103\", \"5-034\", \"5-044\", \"5-047\", \"5-146\"],\n stage: 4,\n sprite: \"seasarmon_x\",\n id: \"4-109\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=siesamon_x\",\n },\n {\n name_en: \"Shadramon\",\n name_jp: \"Shadramon\",\n next_evolutions: [\"5-027\", \"5-009\", \"5-031\", \"5-055\", \"5-105\"],\n stage: 4,\n sprite: \"shadramon\",\n id: \"4-110\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shadramon\",\n },\n {\n name_en: \"Shellmon\",\n name_jp: \"Shellmon\",\n next_evolutions: [\"5-003\", \"5-057\", \"5-138\", \"5-049\", \"5-085\", \"5-108\", \"5-035\", \"5-076\"],\n stage: 4,\n sprite: \"shellmon\",\n id: \"4-111\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shellmon\",\n },\n {\n name_en: \"ShellNumemon\",\n name_jp: \"KaratukiNumemon\",\n next_evolutions: [\"5-130\", \"5-119\", \"5-124\", \"5-085\", \"5-108\"],\n stage: 4,\n sprite: \"shellnumemon\",\n id: \"4-112\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=karatukinumemon\",\n },\n {\n name_en: \"Shoutmon X3\",\n name_jp: \"Shoutmon X3\",\n next_evolutions: [\"5-122\", \"5-115\", \"5-135\"],\n stage: 4,\n sprite: \"shoutmon_x3\",\n id: \"4-113\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shoutmonx3\",\n },\n {\n name_en: \"Sistermon Ciel\",\n name_jp: \"Sistermon Ciel\",\n next_evolutions: [\"5-021\", \"5-140\", \"5-064\"],\n stage: 4,\n sprite: \"sistermon_ciel\",\n id: \"4-114\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sistermon_ciel\",\n },\n {\n name_en: \"Starmon\",\n name_jp: \"Starmon\",\n next_evolutions: [\"5-109\", \"5-004\", \"5-131\", \"5-121\", \"5-016\", \"5-002\", \"5-129\", \"5-145\", \"5-149\"],\n stage: 4,\n sprite: \"starmon\",\n id: \"4-115\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=starmon\",\n },\n {\n name_en: \"Stingmon\",\n name_jp: \"Stingmon\",\n next_evolutions: [\"5-100\", \"5-031\", \"5-105\", \"5-040\", \"5-057\", \"5-097\", \"5-055\", \"5-004\"],\n stage: 4,\n sprite: \"stingmon\",\n id: \"4-116\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=stingmon\",\n },\n {\n name_en: \"Strikedramon\",\n name_jp: \"Strikedramon\",\n next_evolutions: [\"5-025\", \"5-066\"],\n stage: 4,\n sprite: \"strikedramon\",\n id: \"4-117\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=strikedramon\",\n },\n {\n name_en: \"Submarimon\",\n name_jp: \"Submarimon\",\n next_evolutions: [\"5-138\", \"5-049\", \"5-085\", \"5-108\", \"5-105\"],\n stage: 4,\n sprite: \"submarimon\",\n id: \"4-118\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sabmarimon\",\n },\n {\n name_en: \"Sukamon\",\n name_jp: \"Scumon\",\n next_evolutions: [\"5-039\", \"5-057\"],\n stage: 4,\n sprite: \"sukamon\",\n id: \"4-119\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=scumon\",\n },\n {\n name_en: \"Sunflowmon\",\n name_jp: \"Sunflowmon\",\n next_evolutions: [\"5-062\", \"5-055\", \"5-063\", \"5-130\", \"5-014\", \"5-038\", \"5-017\"],\n stage: 4,\n sprite: \"sunflowmon\",\n id: \"4-120\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sunflowmon\",\n },\n {\n name_en: \"Tankmon\",\n name_jp: \"Tankmon\",\n next_evolutions: [\"5-087\", \"5-003\", \"5-013\", \"5-080\", \"5-058\", \"5-137\"],\n stage: 4,\n sprite: \"tankmon\",\n id: \"4-121\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tankmon\",\n },\n {\n name_en: \"Targetmon\",\n name_jp: \"Targetmon\",\n next_evolutions: [\"5-039\", \"5-036\", \"5-117\"],\n stage: 4,\n sprite: \"targetmon\",\n id: \"4-122\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=targetmon\",\n },\n {\n name_en: \"Thundermon\",\n name_jp: \"Thunderballmon\",\n next_evolutions: [\"5-013\", \"5-025\", \"5-058\", \"5-137\", \"5-045\", \"5-144\"],\n stage: 4,\n sprite: \"thundermon\",\n id: \"4-123\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=thunderballmon\",\n },\n {\n name_en: \"TiaLudomon\",\n name_jp: \"TiaLudomon\",\n next_evolutions: [\"5-111\", \"5-075\", \"5-030\", \"5-109\"],\n stage: 4,\n sprite: \"tialudomon\",\n id: \"4-124\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tialudomon\",\n },\n {\n name_en: \"Tobiumon\",\n name_jp: \"Tobiumon\",\n next_evolutions: [\"5-076\", \"5-049\", \"5-085\", \"5-108\", \"5-035\", \"5-082\", \"5-119\", \"5-138\"],\n stage: 4,\n sprite: \"tobiumon\",\n id: \"4-125\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tobiumon\",\n },\n {\n name_en: \"TobuCatmon\",\n name_jp: \"Tobucatmon\",\n next_evolutions: [\"5-125\", \"5-090\", \"5-023\", \"5-021\", \"5-140\"],\n stage: 4,\n sprite: \"tobucatmon\",\n id: \"4-126\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tobucatmon\",\n },\n {\n name_en: \"Togemon\",\n name_jp: \"Togemon\",\n next_evolutions: [\n \"5-063\",\n \"5-001\",\n \"5-014\",\n \"5-020\",\n \"5-029\",\n \"5-043\",\n \"5-042\",\n \"5-052\",\n \"5-131\",\n \"5-046\",\n \"5-097\",\n \"5-118\",\n \"5-148\",\n ],\n stage: 4,\n sprite: \"togemon\",\n id: \"4-127\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=togemon\",\n },\n {\n name_en: \"Togemon X\",\n name_jp: \"Togemon X\",\n next_evolutions: [\"5-017\", \"5-034\", \"5-026\", \"5-071\", \"5-146\"],\n stage: 4,\n sprite: \"togemon_x\",\n id: \"4-128\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=togemon_x\",\n },\n {\n name_en: \"Tortomon\",\n name_jp: \"Tortamon\",\n next_evolutions: [\"5-081\", \"5-052\", \"5-109\", \"5-046\", \"5-118\", \"5-097\", \"5-131\", \"5-148\"],\n stage: 4,\n sprite: \"tortomon\",\n id: \"4-129\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tortamon\",\n },\n {\n name_en: \"Troopmon\",\n name_jp: \"Troopmon\",\n next_evolutions: [\"5-027\"],\n stage: 4,\n sprite: \"troopmon\",\n id: \"4-130\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=troopmon\",\n },\n {\n name_en: \"Turuiemon\",\n name_jp: \"Turuiemon\",\n next_evolutions: [\"5-021\", \"5-006\", \"5-112\"],\n stage: 4,\n sprite: \"turuiemon\",\n id: \"4-131\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=turuiemon\",\n },\n {\n name_en: \"Tuskmon\",\n name_jp: \"Tuskmon\",\n next_evolutions: [\"5-028\"],\n stage: 4,\n sprite: \"tuskmon\",\n id: \"4-132\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tuskmon\",\n },\n {\n name_en: \"Tylomon\",\n name_jp: \"Tylomon\",\n next_evolutions: [],\n stage: 4,\n sprite: \"tylomon\",\n id: \"4-133\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tylomon\",\n },\n {\n name_en: \"Tylomon X\",\n name_jp: \"Tylomon X\",\n next_evolutions: [\"5-116\", \"5-071\"],\n stage: 4,\n sprite: \"tylomon_x\",\n id: \"4-134\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tylomon_x\",\n },\n {\n name_en: \"Tyrannomon\",\n name_jp: \"Tyranomon\",\n next_evolutions: [\"5-070\", \"5-127\", \"5-048\", \"5-061\"],\n stage: 4,\n sprite: \"tyrannomon\",\n id: \"4-135\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tyranomon\",\n },\n {\n name_en: \"Tyrannomon X\",\n name_jp: \"Tyranomon X\",\n next_evolutions: [\"5-090\", \"5-094\", \"5-023\"],\n stage: 4,\n sprite: \"tyrannomon_x\",\n id: \"4-136\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tyranomon_x\",\n },\n {\n name_en: \"Unimon\",\n name_jp: \"Unimon\",\n next_evolutions: [\"5-003\", \"5-057\", \"5-068\", \"5-046\", \"5-008\"],\n stage: 4,\n sprite: \"unimon\",\n id: \"4-137\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=yunimon\",\n },\n {\n name_en: \"Veedramon\",\n name_jp: \"V-dramon\",\n next_evolutions: [\"5-001\", \"5-043\", \"5-029\", \"5-031\", \"5-030\"],\n stage: 4,\n sprite: \"veedramon\",\n id: \"4-138\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=v-dramon\",\n },\n {\n name_en: \"Vegiemon\",\n name_jp: \"Vegimon\",\n next_evolutions: [\"5-133\", \"5-130\", \"5-037\", \"5-062\", \"5-014\", \"5-063\", \"5-055\"],\n stage: 4,\n sprite: \"vegiemon\",\n id: \"4-139\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=vegimon\",\n },\n {\n name_en: \"Velgrmon\",\n name_jp: \"Velgrmon\",\n next_evolutions: [\"5-060\", \"5-102\", \"5-053\", \"5-072\", \"5-128\", \"5-084\", \"5-092\"],\n stage: 4,\n sprite: \"velgrmon\",\n id: \"4-140\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=velgrmon\",\n },\n {\n name_en: \"Whamon\",\n name_jp: \"Whamon\",\n next_evolutions: [\"5-091\"],\n stage: 4,\n sprite: \"whamon\",\n id: \"4-141\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=whamon\",\n },\n {\n name_en: \"Witchmon\",\n name_jp: \"Witchmon\",\n next_evolutions: [\"5-100\", \"5-040\", \"5-057\", \"5-097\"],\n stage: 4,\n sprite: \"witchmon\",\n id: \"4-142\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=witchmon\",\n },\n {\n name_en: \"Wizardmon\",\n name_jp: \"Wizarmon\",\n next_evolutions: [\"5-110\", \"5-127\", \"5-073\", \"5-107\", \"5-139\", \"5-011\", \"5-098\"],\n stage: 4,\n sprite: \"wizardmon\",\n id: \"4-143\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wizarmon\",\n },\n {\n name_en: \"Wizardmon X\",\n name_jp: \"Wizarmon X\",\n next_evolutions: [\"5-116\", \"5-096\", \"5-119\", \"5-071\"],\n stage: 4,\n sprite: \"wizardmon_x\",\n id: \"4-144\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wizarmon_x\",\n },\n {\n name_en: \"Woodmon\",\n name_jp: \"Woodmon\",\n next_evolutions: [\"5-020\", \"5-029\", \"5-042\"],\n stage: 4,\n sprite: \"woodmon\",\n id: \"4-145\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=woodmon\",\n },\n {\n name_en: \"ZubaEagermon\",\n name_jp: \"Zubaeagermon\",\n next_evolutions: [\"5-036\", \"5-039\", \"5-117\", \"5-010\", \"5-051\"],\n stage: 4,\n sprite: \"zubaeagermon\",\n id: \"4-146\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=zubaeagermon\",\n },\n {\n name_en: \"Bulkmon\",\n name_jp: \"Bulkmon\",\n next_evolutions: [\"5-144\"],\n stage: 4,\n sprite: \"bulkmon\",\n id: \"4-147\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bulkmon\",\n },\n {\n name_en: \"Fugamon\",\n name_jp: \"Fugamon\",\n next_evolutions: [],\n stage: 4,\n sprite: \"fugamon\",\n id: \"4-148\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=fugamon\",\n },\n {\n name_en: \"Hyogamon\",\n name_jp: \"Hyougamon\",\n next_evolutions: [\"5-024\", \"5-073\"],\n stage: 4,\n sprite: \"hyogamon\",\n id: \"4-149\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hyougamon\",\n },\n {\n name_en: \"Piddomon\",\n name_jp: \"Pidmon\",\n next_evolutions: [\"5-043\"],\n stage: 4,\n sprite: \"piddomon\",\n id: \"4-150\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pidmon\",\n },\n {\n name_en: \"Rhinomon\",\n name_jp: \"Rhinomon\",\n next_evolutions: [],\n stage: 4,\n sprite: \"rhinomon\",\n id: \"4-151\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rhinomon\",\n },\n {\n name_en: \"Saberdramon\",\n name_jp: \"Saberdramon\",\n next_evolutions: [\"5-025\", \"5-098\", \"5-107\", \"5-011\", \"5-110\"],\n stage: 4,\n sprite: \"saberdramon\",\n id: \"4-152\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=saberdramon\",\n },\n {\n name_en: \"AeroVeedramon\",\n name_jp: \"AeroV-dramon\",\n next_evolutions: [\"6-137\", \"6-105\", \"6-114\", \"6-084\", \"7-019\"],\n stage: 5,\n sprite: \"aeroveedramon\",\n id: \"5-001\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=earov-dramon\",\n },\n {\n name_en: \"Aldamon\",\n name_jp: \"Aldamon\",\n next_evolutions: [\"6-048\", \"6-005\", \"6-011\"],\n stage: 5,\n sprite: \"aldamon\",\n id: \"5-002\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=aldamon\",\n },\n {\n name_en: \"Andromon\",\n name_jp: \"Andromon\",\n next_evolutions: [\"6-068\", \"6-091\", \"6-080\", \"5-033\", \"6-143\", \"6-028\", \"6-125\"],\n stage: 5,\n sprite: \"andromon\",\n id: \"5-003\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=andromon\",\n },\n {\n name_en: \"Angewomon\",\n name_jp: \"Angewomon\",\n next_evolutions: [\"6-081\", \"6-066\", \"6-090\", \"7-029\", \"6-100\", \"6-020\", \"6-139\", \"7-020\"],\n stage: 5,\n sprite: \"angewomon\",\n id: \"5-004\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=angewomon\",\n },\n {\n name_en: \"Angewomon X\",\n name_jp: \"Angewomon X\",\n next_evolutions: [\"6-101\", \"6-043\", \"6-082\", \"6-046\"],\n stage: 5,\n sprite: \"angewomon_x\",\n id: \"5-005\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=angewomon_x\",\n },\n {\n name_en: \"Antylamon\",\n name_jp: \"Andiramon\",\n next_evolutions: [\"6-033\", \"6-087\"],\n stage: 5,\n sprite: \"antylamon_deva\",\n id: \"5-006\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=andiramon\",\n },\n {\n name_en: \"Argomon\",\n name_jp: \"Algomon\",\n next_evolutions: [\"6-016\", \"6-055\", \"5-033\"],\n stage: 5,\n sprite: \"argomon_perfect\",\n id: \"5-007\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=algomon-ultimate\",\n },\n {\n name_en: \"Arukenimon\",\n name_jp: \"Archnemon\",\n next_evolutions: [\"6-114\", \"6-085\", \"6-003\", \"6-020\", \"6-098\"],\n stage: 5,\n sprite: \"arukenimon\",\n id: \"5-008\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=archnemon\",\n },\n {\n name_en: \"Astamon\",\n name_jp: \"Astamon\",\n next_evolutions: [\"6-026\", \"6-045\", \"6-007\", \"6-065\"],\n stage: 5,\n sprite: \"astamon\",\n id: \"5-009\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=astamon\",\n },\n {\n name_en: \"Asuramon\",\n name_jp: \"Asuramon\",\n next_evolutions: [\"6-143\", \"6-091\", \"6-044\", \"6-104\"],\n stage: 5,\n sprite: \"asuramon\",\n id: \"5-010\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=asuramon\",\n },\n {\n name_en: \"Baalmon\",\n name_jp: \"Baalmon\",\n next_evolutions: [\"6-025\", \"7-005\", \"6-099\", \"6-107\"],\n stage: 5,\n sprite: \"baalmon\",\n id: \"5-011\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=baalmon\",\n },\n {\n name_en: \"Beowolfmon\",\n name_jp: \"Beowolfmon\",\n next_evolutions: [\"6-074\", \"6-083\", \"6-004\", \"6-008\"],\n stage: 5,\n sprite: \"beowolfmon\",\n id: \"5-012\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=beowolfmon\",\n },\n {\n name_en: \"BigMamemon\",\n name_jp: \"BigMamemon\",\n next_evolutions: [\"6-091\", \"6-068\", \"6-141\", \"6-098\", \"6-038\"],\n stage: 5,\n sprite: \"bigmamemon\",\n id: \"5-013\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bigmamemon\",\n },\n {\n name_en: \"Blossomon\",\n name_jp: \"Blossomon\",\n next_evolutions: [\"6-114\", \"6-137\", \"6-063\"],\n stage: 5,\n sprite: \"blossomon\",\n id: \"5-014\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=blossomon\",\n },\n {\n name_en: \"Bulbmon\",\n name_jp: \"Valvemon\",\n next_evolutions: [\"6-091\", \"6-038\", \"6-098\"],\n stage: 5,\n sprite: \"bulbmon\",\n id: \"5-015\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=valvemon\",\n },\n {\n name_en: \"BurningGreymon\",\n name_jp: \"Vritramon\",\n next_evolutions: [\"6-048\", \"6-005\", \"6-011\"],\n stage: 5,\n sprite: \"burninggreymon\",\n id: \"5-016\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=vritramon\",\n },\n {\n name_en: \"CannonBeemon\",\n name_jp: \"CannonBeemon\",\n next_evolutions: [\"6-135\", \"6-043\", \"6-116\", \"6-082\", \"6-046\", \"6-066\", \"6-061\"],\n stage: 5,\n sprite: \"cannonbeemon\",\n id: \"5-017\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cannonbeemon\",\n },\n {\n name_en: \"Cerberusmon\",\n name_jp: \"Cerberumon\",\n next_evolutions: [\"6-013\", \"6-055\", \"6-009\", \"6-060\"],\n stage: 5,\n sprite: \"cerberusmon\",\n id: \"5-018\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cerberumon\",\n },\n {\n name_en: \"Cerberusmon X\",\n name_jp: \"Cerberumon X\",\n next_evolutions: [\"6-127\", \"7-022\", \"6-085\", \"7-021\", \"6-108\"],\n stage: 5,\n sprite: \"cerberusmon_x\",\n id: \"5-019\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cerberumon_x\",\n },\n {\n name_en: \"Cherrymon\",\n name_jp: \"Jyureimon\",\n next_evolutions: [\"6-113\", \"6-123\"],\n stage: 5,\n sprite: \"cherrymon\",\n id: \"5-020\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jyureimon\",\n },\n {\n name_en: \"Cho-Hakkaimon\",\n name_jp: \"Cho-Hakkaimon\",\n next_evolutions: [\"6-024\", \"7-009\", \"6-092\", \"6-085\", \"6-108\"],\n stage: 5,\n sprite: \"cho_hakkaimon\",\n id: \"5-021\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chohakkaimon\",\n },\n {\n name_en: \"Crescemon\",\n name_jp: \"Crescemon\",\n next_evolutions: [\"6-041\", \"6-067\", \"6-007\", \"6-130\", \"6-026\", \"6-096\"],\n stage: 5,\n sprite: \"crescemon\",\n id: \"5-022\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=crescemon\",\n },\n {\n name_en: \"Crowmon\",\n name_jp: \"Yatagaramon\",\n next_evolutions: [\"6-127\", \"6-140\", \"6-085\", \"6-108\", \"6-024\", \"6-120\", \"6-006\", \"6-010\", \"6-093\"],\n stage: 5,\n sprite: \"crowmon\",\n id: \"5-023\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=yatagaramon\",\n },\n {\n name_en: \"CrysPaledramon\",\n name_jp: \"CrysPaledramon\",\n next_evolutions: [\"6-067\", \"6-082\", \"6-070\", \"6-002\", \"6-058\", \"6-104\", \"6-007\", \"6-130\"],\n stage: 5,\n sprite: \"cryspaledramon\",\n id: \"5-024\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cryspaledramon\",\n },\n {\n name_en: \"Cyberdramon\",\n name_jp: \"Cyberdramon\",\n next_evolutions: [\"6-068\", \"6-141\", \"6-065\", \"6-049\", \"6-143\", \"6-071\"],\n stage: 5,\n sprite: \"cyberdramon\",\n id: \"5-025\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cyberdramon\",\n },\n {\n name_en: \"Cyberdramon X\",\n name_jp: \"Cyberdramon X\",\n next_evolutions: [\"6-070\", \"6-106\", \"6-082\", \"6-135\", \"6-051\", \"6-046\"],\n stage: 5,\n sprite: \"cyberdramon_x\",\n id: \"5-026\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cyberdramon_x\",\n },\n {\n name_en: \"DarkKnightmon\",\n name_jp: \"DarkKnightmon\",\n next_evolutions: [\"6-026\", \"6-025\", \"7-011\"],\n stage: 5,\n sprite: \"darkknightmon\",\n id: \"5-027\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darkknightmon\",\n },\n {\n name_en: \"Datamon\",\n name_jp: \"Nanomon\",\n next_evolutions: [\"6-045\"],\n stage: 5,\n sprite: \"datamon\",\n id: \"5-028\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=nanomon\",\n },\n {\n name_en: \"Deramon\",\n name_jp: \"Delumon\",\n next_evolutions: [\"6-063\", \"6-105\", \"6-123\", \"6-113\"],\n stage: 5,\n sprite: \"deramon\",\n id: \"5-029\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=delumon\",\n },\n {\n name_en: \"Digitamamon\",\n name_jp: \"Digitamamon\",\n next_evolutions: [\"6-054\", \"6-136\", \"6-137\", \"6-084\", \"7-019\", \"6-031\", \"6-107\"],\n stage: 5,\n sprite: \"digitamamon\",\n id: \"5-030\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=digitamamon\",\n },\n {\n name_en: \"Dinobeemon\",\n name_jp: \"Dinobeemon\",\n next_evolutions: [\n \"6-061\",\n \"6-013\",\n \"6-055\",\n \"6-088\",\n \"6-062\",\n \"6-065\",\n \"6-064\",\n \"7-020\",\n \"7-019\",\n \"6-137\",\n \"6-084\",\n \"6-081\",\n ],\n stage: 5,\n sprite: \"dinobeemon\",\n id: \"5-031\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dinobeemon\",\n },\n {\n name_en: \"Divermon\",\n name_jp: \"Hangyomon\",\n next_evolutions: [\"6-109\", \"6-086\", \"6-008\", \"6-112\"],\n stage: 5,\n sprite: \"divermon\",\n id: \"5-032\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hangyomon\",\n },\n {\n name_en: \"DoneDevimon\",\n name_jp: \"NeoDevimon\",\n next_evolutions: [\"6-055\", \"6-088\", \"6-028\", \"6-143\"],\n stage: 5,\n sprite: \"donedevimon\",\n id: \"5-033\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=neodevimon\",\n },\n {\n name_en: \"DoruGreymon\",\n name_jp: \"DORUguremon\",\n next_evolutions: [\"6-002\", \"6-051\", \"6-082\", \"6-043\", \"6-150\"],\n stage: 5,\n sprite: \"dorugreymon\",\n id: \"5-034\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=doruguremon\",\n },\n {\n name_en: \"Dragomon\",\n name_jp: \"Dagomon\",\n next_evolutions: [\"6-112\", \"6-109\", \"6-095\", \"6-121\"],\n stage: 5,\n sprite: \"dragomon\",\n id: \"5-035\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dagomon\",\n },\n {\n name_en: \"Duramon\",\n name_jp: \"Duramon\",\n next_evolutions: [\"6-044\", \"6-129\", \"6-057\", \"6-004\", \"6-104\"],\n stage: 5,\n sprite: \"duramon\",\n id: \"5-036\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=duramon\",\n },\n {\n name_en: \"Entmon\",\n name_jp: \"Entmon\",\n next_evolutions: [\"6-047\", \"6-103\", \"6-010\"],\n stage: 5,\n sprite: \"entmon\",\n id: \"5-037\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=entmon\",\n },\n {\n name_en: \"Eosmon\",\n name_jp: \"Eosmon\",\n next_evolutions: [\"6-049\", \"6-062\", \"6-012\", \"6-135\", \"6-149\"],\n stage: 5,\n sprite: \"eosmon_perfect\",\n id: \"5-038\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=eosmon_lv5\",\n },\n {\n name_en: \"Etemon\",\n name_jp: \"Etemon\",\n next_evolutions: [\"6-021\", \"6-073\", \"6-090\"],\n stage: 5,\n sprite: \"etemon\",\n id: \"5-039\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=etemon\",\n },\n {\n name_en: \"ExTyrannomon\",\n name_jp: \"Ex-Tyranomon\",\n next_evolutions: [\"6-051\", \"6-113\", \"6-013\", \"6-055\", \"6-009\"],\n stage: 5,\n sprite: \"extyrannomon\",\n id: \"5-040\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ex-tyranomon\",\n },\n {\n name_en: \"Flaremon\",\n name_jp: \"Flaremon\",\n next_evolutions: [\"6-015\", \"6-011\", \"6-142\", \"6-096\", \"6-065\"],\n stage: 5,\n sprite: \"flaremon\",\n id: \"5-041\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=flaremon\",\n },\n {\n name_en: \"Garbagemon\",\n name_jp: \"Gerbemon\",\n next_evolutions: [\"6-114\", \"6-113\"],\n stage: 5,\n sprite: \"garbagemon\",\n id: \"5-042\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gerbemon\",\n },\n {\n name_en: \"Garudamon\",\n name_jp: \"Garudamon\",\n next_evolutions: [\"6-105\", \"6-137\", \"6-063\"],\n stage: 5,\n sprite: \"garudamon\",\n id: \"5-043\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=garudamon\",\n },\n {\n name_en: \"Garudamon X\",\n name_jp: \"Garudamon X\",\n next_evolutions: [\"6-082\", \"6-106\", \"6-135\", \"6-051\", \"6-046\"],\n stage: 5,\n sprite: \"garudamon_x\",\n id: \"5-044\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=garudamon_x\",\n },\n {\n name_en: \"Giromon\",\n name_jp: \"Giromon\",\n next_evolutions: [],\n stage: 5,\n sprite: \"giromon\",\n id: \"5-045\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=giromon\",\n },\n {\n name_en: \"Gogmamon\",\n name_jp: \"Gogmamon\",\n next_evolutions: [\"6-011\", \"6-081\", \"6-096\", \"6-042\", \"6-009\"],\n stage: 5,\n sprite: \"gogmamon\",\n id: \"5-046\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gogmamon\",\n },\n {\n name_en: \"Grademon\",\n name_jp: \"Grademon\",\n next_evolutions: [\"6-051\", \"6-099\", \"6-046\", \"6-002\", \"6-070\", \"6-106\", \"6-058\", \"6-104\", \"6-150\"],\n stage: 5,\n sprite: \"grademon\",\n id: \"5-047\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=grademon\",\n },\n {\n name_en: \"Groundramon\",\n name_jp: \"Groundramon\",\n next_evolutions: [\"6-030\", \"6-011\", \"6-142\", \"6-069\"],\n stage: 5,\n sprite: \"groundramon\",\n id: \"5-048\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=groundramon\",\n },\n {\n name_en: \"Gusokumon\",\n name_jp: \"Gusokumon\",\n next_evolutions: [\"6-121\", \"6-001\", \"6-008\", \"6-095\", \"6-109\"],\n stage: 5,\n sprite: \"gusokumon\",\n id: \"5-049\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gusokumon\",\n },\n {\n name_en: \"HippoGryphonmon\",\n name_jp: \"Hippogriffomon\",\n next_evolutions: [\"6-103\", \"6-010\", \"6-047\", \"6-145\", \"6-107\"],\n stage: 5,\n sprite: \"hippogryphonmon\",\n id: \"5-050\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hippogriffomon\",\n },\n {\n name_en: \"Hisyaryumon\",\n name_jp: \"Hisyaryumon\",\n next_evolutions: [\"6-104\", \"6-051\", \"6-110\", \"6-082\", \"6-044\", \"6-098\"],\n stage: 5,\n sprite: \"hisyaryumon\",\n id: \"5-051\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hisyaryumon\",\n },\n {\n name_en: \"Jagamon\",\n name_jp: \"Jyagamon\",\n next_evolutions: [\"6-066\", \"6-126\", \"6-081\", \"6-009\", \"6-042\"],\n stage: 5,\n sprite: \"jagamon\",\n id: \"5-052\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jyagamon\",\n },\n {\n name_en: \"JagerLoweemon\",\n name_jp: \"KaiserLeomon\",\n next_evolutions: [\"6-102\", \"6-138\", \"6-122\", \"6-019\", \"6-024\", \"6-035\", \"6-042\", \"6-009\", \"6-055\", \"6-043\"],\n stage: 5,\n sprite: \"jagerloweemon\",\n id: \"5-053\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kaiserleomon\",\n },\n {\n name_en: \"Jazarichmon\",\n name_jp: \"Jazarichmon\",\n next_evolutions: [\"6-093\", \"6-046\", \"6-116\", \"6-135\", \"6-106\", \"6-101\", \"6-110\", \"6-034\", \"6-105\"],\n stage: 5,\n sprite: \"jazarichmon\",\n id: \"5-054\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jazarichmon\",\n },\n {\n name_en: \"JewelBeemon\",\n name_jp: \"Jewelbeemon\",\n next_evolutions: [\"6-003\", \"6-081\", \"6-020\", \"6-114\", \"6-061\", \"7-020\"],\n stage: 5,\n sprite: \"jewelbeemon\",\n id: \"5-055\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jewelbeemon\",\n },\n {\n name_en: \"KendoGarurumon\",\n name_jp: \"Garummon\",\n next_evolutions: [\"6-083\", \"6-004\", \"6-008\"],\n stage: 5,\n sprite: \"kendogarurumon\",\n id: \"5-056\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=garummon\",\n },\n {\n name_en: \"Kimeramon\",\n name_jp: \"Chimairamon\",\n next_evolutions: [\"6-021\", \"6-088\", \"6-013\", \"6-055\", \"5-033\", \"6-138\", \"6-017\", \"6-139\", \"7-019\", \"7-045\"],\n stage: 5,\n sprite: \"kimeramon\",\n id: \"5-057\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chimairamon\",\n },\n {\n name_en: \"Knightmon\",\n name_jp: \"Knightmon\",\n next_evolutions: [\"6-143\", \"6-141\", \"6-091\", \"6-036\", \"6-072\", \"6-077\"],\n stage: 5,\n sprite: \"knightmon\",\n id: \"5-058\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=knightmon\",\n },\n {\n name_en: \"LadyDevimon\",\n name_jp: \"LadyDevimon\",\n next_evolutions: [\"6-107\", \"6-037\", \"6-099\", \"7-029\", \"6-076\"],\n stage: 5,\n sprite: \"ladydevimon\",\n id: \"5-059\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ladydevimon\",\n },\n {\n name_en: \"LadyDevimon X\",\n name_jp: \"LadyDevimon X\",\n next_evolutions: [\"6-102\", \"6-059\", \"6-124\", \"6-024\"],\n stage: 5,\n sprite: \"ladydevimon_x\",\n id: \"5-060\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ladydevimon_x\",\n },\n {\n name_en: \"Lavogaritamon\",\n name_jp: \"Lavogaritamon\",\n next_evolutions: [\"6-142\", \"6-011\"],\n stage: 5,\n sprite: \"lavogaritamon\",\n id: \"5-061\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lavogaritamon\",\n },\n {\n name_en: \"Lilamon\",\n name_jp: \"Lilamon\",\n next_evolutions: [\"6-010\", \"6-006\", \"6-120\", \"6-103\", \"6-078\", \"6-123\"],\n stage: 5,\n sprite: \"lilamon\",\n id: \"5-062\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lilamon\",\n },\n {\n name_en: \"Lillymon\",\n name_jp: \"Lilimon\",\n next_evolutions: [\"6-123\", \"6-105\", \"6-114\", \"6-149\"],\n stage: 5,\n sprite: \"lillymon\",\n id: \"5-063\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lilimon\",\n },\n {\n name_en: \"Lillymon X\",\n name_jp: \"Lilimon X\",\n next_evolutions: [\"6-114\", \"6-024\", \"6-140\", \"6-108\"],\n stage: 5,\n sprite: \"lillymon_x\",\n id: \"5-064\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lilimon_x\",\n },\n {\n name_en: \"LoaderLeomon\",\n name_jp: \"LoaderLeomon\",\n next_evolutions: [\"6-009\", \"6-043\", \"6-055\", \"6-062\", \"6-065\", \"6-080\"],\n stage: 5,\n sprite: \"loaderleomon\",\n id: \"5-065\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=loaderleomon\",\n },\n {\n name_en: \"Locomon\",\n name_jp: \"Locomon\",\n next_evolutions: [\"6-062\", \"6-049\", \"6-065\", \"6-012\", \"6-080\"],\n stage: 5,\n sprite: \"locomon\",\n id: \"5-066\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=locomon\",\n },\n {\n name_en: \"Lucemon: Chaos Mode\",\n name_jp: \"Lucemon: Falldown Mode\",\n next_evolutions: [\"7-004\", \"6-144\", \"6-085\", \"6-114\", \"6-108\", \"6-023\", \"6-079\"],\n stage: 5,\n sprite: \"lucemon_chaos_mode\",\n id: \"5-067\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rucemonfalldownmode\",\n },\n {\n name_en: \"MachGaogamon\",\n name_jp: \"MachGaogamon\",\n next_evolutions: [\"6-096\", \"6-081\", \"6-020\", \"6-011\", \"6-041\"],\n stage: 5,\n sprite: \"machgaogamon\",\n id: \"5-068\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=machgaogamon\",\n },\n {\n name_en: \"MagnaAngemon\",\n name_jp: \"HolyAngemon\",\n next_evolutions: [\"6-143\", \"6-091\", \"6-128\", \"6-057\", \"6-018\", \"6-084\", \"6-146\"],\n stage: 5,\n sprite: \"magnaangemon\",\n id: \"5-069\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=holyangemon\",\n },\n {\n name_en: \"Mamemon\",\n name_jp: \"Mamemon\",\n next_evolutions: [\"6-022\", \"5-033\", \"6-028\", \"6-143\"],\n stage: 5,\n sprite: \"mamemon\",\n id: \"5-070\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mamemon\",\n },\n {\n name_en: \"Mamemon X\",\n name_jp: \"Mamemon X\",\n next_evolutions: [\"6-082\", \"6-043\", \"6-046\", \"6-070\", \"6-067\", \"6-093\", \"6-058\", \"6-034\"],\n stage: 5,\n sprite: \"mamemon_x\",\n id: \"5-071\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mamemon_x\",\n },\n {\n name_en: \"Mametyramon\",\n name_jp: \"Mametyramon\",\n next_evolutions: [\"6-111\", \"6-027\", \"6-019\", \"6-122\", \"6-032\", \"6-094\", \"6-118\", \"6-124\", \"6-040\", \"6-051\"],\n stage: 5,\n sprite: \"mametyramon\",\n id: \"5-072\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mametyramon\",\n },\n {\n name_en: \"Mammothmon\",\n name_jp: \"Mammon\",\n next_evolutions: [\"6-130\", \"6-013\", \"6-029\", \"6-007\", \"6-067\"],\n stage: 5,\n sprite: \"mammothmon\",\n id: \"5-073\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mammon\",\n },\n {\n name_en: \"Mammothmon X\",\n name_jp: \"Mammon X\",\n next_evolutions: [\"6-059\", \"6-102\", \"6-056\", \"6-035\", \"6-131\", \"6-024\", \"6-124\"],\n stage: 5,\n sprite: \"mammothmon_x\",\n id: \"5-074\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mammon_x\",\n },\n {\n name_en: \"Manticoremon\",\n name_jp: \"Manticoremon\",\n next_evolutions: [\"6-005\", \"6-052\", \"6-018\", \"6-031\"],\n stage: 5,\n sprite: \"manticoremon\",\n id: \"5-075\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=manticoremon\",\n },\n {\n name_en: \"MarineChimairamon\",\n name_jp: \"MarinChimairamon\",\n next_evolutions: [\"6-121\", \"6-086\", \"6-007\", \"6-109\", \"6-095\", \"6-056\", \"6-108\", \"6-146\"],\n stage: 5,\n sprite: \"marinechimairamon\",\n id: \"5-076\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=marinchimairamon\",\n },\n {\n name_en: \"MarineDevimon\",\n name_jp: \"MarinDevimon\",\n next_evolutions: [\"6-095\", \"6-112\", \"6-086\", \"6-008\"],\n stage: 5,\n sprite: \"marinedevimon\",\n id: \"5-077\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=marindevimon\",\n },\n {\n name_en: \"Maycrackmon\",\n name_jp: \"Meicrackmon\",\n next_evolutions: [\"6-119\"],\n stage: 5,\n sprite: \"maycrackmon\",\n id: \"5-078\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=meicrackmon\",\n },\n {\n name_en: \"Maycrackmon: Vicious Mode\",\n name_jp: \"Meicrackmon: Vicious Mode\",\n next_evolutions: [\"6-115\"],\n stage: 5,\n sprite: \"maycrackmon_vicious_mode\",\n id: \"5-079\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=meicrackmon_v\",\n },\n {\n name_en: \"Megadramon\",\n name_jp: \"Megadramon\",\n next_evolutions: [\"6-039\", \"6-001\", \"6-080\", \"6-068\", \"6-095\"],\n stage: 5,\n sprite: \"megadramon\",\n id: \"5-080\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=megadramon\",\n },\n {\n name_en: \"MegaKabuterimon (Red)\",\n name_jp: \"AtlurKabuterimon\",\n next_evolutions: [\"6-066\", \"6-123\"],\n stage: 5,\n sprite: \"megakabuterimon_red\",\n id: \"5-081\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=atlurkabuterimon\",\n },\n {\n name_en: \"MegaSeadramon\",\n name_jp: \"MegaSeadramon\",\n next_evolutions: [\"6-095\", \"6-086\", \"6-112\", \"6-109\", \"6-121\"],\n stage: 5,\n sprite: \"megaseadramon\",\n id: \"5-082\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=megaseadramon\",\n },\n {\n name_en: \"MegaSeadramon X\",\n name_jp: \"MegaSeadramon X\",\n next_evolutions: [\"6-056\", \"6-032\", \"6-131\"],\n stage: 5,\n sprite: \"megaseadramon_x\",\n id: \"5-083\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=megaseadramon_x\",\n },\n {\n name_en: \"Mephistomon X\",\n name_jp: \"Mephismon X\",\n next_evolutions: [\"6-035\", \"6-042\", \"6-124\", \"6-024\"],\n stage: 5,\n sprite: \"mephistomon_x\",\n id: \"5-084\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mephismon_x\",\n },\n {\n name_en: \"Mermaimon\",\n name_jp: \"Mermaimon\",\n next_evolutions: [\"6-008\", \"6-001\", \"6-007\", \"6-075\", \"6-095\", \"6-109\", \"6-121\"],\n stage: 5,\n sprite: \"mermaimon\",\n id: \"5-085\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mermaimon\",\n },\n {\n name_en: \"MetalGreymon\",\n name_jp: \"MetalGreymon\",\n next_evolutions: [\"6-143\", \"6-028\", \"6-080\", \"6-062\", \"6-065\"],\n stage: 5,\n sprite: \"metalgreymon_vaccine\",\n id: \"5-086\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalgreymon\",\n },\n {\n name_en: \"MetalGreymon (Vaccine)\",\n name_jp: \"MetalGreymon (Vaccine)\",\n next_evolutions: [\"6-143\", \"6-080\", \"6-028\", \"5-033\"],\n stage: 5,\n sprite: \"metalgreymon_vaccine\",\n id: \"5-087\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalgreymon-v\",\n },\n {\n name_en: \"MetalGreymon (Virus)\",\n name_jp: \"MetalGreymon (Virus)\",\n next_evolutions: [\"6-028\", \"6-051\", \"6-143\"],\n stage: 5,\n sprite: \"metalgreymon_virus\",\n id: \"5-088\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalgreymon-web\",\n },\n {\n name_en: \"MetalGreymon (Virus) X\",\n name_jp: \"MetalGreymon (Virus) X\",\n next_evolutions: [\"6-027\", \"6-138\", \"6-131\", \"6-111\", \"6-094\", \"6-032\"],\n stage: 5,\n sprite: \"metalgreymon_virus_x\",\n id: \"5-089\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalgreymon_vi_x\",\n },\n {\n name_en: \"MetalGreymon X\",\n name_jp: \"MetalGreymon X\",\n next_evolutions: [\"6-144\", \"7-021\", \"6-140\", \"6-108\"],\n stage: 5,\n sprite: \"metalgreymon_vaccine_x\",\n id: \"5-090\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalgreymon_va_x\",\n },\n {\n name_en: \"MetalMamemon\",\n name_jp: \"MetalMamemon\",\n next_evolutions: [\"6-038\", \"6-143\", \"6-091\", \"6-080\", \"6-065\", \"6-062\"],\n stage: 5,\n sprite: \"metalmamemon\",\n id: \"5-091\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalmamemon\",\n },\n {\n name_en: \"MetalPhantomon\",\n name_jp: \"MetalFantomon\",\n next_evolutions: [\"6-042\", \"6-032\", \"6-131\", \"6-094\", \"6-040\"],\n stage: 5,\n sprite: \"metalphantomon\",\n id: \"5-092\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalfantomon\",\n },\n {\n name_en: \"MetalTyrannomon\",\n name_jp: \"MetalTyranomon\",\n next_evolutions: [\"6-080\", \"6-064\", \"6-012\", \"6-062\", \"6-143\", \"6-028\", \"5-033\", \"7-045\"],\n stage: 5,\n sprite: \"metaltyrannomon\",\n id: \"5-093\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metaltyranomon\",\n },\n {\n name_en: \"MetalTyrannomon X\",\n name_jp: \"MetalTyranomon X\",\n next_evolutions: [\"7-004\", \"6-144\", \"7-022\", \"6-085\", \"6-108\", \"6-089\", \"6-092\", \"7-009\"],\n stage: 5,\n sprite: \"metaltyrannomon_x\",\n id: \"5-094\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metaltyranomon_x\",\n },\n {\n name_en: \"Monzaemon\",\n name_jp: \"Monzaemon\",\n next_evolutions: [\"6-073\", \"6-147\"],\n stage: 5,\n sprite: \"monzaemon\",\n id: \"5-095\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=monzaemon\",\n },\n {\n name_en: \"Monzaemon X\",\n name_jp: \"Monzaemon X\",\n next_evolutions: [\"6-034\", \"6-101\", \"6-082\", \"6-043\", \"6-110\", \"6-046\"],\n stage: 5,\n sprite: \"monzaemon_x\",\n id: \"5-096\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=monzaemon_x\",\n },\n {\n name_en: \"Mummymon\",\n name_jp: \"Mummymon\",\n next_evolutions: [\"5-033\", \"6-055\", \"6-016\", \"6-009\", \"6-042\", \"6-017\", \"7-020\", \"7-019\"],\n stage: 5,\n sprite: \"mummymon\",\n id: \"5-097\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mummymon\",\n },\n {\n name_en: \"Myotismon\",\n name_jp: \"Vamdemon\",\n next_evolutions: [\"6-107\", \"6-029\", \"7-007\", \"6-099\"],\n stage: 5,\n sprite: \"myotismon\",\n id: \"5-098\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=vamdemon\",\n },\n {\n name_en: \"Myotismon X\",\n name_jp: \"Vamdemon X\",\n next_evolutions: [\"6-040\", \"6-035\", \"6-094\", \"6-111\", \"6-032\"],\n stage: 5,\n sprite: \"myotismon_x\",\n id: \"5-099\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=vamdemon_x\",\n },\n {\n name_en: \"NeoDevimon\",\n name_jp: \"NeoDevimon\",\n next_evolutions: [\"5-033\", \"6-055\", \"6-088\", \"6-028\", \"6-143\"],\n stage: 5,\n sprite: \"neodevimon\",\n id: \"5-100\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=neodevimon\",\n },\n {\n name_en: \"Okuwamon\",\n name_jp: \"Okuwamon\",\n next_evolutions: [\"6-061\", \"6-126\", \"6-090\", \"6-066\", \"6-135\"],\n stage: 5,\n sprite: \"okuwamon\",\n id: \"5-101\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=okuwamon\",\n },\n {\n name_en: \"Okuwamon X\",\n name_jp: \"Okuwamon X\",\n next_evolutions: [\"6-059\", \"6-124\", \"6-024\", \"6-131\"],\n stage: 5,\n sprite: \"okuwamon_x\",\n id: \"5-102\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=okuwamon_x\",\n },\n {\n name_en: \"OmniShoutmon X\",\n name_jp: \"OmegaShoutmon X\",\n next_evolutions: [\"6-116\", \"6-002\", \"6-043\", \"6-135\", \"6-046\"],\n stage: 5,\n sprite: \"omnishoutmon_x\",\n id: \"5-103\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=omegashoutmon_x\",\n },\n {\n name_en: \"Orochimon\",\n name_jp: \"Orochimon\",\n next_evolutions: [\"6-098\", \"6-020\", \"6-011\", \"6-038\", \"6-091\", \"6-090\", \"6-147\"],\n stage: 5,\n sprite: \"orochimon\",\n id: \"5-104\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=orochimon\",\n },\n {\n name_en: \"Paildramon\",\n name_jp: \"Paildramon\",\n next_evolutions: [\n \"7-019\",\n \"6-013\",\n \"6-055\",\n \"6-009\",\n \"6-062\",\n \"6-065\",\n \"6-064\",\n \"7-020\",\n \"6-061\",\n \"6-137\",\n \"6-084\",\n \"6-128\",\n ],\n stage: 5,\n sprite: \"paildramon\",\n id: \"5-105\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=paildramon\",\n },\n {\n name_en: \"Parrotmon\",\n name_jp: \"Parrotmon\",\n next_evolutions: [\"6-120\", \"6-006\", \"6-010\", \"6-098\", \"6-091\", \"6-038\"],\n stage: 5,\n sprite: \"parrotmon\",\n id: \"5-106\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=parrotmon\",\n },\n {\n name_en: \"Phantomon\",\n name_jp: \"Fantomon\",\n next_evolutions: [\"6-037\", \"6-099\", \"6-107\"],\n stage: 5,\n sprite: \"phantomon\",\n id: \"5-107\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=fantomon\",\n },\n {\n name_en: \"Piranimon\",\n name_jp: \"Piranimon\",\n next_evolutions: [\"6-075\", \"6-008\", \"6-121\", \"6-095\", \"6-109\"],\n stage: 5,\n sprite: \"piranimon\",\n id: \"5-108\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=piranimon\",\n },\n {\n name_en: \"Piximon\",\n name_jp: \"Piccolomon\",\n next_evolutions: [\"6-081\", \"6-126\", \"6-061\", \"6-031\"],\n stage: 5,\n sprite: \"piximon\",\n id: \"5-109\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=picklemon\",\n },\n {\n name_en: \"Pumpkinmon\",\n name_jp: \"Pumpmon\",\n next_evolutions: [\"6-099\", \"6-043\", \"6-116\", \"6-034\", \"6-029\", \"6-013\", \"6-107\"],\n stage: 5,\n sprite: \"pumpkinmon\",\n id: \"5-110\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pumpmon\",\n },\n {\n name_en: \"RaijiLudomon\",\n name_jp: \"RaijiLudomon\",\n next_evolutions: [\"6-018\", \"6-004\", \"6-057\", \"6-052\", \"6-031\"],\n stage: 5,\n sprite: \"raijiludomon\",\n id: \"5-111\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=raijiludomon\",\n },\n {\n name_en: \"Rapidmon\",\n name_jp: \"Rapidmon\",\n next_evolutions: [\"6-087\", \"6-033\"],\n stage: 5,\n sprite: \"rapidmon\",\n id: \"5-112\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rapidmon\",\n },\n {\n name_en: \"Rebellimon\",\n name_jp: \"Rebellimon\",\n next_evolutions: [\"6-064\", \"6-012\", \"6-062\", \"6-065\", \"6-080\"],\n stage: 5,\n sprite: \"rebellimon\",\n id: \"5-113\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rebellimon\",\n },\n {\n name_en: \"Rhihimon\",\n name_jp: \"Raihimon\",\n next_evolutions: [\"6-009\", \"6-043\", \"6-055\"],\n stage: 5,\n sprite: \"rhihimon\",\n id: \"5-114\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=raihimon\",\n },\n {\n name_en: \"RizeGreymon\",\n name_jp: \"RizeGreymon\",\n next_evolutions: [\"6-129\", \"6-005\", \"6-018\", \"6-052\", \"6-074\", \"6-133\"],\n stage: 5,\n sprite: \"rizegreymon\",\n id: \"5-115\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rizegreymon\",\n },\n {\n name_en: \"RizeGreymon X\",\n name_jp: \"RizeGreymon X\",\n next_evolutions: [\"6-058\", \"6-104\", \"6-082\", \"6-110\", \"6-051\", \"6-046\"],\n stage: 5,\n sprite: \"rizegreymon_x\",\n id: \"5-116\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rizegreymon_x\",\n },\n {\n name_en: \"SaviorHuckmon\",\n name_jp: \"SaviorHackmon\",\n next_evolutions: [\"6-069\", \"6-030\"],\n stage: 5,\n sprite: \"saviorhuckmon\",\n id: \"5-117\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=saviorhuckmon\",\n },\n {\n name_en: \"Scorpiomon\",\n name_jp: \"Anomalocarimon\",\n next_evolutions: [\n \"6-109\",\n \"6-095\",\n \"6-143\",\n \"6-028\",\n \"5-033\",\n \"6-003\",\n \"6-081\",\n \"6-096\",\n \"6-098\",\n \"6-009\",\n \"6-146\",\n ],\n stage: 5,\n sprite: \"scorpiomon\",\n id: \"5-118\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=anomalocarimon\",\n },\n {\n name_en: \"Scorpiomon X\",\n name_jp: \"Anomalocarimon X\",\n next_evolutions: [\"6-110\", \"6-051\", \"6-034\", \"6-043\", \"6-046\", \"6-056\"],\n stage: 5,\n sprite: \"scorpiomon_x\",\n id: \"5-119\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=anomalocarimon-x\",\n },\n {\n name_en: \"Shakkoumon\",\n name_jp: \"Shakkoumon\",\n next_evolutions: [\"6-132\", \"6-086\", \"6-007\", \"6-121\", \"6-018\", \"6-057\", \"6-052\", \"6-085\", \"6-146\"],\n stage: 5,\n sprite: \"shakkoumon\",\n id: \"5-120\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shakkoumon\",\n },\n {\n name_en: \"ShogunGekomon\",\n name_jp: \"TonosamaGekomon\",\n next_evolutions: [\"6-090\", \"6-061\"],\n stage: 5,\n sprite: \"shogungekomon\",\n id: \"5-121\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tonosamagekomon\",\n },\n {\n name_en: \"Shoutmon X5\",\n name_jp: \"Shoutmon X5\",\n next_evolutions: [\"6-004\", \"6-018\", \"6-057\", \"6-052\"],\n stage: 5,\n sprite: \"shoutmon_x5\",\n id: \"5-122\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shoutmonx5\",\n },\n {\n name_en: \"Silphymon\",\n name_jp: \"Silphymon\",\n next_evolutions: [\"6-139\", \"6-003\", \"6-096\", \"6-010\", \"6-006\", \"6-145\", \"6-017\", \"6-081\"],\n stage: 5,\n sprite: \"silphymon\",\n id: \"5-123\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=silphymon\",\n },\n {\n name_en: \"Sirenmon\",\n name_jp: \"Sirenmon\",\n next_evolutions: [\"6-008\", \"6-086\", \"6-007\", \"6-121\", \"6-004\", \"6-083\"],\n stage: 5,\n sprite: \"sirenmon\",\n id: \"5-124\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sirenmon\",\n },\n {\n name_en: \"SkullBaluchimon\",\n name_jp: \"SkullBaluchimon\",\n next_evolutions: [\"6-127\", \"6-140\", \"7-022\", \"6-108\", \"6-013\", \"6-063\"],\n stage: 5,\n sprite: \"skullbaluchimon\",\n id: \"5-125\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=skullbaluchimon\",\n },\n {\n name_en: \"SkullGreymon\",\n name_jp: \"SkullGreymon\",\n next_evolutions: [\"6-130\", \"6-051\", \"6-143\"],\n stage: 5,\n sprite: \"skullgreymon\",\n id: \"5-126\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=skullgreymon\",\n },\n {\n name_en: \"SkullMeramon\",\n name_jp: \"DeathMeramon\",\n next_evolutions: [\"6-029\", \"6-130\"],\n stage: 5,\n sprite: \"skullmeramon\",\n id: \"5-127\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=deathmeramon\",\n },\n {\n name_en: \"Stefilmon\",\n name_jp: \"Stiffilmon\",\n next_evolutions: [\"6-027\", \"6-059\", \"6-118\", \"6-019\", \"6-124\", \"6-040\", \"6-056\", \"6-117\"],\n stage: 5,\n sprite: \"stefilmon\",\n id: \"5-128\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=stiffilmon\",\n },\n {\n name_en: \"Tekkamon\",\n name_jp: \"Tekkamon\",\n next_evolutions: [],\n stage: 5,\n sprite: \"tekkamon\",\n id: \"5-129\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tekkamon\",\n },\n {\n name_en: \"Toropiamon\",\n name_jp: \"Toropiamon\",\n next_evolutions: [\"6-006\", \"6-145\", \"6-010\", \"6-114\", \"6-146\"],\n stage: 5,\n sprite: \"toropiamon\",\n id: \"5-130\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=toropiamon\",\n },\n {\n name_en: \"Triceramon\",\n name_jp: \"Triceramon\",\n next_evolutions: [\"6-126\", \"6-066\", \"6-090\", \"6-042\", \"6-009\"],\n stage: 5,\n sprite: \"triceramon\",\n id: \"5-131\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=triceramon\",\n },\n {\n name_en: \"Triceramon X\",\n name_jp: \"Triceramon X\",\n next_evolutions: [\"6-138\", \"6-032\", \"6-111\", \"6-131\", \"6-094\"],\n stage: 5,\n sprite: \"triceramon_x\",\n id: \"5-132\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=triceramon_x\",\n },\n {\n name_en: \"Vademon\",\n name_jp: \"Vademon\",\n next_evolutions: [],\n stage: 5,\n sprite: \"vademon\",\n id: \"5-133\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=vademon\",\n },\n {\n name_en: \"Velgrmon\",\n name_jp: \"Velgrmon\",\n next_evolutions: [\"6-043\", \"6-055\", \"6-009\"],\n stage: 5,\n sprite: \"velgrmon\",\n id: \"5-134\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=velgrmon\",\n },\n {\n name_en: \"WarGrowlmon\",\n name_jp: \"MegaloGrowmon\",\n next_evolutions: [\"6-052\", \"6-004\", \"6-129\", \"6-088\", \"6-053\"],\n stage: 5,\n sprite: \"wargrowlmon\",\n id: \"5-135\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=megalogrowmon\",\n },\n {\n name_en: \"WarGrowlmon X\",\n name_jp: \"MegaloGrowmon X\",\n next_evolutions: [\"6-089\", \"7-009\", \"7-021\", \"6-085\", \"6-108\"],\n stage: 5,\n sprite: \"wargrowlmon_x\",\n id: \"5-136\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=megalogrowmon_x\",\n },\n {\n name_en: \"WaruMonzaemon\",\n name_jp: \"WaruMonzaemon\",\n next_evolutions: [\"6-141\", \"6-091\", \"6-013\", \"6-126\"],\n stage: 5,\n sprite: \"warumonzaemon\",\n id: \"5-137\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=warumonzaemon\",\n },\n {\n name_en: \"WaruSeadramon\",\n name_jp: \"WaruSeadramon\",\n next_evolutions: [\"6-075\", \"6-008\", \"6-121\", \"6-091\", \"6-038\", \"6-098\", \"6-056\", \"6-108\"],\n stage: 5,\n sprite: \"waruseadramon\",\n id: \"5-138\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=waruseadramon\",\n },\n {\n name_en: \"WereGarurumon\",\n name_jp: \"WereGarurumon\",\n next_evolutions: [\"6-013\", \"6-130\", \"6-099\", \"6-091\", \"6-038\", \"6-098\"],\n stage: 5,\n sprite: \"weregarurumon\",\n id: \"5-139\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=weregarrumon\",\n },\n {\n name_en: \"WereGarurumon X\",\n name_jp: \"WereGarurumon X\",\n next_evolutions: [\"6-092\", \"7-021\", \"6-140\", \"6-108\"],\n stage: 5,\n sprite: \"weregarurumon_x\",\n id: \"5-140\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=weregarurumon_x\",\n },\n {\n name_en: \"Whamon\",\n name_jp: \"Whamon\",\n next_evolutions: [\"6-086\", \"6-109\", \"6-112\", \"6-146\"],\n stage: 5,\n sprite: \"whamon\",\n id: \"5-141\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=whamon\",\n },\n {\n name_en: \"Wingdramon\",\n name_jp: \"Wingdramon\",\n next_evolutions: [\"6-133\", \"6-129\"],\n stage: 5,\n sprite: \"wingdramon\",\n id: \"5-142\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wingdramon\",\n },\n {\n name_en: \"Zudomon\",\n name_jp: \"Zudomon\",\n next_evolutions: [\"6-086\", \"6-056\", \"6-146\"],\n stage: 5,\n sprite: \"zudomon\",\n id: \"5-143\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=zudomon\",\n },\n {\n name_en: \"Boutmon\",\n name_jp: \"Boutmon\",\n next_evolutions: [\"6-148\"],\n stage: 5,\n sprite: \"boutmon\",\n id: \"5-144\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=boutmon\",\n },\n {\n name_en: \"DarkSuperStarmon\",\n name_jp: \"DarkSuperStarmon\",\n next_evolutions: [\"6-011\", \"6-005\", \"6-048\"],\n stage: 5,\n sprite: \"darksuperstarmon\",\n id: \"5-145\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darksuperstarmon\",\n },\n {\n name_en: \"Doruguremon\",\n name_jp: \"DORUguremon\",\n next_evolutions: [\"6-002\", \"6-150\", \"6-051\", \"6-082\", \"6-043\"],\n stage: 5,\n sprite: \"doruguremon\",\n id: \"5-146\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=doruguremon\",\n },\n {\n name_en: \"Pandamon\",\n name_jp: \"Pandamon\",\n next_evolutions: [\"6-091\"],\n stage: 5,\n sprite: \"pandamon\",\n id: \"5-147\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pandamon\",\n },\n {\n name_en: \"SkullScorpiomon\",\n name_jp: \"Scorpiomon\",\n next_evolutions: [\"6-003\", \"6-050\", \"6-096\", \"6-098\", \"6-009\"],\n stage: 5,\n sprite: \"skullscorpiomon\",\n id: \"5-148\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=scorpiomon\",\n },\n {\n name_en: \"SuperStarmon\",\n name_jp: \"SuperStarmon\",\n next_evolutions: [\"6-048\", \"6-011\", \"6-005\"],\n stage: 5,\n sprite: \"superstarmon\",\n id: \"5-149\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=superstarmon\",\n },\n {\n name_en: \"Aegisdramon\",\n name_jp: \"Aegisdramon\",\n next_evolutions: [\"7-039\"],\n stage: 6,\n sprite: \"aegisdramon\",\n id: \"6-001\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ageisdramon\",\n },\n {\n name_en: \"Alphamon\",\n name_jp: \"Alphamon\",\n next_evolutions: [\"7-001\"],\n stage: 6,\n sprite: \"alphamon\",\n id: \"6-002\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=alphamon\",\n },\n {\n name_en: \"AncientBeetlemon\",\n name_jp: \"AncientBeatmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientbeetlemon\",\n id: \"6-003\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientbeatmon\",\n },\n {\n name_en: \"AncientGarurumon\",\n name_jp: \"AncientGarurumon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientgarurumon\",\n id: \"6-004\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientgarurumon\",\n },\n {\n name_en: \"AncientGreymon\",\n name_jp: \"AncientGreymon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientgreymon\",\n id: \"6-005\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientgreymon\",\n },\n {\n name_en: \"AncientKazemon\",\n name_jp: \"AncientIrismon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientkazemon\",\n id: \"6-006\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientirismon\",\n },\n {\n name_en: \"AncientMegatheriummon\",\n name_jp: \"AncientMegatheriumon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientmegatheriummon\",\n id: \"6-007\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientmegatheriumon\",\n },\n {\n name_en: \"AncientMermaimon\",\n name_jp: \"AncientMermaimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientmermaimon\",\n id: \"6-008\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientmermaimon\",\n },\n {\n name_en: \"AncientSphinxmon\",\n name_jp: \"AncientSphinxmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientsphinxmon\",\n id: \"6-009\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientsphinkmon\",\n },\n {\n name_en: \"AncientTroymon\",\n name_jp: \"AncientTroiamon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancienttroymon\",\n id: \"6-010\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancienttroiamon\",\n },\n {\n name_en: \"AncientVolcanomon\",\n name_jp: \"AncientVolcamon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientvolcanomon\",\n id: \"6-011\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientvolcamon\",\n },\n {\n name_en: \"AncientWisemon\",\n name_jp: \"AncientWisemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ancientwisemon\",\n id: \"6-012\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ancientwisetmon\",\n },\n {\n name_en: \"Anubismon\",\n name_jp: \"Anubimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"anubismon\",\n id: \"6-013\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=anubimon\",\n },\n {\n name_en: \"Apocalymon\",\n name_jp: \"Apoclymon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"apocalymon\",\n id: \"6-014\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=apoclymon\",\n },\n {\n name_en: \"Apollomon\",\n name_jp: \"Apollomon\",\n next_evolutions: [\"7-018\"],\n stage: 6,\n sprite: \"apollomon\",\n id: \"6-015\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=apollomon\",\n },\n {\n name_en: \"Argomon\",\n name_jp: \"Algomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"argomon_ultimate\",\n id: \"6-016\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=algomon\",\n },\n {\n name_en: \"Armageddemon\",\n name_jp: \"Armagemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"armageddemon\",\n id: \"6-017\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=armagemon\",\n },\n {\n name_en: \"Azulongmon\",\n name_jp: \"Qinglongmon\",\n next_evolutions: [\"6-050\"],\n stage: 6,\n sprite: \"azulongmon\",\n id: \"6-018\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=qinglongmon\",\n },\n {\n name_en: \"Bagramon\",\n name_jp: \"Bagramon\",\n next_evolutions: [\"7-011\", \"7-003\"],\n stage: 6,\n sprite: \"bagramon\",\n id: \"6-019\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bagramon\",\n },\n {\n name_en: \"Baihumon\",\n name_jp: \"Baihumon\",\n next_evolutions: [\"6-050\"],\n stage: 6,\n sprite: \"baihumon\",\n id: \"6-020\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=baihumon\",\n },\n {\n name_en: \"BanchoLeomon\",\n name_jp: \"BanchoLeomon\",\n next_evolutions: [\"7-008\"],\n stage: 6,\n sprite: \"bancholeomon\",\n id: \"6-021\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bancholeomon\",\n },\n {\n name_en: \"BanchoMamemon\",\n name_jp: \"BanchoMamemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"banchomamemon\",\n id: \"6-022\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=banchomamemon\",\n },\n {\n name_en: \"Barbamon\",\n name_jp: \"Barbamon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"barbamon\",\n id: \"6-023\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=barbamon\",\n },\n {\n name_en: \"BeelStarmon X\",\n name_jp: \"BeelStarmon X\",\n next_evolutions: [\"7-012\", \"7-004\"],\n stage: 6,\n sprite: \"beelstarmon_x\",\n id: \"6-024\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=beelstarmon_x\",\n },\n {\n name_en: \"Beelzemon\",\n name_jp: \"Beelzebumon\",\n next_evolutions: [\"7-005\"],\n stage: 6,\n sprite: \"beelzemon\",\n id: \"6-025\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=beelzebumon\",\n },\n {\n name_en: \"Belphemon: Rage Mode\",\n name_jp: \"Belphemon: Rage Mode\",\n next_evolutions: [\"7-031\"],\n stage: 6,\n sprite: \"belphemon_rage_mode\",\n id: \"6-026\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=belphemonragemode\",\n },\n {\n name_en: \"BlackWarGreymon X\",\n name_jp: \"BlackWarGreymon X\",\n next_evolutions: [\"7-010\", \"7-038\", \"7-003\"],\n stage: 6,\n sprite: \"blackwargreymon_x\",\n id: \"6-027\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=blackwargreymon_x\",\n },\n {\n name_en: \"BlitzGreymon\",\n name_jp: \"BlitzGreymon\",\n next_evolutions: [\"7-033\"],\n stage: 6,\n sprite: \"blitzgreymon\",\n id: \"6-028\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=blitzgreymon\",\n },\n {\n name_en: \"Boltmon\",\n name_jp: \"Boltmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"boltmon\",\n id: \"6-029\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=boltmon\",\n },\n {\n name_en: \"Breakdramon\",\n name_jp: \"Breakdramon\",\n next_evolutions: [\"7-014\"],\n stage: 6,\n sprite: \"breakdramon\",\n id: \"6-030\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=breakdramon\",\n },\n {\n name_en: \"BryweLudramon\",\n name_jp: \"BryweLudramon\",\n next_evolutions: [\"7-037\"],\n stage: 6,\n sprite: \"bryweludramon\",\n id: \"6-031\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bryweludramon\",\n },\n {\n name_en: \"Chaosdramon X\",\n name_jp: \"Chaosdramon X\",\n next_evolutions: [\"7-010\", \"7-012\", \"7-027\"],\n stage: 6,\n sprite: \"chaosdramon_x\",\n id: \"6-032\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chaosdramon-x\",\n },\n {\n name_en: \"Cherubimon (Virtue)\",\n name_jp: \"Cherubimon (Virtue)\",\n next_evolutions: [],\n stage: 6,\n sprite: \"cherubimon_virtue\",\n id: \"6-033\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cherubimon\",\n },\n {\n name_en: \"Cherubimon (Virtue) X\",\n name_jp: \"Cherubimon (Virtue) X\",\n next_evolutions: [\"7-040\", \"7-022\"],\n stage: 6,\n sprite: \"cherubimon_virtue_x\",\n id: \"6-034\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cherubimon_x\",\n },\n {\n name_en: \"Cherubimon (Vice) X\",\n name_jp: \"Cherubimon (Vice) X\",\n next_evolutions: [\"7-006\", \"7-003\"],\n stage: 6,\n sprite: \"cherubimon_vice_x\",\n id: \"6-035\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cherubimondark_x\",\n },\n {\n name_en: \"Craniamon\",\n name_jp: \"Craniummon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"craniamon\",\n id: \"6-036\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=craniummon\",\n },\n {\n name_en: \"Creepymon\",\n name_jp: \"Demon\",\n next_evolutions: [\"7-031\"],\n stage: 6,\n sprite: \"creepymon\",\n id: \"6-037\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=demon\",\n },\n {\n name_en: \"CresGarurumon\",\n name_jp: \"CresGarurumon\",\n next_evolutions: [\"7-033\"],\n stage: 6,\n sprite: \"cresgarurumon\",\n id: \"6-038\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=cresgarurumon\",\n },\n {\n name_en: \"Darkdramon\",\n name_jp: \"Darkdramon\",\n next_evolutions: [\"7-008\", \"7-045\"],\n stage: 6,\n sprite: \"darkdramon\",\n id: \"6-039\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darkdramon\",\n },\n {\n name_en: \"DarkKnightmon X\",\n name_jp: \"DarkKnightmon X\",\n next_evolutions: [\"7-027\", \"7-011\", \"7-003\"],\n stage: 6,\n sprite: \"darkknightmon_x\",\n id: \"6-040\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darkknightmon_x\",\n },\n {\n name_en: \"Dianamon\",\n name_jp: \"Dianamon\",\n next_evolutions: [\"7-018\"],\n stage: 6,\n sprite: \"dianamon\",\n id: \"6-041\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dianamon\",\n },\n {\n name_en: \"Dinorexmon\",\n name_jp: \"Dinorexmon\",\n next_evolutions: [\"7-024\", \"7-003\"],\n stage: 6,\n sprite: \"dinorexmon\",\n id: \"6-042\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dinorexmon\",\n },\n {\n name_en: \"Dinotigermon\",\n name_jp: \"Dinotigermon\",\n next_evolutions: [\"7-026\", \"7-009\", \"7-021\", \"7-022\"],\n stage: 6,\n sprite: \"dinotigermon\",\n id: \"6-043\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dinotigermon\",\n },\n {\n name_en: \"Durandamon\",\n name_jp: \"Durandamon\",\n next_evolutions: [\"7-037\"],\n stage: 6,\n sprite: \"durandamon\",\n id: \"6-044\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=durandamon\",\n },\n {\n name_en: \"Dynasmon\",\n name_jp: \"Dynasmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"dynasmon\",\n id: \"6-045\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dynasmon\",\n },\n {\n name_en: \"Ebemon X\",\n name_jp: \"Ebemon X\",\n next_evolutions: [\"7-017\", \"7-026\", \"7-015\", \"7-021\"],\n stage: 6,\n sprite: \"ebemon_x\",\n id: \"6-046\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ebemon_x\",\n },\n {\n name_en: \"Ebonwumon\",\n name_jp: \"Xuanwumon\",\n next_evolutions: [\"6-050\"],\n stage: 6,\n sprite: \"ebonwumon\",\n id: \"6-047\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=xuanwumon\",\n },\n {\n name_en: \"EmperorGreymon\",\n name_jp: \"KaiserGreymon\",\n next_evolutions: [\"6-134\"],\n stage: 6,\n sprite: \"emperorgreymon\",\n id: \"6-048\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kaisergreymon\",\n },\n {\n name_en: \"Eosmon\",\n name_jp: \"Eosmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"eosmon_ultimate\",\n id: \"6-049\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=eosmon_lv6\",\n },\n {\n name_en: \"Fanglongmon\",\n name_jp: \"Huanglongmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"fanglongmon\",\n id: \"6-050\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=huanglongmon\",\n },\n {\n name_en: \"Gaiomon\",\n name_jp: \"Gaioumon\",\n next_evolutions: [\"7-001\", \"7-009\", \"7-021\"],\n stage: 6,\n sprite: \"gaiomon\",\n id: \"6-051\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gaioumon\",\n },\n {\n name_en: \"Gallantmon\",\n name_jp: \"Dukemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"gallantmon\",\n id: \"6-052\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dukemon\",\n },\n {\n name_en: \"Gallantmon X\",\n name_jp: \"Dukemon X\",\n next_evolutions: [],\n stage: 6,\n sprite: \"gallantmon_x\",\n id: \"6-053\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dukemon_x\",\n },\n {\n name_en: \"Gankoomon\",\n name_jp: \"Gankoomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"gankoomon\",\n id: \"6-054\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gankoomon\",\n },\n {\n name_en: \"Ghoulmon\",\n name_jp: \"Deathmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ghoulmon\",\n id: \"6-055\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=deathmon\",\n },\n {\n name_en: \"GigaSeadramon\",\n name_jp: \"GigaSeadramon\",\n next_evolutions: [\"7-024\", \"7-003\"],\n stage: 6,\n sprite: \"gigaseadramon\",\n id: \"6-056\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gigaseadramon\",\n },\n {\n name_en: \"Goldramon\",\n name_jp: \"Goddramon\",\n next_evolutions: [\"6-050\"],\n stage: 6,\n sprite: \"goldramon\",\n id: \"6-057\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=goddramon\",\n },\n {\n name_en: \"Goldramon X\",\n name_jp: \"Goddramon X\",\n next_evolutions: [\"7-015\", \"7-021\"],\n stage: 6,\n sprite: \"goldramon_x\",\n id: \"6-058\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=goddramon_x\",\n },\n {\n name_en: \"GrandisKuwagamon\",\n name_jp: \"GrandisKuwagamon\",\n next_evolutions: [\"7-024\", \"7-003\"],\n stage: 6,\n sprite: \"grandiskuwagamon\",\n id: \"6-059\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=grandiskuwagamon\",\n },\n {\n name_en: \"GranDracmon\",\n name_jp: \"GrandDracumon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"grandracmon\",\n id: \"6-060\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=granddracumon\",\n },\n {\n name_en: \"GranKuwagamon\",\n name_jp: \"GranKuwagamon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"grankuwagamon\",\n id: \"6-061\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=grankuwagamon\",\n },\n {\n name_en: \"GroundLocomon\",\n name_jp: \"GrandLocomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"groundlocomon\",\n id: \"6-062\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=grandlocomon\",\n },\n {\n name_en: \"Gryphonmon\",\n name_jp: \"Griffomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"gryphonmon\",\n id: \"6-063\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=griffomon\",\n },\n {\n name_en: \"Gundramon\",\n name_jp: \"Gundramon\",\n next_evolutions: [\"7-002\"],\n stage: 6,\n sprite: \"gundramon\",\n id: \"6-064\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gundramon\",\n },\n {\n name_en: \"HeavyLeomon\",\n name_jp: \"HeavyLeomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"heavyleomon\",\n id: \"6-065\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=heavyleomon\",\n },\n {\n name_en: \"HerculesKabuterimon\",\n name_jp: \"HerakleKabuterimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"herculeskabuterimon\",\n id: \"6-066\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=heraklekabuterimon\",\n },\n {\n name_en: \"Hexeblaumon\",\n name_jp: \"Hexeblaumon\",\n next_evolutions: [\"7-017\", \"7-028\", \"7-009\", \"7-040\", \"7-023\", \"7-021\"],\n stage: 6,\n sprite: \"hexeblaumon\",\n id: \"6-067\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hexeblaumon\",\n },\n {\n name_en: \"HiAndromon\",\n name_jp: \"HiAndromon\",\n next_evolutions: [\"7-045\"],\n stage: 6,\n sprite: \"hiandromon\",\n id: \"6-068\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hiandromon\",\n },\n {\n name_en: \"Jesmon\",\n name_jp: \"Jesmon\",\n next_evolutions: [\"7-021\"],\n stage: 6,\n sprite: \"jesmon\",\n id: \"6-069\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jesmon\",\n },\n {\n name_en: \"Justimon X\",\n name_jp: \"Justimon X\",\n next_evolutions: [\"7-017\", \"7-026\"],\n stage: 6,\n sprite: \"justimon_x\",\n id: \"6-070\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=justimon_x\",\n },\n {\n name_en: \"Justimon: Blitz Arm\",\n name_jp: \"Justimon: Blitz Arm\",\n next_evolutions: [],\n stage: 6,\n sprite: \"justimon_blitz_arm\",\n id: \"6-071\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=justimon_blitzarm\",\n },\n {\n name_en: \"Kentaurosmon\",\n name_jp: \"Sleipmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"kentaurosmon\",\n id: \"6-072\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sleipmon\",\n },\n {\n name_en: \"KingEtemon\",\n name_jp: \"KingEtemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"kingetemon\",\n id: \"6-073\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kingetemon\",\n },\n {\n name_en: \"Leopardmon\",\n name_jp: \"Duftmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"leopardmon\",\n id: \"6-074\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=duftmon\",\n },\n {\n name_en: \"Leviamon\",\n name_jp: \"Leviamon\",\n next_evolutions: [\"7-002\"],\n stage: 6,\n sprite: \"leviamon\",\n id: \"6-075\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=leviamon\",\n },\n {\n name_en: \"Lilithmon\",\n name_jp: \"Lilithmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"lilithmon\",\n id: \"6-076\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lilithmon\",\n },\n {\n name_en: \"LordKnightmon\",\n name_jp: \"LordKnightmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"lordknightmon\",\n id: \"6-077\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lordknightmon\",\n },\n {\n name_en: \"Lotosmon\",\n name_jp: \"Lotusmon\",\n next_evolutions: [\"7-036\"],\n stage: 6,\n sprite: \"lotosmon\",\n id: \"6-078\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lotusmon\",\n },\n {\n name_en: \"Lucemon: Satan Mode\",\n name_jp: \"Lucemon: Satan Mode\",\n next_evolutions: [],\n stage: 6,\n sprite: \"lucemon_satan_mode\",\n id: \"6-079\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lucemonsatanmode\",\n },\n {\n name_en: \"Machinedramon\",\n name_jp: \"Mugendramon\",\n next_evolutions: [\"7-039\", \"6-014\", \"7-045\"],\n stage: 6,\n sprite: \"machinedramon\",\n id: \"6-080\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mugendramon\",\n },\n {\n name_en: \"Magnadramon\",\n name_jp: \"Holydramon\",\n next_evolutions: [\"6-050\"],\n stage: 6,\n sprite: \"magnadramon\",\n id: \"6-081\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=holydramon\",\n },\n {\n name_en: \"Magnadramon X\",\n name_jp: \"Holydramon X\",\n next_evolutions: [\"7-028\", \"7-026\", \"7-040\", \"7-022\"],\n stage: 6,\n sprite: \"magnadramon_x\",\n id: \"6-082\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=holydramon_x\",\n },\n {\n name_en: \"MagnaGarurumon\",\n name_jp: \"MagnaGarurumon\",\n next_evolutions: [\"6-134\"],\n stage: 6,\n sprite: \"magnagarurumon\",\n id: \"6-083\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=magnagarurumon\",\n },\n {\n name_en: \"Magnamon\",\n name_jp: \"Magnamon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"magnamon\",\n id: \"6-084\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=magnamon\",\n },\n {\n name_en: \"MaloMyotismon\",\n name_jp: \"BelialVamdemon\",\n next_evolutions: [\"7-012\"],\n stage: 6,\n sprite: \"malomyotismon\",\n id: \"6-085\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=belialvamdemon\",\n },\n {\n name_en: \"MarineAngemon\",\n name_jp: \"MarinAngemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"marineangemon\",\n id: \"6-086\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=marinangemon\",\n },\n {\n name_en: \"MegaGargomon\",\n name_jp: \"SaintGalgomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"megagargomon\",\n id: \"6-087\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=saintgalgomon\",\n },\n {\n name_en: \"Megidramon\",\n name_jp: \"Megidramon\",\n next_evolutions: [\"7-002\"],\n stage: 6,\n sprite: \"megidramon\",\n id: \"6-088\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=megidramon\",\n },\n {\n name_en: \"Megidramon X\",\n name_jp: \"Megidramon X\",\n next_evolutions: [\"7-016\"],\n stage: 6,\n sprite: \"megidramon_x\",\n id: \"6-089\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=megidramon_x\",\n },\n {\n name_en: \"MetalEtemon\",\n name_jp: \"MetalEtemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"metaletemon\",\n id: \"6-090\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metaletemon\",\n },\n {\n name_en: \"MetalGarurumon\",\n name_jp: \"MetalGarurumon\",\n next_evolutions: [\"7-032\"],\n stage: 6,\n sprite: \"metalgarurumon\",\n id: \"6-091\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalgarurumon\",\n },\n {\n name_en: \"MetalGarurumon X\",\n name_jp: \"MetalGarurumon X\",\n next_evolutions: [\"7-034\"],\n stage: 6,\n sprite: \"metalgarurumon_x\",\n id: \"6-092\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalgarurumon_x\",\n },\n {\n name_en: \"Metallicdramon\",\n name_jp: \"Metallicdramon\",\n next_evolutions: [\"7-028\", \"7-013\", \"7-009\", \"7-015\", \"7-040\", \"7-022\"],\n stage: 6,\n sprite: \"metallicdramon\",\n id: \"6-093\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metallicdramon\",\n },\n {\n name_en: \"MetalPiranimon\",\n name_jp: \"MetalPiranimon\",\n next_evolutions: [\"7-025\", \"7-003\", \"7-006\"],\n stage: 6,\n sprite: \"metalpiranimon\",\n id: \"6-094\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalpiranimon\",\n },\n {\n name_en: \"MetalSeadramon\",\n name_jp: \"MetalSeadramon\",\n next_evolutions: [\"6-001\", \"6-014\"],\n stage: 6,\n sprite: \"metalseadramon\",\n id: \"6-095\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=metalseadramon\",\n },\n {\n name_en: \"MirageGaogamon\",\n name_jp: \"MirageGaogamon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"miragegaogamon\",\n id: \"6-096\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=miragegaogamon\",\n },\n {\n name_en: \"Murmukusmon\",\n name_jp: \"Murmukusmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"murmukusmon\",\n id: \"6-097\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=murmukusmon\",\n },\n {\n name_en: \"Nidhoggmon\",\n name_jp: \"Nidhoggmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"nidhoggmon\",\n id: \"6-098\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=nidhoggmon\",\n },\n {\n name_en: \"NoblePumpkinmon\",\n name_jp: \"NoblePumpmon\",\n next_evolutions: [\"7-016\", \"7-026\", \"7-034\", \"7-023\"],\n stage: 6,\n sprite: \"noblepumpkinmon\",\n id: \"6-099\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=noblepumpmon\",\n },\n {\n name_en: \"Ophanimon\",\n name_jp: \"Ofanimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ophanimon\",\n id: \"6-100\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ofanimon\",\n },\n {\n name_en: \"Ophanimon X\",\n name_jp: \"Ofanimon X\",\n next_evolutions: [\"7-023\", \"7-022\"],\n stage: 6,\n sprite: \"ophanimon_x\",\n id: \"6-101\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ofanimon_x\",\n },\n {\n name_en: \"Ophanimon: Falldown Mode X\",\n name_jp: \"Ofanimon: Falldown Mode X\",\n next_evolutions: [\"7-025\", \"7-003\"],\n stage: 6,\n sprite: \"ophanimon_falldown_mode_x\",\n id: \"6-102\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ofanimonfdm_x\",\n },\n {\n name_en: \"Ornismon\",\n name_jp: \"Ornismon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ornismon\",\n id: \"6-103\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ornismon\",\n },\n {\n name_en: \"Ouryumon\",\n name_jp: \"Ouryumon\",\n next_evolutions: [\"7-001\", \"7-021\"],\n stage: 6,\n sprite: \"ouryumon\",\n id: \"6-104\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ouryumon\",\n },\n {\n name_en: \"Phoenixmon\",\n name_jp: \"Hououmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"phoenixmon\",\n id: \"6-105\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hououmon\",\n },\n {\n name_en: \"Phoenixmon X\",\n name_jp: \"Hououmon X\",\n next_evolutions: [\"7-013\", \"7-026\"],\n stage: 6,\n sprite: \"phoenixmon_x\",\n id: \"6-106\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=hououmon_x\",\n },\n {\n name_en: \"Piedmon\",\n name_jp: \"Piemon\",\n next_evolutions: [\"7-007\", \"6-014\"],\n stage: 6,\n sprite: \"piedmon\",\n id: \"6-107\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=piemon\",\n },\n {\n name_en: \"PlatinumNumemon\",\n name_jp: \"PlatinumNumemon\",\n next_evolutions: [\"7-034\"],\n stage: 6,\n sprite: \"platinumnumemon\",\n id: \"6-108\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=platinumnumemon\",\n },\n {\n name_en: \"Plesiomon\",\n name_jp: \"Plesiomon\",\n next_evolutions: [\"6-001\"],\n stage: 6,\n sprite: \"plesiomon\",\n id: \"6-109\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=plesiomon\",\n },\n {\n name_en: \"Plesiomon X\",\n name_jp: \"Plesiomon X\",\n next_evolutions: [\"7-034\", \"7-022\"],\n stage: 6,\n sprite: \"plesiomon_x\",\n id: \"6-110\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=plesiomon_x\",\n },\n {\n name_en: \"PrinceMamemon X\",\n name_jp: \"PrinceMamemon X\",\n next_evolutions: [\"7-010\", \"7-012\", \"7-027\"],\n stage: 6,\n sprite: \"princemamemon_x\",\n id: \"6-111\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=princemamemon_x\",\n },\n {\n name_en: \"Pukumon\",\n name_jp: \"Pukumon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"pukumon\",\n id: \"6-112\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pukumon\",\n },\n {\n name_en: \"Puppetmon\",\n name_jp: \"Pinochimon\",\n next_evolutions: [\"6-014\"],\n stage: 6,\n sprite: \"puppetmon\",\n id: \"6-113\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=pinochimon\",\n },\n {\n name_en: \"Rafflesimon\",\n name_jp: \"Rafflesimon\",\n next_evolutions: [\"7-030\", \"7-026\"],\n stage: 6,\n sprite: \"rafflesimon\",\n id: \"6-114\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rafflesimon\",\n },\n {\n name_en: \"Raguelmon\",\n name_jp: \"Raguelmon\",\n next_evolutions: [\"7-035\"],\n stage: 6,\n sprite: \"raguelmon\",\n id: \"6-115\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=raguelmon\",\n },\n {\n name_en: \"Rapidmon X\",\n name_jp: \"Rapidmon X\",\n next_evolutions: [\"7-028\", \"7-009\"],\n stage: 6,\n sprite: \"rapidmon_x\",\n id: \"6-116\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rapidmon_x\",\n },\n {\n name_en: \"Rasenmon\",\n name_jp: \"Rasenmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"rasenmon\",\n id: \"6-117\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rasenmon\",\n },\n {\n name_en: \"Rasenmon: Fury Mode\",\n name_jp: \"Rasenmon: Fury Mode\",\n next_evolutions: [\"7-038\", \"7-012\"],\n stage: 6,\n sprite: \"rasenmon_fury_mode\",\n id: \"6-118\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rasenmon_f\",\n },\n {\n name_en: \"Rasielmon\",\n name_jp: \"Rasielmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"rasielmon\",\n id: \"6-119\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rasielmon\",\n },\n {\n name_en: \"Ravemon\",\n name_jp: \"Ravmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ravemon\",\n id: \"6-120\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ravmon\",\n },\n {\n name_en: \"Regalecusmon\",\n name_jp: \"Regalecusmon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"regalecusmon\",\n id: \"6-121\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=regalecusmon\",\n },\n {\n name_en: \"Rhihimon\",\n name_jp: \"Raihimon\",\n next_evolutions: [\"6-009\", \"7-004\"],\n stage: 6,\n sprite: \"rhihimon\",\n id: \"6-122\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=raihimon\",\n },\n {\n name_en: \"Rosemon\",\n name_jp: \"Rosemon\",\n next_evolutions: [\"7-036\"],\n stage: 6,\n sprite: \"rosemon\",\n id: \"6-123\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rosemon\",\n },\n {\n name_en: \"Rosemon X\",\n name_jp: \"Rosemon X\",\n next_evolutions: [\"7-025\", \"7-003\", \"7-006\"],\n stage: 6,\n sprite: \"rosemon_x\",\n id: \"6-124\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rosemon_x\",\n },\n {\n name_en: \"RustTyrannomon\",\n name_jp: \"RustTyranomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"rusttyrannomon\",\n id: \"6-125\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rusttyranomon\",\n },\n {\n name_en: \"SaberLeomon\",\n name_jp: \"SaberLeomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"saberleomon\",\n id: \"6-126\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=saberleomon\",\n },\n {\n name_en: \"Sakuyamon X\",\n name_jp: \"Sakuyamon X\",\n next_evolutions: [\"7-016\"],\n stage: 6,\n sprite: \"sakuyamon_x\",\n id: \"6-127\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sakuyamon_x\",\n },\n {\n name_en: \"Seraphimon\",\n name_jp: \"Seraphimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"seraphimon\",\n id: \"6-128\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=seraphimon\",\n },\n {\n name_en: \"ShineGreymon\",\n name_jp: \"ShineGreymon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"shinegreymon\",\n id: \"6-129\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shinegreymon\",\n },\n {\n name_en: \"SkullMammothmon\",\n name_jp: \"SkullMammon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"skullmammothmon\",\n id: \"6-130\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=skullmammon\",\n },\n {\n name_en: \"SkullMammothmon X\",\n name_jp: \"SkullMammon X\",\n next_evolutions: [\"7-024\", \"7-003\"],\n stage: 6,\n sprite: \"skullmammothmon_x\",\n id: \"6-131\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=skullmammon_x\",\n },\n {\n name_en: \"SlashAngemon\",\n name_jp: \"SlashAngemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"slashangemon\",\n id: \"6-132\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=slashangemon\",\n },\n {\n name_en: \"Slayerdramon\",\n name_jp: \"Slayerdramon\",\n next_evolutions: [\"7-014\"],\n stage: 6,\n sprite: \"slayerdramon\",\n id: \"6-133\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=slayerdramon\",\n },\n {\n name_en: \"Susanomon\",\n name_jp: \"Susanoomon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"susanomon\",\n id: \"6-134\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=susanoomon\",\n },\n {\n name_en: \"TigerVespamon\",\n name_jp: \"TigerVespamon\",\n next_evolutions: [\"7-016\", \"7-009\"],\n stage: 6,\n sprite: \"tigervespamon\",\n id: \"6-135\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=tigervespamon\",\n },\n {\n name_en: \"Titamon\",\n name_jp: \"Titamon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"titamon\",\n id: \"6-136\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=titamon\",\n },\n {\n name_en: \"UlforceVeedramon\",\n name_jp: \"UlforceV-dramon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"ulforceveedramon\",\n id: \"6-137\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ulforcevdramon\",\n },\n {\n name_en: \"UltimateBrachiomon\",\n name_jp: \"UltimateBrachiomon\",\n next_evolutions: [\"7-024\", \"7-003\"],\n stage: 6,\n sprite: \"ultimatebrachiomon\",\n id: \"6-138\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ultimatebrakimon\",\n },\n {\n name_en: \"Valkyrimon\",\n name_jp: \"Valkyrimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"valkyrimon\",\n id: \"6-139\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=valkyrimon\",\n },\n {\n name_en: \"Varodurumon\",\n name_jp: \"Valdurmon\",\n next_evolutions: [\"7-016\"],\n stage: 6,\n sprite: \"varodurumon\",\n id: \"6-140\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=valdurmon\",\n },\n {\n name_en: \"VenomMyotismon\",\n name_jp: \"VenomVamdemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"venommyotismon\",\n id: \"6-141\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=venomvamdemon\",\n },\n {\n name_en: \"Volcanicdramon\",\n name_jp: \"Volcanicdramon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"volcanicdramon\",\n id: \"6-142\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=volcanicdramon\",\n },\n {\n name_en: \"WarGreymon\",\n name_jp: \"WarGreymon\",\n next_evolutions: [\"7-032\"],\n stage: 6,\n sprite: \"wargreymon\",\n id: \"6-143\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wargreymon\",\n },\n {\n name_en: \"WarGreymon X\",\n name_jp: \"WarGreymon X\",\n next_evolutions: [\"7-034\"],\n stage: 6,\n sprite: \"wargreymon_x\",\n id: \"6-144\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=wargreymon_x\",\n },\n {\n name_en: \"Zhuqiaomon\",\n name_jp: \"Zhuqiaomon\",\n next_evolutions: [\"6-050\"],\n stage: 6,\n sprite: \"zhuqiaomon\",\n id: \"6-145\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=zhuqiaomon\",\n },\n {\n name_en: \"Vikemon\",\n name_jp: \"Vikemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"vikemon\",\n id: \"6-146\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=vikemon\",\n },\n {\n name_en: \"ShinMonzaemon\",\n name_jp: \"ShinMonzaemon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"shinmonzaemon\",\n id: \"6-147\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=shinmonzaemon\",\n },\n {\n name_en: \"Kazuchimon\",\n name_jp: \"Kazuchimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"kazuchimon\",\n id: \"6-148\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=kazuchimon\",\n },\n {\n name_en: \"BanchoLillymon\",\n name_jp: \"BanchoLilimon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"bancholillymon\",\n id: \"6-149\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=bancholilimon\",\n },\n {\n name_en: \"Dorugoramon\",\n name_jp: \"DORUgoramon\",\n next_evolutions: [],\n stage: 6,\n sprite: \"dorugoramon\",\n id: \"6-150\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dorugoramon\",\n },\n {\n name_en: \"Alphamon: Ouryuken\",\n name_jp: \"Alphamon: Ouryuken\",\n next_evolutions: [],\n stage: 7,\n sprite: \"alphamon_ouryuken\",\n id: \"7-001\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=alphamon:ouryuken\",\n },\n {\n name_en: \"Armageddemon\",\n name_jp: \"Armagemon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"armageddemon\",\n id: \"7-002\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=armagemon\",\n },\n {\n name_en: \"Barbamon X\",\n name_jp: \"Barbamon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"barbamon_x\",\n id: \"7-003\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=barbamon_x\",\n },\n {\n name_en: \"Beelzemon X\",\n name_jp: \"Beelzebumon X\",\n next_evolutions: [\"7-012\"],\n stage: 7,\n sprite: \"beelzemon_x\",\n id: \"7-004\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=beelzebumon_x\",\n },\n {\n name_en: \"Beelzemon: Blast Mode\",\n name_jp: \"Beelzebumon: Blast Mode\",\n next_evolutions: [],\n stage: 7,\n sprite: \"beelzemon_blast_mode\",\n id: \"7-005\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=beelzebumonblastmode\",\n },\n {\n name_en: \"Belphemon X\",\n name_jp: \"Belphemon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"belphemon_x\",\n id: \"7-006\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=belphemon_x\",\n },\n {\n name_en: \"Boltboutamon\",\n name_jp: \"Voltobautamon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"boltboutamon\",\n id: \"7-007\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=voltobautamon\",\n },\n {\n name_en: \"Chaosmon\",\n name_jp: \"Chaosmon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"chaosmon\",\n id: \"7-008\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chaosmon\",\n },\n {\n name_en: \"Craniamon X\",\n name_jp: \"Craniummon X\",\n next_evolutions: [\"7-026\", \"6-002\"],\n stage: 7,\n sprite: \"craniamon_x\",\n id: \"7-009\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=craniummon_x\",\n },\n {\n name_en: \"Creepymon X\",\n name_jp: \"Demon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"creepymon_x\",\n id: \"7-010\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=demon_x\",\n },\n {\n name_en: \"DarknessBagramon\",\n name_jp: \"DarknessBagramon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"darknessbagramon\",\n id: \"7-011\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=darknessbagramon\",\n },\n {\n name_en: \"Diaboromon X\",\n name_jp: \"Diablomon X\",\n next_evolutions: [\"7-044\"],\n stage: 7,\n sprite: \"diaboromon_x\",\n id: \"7-012\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=diablomon_x\",\n },\n {\n name_en: \"Dynasmon X\",\n name_jp: \"Dynasmon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"dynasmon_x\",\n id: \"7-013\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dynasmon_x\",\n },\n {\n name_en: \"Examon\",\n name_jp: \"Examon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"examon\",\n id: \"7-014\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=examon\",\n },\n {\n name_en: \"Examon X\",\n name_jp: \"Examon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"examon_x\",\n id: \"7-015\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=examon_x\",\n },\n {\n name_en: \"Gallantmon X\",\n name_jp: \"Dukemon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"gallantmon_x\",\n id: \"7-016\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=dukemon_x\",\n },\n {\n name_en: \"Gankoomon X\",\n name_jp: \"Gankoomon X\",\n next_evolutions: [\"7-043\"],\n stage: 7,\n sprite: \"gankoomon_x\",\n id: \"7-017\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gankoomon_x\",\n },\n {\n name_en: \"GraceNovamon\",\n name_jp: \"GraceNovamon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"gracenovamon\",\n id: \"7-018\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gracenovamon\",\n },\n {\n name_en: \"Imperialdramon: Fighter Mode\",\n name_jp: \"Imperialdramon: Fighter Mode\",\n next_evolutions: [\"7-020\"],\n stage: 7,\n sprite: \"imperialdramon_fighter_mode\",\n id: \"7-019\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=imperialdramonfightermode\",\n },\n {\n name_en: \"Imperialdramon: Paladin Mode\",\n name_jp: \"Imperialdramon: Paladin Mode\",\n next_evolutions: [],\n stage: 7,\n sprite: \"imperialdramon_paladin_mode\",\n id: \"7-020\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=imperialdramonpaladinmode\",\n },\n {\n name_en: \"Jesmon X\",\n name_jp: \"Jesmon X\",\n next_evolutions: [\"6-002\", \"7-043\"],\n stage: 7,\n sprite: \"jesmon_x\",\n id: \"7-021\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jesmon_x\",\n },\n {\n name_en: \"Kentaurosmon X\",\n name_jp: \"Sleipmon X\",\n next_evolutions: [\"7-030\", \"6-002\"],\n stage: 7,\n sprite: \"kentaurosmon_x\",\n id: \"7-022\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=sleipmon_x\",\n },\n {\n name_en: \"Leopardmon X\",\n name_jp: \"Duftmon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"leopardmon_x\",\n id: \"7-023\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=duftmon_x\",\n },\n {\n name_en: \"Leviamon X\",\n name_jp: \"Leviamon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"leviamon_x\",\n id: \"7-024\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=leviamon_x\",\n },\n {\n name_en: \"Lilithmon X\",\n name_jp: \"Lilithmon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"lilithmon_x\",\n id: \"7-025\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lilithmon_x\",\n },\n {\n name_en: \"LordKnightmon X\",\n name_jp: \"LordKnightmon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"lordknightmon_x\",\n id: \"7-026\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lordknightmon_x\",\n },\n {\n name_en: \"Lucemon X\",\n name_jp: \"Lucemon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"lucemon_x\",\n id: \"7-027\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=lucemon_x\",\n },\n {\n name_en: \"Magnamon X\",\n name_jp: \"Magnamon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"magnamon_x\",\n id: \"7-028\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=magnamon_x\",\n },\n {\n name_en: \"Mastemon\",\n name_jp: \"Mastemon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"mastemon\",\n id: \"7-029\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=mastemon\",\n },\n {\n name_en: \"Minervamon X\",\n name_jp: \"Minervamon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"minervamon_x\",\n id: \"7-030\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=minervamon_x\",\n },\n {\n name_en: \"Ogudomon\",\n name_jp: \"Ogudomon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"ogudomon\",\n id: \"7-031\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ogudomon\",\n },\n {\n name_en: \"Omnimon\",\n name_jp: \"Omegamon\",\n next_evolutions: [\"7-020\"],\n stage: 7,\n sprite: \"omnimon\",\n id: \"7-032\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=omegamon\",\n },\n {\n name_en: \"Omnimon Alter-S\",\n name_jp: \"Omegamon Alter-S\",\n next_evolutions: [],\n stage: 7,\n sprite: \"omnimon_alter_s\",\n id: \"7-033\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=omegamon-alter-s\",\n },\n {\n name_en: \"Omnimon X\",\n name_jp: \"Omegamon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"omnimon_x\",\n id: \"7-034\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=omegamon-x\",\n },\n {\n name_en: \"Ordinemon\",\n name_jp: \"Ordinemon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"ordinemon\",\n id: \"7-035\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ordinemon\",\n },\n {\n name_en: \"Rafflesimon\",\n name_jp: \"Rafflesimon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"rafflesimon\",\n id: \"7-036\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rafflesimon\",\n },\n {\n name_en: \"RagnaLoardmon\",\n name_jp: \"RagnaLordmon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"ragnaloardmon\",\n id: \"7-037\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ragnaloardmon\",\n },\n {\n name_en: \"Rasenmon\",\n name_jp: \"Rasenmon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"rasenmon\",\n id: \"7-038\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rasenmon\",\n },\n {\n name_en: \"RustTyrannomon\",\n name_jp: \"RustTyranomon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"rusttyrannomon\",\n id: \"7-039\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=rusttyranomon\",\n },\n {\n name_en: \"UlforceVeedramon X\",\n name_jp: \"UlforceV-dramon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"ulforceveedramon_x\",\n id: \"7-040\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ulforcevdramon_x\",\n },\n {\n name_en: \"Agumon (Bond of Bravery)\",\n name_jp: \"Agumon (Bond of Bravery)\",\n next_evolutions: [],\n stage: 7,\n sprite: \"agumon_bond_of_bravery\",\n id: \"7-041\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=agumon_kizuna\",\n },\n {\n name_en: \"Gabumon (Bond of Friendship)\",\n name_jp: \"Gabumon (Bond of Friendship)\",\n next_evolutions: [],\n stage: 7,\n sprite: \"gabumon_bond_of_friendship\",\n id: \"7-042\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=gabumon_kizuna\",\n },\n {\n name_en: \"Jesmon GX\",\n name_jp: \"Jesmon GX\",\n next_evolutions: [],\n stage: 7,\n sprite: \"jesmon_gx\",\n id: \"7-043\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=jesmongx\",\n },\n {\n name_en: \"Ogudomon X\",\n name_jp: \"Ogudomon X\",\n next_evolutions: [],\n stage: 7,\n sprite: \"ogudomon_x\",\n id: \"7-044\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=ogudomon_x\",\n },\n {\n name_en: \"Chaosdramon\",\n name_jp: \"Chaosdramon\",\n next_evolutions: [],\n stage: 7,\n sprite: \"chaosdramon\",\n id: \"7-045\",\n url: \"https://digimon.net/reference_en/detail.php?directory_name=chaosdramon\",\n },\n]\n",
14
+ "export const DIGIMON_STAGES = [0, 1, 2, 3, 4, 5, 6, 7] as const\n\nexport type DigimonStage = (typeof DIGIMON_STAGES)[number]\n\nexport const isDigimonStage = (value: number): value is DigimonStage => {\n return DIGIMON_STAGES.some((stage) => stage === value)\n}\n",
15
+ "import { DIGIMON_DATA } from \"./digimon-data.ts\"\nimport { isDigimonStage } from \"../domain/stage.ts\"\nimport type { DigimonCatalog, DigimonNode } from \"../domain/digimon-node.ts\"\n\nexport type { DigimonCatalog, DigimonNode } from \"../domain/digimon-node.ts\"\n\nexport type RawDigimonNode = {\n readonly id: string\n readonly name_en: string\n readonly name_jp: string\n readonly next_evolutions: readonly string[]\n readonly sprite: string\n readonly stage: number\n readonly url: string\n}\n\nconst parseNode = (input: RawDigimonNode): DigimonNode => {\n if (!isDigimonStage(input.stage)) throw new Error(`Invalid stage ${input.stage} for ${input.id}`)\n\n return Object.freeze({\n id: input.id,\n nameEn: input.name_en,\n nameJp: input.name_jp,\n nextEvolutions: Object.freeze([...input.next_evolutions]),\n sprite: input.sprite,\n stage: input.stage,\n url: input.url,\n })\n}\n\nexport const parseDigimonCatalog = (input: readonly RawDigimonNode[]): DigimonCatalog => {\n const nodes = input.map(parseNode)\n const byId = new Map<string, DigimonNode>()\n\n for (const node of nodes) {\n if (byId.has(node.id)) throw new Error(`Duplicate digimon id ${node.id}`)\n byId.set(node.id, node)\n }\n\n for (const node of nodes) {\n for (const targetId of node.nextEvolutions) {\n if (!byId.has(targetId)) throw new Error(`Invalid next_evolutions reference ${targetId} from ${node.id}`)\n }\n }\n\n return Object.freeze({ nodes: Object.freeze(nodes), byId })\n}\n\nexport const DIGIMON_CATALOG = parseDigimonCatalog(DIGIMON_DATA)\n\nexport const loadDigimonCatalog = async (): Promise<DigimonCatalog> => DIGIMON_CATALOG\n",
16
+ "import type { DigimonNode } from \"./digimon-node.ts\"\nimport { DIGIMON_STAGES, type DigimonStage } from \"./stage.ts\"\n\nexport type StageThresholds = Readonly<Record<DigimonStage, number>>\n\nexport const STAGE_GAUGE_THRESHOLDS = Object.freeze({\n 0: 500_000,\n 1: 1_000_000,\n 2: 2_000_000,\n 3: 4_000_000,\n 4: 7_500_000,\n 5: 12_500_000,\n 6: 20_000_000,\n 7: 30_000_000,\n} as const satisfies StageThresholds)\n\nexport type PartnerEvolutionState = {\n readonly current: DigimonNode\n readonly gauge: number\n readonly isTerminal: boolean\n}\n\nexport type EvolutionSelector = () => number\n\nconst isRecord = (value: unknown): value is Readonly<Record<PropertyKey, unknown>> => {\n return typeof value === \"object\" && value !== null\n}\n\nconst isStageThresholds = (thresholds: unknown): thresholds is StageThresholds => {\n if (!isRecord(thresholds) || !Object.isFrozen(thresholds)) return false\n\n return DIGIMON_STAGES.every((stage) => {\n const threshold = thresholds[stage]\n return typeof threshold === \"number\" && Number.isFinite(threshold) && threshold > 0\n })\n}\n\nexport const applyTokenProgress = (\n state: PartnerEvolutionState,\n tokenDelta: number,\n selector: EvolutionSelector,\n digimonById: ReadonlyMap<string, DigimonNode>,\n thresholds: unknown,\n): PartnerEvolutionState => {\n if (!isStageThresholds(thresholds)) {\n throw new Error(\"Evolution thresholds must be a complete frozen policy of positive finite numbers\")\n }\n if (state.isTerminal) return state\n\n const gauge = state.gauge + tokenDelta\n if (gauge < thresholds[state.current.stage]) return { ...state, gauge }\n if (state.current.nextEvolutions.length === 0) return { ...state, gauge: 0, isTerminal: true }\n\n const selection = selector()\n if (!Number.isFinite(selection) || selection < 0 || selection >= 1) {\n throw new Error(`Evolution selector must return a finite number in [0, 1), received ${selection}`)\n }\n\n const targetId = state.current.nextEvolutions[Math.floor(selection * state.current.nextEvolutions.length)]\n if (targetId === undefined) throw new Error(\"Evolution target selection failed\")\n const current = digimonById.get(targetId)\n if (current === undefined) throw new Error(`Evolution target ${targetId} is missing from the catalog`)\n\n return { current, gauge: 0, isTerminal: current.nextEvolutions.length === 0 }\n}\n",
17
+ "import type { DigimonNode } from \"../../domain/digimon-node.ts\"\nimport { applyTokenProgress, type EvolutionSelector, type StageThresholds } from \"../../domain/evolution.ts\"\nimport type { UsageEvolutionTransition, UsageProcessingResult, UsageReceiptMetadata } from \"../models/usage.ts\"\nimport type { UsageLedger } from \"../ports/usage-ledger.ts\"\n\nexport type CompletedUsage = UsageReceiptMetadata\n\nexport type RecordUsageInput = {\n readonly usage: CompletedUsage\n readonly ledger: UsageLedger\n readonly digimonById: ReadonlyMap<string, DigimonNode>\n readonly selector: EvolutionSelector\n readonly thresholds: StageThresholds\n}\n\nexport const recordUsage = ({\n usage,\n ledger,\n digimonById,\n selector,\n thresholds,\n}: RecordUsageInput): UsageProcessingResult => {\n let evolution: UsageEvolutionTransition | undefined\n const outcome = ledger.applyUsageReceipt(usage, (partner) => {\n const current = digimonById.get(partner.currentNodeId)\n if (current === undefined)\n throw new Error(`Persisted partner node ${partner.currentNodeId} is missing from the catalog`)\n\n const next = applyTokenProgress(\n { current, gauge: partner.gauge, isTerminal: partner.isTerminal },\n usage.tokenDelta,\n selector,\n digimonById,\n thresholds,\n )\n\n if (next.current.id !== current.id) {\n evolution = { fromNodeId: current.id, toNodeId: next.current.id }\n }\n\n return { currentNodeId: next.current.id, gauge: next.gauge, isTerminal: next.isTerminal }\n })\n\n switch (outcome.kind) {\n case \"applied\":\n return evolution === undefined\n ? { kind: \"applied\", receiptKey: usage.receiptKey }\n : { kind: \"applied\", receiptKey: usage.receiptKey, evolution }\n case \"duplicate\":\n return { kind: \"duplicate\", receiptKey: usage.receiptKey }\n case \"no_active_partner\":\n return { kind: \"no_active_partner\", receiptKey: usage.receiptKey }\n }\n}\n",
18
+ "import type { DigimonNode } from \"../../domain/digimon-node.ts\"\nimport type { EvolutionSelector, StageThresholds } from \"../../domain/evolution.ts\"\nimport type { UsageProcessingResult } from \"../models/usage.ts\"\nimport type { UsageLedger } from \"../ports/usage-ledger.ts\"\nimport { recordUsage, type CompletedUsage } from \"./record-usage.ts\"\n\nexport type ReconcileUsageInput = {\n readonly usages: readonly CompletedUsage[]\n readonly ledger: UsageLedger\n readonly digimonById: ReadonlyMap<string, DigimonNode>\n readonly selector: EvolutionSelector\n readonly thresholds: StageThresholds\n}\n\nexport const reconcileUsage = ({\n usages,\n ledger,\n digimonById,\n selector,\n thresholds,\n}: ReconcileUsageInput): readonly UsageProcessingResult[] => {\n const outcomes: UsageProcessingResult[] = []\n for (const usage of usages) {\n outcomes.push(recordUsage({ usage, ledger, digimonById, selector, thresholds }))\n }\n return outcomes\n}\n",
19
+ "import type { AssistantMessage, Event, Message } from \"@opencode-ai/sdk\"\n\nimport type { CompletedUsage } from \"../../application/use-cases/record-usage.ts\"\n\nconst isCompletedAssistantMessage = (message: Message): message is AssistantMessage => {\n return message.role === \"assistant\" && \"time\" in message && message.time.completed !== undefined\n}\n\nexport const toCompletedUsageFromMessage = (message: Message): CompletedUsage | null => {\n if (!isCompletedAssistantMessage(message)) return null\n const completedAt = message.time.completed\n if (completedAt === undefined) return null\n\n return {\n receiptKey: `message:${message.id}`,\n eventId: `usage:${message.id}`,\n tokenDelta:\n message.tokens.input +\n message.tokens.output +\n message.tokens.reasoning +\n message.tokens.cache.read +\n message.tokens.cache.write,\n cost: Number.isFinite(message.cost) && message.cost > 0 ? message.cost : null,\n createdAt: new Date(completedAt).toISOString(),\n }\n}\n\nexport const toCompletedUsageFromEvent = (event: Event): CompletedUsage | null => {\n if (event.type !== \"message.updated\") return null\n return toCompletedUsageFromMessage(event.properties.info)\n}\n",
20
+ "import type { VpetLanguage } from \"../../config/types.ts\"\nimport type { DigimonCatalog, DigimonNode } from \"../../data/catalog.ts\"\n\nexport type VpetToastPayload = Readonly<{\n readonly title: string\n readonly message: string\n readonly variant: \"info\" | \"success\"\n readonly duration: number\n}>\n\nexport type VpetToastEvent =\n | Readonly<{ readonly kind: \"spawn\"; readonly nodeId: string; readonly generation: number }>\n | Readonly<{ readonly kind: \"freeze\" }>\n | Readonly<{ readonly kind: \"unfreeze\" }>\n | Readonly<{ readonly kind: \"set\"; readonly nodeId: string }>\n | Readonly<{ readonly kind: \"evolution\"; readonly fromNodeId: string; readonly toNodeId: string }>\n\nexport type VpetToastNotifier = (payload: VpetToastPayload) => Promise<void>\n\nexport type VpetToastTransport = (payload: VpetToastPayload) => boolean | Promise<boolean>\n\nconst assertNever = (value: never): never => {\n throw new Error(`Unhandled VPet toast event: ${JSON.stringify(value)}`)\n}\n\nconst selectName = (node: DigimonNode, language: VpetLanguage): string => {\n switch (language) {\n case \"en\":\n return node.nameEn\n case \"jp\":\n return node.nameJp\n default:\n return assertNever(language)\n }\n}\n\nconst namedPayload = (nodeId: string, language: VpetLanguage, catalog: DigimonCatalog): string | undefined => {\n const node = catalog.byId.get(nodeId)\n return node === undefined ? undefined : selectName(node, language)\n}\n\nexport const formatVpetToast = (\n event: VpetToastEvent,\n language: VpetLanguage,\n catalog: DigimonCatalog,\n): VpetToastPayload | undefined => {\n switch (event.kind) {\n case \"spawn\": {\n const name = namedPayload(event.nodeId, language, catalog)\n return name === undefined\n ? undefined\n : {\n title: \"VPet\",\n message: `Spawned ${name} (Generation ${event.generation}).`,\n variant: \"success\",\n duration: 5_000,\n }\n }\n case \"freeze\":\n return { title: \"VPet\", message: \"Digimon progression frozen.\", variant: \"info\", duration: 3_000 }\n case \"unfreeze\":\n return { title: \"VPet\", message: \"Digimon progression resumed.\", variant: \"info\", duration: 3_000 }\n case \"set\": {\n const name = namedPayload(event.nodeId, language, catalog)\n return name === undefined\n ? undefined\n : {\n title: \"VPet\",\n message: `VPet set to ${name} (${event.nodeId}).`,\n variant: \"info\",\n duration: 3_000,\n }\n }\n case \"evolution\": {\n const fromName = namedPayload(event.fromNodeId, language, catalog)\n const toName = namedPayload(event.toNodeId, language, catalog)\n return fromName === undefined || toName === undefined\n ? undefined\n : {\n title: \"Digi-evolution\",\n message: `${fromName} evolved into ${toName}!`,\n variant: \"success\",\n duration: 5_000,\n }\n }\n default:\n return assertNever(event)\n }\n}\n\nexport const createBestEffortVpetToastNotifier = (transport: VpetToastTransport): VpetToastNotifier => {\n return async (payload) =>\n await Promise.resolve()\n .then(() => transport(payload))\n .then(\n () => undefined,\n () => undefined,\n )\n}\n",
21
+ "import type { Hooks } from \"@opencode-ai/plugin\"\n\nimport { runVpetFreezeCommand } from \"../../commands/vpet-freeze.ts\"\nimport { runVpetSpawnCommand } from \"../../commands/vpet-spawn.ts\"\nimport { runVpetSetCommand } from \"../../commands/vpet-set.ts\"\nimport { runVpetUnfreezeCommand } from \"../../commands/vpet-unfreeze.ts\"\nimport type { VpetCommandEvent } from \"../../commands/vpet-command-result.ts\"\nimport { loadDigimonCatalog } from \"../../data/catalog.ts\"\nimport type { VpetLanguage } from \"../../config/types.ts\"\nimport type { DigimonCatalog } from \"../../data/catalog.ts\"\nimport type { PartnerLifecycle } from \"../../application/ports/partner-lifecycle.ts\"\nimport type { UsageLedger } from \"../../application/ports/usage-ledger.ts\"\nimport type { VpetControl } from \"../../application/ports/vpet-control.ts\"\nimport type { UsageProcessingResult } from \"../../application/models/usage.ts\"\nimport { reconcileUsage } from \"../../application/use-cases/reconcile-usage.ts\"\nimport { recordUsage } from \"../../application/use-cases/record-usage.ts\"\nimport { STAGE_GAUGE_THRESHOLDS, type EvolutionSelector, type StageThresholds } from \"../../domain/evolution.ts\"\nimport type { SessionMessagesFetcher } from \"./session-messages.ts\"\nimport { toCompletedUsageFromEvent, toCompletedUsageFromMessage } from \"./usage-event-mapper.ts\"\nimport { formatVpetToast, type VpetToastEvent, type VpetToastNotifier } from \"./vpet-toast.ts\"\n\nexport type ServerResource = {\n close(): Promise<void>\n}\n\nexport type ServerHookDependencies = {\n readonly repository: PartnerLifecycle & UsageLedger & VpetControl\n readonly resource: ServerResource\n readonly evolutionSelector?: EvolutionSelector\n readonly evolutionThresholds?: StageThresholds\n readonly fetchMessages?: SessionMessagesFetcher\n readonly language?: VpetLanguage\n readonly notificationsEnabled?: boolean\n readonly loadCatalog?: () => Promise<DigimonCatalog>\n readonly notify?: VpetToastNotifier\n}\n\nconst noOpNotifier: VpetToastNotifier = async () => {}\nconst EMPTY_CATALOG: DigimonCatalog = Object.freeze({ nodes: Object.freeze([]), byId: new Map() })\n\nconst toToastEvent = (result: UsageProcessingResult): VpetToastEvent | undefined => {\n switch (result.kind) {\n case \"applied\":\n return result.evolution === undefined ? undefined : { kind: \"evolution\", ...result.evolution }\n case \"duplicate\":\n case \"no_active_partner\":\n return undefined\n default: {\n const unexpectedResult: never = result\n return unexpectedResult\n }\n }\n}\n\nconst toCommandToastEvent = (event: VpetCommandEvent): VpetToastEvent => {\n switch (event.kind) {\n case \"spawned\":\n return { kind: \"spawn\", nodeId: event.nodeId, generation: event.generation }\n case \"frozen\":\n return { kind: \"freeze\" }\n case \"unfrozen\":\n return { kind: \"unfreeze\" }\n case \"set\":\n return { kind: \"set\", nodeId: event.nodeId }\n }\n}\n\nconst requiresCatalog = (event: VpetToastEvent): boolean => {\n switch (event.kind) {\n case \"spawn\":\n case \"set\":\n case \"evolution\":\n return true\n case \"freeze\":\n case \"unfreeze\":\n return false\n }\n}\n\nexport const createCommandConfig = () => ({\n \"vpet-spawn\": { template: \"Spawn a new virtual pet.\" },\n \"vpet-freeze\": { template: \"Freeze virtual pet progression.\" },\n \"vpet-unfreeze\": { template: \"Unfreeze virtual pet progression.\" },\n \"vpet-set\": { template: \"Set the virtual pet to a Digimon ID: $ARGUMENTS\" },\n})\n\nexport const createServerHooks = ({\n repository,\n resource,\n evolutionSelector = Math.random,\n evolutionThresholds = STAGE_GAUGE_THRESHOLDS,\n fetchMessages,\n language = \"jp\",\n notificationsEnabled = true,\n loadCatalog = loadDigimonCatalog,\n notify = noOpNotifier,\n}: ServerHookDependencies): Hooks => {\n let closePromise: Promise<void> | undefined\n\n const notifyEvent = async (event: VpetToastEvent, catalog?: DigimonCatalog): Promise<void> => {\n if (!notificationsEnabled) return\n await Promise.resolve()\n .then(async () => {\n const resolvedCatalog = catalog ?? (requiresCatalog(event) ? await loadCatalog() : EMPTY_CATALOG)\n const payload = formatVpetToast(event, language, resolvedCatalog)\n if (payload !== undefined) await notify(payload)\n })\n .then(\n () => undefined,\n () => undefined,\n )\n }\n\n return {\n async config(config) {\n config.command = {\n ...config.command,\n ...createCommandConfig(),\n }\n },\n async \"command.execute.before\"(input, output) {\n const messageID = `vpet-${input.command}-${input.sessionID}-${crypto.randomUUID()}`\n switch (input.command) {\n case \"vpet-spawn\":\n {\n const result = await runVpetSpawnCommand(repository, {\n sessionID: input.sessionID,\n messageID,\n createdAt: new Date().toISOString(),\n })\n output.parts.push(...result.parts)\n if (result.event !== undefined) await notifyEvent(toCommandToastEvent(result.event))\n }\n return\n case \"vpet-freeze\":\n {\n const result = await runVpetFreezeCommand(repository, { sessionID: input.sessionID, messageID })\n output.parts.push(...result.parts)\n if (result.event !== undefined) await notifyEvent(toCommandToastEvent(result.event))\n }\n return\n case \"vpet-unfreeze\":\n {\n const result = await runVpetUnfreezeCommand(repository, { sessionID: input.sessionID, messageID })\n output.parts.push(...result.parts)\n if (result.event !== undefined) await notifyEvent(toCommandToastEvent(result.event))\n }\n return\n case \"vpet-set\":\n {\n let catalog: DigimonCatalog | undefined\n const loadCommandCatalog = async (): Promise<DigimonCatalog> => (catalog ??= await loadCatalog())\n const result = await runVpetSetCommand(\n repository,\n { sessionID: input.sessionID, messageID, arguments: input.arguments },\n loadCommandCatalog,\n )\n output.parts.push(...result.parts)\n if (result.event !== undefined)\n await notifyEvent(toCommandToastEvent(result.event), await loadCommandCatalog())\n }\n return\n default:\n return\n }\n },\n async event({ event }) {\n switch (event.type) {\n case \"message.updated\": {\n const usage = toCompletedUsageFromEvent(event)\n if (usage === null) return\n const catalog = await loadCatalog()\n const result = recordUsage({\n usage,\n ledger: repository,\n digimonById: catalog.byId,\n selector: evolutionSelector,\n thresholds: evolutionThresholds,\n })\n const toastEvent = toToastEvent(result)\n if (toastEvent !== undefined) await notifyEvent(toastEvent, catalog)\n return\n }\n case \"session.idle\": {\n if (fetchMessages === undefined) return\n const messages = await fetchMessages(event.properties.sessionID)\n const usages = messages.flatMap((message) => {\n const usage = toCompletedUsageFromMessage(message)\n return usage === null ? [] : [usage]\n })\n const catalog = await loadCatalog()\n const results = reconcileUsage({\n usages,\n ledger: repository,\n digimonById: catalog.byId,\n selector: evolutionSelector,\n thresholds: evolutionThresholds,\n })\n for (const result of results) {\n const toastEvent = toToastEvent(result)\n if (toastEvent !== undefined) await notifyEvent(toastEvent, catalog)\n }\n return\n }\n default:\n return\n }\n },\n async dispose() {\n closePromise ??= resource.close()\n await closePromise\n },\n }\n}\n",
22
+ "import type { Message, SessionMessagesResponse } from \"@opencode-ai/sdk\"\n\nexport type SessionMessagesFetcher = (sessionID: string) => Promise<readonly Message[]>\n\nexport type SessionMessagesClient = {\n readonly session: {\n messages: (options: { readonly path: { readonly id: string } }) => Promise<{\n readonly data: SessionMessagesResponse | undefined\n }>\n }\n}\n\nexport const createSessionMessagesFetcher = (client: SessionMessagesClient): SessionMessagesFetcher => {\n return async (sessionID) => {\n const result = await client.session.messages({ path: { id: sessionID } })\n if (result.data === undefined) throw new Error(`Unable to list messages for idle session ${sessionID}`)\n return result.data.map(({ info }) => info)\n }\n}\n",
23
+ "import { homedir } from \"node:os\"\nimport { join } from \"node:path\"\n\nconst APP_DIRECTORY_NAME = \"opencode-vpet\"\nconst DATABASE_FILE_NAME = \"pet.db\"\n\nexport type HostPathOptions = {\n readonly appDataRoot?: string\n}\n\nconst resolveDefaultAppDataRoot = (): string => {\n if (process.platform === \"darwin\") {\n return join(homedir(), \"Library\", \"Application Support\")\n }\n\n if (process.platform === \"win32\") {\n const { APPDATA } = process.env\n return APPDATA ?? join(homedir(), \"AppData\", \"Roaming\")\n }\n\n return join(homedir(), \".local\", \"share\")\n}\n\nexport const resolveHostDataDirectory = (options: HostPathOptions = {}): string => {\n return join(options.appDataRoot ?? resolveDefaultAppDataRoot(), APP_DIRECTORY_NAME)\n}\n\nexport const resolveHostDatabasePath = (options: HostPathOptions = {}): string => {\n return join(resolveHostDataDirectory(options), DATABASE_FILE_NAME)\n}\n",
24
+ "import { mkdirSync } from \"node:fs\"\nimport { dirname } from \"node:path\"\nimport { Database } from \"bun:sqlite\"\n\nexport type QueryValue = string | number | boolean | null\n\nexport type SqliteExecutor = {\n run: (sql: string, params?: readonly QueryValue[]) => void\n get: <TRow extends Record<string, QueryValue>>(sql: string, params?: readonly QueryValue[]) => TRow | null\n all: <TRow extends Record<string, QueryValue>>(sql: string, params?: readonly QueryValue[]) => readonly TRow[]\n transaction: <TReturn>(operation: () => TReturn) => TReturn\n}\n\nexport const createExecutor = (database: Database): SqliteExecutor => ({\n run(sql, params = []) {\n database.run(sql, Array.from(params))\n },\n get<TRow extends Record<string, QueryValue>>(sql: string, params: readonly QueryValue[] = []) {\n return database.query<TRow, QueryValue[]>(sql).get(...Array.from(params)) ?? null\n },\n all<TRow extends Record<string, QueryValue>>(sql: string, params: readonly QueryValue[] = []) {\n return database.query<TRow, QueryValue[]>(sql).all(...Array.from(params))\n },\n transaction(operation) {\n return database.transaction(operation).immediate()\n },\n})\n\nconst configureWriter = (database: Database): void => {\n database.run(\"PRAGMA busy_timeout = 5000\")\n database.run(\"PRAGMA journal_mode = WAL\")\n database.run(\"PRAGMA foreign_keys = ON\")\n}\n\nconst configureReader = (database: Database): void => {\n database.run(\"PRAGMA busy_timeout = 5000\")\n database.run(\"PRAGMA foreign_keys = ON\")\n}\n\nexport const openWritableDatabase = (databasePath: string): Database => {\n mkdirSync(dirname(databasePath), { recursive: true })\n const database = new Database(databasePath, { create: true, readwrite: true })\n configureWriter(database)\n return database\n}\n\nexport const openReadonlyDatabase = (databasePath: string): Database => {\n const database = new Database(databasePath, { readonly: true })\n configureReader(database)\n return database\n}\n",
25
+ "type QueryValue = string | number | null\n\ntype SqliteMigrationExecutor = {\n run: (sql: string, params?: readonly QueryValue[]) => void\n all: <TRow extends Record<string, QueryValue>>(sql: string, params?: readonly QueryValue[]) => readonly TRow[]\n transaction: <TReturn>(operation: () => TReturn) => TReturn\n}\n\ntype Migration = {\n readonly version: number\n readonly sql: readonly string[]\n}\n\nconst MIGRATIONS = [\n {\n version: 1,\n sql: [\n `\n CREATE TABLE IF NOT EXISTS schema_migrations (\n version INTEGER PRIMARY KEY,\n applied_at TEXT NOT NULL\n )\n `,\n `\n CREATE TABLE IF NOT EXISTS trainer_state (\n trainer_id INTEGER PRIMARY KEY CHECK (trainer_id = 1),\n total_tokens INTEGER NOT NULL\n )\n `,\n `\n INSERT INTO trainer_state (trainer_id, total_tokens)\n VALUES (1, 0)\n ON CONFLICT (trainer_id) DO NOTHING\n `,\n `\n CREATE TABLE IF NOT EXISTS partners (\n partner_id TEXT PRIMARY KEY,\n generation INTEGER NOT NULL,\n current_node_id TEXT NOT NULL,\n gauge INTEGER NOT NULL,\n is_terminal INTEGER NOT NULL,\n created_at TEXT NOT NULL,\n retired_at TEXT\n )\n `,\n `\n CREATE UNIQUE INDEX IF NOT EXISTS partners_one_active_partner\n ON partners ((1))\n WHERE retired_at IS NULL\n `,\n `\n CREATE TABLE IF NOT EXISTS partner_events (\n event_id TEXT PRIMARY KEY,\n partner_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n current_node_id TEXT NOT NULL,\n gauge INTEGER NOT NULL,\n is_terminal INTEGER NOT NULL,\n token_delta INTEGER,\n receipt_key TEXT,\n created_at TEXT NOT NULL,\n FOREIGN KEY (partner_id) REFERENCES partners (partner_id)\n )\n `,\n `\n CREATE INDEX IF NOT EXISTS partner_events_partner_created_at\n ON partner_events (partner_id, created_at, event_id)\n `,\n `\n CREATE TABLE IF NOT EXISTS usage_receipts (\n receipt_key TEXT PRIMARY KEY,\n partner_id TEXT NOT NULL,\n event_id TEXT NOT NULL,\n token_delta INTEGER NOT NULL,\n cost REAL,\n created_at TEXT NOT NULL,\n FOREIGN KEY (partner_id) REFERENCES partners (partner_id),\n FOREIGN KEY (event_id) REFERENCES partner_events (event_id)\n )\n `,\n ],\n },\n {\n version: 2,\n sql: [\"CREATE UNIQUE INDEX IF NOT EXISTS partners_generation_unique ON partners (generation)\"],\n },\n {\n version: 3,\n sql: [\n `\n CREATE TABLE IF NOT EXISTS vpet_control_state (\n control_id INTEGER PRIMARY KEY CHECK (control_id = 1),\n frozen INTEGER NOT NULL CHECK (frozen IN (0, 1)),\n cheat_node_id TEXT\n )\n `,\n `\n INSERT INTO vpet_control_state (control_id, frozen, cheat_node_id)\n VALUES (1, 0, NULL)\n ON CONFLICT (control_id) DO NOTHING\n `,\n `\n CREATE TABLE IF NOT EXISTS vpet_control_receipts (\n receipt_key TEXT PRIMARY KEY,\n mode TEXT NOT NULL CHECK (mode IN ('frozen', 'cheat')),\n token_delta INTEGER NOT NULL,\n cost REAL,\n created_at TEXT NOT NULL\n )\n `,\n ],\n },\n] as const satisfies readonly Migration[]\n\ntype MigrationRow = {\n readonly version: number\n}\n\nexport const runMigrations = (database: SqliteMigrationExecutor): readonly number[] => {\n return database.transaction(() => {\n database.run(`\n CREATE TABLE IF NOT EXISTS schema_migrations (\n version INTEGER PRIMARY KEY,\n applied_at TEXT NOT NULL\n )\n `)\n\n const appliedVersions = new Set(\n database\n .all<MigrationRow>(\"SELECT version FROM schema_migrations ORDER BY version ASC\")\n .map((row) => row.version),\n )\n\n for (const migration of MIGRATIONS) {\n if (appliedVersions.has(migration.version)) {\n continue\n }\n\n for (const statement of migration.sql) {\n database.run(statement)\n }\n database.run(\"INSERT INTO schema_migrations (version, applied_at) VALUES (?, ?)\", [\n migration.version,\n new Date().toISOString(),\n ])\n appliedVersions.add(migration.version)\n }\n\n return [...appliedVersions].sort((left, right) => left - right)\n })\n}\n",
26
+ "import type { Partner } from \"../../domain/partner.ts\"\nimport type { PersistedPartnerEvent, PersistedPartnerEventKind, UsageReceiptRecord } from \"./sqlite-vpet-types.ts\"\n\nexport type PersistedPartnerRow = {\n readonly partner_id: string\n readonly generation: number\n readonly current_node_id: string\n readonly gauge: number\n readonly is_terminal: number\n readonly created_at: string\n readonly retired_at: string | null\n}\n\nexport type PersistedPartnerEventRow = {\n readonly event_id: string\n readonly partner_id: string\n readonly kind: PersistedPartnerEventKind\n readonly current_node_id: string\n readonly gauge: number\n readonly is_terminal: number\n readonly token_delta: number | null\n readonly receipt_key: string | null\n readonly created_at: string\n}\n\nexport type UsageReceiptRow = {\n readonly receipt_key: string\n readonly partner_id: string\n readonly event_id: string\n readonly token_delta: number\n readonly cost: number | null\n readonly created_at: string\n}\n\nexport type TrainerStateRow = {\n readonly total_tokens: number\n}\n\nexport type MigrationRow = {\n readonly version: number\n}\n\nexport const ACTIVE_PARTNER_SELECT = `\n SELECT\n partner_id,\n generation,\n current_node_id,\n gauge,\n is_terminal,\n created_at,\n retired_at\n FROM partners\n WHERE retired_at IS NULL\n LIMIT 1\n`\n\nexport const PARTNERS_SELECT = `\n SELECT\n partner_id,\n generation,\n current_node_id,\n gauge,\n is_terminal,\n created_at,\n retired_at\n FROM partners\n ORDER BY generation ASC, created_at ASC, partner_id ASC\n`\n\nexport const ARCHIVE_PARTNERS_SELECT = `\n SELECT\n partner_id,\n generation,\n current_node_id,\n gauge,\n is_terminal,\n created_at,\n retired_at\n FROM partners\n ORDER BY partner_id ASC\n`\n\nexport const PARTNER_BY_GENERATION_SELECT = `\n SELECT\n partner_id,\n generation,\n current_node_id,\n gauge,\n is_terminal,\n created_at,\n retired_at\n FROM partners\n WHERE generation = ?\n LIMIT 1\n`\n\nexport const PARTNER_EVENTS_SELECT = `\n SELECT\n event_id,\n partner_id,\n kind,\n current_node_id,\n gauge,\n is_terminal,\n token_delta,\n receipt_key,\n created_at\n FROM partner_events\n WHERE partner_id = ?\n ORDER BY created_at ASC, event_id ASC\n`\n\nexport const ARCHIVE_PARTNER_EVENTS_SELECT = `\n SELECT\n event_id,\n partner_id,\n kind,\n current_node_id,\n gauge,\n is_terminal,\n token_delta,\n receipt_key,\n created_at\n FROM partner_events\n ORDER BY partner_id ASC, created_at ASC, event_id ASC\n`\n\nexport const USAGE_RECEIPTS_SELECT = `\n SELECT receipt_key, partner_id, event_id, token_delta, cost, created_at\n FROM usage_receipts\n ORDER BY created_at ASC, receipt_key ASC\n`\n\nexport const toPartner = (row: PersistedPartnerRow): Partner => {\n return {\n partnerId: row.partner_id,\n generation: row.generation,\n currentNodeId: row.current_node_id,\n gauge: row.gauge,\n isTerminal: row.is_terminal === 1,\n createdAt: row.created_at,\n retiredAt: row.retired_at,\n }\n}\n\nexport const toPersistedPartnerEvent = (row: PersistedPartnerEventRow): PersistedPartnerEvent => {\n return {\n eventId: row.event_id,\n partnerId: row.partner_id,\n kind: row.kind,\n currentNodeId: row.current_node_id,\n gauge: row.gauge,\n isTerminal: row.is_terminal === 1,\n tokenDelta: row.token_delta,\n receiptKey: row.receipt_key,\n createdAt: row.created_at,\n }\n}\n\nexport const toUsageReceiptRecord = (row: UsageReceiptRow): UsageReceiptRecord => {\n return {\n receiptKey: row.receipt_key,\n partnerId: row.partner_id,\n eventId: row.event_id,\n tokenDelta: row.token_delta,\n createdAt: row.created_at,\n }\n}\n",
27
+ "import type { SpawnPartnerInput } from \"../../application/models/spawn-partner.ts\"\nimport type { UsageReceiptMetadata } from \"../../application/models/usage.ts\"\nimport type { Partner, PartnerProgression } from \"../../domain/partner.ts\"\nimport { resolveHostDatabasePath, type HostPathOptions } from \"./app-data-path.ts\"\nimport { createExecutor, openWritableDatabase } from \"./bun-sqlite-driver.ts\"\nimport { runMigrations } from \"./sqlite-migrations.ts\"\nimport {\n ACTIVE_PARTNER_SELECT,\n PARTNERS_SELECT,\n PARTNER_BY_GENERATION_SELECT,\n PARTNER_EVENTS_SELECT,\n USAGE_RECEIPTS_SELECT,\n type PersistedPartnerEventRow,\n type PersistedPartnerRow,\n type TrainerStateRow,\n type UsageReceiptRow,\n toPartner,\n toPersistedPartnerEvent,\n toUsageReceiptRecord,\n} from \"./sqlite-vpet-schema.ts\"\nimport type { SqliteVpetWriteStore } from \"./sqlite-vpet-types.ts\"\n\nexport type CreateSqliteVpetRepositoryOptions = HostPathOptions & { readonly databasePath?: string }\n\ntype ControlStateRow = {\n readonly frozen: number\n readonly cheat_node_id: string | null\n}\n\ntype ReceiptLedgerRow = {\n readonly receipt_key: string\n}\n\nexport { resolveHostDatabasePath }\nexport type { PersistedPartnerEvent, SqliteVpetWriteStore } from \"./sqlite-vpet-types.ts\"\n\nexport const createSqliteVpetRepository = async (\n options: CreateSqliteVpetRepositoryOptions = {},\n): Promise<SqliteVpetWriteStore> => {\n const databasePath = options.databasePath ?? resolveHostDatabasePath(options)\n const database = openWritableDatabase(databasePath)\n const executor = createExecutor(database)\n const appliedMigrations = runMigrations(executor)\n\n const store = {\n databasePath,\n async close() {\n database.close()\n },\n getAppliedMigrations() {\n return appliedMigrations\n },\n getTrainerState() {\n const trainerState = executor.get<TrainerStateRow>(\"SELECT total_tokens FROM trainer_state WHERE trainer_id = 1\")\n if (trainerState === null) throw new Error(\"Trainer state row is missing\")\n return { totalTokens: trainerState.total_tokens }\n },\n getActivePartner() {\n const activePartner = executor.get<PersistedPartnerRow>(ACTIVE_PARTNER_SELECT)\n return activePartner === null ? null : toPartner(activePartner)\n },\n listPartners() {\n return executor.all<PersistedPartnerRow>(PARTNERS_SELECT).map(toPartner)\n },\n getPartnerByGeneration(generation: number) {\n const partner = executor.get<PersistedPartnerRow>(PARTNER_BY_GENERATION_SELECT, [generation])\n return partner === null ? null : toPartner(partner)\n },\n freeze() {\n return executor.transaction(() => {\n const controlState = executor.get<ControlStateRow>(\n \"SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1\",\n )\n if (controlState === null) throw new Error(\"VPet control state row is missing\")\n if (controlState.frozen === 1) return { kind: \"already_frozen\" } as const\n executor.run(\"UPDATE vpet_control_state SET frozen = 1 WHERE control_id = 1\")\n return { kind: \"frozen\" } as const\n })\n },\n unfreeze() {\n return executor.transaction(() => {\n const controlState = executor.get<ControlStateRow>(\n \"SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1\",\n )\n if (controlState === null) throw new Error(\"VPet control state row is missing\")\n if (controlState.frozen === 0) return { kind: \"already_unfrozen\" } as const\n executor.run(\"UPDATE vpet_control_state SET frozen = 0 WHERE control_id = 1\")\n return { kind: \"unfrozen\" } as const\n })\n },\n setCheatNode(cheatNodeId: string) {\n return executor.transaction(() => {\n const controlState = executor.get<ControlStateRow>(\n \"SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1\",\n )\n if (controlState === null) throw new Error(\"VPet control state row is missing\")\n if (controlState.cheat_node_id === cheatNodeId) return { kind: \"already_set\", cheatNodeId } as const\n executor.run(\"UPDATE vpet_control_state SET cheat_node_id = ? WHERE control_id = 1\", [cheatNodeId])\n return { kind: \"set\", cheatNodeId } as const\n })\n },\n spawnPartner(input: SpawnPartnerInput) {\n return executor.transaction(() => {\n executor.run(\"UPDATE vpet_control_state SET frozen = 0, cheat_node_id = NULL WHERE control_id = 1\")\n const activePartnerRow = executor.get<PersistedPartnerRow>(ACTIVE_PARTNER_SELECT)\n if (activePartnerRow !== null) {\n const activePartner = toPartner(activePartnerRow)\n executor.run(\"UPDATE partners SET retired_at = ? WHERE partner_id = ?\", [\n input.createdAt,\n activePartner.partnerId,\n ])\n executor.run(\n \"INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'retired', ?, ?, ?, NULL, NULL, ?)\",\n [\n `event-retired-${activePartner.generation}`,\n activePartner.partnerId,\n activePartner.currentNodeId,\n activePartner.gauge,\n activePartner.isTerminal,\n input.createdAt,\n ],\n )\n }\n const generationRow = executor.get<{ readonly generation: number }>(\n \"SELECT COALESCE(MAX(generation), 0) + 1 AS generation FROM partners\",\n )\n if (generationRow === null) throw new Error(\"Generation allocation failed\")\n const partnerId = `partner-${generationRow.generation}`\n executor.run(\n \"INSERT INTO partners (partner_id, generation, current_node_id, gauge, is_terminal, created_at, retired_at) VALUES (?, ?, ?, ?, ?, ?, NULL)\",\n [partnerId, generationRow.generation, input.currentNodeId, input.gauge, input.isTerminal, input.createdAt],\n )\n executor.run(\n \"INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'spawned', ?, ?, ?, NULL, NULL, ?)\",\n [\n `event-spawn-${generationRow.generation}`,\n partnerId,\n input.currentNodeId,\n input.gauge,\n input.isTerminal,\n input.createdAt,\n ],\n )\n return { partnerId, generation: generationRow.generation, ...input, retiredAt: null }\n })\n },\n listPartnerEvents(partnerId: string) {\n return executor.all<PersistedPartnerEventRow>(PARTNER_EVENTS_SELECT, [partnerId]).map(toPersistedPartnerEvent)\n },\n applyUsageReceipt(metadata: UsageReceiptMetadata, evolve: (partner: Partner) => PartnerProgression) {\n return executor.transaction(() => {\n const canonicalReceipt = executor.get<ReceiptLedgerRow>(\n \"SELECT receipt_key FROM usage_receipts WHERE receipt_key = ? LIMIT 1\",\n [metadata.receiptKey],\n )\n const controlReceipt = executor.get<ReceiptLedgerRow>(\n \"SELECT receipt_key FROM vpet_control_receipts WHERE receipt_key = ? LIMIT 1\",\n [metadata.receiptKey],\n )\n if (canonicalReceipt !== null || controlReceipt !== null) return { kind: \"duplicate\" } as const\n const controlState = executor.get<ControlStateRow>(\n \"SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1\",\n )\n if (controlState === null) throw new Error(\"VPet control state row is missing\")\n if (controlState.cheat_node_id !== null) {\n executor.run(\n \"INSERT INTO vpet_control_receipts (receipt_key, mode, token_delta, cost, created_at) VALUES (?, 'cheat', ?, ?, ?)\",\n [metadata.receiptKey, metadata.tokenDelta, metadata.cost ?? null, metadata.createdAt],\n )\n return { kind: \"applied\" } as const\n }\n if (controlState.frozen === 1) {\n executor.run(\n \"INSERT INTO vpet_control_receipts (receipt_key, mode, token_delta, cost, created_at) VALUES (?, 'frozen', ?, ?, ?)\",\n [metadata.receiptKey, metadata.tokenDelta, metadata.cost ?? null, metadata.createdAt],\n )\n executor.run(\"UPDATE trainer_state SET total_tokens = total_tokens + ? WHERE trainer_id = 1\", [\n metadata.tokenDelta,\n ])\n return { kind: \"applied\" } as const\n }\n const activePartnerRow = executor.get<PersistedPartnerRow>(ACTIVE_PARTNER_SELECT)\n if (activePartnerRow === null) return { kind: \"no_active_partner\" } as const\n const activePartner = toPartner(activePartnerRow)\n const nextState = evolve(activePartner)\n executor.run(\"UPDATE partners SET current_node_id = ?, gauge = ?, is_terminal = ? WHERE partner_id = ?\", [\n nextState.currentNodeId,\n nextState.gauge,\n nextState.isTerminal,\n activePartner.partnerId,\n ])\n executor.run(\n \"INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'usage_applied', ?, ?, ?, ?, ?, ?)\",\n [\n metadata.eventId,\n activePartner.partnerId,\n nextState.currentNodeId,\n nextState.gauge,\n nextState.isTerminal,\n metadata.tokenDelta,\n metadata.receiptKey,\n metadata.createdAt,\n ],\n )\n executor.run(\n \"INSERT INTO usage_receipts (receipt_key, partner_id, event_id, token_delta, cost, created_at) VALUES (?, ?, ?, ?, ?, ?)\",\n [\n metadata.receiptKey,\n activePartner.partnerId,\n metadata.eventId,\n metadata.tokenDelta,\n metadata.cost ?? null,\n metadata.createdAt,\n ],\n )\n executor.run(\"UPDATE trainer_state SET total_tokens = total_tokens + ? WHERE trainer_id = 1\", [\n metadata.tokenDelta,\n ])\n return { kind: \"applied\" } as const\n })\n },\n listUsageReceipts() {\n return executor.all<UsageReceiptRow>(USAGE_RECEIPTS_SELECT).map(toUsageReceiptRecord)\n },\n } satisfies SqliteVpetWriteStore\n\n return store\n}\n",
28
+ "import { readFileSync } from \"node:fs\"\nimport { readFile } from \"node:fs/promises\"\nimport { homedir } from \"node:os\"\nimport { join } from \"node:path\"\n\nimport { DEFAULT_VPET_SETTINGS } from \"./defaults.ts\"\nimport { normalizeVpetSettings } from \"./normalize.ts\"\nimport type { ResolvedVpetSettings } from \"./types.ts\"\n\ntype PathApi = Readonly<{\n join: (...paths: readonly string[]) => string\n}>\n\nexport type GlobalVpetConfigOptions = Readonly<{\n readonly env?: Readonly<{\n readonly APPDATA?: string\n }>\n readonly home?: string\n readonly pathApi?: PathApi\n readonly platform?: NodeJS.Platform\n}>\n\nexport const resolveGlobalVpetConfigPath = (options: GlobalVpetConfigOptions = {}): string => {\n const pathApi = options.pathApi ?? { join }\n const env = options.env ?? process.env\n const home = options.home ?? homedir()\n\n if ((options.platform ?? process.platform) === \"win32\") {\n const { APPDATA } = env\n return pathApi.join(APPDATA ?? pathApi.join(home, \"AppData\", \"Roaming\"), \"opencode-vpet.json\")\n }\n\n return pathApi.join(home, \".config\", \"opencode-vpet.json\")\n}\n\nexport const loadGlobalVpetSettings = async (options: GlobalVpetConfigOptions = {}): Promise<ResolvedVpetSettings> => {\n try {\n return normalizeVpetSettings(JSON.parse(await readFile(resolveGlobalVpetConfigPath(options), \"utf8\")))\n } catch {\n return DEFAULT_VPET_SETTINGS\n }\n}\n\nexport const loadGlobalVpetSettingsSync = (options: GlobalVpetConfigOptions = {}): ResolvedVpetSettings => {\n try {\n return normalizeVpetSettings(JSON.parse(readFileSync(resolveGlobalVpetConfigPath(options), \"utf8\")))\n } catch {\n return DEFAULT_VPET_SETTINGS\n }\n}\n",
29
+ "import type { ResolvedVpetSettings, StageLabels, StageThresholdSettings, VpetStageLabels } from \"./types.ts\"\n\nconst EN_STAGE_LABELS = Object.freeze({\n egg: \"DigiEgg\",\n babyI: \"In Training I\",\n babyII: \"In Training II\",\n child: \"Rookie\",\n adult: \"Champion\",\n perfect: \"Ultimate\",\n ultimate: \"Mega\",\n superUltimate: \"Ultra\",\n} as const satisfies StageLabels)\n\nconst JP_STAGE_LABELS = Object.freeze({\n egg: \"Digitama\",\n babyI: \"Baby I\",\n babyII: \"Baby II\",\n child: \"Child\",\n adult: \"Adult\",\n perfect: \"Perfect\",\n ultimate: \"Ultimate\",\n superUltimate: \"SuperUltimate\",\n} as const satisfies StageLabels)\n\nexport const VPET_STAGE_LABELS = Object.freeze({\n en: EN_STAGE_LABELS,\n jp: JP_STAGE_LABELS,\n} as const satisfies VpetStageLabels)\n\nexport const DEFAULT_STAGE_THRESHOLDS = Object.freeze({\n egg: 500_000,\n babyI: 1_000_000,\n babyII: 2_000_000,\n child: 4_000_000,\n adult: 7_500_000,\n perfect: 12_500_000,\n ultimate: 20_000_000,\n superUltimate: 30_000_000,\n} as const satisfies StageThresholdSettings)\n\nexport const DEFAULT_VPET_SETTINGS = Object.freeze({\n language: \"jp\",\n notifications: true,\n stageLabels: VPET_STAGE_LABELS,\n stageThresholds: DEFAULT_STAGE_THRESHOLDS,\n} as const satisfies ResolvedVpetSettings)\n",
30
+ "import { DEFAULT_STAGE_THRESHOLDS, DEFAULT_VPET_SETTINGS } from \"./defaults.ts\"\nimport type { ResolvedVpetSettings, StageThresholdKey, VpetLanguage } from \"./types.ts\"\n\nconst isRecord = (value: unknown): value is Readonly<Record<string, unknown>> => {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nconst isLanguage = (value: unknown): value is VpetLanguage => value === \"en\" || value === \"jp\"\n\nconst isBoolean = (value: unknown): value is boolean => typeof value === \"boolean\"\n\nconst isThreshold = (value: unknown): value is number => {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value > 0\n}\n\nconst read = (input: Readonly<Record<string, unknown>>, key: string): unknown => {\n try {\n return input[key]\n } catch {\n return undefined\n }\n}\n\nconst normalizeThreshold = (input: Readonly<Record<string, unknown>>, key: StageThresholdKey): number => {\n const value = read(input, key)\n return isThreshold(value) ? value : DEFAULT_STAGE_THRESHOLDS[key]\n}\n\nexport const normalizeVpetSettings = (input: unknown): ResolvedVpetSettings => {\n try {\n if (!isRecord(input)) return DEFAULT_VPET_SETTINGS\n\n const thresholdInput = read(input, \"stageThresholds\")\n const thresholds = isRecord(thresholdInput) ? thresholdInput : {}\n const stageThresholds = Object.freeze({\n egg: normalizeThreshold(thresholds, \"egg\"),\n babyI: normalizeThreshold(thresholds, \"babyI\"),\n babyII: normalizeThreshold(thresholds, \"babyII\"),\n child: normalizeThreshold(thresholds, \"child\"),\n adult: normalizeThreshold(thresholds, \"adult\"),\n perfect: normalizeThreshold(thresholds, \"perfect\"),\n ultimate: normalizeThreshold(thresholds, \"ultimate\"),\n superUltimate: normalizeThreshold(thresholds, \"superUltimate\"),\n } as const)\n\n const language = read(input, \"language\")\n const notifications = read(input, \"notifications\")\n return Object.freeze({\n language: isLanguage(language) ? language : DEFAULT_VPET_SETTINGS.language,\n notifications: isBoolean(notifications) ? notifications : DEFAULT_VPET_SETTINGS.notifications,\n stageLabels: DEFAULT_VPET_SETTINGS.stageLabels,\n stageThresholds,\n })\n } catch {\n return DEFAULT_VPET_SETTINGS\n }\n}\n",
31
+ "import type { Plugin, PluginOptions } from \"@opencode-ai/plugin\"\n\nimport { createServerHooks } from \"./adapters/opencode/create-server-hooks.ts\"\nimport { createSessionMessagesFetcher } from \"./adapters/opencode/session-messages.ts\"\nimport { createBestEffortVpetToastNotifier } from \"./adapters/opencode/vpet-toast.ts\"\nimport { createSqliteVpetRepository } from \"./adapters/sqlite/sqlite-vpet-write-store.ts\"\nimport { loadGlobalVpetSettings } from \"./config/global-vpet-settings.ts\"\nimport type { ResolvedVpetSettings } from \"./config/types.ts\"\nimport type { StageThresholds } from \"./domain/evolution.ts\"\nexport { createCommandConfig } from \"./adapters/opencode/create-server-hooks.ts\"\nexport { DIGIMON_DATA } from \"./data/digimon-data.js\"\nexport type { DigimonId, DigimonRecord, DigimonStage } from \"./data/digimon-data.js\"\n\nconst getStringOption = (options: PluginOptions | undefined, name: string): string | undefined => {\n const value = options?.[name]\n return typeof value === \"string\" ? value : undefined\n}\n\nconst toEvolutionThresholds = (settings: ResolvedVpetSettings): StageThresholds =>\n Object.freeze({\n 0: settings.stageThresholds.egg,\n 1: settings.stageThresholds.babyI,\n 2: settings.stageThresholds.babyII,\n 3: settings.stageThresholds.child,\n 4: settings.stageThresholds.adult,\n 5: settings.stageThresholds.perfect,\n 6: settings.stageThresholds.ultimate,\n 7: settings.stageThresholds.superUltimate,\n })\n\nexport const plugin: Plugin = async (input, options) => {\n const appDataRoot = getStringOption(options, \"appDataRoot\")\n const databasePath = getStringOption(options, \"databasePath\")\n const settings = await loadGlobalVpetSettings()\n const repository = await createSqliteVpetRepository({\n ...(appDataRoot === undefined ? {} : { appDataRoot }),\n ...(databasePath === undefined ? {} : { databasePath }),\n })\n return createServerHooks({\n repository,\n resource: repository,\n evolutionThresholds: toEvolutionThresholds(settings),\n fetchMessages: createSessionMessagesFetcher(input.client),\n language: settings.language,\n notificationsEnabled: settings.notifications,\n notify: createBestEffortVpetToastNotifier(\n async (payload) => (await input.client.tui.showToast({ body: payload })).data ?? false,\n ),\n })\n}\n\nconst entryPlugin = {\n id: \"opencode-vpet\",\n server: plugin,\n} as const\n\nexport default entryPlugin\n"
32
+ ],
33
+ "mappings": "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",
34
+ "debugId": "831F7233213F01D764756E2164756E21",
35
+ "names": []
36
+ }